commit b7dc29435a3275ee4e4edf340c2906210d86a29f Author: chorblack Date: Sat Apr 26 14:01:41 2025 +0800 first v1 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1ae777b --- /dev/null +++ b/.gitignore @@ -0,0 +1,27 @@ +.DS_Store +node_modules +/dist +/build +/logs + +# sign + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw* +.ide +.preview.json \ No newline at end of file diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..1dbd309 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,6 @@ +package.json +manifest.json +README.md + +# assets/js +src/assets/js/*.js diff --git a/README.md b/README.md new file mode 100644 index 0000000..7039a14 --- /dev/null +++ b/README.md @@ -0,0 +1,36 @@ +# 手表示例模版 + +## 文件结构 + +``` +├── sign # 存储 rpk 包签名模块(须自行生成); +│ ├── certificate.pem # 证书文件 +│ └── private.pem # 私钥文件 +└── src +│ ├── assets # 公用的资源(images/styles/字体...) +│ │ ├──images # 存储 png/jpg/svg 等公共图片资源 +│ │ └──styles # 存放 less/css/sass 等公共样式资源 +│ ├── pages # 统一存放项目页面级代码 +│ ├── app.ux # 应用程序代码的入口文件 +│ ├── manifest.json # 配置蓝河应用基本信息 +│ └── components # 存放蓝河应用组件 +└── package.json # 定义项目需要的各种模块及配置信息 +``` + +### 模版说明 + +- `Demo` 页面:示例页面; +- `DemoDetail`页面:详情页面; + +## 如何使用 + +- **内置样式处理方案**;「蓝河应用」支持 `sass` 的预编译;这里采取 [dart sass](https://sass-lang.com/documentation) 方案,并内置了部分变量,以及常用混合方法,使得可以轻松开启样式编写、复用、修改等; +- **添加新增页面命令脚本**;如果需要新建页面,只需运行:`yarn gen YourPageName` ,当然,也可以根据需要,自行定定制模板:*/command/gen/template.ux*; +- **集成 [Prettier](https://prettier.io/)**;在检测代码中潜在问题的同时,统一团队代码规范、风格(`js`,`less`,`scss`等),从而促使写出高质量代码,以提升工作效率(尤其针对团队开发); + +## 内置命令 + +| 命令 | 描述 | 备注 | +|---|---|---| +| `yarn gen ` | 新增「蓝河应用」页面 | 助你高效生成页面,模版可自定义,推荐 ✓| +| `yarn prettier` | 一键美化代码(js/css/less/ux) | 实在是团队开发好帮手,推荐 ✓ | diff --git a/jsconfig.json b/jsconfig.json new file mode 100644 index 0000000..1b9b789 --- /dev/null +++ b/jsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "noImplicitAny": false, + "strict": true, + "noUnusedLocals": true, + "noImplicitThis": true, + "noUnusedParameters": true, + "allowSyntheticDefaultImports": true, + "forceConsistentCasingInFileNames": true, + "esModuleInterop": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "checkJs": true + }, + "include": ["src/**/*"], + "exclude": ["node_modules"] + } \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..7ec98b9 --- /dev/null +++ b/package.json @@ -0,0 +1,41 @@ +{ + "name": "testschedule", + "version": "1.1.0", + "packageManager": "pnpm@7.1.0", + "description": "Watch Template", + "scripts": { + "gen": "node ./scripts/gen/index.js", + "precommit-msg": "echo '🚧 start pre-commit checks ...' && exit 0", + "prettier": "node ./scripts/selfCloseInputTag.js && prettier --write \"src/**/*.{js,ux,less,scss,css}\"" + }, + "devDependencies": { + "colors": "^1.4.0", + "husky": "^4.3.0", + "lint-staged": "^10.5.1", + "prettier": "^1.15.3", + "prettier-plugin-ux": "^0.3.0" + }, + "prettier": { + "singleQuote": true, + "semi": false, + "printWidth": 80, + "proseWrap": "never", + "tabWidth": 2 + }, + "husky": { + "hooks": { + "pre-commit": "yarn run precommit-msg && lint-staged" + } + }, + "lint-staged": { + "**/**.{ux,js,json,pcss,md,vue}": [ + "prettier --write", + "git add" + ] + }, + "keywords": [ + "多终端应用", + "手表示例", + "手表模版" + ] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..306dc8b --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,1013 @@ +lockfileVersion: 5.4 + +specifiers: + colors: ^1.4.0 + husky: ^4.3.0 + lint-staged: ^10.5.1 + prettier: ^1.15.3 + prettier-plugin-ux: ^0.3.0 + +devDependencies: + colors: registry.npmmirror.com/colors/1.4.0 + husky: registry.npmmirror.com/husky/4.3.8 + lint-staged: registry.npmmirror.com/lint-staged/10.5.4 + prettier: registry.npmmirror.com/prettier/1.19.1 + prettier-plugin-ux: registry.npmmirror.com/prettier-plugin-ux/0.3.0 + +packages: + + registry.npmmirror.com/@babel/code-frame/7.18.6: + resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.18.6.tgz} + name: '@babel/code-frame' + version: 7.18.6 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': registry.npmmirror.com/@babel/highlight/7.18.6 + dev: true + + registry.npmmirror.com/@babel/helper-validator-identifier/7.19.1: + resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz} + name: '@babel/helper-validator-identifier' + version: 7.19.1 + engines: {node: '>=6.9.0'} + dev: true + + registry.npmmirror.com/@babel/highlight/7.18.6: + resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/highlight/-/highlight-7.18.6.tgz} + name: '@babel/highlight' + version: 7.18.6 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': registry.npmmirror.com/@babel/helper-validator-identifier/7.19.1 + chalk: registry.npmmirror.com/chalk/2.4.2 + js-tokens: registry.npmmirror.com/js-tokens/4.0.0 + dev: true + + registry.npmmirror.com/@types/parse-json/4.0.0: + resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/parse-json/-/parse-json-4.0.0.tgz} + name: '@types/parse-json' + version: 4.0.0 + dev: true + + registry.npmmirror.com/aggregate-error/3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/aggregate-error/-/aggregate-error-3.1.0.tgz} + name: aggregate-error + version: 3.1.0 + engines: {node: '>=8'} + dependencies: + clean-stack: registry.npmmirror.com/clean-stack/2.2.0 + indent-string: registry.npmmirror.com/indent-string/4.0.0 + dev: true + + registry.npmmirror.com/ansi-colors/4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-colors/-/ansi-colors-4.1.3.tgz} + name: ansi-colors + version: 4.1.3 + engines: {node: '>=6'} + dev: true + + registry.npmmirror.com/ansi-escapes/4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz} + name: ansi-escapes + version: 4.3.2 + engines: {node: '>=8'} + dependencies: + type-fest: registry.npmmirror.com/type-fest/0.21.3 + dev: true + + registry.npmmirror.com/ansi-regex/5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz} + name: ansi-regex + version: 5.0.1 + engines: {node: '>=8'} + dev: true + + registry.npmmirror.com/ansi-styles/3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz} + name: ansi-styles + version: 3.2.1 + engines: {node: '>=4'} + dependencies: + color-convert: registry.npmmirror.com/color-convert/1.9.3 + dev: true + + registry.npmmirror.com/ansi-styles/4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz} + name: ansi-styles + version: 4.3.0 + engines: {node: '>=8'} + dependencies: + color-convert: registry.npmmirror.com/color-convert/2.0.1 + dev: true + + registry.npmmirror.com/astral-regex/2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/astral-regex/-/astral-regex-2.0.0.tgz} + name: astral-regex + version: 2.0.0 + engines: {node: '>=8'} + dev: true + + registry.npmmirror.com/braces/3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz} + name: braces + version: 3.0.2 + engines: {node: '>=8'} + dependencies: + fill-range: registry.npmmirror.com/fill-range/7.0.1 + dev: true + + registry.npmmirror.com/callsites/3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz} + name: callsites + version: 3.1.0 + engines: {node: '>=6'} + dev: true + + registry.npmmirror.com/chalk/2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz} + name: chalk + version: 2.4.2 + engines: {node: '>=4'} + dependencies: + ansi-styles: registry.npmmirror.com/ansi-styles/3.2.1 + escape-string-regexp: registry.npmmirror.com/escape-string-regexp/1.0.5 + supports-color: registry.npmmirror.com/supports-color/5.5.0 + dev: true + + registry.npmmirror.com/chalk/4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz} + name: chalk + version: 4.1.2 + engines: {node: '>=10'} + dependencies: + ansi-styles: registry.npmmirror.com/ansi-styles/4.3.0 + supports-color: registry.npmmirror.com/supports-color/7.2.0 + dev: true + + registry.npmmirror.com/ci-info/2.0.0: + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ci-info/-/ci-info-2.0.0.tgz} + name: ci-info + version: 2.0.0 + dev: true + + registry.npmmirror.com/clean-stack/2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/clean-stack/-/clean-stack-2.2.0.tgz} + name: clean-stack + version: 2.2.0 + engines: {node: '>=6'} + dev: true + + registry.npmmirror.com/cli-cursor/3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cli-cursor/-/cli-cursor-3.1.0.tgz} + name: cli-cursor + version: 3.1.0 + engines: {node: '>=8'} + dependencies: + restore-cursor: registry.npmmirror.com/restore-cursor/3.1.0 + dev: true + + registry.npmmirror.com/cli-truncate/2.1.0: + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cli-truncate/-/cli-truncate-2.1.0.tgz} + name: cli-truncate + version: 2.1.0 + engines: {node: '>=8'} + dependencies: + slice-ansi: registry.npmmirror.com/slice-ansi/3.0.0 + string-width: registry.npmmirror.com/string-width/4.2.3 + dev: true + + registry.npmmirror.com/color-convert/1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz} + name: color-convert + version: 1.9.3 + dependencies: + color-name: registry.npmmirror.com/color-name/1.1.3 + dev: true + + registry.npmmirror.com/color-convert/2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz} + name: color-convert + version: 2.0.1 + engines: {node: '>=7.0.0'} + dependencies: + color-name: registry.npmmirror.com/color-name/1.1.4 + dev: true + + registry.npmmirror.com/color-name/1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz} + name: color-name + version: 1.1.3 + dev: true + + registry.npmmirror.com/color-name/1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz} + name: color-name + version: 1.1.4 + dev: true + + registry.npmmirror.com/colorette/2.0.19: + resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/colorette/-/colorette-2.0.19.tgz} + name: colorette + version: 2.0.19 + dev: true + + registry.npmmirror.com/colors/1.4.0: + resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/colors/-/colors-1.4.0.tgz} + name: colors + version: 1.4.0 + engines: {node: '>=0.1.90'} + dev: true + + registry.npmmirror.com/commander/6.2.1: + resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/commander/-/commander-6.2.1.tgz} + name: commander + version: 6.2.1 + engines: {node: '>= 6'} + dev: true + + registry.npmmirror.com/compare-versions/3.6.0: + resolution: {integrity: sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/compare-versions/-/compare-versions-3.6.0.tgz} + name: compare-versions + version: 3.6.0 + dev: true + + registry.npmmirror.com/cosmiconfig/7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz} + name: cosmiconfig + version: 7.1.0 + engines: {node: '>=10'} + dependencies: + '@types/parse-json': registry.npmmirror.com/@types/parse-json/4.0.0 + import-fresh: registry.npmmirror.com/import-fresh/3.3.0 + parse-json: registry.npmmirror.com/parse-json/5.2.0 + path-type: registry.npmmirror.com/path-type/4.0.0 + yaml: registry.npmmirror.com/yaml/1.10.2 + dev: true + + registry.npmmirror.com/cross-spawn/7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz} + name: cross-spawn + version: 7.0.3 + engines: {node: '>= 8'} + dependencies: + path-key: registry.npmmirror.com/path-key/3.1.1 + shebang-command: registry.npmmirror.com/shebang-command/2.0.0 + which: registry.npmmirror.com/which/2.0.2 + dev: true + + registry.npmmirror.com/debug/4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz} + name: debug + version: 4.3.4 + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: registry.npmmirror.com/ms/2.1.2 + dev: true + + registry.npmmirror.com/dedent/0.7.0: + resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dedent/-/dedent-0.7.0.tgz} + name: dedent + version: 0.7.0 + dev: true + + registry.npmmirror.com/emoji-regex/8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz} + name: emoji-regex + version: 8.0.0 + dev: true + + registry.npmmirror.com/end-of-stream/1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/end-of-stream/-/end-of-stream-1.4.4.tgz} + name: end-of-stream + version: 1.4.4 + dependencies: + once: registry.npmmirror.com/once/1.4.0 + dev: true + + registry.npmmirror.com/enquirer/2.3.6: + resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/enquirer/-/enquirer-2.3.6.tgz} + name: enquirer + version: 2.3.6 + engines: {node: '>=8.6'} + dependencies: + ansi-colors: registry.npmmirror.com/ansi-colors/4.1.3 + dev: true + + registry.npmmirror.com/error-ex/1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz} + name: error-ex + version: 1.3.2 + dependencies: + is-arrayish: registry.npmmirror.com/is-arrayish/0.2.1 + dev: true + + registry.npmmirror.com/escape-string-regexp/1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz} + name: escape-string-regexp + version: 1.0.5 + engines: {node: '>=0.8.0'} + dev: true + + registry.npmmirror.com/execa/4.1.0: + resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/execa/-/execa-4.1.0.tgz} + name: execa + version: 4.1.0 + engines: {node: '>=10'} + dependencies: + cross-spawn: registry.npmmirror.com/cross-spawn/7.0.3 + get-stream: registry.npmmirror.com/get-stream/5.2.0 + human-signals: registry.npmmirror.com/human-signals/1.1.1 + is-stream: registry.npmmirror.com/is-stream/2.0.1 + merge-stream: registry.npmmirror.com/merge-stream/2.0.0 + npm-run-path: registry.npmmirror.com/npm-run-path/4.0.1 + onetime: registry.npmmirror.com/onetime/5.1.2 + signal-exit: registry.npmmirror.com/signal-exit/3.0.7 + strip-final-newline: registry.npmmirror.com/strip-final-newline/2.0.0 + dev: true + + registry.npmmirror.com/fill-range/7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz} + name: fill-range + version: 7.0.1 + engines: {node: '>=8'} + dependencies: + to-regex-range: registry.npmmirror.com/to-regex-range/5.0.1 + dev: true + + registry.npmmirror.com/find-up/5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/find-up/-/find-up-5.0.0.tgz} + name: find-up + version: 5.0.0 + engines: {node: '>=10'} + dependencies: + locate-path: registry.npmmirror.com/locate-path/6.0.0 + path-exists: registry.npmmirror.com/path-exists/4.0.0 + dev: true + + registry.npmmirror.com/find-versions/4.0.0: + resolution: {integrity: sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/find-versions/-/find-versions-4.0.0.tgz} + name: find-versions + version: 4.0.0 + engines: {node: '>=10'} + dependencies: + semver-regex: registry.npmmirror.com/semver-regex/3.1.4 + dev: true + + registry.npmmirror.com/get-own-enumerable-property-symbols/3.0.2: + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz} + name: get-own-enumerable-property-symbols + version: 3.0.2 + dev: true + + registry.npmmirror.com/get-stream/5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/get-stream/-/get-stream-5.2.0.tgz} + name: get-stream + version: 5.2.0 + engines: {node: '>=8'} + dependencies: + pump: registry.npmmirror.com/pump/3.0.0 + dev: true + + registry.npmmirror.com/has-flag/3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz} + name: has-flag + version: 3.0.0 + engines: {node: '>=4'} + dev: true + + registry.npmmirror.com/has-flag/4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz} + name: has-flag + version: 4.0.0 + engines: {node: '>=8'} + dev: true + + registry.npmmirror.com/human-signals/1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/human-signals/-/human-signals-1.1.1.tgz} + name: human-signals + version: 1.1.1 + engines: {node: '>=8.12.0'} + dev: true + + registry.npmmirror.com/husky/4.3.8: + resolution: {integrity: sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/husky/-/husky-4.3.8.tgz} + name: husky + version: 4.3.8 + engines: {node: '>=10'} + hasBin: true + requiresBuild: true + dependencies: + chalk: registry.npmmirror.com/chalk/4.1.2 + ci-info: registry.npmmirror.com/ci-info/2.0.0 + compare-versions: registry.npmmirror.com/compare-versions/3.6.0 + cosmiconfig: registry.npmmirror.com/cosmiconfig/7.1.0 + find-versions: registry.npmmirror.com/find-versions/4.0.0 + opencollective-postinstall: registry.npmmirror.com/opencollective-postinstall/2.0.3 + pkg-dir: registry.npmmirror.com/pkg-dir/5.0.0 + please-upgrade-node: registry.npmmirror.com/please-upgrade-node/3.2.0 + slash: registry.npmmirror.com/slash/3.0.0 + which-pm-runs: registry.npmmirror.com/which-pm-runs/1.1.0 + dev: true + + registry.npmmirror.com/import-fresh/3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz} + name: import-fresh + version: 3.3.0 + engines: {node: '>=6'} + dependencies: + parent-module: registry.npmmirror.com/parent-module/1.0.1 + resolve-from: registry.npmmirror.com/resolve-from/4.0.0 + dev: true + + registry.npmmirror.com/indent-string/4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/indent-string/-/indent-string-4.0.0.tgz} + name: indent-string + version: 4.0.0 + engines: {node: '>=8'} + dev: true + + registry.npmmirror.com/is-arrayish/0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz} + name: is-arrayish + version: 0.2.1 + dev: true + + registry.npmmirror.com/is-fullwidth-code-point/3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz} + name: is-fullwidth-code-point + version: 3.0.0 + engines: {node: '>=8'} + dev: true + + registry.npmmirror.com/is-number/7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz} + name: is-number + version: 7.0.0 + engines: {node: '>=0.12.0'} + dev: true + + registry.npmmirror.com/is-obj/1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-obj/-/is-obj-1.0.1.tgz} + name: is-obj + version: 1.0.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.npmmirror.com/is-regexp/1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-regexp/-/is-regexp-1.0.0.tgz} + name: is-regexp + version: 1.0.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.npmmirror.com/is-stream/2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz} + name: is-stream + version: 2.0.1 + engines: {node: '>=8'} + dev: true + + registry.npmmirror.com/is-unicode-supported/0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz} + name: is-unicode-supported + version: 0.1.0 + engines: {node: '>=10'} + dev: true + + registry.npmmirror.com/isexe/2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz} + name: isexe + version: 2.0.0 + dev: true + + registry.npmmirror.com/js-tokens/4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz} + name: js-tokens + version: 4.0.0 + dev: true + + registry.npmmirror.com/json-parse-even-better-errors/2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz} + name: json-parse-even-better-errors + version: 2.3.1 + dev: true + + registry.npmmirror.com/lines-and-columns/1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz} + name: lines-and-columns + version: 1.2.4 + dev: true + + registry.npmmirror.com/lint-staged/10.5.4: + resolution: {integrity: sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lint-staged/-/lint-staged-10.5.4.tgz} + name: lint-staged + version: 10.5.4 + hasBin: true + dependencies: + chalk: registry.npmmirror.com/chalk/4.1.2 + cli-truncate: registry.npmmirror.com/cli-truncate/2.1.0 + commander: registry.npmmirror.com/commander/6.2.1 + cosmiconfig: registry.npmmirror.com/cosmiconfig/7.1.0 + debug: registry.npmmirror.com/debug/4.3.4 + dedent: registry.npmmirror.com/dedent/0.7.0 + enquirer: registry.npmmirror.com/enquirer/2.3.6 + execa: registry.npmmirror.com/execa/4.1.0 + listr2: registry.npmmirror.com/listr2/3.14.0_enquirer@2.3.6 + log-symbols: registry.npmmirror.com/log-symbols/4.1.0 + micromatch: registry.npmmirror.com/micromatch/4.0.5 + normalize-path: registry.npmmirror.com/normalize-path/3.0.0 + please-upgrade-node: registry.npmmirror.com/please-upgrade-node/3.2.0 + string-argv: registry.npmmirror.com/string-argv/0.3.1 + stringify-object: registry.npmmirror.com/stringify-object/3.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/listr2/3.14.0_enquirer@2.3.6: + resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/listr2/-/listr2-3.14.0.tgz} + id: registry.npmmirror.com/listr2/3.14.0 + name: listr2 + version: 3.14.0 + engines: {node: '>=10.0.0'} + peerDependencies: + enquirer: '>= 2.3.0 < 3' + peerDependenciesMeta: + enquirer: + optional: true + dependencies: + cli-truncate: registry.npmmirror.com/cli-truncate/2.1.0 + colorette: registry.npmmirror.com/colorette/2.0.19 + enquirer: registry.npmmirror.com/enquirer/2.3.6 + log-update: registry.npmmirror.com/log-update/4.0.0 + p-map: registry.npmmirror.com/p-map/4.0.0 + rfdc: registry.npmmirror.com/rfdc/1.3.0 + rxjs: registry.npmmirror.com/rxjs/7.5.7 + through: registry.npmmirror.com/through/2.3.8 + wrap-ansi: registry.npmmirror.com/wrap-ansi/7.0.0 + dev: true + + registry.npmmirror.com/locate-path/6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz} + name: locate-path + version: 6.0.0 + engines: {node: '>=10'} + dependencies: + p-locate: registry.npmmirror.com/p-locate/5.0.0 + dev: true + + registry.npmmirror.com/log-symbols/4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/log-symbols/-/log-symbols-4.1.0.tgz} + name: log-symbols + version: 4.1.0 + engines: {node: '>=10'} + dependencies: + chalk: registry.npmmirror.com/chalk/4.1.2 + is-unicode-supported: registry.npmmirror.com/is-unicode-supported/0.1.0 + dev: true + + registry.npmmirror.com/log-update/4.0.0: + resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/log-update/-/log-update-4.0.0.tgz} + name: log-update + version: 4.0.0 + engines: {node: '>=10'} + dependencies: + ansi-escapes: registry.npmmirror.com/ansi-escapes/4.3.2 + cli-cursor: registry.npmmirror.com/cli-cursor/3.1.0 + slice-ansi: registry.npmmirror.com/slice-ansi/4.0.0 + wrap-ansi: registry.npmmirror.com/wrap-ansi/6.2.0 + dev: true + + registry.npmmirror.com/merge-stream/2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz} + name: merge-stream + version: 2.0.0 + dev: true + + registry.npmmirror.com/micromatch/4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz} + name: micromatch + version: 4.0.5 + engines: {node: '>=8.6'} + dependencies: + braces: registry.npmmirror.com/braces/3.0.2 + picomatch: registry.npmmirror.com/picomatch/2.3.1 + dev: true + + registry.npmmirror.com/mimic-fn/2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz} + name: mimic-fn + version: 2.1.0 + engines: {node: '>=6'} + dev: true + + registry.npmmirror.com/ms/2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz} + name: ms + version: 2.1.2 + dev: true + + registry.npmmirror.com/normalize-path/3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz} + name: normalize-path + version: 3.0.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.npmmirror.com/npm-run-path/4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz} + name: npm-run-path + version: 4.0.1 + engines: {node: '>=8'} + dependencies: + path-key: registry.npmmirror.com/path-key/3.1.1 + dev: true + + registry.npmmirror.com/once/1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/once/-/once-1.4.0.tgz} + name: once + version: 1.4.0 + dependencies: + wrappy: registry.npmmirror.com/wrappy/1.0.2 + dev: true + + registry.npmmirror.com/onetime/5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz} + name: onetime + version: 5.1.2 + engines: {node: '>=6'} + dependencies: + mimic-fn: registry.npmmirror.com/mimic-fn/2.1.0 + dev: true + + registry.npmmirror.com/opencollective-postinstall/2.0.3: + resolution: {integrity: sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz} + name: opencollective-postinstall + version: 2.0.3 + hasBin: true + dev: true + + registry.npmmirror.com/p-limit/3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz} + name: p-limit + version: 3.1.0 + engines: {node: '>=10'} + dependencies: + yocto-queue: registry.npmmirror.com/yocto-queue/0.1.0 + dev: true + + registry.npmmirror.com/p-locate/5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz} + name: p-locate + version: 5.0.0 + engines: {node: '>=10'} + dependencies: + p-limit: registry.npmmirror.com/p-limit/3.1.0 + dev: true + + registry.npmmirror.com/p-map/4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/p-map/-/p-map-4.0.0.tgz} + name: p-map + version: 4.0.0 + engines: {node: '>=10'} + dependencies: + aggregate-error: registry.npmmirror.com/aggregate-error/3.1.0 + dev: true + + registry.npmmirror.com/parent-module/1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz} + name: parent-module + version: 1.0.1 + engines: {node: '>=6'} + dependencies: + callsites: registry.npmmirror.com/callsites/3.1.0 + dev: true + + registry.npmmirror.com/parse-json/5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz} + name: parse-json + version: 5.2.0 + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.18.6 + error-ex: registry.npmmirror.com/error-ex/1.3.2 + json-parse-even-better-errors: registry.npmmirror.com/json-parse-even-better-errors/2.3.1 + lines-and-columns: registry.npmmirror.com/lines-and-columns/1.2.4 + dev: true + + registry.npmmirror.com/path-exists/4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz} + name: path-exists + version: 4.0.0 + engines: {node: '>=8'} + dev: true + + registry.npmmirror.com/path-key/3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz} + name: path-key + version: 3.1.1 + engines: {node: '>=8'} + dev: true + + registry.npmmirror.com/path-type/4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz} + name: path-type + version: 4.0.0 + engines: {node: '>=8'} + dev: true + + registry.npmmirror.com/picomatch/2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz} + name: picomatch + version: 2.3.1 + engines: {node: '>=8.6'} + dev: true + + registry.npmmirror.com/pkg-dir/5.0.0: + resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pkg-dir/-/pkg-dir-5.0.0.tgz} + name: pkg-dir + version: 5.0.0 + engines: {node: '>=10'} + dependencies: + find-up: registry.npmmirror.com/find-up/5.0.0 + dev: true + + registry.npmmirror.com/please-upgrade-node/3.2.0: + resolution: {integrity: sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz} + name: please-upgrade-node + version: 3.2.0 + dependencies: + semver-compare: registry.npmmirror.com/semver-compare/1.0.0 + dev: true + + registry.npmmirror.com/prettier-plugin-ux/0.3.0: + resolution: {integrity: sha512-qcCgB6NmfCbJd0tGkhAeV+BfeZ5a1DMPEOtiVzN7Inok5LHVzjIy5eB8YIV1+ttqFZ+H7/LdIIdVT4kDYgWzww==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/prettier-plugin-ux/-/prettier-plugin-ux-0.3.0.tgz} + name: prettier-plugin-ux + version: 0.3.0 + dev: true + + registry.npmmirror.com/prettier/1.19.1: + resolution: {integrity: sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/prettier/-/prettier-1.19.1.tgz} + name: prettier + version: 1.19.1 + engines: {node: '>=4'} + hasBin: true + dev: true + + registry.npmmirror.com/pump/3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pump/-/pump-3.0.0.tgz} + name: pump + version: 3.0.0 + dependencies: + end-of-stream: registry.npmmirror.com/end-of-stream/1.4.4 + once: registry.npmmirror.com/once/1.4.0 + dev: true + + registry.npmmirror.com/resolve-from/4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz} + name: resolve-from + version: 4.0.0 + engines: {node: '>=4'} + dev: true + + registry.npmmirror.com/restore-cursor/3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/restore-cursor/-/restore-cursor-3.1.0.tgz} + name: restore-cursor + version: 3.1.0 + engines: {node: '>=8'} + dependencies: + onetime: registry.npmmirror.com/onetime/5.1.2 + signal-exit: registry.npmmirror.com/signal-exit/3.0.7 + dev: true + + registry.npmmirror.com/rfdc/1.3.0: + resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rfdc/-/rfdc-1.3.0.tgz} + name: rfdc + version: 1.3.0 + dev: true + + registry.npmmirror.com/rxjs/7.5.7: + resolution: {integrity: sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rxjs/-/rxjs-7.5.7.tgz} + name: rxjs + version: 7.5.7 + dependencies: + tslib: registry.npmmirror.com/tslib/2.4.1 + dev: true + + registry.npmmirror.com/semver-compare/1.0.0: + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/semver-compare/-/semver-compare-1.0.0.tgz} + name: semver-compare + version: 1.0.0 + dev: true + + registry.npmmirror.com/semver-regex/3.1.4: + resolution: {integrity: sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/semver-regex/-/semver-regex-3.1.4.tgz} + name: semver-regex + version: 3.1.4 + engines: {node: '>=8'} + dev: true + + registry.npmmirror.com/shebang-command/2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz} + name: shebang-command + version: 2.0.0 + engines: {node: '>=8'} + dependencies: + shebang-regex: registry.npmmirror.com/shebang-regex/3.0.0 + dev: true + + registry.npmmirror.com/shebang-regex/3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz} + name: shebang-regex + version: 3.0.0 + engines: {node: '>=8'} + dev: true + + registry.npmmirror.com/signal-exit/3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz} + name: signal-exit + version: 3.0.7 + dev: true + + registry.npmmirror.com/slash/3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz} + name: slash + version: 3.0.0 + engines: {node: '>=8'} + dev: true + + registry.npmmirror.com/slice-ansi/3.0.0: + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/slice-ansi/-/slice-ansi-3.0.0.tgz} + name: slice-ansi + version: 3.0.0 + engines: {node: '>=8'} + dependencies: + ansi-styles: registry.npmmirror.com/ansi-styles/4.3.0 + astral-regex: registry.npmmirror.com/astral-regex/2.0.0 + is-fullwidth-code-point: registry.npmmirror.com/is-fullwidth-code-point/3.0.0 + dev: true + + registry.npmmirror.com/slice-ansi/4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/slice-ansi/-/slice-ansi-4.0.0.tgz} + name: slice-ansi + version: 4.0.0 + engines: {node: '>=10'} + dependencies: + ansi-styles: registry.npmmirror.com/ansi-styles/4.3.0 + astral-regex: registry.npmmirror.com/astral-regex/2.0.0 + is-fullwidth-code-point: registry.npmmirror.com/is-fullwidth-code-point/3.0.0 + dev: true + + registry.npmmirror.com/string-argv/0.3.1: + resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/string-argv/-/string-argv-0.3.1.tgz} + name: string-argv + version: 0.3.1 + engines: {node: '>=0.6.19'} + dev: true + + registry.npmmirror.com/string-width/4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz} + name: string-width + version: 4.2.3 + engines: {node: '>=8'} + dependencies: + emoji-regex: registry.npmmirror.com/emoji-regex/8.0.0 + is-fullwidth-code-point: registry.npmmirror.com/is-fullwidth-code-point/3.0.0 + strip-ansi: registry.npmmirror.com/strip-ansi/6.0.1 + dev: true + + registry.npmmirror.com/stringify-object/3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/stringify-object/-/stringify-object-3.3.0.tgz} + name: stringify-object + version: 3.3.0 + engines: {node: '>=4'} + dependencies: + get-own-enumerable-property-symbols: registry.npmmirror.com/get-own-enumerable-property-symbols/3.0.2 + is-obj: registry.npmmirror.com/is-obj/1.0.1 + is-regexp: registry.npmmirror.com/is-regexp/1.0.0 + dev: true + + registry.npmmirror.com/strip-ansi/6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz} + name: strip-ansi + version: 6.0.1 + engines: {node: '>=8'} + dependencies: + ansi-regex: registry.npmmirror.com/ansi-regex/5.0.1 + dev: true + + registry.npmmirror.com/strip-final-newline/2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz} + name: strip-final-newline + version: 2.0.0 + engines: {node: '>=6'} + dev: true + + registry.npmmirror.com/supports-color/5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz} + name: supports-color + version: 5.5.0 + engines: {node: '>=4'} + dependencies: + has-flag: registry.npmmirror.com/has-flag/3.0.0 + dev: true + + registry.npmmirror.com/supports-color/7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz} + name: supports-color + version: 7.2.0 + engines: {node: '>=8'} + dependencies: + has-flag: registry.npmmirror.com/has-flag/4.0.0 + dev: true + + registry.npmmirror.com/through/2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/through/-/through-2.3.8.tgz} + name: through + version: 2.3.8 + dev: true + + registry.npmmirror.com/to-regex-range/5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz} + name: to-regex-range + version: 5.0.1 + engines: {node: '>=8.0'} + dependencies: + is-number: registry.npmmirror.com/is-number/7.0.0 + dev: true + + registry.npmmirror.com/tslib/2.4.1: + resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tslib/-/tslib-2.4.1.tgz} + name: tslib + version: 2.4.1 + dev: true + + registry.npmmirror.com/type-fest/0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/type-fest/-/type-fest-0.21.3.tgz} + name: type-fest + version: 0.21.3 + engines: {node: '>=10'} + dev: true + + registry.npmmirror.com/which-pm-runs/1.1.0: + resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/which-pm-runs/-/which-pm-runs-1.1.0.tgz} + name: which-pm-runs + version: 1.1.0 + engines: {node: '>=4'} + dev: true + + registry.npmmirror.com/which/2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/which/-/which-2.0.2.tgz} + name: which + version: 2.0.2 + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: registry.npmmirror.com/isexe/2.0.0 + dev: true + + registry.npmmirror.com/wrap-ansi/6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz} + name: wrap-ansi + version: 6.2.0 + engines: {node: '>=8'} + dependencies: + ansi-styles: registry.npmmirror.com/ansi-styles/4.3.0 + string-width: registry.npmmirror.com/string-width/4.2.3 + strip-ansi: registry.npmmirror.com/strip-ansi/6.0.1 + dev: true + + registry.npmmirror.com/wrap-ansi/7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz} + name: wrap-ansi + version: 7.0.0 + engines: {node: '>=10'} + dependencies: + ansi-styles: registry.npmmirror.com/ansi-styles/4.3.0 + string-width: registry.npmmirror.com/string-width/4.2.3 + strip-ansi: registry.npmmirror.com/strip-ansi/6.0.1 + dev: true + + registry.npmmirror.com/wrappy/1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz} + name: wrappy + version: 1.0.2 + dev: true + + registry.npmmirror.com/yaml/1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz} + name: yaml + version: 1.10.2 + engines: {node: '>= 6'} + dev: true + + registry.npmmirror.com/yocto-queue/0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz} + name: yocto-queue + version: 0.1.0 + engines: {node: '>=10'} + dev: true diff --git a/scripts/gen/index.js b/scripts/gen/index.js new file mode 100644 index 0000000..2a49bbd --- /dev/null +++ b/scripts/gen/index.js @@ -0,0 +1,87 @@ +/** + * @desc: gen script command,make a new page generated by one click. + * @author: nicejade + */ + +const fs = require('fs') +const path = require('path') +const colors = require('colors') + +const newFolderName = process.argv[2] + +String.prototype.firstUpperCase = function() { + return this.replace(/\b(\w)/g, $1 => { + return $1.toLowerCase() + }) +} +const resolve = dir => { + return path.join(__dirname, '../..', dir) +} + +const successExecPrint = msg => { + console.log( + colors.green(`✓ `) + + colors.cyan(`${msg} `) + + colors.green('task has been successfully executed.') + ) +} + +function createNewPage(newFolderPath) { + const mReg = new RegExp('@PAGE_CLASS_NAME', 'g') + const pageContent = fs.readFileSync(`${__dirname}/template.ux`, 'UTF-8') + const rootClassName = newFolderName + .firstUpperCase() + .replace(/([A-Z])/g, '-$1') + .toLowerCase() + const newContent = pageContent.replace(mReg, rootClassName) + + fs.mkdirSync(newFolderPath, 0777) + fs.writeFile(`${newFolderPath}/index.ux`, newContent, error => { + if (error) throw `Something went wrong: ${error}` + }) + successExecPrint('Create New Page') +} + +function saveRouter2Manifest() { + const manifestPath = resolve('/src/manifest.json') + let manifestConf = fs.readFileSync(manifestPath, 'UTF-8') + manifestConf = JSON.parse(manifestConf) + const routerPages = manifestConf.router.pages + routerPages[`pages/${newFolderName}`] = { + component: 'index' + } + manifestConf = JSON.stringify(manifestConf, null, 2) + fs.writeFile(manifestPath, manifestConf, error => { + if (error) throw `Something went wrong[@saveRouter2Manifest]: ${error}` + }) + successExecPrint('Save Router Into Manifest') +} + +function main() { + if (!newFolderName) { + return console.warn( + `⚠️ Please enter the name of the page you want to create.`.underline.red + ) + } + + const folderNameReg = /^[A-Z][[A-Za-z0-9]+$/ + if (!folderNameReg.test(newFolderName)) { + return console.warn( + `⚠️ Please enter the standard Folder name. Eg: XyzAbcde.`.underline.red + ) + } + + const newFolderPath = path.join(__dirname, `../../src/pages/${newFolderName}`) + const isExist = fs.existsSync(newFolderPath) + + if (isExist) { + return console.warn( + `⚠️ ${newFolderName} already exists in the /src/pages/ directory.` + .underline.red + ) + } + createNewPage(newFolderPath) + saveRouter2Manifest() +} + +main() diff --git a/scripts/gen/template.ux b/scripts/gen/template.ux new file mode 100644 index 0000000..6d03fb7 --- /dev/null +++ b/scripts/gen/template.ux @@ -0,0 +1,27 @@ + + + + + diff --git a/scripts/selfCloseInputTag.js b/scripts/selfCloseInputTag.js new file mode 100644 index 0000000..e806369 --- /dev/null +++ b/scripts/selfCloseInputTag.js @@ -0,0 +1,36 @@ +/** + * @file: selfCloseInputTag.js + * @desc: 遍历指定目录下 .ux 文件,将其中 input 标签由 转换为 + * @date: 2019-01-23 + */ + +const fs = require('fs') +const path = require('path') + +const codePath = './src/' + +const main = codePath => { + const traversing = cpath => { + const files = fs.readdirSync(cpath) + files.forEach(fileName => { + const fPath = path.join(cpath, fileName) + const stats = fs.statSync(fPath) + stats.isDirectory() && traversing(fPath) + stats.isFile() && fPath.endsWith('.ux') && matchAndReplace(fPath) + }) + } + traversing(codePath) +} + +const matchAndReplace = path => { + const pageContent = fs.readFileSync(path, 'UTF-8') + const newContent = pageContent.replace( + /(<)([\s]*?)(input\b[^\/]*?)>[\s\S]*?<\/input>/gm, + '$1$3 />' + ) + fs.writeFile(path, newContent, error => { + if (error) throw `Something went wrong: ${error}` + }) +} + +main(codePath) diff --git a/sign/certificate.pem b/sign/certificate.pem new file mode 100644 index 0000000..0b3ce9f --- /dev/null +++ b/sign/certificate.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGHjCCBAagAwIBAgIJAKhp5sS6vdNrMA0GCSqGSIb3DQEBCwUAMIGjMQswCQYD +VQQGEwJaSDESMBAGA1UECAwJR3VhbmdEb25nMRIwEAYDVQQHDAlTaGVuIHpoZW4x +ITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDETMBEGA1UECwwKT3Bl +cmF0aW9uczEQMA4GA1UEAwwHZGVmYXVsdDEiMCAGCSqGSIb3DQEJARYTZGVmYXVs +dEBkZWZhdWx0LmNvbTAeFw0yNTA0MjYwNTI1MTJaFw0zNTA0MjQwNTI1MTJaMIGj +MQswCQYDVQQGEwJaSDESMBAGA1UECAwJR3VhbmdEb25nMRIwEAYDVQQHDAlTaGVu +IHpoZW4xITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDETMBEGA1UE +CwwKT3BlcmF0aW9uczEQMA4GA1UEAwwHZGVmYXVsdDEiMCAGCSqGSIb3DQEJARYT +ZGVmYXVsdEBkZWZhdWx0LmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC +ggIBAMmdDe26LstLddBzmzUgoOGB2vtH2B1x/jKFAEB325PKNS0HIq6hMtLkmyla +/4EqZNVZcxjw6ZXiXZd1dTr74IjRaRdyQJTkfCLyhTbsFdqrYrPO3FhgS2nbqR2g +dYQs9C5W5B4TlHM+LkHUY9hkT4HhiAg+GKPO4gDl6ePzG6SKDQSHgHINh0LXz5Tw +l8OzQMG9mS4kfIXkC87DQoAMySZ6CsgveN2aYbpZVxXIJvsGADHRbk9LhICd2IsU +kw+YvQtg4XShj7ErfL9J4Gp5zufyDycIqqcrYiFVJeqRVI5olH+WGFDoZg2D7wyi +uMxMuspNuxqXxyrhS83YSPxzFGPLI3y5V30p3BlpVTIhraDYtSILTwpNhio48Btz +JA5glNS0Xm/BeM8Uy2sUhJcV4JV2IwDXpDxuAcrWESjCjZxd5J0NEiukQToV7pNe +G/GuIXggvzzgPS2YBBndynpzh5NcKcN5dsltGrpdmx/zzEiv3OhXYi6iOqF/jccY +/hFVFIvqVZZ1uSnE9MOL7ipkeAR4iz8e2JS5osHjHzbhPKjb+Le4kdyNoTzNWkiJ +rSGel6UL4jtVayqTJ1gfo8h8IJoBXa0+I5069jjj7zW2+B8MX0NR3ny7Bparowf/ +bMe4v6PP72OrL4tv80oncZOSj5LF7zn5BAngv+eabeFI92UhAgMBAAGjUzBRMB0G +A1UdDgQWBBSBIPL2F+bK7DoSxoo7+YeB7+FVizAfBgNVHSMEGDAWgBSBIPL2F+bK +7DoSxoo7+YeB7+FVizAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IC +AQCi01qnW1v0rzNuOQmbMqO1MiJXD3wBj17dAVeHcvjKyN8BzPDFNS6/Xpuwwu3f +CHx6z6l6kVlGyxz9VE6Q3UVcImA2b8Q7JA1ePT3rry/7pur3yK1G3GmPF+ZELSjc +4+y+3AI2auI/JTJd5Q8rpv460amzwV+oH0gnf9V5MtxkVAKvyVK2RBTBlbYp8Nhg +elYz5PqzcnLw7mbQWEhjQYsetXSkBJMOpIlnRNaGIQOZhpKvywAPQqMtkQW6XSA7 +DyWLdxeaLsxyZKsmueLJT+4ekodZcHXmyc7RXhIFJm3Zc+9/xLsRO2rSA4fxZqeq +lk67nwyKomjRxEqZeelmBOERQemnpvRN5Ftyoxkuc/CitttKO6Keg5D7LbrzlwIH +PWxyBET+ffIWPnjUuBOFtOD2aa3LHXdX3L3M83dUO0Nh5XnCQFpv/eY3YZE1vyRM +IZ8n2AscwF7bddWnFXV+2GnPnJQzrH1ns7lu8vYXkAzQ+3ryWJ13ohMOgfTcQbHt ++7Ekr+M31OD4BOXv15oaw5hmxt/6AcmHzWFle7lx2U1ilM4TYGauyGFHCmJPtXhd +xsNy67zHhmSsMGOEFFr7lGF2AL4T8LSEGA6TVfnvlLUQXoeBX/74YmEipj8yqRVX ++kHU1+xXeu8brnaiROmHXDj1QyYoaDj1SDh71+n0P8x6hA== +-----END CERTIFICATE----- diff --git a/sign/private.pem b/sign/private.pem new file mode 100644 index 0000000..51e4eb5 --- /dev/null +++ b/sign/private.pem @@ -0,0 +1,52 @@ +-----BEGIN PRIVATE KEY----- +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 +IwDw0kiYIvAvClOiqhoMykztAFij0YI= +-----END PRIVATE KEY----- diff --git a/src/app.ux b/src/app.ux new file mode 100644 index 0000000..55d7785 --- /dev/null +++ b/src/app.ux @@ -0,0 +1,13 @@ + diff --git a/src/assets/images/logo.png b/src/assets/images/logo.png new file mode 100644 index 0000000..13ef38b Binary files /dev/null and b/src/assets/images/logo.png differ diff --git a/src/assets/styles/mixins.scss b/src/assets/styles/mixins.scss new file mode 100644 index 0000000..56fbb5e --- /dev/null +++ b/src/assets/styles/mixins.scss @@ -0,0 +1,5 @@ +@mixin flex-box-mixins($direction: row, $justify: center, $align-items: center) { + flex-direction: $direction; + justify-content: $justify; + align-items: $align-items; +} diff --git a/src/assets/styles/style.scss b/src/assets/styles/style.scss new file mode 100644 index 0000000..088ebfa --- /dev/null +++ b/src/assets/styles/style.scss @@ -0,0 +1,2 @@ +@import './variables.scss'; +@import './mixins.scss'; diff --git a/src/assets/styles/variables.scss b/src/assets/styles/variables.scss new file mode 100644 index 0000000..04a6053 --- /dev/null +++ b/src/assets/styles/variables.scss @@ -0,0 +1,9 @@ +$brand: #09ba07; + +$white: #ffffff; +$black: #000000; +$grey: #9393aa; +$red: #fa0101; +$green: #ffff00; + +$size-factor: 5px; diff --git a/src/manifest.json b/src/manifest.json new file mode 100644 index 0000000..0ed59bc --- /dev/null +++ b/src/manifest.json @@ -0,0 +1,38 @@ +{ + "package": "top.chorblack.testschedule", + "name": "testschedule", + "versionName": "1.0.0", + "versionCode": 1, + "appCategory": [ + "other" + ], + "icon": "/assets/images/logo.png", + "features": [ + { + "name": "blueos.app.appmanager.router" + }, + { "name": "blueos.app.appmanager.schedule" }, + { "name": "blueos.window.prompt" } + ], + "deviceTypeList": [ + "watch", + "watch-square" + ], + "config": { + "designWidth": 466 + }, + "router": { + "entry": "pages/Demo", + "pages": { + "pages/Demo": { + "component": "index" + }, + "pages/DemoDetail": { + "component": "index" + } + } + }, + "display": { + "backgroundColor": "#ffffff" + } +} diff --git a/src/pages/Demo/index.ux b/src/pages/Demo/index.ux new file mode 100644 index 0000000..e3ddc53 --- /dev/null +++ b/src/pages/Demo/index.ux @@ -0,0 +1,72 @@ + + + + + diff --git a/src/pages/DemoDetail/index.ux b/src/pages/DemoDetail/index.ux new file mode 100644 index 0000000..152dc6a --- /dev/null +++ b/src/pages/DemoDetail/index.ux @@ -0,0 +1,27 @@ + + + + +