diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/index.html b/index.html new file mode 100644 index 0000000..bdd8b87 --- /dev/null +++ b/index.html @@ -0,0 +1,19 @@ + + + + + + + + + Solid App + + + + +
+ + + + + \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..4e667c0 --- /dev/null +++ b/package.json @@ -0,0 +1,36 @@ +{ + "name": "pc1", + "private": true, + "version": "0.0.0", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview" + }, + "devDependencies": { + "@types/node": "^18.15.11", + "autoprefixer": "^10.4.14", + "postcss": "^8.4.21", + "tailwindcss": "^3.3.1", + "typescript": "^4.9.5", + "vite": "^4.2.0", + "vite-plugin-solid": "^2.7.0", + "vitest": "^0.30.1" + }, + "dependencies": { + "axios": "^1.3.5", + "class-variance-authority": "^0.5.2", + "clsx": "^1.2.1", + "dayjs": "^1.11.7", + "hls.js": "^1.4.0", + "lodash": "^4.17.21", + "mitt": "^3.0.0", + "nzh": "^1.0.8", + "path-to-regexp": "^6.2.1", + "qs": "^6.11.1", + "solid-js": "^1.7.3", + "tailwind-merge": "^1.12.0", + "tailwindcss-animate": "^1.0.5", + "tapable": "^2.2.1" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..0556dce --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,2560 @@ +lockfileVersion: 5.4 + +specifiers: + '@types/node': ^18.15.11 + autoprefixer: ^10.4.14 + axios: ^1.3.5 + class-variance-authority: ^0.5.2 + clsx: ^1.2.1 + dayjs: ^1.11.7 + hls.js: ^1.4.0 + lodash: ^4.17.21 + mitt: ^3.0.0 + nzh: ^1.0.8 + path-to-regexp: ^6.2.1 + postcss: ^8.4.21 + qs: ^6.11.1 + solid-js: ^1.7.3 + tailwind-merge: ^1.12.0 + tailwindcss: ^3.3.1 + tailwindcss-animate: ^1.0.5 + tapable: ^2.2.1 + typescript: ^4.9.5 + vite: ^4.2.0 + vite-plugin-solid: ^2.7.0 + vitest: ^0.30.1 + +dependencies: + axios: registry.npmmirror.com/axios/1.3.5 + class-variance-authority: registry.npmmirror.com/class-variance-authority/0.5.3_typescript@4.9.5 + clsx: registry.npmmirror.com/clsx/1.2.1 + dayjs: registry.npmmirror.com/dayjs/1.11.7 + hls.js: registry.npmmirror.com/hls.js/1.4.0 + lodash: registry.npmmirror.com/lodash/4.17.21 + mitt: registry.npmmirror.com/mitt/3.0.0 + nzh: registry.npmmirror.com/nzh/1.0.8 + path-to-regexp: registry.npmmirror.com/path-to-regexp/6.2.1 + qs: registry.npmmirror.com/qs/6.11.1 + solid-js: registry.npmmirror.com/solid-js/1.7.3 + tailwind-merge: registry.npmmirror.com/tailwind-merge/1.12.0 + tailwindcss-animate: registry.npmmirror.com/tailwindcss-animate/1.0.5_tailwindcss@3.3.1 + tapable: registry.npmmirror.com/tapable/2.2.1 + +devDependencies: + '@types/node': registry.npmmirror.com/@types/node/18.15.11 + autoprefixer: registry.npmmirror.com/autoprefixer/10.4.14_postcss@8.4.21 + postcss: registry.npmmirror.com/postcss/8.4.21 + tailwindcss: registry.npmmirror.com/tailwindcss/3.3.1_postcss@8.4.21 + typescript: registry.npmmirror.com/typescript/4.9.5 + vite: registry.npmmirror.com/vite/4.2.1_@types+node@18.15.11 + vite-plugin-solid: registry.npmmirror.com/vite-plugin-solid/2.7.0_solid-js@1.7.3+vite@4.2.1 + vitest: registry.npmmirror.com/vitest/0.30.1 + +packages: + + registry.npmmirror.com/@ampproject/remapping/2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.2.1.tgz} + name: '@ampproject/remapping' + version: 2.2.1 + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': registry.npmmirror.com/@jridgewell/gen-mapping/0.3.3 + '@jridgewell/trace-mapping': registry.npmmirror.com/@jridgewell/trace-mapping/0.3.18 + dev: true + + registry.npmmirror.com/@babel/code-frame/7.21.4: + resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.21.4.tgz} + name: '@babel/code-frame' + version: 7.21.4 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': registry.npmmirror.com/@babel/highlight/7.18.6 + dev: true + + registry.npmmirror.com/@babel/compat-data/7.21.4: + resolution: {integrity: sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.21.4.tgz} + name: '@babel/compat-data' + version: 7.21.4 + engines: {node: '>=6.9.0'} + dev: true + + registry.npmmirror.com/@babel/core/7.21.4: + resolution: {integrity: sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/core/-/core-7.21.4.tgz} + name: '@babel/core' + version: 7.21.4 + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': registry.npmmirror.com/@ampproject/remapping/2.2.1 + '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.21.4 + '@babel/generator': registry.npmmirror.com/@babel/generator/7.21.4 + '@babel/helper-compilation-targets': registry.npmmirror.com/@babel/helper-compilation-targets/7.21.4_@babel+core@7.21.4 + '@babel/helper-module-transforms': registry.npmmirror.com/@babel/helper-module-transforms/7.21.2 + '@babel/helpers': registry.npmmirror.com/@babel/helpers/7.21.0 + '@babel/parser': registry.npmmirror.com/@babel/parser/7.21.4 + '@babel/template': registry.npmmirror.com/@babel/template/7.20.7 + '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.21.4 + '@babel/types': registry.npmmirror.com/@babel/types/7.21.4 + convert-source-map: registry.npmmirror.com/convert-source-map/1.9.0 + debug: registry.npmmirror.com/debug/4.3.4 + gensync: registry.npmmirror.com/gensync/1.0.0-beta.2 + json5: registry.npmmirror.com/json5/2.2.3 + semver: registry.npmmirror.com/semver/6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/generator/7.21.4: + resolution: {integrity: sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/generator/-/generator-7.21.4.tgz} + name: '@babel/generator' + version: 7.21.4 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.21.4 + '@jridgewell/gen-mapping': registry.npmmirror.com/@jridgewell/gen-mapping/0.3.3 + '@jridgewell/trace-mapping': registry.npmmirror.com/@jridgewell/trace-mapping/0.3.18 + jsesc: registry.npmmirror.com/jsesc/2.5.2 + dev: true + + registry.npmmirror.com/@babel/helper-annotate-as-pure/7.18.6: + resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz} + name: '@babel/helper-annotate-as-pure' + version: 7.18.6 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.21.4 + dev: true + + registry.npmmirror.com/@babel/helper-compilation-targets/7.21.4_@babel+core@7.21.4: + resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz} + id: registry.npmmirror.com/@babel/helper-compilation-targets/7.21.4 + name: '@babel/helper-compilation-targets' + version: 7.21.4 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': registry.npmmirror.com/@babel/compat-data/7.21.4 + '@babel/core': registry.npmmirror.com/@babel/core/7.21.4 + '@babel/helper-validator-option': registry.npmmirror.com/@babel/helper-validator-option/7.21.0 + browserslist: registry.npmmirror.com/browserslist/4.21.5 + lru-cache: registry.npmmirror.com/lru-cache/5.1.1 + semver: registry.npmmirror.com/semver/6.3.0 + dev: true + + registry.npmmirror.com/@babel/helper-create-class-features-plugin/7.21.4_@babel+core@7.21.4: + resolution: {integrity: sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.4.tgz} + id: registry.npmmirror.com/@babel/helper-create-class-features-plugin/7.21.4 + name: '@babel/helper-create-class-features-plugin' + version: 7.21.4 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.21.4 + '@babel/helper-annotate-as-pure': registry.npmmirror.com/@babel/helper-annotate-as-pure/7.18.6 + '@babel/helper-environment-visitor': registry.npmmirror.com/@babel/helper-environment-visitor/7.18.9 + '@babel/helper-function-name': registry.npmmirror.com/@babel/helper-function-name/7.21.0 + '@babel/helper-member-expression-to-functions': registry.npmmirror.com/@babel/helper-member-expression-to-functions/7.21.0 + '@babel/helper-optimise-call-expression': registry.npmmirror.com/@babel/helper-optimise-call-expression/7.18.6 + '@babel/helper-replace-supers': registry.npmmirror.com/@babel/helper-replace-supers/7.20.7 + '@babel/helper-skip-transparent-expression-wrappers': registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/7.20.0 + '@babel/helper-split-export-declaration': registry.npmmirror.com/@babel/helper-split-export-declaration/7.18.6 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/helper-environment-visitor/7.18.9: + resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz} + name: '@babel/helper-environment-visitor' + version: 7.18.9 + engines: {node: '>=6.9.0'} + dev: true + + registry.npmmirror.com/@babel/helper-function-name/7.21.0: + resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz} + name: '@babel/helper-function-name' + version: 7.21.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': registry.npmmirror.com/@babel/template/7.20.7 + '@babel/types': registry.npmmirror.com/@babel/types/7.21.4 + dev: true + + registry.npmmirror.com/@babel/helper-hoist-variables/7.18.6: + resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz} + name: '@babel/helper-hoist-variables' + version: 7.18.6 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.21.4 + dev: true + + registry.npmmirror.com/@babel/helper-member-expression-to-functions/7.21.0: + resolution: {integrity: sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz} + name: '@babel/helper-member-expression-to-functions' + version: 7.21.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.21.4 + dev: true + + registry.npmmirror.com/@babel/helper-module-imports/7.18.6: + resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz} + name: '@babel/helper-module-imports' + version: 7.18.6 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.21.4 + dev: true + + registry.npmmirror.com/@babel/helper-module-imports/7.21.4: + resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz} + name: '@babel/helper-module-imports' + version: 7.21.4 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.21.4 + dev: true + + registry.npmmirror.com/@babel/helper-module-transforms/7.21.2: + resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz} + name: '@babel/helper-module-transforms' + version: 7.21.2 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': registry.npmmirror.com/@babel/helper-environment-visitor/7.18.9 + '@babel/helper-module-imports': registry.npmmirror.com/@babel/helper-module-imports/7.21.4 + '@babel/helper-simple-access': registry.npmmirror.com/@babel/helper-simple-access/7.20.2 + '@babel/helper-split-export-declaration': registry.npmmirror.com/@babel/helper-split-export-declaration/7.18.6 + '@babel/helper-validator-identifier': registry.npmmirror.com/@babel/helper-validator-identifier/7.19.1 + '@babel/template': registry.npmmirror.com/@babel/template/7.20.7 + '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.21.4 + '@babel/types': registry.npmmirror.com/@babel/types/7.21.4 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/helper-optimise-call-expression/7.18.6: + resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz} + name: '@babel/helper-optimise-call-expression' + version: 7.18.6 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.21.4 + dev: true + + registry.npmmirror.com/@babel/helper-plugin-utils/7.20.2: + resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz} + name: '@babel/helper-plugin-utils' + version: 7.20.2 + engines: {node: '>=6.9.0'} + dev: true + + registry.npmmirror.com/@babel/helper-replace-supers/7.20.7: + resolution: {integrity: sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz} + name: '@babel/helper-replace-supers' + version: 7.20.7 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': registry.npmmirror.com/@babel/helper-environment-visitor/7.18.9 + '@babel/helper-member-expression-to-functions': registry.npmmirror.com/@babel/helper-member-expression-to-functions/7.21.0 + '@babel/helper-optimise-call-expression': registry.npmmirror.com/@babel/helper-optimise-call-expression/7.18.6 + '@babel/template': registry.npmmirror.com/@babel/template/7.20.7 + '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.21.4 + '@babel/types': registry.npmmirror.com/@babel/types/7.21.4 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/helper-simple-access/7.20.2: + resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz} + name: '@babel/helper-simple-access' + version: 7.20.2 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.21.4 + dev: true + + registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/7.20.0: + resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz} + name: '@babel/helper-skip-transparent-expression-wrappers' + version: 7.20.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.21.4 + dev: true + + registry.npmmirror.com/@babel/helper-split-export-declaration/7.18.6: + resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz} + name: '@babel/helper-split-export-declaration' + version: 7.18.6 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.21.4 + dev: true + + registry.npmmirror.com/@babel/helper-string-parser/7.19.4: + resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz} + name: '@babel/helper-string-parser' + version: 7.19.4 + engines: {node: '>=6.9.0'} + 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/helper-validator-option/7.21.0: + resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz} + name: '@babel/helper-validator-option' + version: 7.21.0 + engines: {node: '>=6.9.0'} + dev: true + + registry.npmmirror.com/@babel/helpers/7.21.0: + resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helpers/-/helpers-7.21.0.tgz} + name: '@babel/helpers' + version: 7.21.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': registry.npmmirror.com/@babel/template/7.20.7 + '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.21.4 + '@babel/types': registry.npmmirror.com/@babel/types/7.21.4 + transitivePeerDependencies: + - supports-color + 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/@babel/parser/7.21.4: + resolution: {integrity: sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/parser/-/parser-7.21.4.tgz} + name: '@babel/parser' + version: 7.21.4 + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.21.4 + dev: true + + registry.npmmirror.com/@babel/plugin-syntax-jsx/7.21.4_@babel+core@7.21.4: + resolution: {integrity: sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz} + id: registry.npmmirror.com/@babel/plugin-syntax-jsx/7.21.4 + name: '@babel/plugin-syntax-jsx' + version: 7.21.4 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.21.4 + '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.20.2 + dev: true + + registry.npmmirror.com/@babel/plugin-syntax-typescript/7.21.4_@babel+core@7.21.4: + resolution: {integrity: sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz} + id: registry.npmmirror.com/@babel/plugin-syntax-typescript/7.21.4 + name: '@babel/plugin-syntax-typescript' + version: 7.21.4 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.21.4 + '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.20.2 + dev: true + + registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/7.21.2_@babel+core@7.21.4: + resolution: {integrity: sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/7.21.2 + name: '@babel/plugin-transform-modules-commonjs' + version: 7.21.2 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.21.4 + '@babel/helper-module-transforms': registry.npmmirror.com/@babel/helper-module-transforms/7.21.2 + '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.20.2 + '@babel/helper-simple-access': registry.npmmirror.com/@babel/helper-simple-access/7.20.2 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/plugin-transform-typescript/7.21.3_@babel+core@7.21.4: + resolution: {integrity: sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.3.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-typescript/7.21.3 + name: '@babel/plugin-transform-typescript' + version: 7.21.3 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.21.4 + '@babel/helper-annotate-as-pure': registry.npmmirror.com/@babel/helper-annotate-as-pure/7.18.6 + '@babel/helper-create-class-features-plugin': registry.npmmirror.com/@babel/helper-create-class-features-plugin/7.21.4_@babel+core@7.21.4 + '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.20.2 + '@babel/plugin-syntax-typescript': registry.npmmirror.com/@babel/plugin-syntax-typescript/7.21.4_@babel+core@7.21.4 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/preset-typescript/7.21.4_@babel+core@7.21.4: + resolution: {integrity: sha512-sMLNWY37TCdRH/bJ6ZeeOH1nPuanED7Ai9Y/vH31IPqalioJ6ZNFUWONsakhv4r4n+I6gm5lmoE0olkgib/j/A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/preset-typescript/-/preset-typescript-7.21.4.tgz} + id: registry.npmmirror.com/@babel/preset-typescript/7.21.4 + name: '@babel/preset-typescript' + version: 7.21.4 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.21.4 + '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.20.2 + '@babel/helper-validator-option': registry.npmmirror.com/@babel/helper-validator-option/7.21.0 + '@babel/plugin-syntax-jsx': registry.npmmirror.com/@babel/plugin-syntax-jsx/7.21.4_@babel+core@7.21.4 + '@babel/plugin-transform-modules-commonjs': registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/7.21.2_@babel+core@7.21.4 + '@babel/plugin-transform-typescript': registry.npmmirror.com/@babel/plugin-transform-typescript/7.21.3_@babel+core@7.21.4 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/template/7.20.7: + resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/template/-/template-7.20.7.tgz} + name: '@babel/template' + version: 7.20.7 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.21.4 + '@babel/parser': registry.npmmirror.com/@babel/parser/7.21.4 + '@babel/types': registry.npmmirror.com/@babel/types/7.21.4 + dev: true + + registry.npmmirror.com/@babel/traverse/7.21.4: + resolution: {integrity: sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/traverse/-/traverse-7.21.4.tgz} + name: '@babel/traverse' + version: 7.21.4 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.21.4 + '@babel/generator': registry.npmmirror.com/@babel/generator/7.21.4 + '@babel/helper-environment-visitor': registry.npmmirror.com/@babel/helper-environment-visitor/7.18.9 + '@babel/helper-function-name': registry.npmmirror.com/@babel/helper-function-name/7.21.0 + '@babel/helper-hoist-variables': registry.npmmirror.com/@babel/helper-hoist-variables/7.18.6 + '@babel/helper-split-export-declaration': registry.npmmirror.com/@babel/helper-split-export-declaration/7.18.6 + '@babel/parser': registry.npmmirror.com/@babel/parser/7.21.4 + '@babel/types': registry.npmmirror.com/@babel/types/7.21.4 + debug: registry.npmmirror.com/debug/4.3.4 + globals: registry.npmmirror.com/globals/11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/types/7.21.4: + resolution: {integrity: sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/types/-/types-7.21.4.tgz} + name: '@babel/types' + version: 7.21.4 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': registry.npmmirror.com/@babel/helper-string-parser/7.19.4 + '@babel/helper-validator-identifier': registry.npmmirror.com/@babel/helper-validator-identifier/7.19.1 + to-fast-properties: registry.npmmirror.com/to-fast-properties/2.0.0 + dev: true + + registry.npmmirror.com/@esbuild/android-arm/0.17.16: + resolution: {integrity: sha512-baLqRpLe4JnKrUXLJChoTN0iXZH7El/mu58GE3WIA6/H834k0XWvLRmGLG8y8arTRS9hJJibPnF0tiGhmWeZgw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.17.16.tgz} + name: '@esbuild/android-arm' + version: 0.17.16 + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/android-arm64/0.17.16: + resolution: {integrity: sha512-QX48qmsEZW+gcHgTmAj+x21mwTz8MlYQBnzF6861cNdQGvj2jzzFjqH0EBabrIa/WVZ2CHolwMoqxVryqKt8+Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.17.16.tgz} + name: '@esbuild/android-arm64' + version: 0.17.16 + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/android-x64/0.17.16: + resolution: {integrity: sha512-G4wfHhrrz99XJgHnzFvB4UwwPxAWZaZBOFXh+JH1Duf1I4vIVfuYY9uVLpx4eiV2D/Jix8LJY+TAdZ3i40tDow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.17.16.tgz} + name: '@esbuild/android-x64' + version: 0.17.16 + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/darwin-arm64/0.17.16: + resolution: {integrity: sha512-/Ofw8UXZxuzTLsNFmz1+lmarQI6ztMZ9XktvXedTbt3SNWDn0+ODTwxExLYQ/Hod91EZB4vZPQJLoqLF0jvEzA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.16.tgz} + name: '@esbuild/darwin-arm64' + version: 0.17.16 + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/darwin-x64/0.17.16: + resolution: {integrity: sha512-SzBQtCV3Pdc9kyizh36Ol+dNVhkDyIrGb/JXZqFq8WL37LIyrXU0gUpADcNV311sCOhvY+f2ivMhb5Tuv8nMOQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.17.16.tgz} + name: '@esbuild/darwin-x64' + version: 0.17.16 + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/freebsd-arm64/0.17.16: + resolution: {integrity: sha512-ZqftdfS1UlLiH1DnS2u3It7l4Bc3AskKeu+paJSfk7RNOMrOxmeFDhLTMQqMxycP1C3oj8vgkAT6xfAuq7ZPRA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.16.tgz} + name: '@esbuild/freebsd-arm64' + version: 0.17.16 + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/freebsd-x64/0.17.16: + resolution: {integrity: sha512-rHV6zNWW1tjgsu0dKQTX9L0ByiJHHLvQKrWtnz8r0YYJI27FU3Xu48gpK2IBj1uCSYhJ+pEk6Y0Um7U3rIvV8g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.16.tgz} + name: '@esbuild/freebsd-x64' + version: 0.17.16 + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/linux-arm/0.17.16: + resolution: {integrity: sha512-n4O8oVxbn7nl4+m+ISb0a68/lcJClIbaGAoXwqeubj/D1/oMMuaAXmJVfFlRjJLu/ZvHkxoiFJnmbfp4n8cdSw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.17.16.tgz} + name: '@esbuild/linux-arm' + version: 0.17.16 + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/linux-arm64/0.17.16: + resolution: {integrity: sha512-8yoZhGkU6aHu38WpaM4HrRLTFc7/VVD9Q2SvPcmIQIipQt2I/GMTZNdEHXoypbbGao5kggLcxg0iBKjo0SQYKA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.17.16.tgz} + name: '@esbuild/linux-arm64' + version: 0.17.16 + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/linux-ia32/0.17.16: + resolution: {integrity: sha512-9ZBjlkdaVYxPNO8a7OmzDbOH9FMQ1a58j7Xb21UfRU29KcEEU3VTHk+Cvrft/BNv0gpWJMiiZ/f4w0TqSP0gLA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.17.16.tgz} + name: '@esbuild/linux-ia32' + version: 0.17.16 + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/linux-loong64/0.17.16: + resolution: {integrity: sha512-TIZTRojVBBzdgChY3UOG7BlPhqJz08AL7jdgeeu+kiObWMFzGnQD7BgBBkWRwOtKR1i2TNlO7YK6m4zxVjjPRQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.17.16.tgz} + name: '@esbuild/linux-loong64' + version: 0.17.16 + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/linux-mips64el/0.17.16: + resolution: {integrity: sha512-UPeRuFKCCJYpBbIdczKyHLAIU31GEm0dZl1eMrdYeXDH+SJZh/i+2cAmD3A1Wip9pIc5Sc6Kc5cFUrPXtR0XHA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.16.tgz} + name: '@esbuild/linux-mips64el' + version: 0.17.16 + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/linux-ppc64/0.17.16: + resolution: {integrity: sha512-io6yShgIEgVUhExJejJ21xvO5QtrbiSeI7vYUnr7l+v/O9t6IowyhdiYnyivX2X5ysOVHAuyHW+Wyi7DNhdw6Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.16.tgz} + name: '@esbuild/linux-ppc64' + version: 0.17.16 + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/linux-riscv64/0.17.16: + resolution: {integrity: sha512-WhlGeAHNbSdG/I2gqX2RK2gfgSNwyJuCiFHMc8s3GNEMMHUI109+VMBfhVqRb0ZGzEeRiibi8dItR3ws3Lk+cA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.16.tgz} + name: '@esbuild/linux-riscv64' + version: 0.17.16 + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/linux-s390x/0.17.16: + resolution: {integrity: sha512-gHRReYsJtViir63bXKoFaQ4pgTyah4ruiMRQ6im9YZuv+gp3UFJkNTY4sFA73YDynmXZA6hi45en4BGhNOJUsw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.17.16.tgz} + name: '@esbuild/linux-s390x' + version: 0.17.16 + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/linux-x64/0.17.16: + resolution: {integrity: sha512-mfiiBkxEbUHvi+v0P+TS7UnA9TeGXR48aK4XHkTj0ZwOijxexgMF01UDFaBX7Q6CQsB0d+MFNv9IiXbIHTNd4g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.17.16.tgz} + name: '@esbuild/linux-x64' + version: 0.17.16 + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/netbsd-x64/0.17.16: + resolution: {integrity: sha512-n8zK1YRDGLRZfVcswcDMDM0j2xKYLNXqei217a4GyBxHIuPMGrrVuJ+Ijfpr0Kufcm7C1k/qaIrGy6eG7wvgmA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.16.tgz} + name: '@esbuild/netbsd-x64' + version: 0.17.16 + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/openbsd-x64/0.17.16: + resolution: {integrity: sha512-lEEfkfsUbo0xC47eSTBqsItXDSzwzwhKUSsVaVjVji07t8+6KA5INp2rN890dHZeueXJAI8q0tEIfbwVRYf6Ew==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.16.tgz} + name: '@esbuild/openbsd-x64' + version: 0.17.16 + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/sunos-x64/0.17.16: + resolution: {integrity: sha512-jlRjsuvG1fgGwnE8Afs7xYDnGz0dBgTNZfgCK6TlvPH3Z13/P5pi6I57vyLE8qZYLrGVtwcm9UbUx1/mZ8Ukag==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.17.16.tgz} + name: '@esbuild/sunos-x64' + version: 0.17.16 + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/win32-arm64/0.17.16: + resolution: {integrity: sha512-TzoU2qwVe2boOHl/3KNBUv2PNUc38U0TNnzqOAcgPiD/EZxT2s736xfC2dYQbszAwo4MKzzwBV0iHjhfjxMimg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.17.16.tgz} + name: '@esbuild/win32-arm64' + version: 0.17.16 + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/win32-ia32/0.17.16: + resolution: {integrity: sha512-B8b7W+oo2yb/3xmwk9Vc99hC9bNolvqjaTZYEfMQhzdpBsjTvZBlXQ/teUE55Ww6sg//wlcDjOaqldOKyigWdA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.17.16.tgz} + name: '@esbuild/win32-ia32' + version: 0.17.16 + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/win32-x64/0.17.16: + resolution: {integrity: sha512-xJ7OH/nanouJO9pf03YsL9NAFQBHd8AqfrQd7Pf5laGyyTt/gToul6QYOA/i5i/q8y9iaM5DQFNTgpi995VkOg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.17.16.tgz} + name: '@esbuild/win32-x64' + version: 0.17.16 + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@jridgewell/gen-mapping/0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz} + name: '@jridgewell/gen-mapping' + version: 0.3.3 + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': registry.npmmirror.com/@jridgewell/set-array/1.1.2 + '@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.15 + '@jridgewell/trace-mapping': registry.npmmirror.com/@jridgewell/trace-mapping/0.3.18 + + registry.npmmirror.com/@jridgewell/resolve-uri/3.1.0: + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz} + name: '@jridgewell/resolve-uri' + version: 3.1.0 + engines: {node: '>=6.0.0'} + + registry.npmmirror.com/@jridgewell/set-array/1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.1.2.tgz} + name: '@jridgewell/set-array' + version: 1.1.2 + engines: {node: '>=6.0.0'} + + registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14: + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz} + name: '@jridgewell/sourcemap-codec' + version: 1.4.14 + + registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz} + name: '@jridgewell/sourcemap-codec' + version: 1.4.15 + + registry.npmmirror.com/@jridgewell/trace-mapping/0.3.18: + resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz} + name: '@jridgewell/trace-mapping' + version: 0.3.18 + dependencies: + '@jridgewell/resolve-uri': registry.npmmirror.com/@jridgewell/resolve-uri/3.1.0 + '@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14 + + registry.npmmirror.com/@nodelib/fs.scandir/2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz} + name: '@nodelib/fs.scandir' + version: 2.1.5 + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': registry.npmmirror.com/@nodelib/fs.stat/2.0.5 + run-parallel: registry.npmmirror.com/run-parallel/1.2.0 + + registry.npmmirror.com/@nodelib/fs.stat/2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz} + name: '@nodelib/fs.stat' + version: 2.0.5 + engines: {node: '>= 8'} + + registry.npmmirror.com/@nodelib/fs.walk/1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz} + name: '@nodelib/fs.walk' + version: 1.2.8 + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': registry.npmmirror.com/@nodelib/fs.scandir/2.1.5 + fastq: registry.npmmirror.com/fastq/1.15.0 + + registry.npmmirror.com/@types/babel__core/7.20.0: + resolution: {integrity: sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/babel__core/-/babel__core-7.20.0.tgz} + name: '@types/babel__core' + version: 7.20.0 + dependencies: + '@babel/parser': registry.npmmirror.com/@babel/parser/7.21.4 + '@babel/types': registry.npmmirror.com/@babel/types/7.21.4 + '@types/babel__generator': registry.npmmirror.com/@types/babel__generator/7.6.4 + '@types/babel__template': registry.npmmirror.com/@types/babel__template/7.4.1 + '@types/babel__traverse': registry.npmmirror.com/@types/babel__traverse/7.18.3 + dev: true + + registry.npmmirror.com/@types/babel__generator/7.6.4: + resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/babel__generator/-/babel__generator-7.6.4.tgz} + name: '@types/babel__generator' + version: 7.6.4 + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.21.4 + dev: true + + registry.npmmirror.com/@types/babel__template/7.4.1: + resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/babel__template/-/babel__template-7.4.1.tgz} + name: '@types/babel__template' + version: 7.4.1 + dependencies: + '@babel/parser': registry.npmmirror.com/@babel/parser/7.21.4 + '@babel/types': registry.npmmirror.com/@babel/types/7.21.4 + dev: true + + registry.npmmirror.com/@types/babel__traverse/7.18.3: + resolution: {integrity: sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/babel__traverse/-/babel__traverse-7.18.3.tgz} + name: '@types/babel__traverse' + version: 7.18.3 + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.21.4 + dev: true + + registry.npmmirror.com/@types/chai-subset/1.3.3: + resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/chai-subset/-/chai-subset-1.3.3.tgz} + name: '@types/chai-subset' + version: 1.3.3 + dependencies: + '@types/chai': registry.npmmirror.com/@types/chai/4.3.4 + dev: true + + registry.npmmirror.com/@types/chai/4.3.4: + resolution: {integrity: sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/chai/-/chai-4.3.4.tgz} + name: '@types/chai' + version: 4.3.4 + dev: true + + registry.npmmirror.com/@types/node/18.15.11: + resolution: {integrity: sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/node/-/node-18.15.11.tgz} + name: '@types/node' + version: 18.15.11 + dev: true + + registry.npmmirror.com/@vitest/expect/0.30.1: + resolution: {integrity: sha512-c3kbEtN8XXJSeN81iDGq29bUzSjQhjES2WR3aColsS4lPGbivwLtas4DNUe0jD9gg/FYGIteqOenfU95EFituw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vitest/expect/-/expect-0.30.1.tgz} + name: '@vitest/expect' + version: 0.30.1 + dependencies: + '@vitest/spy': registry.npmmirror.com/@vitest/spy/0.30.1 + '@vitest/utils': registry.npmmirror.com/@vitest/utils/0.30.1 + chai: registry.npmmirror.com/chai/4.3.7 + dev: true + + registry.npmmirror.com/@vitest/runner/0.30.1: + resolution: {integrity: sha512-W62kT/8i0TF1UBCNMRtRMOBWJKRnNyv9RrjIgdUryEe0wNpGZvvwPDLuzYdxvgSckzjp54DSpv1xUbv4BQ0qVA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vitest/runner/-/runner-0.30.1.tgz} + name: '@vitest/runner' + version: 0.30.1 + dependencies: + '@vitest/utils': registry.npmmirror.com/@vitest/utils/0.30.1 + concordance: registry.npmmirror.com/concordance/5.0.4 + p-limit: registry.npmmirror.com/p-limit/4.0.0 + pathe: registry.npmmirror.com/pathe/1.1.0 + dev: true + + registry.npmmirror.com/@vitest/snapshot/0.30.1: + resolution: {integrity: sha512-fJZqKrE99zo27uoZA/azgWyWbFvM1rw2APS05yB0JaLwUIg9aUtvvnBf4q7JWhEcAHmSwbrxKFgyBUga6tq9Tw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vitest/snapshot/-/snapshot-0.30.1.tgz} + name: '@vitest/snapshot' + version: 0.30.1 + dependencies: + magic-string: registry.npmmirror.com/magic-string/0.30.0 + pathe: registry.npmmirror.com/pathe/1.1.0 + pretty-format: registry.npmmirror.com/pretty-format/27.5.1 + dev: true + + registry.npmmirror.com/@vitest/spy/0.30.1: + resolution: {integrity: sha512-YfJeIf37GvTZe04ZKxzJfnNNuNSmTEGnla2OdL60C8od16f3zOfv9q9K0nNii0NfjDJRt/CVN/POuY5/zTS+BA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vitest/spy/-/spy-0.30.1.tgz} + name: '@vitest/spy' + version: 0.30.1 + dependencies: + tinyspy: registry.npmmirror.com/tinyspy/2.1.0 + dev: true + + registry.npmmirror.com/@vitest/utils/0.30.1: + resolution: {integrity: sha512-/c8Xv2zUVc+rnNt84QF0Y0zkfxnaGhp87K2dYJMLtLOIckPzuxLVzAtFCicGFdB4NeBHNzTRr1tNn7rCtQcWFA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vitest/utils/-/utils-0.30.1.tgz} + name: '@vitest/utils' + version: 0.30.1 + dependencies: + concordance: registry.npmmirror.com/concordance/5.0.4 + loupe: registry.npmmirror.com/loupe/2.3.6 + pretty-format: registry.npmmirror.com/pretty-format/27.5.1 + dev: true + + registry.npmmirror.com/acorn-walk/8.2.0: + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/acorn-walk/-/acorn-walk-8.2.0.tgz} + name: acorn-walk + version: 8.2.0 + engines: {node: '>=0.4.0'} + dev: true + + registry.npmmirror.com/acorn/8.8.2: + resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/acorn/-/acorn-8.8.2.tgz} + name: acorn + version: 8.8.2 + engines: {node: '>=0.4.0'} + hasBin: true + 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/5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz} + name: ansi-styles + version: 5.2.0 + engines: {node: '>=10'} + dev: true + + registry.npmmirror.com/any-promise/1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/any-promise/-/any-promise-1.3.0.tgz} + name: any-promise + version: 1.3.0 + + registry.npmmirror.com/anymatch/3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz} + name: anymatch + version: 3.1.3 + engines: {node: '>= 8'} + dependencies: + normalize-path: registry.npmmirror.com/normalize-path/3.0.0 + picomatch: registry.npmmirror.com/picomatch/2.3.1 + + registry.npmmirror.com/arg/5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/arg/-/arg-5.0.2.tgz} + name: arg + version: 5.0.2 + + registry.npmmirror.com/assertion-error/1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/assertion-error/-/assertion-error-1.1.0.tgz} + name: assertion-error + version: 1.1.0 + dev: true + + registry.npmmirror.com/asynckit/0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz} + name: asynckit + version: 0.4.0 + dev: false + + registry.npmmirror.com/autoprefixer/10.4.14_postcss@8.4.21: + resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.14.tgz} + id: registry.npmmirror.com/autoprefixer/10.4.14 + name: autoprefixer + version: 10.4.14 + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: registry.npmmirror.com/browserslist/4.21.5 + caniuse-lite: registry.npmmirror.com/caniuse-lite/1.0.30001478 + fraction.js: registry.npmmirror.com/fraction.js/4.2.0 + normalize-range: registry.npmmirror.com/normalize-range/0.1.2 + picocolors: registry.npmmirror.com/picocolors/1.0.0 + postcss: registry.npmmirror.com/postcss/8.4.21 + postcss-value-parser: registry.npmmirror.com/postcss-value-parser/4.2.0 + dev: true + + registry.npmmirror.com/axios/1.3.5: + resolution: {integrity: sha512-glL/PvG/E+xCWwV8S6nCHcrfg1exGx7vxyUIivIA1iL7BIh6bePylCfVHwp6k13ao7SATxB6imau2kqY+I67kw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/axios/-/axios-1.3.5.tgz} + name: axios + version: 1.3.5 + dependencies: + follow-redirects: registry.npmmirror.com/follow-redirects/1.15.2 + form-data: registry.npmmirror.com/form-data/4.0.0 + proxy-from-env: registry.npmmirror.com/proxy-from-env/1.1.0 + transitivePeerDependencies: + - debug + dev: false + + registry.npmmirror.com/babel-plugin-jsx-dom-expressions/0.36.9_@babel+core@7.21.4: + resolution: {integrity: sha512-4ACO10PoUvqRcBEErbhVGv5vAHXgkz7epvULHfqJXw5TPtDYwjhmhGxGNGSK6220ec/b85ElLrGHlqQiJxI0WQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/babel-plugin-jsx-dom-expressions/-/babel-plugin-jsx-dom-expressions-0.36.9.tgz} + id: registry.npmmirror.com/babel-plugin-jsx-dom-expressions/0.36.9 + name: babel-plugin-jsx-dom-expressions + version: 0.36.9 + peerDependencies: + '@babel/core': ^7.20.12 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.21.4 + '@babel/helper-module-imports': registry.npmmirror.com/@babel/helper-module-imports/7.18.6 + '@babel/plugin-syntax-jsx': registry.npmmirror.com/@babel/plugin-syntax-jsx/7.21.4_@babel+core@7.21.4 + '@babel/types': registry.npmmirror.com/@babel/types/7.21.4 + html-entities: registry.npmmirror.com/html-entities/2.3.3 + validate-html-nesting: registry.npmmirror.com/validate-html-nesting/1.2.1 + dev: true + + registry.npmmirror.com/babel-preset-solid/1.7.3_@babel+core@7.21.4: + resolution: {integrity: sha512-HOdyrij99zo+CBrmtDxSexBAl54vCBCfBoyueLBvcfVniaEXNd4ftKqSN6XQcLvFfCY28UFO+DHaigXzWKOfzg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/babel-preset-solid/-/babel-preset-solid-1.7.3.tgz} + id: registry.npmmirror.com/babel-preset-solid/1.7.3 + name: babel-preset-solid + version: 1.7.3 + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.21.4 + babel-plugin-jsx-dom-expressions: registry.npmmirror.com/babel-plugin-jsx-dom-expressions/0.36.9_@babel+core@7.21.4 + dev: true + + registry.npmmirror.com/balanced-match/1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz} + name: balanced-match + version: 1.0.2 + + registry.npmmirror.com/binary-extensions/2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz} + name: binary-extensions + version: 2.2.0 + engines: {node: '>=8'} + + registry.npmmirror.com/blueimp-md5/2.19.0: + resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/blueimp-md5/-/blueimp-md5-2.19.0.tgz} + name: blueimp-md5 + version: 2.19.0 + dev: true + + registry.npmmirror.com/brace-expansion/1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz} + name: brace-expansion + version: 1.1.11 + dependencies: + balanced-match: registry.npmmirror.com/balanced-match/1.0.2 + concat-map: registry.npmmirror.com/concat-map/0.0.1 + + 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 + + registry.npmmirror.com/browserslist/4.21.5: + resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/browserslist/-/browserslist-4.21.5.tgz} + name: browserslist + version: 4.21.5 + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: registry.npmmirror.com/caniuse-lite/1.0.30001478 + electron-to-chromium: registry.npmmirror.com/electron-to-chromium/1.4.361 + node-releases: registry.npmmirror.com/node-releases/2.0.10 + update-browserslist-db: registry.npmmirror.com/update-browserslist-db/1.0.10_browserslist@4.21.5 + dev: true + + registry.npmmirror.com/cac/6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cac/-/cac-6.7.14.tgz} + name: cac + version: 6.7.14 + engines: {node: '>=8'} + dev: true + + registry.npmmirror.com/call-bind/1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/call-bind/-/call-bind-1.0.2.tgz} + name: call-bind + version: 1.0.2 + dependencies: + function-bind: registry.npmmirror.com/function-bind/1.1.1 + get-intrinsic: registry.npmmirror.com/get-intrinsic/1.2.0 + dev: false + + registry.npmmirror.com/camelcase-css/2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/camelcase-css/-/camelcase-css-2.0.1.tgz} + name: camelcase-css + version: 2.0.1 + engines: {node: '>= 6'} + + registry.npmmirror.com/caniuse-lite/1.0.30001478: + resolution: {integrity: sha512-gMhDyXGItTHipJj2ApIvR+iVB5hd0KP3svMWWXDvZOmjzJJassGLMfxRkQCSYgGd2gtdL/ReeiyvMSFD1Ss6Mw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001478.tgz} + name: caniuse-lite + version: 1.0.30001478 + dev: true + + registry.npmmirror.com/chai/4.3.7: + resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chai/-/chai-4.3.7.tgz} + name: chai + version: 4.3.7 + engines: {node: '>=4'} + dependencies: + assertion-error: registry.npmmirror.com/assertion-error/1.1.0 + check-error: registry.npmmirror.com/check-error/1.0.2 + deep-eql: registry.npmmirror.com/deep-eql/4.1.3 + get-func-name: registry.npmmirror.com/get-func-name/2.0.0 + loupe: registry.npmmirror.com/loupe/2.3.6 + pathval: registry.npmmirror.com/pathval/1.1.1 + type-detect: registry.npmmirror.com/type-detect/4.0.8 + 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/check-error/1.0.2: + resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/check-error/-/check-error-1.0.2.tgz} + name: check-error + version: 1.0.2 + dev: true + + registry.npmmirror.com/chokidar/3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz} + name: chokidar + version: 3.5.3 + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: registry.npmmirror.com/anymatch/3.1.3 + braces: registry.npmmirror.com/braces/3.0.2 + glob-parent: registry.npmmirror.com/glob-parent/5.1.2 + is-binary-path: registry.npmmirror.com/is-binary-path/2.1.0 + is-glob: registry.npmmirror.com/is-glob/4.0.3 + normalize-path: registry.npmmirror.com/normalize-path/3.0.0 + readdirp: registry.npmmirror.com/readdirp/3.6.0 + optionalDependencies: + fsevents: registry.npmmirror.com/fsevents/2.3.2 + + registry.npmmirror.com/class-variance-authority/0.5.3_typescript@4.9.5: + resolution: {integrity: sha512-vcMxnya/xxQSvTuXO9FWAOnmLihbzX82fPkQpMUwPHZ4tdopmFlM4X818fMgCPt2L6CirOIbN91vybifdScUVw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/class-variance-authority/-/class-variance-authority-0.5.3.tgz} + id: registry.npmmirror.com/class-variance-authority/0.5.3 + name: class-variance-authority + version: 0.5.3 + peerDependencies: + typescript: '>= 4.5.5 < 6' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + typescript: registry.npmmirror.com/typescript/4.9.5 + dev: false + + registry.npmmirror.com/clsx/1.2.1: + resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/clsx/-/clsx-1.2.1.tgz} + name: clsx + version: 1.2.1 + engines: {node: '>=6'} + dev: false + + 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-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 + + registry.npmmirror.com/combined-stream/1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz} + name: combined-stream + version: 1.0.8 + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: registry.npmmirror.com/delayed-stream/1.0.0 + dev: false + + registry.npmmirror.com/commander/4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/commander/-/commander-4.1.1.tgz} + name: commander + version: 4.1.1 + engines: {node: '>= 6'} + + registry.npmmirror.com/concat-map/0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz} + name: concat-map + version: 0.0.1 + + registry.npmmirror.com/concordance/5.0.4: + resolution: {integrity: sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/concordance/-/concordance-5.0.4.tgz} + name: concordance + version: 5.0.4 + engines: {node: '>=10.18.0 <11 || >=12.14.0 <13 || >=14'} + dependencies: + date-time: registry.npmmirror.com/date-time/3.1.0 + esutils: registry.npmmirror.com/esutils/2.0.3 + fast-diff: registry.npmmirror.com/fast-diff/1.2.0 + js-string-escape: registry.npmmirror.com/js-string-escape/1.0.1 + lodash: registry.npmmirror.com/lodash/4.17.21 + md5-hex: registry.npmmirror.com/md5-hex/3.0.1 + semver: registry.npmmirror.com/semver/7.5.0 + well-known-symbols: registry.npmmirror.com/well-known-symbols/2.0.0 + dev: true + + registry.npmmirror.com/convert-source-map/1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz} + name: convert-source-map + version: 1.9.0 + dev: true + + registry.npmmirror.com/cssesc/3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz} + name: cssesc + version: 3.0.0 + engines: {node: '>=4'} + hasBin: true + + registry.npmmirror.com/csstype/3.1.2: + resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/csstype/-/csstype-3.1.2.tgz} + name: csstype + version: 3.1.2 + + registry.npmmirror.com/date-time/3.1.0: + resolution: {integrity: sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/date-time/-/date-time-3.1.0.tgz} + name: date-time + version: 3.1.0 + engines: {node: '>=6'} + dependencies: + time-zone: registry.npmmirror.com/time-zone/1.0.0 + dev: true + + registry.npmmirror.com/dayjs/1.11.7: + resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dayjs/-/dayjs-1.11.7.tgz} + name: dayjs + version: 1.11.7 + dev: false + + 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/deep-eql/4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/deep-eql/-/deep-eql-4.1.3.tgz} + name: deep-eql + version: 4.1.3 + engines: {node: '>=6'} + dependencies: + type-detect: registry.npmmirror.com/type-detect/4.0.8 + dev: true + + registry.npmmirror.com/delayed-stream/1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz} + name: delayed-stream + version: 1.0.0 + engines: {node: '>=0.4.0'} + dev: false + + registry.npmmirror.com/didyoumean/1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/didyoumean/-/didyoumean-1.2.2.tgz} + name: didyoumean + version: 1.2.2 + + registry.npmmirror.com/dlv/1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dlv/-/dlv-1.1.3.tgz} + name: dlv + version: 1.1.3 + + registry.npmmirror.com/electron-to-chromium/1.4.361: + resolution: {integrity: sha512-VocVwjPp05HUXzf3xmL0boRn5b0iyqC7amtDww84Jb1QJNPBc7F69gJyEeXRoriLBC4a5pSyckdllrXAg4mmRA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.361.tgz} + name: electron-to-chromium + version: 1.4.361 + dev: true + + registry.npmmirror.com/esbuild/0.17.16: + resolution: {integrity: sha512-aeSuUKr9aFVY9Dc8ETVELGgkj4urg5isYx8pLf4wlGgB0vTFjxJQdHnNH6Shmx4vYYrOTLCHtRI5i1XZ9l2Zcg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild/-/esbuild-0.17.16.tgz} + name: esbuild + version: 0.17.16 + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': registry.npmmirror.com/@esbuild/android-arm/0.17.16 + '@esbuild/android-arm64': registry.npmmirror.com/@esbuild/android-arm64/0.17.16 + '@esbuild/android-x64': registry.npmmirror.com/@esbuild/android-x64/0.17.16 + '@esbuild/darwin-arm64': registry.npmmirror.com/@esbuild/darwin-arm64/0.17.16 + '@esbuild/darwin-x64': registry.npmmirror.com/@esbuild/darwin-x64/0.17.16 + '@esbuild/freebsd-arm64': registry.npmmirror.com/@esbuild/freebsd-arm64/0.17.16 + '@esbuild/freebsd-x64': registry.npmmirror.com/@esbuild/freebsd-x64/0.17.16 + '@esbuild/linux-arm': registry.npmmirror.com/@esbuild/linux-arm/0.17.16 + '@esbuild/linux-arm64': registry.npmmirror.com/@esbuild/linux-arm64/0.17.16 + '@esbuild/linux-ia32': registry.npmmirror.com/@esbuild/linux-ia32/0.17.16 + '@esbuild/linux-loong64': registry.npmmirror.com/@esbuild/linux-loong64/0.17.16 + '@esbuild/linux-mips64el': registry.npmmirror.com/@esbuild/linux-mips64el/0.17.16 + '@esbuild/linux-ppc64': registry.npmmirror.com/@esbuild/linux-ppc64/0.17.16 + '@esbuild/linux-riscv64': registry.npmmirror.com/@esbuild/linux-riscv64/0.17.16 + '@esbuild/linux-s390x': registry.npmmirror.com/@esbuild/linux-s390x/0.17.16 + '@esbuild/linux-x64': registry.npmmirror.com/@esbuild/linux-x64/0.17.16 + '@esbuild/netbsd-x64': registry.npmmirror.com/@esbuild/netbsd-x64/0.17.16 + '@esbuild/openbsd-x64': registry.npmmirror.com/@esbuild/openbsd-x64/0.17.16 + '@esbuild/sunos-x64': registry.npmmirror.com/@esbuild/sunos-x64/0.17.16 + '@esbuild/win32-arm64': registry.npmmirror.com/@esbuild/win32-arm64/0.17.16 + '@esbuild/win32-ia32': registry.npmmirror.com/@esbuild/win32-ia32/0.17.16 + '@esbuild/win32-x64': registry.npmmirror.com/@esbuild/win32-x64/0.17.16 + dev: true + + registry.npmmirror.com/escalade/3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz} + name: escalade + version: 3.1.1 + engines: {node: '>=6'} + 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/esutils/2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz} + name: esutils + version: 2.0.3 + engines: {node: '>=0.10.0'} + dev: true + + registry.npmmirror.com/fast-diff/1.2.0: + resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fast-diff/-/fast-diff-1.2.0.tgz} + name: fast-diff + version: 1.2.0 + dev: true + + registry.npmmirror.com/fast-glob/3.2.12: + resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fast-glob/-/fast-glob-3.2.12.tgz} + name: fast-glob + version: 3.2.12 + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': registry.npmmirror.com/@nodelib/fs.stat/2.0.5 + '@nodelib/fs.walk': registry.npmmirror.com/@nodelib/fs.walk/1.2.8 + glob-parent: registry.npmmirror.com/glob-parent/5.1.2 + merge2: registry.npmmirror.com/merge2/1.4.1 + micromatch: registry.npmmirror.com/micromatch/4.0.5 + + registry.npmmirror.com/fastq/1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fastq/-/fastq-1.15.0.tgz} + name: fastq + version: 1.15.0 + dependencies: + reusify: registry.npmmirror.com/reusify/1.0.4 + + 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 + + registry.npmmirror.com/follow-redirects/1.15.2: + resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.2.tgz} + name: follow-redirects + version: 1.15.2 + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: false + + registry.npmmirror.com/form-data/4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz} + name: form-data + version: 4.0.0 + engines: {node: '>= 6'} + dependencies: + asynckit: registry.npmmirror.com/asynckit/0.4.0 + combined-stream: registry.npmmirror.com/combined-stream/1.0.8 + mime-types: registry.npmmirror.com/mime-types/2.1.35 + dev: false + + registry.npmmirror.com/fraction.js/4.2.0: + resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fraction.js/-/fraction.js-4.2.0.tgz} + name: fraction.js + version: 4.2.0 + dev: true + + registry.npmmirror.com/fs.realpath/1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz} + name: fs.realpath + version: 1.0.0 + + registry.npmmirror.com/fsevents/2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz} + name: fsevents + version: 2.3.2 + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + registry.npmmirror.com/function-bind/1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz} + name: function-bind + version: 1.1.1 + + registry.npmmirror.com/gensync/1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz} + name: gensync + version: 1.0.0-beta.2 + engines: {node: '>=6.9.0'} + dev: true + + registry.npmmirror.com/get-func-name/2.0.0: + resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/get-func-name/-/get-func-name-2.0.0.tgz} + name: get-func-name + version: 2.0.0 + dev: true + + registry.npmmirror.com/get-intrinsic/1.2.0: + resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz} + name: get-intrinsic + version: 1.2.0 + dependencies: + function-bind: registry.npmmirror.com/function-bind/1.1.1 + has: registry.npmmirror.com/has/1.0.3 + has-symbols: registry.npmmirror.com/has-symbols/1.0.3 + dev: false + + registry.npmmirror.com/glob-parent/5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz} + name: glob-parent + version: 5.1.2 + engines: {node: '>= 6'} + dependencies: + is-glob: registry.npmmirror.com/is-glob/4.0.3 + + registry.npmmirror.com/glob-parent/6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz} + name: glob-parent + version: 6.0.2 + engines: {node: '>=10.13.0'} + dependencies: + is-glob: registry.npmmirror.com/is-glob/4.0.3 + + registry.npmmirror.com/glob/7.1.6: + resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/glob/-/glob-7.1.6.tgz} + name: glob + version: 7.1.6 + dependencies: + fs.realpath: registry.npmmirror.com/fs.realpath/1.0.0 + inflight: registry.npmmirror.com/inflight/1.0.6 + inherits: registry.npmmirror.com/inherits/2.0.4 + minimatch: registry.npmmirror.com/minimatch/3.1.2 + once: registry.npmmirror.com/once/1.4.0 + path-is-absolute: registry.npmmirror.com/path-is-absolute/1.0.1 + + registry.npmmirror.com/globals/11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz} + name: globals + version: 11.12.0 + engines: {node: '>=4'} + 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-symbols/1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz} + name: has-symbols + version: 1.0.3 + engines: {node: '>= 0.4'} + dev: false + + registry.npmmirror.com/has/1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has/-/has-1.0.3.tgz} + name: has + version: 1.0.3 + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: registry.npmmirror.com/function-bind/1.1.1 + + registry.npmmirror.com/hls.js/1.4.0: + resolution: {integrity: sha512-VEjg7Rx5FlE9TB3MIn0HPgq3J+vR7EoQnjaqMCk/ISEaCOSZlAFh4g867f1QkSxZiq9kHeUZo+iH16X7VS3jKA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hls.js/-/hls.js-1.4.0.tgz} + name: hls.js + version: 1.4.0 + dev: false + + registry.npmmirror.com/html-entities/2.3.3: + resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/html-entities/-/html-entities-2.3.3.tgz} + name: html-entities + version: 2.3.3 + dev: true + + registry.npmmirror.com/inflight/1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz} + name: inflight + version: 1.0.6 + dependencies: + once: registry.npmmirror.com/once/1.4.0 + wrappy: registry.npmmirror.com/wrappy/1.0.2 + + registry.npmmirror.com/inherits/2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz} + name: inherits + version: 2.0.4 + + registry.npmmirror.com/is-binary-path/2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz} + name: is-binary-path + version: 2.1.0 + engines: {node: '>=8'} + dependencies: + binary-extensions: registry.npmmirror.com/binary-extensions/2.2.0 + + registry.npmmirror.com/is-core-module/2.12.0: + resolution: {integrity: sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-core-module/-/is-core-module-2.12.0.tgz} + name: is-core-module + version: 2.12.0 + dependencies: + has: registry.npmmirror.com/has/1.0.3 + + registry.npmmirror.com/is-extglob/2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz} + name: is-extglob + version: 2.1.1 + engines: {node: '>=0.10.0'} + + registry.npmmirror.com/is-glob/4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz} + name: is-glob + version: 4.0.3 + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: registry.npmmirror.com/is-extglob/2.1.1 + + 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'} + + registry.npmmirror.com/is-what/4.1.8: + resolution: {integrity: sha512-yq8gMao5upkPoGEU9LsB2P+K3Kt8Q3fQFCGyNCWOAnJAMzEXVV9drYb0TXr42TTliLLhKIBvulgAXgtLLnwzGA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-what/-/is-what-4.1.8.tgz} + name: is-what + version: 4.1.8 + engines: {node: '>=12.13'} + dev: true + + registry.npmmirror.com/jiti/1.18.2: + resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jiti/-/jiti-1.18.2.tgz} + name: jiti + version: 1.18.2 + hasBin: true + + registry.npmmirror.com/js-string-escape/1.0.1: + resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/js-string-escape/-/js-string-escape-1.0.1.tgz} + name: js-string-escape + version: 1.0.1 + engines: {node: '>= 0.8'} + 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/jsesc/2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz} + name: jsesc + version: 2.5.2 + engines: {node: '>=4'} + hasBin: true + dev: true + + registry.npmmirror.com/json5/2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz} + name: json5 + version: 2.2.3 + engines: {node: '>=6'} + hasBin: true + dev: true + + registry.npmmirror.com/jsonc-parser/3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz} + name: jsonc-parser + version: 3.2.0 + dev: true + + registry.npmmirror.com/lilconfig/2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lilconfig/-/lilconfig-2.1.0.tgz} + name: lilconfig + version: 2.1.0 + engines: {node: '>=10'} + + 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 + + registry.npmmirror.com/local-pkg/0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/local-pkg/-/local-pkg-0.4.3.tgz} + name: local-pkg + version: 0.4.3 + engines: {node: '>=14'} + dev: true + + registry.npmmirror.com/lodash/4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz} + name: lodash + version: 4.17.21 + + registry.npmmirror.com/loupe/2.3.6: + resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/loupe/-/loupe-2.3.6.tgz} + name: loupe + version: 2.3.6 + dependencies: + get-func-name: registry.npmmirror.com/get-func-name/2.0.0 + dev: true + + registry.npmmirror.com/lru-cache/5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz} + name: lru-cache + version: 5.1.1 + dependencies: + yallist: registry.npmmirror.com/yallist/3.1.1 + dev: true + + registry.npmmirror.com/lru-cache/6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz} + name: lru-cache + version: 6.0.0 + engines: {node: '>=10'} + dependencies: + yallist: registry.npmmirror.com/yallist/4.0.0 + dev: true + + registry.npmmirror.com/magic-string/0.30.0: + resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/magic-string/-/magic-string-0.30.0.tgz} + name: magic-string + version: 0.30.0 + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.15 + dev: true + + registry.npmmirror.com/md5-hex/3.0.1: + resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/md5-hex/-/md5-hex-3.0.1.tgz} + name: md5-hex + version: 3.0.1 + engines: {node: '>=8'} + dependencies: + blueimp-md5: registry.npmmirror.com/blueimp-md5/2.19.0 + dev: true + + registry.npmmirror.com/merge-anything/5.1.4: + resolution: {integrity: sha512-7PWKwGOs5WWcpw+/OvbiFiAvEP6bv/QHiicigpqMGKIqPPAtGhBLR8LFJW+Zu6m9TXiR/a8+AiPlGG0ko1ruoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/merge-anything/-/merge-anything-5.1.4.tgz} + name: merge-anything + version: 5.1.4 + engines: {node: '>=12.13'} + dependencies: + is-what: registry.npmmirror.com/is-what/4.1.8 + dev: true + + registry.npmmirror.com/merge2/1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz} + name: merge2 + version: 1.4.1 + engines: {node: '>= 8'} + + 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 + + registry.npmmirror.com/mime-db/1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz} + name: mime-db + version: 1.52.0 + engines: {node: '>= 0.6'} + dev: false + + registry.npmmirror.com/mime-types/2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz} + name: mime-types + version: 2.1.35 + engines: {node: '>= 0.6'} + dependencies: + mime-db: registry.npmmirror.com/mime-db/1.52.0 + dev: false + + registry.npmmirror.com/minimatch/3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz} + name: minimatch + version: 3.1.2 + dependencies: + brace-expansion: registry.npmmirror.com/brace-expansion/1.1.11 + + registry.npmmirror.com/mitt/3.0.0: + resolution: {integrity: sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mitt/-/mitt-3.0.0.tgz} + name: mitt + version: 3.0.0 + dev: false + + registry.npmmirror.com/mlly/1.2.0: + resolution: {integrity: sha512-+c7A3CV0KGdKcylsI6khWyts/CYrGTrRVo4R/I7u/cUsy0Conxa6LUhiEzVKIw14lc2L5aiO4+SeVe4TeGRKww==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mlly/-/mlly-1.2.0.tgz} + name: mlly + version: 1.2.0 + dependencies: + acorn: registry.npmmirror.com/acorn/8.8.2 + pathe: registry.npmmirror.com/pathe/1.1.0 + pkg-types: registry.npmmirror.com/pkg-types/1.0.2 + ufo: registry.npmmirror.com/ufo/1.1.1 + 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/mz/2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mz/-/mz-2.7.0.tgz} + name: mz + version: 2.7.0 + dependencies: + any-promise: registry.npmmirror.com/any-promise/1.3.0 + object-assign: registry.npmmirror.com/object-assign/4.1.1 + thenify-all: registry.npmmirror.com/thenify-all/1.6.0 + + registry.npmmirror.com/nanoid/3.3.6: + resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/nanoid/-/nanoid-3.3.6.tgz} + name: nanoid + version: 3.3.6 + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + registry.npmmirror.com/node-releases/2.0.10: + resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/node-releases/-/node-releases-2.0.10.tgz} + name: node-releases + version: 2.0.10 + 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'} + + registry.npmmirror.com/normalize-range/0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/normalize-range/-/normalize-range-0.1.2.tgz} + name: normalize-range + version: 0.1.2 + engines: {node: '>=0.10.0'} + dev: true + + registry.npmmirror.com/nzh/1.0.8: + resolution: {integrity: sha512-fm9qlo0aBJxbi3dt4ix+iqRa95tAWAptwmSNTfUEleCitbTz8D3i7KPu0O2mecnvVn+b/JMb4uJqHOj2yJf3hQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/nzh/-/nzh-1.0.8.tgz} + name: nzh + version: 1.0.8 + dev: false + + registry.npmmirror.com/object-assign/4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz} + name: object-assign + version: 4.1.1 + engines: {node: '>=0.10.0'} + + registry.npmmirror.com/object-hash/3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/object-hash/-/object-hash-3.0.0.tgz} + name: object-hash + version: 3.0.0 + engines: {node: '>= 6'} + + registry.npmmirror.com/object-inspect/1.12.3: + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/object-inspect/-/object-inspect-1.12.3.tgz} + name: object-inspect + version: 1.12.3 + dev: false + + 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 + + registry.npmmirror.com/p-limit/4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/p-limit/-/p-limit-4.0.0.tgz} + name: p-limit + version: 4.0.0 + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + yocto-queue: registry.npmmirror.com/yocto-queue/1.0.0 + dev: true + + registry.npmmirror.com/path-is-absolute/1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz} + name: path-is-absolute + version: 1.0.1 + engines: {node: '>=0.10.0'} + + registry.npmmirror.com/path-parse/1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz} + name: path-parse + version: 1.0.7 + + registry.npmmirror.com/path-to-regexp/6.2.1: + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-6.2.1.tgz} + name: path-to-regexp + version: 6.2.1 + dev: false + + registry.npmmirror.com/pathe/1.1.0: + resolution: {integrity: sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pathe/-/pathe-1.1.0.tgz} + name: pathe + version: 1.1.0 + dev: true + + registry.npmmirror.com/pathval/1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pathval/-/pathval-1.1.1.tgz} + name: pathval + version: 1.1.1 + dev: true + + registry.npmmirror.com/picocolors/1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz} + name: picocolors + version: 1.0.0 + + 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'} + + registry.npmmirror.com/pify/2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz} + name: pify + version: 2.3.0 + engines: {node: '>=0.10.0'} + + registry.npmmirror.com/pirates/4.0.5: + resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pirates/-/pirates-4.0.5.tgz} + name: pirates + version: 4.0.5 + engines: {node: '>= 6'} + + registry.npmmirror.com/pkg-types/1.0.2: + resolution: {integrity: sha512-hM58GKXOcj8WTqUXnsQyJYXdeAPbythQgEF3nTcEo+nkD49chjQ9IKm/QJy9xf6JakXptz86h7ecP2024rrLaQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pkg-types/-/pkg-types-1.0.2.tgz} + name: pkg-types + version: 1.0.2 + dependencies: + jsonc-parser: registry.npmmirror.com/jsonc-parser/3.2.0 + mlly: registry.npmmirror.com/mlly/1.2.0 + pathe: registry.npmmirror.com/pathe/1.1.0 + dev: true + + registry.npmmirror.com/postcss-import/14.1.0_postcss@8.4.21: + resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss-import/-/postcss-import-14.1.0.tgz} + id: registry.npmmirror.com/postcss-import/14.1.0 + name: postcss-import + version: 14.1.0 + engines: {node: '>=10.0.0'} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: registry.npmmirror.com/postcss/8.4.21 + postcss-value-parser: registry.npmmirror.com/postcss-value-parser/4.2.0 + read-cache: registry.npmmirror.com/read-cache/1.0.0 + resolve: registry.npmmirror.com/resolve/1.22.2 + + registry.npmmirror.com/postcss-js/4.0.1_postcss@8.4.21: + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss-js/-/postcss-js-4.0.1.tgz} + id: registry.npmmirror.com/postcss-js/4.0.1 + name: postcss-js + version: 4.0.1 + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + dependencies: + camelcase-css: registry.npmmirror.com/camelcase-css/2.0.1 + postcss: registry.npmmirror.com/postcss/8.4.21 + + registry.npmmirror.com/postcss-load-config/3.1.4_postcss@8.4.21: + resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz} + id: registry.npmmirror.com/postcss-load-config/3.1.4 + name: postcss-load-config + version: 3.1.4 + engines: {node: '>= 10'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: registry.npmmirror.com/lilconfig/2.1.0 + postcss: registry.npmmirror.com/postcss/8.4.21 + yaml: registry.npmmirror.com/yaml/1.10.2 + + registry.npmmirror.com/postcss-nested/6.0.0_postcss@8.4.21: + resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss-nested/-/postcss-nested-6.0.0.tgz} + id: registry.npmmirror.com/postcss-nested/6.0.0 + name: postcss-nested + version: 6.0.0 + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + dependencies: + postcss: registry.npmmirror.com/postcss/8.4.21 + postcss-selector-parser: registry.npmmirror.com/postcss-selector-parser/6.0.11 + + registry.npmmirror.com/postcss-selector-parser/6.0.11: + resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz} + name: postcss-selector-parser + version: 6.0.11 + engines: {node: '>=4'} + dependencies: + cssesc: registry.npmmirror.com/cssesc/3.0.0 + util-deprecate: registry.npmmirror.com/util-deprecate/1.0.2 + + registry.npmmirror.com/postcss-value-parser/4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz} + name: postcss-value-parser + version: 4.2.0 + + registry.npmmirror.com/postcss/8.4.21: + resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss/-/postcss-8.4.21.tgz} + name: postcss + version: 8.4.21 + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: registry.npmmirror.com/nanoid/3.3.6 + picocolors: registry.npmmirror.com/picocolors/1.0.0 + source-map-js: registry.npmmirror.com/source-map-js/1.0.2 + + registry.npmmirror.com/pretty-format/27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pretty-format/-/pretty-format-27.5.1.tgz} + name: pretty-format + version: 27.5.1 + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + ansi-regex: registry.npmmirror.com/ansi-regex/5.0.1 + ansi-styles: registry.npmmirror.com/ansi-styles/5.2.0 + react-is: registry.npmmirror.com/react-is/17.0.2 + dev: true + + registry.npmmirror.com/proxy-from-env/1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz} + name: proxy-from-env + version: 1.1.0 + dev: false + + registry.npmmirror.com/qs/6.11.1: + resolution: {integrity: sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/qs/-/qs-6.11.1.tgz} + name: qs + version: 6.11.1 + engines: {node: '>=0.6'} + dependencies: + side-channel: registry.npmmirror.com/side-channel/1.0.4 + dev: false + + registry.npmmirror.com/queue-microtask/1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz} + name: queue-microtask + version: 1.2.3 + + registry.npmmirror.com/quick-lru/5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/quick-lru/-/quick-lru-5.1.1.tgz} + name: quick-lru + version: 5.1.1 + engines: {node: '>=10'} + + registry.npmmirror.com/react-is/17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/react-is/-/react-is-17.0.2.tgz} + name: react-is + version: 17.0.2 + dev: true + + registry.npmmirror.com/read-cache/1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/read-cache/-/read-cache-1.0.0.tgz} + name: read-cache + version: 1.0.0 + dependencies: + pify: registry.npmmirror.com/pify/2.3.0 + + registry.npmmirror.com/readdirp/3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz} + name: readdirp + version: 3.6.0 + engines: {node: '>=8.10.0'} + dependencies: + picomatch: registry.npmmirror.com/picomatch/2.3.1 + + registry.npmmirror.com/resolve/1.22.2: + resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/resolve/-/resolve-1.22.2.tgz} + name: resolve + version: 1.22.2 + hasBin: true + dependencies: + is-core-module: registry.npmmirror.com/is-core-module/2.12.0 + path-parse: registry.npmmirror.com/path-parse/1.0.7 + supports-preserve-symlinks-flag: registry.npmmirror.com/supports-preserve-symlinks-flag/1.0.0 + + registry.npmmirror.com/reusify/1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz} + name: reusify + version: 1.0.4 + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + registry.npmmirror.com/rollup/3.20.2: + resolution: {integrity: sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rollup/-/rollup-3.20.2.tgz} + name: rollup + version: 3.20.2 + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: registry.npmmirror.com/fsevents/2.3.2 + dev: true + + registry.npmmirror.com/run-parallel/1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz} + name: run-parallel + version: 1.2.0 + dependencies: + queue-microtask: registry.npmmirror.com/queue-microtask/1.2.3 + + registry.npmmirror.com/semver/6.3.0: + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz} + name: semver + version: 6.3.0 + hasBin: true + dev: true + + registry.npmmirror.com/semver/7.5.0: + resolution: {integrity: sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/semver/-/semver-7.5.0.tgz} + name: semver + version: 7.5.0 + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: registry.npmmirror.com/lru-cache/6.0.0 + dev: true + + registry.npmmirror.com/seroval/0.5.1: + resolution: {integrity: sha512-ZfhQVB59hmIauJG5Ydynupy8KHyr5imGNtdDhbZG68Ufh1Ynkv9KOYOAABf71oVbQxJ8VkWnMHAjEHE7fWkH5g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/seroval/-/seroval-0.5.1.tgz} + name: seroval + version: 0.5.1 + engines: {node: '>=10'} + + registry.npmmirror.com/side-channel/1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/side-channel/-/side-channel-1.0.4.tgz} + name: side-channel + version: 1.0.4 + dependencies: + call-bind: registry.npmmirror.com/call-bind/1.0.2 + get-intrinsic: registry.npmmirror.com/get-intrinsic/1.2.0 + object-inspect: registry.npmmirror.com/object-inspect/1.12.3 + dev: false + + registry.npmmirror.com/siginfo/2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/siginfo/-/siginfo-2.0.0.tgz} + name: siginfo + version: 2.0.0 + dev: true + + registry.npmmirror.com/solid-js/1.7.3: + resolution: {integrity: sha512-4hwaF/zV/xbNeBBIYDyu3dcReOZBECbO//mrra6GqOrKy4Soyo+fnKjpZSa0nODm6j1aL0iQRh/7ofYowH+jzw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/solid-js/-/solid-js-1.7.3.tgz} + name: solid-js + version: 1.7.3 + dependencies: + csstype: registry.npmmirror.com/csstype/3.1.2 + seroval: registry.npmmirror.com/seroval/0.5.1 + + registry.npmmirror.com/solid-refresh/0.5.2_solid-js@1.7.3: + resolution: {integrity: sha512-I69HmFj0LsGRJ3n8CEMVjyQFgVtuM2bSjznu2hCnsY+i5oOxh8ioWj00nnHBv0UYD3WpE/Sq4Q3TNw2IKmKN7A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/solid-refresh/-/solid-refresh-0.5.2.tgz} + id: registry.npmmirror.com/solid-refresh/0.5.2 + name: solid-refresh + version: 0.5.2 + peerDependencies: + solid-js: ^1.3 + dependencies: + '@babel/generator': registry.npmmirror.com/@babel/generator/7.21.4 + '@babel/helper-module-imports': registry.npmmirror.com/@babel/helper-module-imports/7.21.4 + '@babel/types': registry.npmmirror.com/@babel/types/7.21.4 + solid-js: registry.npmmirror.com/solid-js/1.7.3 + dev: true + + registry.npmmirror.com/source-map-js/1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz} + name: source-map-js + version: 1.0.2 + engines: {node: '>=0.10.0'} + + registry.npmmirror.com/source-map/0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz} + name: source-map + version: 0.6.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.npmmirror.com/stackback/0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/stackback/-/stackback-0.0.2.tgz} + name: stackback + version: 0.0.2 + dev: true + + registry.npmmirror.com/std-env/3.3.2: + resolution: {integrity: sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/std-env/-/std-env-3.3.2.tgz} + name: std-env + version: 3.3.2 + dev: true + + registry.npmmirror.com/strip-literal/1.0.1: + resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/strip-literal/-/strip-literal-1.0.1.tgz} + name: strip-literal + version: 1.0.1 + dependencies: + acorn: registry.npmmirror.com/acorn/8.8.2 + dev: true + + registry.npmmirror.com/sucrase/3.32.0: + resolution: {integrity: sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sucrase/-/sucrase-3.32.0.tgz} + name: sucrase + version: 3.32.0 + engines: {node: '>=8'} + hasBin: true + dependencies: + '@jridgewell/gen-mapping': registry.npmmirror.com/@jridgewell/gen-mapping/0.3.3 + commander: registry.npmmirror.com/commander/4.1.1 + glob: registry.npmmirror.com/glob/7.1.6 + lines-and-columns: registry.npmmirror.com/lines-and-columns/1.2.4 + mz: registry.npmmirror.com/mz/2.7.0 + pirates: registry.npmmirror.com/pirates/4.0.5 + ts-interface-checker: registry.npmmirror.com/ts-interface-checker/0.1.13 + + 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-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz} + name: supports-preserve-symlinks-flag + version: 1.0.0 + engines: {node: '>= 0.4'} + + registry.npmmirror.com/tailwind-merge/1.12.0: + resolution: {integrity: sha512-Y17eDp7FtN1+JJ4OY0Bqv9OA41O+MS8c1Iyr3T6JFLnOgLg3EvcyMKZAnQ8AGyvB5Nxm3t9Xb5Mhe139m8QT/g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tailwind-merge/-/tailwind-merge-1.12.0.tgz} + name: tailwind-merge + version: 1.12.0 + dev: false + + registry.npmmirror.com/tailwindcss-animate/1.0.5_tailwindcss@3.3.1: + resolution: {integrity: sha512-UU3qrOJ4lFQABY+MVADmBm+0KW3xZyhMdRvejwtXqYOL7YjHYxmuREFAZdmVG5LPe5E9CAst846SLC4j5I3dcw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tailwindcss-animate/-/tailwindcss-animate-1.0.5.tgz} + id: registry.npmmirror.com/tailwindcss-animate/1.0.5 + name: tailwindcss-animate + version: 1.0.5 + peerDependencies: + tailwindcss: '>=3.0.0 || insiders' + dependencies: + tailwindcss: registry.npmmirror.com/tailwindcss/3.3.1_postcss@8.4.21 + dev: false + + registry.npmmirror.com/tailwindcss/3.3.1_postcss@8.4.21: + resolution: {integrity: sha512-Vkiouc41d4CEq0ujXl6oiGFQ7bA3WEhUZdTgXAhtKxSy49OmKs8rEfQmupsfF0IGW8fv2iQkp1EVUuapCFrZ9g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tailwindcss/-/tailwindcss-3.3.1.tgz} + id: registry.npmmirror.com/tailwindcss/3.3.1 + name: tailwindcss + version: 3.3.1 + engines: {node: '>=12.13.0'} + hasBin: true + peerDependencies: + postcss: ^8.0.9 + dependencies: + arg: registry.npmmirror.com/arg/5.0.2 + chokidar: registry.npmmirror.com/chokidar/3.5.3 + color-name: registry.npmmirror.com/color-name/1.1.4 + didyoumean: registry.npmmirror.com/didyoumean/1.2.2 + dlv: registry.npmmirror.com/dlv/1.1.3 + fast-glob: registry.npmmirror.com/fast-glob/3.2.12 + glob-parent: registry.npmmirror.com/glob-parent/6.0.2 + is-glob: registry.npmmirror.com/is-glob/4.0.3 + jiti: registry.npmmirror.com/jiti/1.18.2 + lilconfig: registry.npmmirror.com/lilconfig/2.1.0 + micromatch: registry.npmmirror.com/micromatch/4.0.5 + normalize-path: registry.npmmirror.com/normalize-path/3.0.0 + object-hash: registry.npmmirror.com/object-hash/3.0.0 + picocolors: registry.npmmirror.com/picocolors/1.0.0 + postcss: registry.npmmirror.com/postcss/8.4.21 + postcss-import: registry.npmmirror.com/postcss-import/14.1.0_postcss@8.4.21 + postcss-js: registry.npmmirror.com/postcss-js/4.0.1_postcss@8.4.21 + postcss-load-config: registry.npmmirror.com/postcss-load-config/3.1.4_postcss@8.4.21 + postcss-nested: registry.npmmirror.com/postcss-nested/6.0.0_postcss@8.4.21 + postcss-selector-parser: registry.npmmirror.com/postcss-selector-parser/6.0.11 + postcss-value-parser: registry.npmmirror.com/postcss-value-parser/4.2.0 + quick-lru: registry.npmmirror.com/quick-lru/5.1.1 + resolve: registry.npmmirror.com/resolve/1.22.2 + sucrase: registry.npmmirror.com/sucrase/3.32.0 + transitivePeerDependencies: + - ts-node + + registry.npmmirror.com/tapable/2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz} + name: tapable + version: 2.2.1 + engines: {node: '>=6'} + dev: false + + registry.npmmirror.com/thenify-all/1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/thenify-all/-/thenify-all-1.6.0.tgz} + name: thenify-all + version: 1.6.0 + engines: {node: '>=0.8'} + dependencies: + thenify: registry.npmmirror.com/thenify/3.3.1 + + registry.npmmirror.com/thenify/3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/thenify/-/thenify-3.3.1.tgz} + name: thenify + version: 3.3.1 + dependencies: + any-promise: registry.npmmirror.com/any-promise/1.3.0 + + registry.npmmirror.com/time-zone/1.0.0: + resolution: {integrity: sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/time-zone/-/time-zone-1.0.0.tgz} + name: time-zone + version: 1.0.0 + engines: {node: '>=4'} + dev: true + + registry.npmmirror.com/tinybench/2.4.0: + resolution: {integrity: sha512-iyziEiyFxX4kyxSp+MtY1oCH/lvjH3PxFN8PGCDeqcZWAJ/i+9y+nL85w99PxVzrIvew/GSkSbDYtiGVa85Afg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tinybench/-/tinybench-2.4.0.tgz} + name: tinybench + version: 2.4.0 + dev: true + + registry.npmmirror.com/tinypool/0.4.0: + resolution: {integrity: sha512-2ksntHOKf893wSAH4z/+JbPpi92esw8Gn9N2deXX+B0EO92hexAVI9GIZZPx7P5aYo5KULfeOSt3kMOmSOy6uA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tinypool/-/tinypool-0.4.0.tgz} + name: tinypool + version: 0.4.0 + engines: {node: '>=14.0.0'} + dev: true + + registry.npmmirror.com/tinyspy/2.1.0: + resolution: {integrity: sha512-7eORpyqImoOvkQJCSkL0d0mB4NHHIFAy4b1u8PHdDa7SjGS2njzl6/lyGoZLm+eyYEtlUmFGE0rFj66SWxZgQQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tinyspy/-/tinyspy-2.1.0.tgz} + name: tinyspy + version: 2.1.0 + engines: {node: '>=14.0.0'} + dev: true + + registry.npmmirror.com/to-fast-properties/2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz} + name: to-fast-properties + version: 2.0.0 + engines: {node: '>=4'} + 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 + + registry.npmmirror.com/ts-interface-checker/0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz} + name: ts-interface-checker + version: 0.1.13 + + registry.npmmirror.com/type-detect/4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/type-detect/-/type-detect-4.0.8.tgz} + name: type-detect + version: 4.0.8 + engines: {node: '>=4'} + dev: true + + registry.npmmirror.com/typescript/4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/typescript/-/typescript-4.9.5.tgz} + name: typescript + version: 4.9.5 + engines: {node: '>=4.2.0'} + hasBin: true + + registry.npmmirror.com/ufo/1.1.1: + resolution: {integrity: sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ufo/-/ufo-1.1.1.tgz} + name: ufo + version: 1.1.1 + dev: true + + registry.npmmirror.com/update-browserslist-db/1.0.10_browserslist@4.21.5: + resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz} + id: registry.npmmirror.com/update-browserslist-db/1.0.10 + name: update-browserslist-db + version: 1.0.10 + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: registry.npmmirror.com/browserslist/4.21.5 + escalade: registry.npmmirror.com/escalade/3.1.1 + picocolors: registry.npmmirror.com/picocolors/1.0.0 + dev: true + + registry.npmmirror.com/util-deprecate/1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz} + name: util-deprecate + version: 1.0.2 + + registry.npmmirror.com/validate-html-nesting/1.2.1: + resolution: {integrity: sha512-T1ab131NkP3BfXB7KUSgV7Rhu81R2id+L6NaJ7NypAAG5iV6gXnPpQE5RK1fvb+3JYsPTL+ihWna5sr5RN9gaQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/validate-html-nesting/-/validate-html-nesting-1.2.1.tgz} + name: validate-html-nesting + version: 1.2.1 + dev: true + + registry.npmmirror.com/vite-node/0.30.1_@types+node@18.15.11: + resolution: {integrity: sha512-vTikpU/J7e6LU/8iM3dzBo8ZhEiKZEKRznEMm+mJh95XhWaPrJQraT/QsT2NWmuEf+zgAoMe64PKT7hfZ1Njmg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vite-node/-/vite-node-0.30.1.tgz} + id: registry.npmmirror.com/vite-node/0.30.1 + name: vite-node + version: 0.30.1 + engines: {node: '>=v14.18.0'} + hasBin: true + dependencies: + cac: registry.npmmirror.com/cac/6.7.14 + debug: registry.npmmirror.com/debug/4.3.4 + mlly: registry.npmmirror.com/mlly/1.2.0 + pathe: registry.npmmirror.com/pathe/1.1.0 + picocolors: registry.npmmirror.com/picocolors/1.0.0 + vite: registry.npmmirror.com/vite/4.2.1_@types+node@18.15.11 + transitivePeerDependencies: + - '@types/node' + - less + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + registry.npmmirror.com/vite-plugin-solid/2.7.0_solid-js@1.7.3+vite@4.2.1: + resolution: {integrity: sha512-avp/Jl5zOp/Itfo67xtDB2O61U7idviaIp4mLsjhCa13PjKNasz+IID0jYTyqUp9SFx6/PmBr6v4KgDppqompg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vite-plugin-solid/-/vite-plugin-solid-2.7.0.tgz} + id: registry.npmmirror.com/vite-plugin-solid/2.7.0 + name: vite-plugin-solid + version: 2.7.0 + peerDependencies: + solid-js: ^1.7.2 + vite: ^3.0.0 || ^4.0.0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.21.4 + '@babel/preset-typescript': registry.npmmirror.com/@babel/preset-typescript/7.21.4_@babel+core@7.21.4 + '@types/babel__core': registry.npmmirror.com/@types/babel__core/7.20.0 + babel-preset-solid: registry.npmmirror.com/babel-preset-solid/1.7.3_@babel+core@7.21.4 + merge-anything: registry.npmmirror.com/merge-anything/5.1.4 + solid-js: registry.npmmirror.com/solid-js/1.7.3 + solid-refresh: registry.npmmirror.com/solid-refresh/0.5.2_solid-js@1.7.3 + vite: registry.npmmirror.com/vite/4.2.1_@types+node@18.15.11 + vitefu: registry.npmmirror.com/vitefu/0.2.4_vite@4.2.1 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/vite/4.2.1_@types+node@18.15.11: + resolution: {integrity: sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vite/-/vite-4.2.1.tgz} + id: registry.npmmirror.com/vite/4.2.1 + name: vite + version: 4.2.1 + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': registry.npmmirror.com/@types/node/18.15.11 + esbuild: registry.npmmirror.com/esbuild/0.17.16 + postcss: registry.npmmirror.com/postcss/8.4.21 + resolve: registry.npmmirror.com/resolve/1.22.2 + rollup: registry.npmmirror.com/rollup/3.20.2 + optionalDependencies: + fsevents: registry.npmmirror.com/fsevents/2.3.2 + dev: true + + registry.npmmirror.com/vitefu/0.2.4_vite@4.2.1: + resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vitefu/-/vitefu-0.2.4.tgz} + id: registry.npmmirror.com/vitefu/0.2.4 + name: vitefu + version: 0.2.4 + peerDependencies: + vite: ^3.0.0 || ^4.0.0 + peerDependenciesMeta: + vite: + optional: true + dependencies: + vite: registry.npmmirror.com/vite/4.2.1_@types+node@18.15.11 + dev: true + + registry.npmmirror.com/vitest/0.30.1: + resolution: {integrity: sha512-y35WTrSTlTxfMLttgQk4rHcaDkbHQwDP++SNwPb+7H8yb13Q3cu2EixrtHzF27iZ8v0XCciSsLg00RkPAzB/aA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vitest/-/vitest-0.30.1.tgz} + name: vitest + version: 0.30.1 + engines: {node: '>=v14.18.0'} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@vitest/browser': '*' + '@vitest/ui': '*' + happy-dom: '*' + jsdom: '*' + playwright: '*' + safaridriver: '*' + webdriverio: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + playwright: + optional: true + safaridriver: + optional: true + webdriverio: + optional: true + dependencies: + '@types/chai': registry.npmmirror.com/@types/chai/4.3.4 + '@types/chai-subset': registry.npmmirror.com/@types/chai-subset/1.3.3 + '@types/node': registry.npmmirror.com/@types/node/18.15.11 + '@vitest/expect': registry.npmmirror.com/@vitest/expect/0.30.1 + '@vitest/runner': registry.npmmirror.com/@vitest/runner/0.30.1 + '@vitest/snapshot': registry.npmmirror.com/@vitest/snapshot/0.30.1 + '@vitest/spy': registry.npmmirror.com/@vitest/spy/0.30.1 + '@vitest/utils': registry.npmmirror.com/@vitest/utils/0.30.1 + acorn: registry.npmmirror.com/acorn/8.8.2 + acorn-walk: registry.npmmirror.com/acorn-walk/8.2.0 + cac: registry.npmmirror.com/cac/6.7.14 + chai: registry.npmmirror.com/chai/4.3.7 + concordance: registry.npmmirror.com/concordance/5.0.4 + debug: registry.npmmirror.com/debug/4.3.4 + local-pkg: registry.npmmirror.com/local-pkg/0.4.3 + magic-string: registry.npmmirror.com/magic-string/0.30.0 + pathe: registry.npmmirror.com/pathe/1.1.0 + picocolors: registry.npmmirror.com/picocolors/1.0.0 + source-map: registry.npmmirror.com/source-map/0.6.1 + std-env: registry.npmmirror.com/std-env/3.3.2 + strip-literal: registry.npmmirror.com/strip-literal/1.0.1 + tinybench: registry.npmmirror.com/tinybench/2.4.0 + tinypool: registry.npmmirror.com/tinypool/0.4.0 + vite: registry.npmmirror.com/vite/4.2.1_@types+node@18.15.11 + vite-node: registry.npmmirror.com/vite-node/0.30.1_@types+node@18.15.11 + why-is-node-running: registry.npmmirror.com/why-is-node-running/2.2.2 + transitivePeerDependencies: + - less + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + registry.npmmirror.com/well-known-symbols/2.0.0: + resolution: {integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/well-known-symbols/-/well-known-symbols-2.0.0.tgz} + name: well-known-symbols + version: 2.0.0 + engines: {node: '>=6'} + dev: true + + registry.npmmirror.com/why-is-node-running/2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/why-is-node-running/-/why-is-node-running-2.2.2.tgz} + name: why-is-node-running + version: 2.2.2 + engines: {node: '>=8'} + hasBin: true + dependencies: + siginfo: registry.npmmirror.com/siginfo/2.0.0 + stackback: registry.npmmirror.com/stackback/0.0.2 + 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 + + registry.npmmirror.com/yallist/3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz} + name: yallist + version: 3.1.1 + dev: true + + registry.npmmirror.com/yallist/4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz} + name: yallist + version: 4.0.0 + 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'} + + registry.npmmirror.com/yocto-queue/1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/yocto-queue/-/yocto-queue-1.0.0.tgz} + name: yocto-queue + version: 1.0.0 + engines: {node: '>=12.20'} + dev: true diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..87233a4 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,7 @@ +module.exports = { + purge: ["./index.html", "./src/**/*.{vue,js,ts,jsx,tsx}"], + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/public/vite.svg b/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/components/CopyIcon/index.tsx b/src/components/CopyIcon/index.tsx new file mode 100644 index 0000000..61e590d --- /dev/null +++ b/src/components/CopyIcon/index.tsx @@ -0,0 +1,35 @@ +// import { useRef, useState } from "react"; +// import { Check, Copy } from "lucide-react"; + +import { noop } from "@/utils"; +import { createSignal } from "solid-js"; + +const CopyAndCheckIcon = (props: { on_click: () => void }) => { + const { on_click = noop } = props; + + const [check_visible, set_check_visible] = createSignal(false); + // const timer_ref = useRef(null); + + return ( +
{ + if (check_visible) { + return; + } + // if (timer_ref.current) { + // return; + // } + on_click(); + set_check_visible(true); + // timer_ref.current = setTimeout(() => { + // set_check_visible(false); + // clearTimeout(timer_ref.current!); + // }, 1000); + }} + > + {check_visible ?
:
} +
+ ); +}; + +export default CopyAndCheckIcon; diff --git a/src/components/DriveCard/index.tsx b/src/components/DriveCard/index.tsx new file mode 100644 index 0000000..013a086 --- /dev/null +++ b/src/components/DriveCard/index.tsx @@ -0,0 +1,185 @@ +/** + * @file 云盘卡片,包含对云盘的业务逻辑 + */ +import { onMount } from "solid-js"; +// import { useEffect, useRef } from "react"; +// import { RefreshCw } from "lucide-react"; +// import { useRouter } from "next/router"; + +import { Drive } from "@/domains/drive"; +import { + AliyunDriveItem, + set_drive_root_file_id, +} from "@/domains/drive/services"; +// import { useToast } from "@/hooks/use-toast"; +import LazyImage from "@/components/LazyImage"; +import { Button } from "@/components/ui/button"; +// import Modal from "@/components/Modal"; +import { Input } from "@/components/ui/input"; +import FolderMenu from "@/components/FolderMenu"; +import { ContextMenuCore } from "@/domains/ui/context-menu"; +import { MoreHorizontalIcon } from "@/components/icons/more-horizontal"; +import { LoaderIcon } from "@/components/icons/loader"; + +const DriveCard = (props: AliyunDriveItem) => { + const { id, user_name, avatar, total_size, used_size } = props; + // const { toast } = useToast(); + + // const drive_ref = useRef(new Drive({ id })); + const drive = new Drive({ id }); + const contextMenu = new ContextMenuCore([ + { + label: "详情", + on_click: () => { + // router.push(`/admin/drive/${id}`); + }, + }, + { + label: "导出", + on_click() { + drive.export(); + }, + }, + { + label: "刷新", + on_click() { + drive.refresh(); + }, + }, + { + label: "修改 refresh_token", + on_click() { + // drive.update_refresh_token(), + }, + }, + { + label: "查看重复影片", + on_click() { + // router.push(`/admin/drive/duplicate/${id}`); + }, + }, + ]); + + console.log(""); + + onMount(() => { + drive.onError((error) => { + // toast({ + // title: error.message, + // }); + }); + drive.onTip((msg) => { + // toast({ + // title: msg, + // }); + }); + drive.onCompleted((data) => { + // toast({ + // title: "刮削完成", + // description: `${data.desc} 完成`, + // }); + }); + }); + + return ( +
+
{ + const { x, y } = event; + contextMenu.show({ x, y }); + }} + > +
+
+ +
+
+ +
+
{user_name}
+
+

+ {used_size}/{total_size} +

+
{ + event.stopPropagation(); + drive.refresh(); + }} + > + {/* */} +
+
+
+ + {/* { + event.stopPropagation(); + }} + > + 设置索引文件夹 + + } + on_ok={() => { + return drive.submit_root_folder(); + }} + > + { + drive.set_root_folder_id(event.target.value); + }} + /> + */} + {/* { + event.stopPropagation(); + }} + > + 修改token + + } + on_ok={() => { + return drive.submit_refresh_token(); + }} + > + { + drive.set_refresh_token(event.target.value); + }} + /> + */} +
+
+
+
+
+
+ ); +}; + +export default DriveCard; diff --git a/src/components/DriveDropdown/index.tsx b/src/components/DriveDropdown/index.tsx new file mode 100644 index 0000000..ba19ba1 --- /dev/null +++ b/src/components/DriveDropdown/index.tsx @@ -0,0 +1,34 @@ +import { Button } from "@/components/ui/button"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuGroup, + DropdownMenuItem, + DropdownMenuLabel, + DropdownMenuPortal, + DropdownMenuSeparator, + DropdownMenuShortcut, + DropdownMenuSub, + DropdownMenuSubContent, + DropdownMenuSubTrigger, + DropdownMenuTrigger, +} from "@/components/ui/dropdown-menu"; + +const DriveDropdown = (props: { children: React.ReactNode }) => { + const { children } = props; + return ( + + {children} + + + 138221356 + + + something + + + + ); +}; + +export default DriveDropdown; diff --git a/src/components/DriveFolders/index.tsx b/src/components/DriveFolders/index.tsx new file mode 100644 index 0000000..ae29a95 --- /dev/null +++ b/src/components/DriveFolders/index.tsx @@ -0,0 +1,344 @@ +/** + * @file 网盘文件夹列表 + */ +import { useEffect, useRef, useState } from "react"; + +import FolderCard from "@/components/FolderCard"; +import FolderMenu, { MenuOpt } from "@/components/FolderMenu"; +import ScrollView from "@/components/ScrollView"; +import { Input } from "@/components/ui/input"; +import { Button } from "@/components/ui/button"; +import { useToast } from "@/hooks/use-toast"; +import { AliyunFolderItem, fetch_aliyun_drive_files } from "@/services"; +import { Result } from "@/types"; +import { + AliyunDriveProfile, + fetch_aliyun_drive_profile, +} from "@/domains/drive/services"; +import { cn } from "@/lib/utils"; + +class AliyunDriveFolder { + /** + * 网盘 id + */ + id: string; + file_id: string = ""; + size: number; + files: AliyunFolderItem[] = []; + next_marker: string = ""; + loading = false; + keyword: string = ""; + paths: { + file_id: string; + name: string; + }[] = []; + + constructor(options: { id: string; size: number }) { + const { id, size } = options; + this.id = id; + this.size = size; + } + async _fetch(file_id: string) { + this.file_id = file_id; + if (this.loading) { + return Result.Err("is loading"); + } + this.loading = true; + const body = (() => { + if (this.keyword) { + return { + name: this.keyword, + drive_id: this.id, + page_size: this.size, + next_marker: this.next_marker, + }; + } + return { + drive_id: this.id, + file_id, + page_size: this.size, + next_marker: this.next_marker, + }; + })(); + // @ts-ignore + const r = await fetch_aliyun_drive_files(body); + this.loading = false; + if (r.error) { + return r; + } + return r; + } + reset() { + this.paths = []; + this.files = []; + } + async fetch(file_id = "root", name = "root") { + this.next_marker = ""; + const existing_index = this.paths.findIndex((p) => p.file_id === file_id); + if (existing_index !== -1 && existing_index === this.paths.length - 1) { + return Result.Err("已经在当前目录了"); + } + const r = await this._fetch(file_id); + if (r.error) { + return r; + } + (() => { + if (this.paths.length === 0) { + this.paths = [{ file_id, name }]; + return; + } + if (existing_index !== -1) { + this.paths = this.paths.slice(0, existing_index + 1); + return; + } + this.paths = this.paths.concat([{ file_id, name }]); + })(); + this.files = [...r.data.items]; + this.next_marker = r.data.next_marker; + return Result.Ok(null); + } + async search(keyword: string) { + this.keyword = keyword; + const r = await this._fetch(this.file_id); + this.keyword = ""; + if (r.error) { + return r; + } + this.files = this.files = r.data.items; + this.paths = []; + this.next_marker = r.data.next_marker; + return Result.Ok(null); + } + async load_more() { + const r = await this._fetch(this.file_id); + if (r.error) { + return r; + } + this.files = this.files.concat(r.data.items); + this.next_marker = r.data.next_marker; + return Result.Ok(null); + } + async re_walk() { + // const { paths, id } = this; + // const root_folder_index = paths.findIndex( + // (p) => p.file_id === profile.root_folder_id + // ); + // if (root_folder_index === -1) { + // return; + // } + // const prefix = paths.slice(root_folder_index); + // const target_folder = prefix + // .map((p) => p.name) + // .concat(name) + // .join("/"); + // const r = await analysis_aliyun_drive({ + // aliyun_drive_id: id, + // target_folder, + // }); + // if (r.error) { + // return r; + // } + } +} + +const DriveFolders = (props: { + className: string; + id: string; + size?: number; + options?: MenuOpt[]; +}) => { + const { className, options = [], id, size = 20 } = props; + const cur_ref = useRef(null); + const cur_folder_ref = useRef(null); + const [files, set_files] = useState([]); + const [paths, set_paths] = useState<{ file_id: string; name: string }[]>([]); + const [profile, set_profile] = useState(null); + const [keyword, set_keyword] = useState(""); + const { toast } = useToast(); + + useEffect(() => { + if (!id) { + return; + } + (async () => { + fetch_aliyun_drive_profile({ id }).then((r) => { + if (r.error) { + return; + } + set_profile(r.data); + }); + cur_ref.current = new AliyunDriveFolder({ + id, + size, + }); + await cur_ref.current.fetch(); + set_files(cur_ref.current.files); + set_paths(cur_ref.current.paths); + })(); + }, [id, size]); + + return ( +
+
+ { + set_keyword(event.target.value); + }} + /> + +
+
+ {paths.map((p, index) => { + const { file_id, name } = p; + return ( +
+
{ + if (cur_ref.current === null) { + return; + } + const r = await cur_ref.current.fetch(file_id, name); + if (r.error) { + toast({ + title: "Error", + description: r.error.message, + }); + return; + } + set_files(cur_ref.current.files); + set_paths(cur_ref.current.paths); + }} + > + {name} +
+ {index === paths.length - 1 ? null : ( +
/
+ )} +
+ ); + })} +
+ {/*
+ {(() => { + if (paths.length === 0) { + return null; + } + const last = paths[paths.length - 1]; + return ( +
{ + if (cur_ref.current === null) { + return; + } + await walk_aliyun_folder({ + drive_id: cur_ref.current.id, + file_id: last.file_id, + name: last.name, + }); + toast({ + title: "Success", + description: "mock 数据生成成功", + }); + }} + > + {last.file_id} +
+ ); + })()} +
*/} + { + if (cur_ref.current === null) { + return; + } + if (!cur_ref.current.next_marker) { + return; + } + const r = await cur_ref.current.load_more(); + if (r.error) { + toast({ + title: "Error", + description: r.error.message, + }); + return; + } + set_files(cur_ref.current.files); + }} + > +
+ {files.map((file) => { + const { file_id, name, type } = file; + return ( +
{ + if (cur_ref.current === null) { + return; + } + if (type !== "folder") { + return; + } + await cur_ref.current.fetch(file_id, name); + set_files(cur_ref.current.files); + set_paths(cur_ref.current.paths); + }} + > +
{ + const { label, on_click } = opt; + return { + label, + on_click() { + if (cur_folder_ref.current) { + if (on_click) { + on_click(cur_folder_ref.current); + } + return; + } + if (on_click) { + on_click(); + } + }, + }; + })} + > + { + cur_folder_ref.current = file; + }} + /> +
+
+ ); + })} +
+
+
+ ); +}; + +export default DriveFolders; diff --git a/src/components/EmptyPageContainer/index.tsx b/src/components/EmptyPageContainer/index.tsx new file mode 100644 index 0000000..ad1d8e6 --- /dev/null +++ b/src/components/EmptyPageContainer/index.tsx @@ -0,0 +1,72 @@ +/** + * @file 页面容器,负责页面切换动画、下拉刷新、滚动监听等 + */ +// import React, { useEffect, useRef, useState } from "react"; +// import cx from "classnames"; + +// import { cn } from "@/utils"; +// import { Page } from "@/domains/router"; +import { JSX } from "solid-js"; +import { children, createMemo, createSignal, onMount } from "solid-js"; + +import { PageCore } from "@/domains/router/something"; +// import { classList } from "solid-js/web"; +// import { useInitialize } from "@/hooks"; +// import { useTheme } from "@/components/Theme"; + +// interface IProps { +// className?: string; +// style?: React.CSSProperties; +// children: React.ReactElement; +// page: Page; +// index: number; +// } +export const EmptyPageContainer = (props: { + page: PageCore; + index: number; + children: JSX.Element; +}) => { + const { page } = props; + + const c = children(() => props.children); + + // let $wrap; + // let $page; + // let $content; + // const wrapRef = useRef(null); + // const pageRef = useRef(null); + // const contentRef = useRef(null); + + onMount(() => { + // if ($page === null || $content === null) { + // return; + // } + // page.client.width = $page.clientWidth; + // page.client.height = $page.clientHeight; + // page.client.contentHeight = $content.clientHeight; + // $page.addEventListener("scroll", () => { + // page.client.contentHeight = $content.clientHeight; + // page.emitPageScroll({ + // scrollTop: $page.scrollTop, + // }); + // }); + // $page.addEventListener("touchstart", (event) => { + // const { pageX, screenY } = event.touches[0]; + // page.handleTouchStart({ x: pageX, y: screenY }); + // }); + // $page.addEventListener( + // "touchmove", + // (event) => { + // const { pageX, screenY } = event.touches[0]; + // page.handleTouchMove({ x: pageX, y: screenY }); + // }, + // { passive: true } + // ); + // $page.addEventListener("touchend", () => { + // page.handleTouchEnd(); + // }); + page.emitReady(); + }); + + return
{c()}
; +}; diff --git a/src/components/FolderCard/index.tsx b/src/components/FolderCard/index.tsx new file mode 100644 index 0000000..be47050 --- /dev/null +++ b/src/components/FolderCard/index.tsx @@ -0,0 +1,38 @@ +/** + * @file 文件夹卡片 组件 + */ +import LazyImage from "@/components/LazyImage"; + +const FolderCard = (props: { + type: string; + name: string; + thumbnail?: string; +}) => { + const { type, name, thumbnail, ...rest } = props; + return ( +
+
+ { + if (type === "folder") { + return "https://img.alicdn.com/imgextra/i1/O1CN01rGJZac1Zn37NL70IT_!!6000000003238-2-tps-230-180.png"; + } + if (thumbnail) { + return thumbnail; + } + return "https://img.alicdn.com/imgextra/i2/O1CN01ROG7du1aV18hZukHC_!!6000000003334-2-tps-140-140.png"; + })()} + /> +
+
+ {name} +
+
+ ); +}; + +export default FolderCard; diff --git a/src/components/FolderMenu/index.tsx b/src/components/FolderMenu/index.tsx new file mode 100644 index 0000000..bd6a6c0 --- /dev/null +++ b/src/components/FolderMenu/index.tsx @@ -0,0 +1,103 @@ +"use client"; + +import { + Cloud, + CreditCard, + Github, + Keyboard, + LifeBuoy, + LogOut, + Mail, + MessageSquare, + Plus, + PlusCircle, + Settings, + User, + UserPlus, + Users, +} from "lucide-react"; + +import { Button } from "@/components/ui/button"; +import { + ContextMenu, + ContextMenuCheckboxItem, + ContextMenuContent, + ContextMenuGroup, + ContextMenuItem, + ContextMenuLabel, + ContextMenuPortal, + ContextMenuRadioGroup, + ContextMenuRadioItem, + ContextMenuSeparator, + ContextMenuShortcut, + ContextMenuSub, + ContextMenuSubContent, + ContextMenuSubTrigger, + ContextMenuTrigger, +} from "@/components/ui/context-menu"; + +export type MenuOpt = { + label: string; + children?: { + label: string; + on_click?: (value?: unknown) => void; + }[]; + on_click?: (value?: unknown) => void; +}; +const FolderMenu = (props: { + options: MenuOpt[]; + children: React.ReactNode; +}) => { + const { options, children } = props; + return ( + + {children} + + {options.map((opt) => { + const { label, on_click, children } = opt; + if (!children) { + return ( + { + event.stopPropagation(); + if (on_click) { + on_click(); + } + }} + > + {label} + + ); + } + return ( + + {label} + + {children.map((c) => { + return ( + { + event.stopPropagation(); + if (c.on_click) { + c.on_click(); + } + }} + > + {c.label} + + ); + })} + + + ); + })} + + + ); +}; + +export default FolderMenu; diff --git a/src/components/LazyImage/index.tsx b/src/components/LazyImage/index.tsx new file mode 100644 index 0000000..024908f --- /dev/null +++ b/src/components/LazyImage/index.tsx @@ -0,0 +1,60 @@ +import { createSignal, onMount } from "solid-js"; + +interface IProps { + className?: string; + src?: string; + alt?: string; +} +const LazyImage = (props) => { + const { className, src, alt } = props; + + let $img; + let has_visible = false; + const [visible, set_visible] = createSignal(false); + + onMount(() => { + if (!src) { + return; + } + const io = new IntersectionObserver( + (entries) => { + entries.forEach((entry) => { + if (entry.isIntersecting) { + $img.src = src; + $img.classList.add("visible"); + if (has_visible === false) { + set_visible(true); + } + has_visible = true; + io.unobserve($img); + } + }); + }, + { threshold: 0.01 } + ); + io.observe($img); + }); + + // console.log("[COMPONENT]LazyImage - render", visible); + + return ( +
+ {(() => { + if (visible()) { + return ( + {alt} { + set_visible(false); + }} + /> + ); + } + return
; + })()} +
+ ); +}; + +export default LazyImage; diff --git a/src/components/Page/index.tsx b/src/components/Page/index.tsx new file mode 100644 index 0000000..e28f3e6 --- /dev/null +++ b/src/components/Page/index.tsx @@ -0,0 +1,144 @@ +/** + * @file 页面容器,负责页面切换动画、下拉刷新、滚动监听等 + */ +// import React, { useEffect, useRef, useState } from "react"; +// import cx from "classnames"; + +// import { cn } from "@/utils"; +// import { Page } from "@/domains/router"; +import { JSX } from "solid-js"; +import { children, createMemo, createSignal, onMount } from "solid-js"; + +import { PageCore } from "@/domains/router/something"; +import { ViewCore } from "@/domains/router"; +// import { classList } from "solid-js/web"; +// import { useInitialize } from "@/hooks"; +// import { useTheme } from "@/components/Theme"; + +// interface IProps { +// className?: string; +// style?: React.CSSProperties; +// children: React.ReactElement; +// page: Page; +// index: number; +// } +export const Window = (props: { + className: string; + style: string | JSX.CSSProperties; + page: PageCore; + // view: ViewCore; + index: number; + children: JSX.Element; +}) => { + const { className, style, page } = props; + + const c = children(() => props.children); + + let $wrap; + let $page; + let $content; + // const wrapRef = useRef(null); + // const pageRef = useRef(null); + // const contentRef = useRef(null); + const [loaded, setLoaded] = createSignal(false); + const [hidden, setHidden] = createSignal(false); + const [y, setY] = createSignal(0); + const [state, setState] = createSignal("pending"); + // const { resolvedTheme } = useTheme(); + + onMount(() => { + page.onPullDown(({ yDistance, state }) => { + setY(yDistance); + setState(state); + }); + page.onHidden(() => { + setHidden(true); + }); + if ($page === null || $content === null) { + return; + } + page.client.width = $page.clientWidth; + page.client.height = $page.clientHeight; + page.client.contentHeight = $content.clientHeight; + $page.addEventListener("scroll", () => { + page.client.contentHeight = $content.clientHeight; + page.emitPageScroll({ + scrollTop: $page.scrollTop, + }); + }); + // $page.addEventListener("touchstart", (event) => { + // const { pageX, screenY } = event.touches[0]; + // page.handleTouchStart({ x: pageX, y: screenY }); + // }); + // $page.addEventListener( + // "touchmove", + // (event) => { + // const { pageX, screenY } = event.touches[0]; + // page.handleTouchMove({ x: pageX, y: screenY }); + // }, + // { passive: true } + // ); + // $page.addEventListener("touchend", () => { + // page.handleTouchEnd(); + // }); + page.emitReady(); + // 为了有从右向左的滑动动画 + setTimeout(() => { + setLoaded(true); + }, 200); + }); + + const s = createMemo(() => state()); + + return ( +
+
+
+ {(() => { + if (s() === "pulling") { + return "下拉刷新"; + } + if (s() === "releasing") { + return "松手刷新"; + } + if (s() === "refreshing") { + return "正在刷新"; + } + return null; + })()} +
+
+ {c()} +
+
+
+ ); +}; diff --git a/src/components/ScrollView/index.tsx b/src/components/ScrollView/index.tsx new file mode 100644 index 0000000..9f871fa --- /dev/null +++ b/src/components/ScrollView/index.tsx @@ -0,0 +1,75 @@ +/** + * @file 加载更多容器 + */ +// import { useEffect, useRef } from "react"; +// import cx from "classnames"; +import debounce from "lodash/fp/debounce"; +import { Response } from "@list-helper/core/typing"; +import { children, onMount } from "solid-js"; + +// interface IProps extends Omit, "page" | "pageSize"> { +// className?: string; +// children?: React.ReactNode; +// onLoadMore?: () => void; +// } +const ScrollView = (props) => { + const { + className, + dataSource, + noMore = false, + loading, + error, + // children, + onLoadMore, + } = props; + // const onLoadMoreRef = useRef(onLoadMore); + // useEffect(() => { + // onLoadMoreRef.current = onLoadMore; + // }, [onLoadMore]); + + onMount(() => { + const handler = debounce(400, async () => { + if ( + document.documentElement.scrollTop + + document.documentElement.clientHeight + + 600 >= + document.body.clientHeight + ) { + if (onLoadMore) { + onLoadMore(); + } + } + }); + + document.addEventListener("scroll", handler); + return () => { + document.removeEventListener("scroll", handler); + }; + }); + + const c = children(() => props.children); + + return ( +
+ {c()} +
+ {(() => { + if (error) { + return ( +
{error.message}
+ ); + } + if (dataSource && dataSource.length === 0 && noMore && !loading) { + return
结果为空
; + } + if (loading) { + return
加载中...
; + } + return
没有更多了~
; + })()} +
+
+ ); +}; + +export default ScrollView; diff --git a/src/components/SingleModal/index.tsx b/src/components/SingleModal/index.tsx new file mode 100644 index 0000000..fbf8c23 --- /dev/null +++ b/src/components/SingleModal/index.tsx @@ -0,0 +1,69 @@ +/** + * @file 带有 Footer 的 Modal 组件 + */ +import { JSX } from "solid-js"; +import { createSignal } from "solid-js"; + +import { + Dialog, + DialogTitle, + DialogContent, + DialogHeader, + // DialogTrigger, + DialogFooter, + DialogOverlay, +} from "@/components/ui/dialog"; +import { Button } from "@/components/ui/button"; +import { Result } from "@/types"; +import { DialogCore } from "@/domains/ui/dialog"; + +const Modal = (props: { + core: DialogCore; + title: string; + children: JSX.Element; + footer?: JSX.Element; +}) => { + const { core, title, children, footer } = props; + + return ( + + + + {title} + + {children} + + {(() => { + if (footer !== undefined) { + return footer; + } + return ( +
+ + +
+ ); + })()} +
+
+
+ ); +}; + +export default Modal; diff --git a/src/components/SpeechRecognition/index.tsx b/src/components/SpeechRecognition/index.tsx new file mode 100644 index 0000000..5ce4e2e --- /dev/null +++ b/src/components/SpeechRecognition/index.tsx @@ -0,0 +1,44 @@ +import React, { useState, useEffect, useCallback, useRef } from "react"; + +const LongPressInput = () => { + const [is_recording, set_is_recording] = useState(false); + const long_press_ref = useRef(false); + const timer_ref = useRef(null); + + const prepare_long_press = useCallback(() => { + long_press_ref.current = true; + timer_ref.current = setTimeout(() => { + if (long_press_ref.current) { + handle_long_press(); + } + }, 800); + }, []); + const cancel_long_press = useCallback(() => { + long_press_ref.current = false; + if (timer_ref.current) { + clearTimeout(timer_ref.current); + } + set_is_recording(false); + }, []); + + const handle_long_press = useCallback(() => { + set_is_recording(true); + }, []); + + return ( +
+
+ {is_recording ? "Recording..." : "Press and Hold to Speak"} +
+
+ ); +}; + +export default LongPressInput; diff --git a/src/components/TMDBSearcher/dialog.tsx b/src/components/TMDBSearcher/dialog.tsx new file mode 100644 index 0000000..140b7b3 --- /dev/null +++ b/src/components/TMDBSearcher/dialog.tsx @@ -0,0 +1,50 @@ +"use client"; + +import { + Dialog, + DialogContent, + DialogHeader, + DialogTitle, +} from "@/components/ui/dialog"; +import { MatchedTVOfTMDB } from "@/services"; +import { Result } from "@/types"; + +import TMDBSearcher from "."; + +export function TMDBSearcherDialog(props: { + title?: string; + default_value?: string; + visible: boolean; + on_submit: (tv: MatchedTVOfTMDB) => Promise>; + on_visible_change: (nextVisible: boolean) => void; +}) { + const { + title = "影视剧搜索", + default_value, + visible, + on_visible_change, + on_submit, + } = props; + return ( + + {/* + + */} + + + {title} + + { + const r = await on_submit(t); + if (r.data) { + on_visible_change(false); + return; + } + }} + /> + + + ); +} diff --git a/src/components/TMDBSearcher/index.tsx b/src/components/TMDBSearcher/index.tsx new file mode 100644 index 0000000..71a74c3 --- /dev/null +++ b/src/components/TMDBSearcher/index.tsx @@ -0,0 +1,134 @@ +/** + * @file TMDB 搜索器 + */ +import { useState } from "react"; + +import useHelper from "@/domains/list-helper-hook"; +import { MatchedTVOfTMDB, search_tv_in_tmdb } from "@/services"; +import LazyImage from "@/components/LazyImage"; +import { Button } from "@/components/ui/button"; +import { Input } from "@/components/ui/input"; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/components/ui/select"; +import { Label } from "@/components/ui/label"; +import ScrollView from "@/components/ScrollView"; + +interface IProps { + default_keyword?: string; + on_submit?: (v: MatchedTVOfTMDB) => void; +} +const TMDBSearcher: React.FC = (props) => { + const { default_keyword = "", on_submit } = props; + const [values, set_values] = useState({ + name: default_keyword, + language: "zh-CN", + }); + const [response, helper] = useHelper(search_tv_in_tmdb); + + const { dataSource, loading, noMore, error } = response; + + return ( +
+
+
+ + { + set_values((prev) => { + return { + ...prev, + name: event.target.value, + }; + }); + }} + /> +
+
+ + + + +
+
+
+ +
+
+ + {dataSource.map((r) => { + const { + id, + name, + original_name, + overview, + poster_path, + first_air_date, + } = r; + return ( +
+ +
+
{name || original_name}
+
{overview}
+
{first_air_date}
+
+ +
+
+
+ ); + })} +
+
+ ); +}; + +export default TMDBSearcher; diff --git a/src/components/TVForm/dialog.tsx b/src/components/TVForm/dialog.tsx new file mode 100644 index 0000000..d5d2971 --- /dev/null +++ b/src/components/TVForm/dialog.tsx @@ -0,0 +1,60 @@ +"use client"; + +import { + Dialog, + DialogContent, + DialogFooter, + DialogHeader, + DialogTitle, + DialogTrigger, +} from "@/components/ui/dialog"; +import { Button } from "@/components/ui/button"; +import { MatchedTVOfTMDB } from "@/services"; +import { Result } from "@/types"; + +import TVForm from "."; + +export function TVFormDialog(props: { + title?: string; + visible?: boolean; + trigger?: React.ReactNode; + on_submit?: (tv: MatchedTVOfTMDB) => Promise>; + on_visible_change?: (nextVisible: boolean) => void; +}) { + const { + title = "更新影视剧信息", + visible, + trigger, + on_visible_change, + on_submit, + } = props; + return ( + + {trigger && {trigger}} + + + {title} + + { + if (on_submit) { + const r = await on_submit(t); + if (r.data && on_visible_change) { + on_visible_change(false); + return; + } + return; + } + if (on_visible_change) { + on_visible_change(false); + } + }} + /> + + + + + + + ); +} diff --git a/src/components/TVForm/index.tsx b/src/components/TVForm/index.tsx new file mode 100644 index 0000000..e3ef433 --- /dev/null +++ b/src/components/TVForm/index.tsx @@ -0,0 +1,71 @@ +/** + * @file TV 表单 + */ +import { useState } from "react"; + +import useHelper from "@/domains/list-helper-hook"; +import { MatchedTVOfTMDB, search_tv_in_tmdb } from "@/services"; +import LazyImage from "@/components/LazyImage"; +import { Button } from "@/components/ui/button"; +import { Input } from "@/components/ui/input"; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/components/ui/select"; +import { Label } from "@/components/ui/label"; +import { Textarea } from "@/components/ui/textarea"; + +interface IProps { + on_submit?: (v: MatchedTVOfTMDB) => void; +} +const TVForm: React.FC = (props) => { + const { on_submit } = props; + const [values, set_values] = useState({ + name: "", + poster_path: "", + }); + + return ( +
+
+
+ + { + set_values((prev) => { + return { + ...prev, + name: event.target.value, + }; + }); + }} + /> +
+
+ +