wyling 3 年之前
父節點
當前提交
ec4e39c038
共有 100 個文件被更改,包括 2058 次插入4677 次删除
  1. 0 18
      App.vue
  2. 二進制
      __MACOSX/components/._.DS_Store
  3. 二進制
      __MACOSX/static/._.DS_Store
  4. 0 14
      api/amap.js
  5. 0 55
      api/answer.js
  6. 0 84
      api/applist.js
  7. 0 3
      api/baseurl.js
  8. 0 146
      api/cinema.js
  9. 0 95
      api/home.js
  10. 0 60
      api/login.js
  11. 0 20
      api/order.js
  12. 0 18
      api/pay.js
  13. 0 42
      api/studytime.js
  14. 0 177
      common/css/animation.css
  15. 二進制
      components/.DS_Store
  16. 0 36
      components/appdes/index.vue
  17. 0 508
      components/home/index.vue
  18. 0 3
      components/loading/loading.js
  19. 0 177
      components/loading/loading.vue
  20. 0 193
      components/skeleton/index/index.vue
  21. 0 188
      components/skeleton/login.vue
  22. 0 66
      components/square/index.vue
  23. 0 3
      components/topbar/topbar.js
  24. 0 32
      components/topbar/topbar.vue
  25. 0 176
      components/xuan-switch/xuan-switch.vue
  26. 0 39
      main.js
  27. 0 78
      manifest.json
  28. 3 2
      node_modules/ansi-regex/package.json
  29. 9 8
      node_modules/ansi-styles/package.json
  30. 7 8
      node_modules/axios-miniprogram-adapter/package.json
  31. 1 1
      node_modules/axios/package.json
  32. 6 6
      node_modules/base64-js/package.json
  33. 1 1
      node_modules/buffer-alloc-unsafe/package.json
  34. 1 1
      node_modules/buffer-alloc/package.json
  35. 1 1
      node_modules/buffer-fill/package.json
  36. 8 7
      node_modules/buffer-from/package.json
  37. 0 26
      node_modules/buffer/AUTHORS.md
  38. 40 72
      node_modules/buffer/README.md
  39. 0 186
      node_modules/buffer/index.d.ts
  40. 267 292
      node_modules/buffer/index.js
  41. 34 53
      node_modules/buffer/package.json
  42. 13 3
      node_modules/call-bind/package.json
  43. 76 38
      node_modules/camelcase/index.d.ts
  44. 34 19
      node_modules/camelcase/index.js
  45. 1 1
      node_modules/camelcase/license
  46. 17 16
      node_modules/camelcase/package.json
  47. 55 26
      node_modules/camelcase/readme.md
  48. 15 4
      node_modules/cliui/CHANGELOG.md
  49. 272 242
      node_modules/cliui/index.js
  50. 24 23
      node_modules/cliui/package.json
  51. 3 2
      node_modules/color-convert/package.json
  52. 3 2
      node_modules/color-name/package.json
  53. 7 8
      node_modules/crypto-js/package.json
  54. 0 1
      node_modules/debug/.coveralls.yml
  55. 0 14
      node_modules/debug/.eslintrc
  56. 0 9
      node_modules/debug/.npmignore
  57. 0 20
      node_modules/debug/.travis.yml
  58. 0 395
      node_modules/debug/CHANGELOG.md
  59. 0 58
      node_modules/debug/Makefile
  60. 89 2
      node_modules/debug/README.md
  61. 0 70
      node_modules/debug/karma.conf.js
  62. 0 1
      node_modules/debug/node.js
  63. 52 27
      node_modules/debug/package.json
  64. 194 120
      node_modules/debug/src/browser.js
  65. 0 225
      node_modules/debug/src/debug.js
  66. 4 4
      node_modules/debug/src/index.js
  67. 174 97
      node_modules/debug/src/node.js
  68. 3 3
      node_modules/decamelize/package.json
  69. 0 1
      node_modules/dijkstrajs/.npmignore
  70. 0 4
      node_modules/dijkstrajs/README.md
  71. 8 8
      node_modules/dijkstrajs/package.json
  72. 1 1
      node_modules/emoji-regex/README.md
  73. 0 0
      node_modules/emoji-regex/es2015/index.js
  74. 0 0
      node_modules/emoji-regex/es2015/text.js
  75. 18 0
      node_modules/emoji-regex/index.d.ts
  76. 0 0
      node_modules/emoji-regex/index.js
  77. 20 19
      node_modules/emoji-regex/package.json
  78. 0 0
      node_modules/emoji-regex/text.js
  79. 3 2
      node_modules/find-up/package.json
  80. 38 45
      node_modules/follow-redirects/README.md
  81. 308 99
      node_modules/follow-redirects/index.js
  82. 30 31
      node_modules/follow-redirects/package.json
  83. 4 2
      node_modules/function-bind/package.json
  84. 7 6
      node_modules/get-caller-file/package.json
  85. 2 2
      node_modules/get-intrinsic/package.json
  86. 9 3
      node_modules/has-symbols/package.json
  87. 10 2
      node_modules/has/package.json
  88. 6 6
      node_modules/ieee754/package.json
  89. 4 3
      node_modules/is-fullwidth-code-point/package.json
  90. 0 21
      node_modules/isarray/LICENSE
  91. 30 8
      node_modules/isarray/README.md
  92. 14 15
      node_modules/isarray/package.json
  93. 1 1
      node_modules/locate-path/package.json
  94. 29 19
      node_modules/ms/index.js
  95. 19 17
      node_modules/ms/package.json
  96. 18 9
      node_modules/ms/readme.md
  97. 20 5
      node_modules/object-inspect/index.js
  98. 18 19
      node_modules/object-inspect/package.json
  99. 25 2
      node_modules/object-inspect/readme.markdown
  100. 2 2
      node_modules/object-inspect/test/bigint.js

+ 0 - 18
App.vue

@@ -1,18 +0,0 @@
-<script>
-</script>
-
-<style>
-	@import "/wxcomponents/vant/common/index.wxss";
-	@import "@/common/css/animation.css";
-	/*每个页面公共css */
-	*{
-		margin: 0;
-		padding: 0;
-	}
-	html{
-		background-color: #F1F1F1;
-	}
-	.night{
-		filter: invert(1) hue-rotate(180deg);
-	}
-</style>

二進制
__MACOSX/components/._.DS_Store


二進制
__MACOSX/static/._.DS_Store


+ 0 - 14
api/amap.js

@@ -1,14 +0,0 @@
-import request from '@/utils/request'
-
-
-// 高德逆地理编码
-export function amapRegeo(params) {
-	return request({
-		url: 'https://restapi.amap.com/v3/geocode/regeo',
-		method: 'get',
-		params:{
-			key:'6476cd358ddea091d7da6d59e92b0659',
-			...params
-		}
-	})
-}

+ 0 - 55
api/answer.js

@@ -1,55 +0,0 @@
-import request from '@/utils/request'
-
-import {
-	baseUrl
-}
-from '@/api/baseurl'
-
-
-// 获取题库列表
-export function questionList(params) {
-	return request({
-		url: baseUrl + '/student/question/info/getQuestionInfoList',
-		method: 'get',
-		params
-	})
-}
-
-// 获取随机题库列表
-export function questionListRandom(params) {
-	return request({
-		url: baseUrl + '/student/question/info/getRandQuestionInfoList',
-		method: 'get',
-		params
-	})
-}
-
-// 获取错题收藏列表
-export function questionErrorList(params) {
-	return request({
-		url: baseUrl + '/student/question/error/getQuestionErrorList',
-		method: 'get',
-		params
-	})
-}
-
-// 新增错题
-export function questionErrorAdd(id) {
-	return request({
-		url: baseUrl + '/student/question/error',
-		method: 'post',
-		data: {
-			questionId: id
-		}
-	})
-}
-
-// 删除错题
-export function questionErrorDel(ids) {
-	return request({
-		url: baseUrl + `/student/question/error/${ids}`,
-		method: 'delete'
-	})
-}
-
-

+ 0 - 84
api/applist.js

@@ -1,84 +0,0 @@
-import request from '@/utils/request'
-
-import {
-	baseUrl
-}
-from '@/api/baseurl'
-
-
-
-// 按品类查询商家列表
-export function getTypeAppList(id,params) {
-	return request({
-		url: baseUrl + `/student/applet/customer/getCustomerListByProductId/${id}`,
-		method: 'get',
-		params
-	})
-}
-
-// 查询用户收藏列表
-export function collectionList(params) {
-	return request({
-		url: baseUrl + '/student/applet/collection/collectionList',
-		method: 'get',
-		params
-	})
-}
-
-// 查询用户浏览记录
-export function getBrowseRecordInfoList(params) {
-	return request({
-		url: baseUrl + '/student/applet/record/info/getBrowseRecordInfoList',
-		method: 'get',
-		params
-	})
-}
-
-// 查询品类列表
-export function typeList(params) {
-	return request({
-		url: baseUrl + '/student/applet/product/info/list',
-		method: 'get',
-		params
-	})
-}
-
-// 收藏商家
-export function addFavorites(id) {
-	return request({
-		url: baseUrl + `/student/applet/collection/collectionBusiness/${id}`,
-		method: 'put'
-	})
-}
-
-// 删除收藏
-export function delFavorites(ids) {
-	return request({
-		url: baseUrl + `/student/applet/collection/cancelCollection/${ids}`,
-		method: 'delete'
-	})
-}
-
-// 新增记录
-export function BrowseRecordAdd(id) {
-	return request({
-		url: baseUrl + `/student/applet/record/info/insertBrowseRecord/${id}`,
-		method: 'put'
-	})
-}
-
-// 删除记录
-export function BrowseRecordDel(ids) {
-	return request({
-		url: baseUrl + `/student/applet/record/info/${ids}`,
-		method: 'delete'
-	})
-}
-
-// 查询轮播图列表
-export function getCarouselChartList() {
-	return request({
-		url: baseUrl + `/student/applet/homePage/getHomePageDataList`,
-		method: 'get'
-	})
-}

+ 0 - 3
api/baseurl.js

@@ -1,3 +0,0 @@
-// export const baseUrl = 'http://192.168.8.219:8080';
-// export const baseUrl = 'http://192.168.8.213:8080/zzjs-admin';
-export const baseUrl = 'https://zzjs.zzxcx.net/prod-api';

+ 0 - 146
api/cinema.js

@@ -1,146 +0,0 @@
-import request from '@/utils/request'
-import qs from 'qs'
-
-import {
-	baseUrl
-}
-from '@/api/baseurl'
-let fileCommonApiUrl='/student/film/order/fileCommonApi'
-
-
-// 获取电影后台折扣参数
-export function getFilmDiscount(data) {
-	return request({
-		url: baseUrl + `/system/config/configKey/film_discount`,
-	})
-}
-
-// 获取即将上映电影列表
-export function getSoonList(data) {
-	return request({
-		url: baseUrl + fileCommonApiUrl,
-		method: 'post',
-		data: {
-			url: 'movieapi/movie-info/get-soon-list',
-			paramData: qs.stringify(data)
-		}
-	})
-}
-
-// 包含某电影的日期
-export function getShowDate(data) {
-	return request({
-		url: baseUrl + fileCommonApiUrl,
-		method: 'post',
-		data: {
-			url: 'movieapi/movie-info/get-show-date',
-			paramData: qs.stringify(data)
-		}
-	})
-}
-
-// 获取正在热映电影列表
-export function getHotList(data) {
-	return request({
-		url: baseUrl + fileCommonApiUrl,
-		method: 'post',
-		data: {
-			url: 'movieapi/movie-info/get-hot-list',
-			paramData: qs.stringify(data)
-		}
-	})
-}
-
-// 获取城市列表
-export function getCityList(data) {
-	return request({
-		url: baseUrl + fileCommonApiUrl,
-		method: 'post',
-		data: {
-			url: 'movieapi/movie-info/get-city-list',
-			paramData: qs.stringify(data)
-		}
-	})
-}
-
-// 获取影院列表
-export function getCinemaList(data) {
-	return request({
-		url: baseUrl + fileCommonApiUrl,
-		method: 'post',
-		data: {
-			url: 'movieapi/movie-info/get-cinema-list',
-			paramData: qs.stringify(data)
-		}
-	})
-}
-
-// 包含某电影的影院
-export function getShowList(data) {
-	return request({
-		url: baseUrl + fileCommonApiUrl,
-		method: 'post',
-		data: {
-			url: 'movieapi/movie-info/get-show-list',
-			paramData: qs.stringify(data)
-		}
-	})
-}
-
-// 某电影在某影院的场次排期
-export function getScheduleList(data) {
-	return request({
-		url: baseUrl + fileCommonApiUrl,
-		method: 'post',
-		data: {
-			url: 'movieapi/movie-info/get-schedule-list',
-			paramData: qs.stringify(data)
-		}
-	})
-}
-
-// 查账户余额
-export function getInfo(data) {
-	return request({
-		url: baseUrl + fileCommonApiUrl,
-		method: 'post',
-		data: {
-			url: 'api/user/info',
-			paramData: qs.stringify(data)
-		}
-	})
-}
-
-// 根据订单查影票信息
-export function orderQuery(data) {
-	return request({
-		url: baseUrl + fileCommonApiUrl,
-		method: 'post',
-		data: {
-			url: 'api/order/query',
-			paramData: qs.stringify(data)
-		}
-	})
-}
-
-// 某次电影的座位
-export function getSeat(data) {
-	return request({
-		url: baseUrl + fileCommonApiUrl,
-		method: 'post',
-		data: {
-			url: 'movieapi/movie-info/get-seat',
-			paramData: qs.stringify(data)
-		}
-	})
-}
-
-// 获取电影票支付数据
-export function prepareOrder(data) {
-	return request({
-		url: baseUrl + '/student/wx/prepareOrder',
-		method: 'post',
-		data
-	})
-}
-

+ 0 - 95
api/home.js

@@ -1,95 +0,0 @@
-import request from '@/utils/request'
-import md5 from 'crypto-js/md5'
-
-import {
-	baseUrl
-}
-from '@/api/baseurl'
-
-
-// 查询轮播图列表
-export function getHomePageDataList() {
-	return request({
-		url: baseUrl + `/student/applet/homePage/getHomePageDataList`,
-		method: 'get'
-	})
-}
-
-//拼多多密钥计算
-function calcAuth(params, client_secret) {
-
-	var arr = []
-	Object.keys(params).sort().forEach((key) => {
-		arr.push(key + params[key])
-	})
-	arr[0] = client_secret + arr[0]
-	arr[arr.length - 1] += client_secret
-
-
-	return md5(arr.join('')).toString().toUpperCase()
-}
-
-// 查询轮播图列表
-export function getPDD(data) {
-
-	let params = {
-		type: 'pdd.ddk.goods.recommend.get',
-		data_type: 'JSON',
-		client_id: 'fa0f2debb5b0444b9719919d7b8204d1',
-		pid: '1642187_203462988',
-		timestamp: new Date().getTime().toString().slice(0, 10),
-		...data
-	}
-
-	let client_secret = '3305b6bb37252495848e67fd991134651e308495'
-
-	params.sign = calcAuth(params, client_secret)
-
-	return request({
-		url: `https://gw-api.pinduoduo.com/api/router`,
-		method: 'get',
-		params
-	})
-}
-
-
-
-// 查询小程序跳转参数
-export async function getPddWxData(data) {
-
-	let params = {
-		type: 'pdd.ddk.goods.promotion.url.generate',
-		data_type: 'JSON',
-		client_id: 'fa0f2debb5b0444b9719919d7b8204d1',
-		p_id: '1642187_203462988',
-		timestamp: new Date().getTime().toString().slice(0, 10),
-		generate_we_app: true
-	}
-
-	let getPDDRes = await getPDD(data)
-	params.search_id = getPDDRes.goods_basic_detail_response.list[0].search_id
-	let arr = '['
-	getPDDRes.goods_basic_detail_response.list.map((val) => {
-		arr += '"' + val.goods_sign + '",'
-	})
-	params.goods_sign_list = arr.slice(0, -1) + ']'
-
-
-	let client_secret = '3305b6bb37252495848e67fd991134651e308495'
-
-	params.sign = calcAuth(params, client_secret)
-
-	let wxDataRes = await request({
-		url: `https://gw-api.pinduoduo.com/api/router`,
-		method: 'get',
-		params
-	})
-
-	let dataArr = []
-
-	getPDDRes.goods_basic_detail_response.list.map((val, index) => {
-		val.we_app_info = wxDataRes.goods_promotion_url_generate_response.goods_promotion_url_list[index].we_app_info
-	})
-	
-	return getPDDRes.goods_basic_detail_response.list
-}

+ 0 - 60
api/login.js

@@ -1,60 +0,0 @@
-import request from '@/utils/request'
-import {
-	baseUrl
-}
-from '@/api/baseurl'
-
-//微信小程序登录code
-async function wxlogin() {
-	let wxLogin = await wx.login()
-	return wxLogin
-}
-
-// 登录方法
-export async function login() {
-	let res = await wxlogin();
-	return request({
-		url: baseUrl + '/login/jscode',
-		method: 'post',
-		params: {
-			jscode: res.code
-		},
-		headers: {
-			isLogin: true
-		}
-	})
-}
-
-// 更新用户信息
-export function updateUserInfo(data) {
-	return request({
-		url: baseUrl + '/student/user/info',
-		method: 'post',
-		data
-	})
-}
-
-// 获取用户详细信息
-export async function getInfo() {
-	return request({
-		url: baseUrl + '/getInfo',
-		method: 'get'
-	})
-}
-
-// 退出方法
-export function logout() {
-	return request({
-		url: '/logout',
-		method: 'post'
-	})
-}
-
-// 绑定用户身份证信息
-export function bindUserCard(data) {
-	return request({
-		url: baseUrl + '/gzpt/userInfo/bind',
-		method: 'put',
-		data
-	})
-}

+ 0 - 20
api/order.js

@@ -1,20 +0,0 @@
-import request from '@/utils/request'
-import {
-	baseUrl
-}
-from '@/api/baseurl'
-
-// 查询订单列表
-export function getOrderList(params) {
-	return request({
-		url: baseUrl + '/student/wx/order/list',
-		params
-	})
-}
-
-// 查询订单列表
-export function getWxOrder(path) {
-	return request({
-		url: baseUrl + `/student/wx/${path}`,
-	})
-}

+ 0 - 18
api/pay.js

@@ -1,18 +0,0 @@
-import request from '@/utils/request'
-
-import {
-	baseUrl
-}
-from '@/api/baseurl'
-
-
-
-
-// 微信支付获取订单接口
-export function getPayData(data) {
-	return request({
-		url: baseUrl + '/student/wx/prepareOrder',
-		method: 'post',
-		data
-	})
-}

+ 0 - 42
api/studytime.js

@@ -1,42 +0,0 @@
-import request from '@/utils/request'
-
-import {
-	baseUrl
-}
-from '@/api/baseurl'
-
-
-
-
-// 上传学时
-export function addTime(data) {
-	return request({
-		url: baseUrl + '/student/gzpt-train-record',
-		method: 'post',
-		data
-	})
-}
-
-// 查询已完成科目学时
-export function getTime(data) {
-	return request({
-		url: baseUrl + '/student/gzpt-train-record/getTrainFinishKm',
-		method: 'get'
-	})
-}
-
-// 查询额定学时
-export function getTimeInfo(data) {
-	return request({
-		url: baseUrl + '/student/gzpt-train-record/getTrainSubjectCredit',
-		method: 'get'
-	})
-}
-
-// 获取学员详细信息
-export function getStudentInfo(data) {
-	return request({
-		url: baseUrl + '/student/gzpt/userInfo',
-		method: 'get'
-	})
-}

+ 0 - 177
common/css/animation.css

@@ -1,177 +0,0 @@
-/* 
-  Animation 微动画  
- */
-
-
-/* Animation css */
-[class*=animation-] {
-    animation-duration: .1s;
-    animation-timing-function: ease-out;
-    animation-fill-mode: both
-}
-
-.animation-fade {
-    animation-name: fade;
-    animation-duration: .1s;
-    animation-timing-function: linear
-}
-
-.animation-scale-up {
-    animation-name: scale-up
-}
-
-.animation-scale-down {
-    animation-name: scale-down
-}
-
-.animation-slide-top {
-	animation-duration: .3s;
-    animation-name: slide-top
-}
-
-.animation-slide-bottom {
-	animation-duration: .3s;
-    animation-name: slide-bottom
-}
-
-.animation-slide-left {
-    animation-name: slide-left
-}
-
-.animation-slide-right {
-    animation-name: slide-right
-}
-
-.animation-shake {
-    animation-name: shake
-}
-
-.animation-reverse {
-    animation-direction: reverse
-}
-
-@keyframes fade {
-    0% {
-        opacity: 0
-    }
-
-    100% {
-        opacity: 1
-    }
-}
-
-@keyframes scale-up {
-    0% {
-        opacity: 0;
-        transform: scale(.2)
-    }
-
-    100% {
-        opacity: 1;
-        transform: scale(1)
-    }
-}
-
-@keyframes scale-down {
-    0% {
-        opacity: 0;
-        transform: scale(1.8)
-    }
-
-    100% {
-        opacity: 1;
-        transform: scale(1)
-    }
-}
-
-@keyframes slide-top {
-    0% {
-        /* opacity: 0; */
-        transform: translateY(-100%)
-    }
-
-    100% {
-        /* opacity: 1; */
-        transform: translateY(0)
-    }
-}
-
-@keyframes slide-bottom {
-    0% {
-        opacity: 0;
-        transform: translateY(100%)
-    }
-
-    100% {
-        opacity: 1;
-        transform: translateY(0)
-    }
-}
-
-@keyframes shake {
-
-    0%,
-    100% {
-        transform: translateX(0)
-    }
-
-    10% {
-        transform: translateX(-9px)
-    }
-
-    20% {
-        transform: translateX(8px)
-    }
-
-    30% {
-        transform: translateX(-7px)
-    }
-
-    40% {
-        transform: translateX(6px)
-    }
-
-    50% {
-        transform: translateX(-5px)
-    }
-
-    60% {
-        transform: translateX(4px)
-    }
-
-    70% {
-        transform: translateX(-3px)
-    }
-
-    80% {
-        transform: translateX(2px)
-    }
-
-    90% {
-        transform: translateX(-1px)
-    }
-}
-
-@keyframes slide-left {
-    0% {
-        opacity: 0;
-        transform: translateX(-100%)
-    }
-
-    100% {
-        opacity: 1;
-        transform: translateX(0)
-    }
-}
-
-@keyframes slide-right {
-    0% {
-        opacity: 0;
-        transform: translateX(100%)
-    }
-
-    100% {
-        opacity: 1;
-        transform: translateX(0)
-    }
-}

二進制
components/.DS_Store


+ 0 - 36
components/appdes/index.vue

@@ -1,36 +0,0 @@
-<template>
-	<view class='list-item' v-for="(item, index) in applist" :key="index" @click="goMiniApp(item)">
-		<image class="avatar" mode="aspectFill" :src="item.appletLogoFileUrl || '/static/imgs/shmr.png'">
-			<view class="item-right">
-				<view class="top">
-					<van-icon class="icon" v-if="item.collectionStatus=='0'" @tap.stop='addSc(index)' name="/static/imgs/sc.png"
-					 size='15' />
-					<van-icon class="icon" v-else name="/static/imgs/ysc.png" @tap.stop='delSc(index)' size='15' />
-					<van-icon class="icon" name="/static/imgs/zf.png" @tap.stop='showShare=true' size='14' />
-					<!-- <van-icon class="icon" name="/static/imgs/bxh.png" size='12' /> -->
-				</view>
-				<view class="center">
-					<text class="details">{{item.appletIntroduce || '该商家暂无描述,敬请期待!'}}</text>
-				</view>
-				<view class="bottom">
-					<text class="title">{{item.corporateName}}</text>
-					<view class="right" v-if="false">
-						<view class="flex">
-							<van-icon class="icon" name="/static/imgs/评论.png" size='15' />
-							<text>54</text>
-						</view>
-						<view class="flex">
-							<van-icon class="icon" name="/static/imgs/好评率.png" size='15' />
-							<text>99%</text>
-						</view>
-					</view>
-				</view>
-			</view>
-	</view>
-</template>
-
-<script>
-</script>
-
-<style>
-</style>

+ 0 - 508
components/home/index.vue

@@ -1,508 +0,0 @@
-<template>
-	<view class="content">
-		<view class="top-box">
-			<van-row>
-				<van-col span="24">
-					<view class="timingBox">
-						<view class="classHourStatistics">
-							<view class="unbind" v-if="unbindFlag">
-								<van-button round type="info" @tap="go('/pages/userset/index')">绑定身份证</van-button>
-							</view>
-							<view class="timing-item">
-								<text>科一学时</text>
-								<text class="timing-time">{{infoData.km1+0}}/{{info[0].ration+0}}</text>
-							</view>
-							<view class="timing-item">
-								<text>科二学时</text>
-								<text class="timing-time">{{infoData.km2+0}}/{{info[1].ration+info[2].ration}}</text>
-							</view>
-							<view class="timing-item">
-								<text>科三学时</text>
-								<text class="timing-time">{{infoData.km3+0}}/{{info[3].ration+info[4].ration}}</text>
-							</view>
-							<view class="timing-item">
-								<text>科四学时</text>
-								<text class="timing-time">{{infoData.km4+0}}/{{info[5].ration+0}}</text>
-							</view>
-						</view>
-						<view class="jsbox">
-							<view class="bt">
-								<van-icon name="/static/imgs/我要计时.png" />
-								<text>我要计时</text>
-							</view>
-							<view :class="['js',{dh:dhfalg}]">
-								<van-button :loading='btnLoading' :loading-text='loadingText' custom-class="jsbtn" @click='timeBtn'>{{timeTitle}}</van-button>
-								<text class="timeText">{{timeText}}</text>
-							</view>
-							<text class="ts">注:退出即停止计时,不满60s不计入学时</text>
-						</view>
-					</view>
-				</van-col>
-				<!-- <van-col span="6">
-					<square icon='/static/imgs/包过保证icon.png' title='包过保证' @tap='go()' />
-					<square icon='/static/imgs/模拟考试icon.png' title='模拟考试' @tap="go('/pages/question/mockExam')" />
-				</van-col> -->
-			</van-row>
-
-			<van-row>
-				<van-col span="6">
-					<!-- <square icon='/static/imgs/图标练习icon.png' title='图标练习' @tap='go()' /> -->
-					<square icon='/static/imgs/mockicon.png' title='模拟考试' @tap="go('/pages/question/mockExam')" />
-				</van-col>
-				<van-col span="6">
-					<square icon='/static/imgs/sequentialicon.png' title='顺序测试' @tap="go('/pages/question/sequential')" />
-				</van-col>
-				<van-col span="6">
-					<square icon='/static/imgs/sjcs.png' title='随机测试' @tap="go('/pages/question/random')" />
-				</van-col>
-				<van-col span="6">
-					<square icon='/static/imgs/ctsc.png' title='错题收藏' @tap="go('/pages/question/wrongTitle')" />
-				</van-col>
-			</van-row>
-		</view>
-
-
-
-		<view class="item-box">
-			<view class="item-titBox">
-				<text class="item-tit">科目二</text>
-				<!-- <text class="item-tit-right" @tap='go()'>更多视频 ></text> -->
-			</view>
-			<view class="video-box" >
-				<view class="tit-box">
-					<text class="video-box-tit">考点视频</text>
-					<!-- <button class="video-box-btn" @tap='go()'>去观看</button> -->
-				</view>
-				<video class="myVideo" id="myVideo" src="" controls @play='videoPlay'>
-					<image class="video-poster" src="https://zzjs.zzxcx.net/static/img/科二侧方位停车.png" mode=""></image>
-					<view class="video-poster-btn" />
-				</video>
-			</view>
-		</view>
-
-		<view class="item-box">
-			<view class="item-titBox">
-				<text class="item-tit">科目三</text>
-				<!-- <text class="item-tit-right" @tap='go()'>更多视频 ></text> -->
-			</view>
-			<view class="video-box" >
-				<view class="tit-box">
-					<text class="video-box-tit">考点视频</text>
-					<!-- <button class="video-box-btn" @tap='go()'>去观看</button> -->
-				</view>
-				<video class="myVideo" id="myVideo" src="" poster="https://zzjs.zzxcx.net/static/video/侧方位停车.mp4" controls @play='videoPlay'></video>
-			</view>
-		</view>
-
-
-
-
-
-	</view>
-</template>
-
-<script>
-	import square from '@/components/square/index.vue'
-	import {
-		addTime,
-		getTime,
-		getTimeInfo
-	} from '@/api/studytime.js'
-	import {
-		getInfo
-	} from '@/api/login.js'
-	export default {
-		components: {
-			square
-		},
-		data() {
-			return {
-				dhfalg: false,
-				timeText: "00:00:00",
-				timeTitle: '开始',
-				info: [],
-				infoData: {},
-				unbindFlag: false,
-				timeStatus: 0,
-				timeFn: this.timeStart(),
-				btnLoading: false,
-				loadingText: ''
-			}
-		},
-		mounted() {
-			this.initInfo()
-		},
-		methods: {
-			async initInfo() {
-				if (uni.getStorageSync('time')) {
-					this.timeText = new Date(uni.getStorageSync('time')).toJSON().slice(11, -5)
-					this.timeTitle = '继续'
-				}
-				let studentInfo = await getInfo()
-				if (studentInfo.data.student.gzptUserId) {
-					let info = await getTimeInfo()
-					this.info = info.rows
-					let infoData = await getTime()
-					this.infoData = infoData.rows[0]
-				} else {
-					//未绑定身份证
-					this.unbindFlag = true
-				}
-
-			},
-			videoPlay(e) {
-				uni.createVideoContext('myVideo2', this).pause();
-			},
-			videoPlay2(e) {
-				uni.createVideoContext('myVideo', this).pause();
-			},
-			go(url) {
-				uni.navigateTo({
-					url
-				});
-			},
-			timeBtn(e) {
-				let timeObj = this.timeFn();
-				console.log(timeObj)
-				if (timeObj.timeStatus == 1) {
-					this.dhfalg = true;
-					this.loadingText = '计时中'
-					this.btnLoading = true;
-					setTimeout(() => {
-						this.btnLoading = false;
-						this.timeTitle = '上传学时'
-					}, 1000)
-				}
-				if (timeObj.timeStatus == 2) {
-					this.dhfalg = false;
-					this.loadingText = '上传中'
-					this.btnLoading = true;
-					try {
-						let sysInfo = uni.getStorageSync('sysInfo')
-						addTime({
-							beginTime: new Date(timeObj.start).toISOString().slice(0, -5).replace('T', ' '),
-							endTime: new Date(timeObj.end).toISOString().slice(0, -5).replace('T', ' '),
-							isSubmit: 6,
-							pxkm: this.infoData.km1 >= this.info[5].ration ? 4 : 1,
-							classid: '小程序',
-							reason: `小程序&${sysInfo.platform}&${sysInfo.model}`,
-							source: 1,
-							trainType: `小程序`,
-							trainTime: ~~(timeObj.time / 60 / 1000)
-						}).then(res => {
-							if (res.code == 200) {
-								this.btnLoading = false;
-								this.timeText = "上传成功"
-								uni.removeStorageSync('timeStart')
-								uni.removeStorageSync('time')
-								this.timeTitle = '开始'
-							} else {
-								this.btnLoading = false;
-								console.log('上传学时异常!!')
-								this.timeTitle = '恢复'
-							}
-						}, err => {
-							this.btnLoading = false;
-							console.log('上传学时异常!!')
-							this.timeTitle = '恢复'
-						})
-					} catch (e) {
-						this.btnLoading = false;
-						this.timeTitle = '恢复'
-					}
-
-				}
-			},
-			timeStart() {
-				let timerID,
-					time,
-					timeStatus = 0,
-					start,
-					end
-				return () => {
-					timeStatus += 1;
-					if (timeStatus == 1) {
-						if (uni.getStorageSync('time')) {
-							time = uni.getStorageSync('time')
-						} else {
-							start = new Date().getTime()
-							time = 0
-							uni.setStorageSync('timeStart', start)
-						}
-						timerID = setInterval(() => {
-							time += 100
-							if (time % 1000 == 0) {
-								uni.setStorageSync('time', time)
-							}
-							this.timeText = new Date(time).toJSON().slice(11, -5)
-						}, 100)
-						return {
-							start: uni.getStorageSync('timeStart'),
-							time,
-							timeStatus
-						}
-					}
-					if (timeStatus >= 2) {
-						timeStatus = 0;
-						let timeObj = {
-							start: uni.getStorageSync('timeStart'),
-							end: new Date().getTime(),
-							time: uni.getStorageSync('time'),
-							timeStatus: 2
-						}
-						clearInterval(timerID);
-						// uni.removeStorageSync('timeStart')
-						// uni.removeStorageSync('time')
-						return timeObj
-					}
-
-				}
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.dh {
-		position: relative;
-
-		&::after {
-			content: '';
-			background-color: red;
-			left: 0;
-			top: 0;
-			width: 0%;
-			height: 100%;
-			position: absolute;
-			animation: go 1s infinite;
-			z-index: 0;
-		}
-
-		@keyframes go {
-			to {
-				width: 100%;
-				background-color: greenyellow;
-			}
-		}
-	}
-
-	.jsbox {
-
-
-		.bt {
-			width: 140rpx;
-			margin-bottom: 10rpx;
-			font-size: 26rpx;
-			font-family: PingFang SC;
-			font-weight: 400;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-		}
-
-		.ts {
-			font-size: 22rpx;
-			font-family: PingFang SC;
-			font-weight: 400;
-			color: #E31818;
-		}
-
-
-		.js {
-			height: 70rpx;
-			background: #F5F5F5;
-			border: 1rpx solid #E8E8E8;
-			border-radius: 10rpx;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			font-size: 48rpx;
-			padding: 0 20rpx;
-			box-sizing: border-box;
-			overflow: hidden;
-
-			.jsbtn {
-				height: 50rpx;
-				background: linear-gradient(90deg, #E31818, #ED3E24, #ED4F24);
-				border-radius: 25rpx;
-				font-size: 24rpx;
-				color: #FFFFFF;
-				font-weight: 400;
-				font-family: PingFang SC;
-				display: flex;
-				justify-content: center;
-				align-items: center;
-				margin: 0;
-				z-index: 1;
-			}
-
-			.timeText {
-				z-index: 1;
-			}
-		}
-	}
-
-
-
-	.content {
-		width: 100%;
-		padding-bottom: 10rpx;
-	}
-
-
-
-	.item-box {
-		background-color: #fff;
-		border-radius: 10rpx;
-		margin: 10rpx 30rpx 30rpx;
-
-		.item-titBox {
-			display: flex;
-			justify-content: space-between;
-			align-items: center;
-			padding: 20rpx;
-			border-bottom: 1rpx solid #e8e8e8;
-
-			.item-tit {
-				border-left: 8rpx solid #E31818;
-				font-size: 30rpx;
-				line-height: 58rpx;
-				padding: 11rpx;
-			}
-
-			.item-tit-right {
-				font-size: 26rpx;
-				color: #666666;
-				line-height: 58rpx;
-				padding: 11rpx;
-			}
-		}
-
-		.video-box {
-			padding: 10rpx 20rpx;
-			position: relative;
-
-			.video-poster-btn {
-				position: absolute;
-				left: 50%;
-				top: 50%;
-				transform: translate(-50%, -50%);
-				width: 50rpx;
-				height: 50rpx;
-				background-image: url(../../static/imgs/bf.png);
-				background-size: 100% 100%;
-				background-repeat: no-repeat;
-				z-index: 2;
-			}
-
-			.video-poster {
-				width: 650rpx;
-				height: 360rpx;
-				border-radius: 10rpx;
-				position: absolute;
-				z-index: 1;
-				display: flex;
-				justify-content: center;
-				align-items: center;
-
-			}
-
-			.myVideo {
-				width: 650rpx;
-				height: 360rpx;
-				border-radius: 10rpx;
-
-			}
-
-			.tit-box {
-				width: 100%;
-				display: flex;
-				justify-content: space-between;
-				padding: 10rpx 0 26rpx;
-
-				.video-box-tit {
-					height: 31rpx;
-					font-size: .7em;
-					letter-spacing: .2em;
-					border-radius: 2rpx;
-					padding: 5rpx 9rpx;
-					color: #918989;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-				}
-
-				.video-box-btn {
-					margin: 0;
-					height: 40rpx;
-					background: linear-gradient(90deg, #E31818, #ED3E24, #ED4F24);
-					border-radius: 20rpx;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					color: #FFFFFF;
-					font-size: 20rpx;
-				}
-			}
-
-		}
-	}
-
-
-
-	.top-box {
-		margin: 10rpx 20rpx;
-	}
-
-	.unbind {
-		position: absolute;
-		width: 100%;
-		height: 100%;
-		left: 0;
-		top: 0;
-		background-color: rgba(35, 34, 33, 0.2);
-		z-index: 10;
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		text-align: center;
-		color: red;
-	}
-
-	.timingBox {
-		height: 335rpx;
-		background-color: #ffffff;
-		margin: 10rpx;
-		border-radius: 10rpx;
-		display: flex;
-		flex-direction: column;
-		justify-content: space-between;
-		padding: 2% 5%;
-		box-sizing: border-box;
-		position: relative;
-		overflow: hidden;
-
-		.classHourStatistics {
-			display: flex;
-			justify-content: space-between;
-
-			.timing-item {
-				height: 80rpx;
-				// box-shadow: -2rpx 2rpx 5rpx #5a5a5a;
-				display: flex;
-				flex-direction: column;
-				justify-content: space-between;
-				align-items: center;
-				font-size: .8rem;
-				padding: 25rpx 15rpx;
-				border-radius: 10rpx;
-
-				.timing-time {
-					font-size: .8rem;
-					border-radius: 10rpx;
-				}
-			}
-		}
-
-	}
-</style>

+ 0 - 3
components/loading/loading.js

@@ -1,3 +0,0 @@
-import Vue from 'vue'
-import loading from './loading.vue'
-Vue.component('loading', loading)

+ 0 - 177
components/loading/loading.vue

@@ -1,177 +0,0 @@
-<template>
-	<view>
-		<div class="spinner">
-			<div class="spinner-container container1">
-				<div class="circle1"></div>
-				<div class="circle2"></div>
-				<div class="circle3"></div>
-				<div class="circle4"></div>
-			</div>
-			<div class="spinner-container container2">
-				<div class="circle1"></div>
-				<div class="circle2"></div>
-				<div class="circle3"></div>
-				<div class="circle4"></div>
-			</div>
-			<div class="spinner-container container3">
-				<div class="circle1"></div>
-				<div class="circle2"></div>
-				<div class="circle3"></div>
-				<div class="circle4"></div>
-			</div>
-		</div>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-
-			};
-		}
-	}
-</script>
-
-<style lang="scss">
-	.spinner {
-		margin: 100px auto;
-		width: 20px;
-		height: 20px;
-		position: relative;
-	}
-
-	.container1>div,
-	.container2>div,
-	.container3>div {
-		width: 6px;
-		height: 6px;
-		background-color: #333;
-
-		border-radius: 100%;
-		position: absolute;
-		-webkit-animation: bouncedelay 1.2s infinite ease-in-out;
-		animation: bouncedelay 1.2s infinite ease-in-out;
-		-webkit-animation-fill-mode: both;
-		animation-fill-mode: both;
-	}
-
-	.spinner .spinner-container {
-		position: absolute;
-		width: 100%;
-		height: 100%;
-	}
-
-	.container2 {
-		-webkit-transform: rotateZ(45deg);
-		transform: rotateZ(45deg);
-	}
-
-	.container3 {
-		-webkit-transform: rotateZ(90deg);
-		transform: rotateZ(90deg);
-	}
-
-	.circle1 {
-		top: 0;
-		left: 0;
-	}
-
-	.circle2 {
-		top: 0;
-		right: 0;
-	}
-
-	.circle3 {
-		right: 0;
-		bottom: 0;
-	}
-
-	.circle4 {
-		left: 0;
-		bottom: 0;
-	}
-
-	.container2 .circle1 {
-		-webkit-animation-delay: -1.1s;
-		animation-delay: -1.1s;
-	}
-
-	.container3 .circle1 {
-		-webkit-animation-delay: -1.0s;
-		animation-delay: -1.0s;
-	}
-
-	.container1 .circle2 {
-		-webkit-animation-delay: -0.9s;
-		animation-delay: -0.9s;
-	}
-
-	.container2 .circle2 {
-		-webkit-animation-delay: -0.8s;
-		animation-delay: -0.8s;
-	}
-
-	.container3 .circle2 {
-		-webkit-animation-delay: -0.7s;
-		animation-delay: -0.7s;
-	}
-
-	.container1 .circle3 {
-		-webkit-animation-delay: -0.6s;
-		animation-delay: -0.6s;
-	}
-
-	.container2 .circle3 {
-		-webkit-animation-delay: -0.5s;
-		animation-delay: -0.5s;
-	}
-
-	.container3 .circle3 {
-		-webkit-animation-delay: -0.4s;
-		animation-delay: -0.4s;
-	}
-
-	.container1 .circle4 {
-		-webkit-animation-delay: -0.3s;
-		animation-delay: -0.3s;
-	}
-
-	.container2 .circle4 {
-		-webkit-animation-delay: -0.2s;
-		animation-delay: -0.2s;
-	}
-
-	.container3 .circle4 {
-		-webkit-animation-delay: -0.1s;
-		animation-delay: -0.1s;
-	}
-
-	@-webkit-keyframes bouncedelay {
-
-		0%,
-		80%,
-		100% {
-			-webkit-transform: scale(0.0)
-		}
-
-		40% {
-			-webkit-transform: scale(1.0)
-		}
-	}
-
-	@keyframes bouncedelay {
-
-		0%,
-		80%,
-		100% {
-			transform: scale(0.0);
-			-webkit-transform: scale(0.0);
-		}
-
-		40% {
-			transform: scale(1.0);
-			-webkit-transform: scale(1.0);
-		}
-	}
-</style>

+ 0 - 193
components/skeleton/index/index.vue

@@ -1,193 +0,0 @@
-<template>
-	<view class="skeleton-box">
-		<view v-if="loading" class="skeleton">
-			<div class="spinner">
-			  <div class="spinner-container container1">
-			    <div class="circle1"></div>
-			    <div class="circle2"></div>
-			    <div class="circle3"></div>
-			    <div class="circle4"></div>
-			  </div>
-			  <div class="spinner-container container2">
-			    <div class="circle1"></div>
-			    <div class="circle2"></div>
-			    <div class="circle3"></div>
-			    <div class="circle4"></div>
-			  </div>
-			  <div class="spinner-container container3">
-			    <div class="circle1"></div>
-			    <div class="circle2"></div>
-			    <div class="circle3"></div>
-			    <div class="circle4"></div>
-			  </div>
-			</div>
-		</view>
-		<van-transition v-else-if="list.length==0" name="fade-up">
-			<view class="skeleton">
-				暂时没有数据
-			</view>
-		</van-transition>
-		<van-transition v-else name="fade-up">
-			<slot></slot>
-		</van-transition>
-	</view>
-</template>
-
-<script>
-	export default {
-		props: {
-			loading: {
-				type: Boolean,
-				default: true
-			},
-			list: {
-				type: Array,
-				default: [1]
-			}
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	.skeleton {
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		padding: 50rpx;
-		height: 320rpx;
-	}
-
-	.led {
-		width: 10rpx;
-		height: 30rpx;
-		border-radius: 10rpx;
-		top: 50rpx;
-		position: absolute;
-		transform: rotate(calc(360deg / var(--all) * var(--i)));
-		transform-origin: 0 160rpx;
-		animation: loading 2s linear infinite;
-		animation-delay: calc(var(--i) * 1s);
-		background-color: green;
-	}
-
-	@keyframes loading {
-		from {
-			opacity: 0;
-		}
-
-		to {
-			opacity: 1;
-		}
-	}
-	
-	.spinner {
-	  margin: 100px auto;
-	  width: 20px;
-	  height: 20px;
-	  position: relative;
-	}
-	 
-	.container1 > div, .container2 > div, .container3 > div {
-	  width: 6px;
-	  height: 6px;
-	  background-color: #333;
-	 
-	  border-radius: 100%;
-	  position: absolute;
-	  -webkit-animation: bouncedelay 1.2s infinite ease-in-out;
-	  animation: bouncedelay 1.2s infinite ease-in-out;
-	  -webkit-animation-fill-mode: both;
-	  animation-fill-mode: both;
-	}
-	 
-	.spinner .spinner-container {
-	  position: absolute;
-	  width: 100%;
-	  height: 100%;
-	}
-	 
-	.container2 {
-	  -webkit-transform: rotateZ(45deg);
-	  transform: rotateZ(45deg);
-	}
-	 
-	.container3 {
-	  -webkit-transform: rotateZ(90deg);
-	  transform: rotateZ(90deg);
-	}
-	 
-	.circle1 { top: 0; left: 0; }
-	.circle2 { top: 0; right: 0; }
-	.circle3 { right: 0; bottom: 0; }
-	.circle4 { left: 0; bottom: 0; }
-	 
-	.container2 .circle1 {
-	  -webkit-animation-delay: -1.1s;
-	  animation-delay: -1.1s;
-	}
-	 
-	.container3 .circle1 {
-	  -webkit-animation-delay: -1.0s;
-	  animation-delay: -1.0s;
-	}
-	 
-	.container1 .circle2 {
-	  -webkit-animation-delay: -0.9s;
-	  animation-delay: -0.9s;
-	}
-	 
-	.container2 .circle2 {
-	  -webkit-animation-delay: -0.8s;
-	  animation-delay: -0.8s;
-	}
-	 
-	.container3 .circle2 {
-	  -webkit-animation-delay: -0.7s;
-	  animation-delay: -0.7s;
-	}
-	 
-	.container1 .circle3 {
-	  -webkit-animation-delay: -0.6s;
-	  animation-delay: -0.6s;
-	}
-	 
-	.container2 .circle3 {
-	  -webkit-animation-delay: -0.5s;
-	  animation-delay: -0.5s;
-	}
-	 
-	.container3 .circle3 {
-	  -webkit-animation-delay: -0.4s;
-	  animation-delay: -0.4s;
-	}
-	 
-	.container1 .circle4 {
-	  -webkit-animation-delay: -0.3s;
-	  animation-delay: -0.3s;
-	}
-	 
-	.container2 .circle4 {
-	  -webkit-animation-delay: -0.2s;
-	  animation-delay: -0.2s;
-	}
-	 
-	.container3 .circle4 {
-	  -webkit-animation-delay: -0.1s;
-	  animation-delay: -0.1s;
-	}
-	 
-	@-webkit-keyframes bouncedelay {
-	  0%, 80%, 100% { -webkit-transform: scale(0.0) }
-	  40% { -webkit-transform: scale(1.0) }
-	}
-	 
-	@keyframes bouncedelay {
-	  0%, 80%, 100% {
-	    transform: scale(0.0);
-	    -webkit-transform: scale(0.0);
-	  } 40% {
-	    transform: scale(1.0);
-	    -webkit-transform: scale(1.0);
-	  }
-	}
-</style>

+ 0 - 188
components/skeleton/login.vue

@@ -1,188 +0,0 @@
-<template>
-	<view class="skeleton-box">
-		<view v-if="loading" class="skeleton">
-			<div class="spinner">
-			  <div class="spinner-container container1">
-			    <div class="circle1"></div>
-			    <div class="circle2"></div>
-			    <div class="circle3"></div>
-			    <div class="circle4"></div>
-			  </div>
-			  <div class="spinner-container container2">
-			    <div class="circle1"></div>
-			    <div class="circle2"></div>
-			    <div class="circle3"></div>
-			    <div class="circle4"></div>
-			  </div>
-			  <div class="spinner-container container3">
-			    <div class="circle1"></div>
-			    <div class="circle2"></div>
-			    <div class="circle3"></div>
-			    <div class="circle4"></div>
-			  </div>
-			</div>
-		</view>
-		<van-transition v-else name="fade-up">
-			<slot></slot>
-		</van-transition>
-	</view>
-</template>
-
-<script>
-	export default {
-		props: {
-			loading: {
-				type: Boolean,
-				default: true
-			},
-			list: {
-				type: Array,
-				default: [1]
-			}
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	.skeleton {
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		padding: 50rpx;
-		height: 320rpx;
-	}
-
-	.led {
-		width: 10rpx;
-		height: 30rpx;
-		border-radius: 10rpx;
-		top: 50rpx;
-		position: absolute;
-		transform: rotate(calc(360deg / var(--all) * var(--i)));
-		transform-origin: 0 160rpx;
-		animation: loading 2s linear infinite;
-		animation-delay: calc(var(--i) * 1s);
-		background-color: green;
-	}
-
-	@keyframes loading {
-		from {
-			opacity: 0;
-		}
-
-		to {
-			opacity: 1;
-		}
-	}
-
-	.spinner {
-	  margin: 100px auto;
-	  width: 20px;
-	  height: 20px;
-	  position: relative;
-	}
-	 
-	.container1 > div, .container2 > div, .container3 > div {
-	  width: 6px;
-	  height: 6px;
-	  background-color: #333;
-	 
-	  border-radius: 100%;
-	  position: absolute;
-	  -webkit-animation: bouncedelay 1.2s infinite ease-in-out;
-	  animation: bouncedelay 1.2s infinite ease-in-out;
-	  -webkit-animation-fill-mode: both;
-	  animation-fill-mode: both;
-	}
-	 
-	.spinner .spinner-container {
-	  position: absolute;
-	  width: 100%;
-	  height: 100%;
-	}
-	 
-	.container2 {
-	  -webkit-transform: rotateZ(45deg);
-	  transform: rotateZ(45deg);
-	}
-	 
-	.container3 {
-	  -webkit-transform: rotateZ(90deg);
-	  transform: rotateZ(90deg);
-	}
-	 
-	.circle1 { top: 0; left: 0; }
-	.circle2 { top: 0; right: 0; }
-	.circle3 { right: 0; bottom: 0; }
-	.circle4 { left: 0; bottom: 0; }
-	 
-	.container2 .circle1 {
-	  -webkit-animation-delay: -1.1s;
-	  animation-delay: -1.1s;
-	}
-	 
-	.container3 .circle1 {
-	  -webkit-animation-delay: -1.0s;
-	  animation-delay: -1.0s;
-	}
-	 
-	.container1 .circle2 {
-	  -webkit-animation-delay: -0.9s;
-	  animation-delay: -0.9s;
-	}
-	 
-	.container2 .circle2 {
-	  -webkit-animation-delay: -0.8s;
-	  animation-delay: -0.8s;
-	}
-	 
-	.container3 .circle2 {
-	  -webkit-animation-delay: -0.7s;
-	  animation-delay: -0.7s;
-	}
-	 
-	.container1 .circle3 {
-	  -webkit-animation-delay: -0.6s;
-	  animation-delay: -0.6s;
-	}
-	 
-	.container2 .circle3 {
-	  -webkit-animation-delay: -0.5s;
-	  animation-delay: -0.5s;
-	}
-	 
-	.container3 .circle3 {
-	  -webkit-animation-delay: -0.4s;
-	  animation-delay: -0.4s;
-	}
-	 
-	.container1 .circle4 {
-	  -webkit-animation-delay: -0.3s;
-	  animation-delay: -0.3s;
-	}
-	 
-	.container2 .circle4 {
-	  -webkit-animation-delay: -0.2s;
-	  animation-delay: -0.2s;
-	}
-	 
-	.container3 .circle4 {
-	  -webkit-animation-delay: -0.1s;
-	  animation-delay: -0.1s;
-	}
-	 
-	@-webkit-keyframes bouncedelay {
-	  0%, 80%, 100% { -webkit-transform: scale(0.0) }
-	  40% { -webkit-transform: scale(1.0) }
-	}
-	 
-	@keyframes bouncedelay {
-	  0%, 80%, 100% {
-	    transform: scale(0.0);
-	    -webkit-transform: scale(0.0);
-	  } 40% {
-	    transform: scale(1.0);
-	    -webkit-transform: scale(1.0);
-	  }
-	}
-</style>

+ 0 - 66
components/square/index.vue

@@ -1,66 +0,0 @@
-<template>
-	<view class="square">
-		<view class="content">
-			<view class="box">
-				<image :src="icon" mode="aspectFit" class="icon"></image>
-				<text class='font'>{{title}}</text>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		props: {
-			icon: String,
-			title: String
-		},
-		data() {
-			return {}
-		},
-		methods: {
-
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	.square {
-		padding: 10rpx;
-	}
-
-	.content {
-		width: 100%;
-		padding-bottom: 100%;
-		background-color: #FFFFFF;
-		position: relative;
-		border-radius: 10rpx;
-		overflow: hidden;
-
-		.box {
-			position: absolute;
-			left: 50%;
-			top: 50%;
-			transform: translate(-50%, -50%);
-			display: flex;
-			flex-direction: column;
-			justify-content: space-between;
-			align-items: center;
-			width: 100%;
-			height: 100%;
-
-			.icon {
-				flex: 1;
-			}
-
-			.font {
-				font-size: 26rpx;
-				font-family: PingFang SC;
-				font-weight: 400;
-				color: #0F0404;
-				margin-top: -0.5em;
-				margin-bottom: 0.5em;
-			}
-		}
-	}
-</style>

+ 0 - 3
components/topbar/topbar.js

@@ -1,3 +0,0 @@
-import Vue from 'vue'
-import topbar from './topbar.vue'
-Vue.component('topbar', topbar)

+ 0 - 32
components/topbar/topbar.vue

@@ -1,32 +0,0 @@
-<template>
-	<view class="tabbar">
-		<view :style="{ 'margin-top': tophight.top + 'px', 'margin-bottom': '15rpx' }">
-			<view class="slot-box" :style="{'padding-left': `calc(100vw - ${tophight.right}px)`,'padding-right': `calc(100vw - ${tophight.left}px)`,height: tophight.height + 'px'}">
-				<slot></slot>
-			</view>
-		</view>
-	</view>
-
-</template>
-
-<script>
-	export default {
-		data: () => ({
-			tophight: uni.getMenuButtonBoundingClientRect(),
-		}),
-		mounted() {
-			console.log(uni.getMenuButtonBoundingClientRect())
-		}
-	};
-</script>
-
-<style lang="scss" scoped>
-	.tabbar {
-		display: flex;
-		background-color: #FFFFFF;
-		.slot-box{
-			display: flex;
-			align-items: center;
-		}
-	}
-</style>

+ 0 - 176
components/xuan-switch/xuan-switch.vue

@@ -1,176 +0,0 @@
-<template>
-  <view class="switch-container" :style="[{ background: bj_color}]">
-    <view class="switch_view">
-      <view 
-        class="switch-item" 
-        :class="{'checked_switch':isSwitch}"
-        :style="isSwitch?`color:${checked_color}`:''"
-        @click.prevent.stop="changeSwitch(true)"
-        :animation="animationData2"
-      >
-        {{switchList[0]}}
-      </view>
-      <view 
-        class="switch-item"
-        :class="{'checked_switch':!isSwitch}"
-        :style="!isSwitch?`color:${checked_color}`:''"
-        @click.prevent.stop="changeSwitch(false)"
-        :animation="animationData3"
-      >
-        {{switchList[1]}}
-      </view>
-    </view>
-    <view class="disabled" v-if="disabled"></view>
-    <view 
-      class="position_view" :animation="animationData1"
-      :style="[{ background: checked_bj_color}]"
-    ></view>
-  </view>
-</template>
-
-<script>
-export default {
-  props: {
-    switchList: {
-      type: Array,
-      default: ()=>{
-        return ["开","关"]
-      }
-    },
-    defaultSwitch:{
-      type:Boolean,
-      default:true
-    },
-    isShowModal:{//改变开关时,是否弹框提醒
-      type:Boolean,
-      default:false
-    },
-    disabled:{
-      type:Boolean,
-      default:false
-    },
-    bj_color:{
-      type:String,
-      default:'#fff',
-    },
-    checked_bj_color:{
-      type:String,
-      default:'#1989fa',
-    },
-    checked_color:{
-      type:String,
-      default:'#fff',
-    }
-  },
-  data () {
-    return {
-      isSwitch:true,
-      initAnimation:{},
-      animationData1: {},
-      animationData2: {},
-      animationData3: {}
-    }
-  },
-  created () {
-    this.initAnimation = uni.createAnimation({
-      duration: 500,
-      timingFunction: 'ease',
-    })
-    this.isSwitch = this.defaultSwitch
-    this.changeAnimation()
-  },
-  methods: {
-    changeSwitch(isSwitch) {
-      if(isSwitch == this.isSwitch || this.disabled){
-        return
-      }
-      if(this.isShowModal){
-        let index = isSwitch?0:1
-        let text =  this.switchList[index]
-        uni.showModal({
-          title: '提示',
-          content: `您确定要将其调整为${text}吗?`,
-          success: (res) => {
-            if(res.confirm){
-              this.isSwitch = isSwitch
-              this.changeAnimation()
-              this.callParentEvent(isSwitch)
-            }
-          }
-        })
-      }else{
-        this.isSwitch = isSwitch
-        this.changeAnimation()
-        this.callParentEvent(isSwitch)
-      }
-    },
-    changeAnimation(){
-      if(this.isSwitch){
-        this.animationData1 = this.initAnimation.left(0).width('60%').step().export()
-        this.animationData2 = this.initAnimation.width('60%').step().export()
-        this.animationData3 = this.initAnimation.width('40%').step().export()
-      }else{
-        this.animationData1 = this.initAnimation.left('40%').width('60%').step().export()
-        this.animationData2 = this.initAnimation.width('40%').step().export()
-        this.animationData3 = this.initAnimation.width('60%').step().export()
-      }
-    },
-    callParentEvent(){
-      this.$emit("change",this.isSwitch)
-    }
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-  .switch-container {
-    display: flex;
-    flex-direction: row;
-    width: 320upx;
-    height: 60upx;
-    border-radius: 30upx;
-    border: 1upx solid #E8E8E8;
-    position: relative;
-    .switch_view{
-      position: absolute;
-      top: 0;
-      left: 0;
-      width: 100%;
-      height: 100%;
-      z-index: 1;
-      display: flex;
-	  
-      border-radius: 30upx;
-      .switch-item {
-        color: #666;
-        font-size: 26upx;
-        height: 100%;
-        width: 40%;
-        border-radius: 30upx;
-        display: flex;
-        justify-content: center;
-        align-items: center;
-      }
-    }
-    .position_view{
-      position: absolute;
-      top: 0;
-      left: 0;
-      width: 60%;
-      height: 100%;
-      border-radius: 30upx;
-      background: $uni-color-primary;
-    }
-    .disabled{
-      position: absolute;
-      top: 0;
-      left: 0;
-      width: 100%;
-      height: 100%;
-      z-index: 99;
-      background: #fff;
-      opacity: 0.6;
-      border-radius: 30upx;
-    }
-  }
-</style>

+ 0 - 39
main.js

@@ -1,39 +0,0 @@
-import Vue from 'vue'
-import App from './App'
-import store from './store'
-import Toast from '@/wxcomponents/vant/toast/toast';
-import loadSke from '@/components/skeleton/index/index.vue'
-Vue.component('loadSke', loadSke)
-import '@/components/topbar/topbar.js'
-import '@/components/loading/loading.js'
-import {
-	goMiniApp,
-	goPage,
-	clickJumpType,
-	wxPay,
-	getUTCDay,
-	getDay,
-	goPageGetData
-} from '@/utils/utils.js'
-import utils from '@/utils/utils.js'
-
-Vue.config.productionTip = false
-App.mpType = 'app'
-
-Vue.prototype.goMiniApp = goMiniApp
-Vue.prototype.goPage = goPage
-Vue.prototype.Toast = Toast
-Vue.prototype.clickJumpType = clickJumpType
-Vue.prototype.wxPay = wxPay
-Vue.prototype.getUTCDay = getUTCDay
-Vue.prototype.getDay = getDay
-Vue.prototype.goPageGetData = goPageGetData
-Vue.prototype.$utils = utils
-
-
-
-const app = new Vue({
-	store,
-	...App
-})
-app.$mount()

+ 0 - 78
manifest.json

@@ -1,78 +0,0 @@
-{
-    "name" : "sqxp-uniapp",
-    "appid" : "__UNI__C992BC3",
-    "description" : "",
-    "versionName" : "1.0.0",
-    "versionCode" : "100",
-    "transformPx" : false,
-    /* 5+App特有相关 */
-    "app-plus" : {
-        "usingComponents" : true,
-        "nvueStyleCompiler" : "uni-app",
-        "compilerVersion" : 3,
-        "splashscreen" : {
-            "alwaysShowBeforeRender" : true,
-            "waiting" : true,
-            "autoclose" : true,
-            "delay" : 0
-        },
-        /* 模块配置 */
-        "modules" : {},
-        /* 应用发布信息 */
-        "distribute" : {
-            /* android打包配置 */
-            "android" : {
-                "permissions" : [
-                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
-                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
-                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
-                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
-                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
-                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
-                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
-                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
-                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
-                    "<uses-feature android:name=\"android.hardware.camera\"/>",
-                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
-                ]
-            },
-            /* ios打包配置 */
-            "ios" : {},
-            /* SDK配置 */
-            "sdkConfigs" : {}
-        }
-    },
-    /* 快应用特有相关 */
-    "quickapp" : {},
-    /* 小程序特有相关 */
-    "mp-weixin" : {
-        "appid" : "wx8f43db501343feab",
-        "setting" : {
-            "urlCheck" : false,
-            "es6" : true,
-            "minified" : true
-        },
-        "usingComponents" : true,
-        "permission" : {
-            "scope.userLocation" : {
-                "desc" : "电影院位置定位请求"
-            }
-        }
-    },
-    "mp-alipay" : {
-        "usingComponents" : true
-    },
-    "mp-baidu" : {
-        "usingComponents" : true
-    },
-    "mp-toutiao" : {
-        "usingComponents" : true
-    },
-    "uniStatistics" : {
-        "enable" : false
-    }
-}

+ 3 - 2
node_modules/ansi-regex/package.json

@@ -16,12 +16,13 @@
     "fetchSpec": "^4.1.0"
   },
   "_requiredBy": [
-    "/strip-ansi"
+    "/@soda/friendly-errors-webpack-plugin/strip-ansi",
+    "/ora/strip-ansi"
   ],
   "_resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz",
   "_shasum": "8b9f8f08cf1acb843756a839ca8c7e3168c51997",
   "_spec": "ansi-regex@^4.1.0",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\strip-ansi",
+  "_where": "G:\\Code\\myUnipp\\vue2-jsshq\\node_modules\\ora\\node_modules\\strip-ansi",
   "author": {
     "name": "Sindre Sorhus",
     "email": "sindresorhus@gmail.com",

+ 9 - 8
node_modules/ansi-styles/package.json

@@ -1,5 +1,5 @@
 {
-  "_from": "ansi-styles@^3.2.0",
+  "_from": "ansi-styles@^3.2.1",
   "_id": "ansi-styles@3.2.1",
   "_inBundle": false,
   "_integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
@@ -8,20 +8,21 @@
   "_requested": {
     "type": "range",
     "registry": true,
-    "raw": "ansi-styles@^3.2.0",
+    "raw": "ansi-styles@^3.2.1",
     "name": "ansi-styles",
     "escapedName": "ansi-styles",
-    "rawSpec": "^3.2.0",
+    "rawSpec": "^3.2.1",
     "saveSpec": null,
-    "fetchSpec": "^3.2.0"
+    "fetchSpec": "^3.2.1"
   },
   "_requiredBy": [
-    "/wrap-ansi"
+    "/chalk",
+    "/webpack-dev-server/wrap-ansi"
   ],
-  "_resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1618995778321&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz",
+  "_resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz",
   "_shasum": "41fbb20243e50b12be0f04b8dedbf07520ce841d",
-  "_spec": "ansi-styles@^3.2.0",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\wrap-ansi",
+  "_spec": "ansi-styles@^3.2.1",
+  "_where": "G:\\Code\\myUnipp\\vue2-jsshq\\node_modules\\chalk",
   "author": {
     "name": "Sindre Sorhus",
     "email": "sindresorhus@gmail.com",

+ 7 - 8
node_modules/axios-miniprogram-adapter/package.json

@@ -1,28 +1,27 @@
 {
-  "_from": "axios-miniprogram-adapter",
+  "_from": "axios-miniprogram-adapter@^0.3.2",
   "_id": "axios-miniprogram-adapter@0.3.2",
   "_inBundle": false,
   "_integrity": "sha1-kkAlHKDCG/vkdkTmkTpeA2jdOtc=",
   "_location": "/axios-miniprogram-adapter",
   "_phantomChildren": {},
   "_requested": {
-    "type": "tag",
+    "type": "range",
     "registry": true,
-    "raw": "axios-miniprogram-adapter",
+    "raw": "axios-miniprogram-adapter@^0.3.2",
     "name": "axios-miniprogram-adapter",
     "escapedName": "axios-miniprogram-adapter",
-    "rawSpec": "",
+    "rawSpec": "^0.3.2",
     "saveSpec": null,
-    "fetchSpec": "latest"
+    "fetchSpec": "^0.3.2"
   },
   "_requiredBy": [
-    "#USER",
     "/"
   ],
   "_resolved": "https://registry.npm.taobao.org/axios-miniprogram-adapter/download/axios-miniprogram-adapter-0.3.2.tgz",
   "_shasum": "9240251ca0c21bfbe47644e6913a5e0368dd3ad7",
-  "_spec": "axios-miniprogram-adapter",
-  "_where": "F:\\uniapp\\sqxp-uniapp",
+  "_spec": "axios-miniprogram-adapter@^0.3.2",
+  "_where": "F:\\uniapp\\vue2-jsshq",
   "author": {
     "name": "bigMeow",
     "url": "lizong9527@gmail.com"

+ 1 - 1
node_modules/axios/package.json

@@ -21,7 +21,7 @@
   "_resolved": "https://registry.npm.taobao.org/axios/download/axios-0.19.2.tgz?cache=0&sync_timestamp=1608609215811&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faxios%2Fdownload%2Faxios-0.19.2.tgz",
   "_shasum": "3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27",
   "_spec": "axios@^0.19.2",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\axios-miniprogram-adapter",
+  "_where": "F:\\uniapp\\vue2-jsshq\\node_modules\\axios-miniprogram-adapter",
   "author": {
     "name": "Matt Zabriskie"
   },

+ 6 - 6
node_modules/base64-js/package.json

@@ -1,5 +1,5 @@
 {
-  "_from": "base64-js@^1.3.1",
+  "_from": "base64-js@^1.0.2",
   "_id": "base64-js@1.5.1",
   "_inBundle": false,
   "_integrity": "sha1-GxtEAWClv3rUC2UPCVljSBkDkwo=",
@@ -8,20 +8,20 @@
   "_requested": {
     "type": "range",
     "registry": true,
-    "raw": "base64-js@^1.3.1",
+    "raw": "base64-js@^1.0.2",
     "name": "base64-js",
     "escapedName": "base64-js",
-    "rawSpec": "^1.3.1",
+    "rawSpec": "^1.0.2",
     "saveSpec": null,
-    "fetchSpec": "^1.3.1"
+    "fetchSpec": "^1.0.2"
   },
   "_requiredBy": [
     "/buffer"
   ],
   "_resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.5.1.tgz?cache=0&sync_timestamp=1605123440207&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbase64-js%2Fdownload%2Fbase64-js-1.5.1.tgz",
   "_shasum": "1b1b440160a5bf7ad40b650f095963481903930a",
-  "_spec": "base64-js@^1.3.1",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\buffer",
+  "_spec": "base64-js@^1.0.2",
+  "_where": "G:\\Code\\myUnipp\\vue2-jsshq\\node_modules\\buffer",
   "author": {
     "name": "T. Jameson Little",
     "email": "t.jameson.little@gmail.com"

+ 1 - 1
node_modules/buffer-alloc-unsafe/package.json

@@ -21,7 +21,7 @@
   "_resolved": "https://registry.npm.taobao.org/buffer-alloc-unsafe/download/buffer-alloc-unsafe-1.1.0.tgz",
   "_shasum": "bd7dc26ae2972d0eda253be061dba992349c19f0",
   "_spec": "buffer-alloc-unsafe@^1.1.0",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\buffer-alloc",
+  "_where": "F:\\uniapp\\vue2-jsshq\\node_modules\\buffer-alloc",
   "bugs": {
     "url": "https://github.com/LinusU/buffer-alloc-unsafe/issues"
   },

+ 1 - 1
node_modules/buffer-alloc/package.json

@@ -21,7 +21,7 @@
   "_resolved": "https://registry.npm.taobao.org/buffer-alloc/download/buffer-alloc-1.2.0.tgz",
   "_shasum": "890dd90d923a873e08e10e5fd51a57e5b7cce0ec",
   "_spec": "buffer-alloc@^1.2.0",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\qrcode",
+  "_where": "F:\\uniapp\\vue2-jsshq\\node_modules\\qrcode",
   "bugs": {
     "url": "https://github.com/LinusU/buffer-alloc/issues"
   },

+ 1 - 1
node_modules/buffer-fill/package.json

@@ -21,7 +21,7 @@
   "_resolved": "https://registry.npm.taobao.org/buffer-fill/download/buffer-fill-1.0.0.tgz",
   "_shasum": "f8f78b76789888ef39f205cd637f68e702122b2c",
   "_spec": "buffer-fill@^1.0.0",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\buffer-alloc",
+  "_where": "F:\\uniapp\\vue2-jsshq\\node_modules\\buffer-alloc",
   "bugs": {
     "url": "https://github.com/LinusU/buffer-fill/issues"
   },

+ 8 - 7
node_modules/buffer-from/package.json

@@ -1,5 +1,5 @@
 {
-  "_from": "buffer-from@^1.1.1",
+  "_from": "buffer-from@^1.0.0",
   "_id": "buffer-from@1.1.1",
   "_inBundle": false,
   "_integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=",
@@ -8,20 +8,21 @@
   "_requested": {
     "type": "range",
     "registry": true,
-    "raw": "buffer-from@^1.1.1",
+    "raw": "buffer-from@^1.0.0",
     "name": "buffer-from",
     "escapedName": "buffer-from",
-    "rawSpec": "^1.1.1",
+    "rawSpec": "^1.0.0",
     "saveSpec": null,
-    "fetchSpec": "^1.1.1"
+    "fetchSpec": "^1.0.0"
   },
   "_requiredBy": [
-    "/qrcode"
+    "/concat-stream",
+    "/source-map-support"
   ],
   "_resolved": "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz",
   "_shasum": "32713bc028f75c02fdb710d7c7bcec1f2c6070ef",
-  "_spec": "buffer-from@^1.1.1",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\qrcode",
+  "_spec": "buffer-from@^1.0.0",
+  "_where": "G:\\Code\\myUnipp\\vue2-jsshq\\node_modules\\concat-stream",
   "bugs": {
     "url": "https://github.com/LinusU/buffer-from/issues"
   },

+ 0 - 26
node_modules/buffer/AUTHORS.md

@@ -40,31 +40,5 @@
 - Kirill Fomichev (fanatid@ya.ru)
 - Yusuke Kawasaki (u-suke@kawa.net)
 - DC (dcposch@dcpos.ch)
-- John-David Dalton (john.david.dalton@gmail.com)
-- adventure-yunfei (adventure030@gmail.com)
-- Emil Bay (github@tixz.dk)
-- Sam Sudar (sudar.sam@gmail.com)
-- Volker Mische (volker.mische@gmail.com)
-- David Walton (support@geekstocks.com)
-- Сковорода Никита Андреевич (chalkerx@gmail.com)
-- greenkeeper[bot] (greenkeeper[bot]@users.noreply.github.com)
-- ukstv (sergey.ukustov@machinomy.com)
-- Renée Kooi (renee@kooi.me)
-- ranbochen (ranbochen@qq.com)
-- Vladimir Borovik (bobahbdb@gmail.com)
-- greenkeeper[bot] (23040076+greenkeeper[bot]@users.noreply.github.com)
-- kumavis (aaron@kumavis.me)
-- Sergey Ukustov (sergey.ukustov@machinomy.com)
-- Fei Liu (liu.feiwood@gmail.com)
-- Blaine Bublitz (blaine.bublitz@gmail.com)
-- clement (clement@seald.io)
-- Koushik Dutta (koushd@gmail.com)
-- Jordan Harband (ljharb@gmail.com)
-- Niklas Mischkulnig (mischnic@users.noreply.github.com)
-- Nikolai Vavilov (vvnicholas@gmail.com)
-- Fedor Nezhivoi (gyzerok@users.noreply.github.com)
-- Peter Newman (peternewman@users.noreply.github.com)
-- mathmakgakpak (44949126+mathmakgakpak@users.noreply.github.com)
-- jkkang (jkkang@smartauth.kr)
 
 #### Generated by bin/update-authors.sh.

+ 40 - 72
node_modules/buffer/README.md

@@ -1,18 +1,14 @@
-# buffer [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url]
+# buffer [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][npm-url]
+
+#### The buffer module from [node.js](https://nodejs.org/), for the browser.
+
+[![saucelabs][saucelabs-image]][saucelabs-url]
 
 [travis-image]: https://img.shields.io/travis/feross/buffer/master.svg
 [travis-url]: https://travis-ci.org/feross/buffer
 [npm-image]: https://img.shields.io/npm/v/buffer.svg
 [npm-url]: https://npmjs.org/package/buffer
 [downloads-image]: https://img.shields.io/npm/dm/buffer.svg
-[downloads-url]: https://npmjs.org/package/buffer
-[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg
-[standard-url]: https://standardjs.com
-
-#### The buffer module from [node.js](https://nodejs.org/), for the browser.
-
-[![saucelabs][saucelabs-image]][saucelabs-url]
-
 [saucelabs-image]: https://saucelabs.com/browser-matrix/buffer.svg
 [saucelabs-url]: https://saucelabs.com/u/buffer
 
@@ -25,15 +21,16 @@ instance methods, and class methods that are supported.
 
 ## features
 
-- Manipulate binary data like a boss, in all browsers!
+- Manipulate binary data like a boss, in all browsers -- even IE6!
 - Super fast. Backed by Typed Arrays (`Uint8Array`/`ArrayBuffer`, not `Object`)
-- Extremely small bundle size (**6.75KB minified + gzipped**, 51.9KB with comments)
-- Excellent browser support (Chrome, Firefox, Edge, Safari 9+, IE 11, iOS 9+, Android, etc.)
+- Extremely small bundle size (**5.04KB minified + gzipped**, 35.5KB with comments)
+- Excellent browser support (IE 6+, Chrome 4+, Firefox 3+, Safari 5.1+, Opera 11+, iOS, etc.)
 - Preserves Node API exactly, with one minor difference (see below)
-- Square-bracket `buf[4]` notation works!
+- Square-bracket `buf[4]` notation works, even in old browsers like IE6!
 - Does not modify any browser prototypes or put anything on `window`
 - Comprehensive test suite (including all buffer tests from node.js core)
 
+
 ## install
 
 To use this module directly (without browserify), install it:
@@ -45,7 +42,8 @@ npm install buffer
 This module was previously called **native-buffer-browserify**, but please use **buffer**
 from now on.
 
-If you do not use a bundler, you can use the [standalone script](https://bundle.run/buffer).
+A standalone bundle is available [here](https://wzrd.in/standalone/buffer), for non-browserify users.
+
 
 ## usage
 
@@ -80,6 +78,26 @@ single octet.
 The `Uint8Array` prototype remains unmodified.
 
 
+## one minor difference
+
+#### In old browsers, `buf.slice()` does not modify parent buffer's memory
+
+If you only support modern browsers (specifically, those with typed array support),
+then this issue does not affect you. If you support super old browsers, then read on.
+
+In node, the `slice()` method returns a new `Buffer` that shares underlying memory
+with the original Buffer. When you modify one buffer, you modify the other.
+[Read more.](https://nodejs.org/api/buffer.html#buffer_buf_slice_start_end)
+
+In browsers with typed array support, this `Buffer` implementation supports this
+behavior. In browsers without typed arrays, an alternate buffer implementation is
+used that is based on `Object` which has no mechanism to point separate
+`Buffer`s to the same underlying slab of memory.
+
+You can see which browser versions lack typed array support
+[here](https://github.com/feross/buffer/blob/master/index.js#L22-L48).
+
+
 ## tracking the latest node api
 
 This module tracks the Buffer API in the latest (unstable) version of node.js. The Buffer
@@ -91,57 +109,11 @@ accordingly.
 
 ## related packages
 
-- [`buffer-reverse`](https://www.npmjs.com/package/buffer-reverse) - Reverse a buffer
-- [`buffer-xor`](https://www.npmjs.com/package/buffer-xor) - Bitwise xor a buffer
+- [`buffer-equals`](https://www.npmjs.com/package/buffer-equals) - Node.js 0.12 buffer.equals() ponyfill
+- [`buffer-reverse`](https://www.npmjs.com/package/buffer-reverse) - A lite module for reverse-operations on buffers
+- [`buffer-xor`](https://www.npmjs.com/package/buffer-xor) - A simple module for bitwise-xor on buffers
 - [`is-buffer`](https://www.npmjs.com/package/is-buffer) - Determine if an object is a Buffer without including the whole `Buffer` package
-
-## conversion packages
-
-### convert typed array to buffer
-
-Use [`typedarray-to-buffer`](https://www.npmjs.com/package/typedarray-to-buffer) to convert any kind of typed array to a `Buffer`. Does not perform a copy, so it's super fast.
-
-### convert buffer to typed array
-
-`Buffer` is a subclass of `Uint8Array` (which is a typed array). So there is no need to explicitly convert to typed array. Just use the buffer as a `Uint8Array`.
-
-### convert blob to buffer
-
-Use [`blob-to-buffer`](https://www.npmjs.com/package/blob-to-buffer) to convert a `Blob` to a `Buffer`.
-
-### convert buffer to blob
-
-To convert a `Buffer` to a `Blob`, use the `Blob` constructor:
-
-```js
-var blob = new Blob([ buffer ])
-```
-
-Optionally, specify a mimetype:
-
-```js
-var blob = new Blob([ buffer ], { type: 'text/html' })
-```
-
-### convert arraybuffer to buffer
-
-To convert an `ArrayBuffer` to a `Buffer`, use the `Buffer.from` function. Does not perform a copy, so it's super fast.
-
-```js
-var buffer = Buffer.from(arrayBuffer)
-```
-
-### convert buffer to arraybuffer
-
-To convert a `Buffer` to an `ArrayBuffer`, use the `.buffer` property (which is present on all `Uint8Array` objects):
-
-```js
-var arrayBuffer = buffer.buffer.slice(
-  buffer.byteOffset, buffer.byteOffset + buffer.byteLength
-)
-```
-
-Alternatively, use the [`to-arraybuffer`](https://www.npmjs.com/package/to-arraybuffer) module.
+- [`typedarray-to-buffer`](https://www.npmjs.com/package/typedarray-to-buffer) - Convert a typed array to a Buffer without a copy
 
 ## performance
 
@@ -152,7 +124,7 @@ sanity check (since `BrowserBuffer` uses `Uint8Array` under the hood, `Uint8Arra
 always be at least a bit faster). Finally, `NodeBuffer` is the node.js buffer module,
 which is included to compare against.
 
-NOTE: Performance has improved since these benchmarks were taken. PR welcome to update the README.
+NOTE: Performance has improved since these benchmarks were taken. PR welcoem to update the README.
 
 ### Chrome 38
 
@@ -376,16 +348,15 @@ Then, to run tests in Node.js, run:
 
 To test locally in a browser, you can run:
 
-    npm run test-browser-es5-local # For ES5 browsers that don't support ES6
-    npm run test-browser-es6-local # For ES6 compliant browsers
+    npm run test-browser-local
 
-This will print out a URL that you can then open in a browser to run the tests, using [airtap](https://www.npmjs.com/package/airtap).
+This will print out a URL that you can then open in a browser to run the tests, using [Zuul](https://github.com/defunctzombie/zuul).
 
 To run automated browser tests using Saucelabs, ensure that your `SAUCE_USERNAME` and `SAUCE_ACCESS_KEY` environment variables are set, then run:
 
     npm test
 
-This is what's run in Travis, to check against various browsers. The list of browsers is kept in the `bin/airtap-es5.yml` and `bin/airtap-es6.yml` files.
+This is what's run in Travis, to check against various browsers. The list of browsers is kept in the `.zuul.yml` file.
 
 ## JavaScript Standard Style
 
@@ -401,9 +372,6 @@ To test that the code conforms to the style, `npm install` and run:
 
 This was originally forked from [buffer-browserify](https://github.com/toots/buffer-browserify).
 
-## Security Policies and Procedures
-
-The `buffer` team and community take all security bugs in `buffer` seriously. Please see our [security policies and procedures](https://github.com/feross/security) document to learn how to report issues.
 
 ## license
 

+ 0 - 186
node_modules/buffer/index.d.ts

@@ -1,186 +0,0 @@
-export class Buffer extends Uint8Array {
-    length: number
-    write(string: string, offset?: number, length?: number, encoding?: string): number;
-    toString(encoding?: string, start?: number, end?: number): string;
-    toJSON(): { type: 'Buffer', data: any[] };
-    equals(otherBuffer: Buffer): boolean;
-    compare(otherBuffer: Buffer, targetStart?: number, targetEnd?: number, sourceStart?: number, sourceEnd?: number): number;
-    copy(targetBuffer: Buffer, targetStart?: number, sourceStart?: number, sourceEnd?: number): number;
-    slice(start?: number, end?: number): Buffer;
-    writeUIntLE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;
-    writeUIntBE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;
-    writeIntLE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;
-    writeIntBE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;
-    readUIntLE(offset: number, byteLength: number, noAssert?: boolean): number;
-    readUIntBE(offset: number, byteLength: number, noAssert?: boolean): number;
-    readIntLE(offset: number, byteLength: number, noAssert?: boolean): number;
-    readIntBE(offset: number, byteLength: number, noAssert?: boolean): number;
-    readUInt8(offset: number, noAssert?: boolean): number;
-    readUInt16LE(offset: number, noAssert?: boolean): number;
-    readUInt16BE(offset: number, noAssert?: boolean): number;
-    readUInt32LE(offset: number, noAssert?: boolean): number;
-    readUInt32BE(offset: number, noAssert?: boolean): number;
-    readInt8(offset: number, noAssert?: boolean): number;
-    readInt16LE(offset: number, noAssert?: boolean): number;
-    readInt16BE(offset: number, noAssert?: boolean): number;
-    readInt32LE(offset: number, noAssert?: boolean): number;
-    readInt32BE(offset: number, noAssert?: boolean): number;
-    readFloatLE(offset: number, noAssert?: boolean): number;
-    readFloatBE(offset: number, noAssert?: boolean): number;
-    readDoubleLE(offset: number, noAssert?: boolean): number;
-    readDoubleBE(offset: number, noAssert?: boolean): number;
-    reverse(): this;
-    swap16(): Buffer;
-    swap32(): Buffer;
-    swap64(): Buffer;
-    writeUInt8(value: number, offset: number, noAssert?: boolean): number;
-    writeUInt16LE(value: number, offset: number, noAssert?: boolean): number;
-    writeUInt16BE(value: number, offset: number, noAssert?: boolean): number;
-    writeUInt32LE(value: number, offset: number, noAssert?: boolean): number;
-    writeUInt32BE(value: number, offset: number, noAssert?: boolean): number;
-    writeInt8(value: number, offset: number, noAssert?: boolean): number;
-    writeInt16LE(value: number, offset: number, noAssert?: boolean): number;
-    writeInt16BE(value: number, offset: number, noAssert?: boolean): number;
-    writeInt32LE(value: number, offset: number, noAssert?: boolean): number;
-    writeInt32BE(value: number, offset: number, noAssert?: boolean): number;
-    writeFloatLE(value: number, offset: number, noAssert?: boolean): number;
-    writeFloatBE(value: number, offset: number, noAssert?: boolean): number;
-    writeDoubleLE(value: number, offset: number, noAssert?: boolean): number;
-    writeDoubleBE(value: number, offset: number, noAssert?: boolean): number;
-    fill(value: any, offset?: number, end?: number): this;
-    indexOf(value: string | number | Buffer, byteOffset?: number, encoding?: string): number;
-    lastIndexOf(value: string | number | Buffer, byteOffset?: number, encoding?: string): number;
-    includes(value: string | number | Buffer, byteOffset?: number, encoding?: string): boolean;
-
-    /**
-     * Allocates a new buffer containing the given {str}.
-     *
-     * @param str String to store in buffer.
-     * @param encoding encoding to use, optional.  Default is 'utf8'
-     */
-    constructor (str: string, encoding?: string);
-    /**
-     * Allocates a new buffer of {size} octets.
-     *
-     * @param size count of octets to allocate.
-     */
-    constructor (size: number);
-    /**
-     * Allocates a new buffer containing the given {array} of octets.
-     *
-     * @param array The octets to store.
-     */
-    constructor (array: Uint8Array);
-    /**
-     * Produces a Buffer backed by the same allocated memory as
-     * the given {ArrayBuffer}.
-     *
-     *
-     * @param arrayBuffer The ArrayBuffer with which to share memory.
-     */
-    constructor (arrayBuffer: ArrayBuffer);
-    /**
-     * Allocates a new buffer containing the given {array} of octets.
-     *
-     * @param array The octets to store.
-     */
-    constructor (array: any[]);
-    /**
-     * Copies the passed {buffer} data onto a new {Buffer} instance.
-     *
-     * @param buffer The buffer to copy.
-     */
-    constructor (buffer: Buffer);
-    prototype: Buffer;
-    /**
-     * Allocates a new Buffer using an {array} of octets.
-     *
-     * @param array
-     */
-    static from(array: any[]): Buffer;
-    /**
-     * When passed a reference to the .buffer property of a TypedArray instance,
-     * the newly created Buffer will share the same allocated memory as the TypedArray.
-     * The optional {byteOffset} and {length} arguments specify a memory range
-     * within the {arrayBuffer} that will be shared by the Buffer.
-     *
-     * @param arrayBuffer The .buffer property of a TypedArray or a new ArrayBuffer()
-     * @param byteOffset
-     * @param length
-     */
-    static from(arrayBuffer: ArrayBuffer, byteOffset?: number, length?: number): Buffer;
-    /**
-     * Copies the passed {buffer} data onto a new Buffer instance.
-     *
-     * @param buffer
-     */
-    static from(buffer: Buffer | Uint8Array): Buffer;
-    /**
-     * Creates a new Buffer containing the given JavaScript string {str}.
-     * If provided, the {encoding} parameter identifies the character encoding.
-     * If not provided, {encoding} defaults to 'utf8'.
-     *
-     * @param str
-     */
-    static from(str: string, encoding?: string): Buffer;
-    /**
-     * Returns true if {obj} is a Buffer
-     *
-     * @param obj object to test.
-     */
-    static isBuffer(obj: any): obj is Buffer;
-    /**
-     * Returns true if {encoding} is a valid encoding argument.
-     * Valid string encodings in Node 0.12: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex'
-     *
-     * @param encoding string to test.
-     */
-    static isEncoding(encoding: string): boolean;
-    /**
-     * Gives the actual byte length of a string. encoding defaults to 'utf8'.
-     * This is not the same as String.prototype.length since that returns the number of characters in a string.
-     *
-     * @param string string to test.
-     * @param encoding encoding used to evaluate (defaults to 'utf8')
-     */
-    static byteLength(string: string, encoding?: string): number;
-    /**
-     * Returns a buffer which is the result of concatenating all the buffers in the list together.
-     *
-     * If the list has no items, or if the totalLength is 0, then it returns a zero-length buffer.
-     * If the list has exactly one item, then the first item of the list is returned.
-     * If the list has more than one item, then a new Buffer is created.
-     *
-     * @param list An array of Buffer objects to concatenate
-     * @param totalLength Total length of the buffers when concatenated.
-     *   If totalLength is not provided, it is read from the buffers in the list. However, this adds an additional loop to the function, so it is faster to provide the length explicitly.
-     */
-    static concat(list: Buffer[], totalLength?: number): Buffer;
-    /**
-     * The same as buf1.compare(buf2).
-     */
-    static compare(buf1: Buffer, buf2: Buffer): number;
-    /**
-     * Allocates a new buffer of {size} octets.
-     *
-     * @param size count of octets to allocate.
-     * @param fill if specified, buffer will be initialized by calling buf.fill(fill).
-     *    If parameter is omitted, buffer will be filled with zeros.
-     * @param encoding encoding used for call to buf.fill while initializing
-     */
-    static alloc(size: number, fill?: string | Buffer | number, encoding?: string): Buffer;
-    /**
-     * Allocates a new buffer of {size} octets, leaving memory not initialized, so the contents
-     * of the newly created Buffer are unknown and may contain sensitive data.
-     *
-     * @param size count of octets to allocate
-     */
-    static allocUnsafe(size: number): Buffer;
-    /**
-     * Allocates a new non-pooled buffer of {size} octets, leaving memory not initialized, so the contents
-     * of the newly created Buffer are unknown and may contain sensitive data.
-     *
-     * @param size count of octets to allocate
-     */
-    static allocUnsafeSlow(size: number): Buffer;
-}

文件差異過大導致無法顯示
+ 267 - 292
node_modules/buffer/index.js


+ 34 - 53
node_modules/buffer/package.json

@@ -1,31 +1,31 @@
 {
-  "_from": "buffer@^5.4.3",
-  "_id": "buffer@5.7.1",
+  "_from": "buffer@^4.3.0",
+  "_id": "buffer@4.9.2",
   "_inBundle": false,
-  "_integrity": "sha1-umLnwTEzBTWCGXFghRqPZI6Z7tA=",
+  "_integrity": "sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg=",
   "_location": "/buffer",
   "_phantomChildren": {},
   "_requested": {
     "type": "range",
     "registry": true,
-    "raw": "buffer@^5.4.3",
+    "raw": "buffer@^4.3.0",
     "name": "buffer",
     "escapedName": "buffer",
-    "rawSpec": "^5.4.3",
+    "rawSpec": "^4.3.0",
     "saveSpec": null,
-    "fetchSpec": "^5.4.3"
+    "fetchSpec": "^4.3.0"
   },
   "_requiredBy": [
-    "/qrcode"
+    "/node-libs-browser"
   ],
-  "_resolved": "https://registry.npm.taobao.org/buffer/download/buffer-5.7.1.tgz?cache=0&sync_timestamp=1606098159535&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbuffer%2Fdownload%2Fbuffer-5.7.1.tgz",
-  "_shasum": "ba62e7c13133053582197160851a8f648e99eed0",
-  "_spec": "buffer@^5.4.3",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\qrcode",
+  "_resolved": "https://registry.npm.taobao.org/buffer/download/buffer-4.9.2.tgz?cache=0&sync_timestamp=1606098100352&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbuffer%2Fdownload%2Fbuffer-4.9.2.tgz",
+  "_shasum": "230ead344002988644841ab0244af8c44bbe3ef8",
+  "_spec": "buffer@^4.3.0",
+  "_where": "G:\\Code\\myUnipp\\vue2-jsshq\\node_modules\\node-libs-browser",
   "author": {
     "name": "Feross Aboukhadijeh",
     "email": "feross@feross.org",
-    "url": "https://feross.org"
+    "url": "http://feross.org"
   },
   "bugs": {
     "url": "https://github.com/feross/buffer/issues"
@@ -42,39 +42,25 @@
     }
   ],
   "dependencies": {
-    "base64-js": "^1.3.1",
-    "ieee754": "^1.1.13"
+    "base64-js": "^1.0.2",
+    "ieee754": "^1.1.4",
+    "isarray": "^1.0.0"
   },
   "deprecated": false,
   "description": "Node.js Buffer API, for the browser",
   "devDependencies": {
-    "airtap": "^3.0.0",
-    "benchmark": "^2.1.4",
-    "browserify": "^17.0.0",
-    "concat-stream": "^2.0.0",
-    "hyperquest": "^2.1.3",
-    "is-buffer": "^2.0.4",
-    "is-nan": "^1.3.0",
-    "split": "^1.0.1",
-    "standard": "*",
-    "tape": "^5.0.1",
-    "through2": "^4.0.2",
-    "uglify-js": "^3.11.3"
+    "benchmark": "^2.0.0",
+    "browserify": "^13.0.0",
+    "concat-stream": "^1.4.7",
+    "hyperquest": "^2.0.0",
+    "is-buffer": "^1.1.1",
+    "is-nan": "^1.0.1",
+    "split": "^1.0.0",
+    "standard": "^7.0.0",
+    "tape": "^4.0.0",
+    "through2": "^2.0.0",
+    "zuul": "^3.0.0"
   },
-  "funding": [
-    {
-      "type": "github",
-      "url": "https://github.com/sponsors/feross"
-    },
-    {
-      "type": "patreon",
-      "url": "https://www.patreon.com/feross"
-    },
-    {
-      "type": "consulting",
-      "url": "https://feross.org/support"
-    }
-  ],
   "homepage": "https://github.com/feross/buffer",
   "jspm": {
     "map": {
@@ -104,24 +90,19 @@
     "perf-node": "node perf/bracket-notation.js && node perf/concat.js && node perf/copy-big.js && node perf/copy.js && node perf/new-big.js && node perf/new.js && node perf/readDoubleBE.js && node perf/readFloatBE.js && node perf/readUInt32LE.js && node perf/slice.js && node perf/writeFloatBE.js",
     "size": "browserify -r ./ | uglifyjs -c -m | gzip | wc -c",
     "test": "standard && node ./bin/test.js",
-    "test-browser-es5": "airtap -- test/*.js",
-    "test-browser-es5-local": "airtap --local -- test/*.js",
-    "test-browser-es6": "airtap -- test/*.js test/node/*.js",
-    "test-browser-es6-local": "airtap --local -- test/*.js test/node/*.js",
-    "test-node": "tape test/*.js test/node/*.js",
+    "test-browser-es5": "zuul --ui tape -- test/*.js",
+    "test-browser-es5-local": "zuul --ui tape --local -- test/*.js",
+    "test-browser-es6": "zuul --ui tape -- test/*.js test/node/*.js",
+    "test-browser-es6-local": "zuul --ui tape --local -- test/*.js test/node/*.js",
+    "test-node": "tape test/*.js test/node/*.js && OBJECT_IMPL=true tape test/*.js",
     "update-authors": "./bin/update-authors.sh"
   },
   "standard": {
     "ignore": [
-      "test/node/**/*.js",
-      "test/common.js",
+      "test/node/*.js",
       "test/_polyfill.js",
-      "perf/**/*.js"
-    ],
-    "globals": [
-      "SharedArrayBuffer"
+      "perf/*.js"
     ]
   },
-  "types": "index.d.ts",
-  "version": "5.7.1"
+  "version": "4.9.2"
 }

+ 13 - 3
node_modules/call-bind/package.json

@@ -16,12 +16,22 @@
     "fetchSpec": "^1.0.0"
   },
   "_requiredBy": [
-    "/side-channel"
+    "/es-abstract",
+    "/is-arguments",
+    "/is-boolean-object",
+    "/is-regex",
+    "/object-is",
+    "/object.assign",
+    "/object.getownpropertydescriptors",
+    "/object.values",
+    "/regexp.prototype.flags",
+    "/string.prototype.trimend",
+    "/string.prototype.trimstart"
   ],
-  "_resolved": "https://registry.npm.taobao.org/call-bind/download/call-bind-1.0.2.tgz",
+  "_resolved": "https://registry.npm.taobao.org/call-bind/download/call-bind-1.0.2.tgz?cache=0&sync_timestamp=1610403007655&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcall-bind%2Fdownload%2Fcall-bind-1.0.2.tgz",
   "_shasum": "b1d4e89e688119c3c9a903ad30abb2f6a919be3c",
   "_spec": "call-bind@^1.0.0",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\side-channel",
+  "_where": "G:\\Code\\myUnipp\\vue2-jsshq\\node_modules\\object.assign",
   "author": {
     "name": "Jordan Harband",
     "email": "ljharb@gmail.com"

+ 76 - 38
node_modules/camelcase/index.d.ts

@@ -6,58 +6,96 @@ declare namespace camelcase {
 		@default false
 		*/
 		readonly pascalCase?: boolean;
+
+		/**
+		Preserve the consecutive uppercase characters: `foo-BAR` → `FooBAR`.
+
+		@default false
+		*/
+		readonly preserveConsecutiveUppercase?: boolean;
+
+		/**
+		The locale parameter indicates the locale to be used to convert to upper/lower case according to any locale-specific case mappings. If multiple locales are given in an array, the best available locale is used.
+
+		Default: The host environment’s current locale.
+
+		@example
+		```
+		import camelCase = require('camelcase');
+
+		camelCase('lorem-ipsum', {locale: 'en-US'});
+		//=> 'loremIpsum'
+		camelCase('lorem-ipsum', {locale: 'tr-TR'});
+		//=> 'loremİpsum'
+		camelCase('lorem-ipsum', {locale: ['en-US', 'en-GB']});
+		//=> 'loremIpsum'
+		camelCase('lorem-ipsum', {locale: ['tr', 'TR', 'tr-TR']});
+		//=> 'loremİpsum'
+		```
+		*/
+		readonly locale?: string | readonly string[];
 	}
 }
 
-declare const camelcase: {
-	/**
-	Convert a dash/dot/underscore/space separated string to camelCase or PascalCase: `foo-bar` → `fooBar`.
+/**
+Convert a dash/dot/underscore/space separated string to camelCase or PascalCase: `foo-bar` → `fooBar`.
+
+Correctly handles Unicode strings.
+
+@param input - String to convert to camel case.
+
+@example
+```
+import camelCase = require('camelcase');
+
+camelCase('foo-bar');
+//=> 'fooBar'
+
+camelCase('foo_bar');
+//=> 'fooBar'
 
-	@param input - String to convert to camel case.
+camelCase('Foo-Bar');
+//=> 'fooBar'
 
-	@example
-	```
-	import camelCase = require('camelcase');
+camelCase('розовый_пушистый_единороги');
+//=> 'розовыйПушистыйЕдинороги'
 
-	camelCase('foo-bar');
-	//=> 'fooBar'
+camelCase('Foo-Bar', {pascalCase: true});
+//=> 'FooBar'
 
-	camelCase('foo_bar');
-	//=> 'fooBar'
+camelCase('--foo.bar', {pascalCase: false});
+//=> 'fooBar'
 
-	camelCase('Foo-Bar');
-	//=> 'fooBar'
+camelCase('Foo-BAR', {preserveConsecutiveUppercase: true});
+//=> 'fooBAR'
 
-	camelCase('Foo-Bar', {pascalCase: true});
-	//=> 'FooBar'
+camelCase('fooBAR', {pascalCase: true, preserveConsecutiveUppercase: true}));
+//=> 'FooBAR'
 
-	camelCase('--foo.bar', {pascalCase: false});
-	//=> 'fooBar'
+camelCase('foo bar');
+//=> 'fooBar'
 
-	camelCase('foo bar');
-	//=> 'fooBar'
+console.log(process.argv[3]);
+//=> '--foo-bar'
+camelCase(process.argv[3]);
+//=> 'fooBar'
 
-	console.log(process.argv[3]);
-	//=> '--foo-bar'
-	camelCase(process.argv[3]);
-	//=> 'fooBar'
+camelCase(['foo', 'bar']);
+//=> 'fooBar'
 
-	camelCase(['foo', 'bar']);
-	//=> 'fooBar'
+camelCase(['__foo__', '--bar'], {pascalCase: true});
+//=> 'FooBar'
 
-	camelCase(['__foo__', '--bar'], {pascalCase: true});
-	//=> 'FooBar'
-	```
-	*/
-	(input: string | ReadonlyArray<string>, options?: camelcase.Options): string;
+camelCase(['foo', 'BAR'], {pascalCase: true, preserveConsecutiveUppercase: true})
+//=> 'FooBAR'
 
-	// TODO: Remove this for the next major release, refactor the whole definition to:
-	// declare function camelcase(
-	// 	input: string | ReadonlyArray<string>,
-	// 	options?: camelcase.Options
-	// ): string;
-	// export = camelcase;
-	default: typeof camelcase;
-};
+camelCase('lorem-ipsum', {locale: 'en-US'});
+//=> 'loremIpsum'
+```
+*/
+declare function camelcase(
+	input: string | readonly string[],
+	options?: camelcase.Options
+): string;
 
 export = camelcase;

+ 34 - 19
node_modules/camelcase/index.js

@@ -1,6 +1,6 @@
 'use strict';
 
-const preserveCamelCase = string => {
+const preserveCamelCase = (string, locale) => {
 	let isLastCharLower = false;
 	let isLastCharUpper = false;
 	let isLastLastCharUpper = false;
@@ -8,37 +8,46 @@ const preserveCamelCase = string => {
 	for (let i = 0; i < string.length; i++) {
 		const character = string[i];
 
-		if (isLastCharLower && /[a-zA-Z]/.test(character) && character.toUpperCase() === character) {
+		if (isLastCharLower && /[\p{Lu}]/u.test(character)) {
 			string = string.slice(0, i) + '-' + string.slice(i);
 			isLastCharLower = false;
 			isLastLastCharUpper = isLastCharUpper;
 			isLastCharUpper = true;
 			i++;
-		} else if (isLastCharUpper && isLastLastCharUpper && /[a-zA-Z]/.test(character) && character.toLowerCase() === character) {
+		} else if (isLastCharUpper && isLastLastCharUpper && /[\p{Ll}]/u.test(character)) {
 			string = string.slice(0, i - 1) + '-' + string.slice(i - 1);
 			isLastLastCharUpper = isLastCharUpper;
 			isLastCharUpper = false;
 			isLastCharLower = true;
 		} else {
-			isLastCharLower = character.toLowerCase() === character && character.toUpperCase() !== character;
+			isLastCharLower = character.toLocaleLowerCase(locale) === character && character.toLocaleUpperCase(locale) !== character;
 			isLastLastCharUpper = isLastCharUpper;
-			isLastCharUpper = character.toUpperCase() === character && character.toLowerCase() !== character;
+			isLastCharUpper = character.toLocaleUpperCase(locale) === character && character.toLocaleLowerCase(locale) !== character;
 		}
 	}
 
 	return string;
 };
 
+const preserveConsecutiveUppercase = input => {
+	return input.replace(/^[\p{Lu}](?![\p{Lu}])/gu, m1 => m1.toLowerCase());
+};
+
+const postProcess = (input, options) => {
+	return input.replace(/[_.\- ]+([\p{Alpha}\p{N}_]|$)/gu, (_, p1) => p1.toLocaleUpperCase(options.locale))
+		.replace(/\d+([\p{Alpha}\p{N}_]|$)/gu, m => m.toLocaleUpperCase(options.locale));
+};
+
 const camelCase = (input, options) => {
 	if (!(typeof input === 'string' || Array.isArray(input))) {
 		throw new TypeError('Expected the input to be `string | string[]`');
 	}
 
-	options = Object.assign({
-		pascalCase: false
-	}, options);
-
-	const postProcess = x => options.pascalCase ? x.charAt(0).toUpperCase() + x.slice(1) : x;
+	options = {
+		pascalCase: false,
+		preserveConsecutiveUppercase: false,
+		...options
+	};
 
 	if (Array.isArray(input)) {
 		input = input.map(x => x.trim())
@@ -53,22 +62,28 @@ const camelCase = (input, options) => {
 	}
 
 	if (input.length === 1) {
-		return options.pascalCase ? input.toUpperCase() : input.toLowerCase();
+		return options.pascalCase ? input.toLocaleUpperCase(options.locale) : input.toLocaleLowerCase(options.locale);
 	}
 
-	const hasUpperCase = input !== input.toLowerCase();
+	const hasUpperCase = input !== input.toLocaleLowerCase(options.locale);
 
 	if (hasUpperCase) {
-		input = preserveCamelCase(input);
+		input = preserveCamelCase(input, options.locale);
 	}
 
-	input = input
-		.replace(/^[_.\- ]+/, '')
-		.toLowerCase()
-		.replace(/[_.\- ]+(\w|$)/g, (_, p1) => p1.toUpperCase())
-		.replace(/\d+(\w|$)/g, m => m.toUpperCase());
+	input = input.replace(/^[_.\- ]+/, '');
+
+	if (options.preserveConsecutiveUppercase) {
+		input = preserveConsecutiveUppercase(input);
+	} else {
+		input = input.toLocaleLowerCase();
+	}
+
+	if (options.pascalCase) {
+		input = input.charAt(0).toLocaleUpperCase(options.locale) + input.slice(1);
+	}
 
-	return postProcess(input);
+	return postProcess(input, options);
 };
 
 module.exports = camelCase;

+ 1 - 1
node_modules/camelcase/license

@@ -1,6 +1,6 @@
 MIT License
 
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
+Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
 
 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
 

+ 17 - 16
node_modules/camelcase/package.json

@@ -1,31 +1,31 @@
 {
-  "_from": "camelcase@^5.0.0",
-  "_id": "camelcase@5.3.1",
+  "_from": "camelcase@^6.0.0",
+  "_id": "camelcase@6.2.0",
   "_inBundle": false,
-  "_integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=",
+  "_integrity": "sha1-kkr4gcnVJaydh/QNlk5c6pgqGAk=",
   "_location": "/camelcase",
   "_phantomChildren": {},
   "_requested": {
     "type": "range",
     "registry": true,
-    "raw": "camelcase@^5.0.0",
+    "raw": "camelcase@^6.0.0",
     "name": "camelcase",
     "escapedName": "camelcase",
-    "rawSpec": "^5.0.0",
+    "rawSpec": "^6.0.0",
     "saveSpec": null,
-    "fetchSpec": "^5.0.0"
+    "fetchSpec": "^6.0.0"
   },
   "_requiredBy": [
-    "/yargs-parser"
+    "/@vue/babel-plugin-jsx"
   ],
-  "_resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1603923709404&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz",
-  "_shasum": "e3c9b31569e106811df242f715725a1f4c494320",
-  "_spec": "camelcase@^5.0.0",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\yargs-parser",
+  "_resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-6.2.0.tgz?cache=0&sync_timestamp=1603923709404&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-6.2.0.tgz",
+  "_shasum": "924af881c9d525ac9d87f40d964e5cea982a1809",
+  "_spec": "camelcase@^6.0.0",
+  "_where": "G:\\Code\\myUnipp\\vue2-jsshq\\node_modules\\@vue\\babel-plugin-jsx",
   "author": {
     "name": "Sindre Sorhus",
     "email": "sindresorhus@gmail.com",
-    "url": "sindresorhus.com"
+    "url": "https://sindresorhus.com"
   },
   "bugs": {
     "url": "https://github.com/sindresorhus/camelcase/issues"
@@ -35,16 +35,17 @@
   "description": "Convert a dash/dot/underscore/space separated string to camelCase or PascalCase: `foo-bar` → `fooBar`",
   "devDependencies": {
     "ava": "^1.4.1",
-    "tsd": "^0.7.1",
-    "xo": "^0.24.0"
+    "tsd": "^0.11.0",
+    "xo": "^0.28.3"
   },
   "engines": {
-    "node": ">=6"
+    "node": ">=10"
   },
   "files": [
     "index.js",
     "index.d.ts"
   ],
+  "funding": "https://github.com/sponsors/sindresorhus",
   "homepage": "https://github.com/sindresorhus/camelcase#readme",
   "keywords": [
     "camelcase",
@@ -71,5 +72,5 @@
   "scripts": {
     "test": "xo && ava && tsd"
   },
-  "version": "5.3.1"
+  "version": "6.2.0"
 }

+ 55 - 26
node_modules/camelcase/readme.md

@@ -1,20 +1,8 @@
-# camelcase [![Build Status](https://travis-ci.org/sindresorhus/camelcase.svg?branch=master)](https://travis-ci.org/sindresorhus/camelcase)
+# camelcase [![Build Status](https://travis-ci.com/sindresorhus/camelcase.svg?branch=master)](https://travis-ci.com/sindresorhus/camelcase)
 
 > Convert a dash/dot/underscore/space separated string to camelCase or PascalCase: `foo-bar` → `fooBar`
 
----
-
-<div align="center">
-	<b>
-		<a href="https://tidelift.com/subscription/pkg/npm-camelcase?utm_source=npm-camelcase&utm_medium=referral&utm_campaign=readme">Get professional support for 'camelcase' with a Tidelift subscription</a>
-	</b>
-	<br>
-	<sub>
-		Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies.
-	</sub>
-</div>
-
----
+Correctly handles Unicode strings.
 
 ## Install
 
@@ -22,6 +10,7 @@
 $ npm install camelcase
 ```
 
+*If you need to support Firefox, stay on version 5 as version 6 uses regex features not available in Firefox.*
 
 ## Usage
 
@@ -37,12 +26,21 @@ camelCase('foo_bar');
 camelCase('Foo-Bar');
 //=> 'fooBar'
 
+camelCase('розовый_пушистый_единороги');
+//=> 'розовыйПушистыйЕдинороги'
+
 camelCase('Foo-Bar', {pascalCase: true});
 //=> 'FooBar'
 
 camelCase('--foo.bar', {pascalCase: false});
 //=> 'fooBar'
 
+camelCase('Foo-BAR', {preserveConsecutiveUppercase: true});
+//=> 'fooBAR'
+
+camelCase('fooBAR', {pascalCase: true, preserveConsecutiveUppercase: true}));
+//=> 'FooBAR'
+
 camelCase('foo bar');
 //=> 'fooBar'
 
@@ -56,35 +54,70 @@ camelCase(['foo', 'bar']);
 
 camelCase(['__foo__', '--bar'], {pascalCase: true});
 //=> 'FooBar'
-```
 
+camelCase(['foo', 'BAR'], {pascalCase: true, preserveConsecutiveUppercase: true})
+//=> 'FooBAR'
+
+camelCase('lorem-ipsum', {locale: 'en-US'});
+//=> 'loremIpsum'
+```
 
 ## API
 
-### camelCase(input, [options])
+### camelCase(input, options?)
 
 #### input
 
-Type: `string` `string[]`
+Type: `string | string[]`
 
 String to convert to camel case.
 
 #### options
 
-Type: `Object`
+Type: `object`
 
 ##### pascalCase
 
-Type: `boolean`<br>
+Type: `boolean`\
 Default: `false`
 
 Uppercase the first character: `foo-bar` → `FooBar`
 
+##### preserveConsecutiveUppercase
+
+Type: `boolean`\
+Default: `false`
+
+Preserve the consecutive uppercase characters: `foo-BAR` → `FooBAR`.
 
-## Security
+##### locale
 
-To report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security). Tidelift will coordinate the fix and disclosure.
+Type: `string | string[]`\
+Default: The host environment’s current locale.
 
+The locale parameter indicates the locale to be used to convert to upper/lower case according to any locale-specific case mappings. If multiple locales are given in an array, the best available locale is used.
+
+```js
+const camelCase = require('camelcase');
+
+camelCase('lorem-ipsum', {locale: 'en-US'});
+//=> 'loremIpsum'
+
+camelCase('lorem-ipsum', {locale: 'tr-TR'});
+//=> 'loremİpsum'
+
+camelCase('lorem-ipsum', {locale: ['en-US', 'en-GB']});
+//=> 'loremIpsum'
+
+camelCase('lorem-ipsum', {locale: ['tr', 'TR', 'tr-TR']});
+//=> 'loremİpsum'
+```
+
+## camelcase for enterprise
+
+Available as part of the Tidelift Subscription.
+
+The maintainers of camelcase and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-camelcase?utm_source=npm-camelcase&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
 
 ## Related
 
@@ -92,8 +125,4 @@ To report a security vulnerability, please use the [Tidelift security contact](h
 - [uppercamelcase](https://github.com/SamVerschueren/uppercamelcase) - Like this module, but to PascalCase instead of camelCase
 - [titleize](https://github.com/sindresorhus/titleize) - Capitalize every word in string
 - [humanize-string](https://github.com/sindresorhus/humanize-string) - Convert a camelized/dasherized/underscored string into a humanized one
-
-
-## License
-
-MIT © [Sindre Sorhus](https://sindresorhus.com)
+- [camelcase-keys](https://github.com/sindresorhus/camelcase-keys) - Convert object keys to camel case

+ 15 - 4
node_modules/cliui/CHANGELOG.md

@@ -2,7 +2,18 @@
 
 All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
 
-# [5.0.0](https://github.com/yargs/cliui/compare/v4.1.0...v5.0.0) (2019-04-10)
+## [6.0.0](https://www.github.com/yargs/cliui/compare/v5.0.0...v6.0.0) (2019-11-10)
+
+
+### ⚠ BREAKING CHANGES
+
+* update deps, drop Node 6
+
+### Code Refactoring
+
+* update deps, drop Node 6 ([62056df](https://www.github.com/yargs/cliui/commit/62056df))
+
+## [5.0.0](https://github.com/yargs/cliui/compare/v4.1.0...v5.0.0) (2019-04-10)
 
 
 ### Bug Fixes
@@ -17,7 +28,7 @@ All notable changes to this project will be documented in this file. See [standa
 
 
 <a name="4.1.0"></a>
-# [4.1.0](https://github.com/yargs/cliui/compare/v4.0.0...v4.1.0) (2018-04-23)
+## [4.1.0](https://github.com/yargs/cliui/compare/v4.0.0...v4.1.0) (2018-04-23)
 
 
 ### Features
@@ -27,7 +38,7 @@ All notable changes to this project will be documented in this file. See [standa
 
 
 <a name="4.0.0"></a>
-# [4.0.0](https://github.com/yargs/cliui/compare/v3.2.0...v4.0.0) (2017-12-18)
+## [4.0.0](https://github.com/yargs/cliui/compare/v3.2.0...v4.0.0) (2017-12-18)
 
 
 ### Bug Fixes
@@ -53,7 +64,7 @@ All notable changes to this project will be documented in this file. See [standa
 
 
 <a name="3.2.0"></a>
-# [3.2.0](https://github.com/yargs/cliui/compare/v3.1.2...v3.2.0) (2016-04-11)
+## [3.2.0](https://github.com/yargs/cliui/compare/v3.1.2...v3.2.0) (2016-04-11)
 
 
 ### Bug Fixes

+ 272 - 242
node_modules/cliui/index.js

@@ -1,324 +1,354 @@
-var stringWidth = require('string-width')
-var stripAnsi = require('strip-ansi')
-var wrap = require('wrap-ansi')
-var align = {
-  right: alignRight,
-  center: alignCenter
-}
-var top = 0
-var right = 1
-var bottom = 2
-var left = 3
-
-function UI (opts) {
-  this.width = opts.width
-  this.wrap = opts.wrap
-  this.rows = []
-}
+'use strict'
 
-UI.prototype.span = function () {
-  var cols = this.div.apply(this, arguments)
-  cols.span = true
-}
+const stringWidth = require('string-width')
+const stripAnsi = require('strip-ansi')
+const wrap = require('wrap-ansi')
 
-UI.prototype.resetOutput = function () {
-  this.rows = []
+const align = {
+  right: alignRight,
+  center: alignCenter
 }
-
-UI.prototype.div = function () {
-  if (arguments.length === 0) this.div('')
-  if (this.wrap && this._shouldApplyLayoutDSL.apply(this, arguments)) {
-    return this._applyLayoutDSL(arguments[0])
+const top = 0
+const right = 1
+const bottom = 2
+const left = 3
+
+class UI {
+  constructor (opts) {
+    this.width = opts.width
+    this.wrap = opts.wrap
+    this.rows = []
   }
 
-  var cols = []
-
-  for (var i = 0, arg; (arg = arguments[i]) !== undefined; i++) {
-    if (typeof arg === 'string') cols.push(this._colFromString(arg))
-    else cols.push(arg)
+  span (...args) {
+    const cols = this.div(...args)
+    cols.span = true
   }
 
-  this.rows.push(cols)
-  return cols
-}
+  resetOutput () {
+    this.rows = []
+  }
 
-UI.prototype._shouldApplyLayoutDSL = function () {
-  return arguments.length === 1 && typeof arguments[0] === 'string' &&
-    /[\t\n]/.test(arguments[0])
-}
+  div (...args) {
+    if (args.length === 0) {
+      this.div('')
+    }
 
-UI.prototype._applyLayoutDSL = function (str) {
-  var _this = this
-  var rows = str.split('\n')
-  var leftColumnWidth = 0
-
-  // simple heuristic for layout, make sure the
-  // second column lines up along the left-hand.
-  // don't allow the first column to take up more
-  // than 50% of the screen.
-  rows.forEach(function (row) {
-    var columns = row.split('\t')
-    if (columns.length > 1 && stringWidth(columns[0]) > leftColumnWidth) {
-      leftColumnWidth = Math.min(
-        Math.floor(_this.width * 0.5),
-        stringWidth(columns[0])
-      )
+    if (this.wrap && this._shouldApplyLayoutDSL(...args)) {
+      return this._applyLayoutDSL(args[0])
     }
-  })
 
-  // generate a table:
-  //  replacing ' ' with padding calculations.
-  //  using the algorithmically generated width.
-  rows.forEach(function (row) {
-    var columns = row.split('\t')
-    _this.div.apply(_this, columns.map(function (r, i) {
-      return {
-        text: r.trim(),
-        padding: _this._measurePadding(r),
-        width: (i === 0 && columns.length > 1) ? leftColumnWidth : undefined
+    const cols = args.map(arg => {
+      if (typeof arg === 'string') {
+        return this._colFromString(arg)
       }
-    }))
-  })
 
-  return this.rows[this.rows.length - 1]
-}
+      return arg
+    })
 
-UI.prototype._colFromString = function (str) {
-  return {
-    text: str,
-    padding: this._measurePadding(str)
+    this.rows.push(cols)
+    return cols
   }
-}
 
-UI.prototype._measurePadding = function (str) {
-  // measure padding without ansi escape codes
-  var noAnsi = stripAnsi(str)
-  return [0, noAnsi.match(/\s*$/)[0].length, 0, noAnsi.match(/^\s*/)[0].length]
-}
+  _shouldApplyLayoutDSL (...args) {
+    return args.length === 1 && typeof args[0] === 'string' &&
+      /[\t\n]/.test(args[0])
+  }
 
-UI.prototype.toString = function () {
-  var _this = this
-  var lines = []
+  _applyLayoutDSL (str) {
+    const rows = str.split('\n').map(row => row.split('\t'))
+    let leftColumnWidth = 0
+
+    // simple heuristic for layout, make sure the
+    // second column lines up along the left-hand.
+    // don't allow the first column to take up more
+    // than 50% of the screen.
+    rows.forEach(columns => {
+      if (columns.length > 1 && stringWidth(columns[0]) > leftColumnWidth) {
+        leftColumnWidth = Math.min(
+          Math.floor(this.width * 0.5),
+          stringWidth(columns[0])
+        )
+      }
+    })
 
-  _this.rows.forEach(function (row, i) {
-    _this.rowToString(row, lines)
-  })
+    // generate a table:
+    //  replacing ' ' with padding calculations.
+    //  using the algorithmically generated width.
+    rows.forEach(columns => {
+      this.div(...columns.map((r, i) => {
+        return {
+          text: r.trim(),
+          padding: this._measurePadding(r),
+          width: (i === 0 && columns.length > 1) ? leftColumnWidth : undefined
+        }
+      }))
+    })
 
-  // don't display any lines with the
-  // hidden flag set.
-  lines = lines.filter(function (line) {
-    return !line.hidden
-  })
+    return this.rows[this.rows.length - 1]
+  }
 
-  return lines.map(function (line) {
-    return line.text
-  }).join('\n')
-}
+  _colFromString (text) {
+    return {
+      text,
+      padding: this._measurePadding(text)
+    }
+  }
 
-UI.prototype.rowToString = function (row, lines) {
-  var _this = this
-  var padding
-  var rrows = this._rasterize(row)
-  var str = ''
-  var ts
-  var width
-  var wrapWidth
-
-  rrows.forEach(function (rrow, r) {
-    str = ''
-    rrow.forEach(function (col, c) {
-      ts = '' // temporary string used during alignment/padding.
-      width = row[c].width // the width with padding.
-      wrapWidth = _this._negatePadding(row[c]) // the width without padding.
-
-      ts += col
-
-      for (var i = 0; i < wrapWidth - stringWidth(col); i++) {
-        ts += ' '
-      }
+  _measurePadding (str) {
+    // measure padding without ansi escape codes
+    const noAnsi = stripAnsi(str)
+    return [0, noAnsi.match(/\s*$/)[0].length, 0, noAnsi.match(/^\s*/)[0].length]
+  }
 
-      // align the string within its column.
-      if (row[c].align && row[c].align !== 'left' && _this.wrap) {
-        ts = align[row[c].align](ts, wrapWidth)
-        if (stringWidth(ts) < wrapWidth) ts += new Array(width - stringWidth(ts)).join(' ')
-      }
+  toString () {
+    const lines = []
 
-      // apply border and padding to string.
-      padding = row[c].padding || [0, 0, 0, 0]
-      if (padding[left]) str += new Array(padding[left] + 1).join(' ')
-      str += addBorder(row[c], ts, '| ')
-      str += ts
-      str += addBorder(row[c], ts, ' |')
-      if (padding[right]) str += new Array(padding[right] + 1).join(' ')
-
-      // if prior row is span, try to render the
-      // current row on the prior line.
-      if (r === 0 && lines.length > 0) {
-        str = _this._renderInline(str, lines[lines.length - 1])
-      }
+    this.rows.forEach(row => {
+      this.rowToString(row, lines)
     })
 
-    // remove trailing whitespace.
-    lines.push({
-      text: str.replace(/ +$/, ''),
-      span: row.span
-    })
-  })
+    // don't display any lines with the
+    // hidden flag set.
+    return lines
+      .filter(line => !line.hidden)
+      .map(line => line.text)
+      .join('\n')
+  }
 
-  return lines
-}
+  rowToString (row, lines) {
+    this._rasterize(row).forEach((rrow, r) => {
+      let str = ''
+      rrow.forEach((col, c) => {
+        const { width } = row[c] // the width with padding.
+        const wrapWidth = this._negatePadding(row[c]) // the width without padding.
+
+        let ts = col // temporary string used during alignment/padding.
+
+        if (wrapWidth > stringWidth(col)) {
+          ts += ' '.repeat(wrapWidth - stringWidth(col))
+        }
+
+        // align the string within its column.
+        if (row[c].align && row[c].align !== 'left' && this.wrap) {
+          ts = align[row[c].align](ts, wrapWidth)
+          if (stringWidth(ts) < wrapWidth) {
+            ts += ' '.repeat(width - stringWidth(ts) - 1)
+          }
+        }
+
+        // apply border and padding to string.
+        const padding = row[c].padding || [0, 0, 0, 0]
+        if (padding[left]) {
+          str += ' '.repeat(padding[left])
+        }
+
+        str += addBorder(row[c], ts, '| ')
+        str += ts
+        str += addBorder(row[c], ts, ' |')
+        if (padding[right]) {
+          str += ' '.repeat(padding[right])
+        }
+
+        // if prior row is span, try to render the
+        // current row on the prior line.
+        if (r === 0 && lines.length > 0) {
+          str = this._renderInline(str, lines[lines.length - 1])
+        }
+      })
+
+      // remove trailing whitespace.
+      lines.push({
+        text: str.replace(/ +$/, ''),
+        span: row.span
+      })
+    })
 
-function addBorder (col, ts, style) {
-  if (col.border) {
-    if (/[.']-+[.']/.test(ts)) return ''
-    else if (ts.trim().length) return style
-    else return '  '
+    return lines
   }
-  return ''
-}
 
-// if the full 'source' can render in
-// the target line, do so.
-UI.prototype._renderInline = function (source, previousLine) {
-  var leadingWhitespace = source.match(/^ */)[0].length
-  var target = previousLine.text
-  var targetTextWidth = stringWidth(target.trimRight())
+  // if the full 'source' can render in
+  // the target line, do so.
+  _renderInline (source, previousLine) {
+    const leadingWhitespace = source.match(/^ */)[0].length
+    const target = previousLine.text
+    const targetTextWidth = stringWidth(target.trimRight())
+
+    if (!previousLine.span) {
+      return source
+    }
+
+    // if we're not applying wrapping logic,
+    // just always append to the span.
+    if (!this.wrap) {
+      previousLine.hidden = true
+      return target + source
+    }
 
-  if (!previousLine.span) return source
+    if (leadingWhitespace < targetTextWidth) {
+      return source
+    }
 
-  // if we're not applying wrapping logic,
-  // just always append to the span.
-  if (!this.wrap) {
     previousLine.hidden = true
-    return target + source
+
+    return target.trimRight() + ' '.repeat(leadingWhitespace - targetTextWidth) + source.trimLeft()
   }
 
-  if (leadingWhitespace < targetTextWidth) return source
+  _rasterize (row) {
+    const rrows = []
+    const widths = this._columnWidths(row)
+    let wrapped
+
+    // word wrap all columns, and create
+    // a data-structure that is easy to rasterize.
+    row.forEach((col, c) => {
+      // leave room for left and right padding.
+      col.width = widths[c]
+      if (this.wrap) {
+        wrapped = wrap(col.text, this._negatePadding(col), { hard: true }).split('\n')
+      } else {
+        wrapped = col.text.split('\n')
+      }
 
-  previousLine.hidden = true
+      if (col.border) {
+        wrapped.unshift('.' + '-'.repeat(this._negatePadding(col) + 2) + '.')
+        wrapped.push("'" + '-'.repeat(this._negatePadding(col) + 2) + "'")
+      }
 
-  return target.trimRight() + new Array(leadingWhitespace - targetTextWidth + 1).join(' ') + source.trimLeft()
-}
+      // add top and bottom padding.
+      if (col.padding) {
+        wrapped.unshift(...new Array(col.padding[top] || 0).fill(''))
+        wrapped.push(...new Array(col.padding[bottom] || 0).fill(''))
+      }
 
-UI.prototype._rasterize = function (row) {
-  var _this = this
-  var i
-  var rrow
-  var rrows = []
-  var widths = this._columnWidths(row)
-  var wrapped
-
-  // word wrap all columns, and create
-  // a data-structure that is easy to rasterize.
-  row.forEach(function (col, c) {
-    // leave room for left and right padding.
-    col.width = widths[c]
-    if (_this.wrap) wrapped = wrap(col.text, _this._negatePadding(col), { hard: true }).split('\n')
-    else wrapped = col.text.split('\n')
+      wrapped.forEach((str, r) => {
+        if (!rrows[r]) {
+          rrows.push([])
+        }
 
-    if (col.border) {
-      wrapped.unshift('.' + new Array(_this._negatePadding(col) + 3).join('-') + '.')
-      wrapped.push("'" + new Array(_this._negatePadding(col) + 3).join('-') + "'")
-    }
+        const rrow = rrows[r]
 
-    // add top and bottom padding.
+        for (let i = 0; i < c; i++) {
+          if (rrow[i] === undefined) {
+            rrow.push('')
+          }
+        }
+
+        rrow.push(str)
+      })
+    })
+
+    return rrows
+  }
+
+  _negatePadding (col) {
+    let wrapWidth = col.width
     if (col.padding) {
-      for (i = 0; i < (col.padding[top] || 0); i++) wrapped.unshift('')
-      for (i = 0; i < (col.padding[bottom] || 0); i++) wrapped.push('')
+      wrapWidth -= (col.padding[left] || 0) + (col.padding[right] || 0)
     }
 
-    wrapped.forEach(function (str, r) {
-      if (!rrows[r]) rrows.push([])
+    if (col.border) {
+      wrapWidth -= 4
+    }
+
+    return wrapWidth
+  }
+
+  _columnWidths (row) {
+    if (!this.wrap) {
+      return row.map(col => {
+        return col.width || stringWidth(col.text)
+      })
+    }
 
-      rrow = rrows[r]
+    let unset = row.length
+    let remainingWidth = this.width
 
-      for (var i = 0; i < c; i++) {
-        if (rrow[i] === undefined) rrow.push('')
+    // column widths can be set in config.
+    const widths = row.map(col => {
+      if (col.width) {
+        unset--
+        remainingWidth -= col.width
+        return col.width
       }
-      rrow.push(str)
+
+      return undefined
     })
-  })
 
-  return rrows
-}
+    // any unset widths should be calculated.
+    const unsetWidth = unset ? Math.floor(remainingWidth / unset) : 0
 
-UI.prototype._negatePadding = function (col) {
-  var wrapWidth = col.width
-  if (col.padding) wrapWidth -= (col.padding[left] || 0) + (col.padding[right] || 0)
-  if (col.border) wrapWidth -= 4
-  return wrapWidth
+    return widths.map((w, i) => {
+      if (w === undefined) {
+        return Math.max(unsetWidth, _minWidth(row[i]))
+      }
+
+      return w
+    })
+  }
 }
 
-UI.prototype._columnWidths = function (row) {
-  var _this = this
-  var widths = []
-  var unset = row.length
-  var unsetWidth
-  var remainingWidth = this.width
-
-  // column widths can be set in config.
-  row.forEach(function (col, i) {
-    if (col.width) {
-      unset--
-      widths[i] = col.width
-      remainingWidth -= col.width
-    } else {
-      widths[i] = undefined
+function addBorder (col, ts, style) {
+  if (col.border) {
+    if (/[.']-+[.']/.test(ts)) {
+      return ''
     }
-  })
 
-  // any unset widths should be calculated.
-  if (unset) unsetWidth = Math.floor(remainingWidth / unset)
-  widths.forEach(function (w, i) {
-    if (!_this.wrap) widths[i] = row[i].width || stringWidth(row[i].text)
-    else if (w === undefined) widths[i] = Math.max(unsetWidth, _minWidth(row[i]))
-  })
+    if (ts.trim().length !== 0) {
+      return style
+    }
+
+    return '  '
+  }
 
-  return widths
+  return ''
 }
 
 // calculates the minimum width of
 // a column, based on padding preferences.
 function _minWidth (col) {
-  var padding = col.padding || []
-  var minWidth = 1 + (padding[left] || 0) + (padding[right] || 0)
-  if (col.border) minWidth += 4
+  const padding = col.padding || []
+  const minWidth = 1 + (padding[left] || 0) + (padding[right] || 0)
+  if (col.border) {
+    return minWidth + 4
+  }
+
   return minWidth
 }
 
 function getWindowWidth () {
-  if (typeof process === 'object' && process.stdout && process.stdout.columns) return process.stdout.columns
+  /* istanbul ignore next: depends on terminal */
+  if (typeof process === 'object' && process.stdout && process.stdout.columns) {
+    return process.stdout.columns
+  }
 }
 
 function alignRight (str, width) {
   str = str.trim()
-  var padding = ''
-  var strWidth = stringWidth(str)
+  const strWidth = stringWidth(str)
 
   if (strWidth < width) {
-    padding = new Array(width - strWidth + 1).join(' ')
+    return ' '.repeat(width - strWidth) + str
   }
 
-  return padding + str
+  return str
 }
 
 function alignCenter (str, width) {
   str = str.trim()
-  var padding = ''
-  var strWidth = stringWidth(str.trim())
+  const strWidth = stringWidth(str)
 
-  if (strWidth < width) {
-    padding = new Array(parseInt((width - strWidth) / 2, 10) + 1).join(' ')
+  /* istanbul ignore next */
+  if (strWidth >= width) {
+    return str
   }
 
-  return padding + str
+  return ' '.repeat((width - strWidth) >> 1) + str
 }
 
-module.exports = function (opts) {
-  opts = opts || {}
-
+module.exports = function (opts = {}) {
   return new UI({
-    width: (opts || {}).width || getWindowWidth() || 80,
-    wrap: typeof opts.wrap === 'boolean' ? opts.wrap : true
+    width: opts.width || getWindowWidth() || /* istanbul ignore next */ 80,
+    wrap: opts.wrap !== false
   })
 }

+ 24 - 23
node_modules/cliui/package.json

@@ -1,27 +1,30 @@
 {
-  "_from": "cliui@^5.0.0",
-  "_id": "cliui@5.0.0",
+  "_from": "cliui@^6.0.0",
+  "_id": "cliui@6.0.0",
   "_inBundle": false,
-  "_integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=",
+  "_integrity": "sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE=",
   "_location": "/cliui",
-  "_phantomChildren": {},
+  "_phantomChildren": {
+    "emoji-regex": "8.0.0",
+    "strip-ansi": "6.0.0"
+  },
   "_requested": {
     "type": "range",
     "registry": true,
-    "raw": "cliui@^5.0.0",
+    "raw": "cliui@^6.0.0",
     "name": "cliui",
     "escapedName": "cliui",
-    "rawSpec": "^5.0.0",
+    "rawSpec": "^6.0.0",
     "saveSpec": null,
-    "fetchSpec": "^5.0.0"
+    "fetchSpec": "^6.0.0"
   },
   "_requiredBy": [
-    "/yargs"
+    "/@vue/cli-service"
   ],
-  "_resolved": "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz",
-  "_shasum": "deefcfdb2e800784aa34f46fa08e06851c7bbbc5",
-  "_spec": "cliui@^5.0.0",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\yargs",
+  "_resolved": "https://registry.npm.taobao.org/cliui/download/cliui-6.0.0.tgz?cache=0&sync_timestamp=1604880033053&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-6.0.0.tgz",
+  "_shasum": "511d702c0c4e41ca156d7d0e96021f23e13225b1",
+  "_spec": "cliui@^6.0.0",
+  "_where": "G:\\Code\\myUnipp\\vue2-jsshq\\node_modules\\@vue\\cli-service",
   "author": {
     "name": "Ben Coe",
     "email": "ben@npmjs.com"
@@ -43,23 +46,22 @@
     }
   },
   "dependencies": {
-    "string-width": "^3.1.0",
-    "strip-ansi": "^5.2.0",
-    "wrap-ansi": "^5.1.0"
+    "string-width": "^4.2.0",
+    "strip-ansi": "^6.0.0",
+    "wrap-ansi": "^6.2.0"
   },
   "deprecated": false,
   "description": "easily create complex multi-column command-line-interfaces",
   "devDependencies": {
     "chai": "^4.2.0",
-    "chalk": "^2.4.2",
+    "chalk": "^3.0.0",
     "coveralls": "^3.0.3",
-    "mocha": "^6.0.2",
-    "nyc": "^13.3.0",
-    "standard": "^12.0.1",
-    "standard-version": "^5.0.2"
+    "mocha": "^6.2.2",
+    "nyc": "^14.1.1",
+    "standard": "^12.0.1"
   },
   "engine": {
-    "node": ">=6"
+    "node": ">=8"
   },
   "files": [
     "index.js"
@@ -84,7 +86,6 @@
   "scripts": {
     "coverage": "nyc --reporter=text-lcov mocha | coveralls",
     "pretest": "standard",
-    "release": "standard-version",
     "test": "nyc mocha"
   },
   "standard": {
@@ -95,5 +96,5 @@
       "it"
     ]
   },
-  "version": "5.0.0"
+  "version": "6.0.0"
 }

+ 3 - 2
node_modules/color-convert/package.json

@@ -16,12 +16,13 @@
     "fetchSpec": "^1.9.0"
   },
   "_requiredBy": [
-    "/ansi-styles"
+    "/ansi-styles",
+    "/color"
   ],
   "_resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz",
   "_shasum": "bb71850690e1f136567de629d2d5471deda4c1e8",
   "_spec": "color-convert@^1.9.0",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\ansi-styles",
+  "_where": "G:\\Code\\myUnipp\\vue2-jsshq\\node_modules\\ansi-styles",
   "author": {
     "name": "Heather Arthur",
     "email": "fayearthur@gmail.com"

+ 3 - 2
node_modules/color-name/package.json

@@ -16,12 +16,13 @@
     "fetchSpec": "1.1.3"
   },
   "_requiredBy": [
-    "/color-convert"
+    "/color-convert",
+    "/color-string"
   ],
   "_resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz",
   "_shasum": "a7d0558bd89c42f795dd42328f740831ca53bc25",
   "_spec": "color-name@1.1.3",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\color-convert",
+  "_where": "G:\\Code\\myUnipp\\vue2-jsshq\\node_modules\\color-convert",
   "author": {
     "name": "DY",
     "email": "dfcreative@gmail.com"

+ 7 - 8
node_modules/crypto-js/package.json

@@ -1,28 +1,27 @@
 {
-  "_from": "crypto-js",
+  "_from": "crypto-js@^4.0.0",
   "_id": "crypto-js@4.0.0",
   "_inBundle": false,
   "_integrity": "sha1-KQSrJnep0EKFai6i74DekuSjbcw=",
   "_location": "/crypto-js",
   "_phantomChildren": {},
   "_requested": {
-    "type": "tag",
+    "type": "range",
     "registry": true,
-    "raw": "crypto-js",
+    "raw": "crypto-js@^4.0.0",
     "name": "crypto-js",
     "escapedName": "crypto-js",
-    "rawSpec": "",
+    "rawSpec": "^4.0.0",
     "saveSpec": null,
-    "fetchSpec": "latest"
+    "fetchSpec": "^4.0.0"
   },
   "_requiredBy": [
-    "#USER",
     "/"
   ],
   "_resolved": "https://registry.npm.taobao.org/crypto-js/download/crypto-js-4.0.0.tgz",
   "_shasum": "2904ab2677a9d042856a2ea2ef80de92e4a36dcc",
-  "_spec": "crypto-js",
-  "_where": "F:\\uniapp\\sqxp-uniapp",
+  "_spec": "crypto-js@^4.0.0",
+  "_where": "F:\\uniapp\\vue2-jsshq",
   "author": {
     "name": "Evan Vosberg",
     "url": "http://github.com/evanvosberg"

+ 0 - 1
node_modules/debug/.coveralls.yml

@@ -1 +0,0 @@
-repo_token: SIAeZjKYlHK74rbcFvNHMUzjRiMpflxve

+ 0 - 14
node_modules/debug/.eslintrc

@@ -1,14 +0,0 @@
-{
-  "env": {
-    "browser": true,
-    "node": true
-  },
-  "globals": {
-    "chrome": true
-  },
-  "rules": {
-    "no-console": 0,
-    "no-empty": [1, { "allowEmptyCatch": true }]
-  },
-  "extends": "eslint:recommended"
-}

+ 0 - 9
node_modules/debug/.npmignore

@@ -1,9 +0,0 @@
-support
-test
-examples
-example
-*.sock
-dist
-yarn.lock
-coverage
-bower.json

+ 0 - 20
node_modules/debug/.travis.yml

@@ -1,20 +0,0 @@
-sudo: false
-
-language: node_js
-
-node_js:
-  - "4"
-  - "6"
-  - "8"
-
-install:
-  - make install
-
-script:
-  - make lint
-  - make test
-
-matrix:
-  include:
-  - node_js: '8'
-    env: BROWSER=1

+ 0 - 395
node_modules/debug/CHANGELOG.md

@@ -1,395 +0,0 @@
-
-3.1.0 / 2017-09-26
-==================
-
-  * Add `DEBUG_HIDE_DATE` env var (#486)
-  * Remove ReDoS regexp in %o formatter (#504)
-  * Remove "component" from package.json
-  * Remove `component.json`
-  * Ignore package-lock.json
-  * Examples: fix colors printout
-  * Fix: browser detection
-  * Fix: spelling mistake (#496, @EdwardBetts)
-
-3.0.1 / 2017-08-24
-==================
-
-  * Fix: Disable colors in Edge and Internet Explorer (#489)
-
-3.0.0 / 2017-08-08
-==================
-
-  * Breaking: Remove DEBUG_FD (#406)
-  * Breaking: Use `Date#toISOString()` instead to `Date#toUTCString()` when output is not a TTY (#418)
-  * Breaking: Make millisecond timer namespace specific and allow 'always enabled' output (#408)
-  * Addition: document `enabled` flag (#465)
-  * Addition: add 256 colors mode (#481)
-  * Addition: `enabled()` updates existing debug instances, add `destroy()` function (#440)
-  * Update: component: update "ms" to v2.0.0
-  * Update: separate the Node and Browser tests in Travis-CI
-  * Update: refactor Readme, fixed documentation, added "Namespace Colors" section, redid screenshots
-  * Update: separate Node.js and web browser examples for organization
-  * Update: update "browserify" to v14.4.0
-  * Fix: fix Readme typo (#473)
-
-2.6.9 / 2017-09-22
-==================
-
-  * remove ReDoS regexp in %o formatter (#504)
-
-2.6.8 / 2017-05-18
-==================
-
-  * Fix: Check for undefined on browser globals (#462, @marbemac)
-
-2.6.7 / 2017-05-16
-==================
-
-  * Fix: Update ms to 2.0.0 to fix regular expression denial of service vulnerability (#458, @hubdotcom)
-  * Fix: Inline extend function in node implementation (#452, @dougwilson)
-  * Docs: Fix typo (#455, @msasad)
-
-2.6.5 / 2017-04-27
-==================
-  
-  * Fix: null reference check on window.documentElement.style.WebkitAppearance (#447, @thebigredgeek)
-  * Misc: clean up browser reference checks (#447, @thebigredgeek)
-  * Misc: add npm-debug.log to .gitignore (@thebigredgeek)
-
-
-2.6.4 / 2017-04-20
-==================
-
-  * Fix: bug that would occur if process.env.DEBUG is a non-string value. (#444, @LucianBuzzo)
-  * Chore: ignore bower.json in npm installations. (#437, @joaovieira)
-  * Misc: update "ms" to v0.7.3 (@tootallnate)
-
-2.6.3 / 2017-03-13
-==================
-
-  * Fix: Electron reference to `process.env.DEBUG` (#431, @paulcbetts)
-  * Docs: Changelog fix (@thebigredgeek)
-
-2.6.2 / 2017-03-10
-==================
-
-  * Fix: DEBUG_MAX_ARRAY_LENGTH (#420, @slavaGanzin)
-  * Docs: Add backers and sponsors from Open Collective (#422, @piamancini)
-  * Docs: Add Slackin invite badge (@tootallnate)
-
-2.6.1 / 2017-02-10
-==================
-
-  * Fix: Module's `export default` syntax fix for IE8 `Expected identifier` error
-  * Fix: Whitelist DEBUG_FD for values 1 and 2 only (#415, @pi0)
-  * Fix: IE8 "Expected identifier" error (#414, @vgoma)
-  * Fix: Namespaces would not disable once enabled (#409, @musikov)
-
-2.6.0 / 2016-12-28
-==================
-
-  * Fix: added better null pointer checks for browser useColors (@thebigredgeek)
-  * Improvement: removed explicit `window.debug` export (#404, @tootallnate)
-  * Improvement: deprecated `DEBUG_FD` environment variable (#405, @tootallnate)
-
-2.5.2 / 2016-12-25
-==================
-
-  * Fix: reference error on window within webworkers (#393, @KlausTrainer)
-  * Docs: fixed README typo (#391, @lurch)
-  * Docs: added notice about v3 api discussion (@thebigredgeek)
-
-2.5.1 / 2016-12-20
-==================
-
-  * Fix: babel-core compatibility
-
-2.5.0 / 2016-12-20
-==================
-
-  * Fix: wrong reference in bower file (@thebigredgeek)
-  * Fix: webworker compatibility (@thebigredgeek)
-  * Fix: output formatting issue (#388, @kribblo)
-  * Fix: babel-loader compatibility (#383, @escwald)
-  * Misc: removed built asset from repo and publications (@thebigredgeek)
-  * Misc: moved source files to /src (#378, @yamikuronue)
-  * Test: added karma integration and replaced babel with browserify for browser tests (#378, @yamikuronue)
-  * Test: coveralls integration (#378, @yamikuronue)
-  * Docs: simplified language in the opening paragraph (#373, @yamikuronue)
-
-2.4.5 / 2016-12-17
-==================
-
-  * Fix: `navigator` undefined in Rhino (#376, @jochenberger)
-  * Fix: custom log function (#379, @hsiliev)
-  * Improvement: bit of cleanup + linting fixes (@thebigredgeek)
-  * Improvement: rm non-maintainted `dist/` dir (#375, @freewil)
-  * Docs: simplified language in the opening paragraph. (#373, @yamikuronue)
-
-2.4.4 / 2016-12-14
-==================
-
-  * Fix: work around debug being loaded in preload scripts for electron (#368, @paulcbetts)
-
-2.4.3 / 2016-12-14
-==================
-
-  * Fix: navigation.userAgent error for react native (#364, @escwald)
-
-2.4.2 / 2016-12-14
-==================
-
-  * Fix: browser colors (#367, @tootallnate)
-  * Misc: travis ci integration (@thebigredgeek)
-  * Misc: added linting and testing boilerplate with sanity check (@thebigredgeek)
-
-2.4.1 / 2016-12-13
-==================
-
-  * Fix: typo that broke the package (#356)
-
-2.4.0 / 2016-12-13
-==================
-
-  * Fix: bower.json references unbuilt src entry point (#342, @justmatt)
-  * Fix: revert "handle regex special characters" (@tootallnate)
-  * Feature: configurable util.inspect()`options for NodeJS (#327, @tootallnate)
-  * Feature: %O`(big O) pretty-prints objects (#322, @tootallnate)
-  * Improvement: allow colors in workers (#335, @botverse)
-  * Improvement: use same color for same namespace. (#338, @lchenay)
-
-2.3.3 / 2016-11-09
-==================
-
-  * Fix: Catch `JSON.stringify()` errors (#195, Jovan Alleyne)
-  * Fix: Returning `localStorage` saved values (#331, Levi Thomason)
-  * Improvement: Don't create an empty object when no `process` (Nathan Rajlich)
-
-2.3.2 / 2016-11-09
-==================
-
-  * Fix: be super-safe in index.js as well (@TooTallNate)
-  * Fix: should check whether process exists (Tom Newby)
-
-2.3.1 / 2016-11-09
-==================
-
-  * Fix: Added electron compatibility (#324, @paulcbetts)
-  * Improvement: Added performance optimizations (@tootallnate)
-  * Readme: Corrected PowerShell environment variable example (#252, @gimre)
-  * Misc: Removed yarn lock file from source control (#321, @fengmk2)
-
-2.3.0 / 2016-11-07
-==================
-
-  * Fix: Consistent placement of ms diff at end of output (#215, @gorangajic)
-  * Fix: Escaping of regex special characters in namespace strings (#250, @zacronos)
-  * Fix: Fixed bug causing crash on react-native (#282, @vkarpov15)
-  * Feature: Enabled ES6+ compatible import via default export (#212 @bucaran)
-  * Feature: Added %O formatter to reflect Chrome's console.log capability (#279, @oncletom)
-  * Package: Update "ms" to 0.7.2 (#315, @DevSide)
-  * Package: removed superfluous version property from bower.json (#207 @kkirsche)
-  * Readme: fix USE_COLORS to DEBUG_COLORS
-  * Readme: Doc fixes for format string sugar (#269, @mlucool)
-  * Readme: Updated docs for DEBUG_FD and DEBUG_COLORS environment variables (#232, @mattlyons0)
-  * Readme: doc fixes for PowerShell (#271 #243, @exoticknight @unreadable)
-  * Readme: better docs for browser support (#224, @matthewmueller)
-  * Tooling: Added yarn integration for development (#317, @thebigredgeek)
-  * Misc: Renamed History.md to CHANGELOG.md (@thebigredgeek)
-  * Misc: Added license file (#226 #274, @CantemoInternal @sdaitzman)
-  * Misc: Updated contributors (@thebigredgeek)
-
-2.2.0 / 2015-05-09
-==================
-
-  * package: update "ms" to v0.7.1 (#202, @dougwilson)
-  * README: add logging to file example (#193, @DanielOchoa)
-  * README: fixed a typo (#191, @amir-s)
-  * browser: expose `storage` (#190, @stephenmathieson)
-  * Makefile: add a `distclean` target (#189, @stephenmathieson)
-
-2.1.3 / 2015-03-13
-==================
-
-  * Updated stdout/stderr example (#186)
-  * Updated example/stdout.js to match debug current behaviour
-  * Renamed example/stderr.js to stdout.js
-  * Update Readme.md (#184)
-  * replace high intensity foreground color for bold (#182, #183)
-
-2.1.2 / 2015-03-01
-==================
-
-  * dist: recompile
-  * update "ms" to v0.7.0
-  * package: update "browserify" to v9.0.3
-  * component: fix "ms.js" repo location
-  * changed bower package name
-  * updated documentation about using debug in a browser
-  * fix: security error on safari (#167, #168, @yields)
-
-2.1.1 / 2014-12-29
-==================
-
-  * browser: use `typeof` to check for `console` existence
-  * browser: check for `console.log` truthiness (fix IE 8/9)
-  * browser: add support for Chrome apps
-  * Readme: added Windows usage remarks
-  * Add `bower.json` to properly support bower install
-
-2.1.0 / 2014-10-15
-==================
-
-  * node: implement `DEBUG_FD` env variable support
-  * package: update "browserify" to v6.1.0
-  * package: add "license" field to package.json (#135, @panuhorsmalahti)
-
-2.0.0 / 2014-09-01
-==================
-
-  * package: update "browserify" to v5.11.0
-  * node: use stderr rather than stdout for logging (#29, @stephenmathieson)
-
-1.0.4 / 2014-07-15
-==================
-
-  * dist: recompile
-  * example: remove `console.info()` log usage
-  * example: add "Content-Type" UTF-8 header to browser example
-  * browser: place %c marker after the space character
-  * browser: reset the "content" color via `color: inherit`
-  * browser: add colors support for Firefox >= v31
-  * debug: prefer an instance `log()` function over the global one (#119)
-  * Readme: update documentation about styled console logs for FF v31 (#116, @wryk)
-
-1.0.3 / 2014-07-09
-==================
-
-  * Add support for multiple wildcards in namespaces (#122, @seegno)
-  * browser: fix lint
-
-1.0.2 / 2014-06-10
-==================
-
-  * browser: update color palette (#113, @gscottolson)
-  * common: make console logging function configurable (#108, @timoxley)
-  * node: fix %o colors on old node <= 0.8.x
-  * Makefile: find node path using shell/which (#109, @timoxley)
-
-1.0.1 / 2014-06-06
-==================
-
-  * browser: use `removeItem()` to clear localStorage
-  * browser, node: don't set DEBUG if namespaces is undefined (#107, @leedm777)
-  * package: add "contributors" section
-  * node: fix comment typo
-  * README: list authors
-
-1.0.0 / 2014-06-04
-==================
-
-  * make ms diff be global, not be scope
-  * debug: ignore empty strings in enable()
-  * node: make DEBUG_COLORS able to disable coloring
-  * *: export the `colors` array
-  * npmignore: don't publish the `dist` dir
-  * Makefile: refactor to use browserify
-  * package: add "browserify" as a dev dependency
-  * Readme: add Web Inspector Colors section
-  * node: reset terminal color for the debug content
-  * node: map "%o" to `util.inspect()`
-  * browser: map "%j" to `JSON.stringify()`
-  * debug: add custom "formatters"
-  * debug: use "ms" module for humanizing the diff
-  * Readme: add "bash" syntax highlighting
-  * browser: add Firebug color support
-  * browser: add colors for WebKit browsers
-  * node: apply log to `console`
-  * rewrite: abstract common logic for Node & browsers
-  * add .jshintrc file
-
-0.8.1 / 2014-04-14
-==================
-
-  * package: re-add the "component" section
-
-0.8.0 / 2014-03-30
-==================
-
-  * add `enable()` method for nodejs. Closes #27
-  * change from stderr to stdout
-  * remove unnecessary index.js file
-
-0.7.4 / 2013-11-13
-==================
-
-  * remove "browserify" key from package.json (fixes something in browserify)
-
-0.7.3 / 2013-10-30
-==================
-
-  * fix: catch localStorage security error when cookies are blocked (Chrome)
-  * add debug(err) support. Closes #46
-  * add .browser prop to package.json. Closes #42
-
-0.7.2 / 2013-02-06
-==================
-
-  * fix package.json
-  * fix: Mobile Safari (private mode) is broken with debug
-  * fix: Use unicode to send escape character to shell instead of octal to work with strict mode javascript
-
-0.7.1 / 2013-02-05
-==================
-
-  * add repository URL to package.json
-  * add DEBUG_COLORED to force colored output
-  * add browserify support
-  * fix component. Closes #24
-
-0.7.0 / 2012-05-04
-==================
-
-  * Added .component to package.json
-  * Added debug.component.js build
-
-0.6.0 / 2012-03-16
-==================
-
-  * Added support for "-" prefix in DEBUG [Vinay Pulim]
-  * Added `.enabled` flag to the node version [TooTallNate]
-
-0.5.0 / 2012-02-02
-==================
-
-  * Added: humanize diffs. Closes #8
-  * Added `debug.disable()` to the CS variant
-  * Removed padding. Closes #10
-  * Fixed: persist client-side variant again. Closes #9
-
-0.4.0 / 2012-02-01
-==================
-
-  * Added browser variant support for older browsers [TooTallNate]
-  * Added `debug.enable('project:*')` to browser variant [TooTallNate]
-  * Added padding to diff (moved it to the right)
-
-0.3.0 / 2012-01-26
-==================
-
-  * Added millisecond diff when isatty, otherwise UTC string
-
-0.2.0 / 2012-01-22
-==================
-
-  * Added wildcard support
-
-0.1.0 / 2011-12-02
-==================
-
-  * Added: remove colors unless stderr isatty [TooTallNate]
-
-0.0.1 / 2010-01-03
-==================
-
-  * Initial release

+ 0 - 58
node_modules/debug/Makefile

@@ -1,58 +0,0 @@
-# get Makefile directory name: http://stackoverflow.com/a/5982798/376773
-THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
-THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd)
-
-# BIN directory
-BIN := $(THIS_DIR)/node_modules/.bin
-
-# Path
-PATH := node_modules/.bin:$(PATH)
-SHELL := /bin/bash
-
-# applications
-NODE ?= $(shell which node)
-YARN ?= $(shell which yarn)
-PKG ?= $(if $(YARN),$(YARN),$(NODE) $(shell which npm))
-BROWSERIFY ?= $(NODE) $(BIN)/browserify
-
-install: node_modules
-
-browser: dist/debug.js
-
-node_modules: package.json
-	@NODE_ENV= $(PKG) install
-	@touch node_modules
-
-dist/debug.js: src/*.js node_modules
-	@mkdir -p dist
-	@$(BROWSERIFY) \
-		--standalone debug \
-		. > dist/debug.js
-
-lint:
-	@eslint *.js src/*.js
-
-test-node:
-	@istanbul cover node_modules/mocha/bin/_mocha -- test/**.js
-	@cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js
-
-test-browser:
-	@$(MAKE) browser
-	@karma start --single-run
-
-test-all:
-	@concurrently \
-		"make test-node" \
-		"make test-browser"
-
-test:
-	@if [ "x$(BROWSER)" = "x" ]; then \
-		$(MAKE) test-node; \
-		else \
-		$(MAKE) test-browser; \
-	fi
-
-clean:
-	rimraf dist coverage
-
-.PHONY: browser install clean lint test test-all test-node test-browser

+ 89 - 2
node_modules/debug/README.md

@@ -70,7 +70,9 @@ Here are some examples:
 <img width="647" alt="screen shot 2017-08-08 at 12 53 38 pm" src="https://user-images.githubusercontent.com/71256/29091700-a62a6888-7c38-11e7-800b-db911291ca2b.png">
 <img width="647" alt="screen shot 2017-08-08 at 12 53 25 pm" src="https://user-images.githubusercontent.com/71256/29091701-a62ea114-7c38-11e7-826a-2692bedca740.png">
 
-#### Windows note
+#### Windows command prompt notes
+
+##### CMD
 
 On Windows the environment variable is set using the `set` command.
 
@@ -78,14 +80,32 @@ On Windows the environment variable is set using the `set` command.
 set DEBUG=*,-not_this
 ```
 
-Note that PowerShell uses different syntax to set environment variables.
+Example:
+
+```cmd
+set DEBUG=* & node app.js
+```
+
+##### PowerShell (VS Code default)
+
+PowerShell uses different syntax to set environment variables.
 
 ```cmd
 $env:DEBUG = "*,-not_this"
 ```
 
+Example:
+
+```cmd
+$env:DEBUG='app';node app.js
+```
+
 Then, run the program to be debugged as usual.
 
+npm script example:
+```js
+  "windowsDebug": "@powershell -Command $env:DEBUG='*';node app.js",
+```
 
 ## Namespace Colors
 
@@ -248,6 +268,73 @@ error('now goes to stdout via console.info');
 log('still goes to stdout, but via console.info now');
 ```
 
+## Extend
+You can simply extend debugger 
+```js
+const log = require('debug')('auth');
+
+//creates new debug instance with extended namespace
+const logSign = log.extend('sign');
+const logLogin = log.extend('login');
+
+log('hello'); // auth hello
+logSign('hello'); //auth:sign hello
+logLogin('hello'); //auth:login hello
+```
+
+## Set dynamically
+
+You can also enable debug dynamically by calling the `enable()` method :
+
+```js
+let debug = require('debug');
+
+console.log(1, debug.enabled('test'));
+
+debug.enable('test');
+console.log(2, debug.enabled('test'));
+
+debug.disable();
+console.log(3, debug.enabled('test'));
+
+```
+
+print :   
+```
+1 false
+2 true
+3 false
+```
+
+Usage :  
+`enable(namespaces)`  
+`namespaces` can include modes separated by a colon and wildcards.
+   
+Note that calling `enable()` completely overrides previously set DEBUG variable : 
+
+```
+$ DEBUG=foo node -e 'var dbg = require("debug"); dbg.enable("bar"); console.log(dbg.enabled("foo"))'
+=> false
+```
+
+`disable()`
+
+Will disable all namespaces. The functions returns the namespaces currently
+enabled (and skipped). This can be useful if you want to disable debugging
+temporarily without knowing what was enabled to begin with.
+
+For example:
+
+```js
+let debug = require('debug');
+debug.enable('foo:*,-foo:bar');
+let namespaces = debug.disable();
+debug.enable(namespaces);
+```
+
+Note: There is no guarantee that the string will be identical to the initial
+enable string, but semantically they will be identical.
+
 ## Checking whether a debug target is enabled
 
 After you've created a debug instance, you can determine whether or not it is

+ 0 - 70
node_modules/debug/karma.conf.js

@@ -1,70 +0,0 @@
-// Karma configuration
-// Generated on Fri Dec 16 2016 13:09:51 GMT+0000 (UTC)
-
-module.exports = function(config) {
-  config.set({
-
-    // base path that will be used to resolve all patterns (eg. files, exclude)
-    basePath: '',
-
-
-    // frameworks to use
-    // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
-    frameworks: ['mocha', 'chai', 'sinon'],
-
-
-    // list of files / patterns to load in the browser
-    files: [
-      'dist/debug.js',
-      'test/*spec.js'
-    ],
-
-
-    // list of files to exclude
-    exclude: [
-      'src/node.js'
-    ],
-
-
-    // preprocess matching files before serving them to the browser
-    // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
-    preprocessors: {
-    },
-
-    // test results reporter to use
-    // possible values: 'dots', 'progress'
-    // available reporters: https://npmjs.org/browse/keyword/karma-reporter
-    reporters: ['progress'],
-
-
-    // web server port
-    port: 9876,
-
-
-    // enable / disable colors in the output (reporters and logs)
-    colors: true,
-
-
-    // level of logging
-    // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
-    logLevel: config.LOG_INFO,
-
-
-    // enable / disable watching file and executing tests whenever any file changes
-    autoWatch: true,
-
-
-    // start these browsers
-    // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
-    browsers: ['PhantomJS'],
-
-
-    // Continuous Integration mode
-    // if true, Karma captures browsers, runs the tests and exits
-    singleRun: false,
-
-    // Concurrency level
-    // how many browser should be started simultaneous
-    concurrency: Infinity
-  })
-}

+ 0 - 1
node_modules/debug/node.js

@@ -1 +0,0 @@
-module.exports = require('./src/node');

+ 52 - 27
node_modules/debug/package.json

@@ -1,27 +1,33 @@
 {
-  "_from": "debug@=3.1.0",
-  "_id": "debug@3.1.0",
+  "_from": "debug@^4.1.0",
+  "_id": "debug@4.3.1",
   "_inBundle": false,
-  "_integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=",
+  "_integrity": "sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4=",
   "_location": "/debug",
   "_phantomChildren": {},
   "_requested": {
-    "type": "version",
+    "type": "range",
     "registry": true,
-    "raw": "debug@=3.1.0",
+    "raw": "debug@^4.1.0",
     "name": "debug",
     "escapedName": "debug",
-    "rawSpec": "=3.1.0",
+    "rawSpec": "^4.1.0",
     "saveSpec": null,
-    "fetchSpec": "=3.1.0"
+    "fetchSpec": "^4.1.0"
   },
   "_requiredBy": [
-    "/follow-redirects"
+    "/@babel/core",
+    "/@babel/helper-define-polyfill-provider",
+    "/@babel/traverse",
+    "/@vue/cli-service",
+    "/spdy",
+    "/spdy-transport",
+    "/webpack-dev-server"
   ],
-  "_resolved": "https://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz?cache=0&sync_timestamp=1607566533140&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.1.0.tgz",
-  "_shasum": "5bb5a0672628b64149566ba16819e61518c67261",
-  "_spec": "debug@=3.1.0",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\follow-redirects",
+  "_resolved": "https://registry.npm.taobao.org/debug/download/debug-4.3.1.tgz?cache=0&sync_timestamp=1607566580543&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.3.1.tgz",
+  "_shasum": "f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee",
+  "_spec": "debug@^4.1.0",
+  "_where": "G:\\Code\\myUnipp\\vue2-jsshq\\node_modules\\@babel\\core",
   "author": {
     "name": "TJ Holowaychuk",
     "email": "tj@vision-media.ca"
@@ -40,31 +46,38 @@
     {
       "name": "Andrew Rhyne",
       "email": "rhyneandrew@gmail.com"
+    },
+    {
+      "name": "Josh Junon",
+      "email": "josh@junon.me"
     }
   ],
   "dependencies": {
-    "ms": "2.0.0"
+    "ms": "2.1.2"
   },
   "deprecated": false,
   "description": "small debugging utility",
   "devDependencies": {
-    "browserify": "14.4.0",
-    "chai": "^3.5.0",
-    "concurrently": "^3.1.0",
-    "coveralls": "^2.11.15",
-    "eslint": "^3.12.1",
+    "brfs": "^2.0.1",
+    "browserify": "^16.2.3",
+    "coveralls": "^3.0.2",
     "istanbul": "^0.4.5",
-    "karma": "^1.3.0",
-    "karma-chai": "^0.1.0",
+    "karma": "^3.1.4",
+    "karma-browserify": "^6.0.0",
+    "karma-chrome-launcher": "^2.2.0",
     "karma-mocha": "^1.3.0",
-    "karma-phantomjs-launcher": "^1.0.2",
-    "karma-sinon": "^1.0.5",
-    "mocha": "^3.2.0",
+    "mocha": "^5.2.0",
     "mocha-lcov-reporter": "^1.2.0",
-    "rimraf": "^2.5.4",
-    "sinon": "^1.17.6",
-    "sinon-chai": "^2.8.0"
+    "xo": "^0.23.0"
   },
+  "engines": {
+    "node": ">=6.0"
+  },
+  "files": [
+    "src",
+    "LICENSE",
+    "README.md"
+  ],
   "homepage": "https://github.com/visionmedia/debug#readme",
   "keywords": [
     "debug",
@@ -74,9 +87,21 @@
   "license": "MIT",
   "main": "./src/index.js",
   "name": "debug",
+  "peerDependenciesMeta": {
+    "supports-color": {
+      "optional": true
+    }
+  },
   "repository": {
     "type": "git",
     "url": "git://github.com/visionmedia/debug.git"
   },
-  "version": "3.1.0"
+  "scripts": {
+    "lint": "xo",
+    "test": "npm run test:node && npm run test:browser && npm run lint",
+    "test:browser": "karma start --single-run",
+    "test:coverage": "cat ./coverage/lcov.info | coveralls",
+    "test:node": "istanbul cover _mocha -- test.js"
+  },
+  "version": "4.3.1"
 }

+ 194 - 120
node_modules/debug/src/browser.js

@@ -1,36 +1,106 @@
+/* eslint-env browser */
+
 /**
  * This is the web browser implementation of `debug()`.
- *
- * Expose `debug()` as the module.
  */
 
-exports = module.exports = require('./debug');
-exports.log = log;
 exports.formatArgs = formatArgs;
 exports.save = save;
 exports.load = load;
 exports.useColors = useColors;
-exports.storage = 'undefined' != typeof chrome
-               && 'undefined' != typeof chrome.storage
-                  ? chrome.storage.local
-                  : localstorage();
+exports.storage = localstorage();
+exports.destroy = (() => {
+	let warned = false;
+
+	return () => {
+		if (!warned) {
+			warned = true;
+			console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
+		}
+	};
+})();
 
 /**
  * Colors.
  */
 
 exports.colors = [
-  '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC',
-  '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF',
-  '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC',
-  '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF',
-  '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC',
-  '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033',
-  '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366',
-  '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933',
-  '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC',
-  '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF',
-  '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33'
+	'#0000CC',
+	'#0000FF',
+	'#0033CC',
+	'#0033FF',
+	'#0066CC',
+	'#0066FF',
+	'#0099CC',
+	'#0099FF',
+	'#00CC00',
+	'#00CC33',
+	'#00CC66',
+	'#00CC99',
+	'#00CCCC',
+	'#00CCFF',
+	'#3300CC',
+	'#3300FF',
+	'#3333CC',
+	'#3333FF',
+	'#3366CC',
+	'#3366FF',
+	'#3399CC',
+	'#3399FF',
+	'#33CC00',
+	'#33CC33',
+	'#33CC66',
+	'#33CC99',
+	'#33CCCC',
+	'#33CCFF',
+	'#6600CC',
+	'#6600FF',
+	'#6633CC',
+	'#6633FF',
+	'#66CC00',
+	'#66CC33',
+	'#9900CC',
+	'#9900FF',
+	'#9933CC',
+	'#9933FF',
+	'#99CC00',
+	'#99CC33',
+	'#CC0000',
+	'#CC0033',
+	'#CC0066',
+	'#CC0099',
+	'#CC00CC',
+	'#CC00FF',
+	'#CC3300',
+	'#CC3333',
+	'#CC3366',
+	'#CC3399',
+	'#CC33CC',
+	'#CC33FF',
+	'#CC6600',
+	'#CC6633',
+	'#CC9900',
+	'#CC9933',
+	'#CCCC00',
+	'#CCCC33',
+	'#FF0000',
+	'#FF0033',
+	'#FF0066',
+	'#FF0099',
+	'#FF00CC',
+	'#FF00FF',
+	'#FF3300',
+	'#FF3333',
+	'#FF3366',
+	'#FF3399',
+	'#FF33CC',
+	'#FF33FF',
+	'#FF6600',
+	'#FF6633',
+	'#FF9900',
+	'#FF9933',
+	'#FFCC00',
+	'#FFCC33'
 ];
 
 /**
@@ -41,43 +111,31 @@ exports.colors = [
  * TODO: add a `localStorage` variable to explicitly enable/disable colors
  */
 
+// eslint-disable-next-line complexity
 function useColors() {
-  // NB: In an Electron preload script, document will be defined but not fully
-  // initialized. Since we know we're in Chrome, we'll just detect this case
-  // explicitly
-  if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {
-    return true;
-  }
-
-  // Internet Explorer and Edge do not support colors.
-  if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
-    return false;
-  }
-
-  // is webkit? http://stackoverflow.com/a/16459606/376773
-  // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
-  return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||
-    // is firebug? http://stackoverflow.com/a/398120/376773
-    (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||
-    // is firefox >= v31?
-    // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
-    (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||
-    // double check webkit in userAgent just in case we are in a worker
-    (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/));
-}
+	// NB: In an Electron preload script, document will be defined but not fully
+	// initialized. Since we know we're in Chrome, we'll just detect this case
+	// explicitly
+	if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {
+		return true;
+	}
 
-/**
- * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
- */
-
-exports.formatters.j = function(v) {
-  try {
-    return JSON.stringify(v);
-  } catch (err) {
-    return '[UnexpectedJSONParseError]: ' + err.message;
-  }
-};
+	// Internet Explorer and Edge do not support colors.
+	if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
+		return false;
+	}
 
+	// Is webkit? http://stackoverflow.com/a/16459606/376773
+	// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
+	return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||
+		// Is firebug? http://stackoverflow.com/a/398120/376773
+		(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||
+		// Is firefox >= v31?
+		// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
+		(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||
+		// Double check webkit in userAgent just in case we are in a worker
+		(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/));
+}
 
 /**
  * Colorize log arguments if enabled.
@@ -86,52 +144,49 @@ exports.formatters.j = function(v) {
  */
 
 function formatArgs(args) {
-  var useColors = this.useColors;
-
-  args[0] = (useColors ? '%c' : '')
-    + this.namespace
-    + (useColors ? ' %c' : ' ')
-    + args[0]
-    + (useColors ? '%c ' : ' ')
-    + '+' + exports.humanize(this.diff);
-
-  if (!useColors) return;
-
-  var c = 'color: ' + this.color;
-  args.splice(1, 0, c, 'color: inherit')
-
-  // the final "%c" is somewhat tricky, because there could be other
-  // arguments passed either before or after the %c, so we need to
-  // figure out the correct index to insert the CSS into
-  var index = 0;
-  var lastC = 0;
-  args[0].replace(/%[a-zA-Z%]/g, function(match) {
-    if ('%%' === match) return;
-    index++;
-    if ('%c' === match) {
-      // we only are interested in the *last* %c
-      // (the user may have provided their own)
-      lastC = index;
-    }
-  });
-
-  args.splice(lastC, 0, c);
+	args[0] = (this.useColors ? '%c' : '') +
+		this.namespace +
+		(this.useColors ? ' %c' : ' ') +
+		args[0] +
+		(this.useColors ? '%c ' : ' ') +
+		'+' + module.exports.humanize(this.diff);
+
+	if (!this.useColors) {
+		return;
+	}
+
+	const c = 'color: ' + this.color;
+	args.splice(1, 0, c, 'color: inherit');
+
+	// The final "%c" is somewhat tricky, because there could be other
+	// arguments passed either before or after the %c, so we need to
+	// figure out the correct index to insert the CSS into
+	let index = 0;
+	let lastC = 0;
+	args[0].replace(/%[a-zA-Z%]/g, match => {
+		if (match === '%%') {
+			return;
+		}
+		index++;
+		if (match === '%c') {
+			// We only are interested in the *last* %c
+			// (the user may have provided their own)
+			lastC = index;
+		}
+	});
+
+	args.splice(lastC, 0, c);
 }
 
 /**
- * Invokes `console.log()` when available.
- * No-op when `console.log` is not a "function".
+ * Invokes `console.debug()` when available.
+ * No-op when `console.debug` is not a "function".
+ * If `console.debug` is not available, falls back
+ * to `console.log`.
  *
  * @api public
  */
-
-function log() {
-  // this hackery is required for IE8/9, where
-  // the `console.log` function doesn't have 'apply'
-  return 'object' === typeof console
-    && console.log
-    && Function.prototype.apply.call(console.log, console, arguments);
-}
+exports.log = console.debug || console.log || (() => {});
 
 /**
  * Save `namespaces`.
@@ -139,15 +194,17 @@ function log() {
  * @param {String} namespaces
  * @api private
  */
-
 function save(namespaces) {
-  try {
-    if (null == namespaces) {
-      exports.storage.removeItem('debug');
-    } else {
-      exports.storage.debug = namespaces;
-    }
-  } catch(e) {}
+	try {
+		if (namespaces) {
+			exports.storage.setItem('debug', namespaces);
+		} else {
+			exports.storage.removeItem('debug');
+		}
+	} catch (error) {
+		// Swallow
+		// XXX (@Qix-) should we be logging these?
+	}
 }
 
 /**
@@ -156,27 +213,23 @@ function save(namespaces) {
  * @return {String} returns the previously persisted debug modes
  * @api private
  */
-
 function load() {
-  var r;
-  try {
-    r = exports.storage.debug;
-  } catch(e) {}
+	let r;
+	try {
+		r = exports.storage.getItem('debug');
+	} catch (error) {
+		// Swallow
+		// XXX (@Qix-) should we be logging these?
+	}
 
-  // If debug isn't set in LS, and we're in Electron, try to load $DEBUG
-  if (!r && typeof process !== 'undefined' && 'env' in process) {
-    r = process.env.DEBUG;
-  }
+	// If debug isn't set in LS, and we're in Electron, try to load $DEBUG
+	if (!r && typeof process !== 'undefined' && 'env' in process) {
+		r = process.env.DEBUG;
+	}
 
-  return r;
+	return r;
 }
 
-/**
- * Enable namespaces listed in `localStorage.debug` initially.
- */
-
-exports.enable(load());
-
 /**
  * Localstorage attempts to return the localstorage.
  *
@@ -189,7 +242,28 @@ exports.enable(load());
  */
 
 function localstorage() {
-  try {
-    return window.localStorage;
-  } catch (e) {}
+	try {
+		// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context
+		// The Browser also has localStorage in the global context.
+		return localStorage;
+	} catch (error) {
+		// Swallow
+		// XXX (@Qix-) should we be logging these?
+	}
 }
+
+module.exports = require('./common')(exports);
+
+const {formatters} = module.exports;
+
+/**
+ * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
+ */
+
+formatters.j = function (v) {
+	try {
+		return JSON.stringify(v);
+	} catch (error) {
+		return '[UnexpectedJSONParseError]: ' + error.message;
+	}
+};

+ 0 - 225
node_modules/debug/src/debug.js

@@ -1,225 +0,0 @@
-
-/**
- * This is the common logic for both the Node.js and web browser
- * implementations of `debug()`.
- *
- * Expose `debug()` as the module.
- */
-
-exports = module.exports = createDebug.debug = createDebug['default'] = createDebug;
-exports.coerce = coerce;
-exports.disable = disable;
-exports.enable = enable;
-exports.enabled = enabled;
-exports.humanize = require('ms');
-
-/**
- * Active `debug` instances.
- */
-exports.instances = [];
-
-/**
- * The currently active debug mode names, and names to skip.
- */
-
-exports.names = [];
-exports.skips = [];
-
-/**
- * Map of special "%n" handling functions, for the debug "format" argument.
- *
- * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N".
- */
-
-exports.formatters = {};
-
-/**
- * Select a color.
- * @param {String} namespace
- * @return {Number}
- * @api private
- */
-
-function selectColor(namespace) {
-  var hash = 0, i;
-
-  for (i in namespace) {
-    hash  = ((hash << 5) - hash) + namespace.charCodeAt(i);
-    hash |= 0; // Convert to 32bit integer
-  }
-
-  return exports.colors[Math.abs(hash) % exports.colors.length];
-}
-
-/**
- * Create a debugger with the given `namespace`.
- *
- * @param {String} namespace
- * @return {Function}
- * @api public
- */
-
-function createDebug(namespace) {
-
-  var prevTime;
-
-  function debug() {
-    // disabled?
-    if (!debug.enabled) return;
-
-    var self = debug;
-
-    // set `diff` timestamp
-    var curr = +new Date();
-    var ms = curr - (prevTime || curr);
-    self.diff = ms;
-    self.prev = prevTime;
-    self.curr = curr;
-    prevTime = curr;
-
-    // turn the `arguments` into a proper Array
-    var args = new Array(arguments.length);
-    for (var i = 0; i < args.length; i++) {
-      args[i] = arguments[i];
-    }
-
-    args[0] = exports.coerce(args[0]);
-
-    if ('string' !== typeof args[0]) {
-      // anything else let's inspect with %O
-      args.unshift('%O');
-    }
-
-    // apply any `formatters` transformations
-    var index = 0;
-    args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {
-      // if we encounter an escaped % then don't increase the array index
-      if (match === '%%') return match;
-      index++;
-      var formatter = exports.formatters[format];
-      if ('function' === typeof formatter) {
-        var val = args[index];
-        match = formatter.call(self, val);
-
-        // now we need to remove `args[index]` since it's inlined in the `format`
-        args.splice(index, 1);
-        index--;
-      }
-      return match;
-    });
-
-    // apply env-specific formatting (colors, etc.)
-    exports.formatArgs.call(self, args);
-
-    var logFn = debug.log || exports.log || console.log.bind(console);
-    logFn.apply(self, args);
-  }
-
-  debug.namespace = namespace;
-  debug.enabled = exports.enabled(namespace);
-  debug.useColors = exports.useColors();
-  debug.color = selectColor(namespace);
-  debug.destroy = destroy;
-
-  // env-specific initialization logic for debug instances
-  if ('function' === typeof exports.init) {
-    exports.init(debug);
-  }
-
-  exports.instances.push(debug);
-
-  return debug;
-}
-
-function destroy () {
-  var index = exports.instances.indexOf(this);
-  if (index !== -1) {
-    exports.instances.splice(index, 1);
-    return true;
-  } else {
-    return false;
-  }
-}
-
-/**
- * Enables a debug mode by namespaces. This can include modes
- * separated by a colon and wildcards.
- *
- * @param {String} namespaces
- * @api public
- */
-
-function enable(namespaces) {
-  exports.save(namespaces);
-
-  exports.names = [];
-  exports.skips = [];
-
-  var i;
-  var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
-  var len = split.length;
-
-  for (i = 0; i < len; i++) {
-    if (!split[i]) continue; // ignore empty strings
-    namespaces = split[i].replace(/\*/g, '.*?');
-    if (namespaces[0] === '-') {
-      exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));
-    } else {
-      exports.names.push(new RegExp('^' + namespaces + '$'));
-    }
-  }
-
-  for (i = 0; i < exports.instances.length; i++) {
-    var instance = exports.instances[i];
-    instance.enabled = exports.enabled(instance.namespace);
-  }
-}
-
-/**
- * Disable debug output.
- *
- * @api public
- */
-
-function disable() {
-  exports.enable('');
-}
-
-/**
- * Returns true if the given mode name is enabled, false otherwise.
- *
- * @param {String} name
- * @return {Boolean}
- * @api public
- */
-
-function enabled(name) {
-  if (name[name.length - 1] === '*') {
-    return true;
-  }
-  var i, len;
-  for (i = 0, len = exports.skips.length; i < len; i++) {
-    if (exports.skips[i].test(name)) {
-      return false;
-    }
-  }
-  for (i = 0, len = exports.names.length; i < len; i++) {
-    if (exports.names[i].test(name)) {
-      return true;
-    }
-  }
-  return false;
-}
-
-/**
- * Coerce `val`.
- *
- * @param {Mixed} val
- * @return {Mixed}
- * @api private
- */
-
-function coerce(val) {
-  if (val instanceof Error) return val.stack || val.message;
-  return val;
-}

+ 4 - 4
node_modules/debug/src/index.js

@@ -1,10 +1,10 @@
 /**
- * Detect Electron renderer process, which is node, but we should
+ * Detect Electron renderer / nwjs process, which is node, but we should
  * treat as a browser.
  */
 
-if (typeof process === 'undefined' || process.type === 'renderer') {
-  module.exports = require('./browser.js');
+if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {
+	module.exports = require('./browser.js');
 } else {
-  module.exports = require('./node.js');
+	module.exports = require('./node.js');
 }

+ 174 - 97
node_modules/debug/src/node.js

@@ -2,42 +2,117 @@
  * Module dependencies.
  */
 
-var tty = require('tty');
-var util = require('util');
+const tty = require('tty');
+const util = require('util');
 
 /**
  * This is the Node.js implementation of `debug()`.
- *
- * Expose `debug()` as the module.
  */
 
-exports = module.exports = require('./debug');
 exports.init = init;
 exports.log = log;
 exports.formatArgs = formatArgs;
 exports.save = save;
 exports.load = load;
 exports.useColors = useColors;
+exports.destroy = util.deprecate(
+	() => {},
+	'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'
+);
 
 /**
  * Colors.
  */
 
-exports.colors = [ 6, 2, 3, 4, 5, 1 ];
+exports.colors = [6, 2, 3, 4, 5, 1];
 
 try {
-  var supportsColor = require('supports-color');
-  if (supportsColor && supportsColor.level >= 2) {
-    exports.colors = [
-      20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68,
-      69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134,
-      135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
-      172, 173, 178, 179, 184, 185, 196, 197, 198, 199, 200, 201, 202, 203, 204,
-      205, 206, 207, 208, 209, 214, 215, 220, 221
-    ];
-  }
-} catch (err) {
-  // swallow - we only care if `supports-color` is available; it doesn't have to be.
+	// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)
+	// eslint-disable-next-line import/no-extraneous-dependencies
+	const supportsColor = require('supports-color');
+
+	if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
+		exports.colors = [
+			20,
+			21,
+			26,
+			27,
+			32,
+			33,
+			38,
+			39,
+			40,
+			41,
+			42,
+			43,
+			44,
+			45,
+			56,
+			57,
+			62,
+			63,
+			68,
+			69,
+			74,
+			75,
+			76,
+			77,
+			78,
+			79,
+			80,
+			81,
+			92,
+			93,
+			98,
+			99,
+			112,
+			113,
+			128,
+			129,
+			134,
+			135,
+			148,
+			149,
+			160,
+			161,
+			162,
+			163,
+			164,
+			165,
+			166,
+			167,
+			168,
+			169,
+			170,
+			171,
+			172,
+			173,
+			178,
+			179,
+			184,
+			185,
+			196,
+			197,
+			198,
+			199,
+			200,
+			201,
+			202,
+			203,
+			204,
+			205,
+			206,
+			207,
+			208,
+			209,
+			214,
+			215,
+			220,
+			221
+		];
+	}
+} catch (error) {
+	// Swallow - we only care if `supports-color` is available; it doesn't have to be.
 }
 
 /**
@@ -46,24 +121,31 @@ try {
  *   $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js
  */
 
-exports.inspectOpts = Object.keys(process.env).filter(function (key) {
-  return /^debug_/i.test(key);
-}).reduce(function (obj, key) {
-  // camel-case
-  var prop = key
-    .substring(6)
-    .toLowerCase()
-    .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() });
-
-  // coerce string value into JS value
-  var val = process.env[key];
-  if (/^(yes|on|true|enabled)$/i.test(val)) val = true;
-  else if (/^(no|off|false|disabled)$/i.test(val)) val = false;
-  else if (val === 'null') val = null;
-  else val = Number(val);
-
-  obj[prop] = val;
-  return obj;
+exports.inspectOpts = Object.keys(process.env).filter(key => {
+	return /^debug_/i.test(key);
+}).reduce((obj, key) => {
+	// Camel-case
+	const prop = key
+		.substring(6)
+		.toLowerCase()
+		.replace(/_([a-z])/g, (_, k) => {
+			return k.toUpperCase();
+		});
+
+	// Coerce string value into JS value
+	let val = process.env[key];
+	if (/^(yes|on|true|enabled)$/i.test(val)) {
+		val = true;
+	} else if (/^(no|off|false|disabled)$/i.test(val)) {
+		val = false;
+	} else if (val === 'null') {
+		val = null;
+	} else {
+		val = Number(val);
+	}
+
+	obj[prop] = val;
+	return obj;
 }, {});
 
 /**
@@ -71,32 +153,11 @@ exports.inspectOpts = Object.keys(process.env).filter(function (key) {
  */
 
 function useColors() {
-  return 'colors' in exports.inspectOpts
-    ? Boolean(exports.inspectOpts.colors)
-    : tty.isatty(process.stderr.fd);
+	return 'colors' in exports.inspectOpts ?
+		Boolean(exports.inspectOpts.colors) :
+		tty.isatty(process.stderr.fd);
 }
 
-/**
- * Map %o to `util.inspect()`, all on a single line.
- */
-
-exports.formatters.o = function(v) {
-  this.inspectOpts.colors = this.useColors;
-  return util.inspect(v, this.inspectOpts)
-    .split('\n').map(function(str) {
-      return str.trim()
-    }).join(' ');
-};
-
-/**
- * Map %o to `util.inspect()`, allowing multiple lines if needed.
- */
-
-exports.formatters.O = function(v) {
-  this.inspectOpts.colors = this.useColors;
-  return util.inspect(v, this.inspectOpts);
-};
-
 /**
  * Adds ANSI color escape codes if enabled.
  *
@@ -104,35 +165,33 @@ exports.formatters.O = function(v) {
  */
 
 function formatArgs(args) {
-  var name = this.namespace;
-  var useColors = this.useColors;
-
-  if (useColors) {
-    var c = this.color;
-    var colorCode = '\u001b[3' + (c < 8 ? c : '8;5;' + c);
-    var prefix = '  ' + colorCode + ';1m' + name + ' ' + '\u001b[0m';
-
-    args[0] = prefix + args[0].split('\n').join('\n' + prefix);
-    args.push(colorCode + 'm+' + exports.humanize(this.diff) + '\u001b[0m');
-  } else {
-    args[0] = getDate() + name + ' ' + args[0];
-  }
+	const {namespace: name, useColors} = this;
+
+	if (useColors) {
+		const c = this.color;
+		const colorCode = '\u001B[3' + (c < 8 ? c : '8;5;' + c);
+		const prefix = `  ${colorCode};1m${name} \u001B[0m`;
+
+		args[0] = prefix + args[0].split('\n').join('\n' + prefix);
+		args.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\u001B[0m');
+	} else {
+		args[0] = getDate() + name + ' ' + args[0];
+	}
 }
 
 function getDate() {
-  if (exports.inspectOpts.hideDate) {
-    return '';
-  } else {
-    return new Date().toISOString() + ' ';
-  }
+	if (exports.inspectOpts.hideDate) {
+		return '';
+	}
+	return new Date().toISOString() + ' ';
 }
 
 /**
  * Invokes `util.format()` with the specified arguments and writes to stderr.
  */
 
-function log() {
-  return process.stderr.write(util.format.apply(util, arguments) + '\n');
+function log(...args) {
+	return process.stderr.write(util.format(...args) + '\n');
 }
 
 /**
@@ -141,15 +200,14 @@ function log() {
  * @param {String} namespaces
  * @api private
  */
-
 function save(namespaces) {
-  if (null == namespaces) {
-    // If you set a process.env field to null or undefined, it gets cast to the
-    // string 'null' or 'undefined'. Just delete instead.
-    delete process.env.DEBUG;
-  } else {
-    process.env.DEBUG = namespaces;
-  }
+	if (namespaces) {
+		process.env.DEBUG = namespaces;
+	} else {
+		// If you set a process.env field to null or undefined, it gets cast to the
+		// string 'null' or 'undefined'. Just delete instead.
+		delete process.env.DEBUG;
+	}
 }
 
 /**
@@ -160,7 +218,7 @@ function save(namespaces) {
  */
 
 function load() {
-  return process.env.DEBUG;
+	return process.env.DEBUG;
 }
 
 /**
@@ -170,17 +228,36 @@ function load() {
  * differently for a particular `debug` instance.
  */
 
-function init (debug) {
-  debug.inspectOpts = {};
+function init(debug) {
+	debug.inspectOpts = {};
 
-  var keys = Object.keys(exports.inspectOpts);
-  for (var i = 0; i < keys.length; i++) {
-    debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];
-  }
+	const keys = Object.keys(exports.inspectOpts);
+	for (let i = 0; i < keys.length; i++) {
+		debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];
+	}
 }
 
+module.exports = require('./common')(exports);
+
+const {formatters} = module.exports;
+
 /**
- * Enable namespaces listed in `process.env.DEBUG` initially.
+ * Map %o to `util.inspect()`, all on a single line.
  */
 
-exports.enable(load());
+formatters.o = function (v) {
+	this.inspectOpts.colors = this.useColors;
+	return util.inspect(v, this.inspectOpts)
+		.split('\n')
+		.map(str => str.trim())
+		.join(' ');
+};
+
+/**
+ * Map %O to `util.inspect()`, allowing multiple lines if needed.
+ */
+
+formatters.O = function (v) {
+	this.inspectOpts.colors = this.useColors;
+	return util.inspect(v, this.inspectOpts);
+};

+ 3 - 3
node_modules/decamelize/package.json

@@ -16,12 +16,12 @@
     "fetchSpec": "^1.2.0"
   },
   "_requiredBy": [
-    "/yargs-parser"
+    "/webpack-dev-server/yargs-parser"
   ],
-  "_resolved": "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz?cache=0&sync_timestamp=1610348706789&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdecamelize%2Fdownload%2Fdecamelize-1.2.0.tgz",
+  "_resolved": "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz?cache=0&sync_timestamp=1610348634503&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdecamelize%2Fdownload%2Fdecamelize-1.2.0.tgz",
   "_shasum": "f6534d15148269b20352e7bee26f501f9a191290",
   "_spec": "decamelize@^1.2.0",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\yargs-parser",
+  "_where": "G:\\Code\\myUnipp\\vue2-jsshq\\node_modules\\webpack-dev-server\\node_modules\\yargs-parser",
   "author": {
     "name": "Sindre Sorhus",
     "email": "sindresorhus@gmail.com",

+ 0 - 1
node_modules/dijkstrajs/.npmignore

@@ -1 +0,0 @@
-node_modules

+ 0 - 4
node_modules/dijkstrajs/README.md

@@ -1,9 +1,5 @@
 # dijkstrajs.js
 
-[![NPM](https://nodei.co/npm/dijkstrajs.png)](https://nodei.co/npm/dijkstrajs/)
-
-[![Build Status](https://api.travis-ci.org/tcort/dijkstrajs.png?branch=master)](http://travis-ci.org/tcort/dijkstrajs)
-
 dijkstrajs is a simple JavaScript implementation of Dijkstra's single-source shortest-paths algorithm.
 
 The code was originally written by Wyatt Baldwin and turned into a node module by Thomas Cort.

+ 8 - 8
node_modules/dijkstrajs/package.json

@@ -1,8 +1,8 @@
 {
   "_from": "dijkstrajs@^1.0.1",
-  "_id": "dijkstrajs@1.0.1",
+  "_id": "dijkstrajs@1.0.2",
   "_inBundle": false,
-  "_integrity": "sha1-082BIh4+pAdCz83lVtTpnpjdxxs=",
+  "_integrity": "sha1-LkjA07glRir+datK1egpyOzjYlc=",
   "_location": "/dijkstrajs",
   "_phantomChildren": {},
   "_requested": {
@@ -18,10 +18,10 @@
   "_requiredBy": [
     "/qrcode"
   ],
-  "_resolved": "https://registry.nlark.com/dijkstrajs/download/dijkstrajs-1.0.1.tgz",
-  "_shasum": "d3cd81221e3ea40742cfcde556d4e99e98ddc71b",
+  "_resolved": "https://registry.nlark.com/dijkstrajs/download/dijkstrajs-1.0.2.tgz",
+  "_shasum": "2e48c0d3b825462afe75ab4ad5e829c8ece36257",
   "_spec": "dijkstrajs@^1.0.1",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\qrcode",
+  "_where": "F:\\uniapp\\vue2-jsshq\\node_modules\\qrcode",
   "bugs": {
     "url": "https://github.com/tcort/dijkstrajs/issues"
   },
@@ -30,8 +30,8 @@
   "description": "A simple JavaScript implementation of Dijkstra's single-source shortest-paths algorithm.",
   "devDependencies": {
     "expect.js": "^0.3.1",
-    "jshint": "^2.8.0",
-    "mocha": "^2.3.3"
+    "jshint": "^2.12.0",
+    "mocha": "^8.4.0"
   },
   "homepage": "https://github.com/tcort/dijkstrajs",
   "jshintConfig": {
@@ -81,5 +81,5 @@
     "pretest": "jshint dijkstra.js",
     "test": "mocha -R spec"
   },
-  "version": "1.0.1"
+  "version": "1.0.2"
 }

+ 1 - 1
node_modules/emoji-regex/README.md

@@ -2,7 +2,7 @@
 
 _emoji-regex_ offers a regular expression to match all emoji symbols (including textual representations of emoji) as per the Unicode Standard.
 
-This repository contains a script that generates this regular expression based on [the data from Unicode Technical Report #51](https://github.com/mathiasbynens/unicode-tr51). Because of this, the regular expression can easily be updated whenever new emoji are added to the Unicode standard.
+This repository contains a script that generates this regular expression based on [the data from Unicode v12](https://github.com/mathiasbynens/unicode-12.0.0). Because of this, the regular expression can easily be updated whenever new emoji are added to the Unicode standard.
 
 ## Installation
 

文件差異過大導致無法顯示
+ 0 - 0
node_modules/emoji-regex/es2015/index.js


文件差異過大導致無法顯示
+ 0 - 0
node_modules/emoji-regex/es2015/text.js


+ 18 - 0
node_modules/emoji-regex/index.d.ts

@@ -3,3 +3,21 @@ declare module 'emoji-regex' {
 
     export default emojiRegex;
 }
+
+declare module 'emoji-regex/text' {
+    function emojiRegex(): RegExp;
+
+    export default emojiRegex;
+}
+
+declare module 'emoji-regex/es2015' {
+    function emojiRegex(): RegExp;
+
+    export default emojiRegex;
+}
+
+declare module 'emoji-regex/es2015/text' {
+    function emojiRegex(): RegExp;
+
+    export default emojiRegex;
+}

文件差異過大導致無法顯示
+ 0 - 0
node_modules/emoji-regex/index.js


+ 20 - 19
node_modules/emoji-regex/package.json

@@ -1,27 +1,29 @@
 {
-  "_from": "emoji-regex@^7.0.1",
-  "_id": "emoji-regex@7.0.3",
+  "_from": "emoji-regex@^8.0.0",
+  "_id": "emoji-regex@8.0.0",
   "_inBundle": false,
-  "_integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=",
+  "_integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=",
   "_location": "/emoji-regex",
   "_phantomChildren": {},
   "_requested": {
     "type": "range",
     "registry": true,
-    "raw": "emoji-regex@^7.0.1",
+    "raw": "emoji-regex@^8.0.0",
     "name": "emoji-regex",
     "escapedName": "emoji-regex",
-    "rawSpec": "^7.0.1",
+    "rawSpec": "^8.0.0",
     "saveSpec": null,
-    "fetchSpec": "^7.0.1"
+    "fetchSpec": "^8.0.0"
   },
   "_requiredBy": [
-    "/string-width"
+    "/cliui/string-width",
+    "/wrap-ansi/string-width",
+    "/yargs/string-width"
   ],
-  "_resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz?cache=0&sync_timestamp=1614682707048&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-7.0.3.tgz",
-  "_shasum": "933a04052860c85e83c122479c4748a8e4c72156",
-  "_spec": "emoji-regex@^7.0.1",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\string-width",
+  "_resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz?cache=0&sync_timestamp=1614682707048&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-8.0.0.tgz",
+  "_shasum": "e818fd69ce5ccfcb404594f842963bf53164cc37",
+  "_spec": "emoji-regex@^8.0.0",
+  "_where": "G:\\Code\\myUnipp\\vue2-jsshq\\node_modules\\yargs\\node_modules\\string-width",
   "author": {
     "name": "Mathias Bynens",
     "url": "https://mathiasbynens.be/"
@@ -33,14 +35,13 @@
   "deprecated": false,
   "description": "A regular expression to match all Emoji-only symbols as per the Unicode Standard.",
   "devDependencies": {
-    "@babel/cli": "^7.0.0",
-    "@babel/core": "^7.0.0",
-    "@babel/plugin-proposal-unicode-property-regex": "^7.0.0",
-    "@babel/preset-env": "^7.0.0",
-    "mocha": "^5.2.0",
+    "@babel/cli": "^7.2.3",
+    "@babel/core": "^7.3.4",
+    "@babel/plugin-proposal-unicode-property-regex": "^7.2.0",
+    "@babel/preset-env": "^7.3.4",
+    "mocha": "^6.0.2",
     "regexgen": "^1.3.0",
-    "unicode-11.0.0": "^0.7.7",
-    "unicode-tr51": "^9.0.1"
+    "unicode-12.0.0": "^0.7.9"
   },
   "files": [
     "LICENSE-MIT.txt",
@@ -74,5 +75,5 @@
     "test:watch": "npm run test -- --watch"
   },
   "types": "index.d.ts",
-  "version": "7.0.3"
+  "version": "8.0.0"
 }

文件差異過大導致無法顯示
+ 0 - 0
node_modules/emoji-regex/text.js


+ 3 - 2
node_modules/find-up/package.json

@@ -16,12 +16,13 @@
     "fetchSpec": "^3.0.0"
   },
   "_requiredBy": [
-    "/yargs"
+    "/pkg-dir",
+    "/webpack-dev-server/yargs"
   ],
   "_resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1597169842138&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz",
   "_shasum": "49169f1d7993430646da61ecc5ae355c21c97b73",
   "_spec": "find-up@^3.0.0",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\yargs",
+  "_where": "G:\\Code\\myUnipp\\vue2-jsshq\\node_modules\\pkg-dir",
   "author": {
     "name": "Sindre Sorhus",
     "email": "sindresorhus@gmail.com",

+ 38 - 45
node_modules/follow-redirects/README.md

@@ -1,26 +1,25 @@
 ## Follow Redirects
 
-Drop-in replacement for Nodes `http` and `https` that automatically follows redirects.
+Drop-in replacement for Node's `http` and `https` modules that automatically follows redirects.
 
 [![npm version](https://img.shields.io/npm/v/follow-redirects.svg)](https://www.npmjs.com/package/follow-redirects)
-[![Build Status](https://travis-ci.org/follow-redirects/follow-redirects.svg?branch=master)](https://travis-ci.org/follow-redirects/follow-redirects)
+[![Build Status](https://github.com/follow-redirects/follow-redirects/workflows/CI/badge.svg)](https://github.com/follow-redirects/follow-redirects/actions)
 [![Coverage Status](https://coveralls.io/repos/follow-redirects/follow-redirects/badge.svg?branch=master)](https://coveralls.io/r/follow-redirects/follow-redirects?branch=master)
-[![Dependency Status](https://david-dm.org/follow-redirects/follow-redirects.svg)](https://david-dm.org/follow-redirects/follow-redirects)
 [![npm downloads](https://img.shields.io/npm/dm/follow-redirects.svg)](https://www.npmjs.com/package/follow-redirects)
+[![Sponsor on GitHub](https://img.shields.io/static/v1?label=Sponsor&message=%F0%9F%92%96&logo=GitHub)](https://github.com/sponsors/RubenVerborgh)
 
 `follow-redirects` provides [request](https://nodejs.org/api/http.html#http_http_request_options_callback) and [get](https://nodejs.org/api/http.html#http_http_get_options_callback)
  methods that behave identically to those found on the native [http](https://nodejs.org/api/http.html#http_http_request_options_callback) and [https](https://nodejs.org/api/https.html#https_https_request_options_callback)
  modules, with the exception that they will seamlessly follow redirects.
 
 ```javascript
-var http = require('follow-redirects').http;
-var https = require('follow-redirects').https;
+const { http, https } = require('follow-redirects');
 
-http.get('http://bit.ly/900913', function (response) {
-  response.on('data', function (chunk) {
+http.get('http://bit.ly/900913', response => {
+  response.on('data', chunk => {
     console.log(chunk);
   });
-}).on('error', function (err) {
+}).on('error', err => {
   console.error(err);
 });
 ```
@@ -29,13 +28,14 @@ You can inspect the final redirected URL through the `responseUrl` property on t
 If no redirection happened, `responseUrl` is the original request URL.
 
 ```javascript
-https.request({
+const request = https.request({
   host: 'bitly.com',
   path: '/UHfDGO',
-}, function (response) {
+}, response => {
   console.log(response.responseUrl);
   // 'http://duckduckgo.com/robots.txt'
 });
+request.end();
 ```
 
 ## Options
@@ -43,7 +43,7 @@ https.request({
 Global options are set directly on the `follow-redirects` module:
 
 ```javascript
-var followRedirects = require('follow-redirects');
+const followRedirects = require('follow-redirects');
 followRedirects.maxRedirects = 10;
 followRedirects.maxBodyLength = 20 * 1024 * 1024; // 20 MB
 ```
@@ -54,16 +54,23 @@ The following global options are supported:
 
 - `maxBodyLength` (default: 10MB) – sets the maximum size of the request body; if exceeded, an error will be emitted.
 
-
 ### Per-request options
 Per-request options are set by passing an `options` object:
 
 ```javascript
-var url = require('url');
-var followRedirects = require('follow-redirects');
+const url = require('url');
+const { http, https } = require('follow-redirects');
 
-var options = url.parse('http://bit.ly/900913');
+const options = url.parse('http://bit.ly/900913');
 options.maxRedirects = 10;
+options.beforeRedirect = (options, { headers }) => {
+  // Use this to adjust the request options upon redirecting,
+  // to inspect the latest response headers,
+  // or to cancel the request by throwing an error
+  if (options.hostname === "example.com") {
+    options.auth = "user:password";
+  }
+};
 http.request(options);
 ```
 
@@ -75,6 +82,8 @@ the following per-request options are supported:
 
 - `maxBodyLength` (default: 10MB) – sets the maximum size of the request body; if exceeded, an error will be emitted.
 
+- `beforeRedirect` (default: `undefined`) – optionally change the request `options` on redirects, or abort the request by throwing an error.
+
 - `agents` (default: `undefined`) – sets the `agent` option per protocol, since HTTP and HTTPS use different agents. Example value: `{ http: new http.Agent(), https: new https.Agent() }`
 
 - `trackRedirects` (default: `false`) – whether to store the redirected response details into the `redirects` array on the response object.
@@ -88,7 +97,7 @@ To enable features such as caching and/or intermediate request tracking,
 you might instead want to wrap `follow-redirects` around custom protocol implementations:
 
 ```javascript
-var followRedirects = require('follow-redirects').wrap({
+const { http, https } = require('follow-redirects').wrap({
   http: require('your-custom-http'),
   https: require('your-custom-https'),
 });
@@ -96,42 +105,26 @@ var followRedirects = require('follow-redirects').wrap({
 
 Such custom protocols only need an implementation of the `request` method.
 
-## Browserify Usage
+## Browser Usage
 
-Due to the way `XMLHttpRequest` works, the `browserify` versions of `http` and `https` already follow redirects.
- If you are *only* targeting the browser, then this library has little value for you. If you want to write cross
- platform code for node and the browser, `follow-redirects` provides a great solution for making the native node
- modules behave the same as they do in browserified builds in the browser. To avoid bundling unnecessary code
- you should tell browserify to swap out `follow-redirects` with the standard modules when bundling.
- To make this easier, you need to change how you require the modules:
+Due to the way the browser works,
+the `http` and `https` browser equivalents perform redirects by default.
 
+By requiring `follow-redirects` this way:
 ```javascript
-var http = require('follow-redirects/http');
-var https = require('follow-redirects/https');
+const http = require('follow-redirects/http');
+const https = require('follow-redirects/https');
 ```
+you can easily tell webpack and friends to replace
+`follow-redirect` by the built-in versions:
 
-You can then replace `follow-redirects` in your browserify configuration like so:
-
-```javascript
-"browser": {
+```json
+{
   "follow-redirects/http"  : "http",
   "follow-redirects/https" : "https"
 }
 ```
 
-The `browserify-http` module has not kept pace with node development, and no long behaves identically to the native
- module when running in the browser. If you are experiencing problems, you may want to check out
- [browserify-http-2](https://www.npmjs.com/package/http-browserify-2). It is more actively maintained and
- attempts to address a few of the shortcomings of `browserify-http`. In that case, your browserify config should
- look something like this:
-
-```javascript
-"browser": {
-  "follow-redirects/http"  : "browserify-http-2/http",
-  "follow-redirects/https" : "browserify-http-2/https"
-}
-```
-
 ## Contributing
 
 Pull Requests are always welcome. Please [file an issue](https://github.com/follow-redirects/follow-redirects/issues)
@@ -146,10 +139,10 @@ Pull Requests are always welcome. Please [file an issue](https://github.com/foll
 
 ## Authors
 
-- Olivier Lalonde (olalonde@gmail.com)
-- James Talmage (james@talmage.io)
 - [Ruben Verborgh](https://ruben.verborgh.org/)
+- [Olivier Lalonde](mailto:olalonde@gmail.com)
+- [James Talmage](mailto:james@talmage.io)
 
 ## License
 
-[https://github.com/follow-redirects/follow-redirects/blob/master/LICENSE](MIT License)
+[MIT License](https://github.com/follow-redirects/follow-redirects/blob/master/LICENSE)

+ 308 - 99
node_modules/follow-redirects/index.js

@@ -1,44 +1,51 @@
 var url = require("url");
+var URL = url.URL;
 var http = require("http");
 var https = require("https");
-var assert = require("assert");
 var Writable = require("stream").Writable;
-var debug = require("debug")("follow-redirects");
-
-// RFC7231§4.2.1: Of the request methods defined by this specification,
-// the GET, HEAD, OPTIONS, and TRACE methods are defined to be safe.
-var SAFE_METHODS = { GET: true, HEAD: true, OPTIONS: true, TRACE: true };
+var assert = require("assert");
+var debug = require("./debug");
 
 // Create handlers that pass events from native requests
+var events = ["abort", "aborted", "connect", "error", "socket", "timeout"];
 var eventHandlers = Object.create(null);
-["abort", "aborted", "error", "socket", "timeout"].forEach(function (event) {
-  eventHandlers[event] = function (arg) {
-    this._redirectable.emit(event, arg);
+events.forEach(function (event) {
+  eventHandlers[event] = function (arg1, arg2, arg3) {
+    this._redirectable.emit(event, arg1, arg2, arg3);
   };
 });
 
+// Error types with codes
+var RedirectionError = createErrorType(
+  "ERR_FR_REDIRECTION_FAILURE",
+  ""
+);
+var TooManyRedirectsError = createErrorType(
+  "ERR_FR_TOO_MANY_REDIRECTS",
+  "Maximum number of redirects exceeded"
+);
+var MaxBodyLengthExceededError = createErrorType(
+  "ERR_FR_MAX_BODY_LENGTH_EXCEEDED",
+  "Request body larger than maxBodyLength limit"
+);
+var WriteAfterEndError = createErrorType(
+  "ERR_STREAM_WRITE_AFTER_END",
+  "write after end"
+);
+
 // An HTTP(S) request that can be redirected
 function RedirectableRequest(options, responseCallback) {
   // Initialize the request
   Writable.call(this);
-  options.headers = options.headers || {};
+  this._sanitizeOptions(options);
   this._options = options;
+  this._ended = false;
+  this._ending = false;
   this._redirectCount = 0;
   this._redirects = [];
   this._requestBodyLength = 0;
   this._requestBodyBuffers = [];
 
-  // Since http.request treats host as an alias of hostname,
-  // but the url module interprets host as hostname plus port,
-  // eliminate the host property to avoid confusion.
-  if (options.host) {
-    // Use hostname if set, because it has precedence
-    if (!options.hostname) {
-      options.hostname = options.host;
-    }
-    delete options.host;
-  }
-
   // Attach a callback if passed
   if (responseCallback) {
     this.on("response", responseCallback);
@@ -50,28 +57,26 @@ function RedirectableRequest(options, responseCallback) {
     self._processResponse(response);
   };
 
-  // Complete the URL object when necessary
-  if (!options.pathname && options.path) {
-    var searchPos = options.path.indexOf("?");
-    if (searchPos < 0) {
-      options.pathname = options.path;
-    }
-    else {
-      options.pathname = options.path.substring(0, searchPos);
-      options.search = options.path.substring(searchPos);
-    }
-  }
-
   // Perform the first request
   this._performRequest();
 }
 RedirectableRequest.prototype = Object.create(Writable.prototype);
 
+RedirectableRequest.prototype.abort = function () {
+  abortRequest(this._currentRequest);
+  this.emit("abort");
+};
+
 // Writes buffered data to the current native request
 RedirectableRequest.prototype.write = function (data, encoding, callback) {
+  // Writing is not allowed if end has been called
+  if (this._ending) {
+    throw new WriteAfterEndError();
+  }
+
   // Validate input and shift parameters if necessary
   if (!(typeof data === "string" || typeof data === "object" && ("length" in data))) {
-    throw new Error("data should be a string, Buffer or Uint8Array");
+    throw new TypeError("data should be a string, Buffer or Uint8Array");
   }
   if (typeof encoding === "function") {
     callback = encoding;
@@ -94,7 +99,7 @@ RedirectableRequest.prototype.write = function (data, encoding, callback) {
   }
   // Error when we exceed the maximum body length
   else {
-    this.emit("error", new Error("Request body larger than maxBodyLength limit"));
+    this.emit("error", new MaxBodyLengthExceededError());
     this.abort();
   }
 };
@@ -111,11 +116,20 @@ RedirectableRequest.prototype.end = function (data, encoding, callback) {
     encoding = null;
   }
 
-  // Write data and end
-  var currentRequest = this._currentRequest;
-  this.write(data || "", encoding, function () {
-    currentRequest.end(null, null, callback);
-  });
+  // Write data if needed and end
+  if (!data) {
+    this._ended = this._ending = true;
+    this._currentRequest.end(null, null, callback);
+  }
+  else {
+    var self = this;
+    var currentRequest = this._currentRequest;
+    this.write(data, encoding, function () {
+      self._ended = true;
+      currentRequest.end(null, null, callback);
+    });
+    this._ending = true;
+  }
 };
 
 // Sets a header value on the current native request
@@ -130,10 +144,61 @@ RedirectableRequest.prototype.removeHeader = function (name) {
   this._currentRequest.removeHeader(name);
 };
 
+// Global timeout for all underlying requests
+RedirectableRequest.prototype.setTimeout = function (msecs, callback) {
+  var self = this;
+  if (callback) {
+    this.on("timeout", callback);
+  }
+
+  function destroyOnTimeout(socket) {
+    socket.setTimeout(msecs);
+    socket.removeListener("timeout", socket.destroy);
+    socket.addListener("timeout", socket.destroy);
+  }
+
+  // Sets up a timer to trigger a timeout event
+  function startTimer(socket) {
+    if (self._timeout) {
+      clearTimeout(self._timeout);
+    }
+    self._timeout = setTimeout(function () {
+      self.emit("timeout");
+      clearTimer();
+    }, msecs);
+    destroyOnTimeout(socket);
+  }
+
+  // Prevent a timeout from triggering
+  function clearTimer() {
+    clearTimeout(this._timeout);
+    if (callback) {
+      self.removeListener("timeout", callback);
+    }
+    if (!this.socket) {
+      self._currentRequest.removeListener("socket", startTimer);
+    }
+  }
+
+  // Start the timer when the socket is opened
+  if (this.socket) {
+    startTimer(this.socket);
+  }
+  else {
+    this._currentRequest.once("socket", startTimer);
+  }
+
+  this.on("socket", destroyOnTimeout);
+  this.once("response", clearTimer);
+  this.once("error", clearTimer);
+
+  return this;
+};
+
 // Proxy all other public ClientRequest methods
 [
-  "abort", "flushHeaders", "getHeader",
-  "setNoDelay", "setSocketKeepAlive", "setTimeout",
+  "flushHeaders", "getHeader",
+  "setNoDelay", "setSocketKeepAlive",
 ].forEach(function (method) {
   RedirectableRequest.prototype[method] = function (a, b) {
     return this._currentRequest[method](a, b);
@@ -147,13 +212,44 @@ RedirectableRequest.prototype.removeHeader = function (name) {
   });
 });
 
+RedirectableRequest.prototype._sanitizeOptions = function (options) {
+  // Ensure headers are always present
+  if (!options.headers) {
+    options.headers = {};
+  }
+
+  // Since http.request treats host as an alias of hostname,
+  // but the url module interprets host as hostname plus port,
+  // eliminate the host property to avoid confusion.
+  if (options.host) {
+    // Use hostname if set, because it has precedence
+    if (!options.hostname) {
+      options.hostname = options.host;
+    }
+    delete options.host;
+  }
+
+  // Complete the URL object when necessary
+  if (!options.pathname && options.path) {
+    var searchPos = options.path.indexOf("?");
+    if (searchPos < 0) {
+      options.pathname = options.path;
+    }
+    else {
+      options.pathname = options.path.substring(0, searchPos);
+      options.search = options.path.substring(searchPos);
+    }
+  }
+};
+
+
 // Executes the next native request (initial or redirect)
 RedirectableRequest.prototype._performRequest = function () {
   // Load the native protocol
   var protocol = this._options.protocol;
   var nativeProtocol = this._options.nativeProtocols[protocol];
   if (!nativeProtocol) {
-    this.emit("error", new Error("Unsupported protocol " + protocol));
+    this.emit("error", new TypeError("Unsupported protocol " + protocol));
     return;
   }
 
@@ -171,11 +267,8 @@ RedirectableRequest.prototype._performRequest = function () {
 
   // Set up event handlers
   request._redirectable = this;
-  for (var event in eventHandlers) {
-    /* istanbul ignore else */
-    if (event) {
-      request.on(event, eventHandlers[event]);
-    }
+  for (var e = 0; e < events.length; e++) {
+    request.on(events[e], eventHandlers[events[e]]);
   }
 
   // End a redirected request
@@ -183,14 +276,29 @@ RedirectableRequest.prototype._performRequest = function () {
   if (this._isRedirect) {
     // Write the request entity and end.
     var i = 0;
+    var self = this;
     var buffers = this._requestBodyBuffers;
-    (function writeNext() {
-      if (i < buffers.length) {
-        var buffer = buffers[i++];
-        request.write(buffer.data, buffer.encoding, writeNext);
-      }
-      else {
-        request.end();
+    (function writeNext(error) {
+      // Only write if this request has not been redirected yet
+      /* istanbul ignore else */
+      if (request === self._currentRequest) {
+        // Report any write errors
+        /* istanbul ignore if */
+        if (error) {
+          self.emit("error", error);
+        }
+        // Write the next buffer if there are still left
+        else if (i < buffers.length) {
+          var buffer = buffers[i++];
+          /* istanbul ignore else */
+          if (!request.finished) {
+            request.write(buffer.data, buffer.encoding, writeNext);
+          }
+        }
+        // End the request if `end` has been called on us
+        else if (self._ended) {
+          request.end();
+        }
       }
     }());
   }
@@ -199,11 +307,12 @@ RedirectableRequest.prototype._performRequest = function () {
 // Processes a response from the current native request
 RedirectableRequest.prototype._processResponse = function (response) {
   // Store the redirected response
+  var statusCode = response.statusCode;
   if (this._options.trackRedirects) {
     this._redirects.push({
       url: this._currentUrl,
       headers: response.headers,
-      statusCode: response.statusCode,
+      statusCode: statusCode,
     });
   }
 
@@ -215,52 +324,73 @@ RedirectableRequest.prototype._processResponse = function (response) {
   // even if the specific status code is not understood.
   var location = response.headers.location;
   if (location && this._options.followRedirects !== false &&
-      response.statusCode >= 300 && response.statusCode < 400) {
+      statusCode >= 300 && statusCode < 400) {
+    // Abort the current request
+    abortRequest(this._currentRequest);
+    // Discard the remainder of the response to avoid waiting for data
+    response.destroy();
+
     // RFC7231§6.4: A client SHOULD detect and intervene
     // in cyclical redirections (i.e., "infinite" redirection loops).
     if (++this._redirectCount > this._options.maxRedirects) {
-      this.emit("error", new Error("Max redirects exceeded."));
+      this.emit("error", new TooManyRedirectsError());
       return;
     }
 
     // RFC7231§6.4: Automatic redirection needs to done with
-    // care for methods not known to be safe […],
-    // since the user might not wish to redirect an unsafe request.
-    // RFC7231§6.4.7: The 307 (Temporary Redirect) status code indicates
-    // that the target resource resides temporarily under a different URI
-    // and the user agent MUST NOT change the request method
-    // if it performs an automatic redirection to that URI.
-    var header;
-    var headers = this._options.headers;
-    if (response.statusCode !== 307 && !(this._options.method in SAFE_METHODS)) {
+    // care for methods not known to be safe, […]
+    // RFC7231§6.4.2–3: For historical reasons, a user agent MAY change
+    // the request method from POST to GET for the subsequent request.
+    if ((statusCode === 301 || statusCode === 302) && this._options.method === "POST" ||
+        // RFC7231§6.4.4: The 303 (See Other) status code indicates that
+        // the server is redirecting the user agent to a different resource […]
+        // A user agent can perform a retrieval request targeting that URI
+        // (a GET or HEAD request if using HTTP) […]
+        (statusCode === 303) && !/^(?:GET|HEAD)$/.test(this._options.method)) {
       this._options.method = "GET";
       // Drop a possible entity and headers related to it
       this._requestBodyBuffers = [];
-      for (header in headers) {
-        if (/^content-/i.test(header)) {
-          delete headers[header];
-        }
-      }
+      removeMatchingHeaders(/^content-/i, this._options.headers);
     }
 
     // Drop the Host header, as the redirect might lead to a different host
-    if (!this._isRedirect) {
-      for (header in headers) {
-        if (/^host$/i.test(header)) {
-          delete headers[header];
-        }
-      }
-    }
+    var previousHostName = removeMatchingHeaders(/^host$/i, this._options.headers) ||
+      url.parse(this._currentUrl).hostname;
 
-    // Perform the redirected request
+    // Create the redirected request
     var redirectUrl = url.resolve(this._currentUrl, location);
     debug("redirecting to", redirectUrl);
-    Object.assign(this._options, url.parse(redirectUrl));
     this._isRedirect = true;
-    this._performRequest();
+    var redirectUrlParts = url.parse(redirectUrl);
+    Object.assign(this._options, redirectUrlParts);
 
-    // Discard the remainder of the response to avoid waiting for data
-    response.destroy();
+    // Drop the Authorization header if redirecting to another host
+    if (redirectUrlParts.hostname !== previousHostName) {
+      removeMatchingHeaders(/^authorization$/i, this._options.headers);
+    }
+
+    // Evaluate the beforeRedirect callback
+    if (typeof this._options.beforeRedirect === "function") {
+      var responseDetails = { headers: response.headers };
+      try {
+        this._options.beforeRedirect.call(null, this._options, responseDetails);
+      }
+      catch (err) {
+        this.emit("error", err);
+        return;
+      }
+      this._sanitizeOptions(this._options);
+    }
+
+    // Perform the redirected request
+    try {
+      this._performRequest();
+    }
+    catch (cause) {
+      var error = new RedirectionError("Redirected request failed: " + cause.message);
+      error.cause = cause;
+      this.emit("error", error);
+    }
   }
   else {
     // The response is not a redirect; return it as-is
@@ -289,34 +419,113 @@ function wrap(protocols) {
     var wrappedProtocol = exports[scheme] = Object.create(nativeProtocol);
 
     // Executes a request, following redirects
-    wrappedProtocol.request = function (options, callback) {
-      if (typeof options === "string") {
-        options = url.parse(options);
-        options.maxRedirects = exports.maxRedirects;
+    function request(input, options, callback) {
+      // Parse parameters
+      if (typeof input === "string") {
+        var urlStr = input;
+        try {
+          input = urlToOptions(new URL(urlStr));
+        }
+        catch (err) {
+          /* istanbul ignore next */
+          input = url.parse(urlStr);
+        }
+      }
+      else if (URL && (input instanceof URL)) {
+        input = urlToOptions(input);
       }
       else {
-        options = Object.assign({
-          protocol: protocol,
-          maxRedirects: exports.maxRedirects,
-          maxBodyLength: exports.maxBodyLength,
-        }, options);
+        callback = options;
+        options = input;
+        input = { protocol: protocol };
+      }
+      if (typeof options === "function") {
+        callback = options;
+        options = null;
       }
+
+      // Set defaults
+      options = Object.assign({
+        maxRedirects: exports.maxRedirects,
+        maxBodyLength: exports.maxBodyLength,
+      }, input, options);
       options.nativeProtocols = nativeProtocols;
+
       assert.equal(options.protocol, protocol, "protocol mismatch");
       debug("options", options);
       return new RedirectableRequest(options, callback);
-    };
+    }
 
     // Executes a GET request, following redirects
-    wrappedProtocol.get = function (options, callback) {
-      var request = wrappedProtocol.request(options, callback);
-      request.end();
-      return request;
-    };
+    function get(input, options, callback) {
+      var wrappedRequest = wrappedProtocol.request(input, options, callback);
+      wrappedRequest.end();
+      return wrappedRequest;
+    }
+
+    // Expose the properties on the wrapped protocol
+    Object.defineProperties(wrappedProtocol, {
+      request: { value: request, configurable: true, enumerable: true, writable: true },
+      get: { value: get, configurable: true, enumerable: true, writable: true },
+    });
   });
   return exports;
 }
 
+/* istanbul ignore next */
+function noop() { /* empty */ }
+
+// from https://github.com/nodejs/node/blob/master/lib/internal/url.js
+function urlToOptions(urlObject) {
+  var options = {
+    protocol: urlObject.protocol,
+    hostname: urlObject.hostname.startsWith("[") ?
+      /* istanbul ignore next */
+      urlObject.hostname.slice(1, -1) :
+      urlObject.hostname,
+    hash: urlObject.hash,
+    search: urlObject.search,
+    pathname: urlObject.pathname,
+    path: urlObject.pathname + urlObject.search,
+    href: urlObject.href,
+  };
+  if (urlObject.port !== "") {
+    options.port = Number(urlObject.port);
+  }
+  return options;
+}
+
+function removeMatchingHeaders(regex, headers) {
+  var lastValue;
+  for (var header in headers) {
+    if (regex.test(header)) {
+      lastValue = headers[header];
+      delete headers[header];
+    }
+  }
+  return lastValue;
+}
+
+function createErrorType(code, defaultMessage) {
+  function CustomError(message) {
+    Error.captureStackTrace(this, this.constructor);
+    this.message = message || defaultMessage;
+  }
+  CustomError.prototype = new Error();
+  CustomError.prototype.constructor = CustomError;
+  CustomError.prototype.name = "Error [" + code + "]";
+  CustomError.prototype.code = code;
+  return CustomError;
+}
+
+function abortRequest(request) {
+  for (var e = 0; e < events.length; e++) {
+    request.removeListener(events[e], eventHandlers[events[e]]);
+  }
+  request.on("error", noop);
+  request.abort();
+}
+
 // Exports
 module.exports = wrap({ http: http, https: https });
 module.exports.wrap = wrap;

+ 30 - 31
node_modules/follow-redirects/package.json

@@ -1,27 +1,27 @@
 {
-  "_from": "follow-redirects@1.5.10",
-  "_id": "follow-redirects@1.5.10",
+  "_from": "follow-redirects@^1.0.0",
+  "_id": "follow-redirects@1.14.1",
   "_inBundle": false,
-  "_integrity": "sha1-e3qfmuov3/NnhqlP9kPtB/T/Xio=",
+  "_integrity": "sha1-2RFN7Qoc/dM04WTmZirQK/2R/0M=",
   "_location": "/follow-redirects",
   "_phantomChildren": {},
   "_requested": {
-    "type": "version",
+    "type": "range",
     "registry": true,
-    "raw": "follow-redirects@1.5.10",
+    "raw": "follow-redirects@^1.0.0",
     "name": "follow-redirects",
     "escapedName": "follow-redirects",
-    "rawSpec": "1.5.10",
+    "rawSpec": "^1.0.0",
     "saveSpec": null,
-    "fetchSpec": "1.5.10"
+    "fetchSpec": "^1.0.0"
   },
   "_requiredBy": [
-    "/axios"
+    "/http-proxy"
   ],
-  "_resolved": "https://registry.nlark.com/follow-redirects/download/follow-redirects-1.5.10.tgz?cache=0&sync_timestamp=1620555292056&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.5.10.tgz",
-  "_shasum": "7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a",
-  "_spec": "follow-redirects@1.5.10",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\axios",
+  "_resolved": "https://registry.nlark.com/follow-redirects/download/follow-redirects-1.14.1.tgz?cache=0&sync_timestamp=1620555300559&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.14.1.tgz",
+  "_shasum": "d9114ded0a1cfdd334e164e6662ad02bfd91ff43",
+  "_spec": "follow-redirects@^1.0.0",
+  "_where": "G:\\Code\\myUnipp\\vue2-jsshq\\node_modules\\http-proxy",
   "author": {
     "name": "Ruben Verborgh",
     "email": "ruben@verborgh.org",
@@ -42,27 +42,27 @@
       "email": "james@talmage.io"
     }
   ],
-  "dependencies": {
-    "debug": "=3.1.0"
-  },
   "deprecated": false,
   "description": "HTTP and HTTPS modules that follow redirects.",
   "devDependencies": {
-    "concat-stream": "^1.6.0",
-    "coveralls": "^3.0.2",
-    "eslint": "^4.19.1",
-    "express": "^4.16.2",
-    "mocha": "^5.0.0",
-    "nyc": "^11.8.0"
+    "concat-stream": "^2.0.0",
+    "eslint": "^5.16.0",
+    "express": "^4.16.4",
+    "lolex": "^3.1.0",
+    "mocha": "^6.0.2",
+    "nyc": "^14.1.1"
   },
   "engines": {
     "node": ">=4.0"
   },
   "files": [
-    "index.js",
-    "create.js",
-    "http.js",
-    "https.js"
+    "*.js"
+  ],
+  "funding": [
+    {
+      "type": "individual",
+      "url": "https://github.com/sponsors/RubenVerborgh"
+    }
   ],
   "homepage": "https://github.com/follow-redirects/follow-redirects",
   "keywords": [
@@ -77,11 +77,10 @@
   "license": "MIT",
   "main": "index.js",
   "name": "follow-redirects",
-  "nyc": {
-    "reporter": [
-      "lcov",
-      "text"
-    ]
+  "peerDependenciesMeta": {
+    "debug": {
+      "optional": true
+    }
   },
   "repository": {
     "type": "git",
@@ -92,5 +91,5 @@
     "mocha": "nyc mocha",
     "test": "npm run lint && npm run mocha"
   },
-  "version": "1.5.10"
+  "version": "1.14.1"
 }

+ 4 - 2
node_modules/function-bind/package.json

@@ -17,13 +17,15 @@
   },
   "_requiredBy": [
     "/call-bind",
+    "/es-abstract",
     "/get-intrinsic",
-    "/has"
+    "/has",
+    "/unbox-primitive"
   ],
   "_resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz",
   "_shasum": "a56899d3ea3c9bab874bb9773b7c5ede92f4895d",
   "_spec": "function-bind@^1.1.1",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\call-bind",
+  "_where": "G:\\Code\\myUnipp\\vue2-jsshq\\node_modules\\has",
   "author": {
     "name": "Raynos",
     "email": "raynos2@gmail.com"

+ 7 - 6
node_modules/get-caller-file/package.json

@@ -1,5 +1,5 @@
 {
-  "_from": "get-caller-file@^2.0.1",
+  "_from": "get-caller-file@^2.0.5",
   "_id": "get-caller-file@2.0.5",
   "_inBundle": false,
   "_integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=",
@@ -8,20 +8,21 @@
   "_requested": {
     "type": "range",
     "registry": true,
-    "raw": "get-caller-file@^2.0.1",
+    "raw": "get-caller-file@^2.0.5",
     "name": "get-caller-file",
     "escapedName": "get-caller-file",
-    "rawSpec": "^2.0.1",
+    "rawSpec": "^2.0.5",
     "saveSpec": null,
-    "fetchSpec": "^2.0.1"
+    "fetchSpec": "^2.0.5"
   },
   "_requiredBy": [
+    "/webpack-dev-server/yargs",
     "/yargs"
   ],
   "_resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz",
   "_shasum": "4f94412a82db32f36e3b0b9741f8a97feb031f7e",
-  "_spec": "get-caller-file@^2.0.1",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\yargs",
+  "_spec": "get-caller-file@^2.0.5",
+  "_where": "G:\\Code\\myUnipp\\vue2-jsshq\\node_modules\\yargs",
   "author": {
     "name": "Stefan Penner"
   },

+ 2 - 2
node_modules/get-intrinsic/package.json

@@ -17,12 +17,12 @@
   },
   "_requiredBy": [
     "/call-bind",
-    "/side-channel"
+    "/es-abstract"
   ],
   "_resolved": "https://registry.npm.taobao.org/get-intrinsic/download/get-intrinsic-1.1.1.tgz",
   "_shasum": "15f59f376f855c446963948f0d24cd3637b4abc6",
   "_spec": "get-intrinsic@^1.0.2",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\side-channel",
+  "_where": "G:\\Code\\myUnipp\\vue2-jsshq\\node_modules\\call-bind",
   "author": {
     "name": "Jordan Harband",
     "email": "ljharb@gmail.com"

+ 9 - 3
node_modules/has-symbols/package.json

@@ -16,12 +16,18 @@
     "fetchSpec": "^1.0.1"
   },
   "_requiredBy": [
-    "/get-intrinsic"
+    "/es-abstract",
+    "/get-intrinsic",
+    "/is-regex",
+    "/is-symbol",
+    "/object.assign",
+    "/unbox-primitive",
+    "/util.promisify"
   ],
-  "_resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.2.tgz?cache=0&sync_timestamp=1614443557459&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-symbols%2Fdownload%2Fhas-symbols-1.0.2.tgz",
+  "_resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.2.tgz",
   "_shasum": "165d3070c00309752a1236a479331e3ac56f1423",
   "_spec": "has-symbols@^1.0.1",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\get-intrinsic",
+  "_where": "G:\\Code\\myUnipp\\vue2-jsshq\\node_modules\\object.assign",
   "author": {
     "name": "Jordan Harband",
     "email": "ljharb@gmail.com",

+ 10 - 2
node_modules/has/package.json

@@ -16,12 +16,20 @@
     "fetchSpec": "^1.0.3"
   },
   "_requiredBy": [
-    "/get-intrinsic"
+    "/es-abstract",
+    "/get-intrinsic",
+    "/is-core-module",
+    "/postcss-colormin",
+    "/postcss-minify-selectors",
+    "/postcss-normalize-positions",
+    "/postcss-normalize-string",
+    "/postcss-reduce-initial",
+    "/postcss-reduce-transforms"
   ],
   "_resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz",
   "_shasum": "722d7cbfc1f6aa8241f16dd814e011e1f41e8796",
   "_spec": "has@^1.0.3",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\get-intrinsic",
+  "_where": "G:\\Code\\myUnipp\\vue2-jsshq\\node_modules\\is-core-module",
   "author": {
     "name": "Thiago de Arruda",
     "email": "tpadilha84@gmail.com"

+ 6 - 6
node_modules/ieee754/package.json

@@ -1,5 +1,5 @@
 {
-  "_from": "ieee754@^1.1.13",
+  "_from": "ieee754@^1.1.4",
   "_id": "ieee754@1.2.1",
   "_inBundle": false,
   "_integrity": "sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I=",
@@ -8,20 +8,20 @@
   "_requested": {
     "type": "range",
     "registry": true,
-    "raw": "ieee754@^1.1.13",
+    "raw": "ieee754@^1.1.4",
     "name": "ieee754",
     "escapedName": "ieee754",
-    "rawSpec": "^1.1.13",
+    "rawSpec": "^1.1.4",
     "saveSpec": null,
-    "fetchSpec": "^1.1.13"
+    "fetchSpec": "^1.1.4"
   },
   "_requiredBy": [
     "/buffer"
   ],
   "_resolved": "https://registry.npm.taobao.org/ieee754/download/ieee754-1.2.1.tgz?cache=0&sync_timestamp=1603838208740&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fieee754%2Fdownload%2Fieee754-1.2.1.tgz",
   "_shasum": "8eb7a10a63fff25d15a57b001586d177d1b0d352",
-  "_spec": "ieee754@^1.1.13",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\buffer",
+  "_spec": "ieee754@^1.1.4",
+  "_where": "G:\\Code\\myUnipp\\vue2-jsshq\\node_modules\\buffer",
   "author": {
     "name": "Feross Aboukhadijeh",
     "email": "feross@feross.org",

+ 4 - 3
node_modules/is-fullwidth-code-point/package.json

@@ -16,12 +16,13 @@
     "fetchSpec": "^2.0.0"
   },
   "_requiredBy": [
-    "/string-width"
+    "/string-width",
+    "/webpack-dev-server/string-width"
   ],
-  "_resolved": "https://registry.nlark.com/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
+  "_resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz?cache=0&sync_timestamp=1618552489864&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-fullwidth-code-point%2Fdownload%2Fis-fullwidth-code-point-2.0.0.tgz",
   "_shasum": "a3b30a5c4f199183167aaab93beefae3ddfb654f",
   "_spec": "is-fullwidth-code-point@^2.0.0",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\string-width",
+  "_where": "G:\\Code\\myUnipp\\vue2-jsshq\\node_modules\\string-width",
   "author": {
     "name": "Sindre Sorhus",
     "email": "sindresorhus@gmail.com",

+ 0 - 21
node_modules/isarray/LICENSE

@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2013 Julian Gruber <julian@juliangruber.com>
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.

+ 30 - 8
node_modules/isarray/README.md

@@ -1,7 +1,7 @@
 
 # isarray
 
-`Array#isArray` for older browsers and deprecated Node.js versions.
+`Array#isArray` for older browsers.
 
 [![build status](https://secure.travis-ci.org/juliangruber/isarray.svg)](http://travis-ci.org/juliangruber/isarray)
 [![downloads](https://img.shields.io/npm/dm/isarray.svg)](https://www.npmjs.org/package/isarray)
@@ -9,8 +9,6 @@
 [![browser support](https://ci.testling.com/juliangruber/isarray.png)
 ](https://ci.testling.com/juliangruber/isarray)
 
-__Just use Array.isArray directly__, unless you need to support those older versions.
-
 ## Usage
 
 ```js
@@ -22,17 +20,41 @@ console.log(isArray({})); // => false
 
 ## Installation
 
-With [npm](https://npmjs.org) do
+With [npm](http://npmjs.org) do
 
 ```bash
 $ npm install isarray
 ```
 
 Then bundle for the browser with
-[browserify](https://github.com/substack/node-browserify).
+[browserify](https://github.com/substack/browserify).
+
+With [component](http://component.io) do
+
+```bash
+$ component install juliangruber/isarray
+```
+
+## License
+
+(MIT)
+
+Copyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;
 
-## Sponsors
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
 
-This module is proudly supported by my [Sponsors](https://github.com/juliangruber/sponsors)!
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
 
-Do you want to support modules like this to improve their quality, stability and weigh in on new features? Then please consider donating to my [Patreon](https://www.patreon.com/juliangruber). Not sure how much of my modules you're using? Try [feross/thanks](https://github.com/feross/thanks)!
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.

+ 14 - 15
node_modules/isarray/package.json

@@ -1,27 +1,29 @@
 {
-  "_from": "isarray@^2.0.1",
-  "_id": "isarray@2.0.5",
+  "_from": "isarray@~1.0.0",
+  "_id": "isarray@1.0.0",
   "_inBundle": false,
-  "_integrity": "sha1-ivHkwSISRMxiRZ+vOJQNTmRKVyM=",
+  "_integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
   "_location": "/isarray",
   "_phantomChildren": {},
   "_requested": {
     "type": "range",
     "registry": true,
-    "raw": "isarray@^2.0.1",
+    "raw": "isarray@~1.0.0",
     "name": "isarray",
     "escapedName": "isarray",
-    "rawSpec": "^2.0.1",
+    "rawSpec": "~1.0.0",
     "saveSpec": null,
-    "fetchSpec": "^2.0.1"
+    "fetchSpec": "~1.0.0"
   },
   "_requiredBy": [
-    "/qrcode"
+    "/buffer",
+    "/readable-stream",
+    "/unset-value/has-value/isobject"
   ],
-  "_resolved": "https://registry.npm.taobao.org/isarray/download/isarray-2.0.5.tgz",
-  "_shasum": "8af1e4c1221244cc62459faf38940d4e644a5723",
-  "_spec": "isarray@^2.0.1",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\qrcode",
+  "_resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz",
+  "_shasum": "bb935d48582cba168c06834957a54a3e07124f11",
+  "_spec": "isarray@~1.0.0",
+  "_where": "G:\\Code\\myUnipp\\vue2-jsshq\\node_modules\\readable-stream",
   "author": {
     "name": "Julian Gruber",
     "email": "mail@juliangruber.com",
@@ -37,9 +39,6 @@
   "devDependencies": {
     "tape": "~2.13.4"
   },
-  "files": [
-    "index.js"
-  ],
   "homepage": "https://github.com/juliangruber/isarray",
   "keywords": [
     "browser",
@@ -72,5 +71,5 @@
       "android-browser/4.2..latest"
     ]
   },
-  "version": "2.0.5"
+  "version": "1.0.0"
 }

+ 1 - 1
node_modules/locate-path/package.json

@@ -21,7 +21,7 @@
   "_resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz",
   "_shasum": "dbec3b3ab759758071b58fe59fc41871af21400e",
   "_spec": "locate-path@^3.0.0",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\find-up",
+  "_where": "G:\\Code\\myUnipp\\vue2-jsshq\\node_modules\\find-up",
   "author": {
     "name": "Sindre Sorhus",
     "email": "sindresorhus@gmail.com",

+ 29 - 19
node_modules/ms/index.js

@@ -6,6 +6,7 @@ var s = 1000;
 var m = s * 60;
 var h = m * 60;
 var d = h * 24;
+var w = d * 7;
 var y = d * 365.25;
 
 /**
@@ -27,7 +28,7 @@ module.exports = function(val, options) {
   var type = typeof val;
   if (type === 'string' && val.length > 0) {
     return parse(val);
-  } else if (type === 'number' && isNaN(val) === false) {
+  } else if (type === 'number' && isFinite(val)) {
     return options.long ? fmtLong(val) : fmtShort(val);
   }
   throw new Error(
@@ -49,7 +50,7 @@ function parse(str) {
   if (str.length > 100) {
     return;
   }
-  var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(
+  var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
     str
   );
   if (!match) {
@@ -64,6 +65,10 @@ function parse(str) {
     case 'yr':
     case 'y':
       return n * y;
+    case 'weeks':
+    case 'week':
+    case 'w':
+      return n * w;
     case 'days':
     case 'day':
     case 'd':
@@ -106,16 +111,17 @@ function parse(str) {
  */
 
 function fmtShort(ms) {
-  if (ms >= d) {
+  var msAbs = Math.abs(ms);
+  if (msAbs >= d) {
     return Math.round(ms / d) + 'd';
   }
-  if (ms >= h) {
+  if (msAbs >= h) {
     return Math.round(ms / h) + 'h';
   }
-  if (ms >= m) {
+  if (msAbs >= m) {
     return Math.round(ms / m) + 'm';
   }
-  if (ms >= s) {
+  if (msAbs >= s) {
     return Math.round(ms / s) + 's';
   }
   return ms + 'ms';
@@ -130,23 +136,27 @@ function fmtShort(ms) {
  */
 
 function fmtLong(ms) {
-  return plural(ms, d, 'day') ||
-    plural(ms, h, 'hour') ||
-    plural(ms, m, 'minute') ||
-    plural(ms, s, 'second') ||
-    ms + ' ms';
+  var msAbs = Math.abs(ms);
+  if (msAbs >= d) {
+    return plural(ms, msAbs, d, 'day');
+  }
+  if (msAbs >= h) {
+    return plural(ms, msAbs, h, 'hour');
+  }
+  if (msAbs >= m) {
+    return plural(ms, msAbs, m, 'minute');
+  }
+  if (msAbs >= s) {
+    return plural(ms, msAbs, s, 'second');
+  }
+  return ms + ' ms';
 }
 
 /**
  * Pluralization helper.
  */
 
-function plural(ms, n, name) {
-  if (ms < n) {
-    return;
-  }
-  if (ms < n * 1.5) {
-    return Math.floor(ms / n) + ' ' + name;
-  }
-  return Math.ceil(ms / n) + ' ' + name + 's';
+function plural(ms, msAbs, n, name) {
+  var isPlural = msAbs >= n * 1.5;
+  return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');
 }

+ 19 - 17
node_modules/ms/package.json

@@ -1,39 +1,41 @@
 {
-  "_from": "ms@2.0.0",
-  "_id": "ms@2.0.0",
+  "_from": "ms@2.1.2",
+  "_id": "ms@2.1.2",
   "_inBundle": false,
-  "_integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+  "_integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
   "_location": "/ms",
   "_phantomChildren": {},
   "_requested": {
     "type": "version",
     "registry": true,
-    "raw": "ms@2.0.0",
+    "raw": "ms@2.1.2",
     "name": "ms",
     "escapedName": "ms",
-    "rawSpec": "2.0.0",
+    "rawSpec": "2.1.2",
     "saveSpec": null,
-    "fetchSpec": "2.0.0"
+    "fetchSpec": "2.1.2"
   },
   "_requiredBy": [
-    "/debug"
+    "/debug",
+    "/portfinder/debug",
+    "/sockjs-client/debug"
   ],
-  "_resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433842694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz",
-  "_shasum": "5608aeadfc00be6c2901df5f9861788de0d597c8",
-  "_spec": "ms@2.0.0",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\debug",
+  "_resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433905701&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
+  "_shasum": "d09d1f357b443f493382a8eb3ccd183872ae6009",
+  "_spec": "ms@2.1.2",
+  "_where": "G:\\Code\\myUnipp\\vue2-jsshq\\node_modules\\debug",
   "bugs": {
     "url": "https://github.com/zeit/ms/issues"
   },
   "bundleDependencies": false,
   "deprecated": false,
-  "description": "Tiny milisecond conversion utility",
+  "description": "Tiny millisecond conversion utility",
   "devDependencies": {
-    "eslint": "3.19.0",
+    "eslint": "4.12.1",
     "expect.js": "0.3.1",
-    "husky": "0.13.3",
-    "lint-staged": "3.4.1",
-    "mocha": "3.4.1"
+    "husky": "0.14.3",
+    "lint-staged": "5.0.0",
+    "mocha": "4.0.1"
   },
   "eslintConfig": {
     "extends": "eslint:recommended",
@@ -65,5 +67,5 @@
     "precommit": "lint-staged",
     "test": "mocha tests.js"
   },
-  "version": "2.0.0"
+  "version": "2.1.2"
 }

+ 18 - 9
node_modules/ms/readme.md

@@ -1,7 +1,7 @@
 # ms
 
 [![Build Status](https://travis-ci.org/zeit/ms.svg?branch=master)](https://travis-ci.org/zeit/ms)
-[![Slack Channel](http://zeit-slackin.now.sh/badge.svg)](https://zeit.chat/)
+[![Join the community on Spectrum](https://withspectrum.github.io/badge/badge.svg)](https://spectrum.chat/zeit)
 
 Use this package to easily convert various time formats to milliseconds.
 
@@ -17,35 +17,44 @@ ms('1m')      // 60000
 ms('5s')      // 5000
 ms('1y')      // 31557600000
 ms('100')     // 100
+ms('-3 days') // -259200000
+ms('-1h')     // -3600000
+ms('-200')    // -200
 ```
 
-### Convert from milliseconds
+### Convert from Milliseconds
 
 ```js
 ms(60000)             // "1m"
 ms(2 * 60000)         // "2m"
+ms(-3 * 60000)        // "-3m"
 ms(ms('10 hours'))    // "10h"
 ```
 
-### Time format written-out
+### Time Format Written-Out
 
 ```js
 ms(60000, { long: true })             // "1 minute"
 ms(2 * 60000, { long: true })         // "2 minutes"
+ms(-3 * 60000, { long: true })        // "-3 minutes"
 ms(ms('10 hours'), { long: true })    // "10 hours"
 ```
 
 ## Features
 
-- Works both in [node](https://nodejs.org) and in the browser.
-- If a number is supplied to `ms`, a string with a unit is returned.
-- If a string that contains the number is supplied, it returns it as a number (e.g.: it returns `100` for `'100'`).
-- If you pass a string with a number and a valid unit, the number of equivalent ms is returned.
+- Works both in [Node.js](https://nodejs.org) and in the browser
+- If a number is supplied to `ms`, a string with a unit is returned
+- If a string that contains the number is supplied, it returns it as a number (e.g.: it returns `100` for `'100'`)
+- If you pass a string with a number and a valid unit, the number of equivalent milliseconds is returned
 
-## Caught a bug?
+## Related Packages
+
+- [ms.macro](https://github.com/knpwrs/ms.macro) - Run `ms` as a macro at build-time.
+
+## Caught a Bug?
 
 1. [Fork](https://help.github.com/articles/fork-a-repo/) this repository to your own GitHub account and then [clone](https://help.github.com/articles/cloning-a-repository/) it to your local device
 2. Link the package to the global module directory: `npm link`
-3. Within the module you want to test your local development instance of ms, just link it to the dependencies: `npm link ms`. Instead of the default one from npm, node will now use your clone of ms!
+3. Within the module you want to test your local development instance of ms, just link it to the dependencies: `npm link ms`. Instead of the default one from npm, Node.js will now use your clone of ms!
 
 As always, you can run the tests using: `npm test`

+ 20 - 5
node_modules/object-inspect/index.js

@@ -19,6 +19,7 @@ var match = String.prototype.match;
 var bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;
 var gOPS = Object.getOwnPropertySymbols;
 var symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;
+var hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';
 var isEnumerable = Object.prototype.propertyIsEnumerable;
 
 var gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (
@@ -31,7 +32,7 @@ var gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPr
 
 var inspectCustom = require('./util.inspect').custom;
 var inspectSymbol = inspectCustom && isSymbol(inspectCustom) ? inspectCustom : null;
-var toStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol' ? Symbol.toStringTag : null;
+var toStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag !== 'undefined' ? Symbol.toStringTag : null;
 
 module.exports = function inspect_(obj, options, depth, seen) {
     var opts = options || {};
@@ -121,8 +122,8 @@ module.exports = function inspect_(obj, options, depth, seen) {
         return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + keys.join(', ') + ' }' : '');
     }
     if (isSymbol(obj)) {
-        var symString = symToString.call(obj);
-        return typeof obj === 'object' ? markBoxed(symString) : symString;
+        var symString = hasShammedSymbols ? String(obj).replace(/^(Symbol\(.*\))_[^)]*$/, '$1') : symToString.call(obj);
+        return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;
     }
     if (isElement(obj)) {
         var s = '<' + String(obj.nodeName).toLowerCase();
@@ -225,6 +226,9 @@ function isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toString
 
 // Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives
 function isSymbol(obj) {
+    if (hasShammedSymbols) {
+        return obj && typeof obj === 'object' && obj instanceof Symbol;
+    }
     if (typeof obj === 'symbol') {
         return true;
     }
@@ -432,17 +436,28 @@ function arrObjKeys(obj, inspect) {
             xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';
         }
     }
+    var syms = typeof gOPS === 'function' ? gOPS(obj) : [];
+    var symMap;
+    if (hasShammedSymbols) {
+        symMap = {};
+        for (var k = 0; k < syms.length; k++) {
+            symMap['$' + syms[k]] = syms[k];
+        }
+    }
+
     for (var key in obj) { // eslint-disable-line no-restricted-syntax
         if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue
         if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue
-        if ((/[^\w$]/).test(key)) {
+        if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {
+            // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section
+            continue; // eslint-disable-line no-restricted-syntax, no-continue
+        } else if ((/[^\w$]/).test(key)) {
             xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));
         } else {
             xs.push(key + ': ' + inspect(obj[key], obj));
         }
     }
     if (typeof gOPS === 'function') {
-        var syms = gOPS(obj);
         for (var j = 0; j < syms.length; j++) {
             if (isEnumerable.call(obj, syms[j])) {
                 xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));

+ 18 - 19
node_modules/object-inspect/package.json

@@ -1,27 +1,27 @@
 {
-  "_from": "object-inspect@^1.9.0",
-  "_id": "object-inspect@1.10.2",
+  "_from": "object-inspect@^1.10.3",
+  "_id": "object-inspect@1.10.3",
   "_inBundle": false,
-  "_integrity": "sha1-tjhaPit8rgter8+Qzd+F0Sh2fzA=",
+  "_integrity": "sha1-wqp9LQn1DJk3VwT3oK3yTFeC02k=",
   "_location": "/object-inspect",
   "_phantomChildren": {},
   "_requested": {
     "type": "range",
     "registry": true,
-    "raw": "object-inspect@^1.9.0",
+    "raw": "object-inspect@^1.10.3",
     "name": "object-inspect",
     "escapedName": "object-inspect",
-    "rawSpec": "^1.9.0",
+    "rawSpec": "^1.10.3",
     "saveSpec": null,
-    "fetchSpec": "^1.9.0"
+    "fetchSpec": "^1.10.3"
   },
   "_requiredBy": [
-    "/side-channel"
+    "/es-abstract"
   ],
-  "_resolved": "https://registry.nlark.com/object-inspect/download/object-inspect-1.10.2.tgz",
-  "_shasum": "b6385a3e2b7cae0b5eafcf90cddf85d128767f30",
-  "_spec": "object-inspect@^1.9.0",
-  "_where": "F:\\uniapp\\sqxp-uniapp\\node_modules\\side-channel",
+  "_resolved": "https://registry.nlark.com/object-inspect/download/object-inspect-1.10.3.tgz",
+  "_shasum": "c2aa7d2d09f50c99375704f7a0adf24c5782d369",
+  "_spec": "object-inspect@^1.10.3",
+  "_where": "G:\\Code\\myUnipp\\vue2-jsshq\\node_modules\\es-abstract",
   "author": {
     "name": "James Halliday",
     "email": "mail@substack.net",
@@ -37,10 +37,10 @@
   "deprecated": false,
   "description": "string representations of objects in node and the browser",
   "devDependencies": {
-    "@ljharb/eslint-config": "^17.5.1",
-    "aud": "^1.1.4",
+    "@ljharb/eslint-config": "^17.6.0",
+    "aud": "^1.1.5",
     "core-js": "^2.6.12",
-    "eslint": "^7.24.0",
+    "eslint": "^7.26.0",
     "for-each": "^0.3.3",
     "functions-have-names": "^1.2.2",
     "make-arrow-function": "^1.2.0",
@@ -79,10 +79,9 @@
     "prepublish": "not-in-publish || npm run prepublishOnly",
     "prepublishOnly": "safe-publish-latest",
     "pretest": "npm run lint",
-    "pretests-only:tape": "node test-core-js",
-    "test": "npm run tests-only",
-    "tests-only": "nyc npm run tests-only:tape",
-    "tests-only:tape": "tape 'test/*.js'"
+    "test": "npm run tests-only && npm run test:corejs",
+    "test:corejs": "nyc tape test-core-js.js 'test/*.js'",
+    "tests-only": "nyc tape 'test/*.js'"
   },
   "testling": {
     "files": [
@@ -100,5 +99,5 @@
       "android/latest"
     ]
   },
-  "version": "1.10.2"
+  "version": "1.10.3"
 }

+ 25 - 2
node_modules/object-inspect/readme.markdown

@@ -1,8 +1,15 @@
-# object-inspect
+# object-inspect <sup>[![Version Badge][2]][1]</sup>
 
 string representations of objects in node and the browser
 
-[![build status](https://secure.travis-ci.com/inspect-js/object-inspect.png)](https://travis-ci.com/inspect-js/object-inspect)
+[![github actions][actions-image]][actions-url]
+[![coverage][codecov-image]][codecov-url]
+[![dependency status][5]][6]
+[![dev dependency status][7]][8]
+[![License][license-image]][license-url]
+[![Downloads][downloads-image]][downloads-url]
+
+[![npm badge][11]][1]
 
 # example
 
@@ -60,3 +67,19 @@ npm install object-inspect
 # license
 
 MIT
+
+[1]: https://npmjs.org/package/object-inspect
+[2]: https://versionbadg.es/inspect-js/object-inspect.svg
+[5]: https://david-dm.org/inspect-js/object-inspect.svg
+[6]: https://david-dm.org/inspect-js/object-inspect
+[7]: https://david-dm.org/inspect-js/object-inspect/dev-status.svg
+[8]: https://david-dm.org/inspect-js/object-inspect#info=devDependencies
+[11]: https://nodei.co/npm/object-inspect.png?downloads=true&stars=true
+[license-image]: https://img.shields.io/npm/l/object-inspect.svg
+[license-url]: LICENSE
+[downloads-image]: https://img.shields.io/npm/dm/object-inspect.svg
+[downloads-url]: https://npm-stat.com/charts.html?package=object-inspect
+[codecov-image]: https://codecov.io/gh/inspect-js/object-inspect/branch/main/graphs/badge.svg
+[codecov-url]: https://app.codecov.io/gh/inspect-js/object-inspect/
+[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/object-inspect
+[actions-url]: https://github.com/inspect-js/object-inspect/actions

+ 2 - 2
node_modules/object-inspect/test/bigint.js

@@ -2,7 +2,7 @@
 
 var inspect = require('../');
 var test = require('tape');
-var hasSymbols = require('has-symbols')();
+var hasSymbols = require('has-symbols/shams')();
 
 test('bigint', { skip: typeof BigInt === 'undefined' }, function (t) {
     t.test('primitives', function (st) {
@@ -30,7 +30,7 @@ test('bigint', { skip: typeof BigInt === 'undefined' }, function (t) {
         st.equal(inspect(Function('return 256n')()), '256n');
     });
 
-    t.test('toStringTag', { skip: !hasSymbols || typeof Symbol.toStringTag !== 'symbol' }, function (st) {
+    t.test('toStringTag', { skip: !hasSymbols || typeof Symbol.toStringTag === 'undefined' }, function (st) {
         st.plan(1);
 
         var faker = {};

部分文件因文件數量過多而無法顯示