diff --git a/.eslintrc.json b/.eslintrc.json
index 9885e21..7b27405 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -1,3 +1,11 @@
{
- "extends": "@minko-fe/eslint-config"
+ "extends": "@minko-fe/eslint-config",
+ "overrides": [
+ {
+ "files": ["**/*.md/*.*"],
+ "rules": {
+ "no-restricted-syntax": "off"
+ }
+ }
+ ]
}
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
new file mode 100644
index 0000000..5e22dff
--- /dev/null
+++ b/.github/workflows/publish.yml
@@ -0,0 +1,41 @@
+name: Npm Publish
+
+on:
+ push:
+ branches:
+ - master
+
+jobs:
+ publish-npm:
+ if: "contains(github.event.head_commit.message, 'release')"
+ runs-on: ${{matrix.os}}
+
+ strategy:
+ matrix:
+ os: [ubuntu-latest]
+ node-version: [16.x]
+ fail-fast: false
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+
+ - name: Install pnpm
+ uses: pnpm/action-setup@v2.0.1
+ with:
+ version: 6.31.0
+
+ - name: Use Node.js ${{ matrix.node-version }}
+ uses: actions/setup-node@v2
+ with:
+ node-version: ${{ matrix.node-version }}
+ registry-url: https://registry.npmjs.org/
+ cache: 'pnpm'
+
+ - name: Install Dependencies
+ run: pnpm install
+
+ - name: Publish to NPM
+ run: pnpm -r publish --access public --no-git-checks
+ env:
+ NODE_AUTH_TOKEN: ${{secrets.npm_token}}
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 0000000..9e159a6
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,30 @@
+name: Create Release
+
+on:
+ push:
+ tags:
+ - v*
+
+jobs:
+ build:
+ name: Create Release
+ runs-on: ${{matrix.os}}
+
+ strategy:
+ matrix:
+ os: [ubuntu-latest]
+ fail-fast: false
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@master
+
+ - name: Create Release for Tag
+ id: release_tag
+ uses: yyx990803/release-tag@master
+ env:
+ GITHUB_TOKEN: ${{ secrets.OPER_TOKEN }}
+ with:
+ tag_name: ${{ github.ref }}
+ body: |
+ Please refer to [CHANGELOG.md](https://github.com/hemengke1997/vite-plugin-public-typescript/blob/master/CHANGELOG.md) for details.
diff --git a/.github/workflows/main.yml b/.github/workflows/test.yml
similarity index 82%
rename from .github/workflows/main.yml
rename to .github/workflows/test.yml
index b5b6330..929949b 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/test.yml
@@ -1,6 +1,13 @@
name: ✅ test
-on: [push, pull_request]
+on:
+ push:
+ branches:
+ - master
+
+ pull_request:
+ branched:
+ -main
jobs:
test:
diff --git a/README.md b/README.md
index 191106d..0b904c6 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,36 @@
# vite-plugin-public-typescript
-a template for typescript project or plugin
+## Feature
+
+- transform public typescript to public javascript
+- output js with hash
+
+## Install
+
+```bash
+pnpm add vite-plugin-public-typescript -D
+```
+
+or
+
+```bash
+npm i vite-plugin-public-typescript -D
+```
+
+## Usage
+
+```ts
+import { defineConfig } from 'vite'
+import { publicTypescript } from 'vite-plugin-public-typescript'
+
+export default defineConfig({
+ plugins: [
+ publicTypescript({
+ inputDir: 'publicTypescript',
+ outputDir: 'lib',
+ manifestName: 'manifest',
+ hash: true,
+ }),
+ ],
+})
+```
diff --git a/playground/vite-project/.gitignore b/playground/vite-project/.gitignore
new file mode 100644
index 0000000..a547bf3
--- /dev/null
+++ b/playground/vite-project/.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/playground/vite-project/index.html b/playground/vite-project/index.html
new file mode 100644
index 0000000..484695c
--- /dev/null
+++ b/playground/vite-project/index.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ Vite + TS
+
+
+
+
+
+
+
diff --git a/playground/vite-project/package.json b/playground/vite-project/package.json
new file mode 100644
index 0000000..9e08380
--- /dev/null
+++ b/playground/vite-project/package.json
@@ -0,0 +1,26 @@
+{
+ "name": "vite-project",
+ "private": true,
+ "version": "0.0.0",
+ "type": "module",
+ "scripts": {
+ "dev": "node server",
+ "build": "npm run build:client && npm run build:server",
+ "build:client": "vite build --ssrManifest --outDir dist/client",
+ "build:server": "vite build --ssr src/entry-server.ts --outDir dist/server",
+ "preview": "cross-env NODE_ENV=production node server"
+ },
+ "dependencies": {
+ "compression": "^1.7.4",
+ "express": "^4.18.1",
+ "sirv": "^2.0.2"
+ },
+ "devDependencies": {
+ "@types/express": "^4.17.14",
+ "@types/node": "^18.7.21",
+ "cross-env": "^7.0.3",
+ "typescript": "^4.8.3",
+ "vite": "^3.1.3",
+ "vite-plugin-public-typescript": "link: ./../../../"
+ }
+}
diff --git a/playground/vite-project/pnpm-lock.yaml b/playground/vite-project/pnpm-lock.yaml
new file mode 100644
index 0000000..b5c34d5
--- /dev/null
+++ b/playground/vite-project/pnpm-lock.yaml
@@ -0,0 +1,1150 @@
+lockfileVersion: 5.4
+
+specifiers:
+ '@types/express': ^4.17.14
+ '@types/node': ^18.7.21
+ compression: ^1.7.4
+ cross-env: ^7.0.3
+ express: ^4.18.1
+ sirv: ^2.0.2
+ typescript: ^4.8.3
+ vite: ^3.1.3
+ vite-plugin-public-typescript: 'link: ./../../../'
+
+dependencies:
+ compression: registry.npmmirror.com/compression/1.7.4
+ express: registry.npmmirror.com/express/4.18.2
+ sirv: registry.npmmirror.com/sirv/2.0.2
+
+devDependencies:
+ '@types/express': registry.npmmirror.com/@types/express/4.17.14
+ '@types/node': registry.npmmirror.com/@types/node/18.11.9
+ cross-env: registry.npmmirror.com/cross-env/7.0.3
+ typescript: registry.npmmirror.com/typescript/4.8.4
+ vite: registry.npmmirror.com/vite/3.2.3_@types+node@18.11.9
+ vite-plugin-public-typescript: link:../..
+
+packages:
+
+ registry.npmmirror.com/@esbuild/android-arm/0.15.13:
+ resolution: {integrity: sha512-RY2fVI8O0iFUNvZirXaQ1vMvK0xhCcl0gqRj74Z6yEiO1zAUa7hbsdwZM1kzqbxHK7LFyMizipfXT3JME+12Hw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.15.13.tgz}
+ name: '@esbuild/android-arm'
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/@esbuild/linux-loong64/0.15.13:
+ resolution: {integrity: sha512-+BoyIm4I8uJmH/QDIH0fu7MG0AEx9OXEDXnqptXCwKOlOqZiS4iraH1Nr7/ObLMokW3sOCeBNyD68ATcV9b9Ag==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.15.13.tgz}
+ name: '@esbuild/linux-loong64'
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/@polka/url/1.0.0-next.21:
+ resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@polka/url/-/url-1.0.0-next.21.tgz}
+ name: '@polka/url'
+ version: 1.0.0-next.21
+ dev: false
+
+ registry.npmmirror.com/@types/body-parser/1.19.2:
+ resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/body-parser/-/body-parser-1.19.2.tgz}
+ name: '@types/body-parser'
+ version: 1.19.2
+ dependencies:
+ '@types/connect': registry.npmmirror.com/@types/connect/3.4.35
+ '@types/node': registry.npmmirror.com/@types/node/18.11.9
+ dev: true
+
+ registry.npmmirror.com/@types/connect/3.4.35:
+ resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/connect/-/connect-3.4.35.tgz}
+ name: '@types/connect'
+ version: 3.4.35
+ dependencies:
+ '@types/node': registry.npmmirror.com/@types/node/18.11.9
+ dev: true
+
+ registry.npmmirror.com/@types/express-serve-static-core/4.17.31:
+ resolution: {integrity: sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz}
+ name: '@types/express-serve-static-core'
+ version: 4.17.31
+ dependencies:
+ '@types/node': registry.npmmirror.com/@types/node/18.11.9
+ '@types/qs': registry.npmmirror.com/@types/qs/6.9.7
+ '@types/range-parser': registry.npmmirror.com/@types/range-parser/1.2.4
+ dev: true
+
+ registry.npmmirror.com/@types/express/4.17.14:
+ resolution: {integrity: sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/express/-/express-4.17.14.tgz}
+ name: '@types/express'
+ version: 4.17.14
+ dependencies:
+ '@types/body-parser': registry.npmmirror.com/@types/body-parser/1.19.2
+ '@types/express-serve-static-core': registry.npmmirror.com/@types/express-serve-static-core/4.17.31
+ '@types/qs': registry.npmmirror.com/@types/qs/6.9.7
+ '@types/serve-static': registry.npmmirror.com/@types/serve-static/1.15.0
+ dev: true
+
+ registry.npmmirror.com/@types/mime/3.0.1:
+ resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/mime/-/mime-3.0.1.tgz}
+ name: '@types/mime'
+ version: 3.0.1
+ dev: true
+
+ registry.npmmirror.com/@types/node/18.11.9:
+ resolution: {integrity: sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/node/-/node-18.11.9.tgz}
+ name: '@types/node'
+ version: 18.11.9
+ dev: true
+
+ registry.npmmirror.com/@types/qs/6.9.7:
+ resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/qs/-/qs-6.9.7.tgz}
+ name: '@types/qs'
+ version: 6.9.7
+ dev: true
+
+ registry.npmmirror.com/@types/range-parser/1.2.4:
+ resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/range-parser/-/range-parser-1.2.4.tgz}
+ name: '@types/range-parser'
+ version: 1.2.4
+ dev: true
+
+ registry.npmmirror.com/@types/serve-static/1.15.0:
+ resolution: {integrity: sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/serve-static/-/serve-static-1.15.0.tgz}
+ name: '@types/serve-static'
+ version: 1.15.0
+ dependencies:
+ '@types/mime': registry.npmmirror.com/@types/mime/3.0.1
+ '@types/node': registry.npmmirror.com/@types/node/18.11.9
+ dev: true
+
+ registry.npmmirror.com/accepts/1.3.8:
+ resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz}
+ name: accepts
+ version: 1.3.8
+ engines: {node: '>= 0.6'}
+ dependencies:
+ mime-types: registry.npmmirror.com/mime-types/2.1.35
+ negotiator: registry.npmmirror.com/negotiator/0.6.3
+ dev: false
+
+ registry.npmmirror.com/array-flatten/1.1.1:
+ resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz}
+ name: array-flatten
+ version: 1.1.1
+ dev: false
+
+ registry.npmmirror.com/body-parser/1.20.1:
+ resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/body-parser/-/body-parser-1.20.1.tgz}
+ name: body-parser
+ version: 1.20.1
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+ dependencies:
+ bytes: registry.npmmirror.com/bytes/3.1.2
+ content-type: registry.npmmirror.com/content-type/1.0.4
+ debug: registry.npmmirror.com/debug/2.6.9
+ depd: registry.npmmirror.com/depd/2.0.0
+ destroy: registry.npmmirror.com/destroy/1.2.0
+ http-errors: registry.npmmirror.com/http-errors/2.0.0
+ iconv-lite: registry.npmmirror.com/iconv-lite/0.4.24
+ on-finished: registry.npmmirror.com/on-finished/2.4.1
+ qs: registry.npmmirror.com/qs/6.11.0
+ raw-body: registry.npmmirror.com/raw-body/2.5.1
+ type-is: registry.npmmirror.com/type-is/1.6.18
+ unpipe: registry.npmmirror.com/unpipe/1.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ registry.npmmirror.com/bytes/3.0.0:
+ resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/bytes/-/bytes-3.0.0.tgz}
+ name: bytes
+ version: 3.0.0
+ engines: {node: '>= 0.8'}
+ dev: false
+
+ registry.npmmirror.com/bytes/3.1.2:
+ resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz}
+ name: bytes
+ version: 3.1.2
+ engines: {node: '>= 0.8'}
+ dev: false
+
+ 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.1.3
+ dev: false
+
+ registry.npmmirror.com/compressible/2.0.18:
+ resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz}
+ name: compressible
+ version: 2.0.18
+ engines: {node: '>= 0.6'}
+ dependencies:
+ mime-db: registry.npmmirror.com/mime-db/1.52.0
+ dev: false
+
+ registry.npmmirror.com/compression/1.7.4:
+ resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/compression/-/compression-1.7.4.tgz}
+ name: compression
+ version: 1.7.4
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ accepts: registry.npmmirror.com/accepts/1.3.8
+ bytes: registry.npmmirror.com/bytes/3.0.0
+ compressible: registry.npmmirror.com/compressible/2.0.18
+ debug: registry.npmmirror.com/debug/2.6.9
+ on-headers: registry.npmmirror.com/on-headers/1.0.2
+ safe-buffer: registry.npmmirror.com/safe-buffer/5.1.2
+ vary: registry.npmmirror.com/vary/1.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ registry.npmmirror.com/content-disposition/0.5.4:
+ resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz}
+ name: content-disposition
+ version: 0.5.4
+ engines: {node: '>= 0.6'}
+ dependencies:
+ safe-buffer: registry.npmmirror.com/safe-buffer/5.2.1
+ dev: false
+
+ registry.npmmirror.com/content-type/1.0.4:
+ resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/content-type/-/content-type-1.0.4.tgz}
+ name: content-type
+ version: 1.0.4
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ registry.npmmirror.com/cookie-signature/1.0.6:
+ resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz}
+ name: cookie-signature
+ version: 1.0.6
+ dev: false
+
+ registry.npmmirror.com/cookie/0.5.0:
+ resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cookie/-/cookie-0.5.0.tgz}
+ name: cookie
+ version: 0.5.0
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ registry.npmmirror.com/cross-env/7.0.3:
+ resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cross-env/-/cross-env-7.0.3.tgz}
+ name: cross-env
+ version: 7.0.3
+ engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'}
+ hasBin: true
+ dependencies:
+ cross-spawn: registry.npmmirror.com/cross-spawn/7.0.3
+ dev: true
+
+ registry.npmmirror.com/cross-spawn/7.0.3:
+ resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz}
+ name: cross-spawn
+ version: 7.0.3
+ engines: {node: '>= 8'}
+ dependencies:
+ path-key: registry.npmmirror.com/path-key/3.1.1
+ shebang-command: registry.npmmirror.com/shebang-command/2.0.0
+ which: registry.npmmirror.com/which/2.0.2
+ dev: true
+
+ registry.npmmirror.com/debug/2.6.9:
+ resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz}
+ name: debug
+ version: 2.6.9
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: registry.npmmirror.com/ms/2.0.0
+ dev: false
+
+ registry.npmmirror.com/depd/2.0.0:
+ resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz}
+ name: depd
+ version: 2.0.0
+ engines: {node: '>= 0.8'}
+ dev: false
+
+ registry.npmmirror.com/destroy/1.2.0:
+ resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz}
+ name: destroy
+ version: 1.2.0
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+ dev: false
+
+ registry.npmmirror.com/ee-first/1.1.1:
+ resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz}
+ name: ee-first
+ version: 1.1.1
+ dev: false
+
+ registry.npmmirror.com/encodeurl/1.0.2:
+ resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz}
+ name: encodeurl
+ version: 1.0.2
+ engines: {node: '>= 0.8'}
+ dev: false
+
+ registry.npmmirror.com/esbuild-android-64/0.15.13:
+ resolution: {integrity: sha512-yRorukXBlokwTip+Sy4MYskLhJsO0Kn0/Fj43s1krVblfwP+hMD37a4Wmg139GEsMLl+vh8WXp2mq/cTA9J97g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-android-64/-/esbuild-android-64-0.15.13.tgz}
+ name: esbuild-android-64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-android-arm64/0.15.13:
+ resolution: {integrity: sha512-TKzyymLD6PiVeyYa4c5wdPw87BeAiTXNtK6amWUcXZxkV51gOk5u5qzmDaYSwiWeecSNHamFsaFjLoi32QR5/w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.13.tgz}
+ name: esbuild-android-arm64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-darwin-64/0.15.13:
+ resolution: {integrity: sha512-WAx7c2DaOS6CrRcoYCgXgkXDliLnFv3pQLV6GeW1YcGEZq2Gnl8s9Pg7ahValZkpOa0iE/ojRVQ87sbUhF1Cbg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.13.tgz}
+ name: esbuild-darwin-64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-darwin-arm64/0.15.13:
+ resolution: {integrity: sha512-U6jFsPfSSxC3V1CLiQqwvDuj3GGrtQNB3P3nNC3+q99EKf94UGpsG9l4CQ83zBs1NHrk1rtCSYT0+KfK5LsD8A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.13.tgz}
+ name: esbuild-darwin-arm64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-freebsd-64/0.15.13:
+ resolution: {integrity: sha512-whItJgDiOXaDG/idy75qqevIpZjnReZkMGCgQaBWZuKHoElDJC1rh7MpoUgupMcdfOd+PgdEwNQW9DAE6i8wyA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.13.tgz}
+ name: esbuild-freebsd-64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-freebsd-arm64/0.15.13:
+ resolution: {integrity: sha512-6pCSWt8mLUbPtygv7cufV0sZLeylaMwS5Fznj6Rsx9G2AJJsAjQ9ifA+0rQEIg7DwJmi9it+WjzNTEAzzdoM3Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.13.tgz}
+ name: esbuild-freebsd-arm64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-linux-32/0.15.13:
+ resolution: {integrity: sha512-VbZdWOEdrJiYApm2kkxoTOgsoCO1krBZ3quHdYk3g3ivWaMwNIVPIfEE0f0XQQ0u5pJtBsnk2/7OPiCFIPOe/w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-32/-/esbuild-linux-32-0.15.13.tgz}
+ name: esbuild-linux-32
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-linux-64/0.15.13:
+ resolution: {integrity: sha512-rXmnArVNio6yANSqDQlIO4WiP+Cv7+9EuAHNnag7rByAqFVuRusLbGi2697A5dFPNXoO//IiogVwi3AdcfPC6A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-64/-/esbuild-linux-64-0.15.13.tgz}
+ name: esbuild-linux-64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-linux-arm/0.15.13:
+ resolution: {integrity: sha512-Ac6LpfmJO8WhCMQmO253xX2IU2B3wPDbl4IvR0hnqcPrdfCaUa2j/lLMGTjmQ4W5JsJIdHEdW12dG8lFS0MbxQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.13.tgz}
+ name: esbuild-linux-arm
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-linux-arm64/0.15.13:
+ resolution: {integrity: sha512-alEMGU4Z+d17U7KQQw2IV8tQycO6T+rOrgW8OS22Ua25x6kHxoG6Ngry6Aq6uranC+pNWNMB6aHFPh7aTQdORQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.13.tgz}
+ name: esbuild-linux-arm64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-linux-mips64le/0.15.13:
+ resolution: {integrity: sha512-47PgmyYEu+yN5rD/MbwS6DxP2FSGPo4Uxg5LwIdxTiyGC2XKwHhHyW7YYEDlSuXLQXEdTO7mYe8zQ74czP7W8A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.13.tgz}
+ name: esbuild-linux-mips64le
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-linux-ppc64le/0.15.13:
+ resolution: {integrity: sha512-z6n28h2+PC1Ayle9DjKoBRcx/4cxHoOa2e689e2aDJSaKug3jXcQw7mM+GLg+9ydYoNzj8QxNL8ihOv/OnezhA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.13.tgz}
+ name: esbuild-linux-ppc64le
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-linux-riscv64/0.15.13:
+ resolution: {integrity: sha512-+Lu4zuuXuQhgLUGyZloWCqTslcCAjMZH1k3Xc9MSEJEpEFdpsSU0sRDXAnk18FKOfEjhu4YMGaykx9xjtpA6ow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.13.tgz}
+ name: esbuild-linux-riscv64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-linux-s390x/0.15.13:
+ resolution: {integrity: sha512-BMeXRljruf7J0TMxD5CIXS65y7puiZkAh+s4XFV9qy16SxOuMhxhVIXYLnbdfLrsYGFzx7U9mcdpFWkkvy/Uag==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.13.tgz}
+ name: esbuild-linux-s390x
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-netbsd-64/0.15.13:
+ resolution: {integrity: sha512-EHj9QZOTel581JPj7UO3xYbltFTYnHy+SIqJVq6yd3KkCrsHRbapiPb0Lx3EOOtybBEE9EyqbmfW1NlSDsSzvQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.13.tgz}
+ name: esbuild-netbsd-64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-openbsd-64/0.15.13:
+ resolution: {integrity: sha512-nkuDlIjF/sfUhfx8SKq0+U+Fgx5K9JcPq1mUodnxI0x4kBdCv46rOGWbuJ6eof2n3wdoCLccOoJAbg9ba/bT2w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.13.tgz}
+ name: esbuild-openbsd-64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-sunos-64/0.15.13:
+ resolution: {integrity: sha512-jVeu2GfxZQ++6lRdY43CS0Tm/r4WuQQ0Pdsrxbw+aOrHQPHV0+LNOLnvbN28M7BSUGnJnHkHm2HozGgNGyeIRw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.13.tgz}
+ name: esbuild-sunos-64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-windows-32/0.15.13:
+ resolution: {integrity: sha512-XoF2iBf0wnqo16SDq+aDGi/+QbaLFpkiRarPVssMh9KYbFNCqPLlGAWwDvxEVz+ywX6Si37J2AKm+AXq1kC0JA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-32/-/esbuild-windows-32-0.15.13.tgz}
+ name: esbuild-windows-32
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-windows-64/0.15.13:
+ resolution: {integrity: sha512-Et6htEfGycjDrtqb2ng6nT+baesZPYQIW+HUEHK4D1ncggNrDNk3yoboYQ5KtiVrw/JaDMNttz8rrPubV/fvPQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.15.13.tgz}
+ name: esbuild-windows-64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-windows-arm64/0.15.13:
+ resolution: {integrity: sha512-3bv7tqntThQC9SWLRouMDmZnlOukBhOCTlkzNqzGCmrkCJI7io5LLjwJBOVY6kOUlIvdxbooNZwjtBvj+7uuVg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.13.tgz}
+ name: esbuild-windows-arm64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild/0.15.13:
+ resolution: {integrity: sha512-Cu3SC84oyzzhrK/YyN4iEVy2jZu5t2fz66HEOShHURcjSkOSAVL8C/gfUT+lDJxkVHpg8GZ10DD0rMHRPqMFaQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild/-/esbuild-0.15.13.tgz}
+ name: esbuild
+ version: 0.15.13
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/android-arm': registry.npmmirror.com/@esbuild/android-arm/0.15.13
+ '@esbuild/linux-loong64': registry.npmmirror.com/@esbuild/linux-loong64/0.15.13
+ esbuild-android-64: registry.npmmirror.com/esbuild-android-64/0.15.13
+ esbuild-android-arm64: registry.npmmirror.com/esbuild-android-arm64/0.15.13
+ esbuild-darwin-64: registry.npmmirror.com/esbuild-darwin-64/0.15.13
+ esbuild-darwin-arm64: registry.npmmirror.com/esbuild-darwin-arm64/0.15.13
+ esbuild-freebsd-64: registry.npmmirror.com/esbuild-freebsd-64/0.15.13
+ esbuild-freebsd-arm64: registry.npmmirror.com/esbuild-freebsd-arm64/0.15.13
+ esbuild-linux-32: registry.npmmirror.com/esbuild-linux-32/0.15.13
+ esbuild-linux-64: registry.npmmirror.com/esbuild-linux-64/0.15.13
+ esbuild-linux-arm: registry.npmmirror.com/esbuild-linux-arm/0.15.13
+ esbuild-linux-arm64: registry.npmmirror.com/esbuild-linux-arm64/0.15.13
+ esbuild-linux-mips64le: registry.npmmirror.com/esbuild-linux-mips64le/0.15.13
+ esbuild-linux-ppc64le: registry.npmmirror.com/esbuild-linux-ppc64le/0.15.13
+ esbuild-linux-riscv64: registry.npmmirror.com/esbuild-linux-riscv64/0.15.13
+ esbuild-linux-s390x: registry.npmmirror.com/esbuild-linux-s390x/0.15.13
+ esbuild-netbsd-64: registry.npmmirror.com/esbuild-netbsd-64/0.15.13
+ esbuild-openbsd-64: registry.npmmirror.com/esbuild-openbsd-64/0.15.13
+ esbuild-sunos-64: registry.npmmirror.com/esbuild-sunos-64/0.15.13
+ esbuild-windows-32: registry.npmmirror.com/esbuild-windows-32/0.15.13
+ esbuild-windows-64: registry.npmmirror.com/esbuild-windows-64/0.15.13
+ esbuild-windows-arm64: registry.npmmirror.com/esbuild-windows-arm64/0.15.13
+ dev: true
+
+ registry.npmmirror.com/escape-html/1.0.3:
+ resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz}
+ name: escape-html
+ version: 1.0.3
+ dev: false
+
+ registry.npmmirror.com/etag/1.8.1:
+ resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz}
+ name: etag
+ version: 1.8.1
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ registry.npmmirror.com/express/4.18.2:
+ resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/express/-/express-4.18.2.tgz}
+ name: express
+ version: 4.18.2
+ engines: {node: '>= 0.10.0'}
+ dependencies:
+ accepts: registry.npmmirror.com/accepts/1.3.8
+ array-flatten: registry.npmmirror.com/array-flatten/1.1.1
+ body-parser: registry.npmmirror.com/body-parser/1.20.1
+ content-disposition: registry.npmmirror.com/content-disposition/0.5.4
+ content-type: registry.npmmirror.com/content-type/1.0.4
+ cookie: registry.npmmirror.com/cookie/0.5.0
+ cookie-signature: registry.npmmirror.com/cookie-signature/1.0.6
+ debug: registry.npmmirror.com/debug/2.6.9
+ depd: registry.npmmirror.com/depd/2.0.0
+ encodeurl: registry.npmmirror.com/encodeurl/1.0.2
+ escape-html: registry.npmmirror.com/escape-html/1.0.3
+ etag: registry.npmmirror.com/etag/1.8.1
+ finalhandler: registry.npmmirror.com/finalhandler/1.2.0
+ fresh: registry.npmmirror.com/fresh/0.5.2
+ http-errors: registry.npmmirror.com/http-errors/2.0.0
+ merge-descriptors: registry.npmmirror.com/merge-descriptors/1.0.1
+ methods: registry.npmmirror.com/methods/1.1.2
+ on-finished: registry.npmmirror.com/on-finished/2.4.1
+ parseurl: registry.npmmirror.com/parseurl/1.3.3
+ path-to-regexp: registry.npmmirror.com/path-to-regexp/0.1.7
+ proxy-addr: registry.npmmirror.com/proxy-addr/2.0.7
+ qs: registry.npmmirror.com/qs/6.11.0
+ range-parser: registry.npmmirror.com/range-parser/1.2.1
+ safe-buffer: registry.npmmirror.com/safe-buffer/5.2.1
+ send: registry.npmmirror.com/send/0.18.0
+ serve-static: registry.npmmirror.com/serve-static/1.15.0
+ setprototypeof: registry.npmmirror.com/setprototypeof/1.2.0
+ statuses: registry.npmmirror.com/statuses/2.0.1
+ type-is: registry.npmmirror.com/type-is/1.6.18
+ utils-merge: registry.npmmirror.com/utils-merge/1.0.1
+ vary: registry.npmmirror.com/vary/1.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ registry.npmmirror.com/finalhandler/1.2.0:
+ resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/finalhandler/-/finalhandler-1.2.0.tgz}
+ name: finalhandler
+ version: 1.2.0
+ engines: {node: '>= 0.8'}
+ dependencies:
+ debug: registry.npmmirror.com/debug/2.6.9
+ encodeurl: registry.npmmirror.com/encodeurl/1.0.2
+ escape-html: registry.npmmirror.com/escape-html/1.0.3
+ on-finished: registry.npmmirror.com/on-finished/2.4.1
+ parseurl: registry.npmmirror.com/parseurl/1.3.3
+ statuses: registry.npmmirror.com/statuses/2.0.1
+ unpipe: registry.npmmirror.com/unpipe/1.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ registry.npmmirror.com/forwarded/0.2.0:
+ resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz}
+ name: forwarded
+ version: 0.2.0
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ registry.npmmirror.com/fresh/0.5.2:
+ resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz}
+ name: fresh
+ version: 0.5.2
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ 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
+ dev: 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/get-intrinsic/1.1.3:
+ resolution: {integrity: sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz}
+ name: get-intrinsic
+ version: 1.1.3
+ 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/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/http-errors/2.0.0:
+ resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz}
+ name: http-errors
+ version: 2.0.0
+ engines: {node: '>= 0.8'}
+ dependencies:
+ depd: registry.npmmirror.com/depd/2.0.0
+ inherits: registry.npmmirror.com/inherits/2.0.4
+ setprototypeof: registry.npmmirror.com/setprototypeof/1.2.0
+ statuses: registry.npmmirror.com/statuses/2.0.1
+ toidentifier: registry.npmmirror.com/toidentifier/1.0.1
+ dev: false
+
+ registry.npmmirror.com/iconv-lite/0.4.24:
+ resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz}
+ name: iconv-lite
+ version: 0.4.24
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ safer-buffer: registry.npmmirror.com/safer-buffer/2.1.2
+ dev: false
+
+ 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
+ dev: false
+
+ registry.npmmirror.com/ipaddr.js/1.9.1:
+ resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz}
+ name: ipaddr.js
+ version: 1.9.1
+ engines: {node: '>= 0.10'}
+ dev: false
+
+ registry.npmmirror.com/is-core-module/2.11.0:
+ resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-core-module/-/is-core-module-2.11.0.tgz}
+ name: is-core-module
+ version: 2.11.0
+ dependencies:
+ has: registry.npmmirror.com/has/1.0.3
+ dev: true
+
+ registry.npmmirror.com/isexe/2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz}
+ name: isexe
+ version: 2.0.0
+ dev: true
+
+ registry.npmmirror.com/media-typer/0.3.0:
+ resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz}
+ name: media-typer
+ version: 0.3.0
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ registry.npmmirror.com/merge-descriptors/1.0.1:
+ resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz}
+ name: merge-descriptors
+ version: 1.0.1
+ dev: false
+
+ registry.npmmirror.com/methods/1.1.2:
+ resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz}
+ name: methods
+ version: 1.1.2
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ 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/mime/1.6.0:
+ resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz}
+ name: mime
+ version: 1.6.0
+ engines: {node: '>=4'}
+ hasBin: true
+ dev: false
+
+ registry.npmmirror.com/mrmime/1.0.1:
+ resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mrmime/-/mrmime-1.0.1.tgz}
+ name: mrmime
+ version: 1.0.1
+ engines: {node: '>=10'}
+ dev: false
+
+ registry.npmmirror.com/ms/2.0.0:
+ resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz}
+ name: ms
+ version: 2.0.0
+ dev: false
+
+ registry.npmmirror.com/ms/2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz}
+ name: ms
+ version: 2.1.3
+ dev: false
+
+ registry.npmmirror.com/nanoid/3.3.4:
+ resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz}
+ name: nanoid
+ version: 3.3.4
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+ dev: true
+
+ registry.npmmirror.com/negotiator/0.6.3:
+ resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz}
+ name: negotiator
+ version: 0.6.3
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ registry.npmmirror.com/object-inspect/1.12.2:
+ resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/object-inspect/-/object-inspect-1.12.2.tgz}
+ name: object-inspect
+ version: 1.12.2
+ dev: false
+
+ registry.npmmirror.com/on-finished/2.4.1:
+ resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz}
+ name: on-finished
+ version: 2.4.1
+ engines: {node: '>= 0.8'}
+ dependencies:
+ ee-first: registry.npmmirror.com/ee-first/1.1.1
+ dev: false
+
+ registry.npmmirror.com/on-headers/1.0.2:
+ resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/on-headers/-/on-headers-1.0.2.tgz}
+ name: on-headers
+ version: 1.0.2
+ engines: {node: '>= 0.8'}
+ dev: false
+
+ registry.npmmirror.com/parseurl/1.3.3:
+ resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz}
+ name: parseurl
+ version: 1.3.3
+ engines: {node: '>= 0.8'}
+ dev: false
+
+ registry.npmmirror.com/path-key/3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz}
+ name: path-key
+ version: 3.1.1
+ engines: {node: '>=8'}
+ dev: true
+
+ registry.npmmirror.com/path-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
+ dev: true
+
+ registry.npmmirror.com/path-to-regexp/0.1.7:
+ resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz}
+ name: path-to-regexp
+ version: 0.1.7
+ dev: false
+
+ 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
+ dev: true
+
+ registry.npmmirror.com/postcss/8.4.18:
+ resolution: {integrity: sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss/-/postcss-8.4.18.tgz}
+ name: postcss
+ version: 8.4.18
+ engines: {node: ^10 || ^12 || >=14}
+ dependencies:
+ nanoid: registry.npmmirror.com/nanoid/3.3.4
+ picocolors: registry.npmmirror.com/picocolors/1.0.0
+ source-map-js: registry.npmmirror.com/source-map-js/1.0.2
+ dev: true
+
+ registry.npmmirror.com/proxy-addr/2.0.7:
+ resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz}
+ name: proxy-addr
+ version: 2.0.7
+ engines: {node: '>= 0.10'}
+ dependencies:
+ forwarded: registry.npmmirror.com/forwarded/0.2.0
+ ipaddr.js: registry.npmmirror.com/ipaddr.js/1.9.1
+ dev: false
+
+ registry.npmmirror.com/qs/6.11.0:
+ resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz}
+ name: qs
+ version: 6.11.0
+ engines: {node: '>=0.6'}
+ dependencies:
+ side-channel: registry.npmmirror.com/side-channel/1.0.4
+ dev: false
+
+ registry.npmmirror.com/range-parser/1.2.1:
+ resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz}
+ name: range-parser
+ version: 1.2.1
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ registry.npmmirror.com/raw-body/2.5.1:
+ resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/raw-body/-/raw-body-2.5.1.tgz}
+ name: raw-body
+ version: 2.5.1
+ engines: {node: '>= 0.8'}
+ dependencies:
+ bytes: registry.npmmirror.com/bytes/3.1.2
+ http-errors: registry.npmmirror.com/http-errors/2.0.0
+ iconv-lite: registry.npmmirror.com/iconv-lite/0.4.24
+ unpipe: registry.npmmirror.com/unpipe/1.0.0
+ dev: false
+
+ registry.npmmirror.com/resolve/1.22.1:
+ resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/resolve/-/resolve-1.22.1.tgz}
+ name: resolve
+ version: 1.22.1
+ hasBin: true
+ dependencies:
+ is-core-module: registry.npmmirror.com/is-core-module/2.11.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
+ dev: true
+
+ registry.npmmirror.com/rollup/2.79.1:
+ resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rollup/-/rollup-2.79.1.tgz}
+ name: rollup
+ version: 2.79.1
+ engines: {node: '>=10.0.0'}
+ hasBin: true
+ optionalDependencies:
+ fsevents: registry.npmmirror.com/fsevents/2.3.2
+ dev: true
+
+ registry.npmmirror.com/safe-buffer/5.1.2:
+ resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz}
+ name: safe-buffer
+ version: 5.1.2
+ dev: false
+
+ registry.npmmirror.com/safe-buffer/5.2.1:
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz}
+ name: safe-buffer
+ version: 5.2.1
+ dev: false
+
+ registry.npmmirror.com/safer-buffer/2.1.2:
+ resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz}
+ name: safer-buffer
+ version: 2.1.2
+ dev: false
+
+ registry.npmmirror.com/send/0.18.0:
+ resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/send/-/send-0.18.0.tgz}
+ name: send
+ version: 0.18.0
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ debug: registry.npmmirror.com/debug/2.6.9
+ depd: registry.npmmirror.com/depd/2.0.0
+ destroy: registry.npmmirror.com/destroy/1.2.0
+ encodeurl: registry.npmmirror.com/encodeurl/1.0.2
+ escape-html: registry.npmmirror.com/escape-html/1.0.3
+ etag: registry.npmmirror.com/etag/1.8.1
+ fresh: registry.npmmirror.com/fresh/0.5.2
+ http-errors: registry.npmmirror.com/http-errors/2.0.0
+ mime: registry.npmmirror.com/mime/1.6.0
+ ms: registry.npmmirror.com/ms/2.1.3
+ on-finished: registry.npmmirror.com/on-finished/2.4.1
+ range-parser: registry.npmmirror.com/range-parser/1.2.1
+ statuses: registry.npmmirror.com/statuses/2.0.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ registry.npmmirror.com/serve-static/1.15.0:
+ resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/serve-static/-/serve-static-1.15.0.tgz}
+ name: serve-static
+ version: 1.15.0
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ encodeurl: registry.npmmirror.com/encodeurl/1.0.2
+ escape-html: registry.npmmirror.com/escape-html/1.0.3
+ parseurl: registry.npmmirror.com/parseurl/1.3.3
+ send: registry.npmmirror.com/send/0.18.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ registry.npmmirror.com/setprototypeof/1.2.0:
+ resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz}
+ name: setprototypeof
+ version: 1.2.0
+ dev: false
+
+ registry.npmmirror.com/shebang-command/2.0.0:
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz}
+ name: shebang-command
+ version: 2.0.0
+ engines: {node: '>=8'}
+ dependencies:
+ shebang-regex: registry.npmmirror.com/shebang-regex/3.0.0
+ dev: true
+
+ registry.npmmirror.com/shebang-regex/3.0.0:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz}
+ name: shebang-regex
+ version: 3.0.0
+ engines: {node: '>=8'}
+ dev: true
+
+ registry.npmmirror.com/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.1.3
+ object-inspect: registry.npmmirror.com/object-inspect/1.12.2
+ dev: false
+
+ registry.npmmirror.com/sirv/2.0.2:
+ resolution: {integrity: sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sirv/-/sirv-2.0.2.tgz}
+ name: sirv
+ version: 2.0.2
+ engines: {node: '>= 10'}
+ dependencies:
+ '@polka/url': registry.npmmirror.com/@polka/url/1.0.0-next.21
+ mrmime: registry.npmmirror.com/mrmime/1.0.1
+ totalist: registry.npmmirror.com/totalist/3.0.0
+ dev: false
+
+ 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'}
+ dev: true
+
+ registry.npmmirror.com/statuses/2.0.1:
+ resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz}
+ name: statuses
+ version: 2.0.1
+ engines: {node: '>= 0.8'}
+ dev: false
+
+ 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'}
+ dev: true
+
+ registry.npmmirror.com/toidentifier/1.0.1:
+ resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz}
+ name: toidentifier
+ version: 1.0.1
+ engines: {node: '>=0.6'}
+ dev: false
+
+ registry.npmmirror.com/totalist/3.0.0:
+ resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/totalist/-/totalist-3.0.0.tgz}
+ name: totalist
+ version: 3.0.0
+ engines: {node: '>=6'}
+ dev: false
+
+ registry.npmmirror.com/type-is/1.6.18:
+ resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz}
+ name: type-is
+ version: 1.6.18
+ engines: {node: '>= 0.6'}
+ dependencies:
+ media-typer: registry.npmmirror.com/media-typer/0.3.0
+ mime-types: registry.npmmirror.com/mime-types/2.1.35
+ dev: false
+
+ registry.npmmirror.com/typescript/4.8.4:
+ resolution: {integrity: sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/typescript/-/typescript-4.8.4.tgz}
+ name: typescript
+ version: 4.8.4
+ engines: {node: '>=4.2.0'}
+ hasBin: true
+ dev: true
+
+ registry.npmmirror.com/unpipe/1.0.0:
+ resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz}
+ name: unpipe
+ version: 1.0.0
+ engines: {node: '>= 0.8'}
+ dev: false
+
+ registry.npmmirror.com/utils-merge/1.0.1:
+ resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz}
+ name: utils-merge
+ version: 1.0.1
+ engines: {node: '>= 0.4.0'}
+ dev: false
+
+ registry.npmmirror.com/vary/1.1.2:
+ resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz}
+ name: vary
+ version: 1.1.2
+ engines: {node: '>= 0.8'}
+ dev: false
+
+ registry.npmmirror.com/vite/3.2.3_@types+node@18.11.9:
+ resolution: {integrity: sha512-h8jl1TZ76eGs3o2dIBSsvXDLb1m/Ec1iej8ZMdz+PsaFUsftZeWe2CZOI3qogEsMNaywc17gu0q6cQDzh/weCQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vite/-/vite-3.2.3.tgz}
+ id: registry.npmmirror.com/vite/3.2.3
+ name: vite
+ version: 3.2.3
+ 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.11.9
+ esbuild: registry.npmmirror.com/esbuild/0.15.13
+ postcss: registry.npmmirror.com/postcss/8.4.18
+ resolve: registry.npmmirror.com/resolve/1.22.1
+ rollup: registry.npmmirror.com/rollup/2.79.1
+ optionalDependencies:
+ fsevents: registry.npmmirror.com/fsevents/2.3.2
+ dev: true
+
+ registry.npmmirror.com/which/2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/which/-/which-2.0.2.tgz}
+ name: which
+ version: 2.0.2
+ engines: {node: '>= 8'}
+ hasBin: true
+ dependencies:
+ isexe: registry.npmmirror.com/isexe/2.0.0
+ dev: true
diff --git a/playground/vite-project/public/lib/test.09f15d3f.js b/playground/vite-project/public/lib/test.09f15d3f.js
new file mode 100644
index 0000000..1a52e1c
--- /dev/null
+++ b/playground/vite-project/public/lib/test.09f15d3f.js
@@ -0,0 +1 @@
+console.log("this is ts");
diff --git a/playground/vite-project/public/test.09f15d3f.js b/playground/vite-project/public/test.09f15d3f.js
new file mode 100644
index 0000000..1a52e1c
--- /dev/null
+++ b/playground/vite-project/public/test.09f15d3f.js
@@ -0,0 +1 @@
+console.log("this is ts");
diff --git a/playground/vite-project/public/vite.svg b/playground/vite-project/public/vite.svg
new file mode 100644
index 0000000..e7b8dfb
--- /dev/null
+++ b/playground/vite-project/public/vite.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/playground/vite-project/publicTypescript/custom-manifest.json b/playground/vite-project/publicTypescript/custom-manifest.json
new file mode 100644
index 0000000..b159c16
--- /dev/null
+++ b/playground/vite-project/publicTypescript/custom-manifest.json
@@ -0,0 +1,3 @@
+{
+ "test": "lib/test.09f15d3f.js"
+}
\ No newline at end of file
diff --git a/playground/vite-project/publicTypescript/test.ts b/playground/vite-project/publicTypescript/test.ts
new file mode 100644
index 0000000..4bd209b
--- /dev/null
+++ b/playground/vite-project/publicTypescript/test.ts
@@ -0,0 +1,3 @@
+console.log('this is ts')
+
+export {}
diff --git a/playground/vite-project/server.js b/playground/vite-project/server.js
new file mode 100644
index 0000000..f0a31c1
--- /dev/null
+++ b/playground/vite-project/server.js
@@ -0,0 +1,71 @@
+import fs from 'node:fs/promises'
+import express from 'express'
+
+// Constants
+const isProduction = process.env.NODE_ENV === 'production'
+const port = process.env.PORT || 5173
+const base = process.env.BASE || '/'
+
+// Cached production assets
+const templateHtml = isProduction
+ ? await fs.readFile('./dist/client/index.html', 'utf-8')
+ : ''
+const ssrManifest = isProduction
+ ? await fs.readFile('./dist/client/ssr-manifest.json', 'utf-8')
+ : undefined
+
+// Create http server
+const app = express()
+
+// Add Vite or respective production middlewares
+let vite
+if (!isProduction) {
+ const { createServer } = await import('vite')
+ vite = await createServer({
+ server: { middlewareMode: true },
+ appType: 'custom',
+ base
+ })
+ app.use(vite.middlewares)
+} else {
+ const compression = (await import('compression')).default
+ const sirv = (await import('sirv')).default
+ app.use(compression())
+ app.use(base, sirv('./dist/client', { extensions: [] }))
+}
+
+// Serve HTML
+app.use('*', async (req, res) => {
+ try {
+ const url = req.originalUrl.replace(base, '')
+
+ let template
+ let render
+ if (!isProduction) {
+ // Always read fresh template in development
+ template = await fs.readFile('./index.html', 'utf-8')
+ template = await vite.transformIndexHtml(url, template)
+ render = (await vite.ssrLoadModule('/src/entry-server.ts')).render
+ } else {
+ template = templateHtml
+ render = (await import('./dist/server/entry-server.js')).render
+ }
+
+ const rendered = await render(url, ssrManifest)
+
+ const html = template
+ .replace(``, rendered.head ?? '')
+ .replace(``, rendered.html ?? '')
+
+ res.status(200).set({ 'Content-Type': 'text/html' }).end(html)
+ } catch (e) {
+ vite?.ssrFixStacktrace(e)
+ console.log(e.stack)
+ res.status(500).end(e.stack)
+ }
+})
+
+// Start http server
+app.listen(port, () => {
+ console.log(`Server started at http://localhost:${port}`)
+})
diff --git a/playground/vite-project/src/counter.ts b/playground/vite-project/src/counter.ts
new file mode 100644
index 0000000..09e5afd
--- /dev/null
+++ b/playground/vite-project/src/counter.ts
@@ -0,0 +1,9 @@
+export function setupCounter(element: HTMLButtonElement) {
+ let counter = 0
+ const setCounter = (count: number) => {
+ counter = count
+ element.innerHTML = `count is ${counter}`
+ }
+ element.addEventListener('click', () => setCounter(counter + 1))
+ setCounter(0)
+}
diff --git a/playground/vite-project/src/entry-client.ts b/playground/vite-project/src/entry-client.ts
new file mode 100644
index 0000000..c7ba05a
--- /dev/null
+++ b/playground/vite-project/src/entry-client.ts
@@ -0,0 +1,5 @@
+import './style.css'
+import './typescript.svg'
+import { setupCounter } from './counter'
+
+setupCounter(document.querySelector('#counter') as HTMLButtonElement)
diff --git a/playground/vite-project/src/entry-server.ts b/playground/vite-project/src/entry-server.ts
new file mode 100644
index 0000000..7981275
--- /dev/null
+++ b/playground/vite-project/src/entry-server.ts
@@ -0,0 +1,22 @@
+import typescriptLogo from './typescript.svg'
+
+export function render() {
+ const html = `
+
+
+
+
+
+
+
+
Hello Vite!
+
+
+
+
+ Click on the Vite logo to learn more
+
+
+ `
+ return { html }
+}
diff --git a/playground/vite-project/src/style.css b/playground/vite-project/src/style.css
new file mode 100644
index 0000000..ac37d84
--- /dev/null
+++ b/playground/vite-project/src/style.css
@@ -0,0 +1,97 @@
+:root {
+ font-family: Inter, Avenir, Helvetica, Arial, sans-serif;
+ font-size: 16px;
+ line-height: 24px;
+ font-weight: 400;
+
+ color-scheme: light dark;
+ color: rgba(255, 255, 255, 0.87);
+ background-color: #242424;
+
+ font-synthesis: none;
+ text-rendering: optimizeLegibility;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ -webkit-text-size-adjust: 100%;
+}
+
+a {
+ font-weight: 500;
+ color: #646cff;
+ text-decoration: inherit;
+}
+a:hover {
+ color: #535bf2;
+}
+
+body {
+ margin: 0;
+ display: flex;
+ place-items: center;
+ min-width: 320px;
+ min-height: 100vh;
+}
+
+h1 {
+ font-size: 3.2em;
+ line-height: 1.1;
+}
+
+#app {
+ max-width: 1280px;
+ margin: 0 auto;
+ padding: 2rem;
+ text-align: center;
+}
+
+.logo {
+ height: 6em;
+ padding: 1.5em;
+ will-change: filter;
+}
+.logo:hover {
+ filter: drop-shadow(0 0 2em #646cffaa);
+}
+.logo.vanilla:hover {
+ filter: drop-shadow(0 0 2em #3178c6aa);
+}
+
+.card {
+ padding: 2em;
+}
+
+.read-the-docs {
+ color: #888;
+}
+
+button {
+ border-radius: 8px;
+ border: 1px solid transparent;
+ padding: 0.6em 1.2em;
+ font-size: 1em;
+ font-weight: 500;
+ font-family: inherit;
+ background-color: #1a1a1a;
+ cursor: pointer;
+ transition: border-color 0.25s;
+}
+button:hover {
+ border-color: #646cff;
+}
+button:focus,
+button:focus-visible {
+ outline: 4px auto -webkit-focus-ring-color;
+}
+
+@media (prefers-color-scheme: light) {
+ :root {
+ color: #213547;
+ background-color: #ffffff;
+ }
+ a:hover {
+ color: #747bff;
+ }
+ button {
+ background-color: #f9f9f9;
+ }
+}
diff --git a/playground/vite-project/src/typescript.svg b/playground/vite-project/src/typescript.svg
new file mode 100644
index 0000000..d91c910
--- /dev/null
+++ b/playground/vite-project/src/typescript.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/playground/vite-project/src/vite-env.d.ts b/playground/vite-project/src/vite-env.d.ts
new file mode 100644
index 0000000..11f02fe
--- /dev/null
+++ b/playground/vite-project/src/vite-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/playground/vite-project/tsconfig.json b/playground/vite-project/tsconfig.json
new file mode 100644
index 0000000..4f22c7e
--- /dev/null
+++ b/playground/vite-project/tsconfig.json
@@ -0,0 +1,21 @@
+{
+ "compilerOptions": {
+ "target": "ESNext",
+ "useDefineForClassFields": true,
+ "module": "ESNext",
+ "lib": ["ESNext", "DOM"],
+ "moduleResolution": "Node",
+ "strict": true,
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "esModuleInterop": true,
+ "noEmit": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noImplicitReturns": true,
+ "skipLibCheck": true
+ },
+ "include": ["src"],
+ "exclude": ["src/entry-server.ts"],
+ "references": [{ "path": "./tsconfig.node.json" }]
+}
diff --git a/playground/vite-project/tsconfig.node.json b/playground/vite-project/tsconfig.node.json
new file mode 100644
index 0000000..9f110a7
--- /dev/null
+++ b/playground/vite-project/tsconfig.node.json
@@ -0,0 +1,8 @@
+{
+ "compilerOptions": {
+ "composite": true,
+ "module": "ESNext",
+ "moduleResolution": "Node"
+ },
+ "include": ["src/entry-server.ts", "src/vite-env.d.ts"]
+}
diff --git a/playground/vite-project/vite.config.ts b/playground/vite-project/vite.config.ts
new file mode 100644
index 0000000..17a9d41
--- /dev/null
+++ b/playground/vite-project/vite.config.ts
@@ -0,0 +1,13 @@
+import { defineConfig } from 'vite'
+import { publicTypescript } from 'vite-plugin-public-typescript'
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ plugins: [
+ publicTypescript({
+ manifestName: 'custom-manifest',
+ hash: true,
+ outputDir: 'lib',
+ }),
+ ],
+})
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 1cfcf01..07d2a6a 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -8,6 +8,7 @@ specifiers:
'@types/fs-extra': ^9.0.13
'@types/node': ^18.11.9
bumpp: ^8.2.1
+ conventional-changelog-cli: ^2.2.2
eslint: ^8.27.0
fast-glob: ^3.2.12
fs-extra: ^10.1.0
@@ -29,6 +30,7 @@ devDependencies:
'@types/fs-extra': 9.0.13
'@types/node': 18.11.9
bumpp: 8.2.1
+ conventional-changelog-cli: registry.npmmirror.com/conventional-changelog-cli/2.2.2
eslint: 8.27.0
prettier: 2.7.1
tsup: 6.4.0_typescript@4.8.4
@@ -66,24 +68,6 @@ packages:
conventional-changelog-conventionalcommits: 5.0.0
dev: true
- /@esbuild/android-arm/0.15.13:
- resolution: {integrity: sha512-RY2fVI8O0iFUNvZirXaQ1vMvK0xhCcl0gqRj74Z6yEiO1zAUa7hbsdwZM1kzqbxHK7LFyMizipfXT3JME+12Hw==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-loong64/0.15.13:
- resolution: {integrity: sha512-+BoyIm4I8uJmH/QDIH0fu7MG0AEx9OXEDXnqptXCwKOlOqZiS4iraH1Nr7/ObLMokW3sOCeBNyD68ATcV9b9Ag==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/@eslint/eslintrc/1.3.3:
resolution: {integrity: sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -690,7 +674,7 @@ packages:
normalize-path: 3.0.0
readdirp: 3.6.0
optionalDependencies:
- fsevents: 2.3.2
+ fsevents: registry.npmmirror.com/fsevents/2.3.2
dev: true
/ci-info/3.5.0:
@@ -929,214 +913,34 @@ packages:
is-symbol: 1.0.4
dev: true
- /esbuild-android-64/0.15.13:
- resolution: {integrity: sha512-yRorukXBlokwTip+Sy4MYskLhJsO0Kn0/Fj43s1krVblfwP+hMD37a4Wmg139GEsMLl+vh8WXp2mq/cTA9J97g==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-android-arm64/0.15.13:
- resolution: {integrity: sha512-TKzyymLD6PiVeyYa4c5wdPw87BeAiTXNtK6amWUcXZxkV51gOk5u5qzmDaYSwiWeecSNHamFsaFjLoi32QR5/w==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-darwin-64/0.15.13:
- resolution: {integrity: sha512-WAx7c2DaOS6CrRcoYCgXgkXDliLnFv3pQLV6GeW1YcGEZq2Gnl8s9Pg7ahValZkpOa0iE/ojRVQ87sbUhF1Cbg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-darwin-arm64/0.15.13:
- resolution: {integrity: sha512-U6jFsPfSSxC3V1CLiQqwvDuj3GGrtQNB3P3nNC3+q99EKf94UGpsG9l4CQ83zBs1NHrk1rtCSYT0+KfK5LsD8A==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-freebsd-64/0.15.13:
- resolution: {integrity: sha512-whItJgDiOXaDG/idy75qqevIpZjnReZkMGCgQaBWZuKHoElDJC1rh7MpoUgupMcdfOd+PgdEwNQW9DAE6i8wyA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-freebsd-arm64/0.15.13:
- resolution: {integrity: sha512-6pCSWt8mLUbPtygv7cufV0sZLeylaMwS5Fznj6Rsx9G2AJJsAjQ9ifA+0rQEIg7DwJmi9it+WjzNTEAzzdoM3Q==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-linux-32/0.15.13:
- resolution: {integrity: sha512-VbZdWOEdrJiYApm2kkxoTOgsoCO1krBZ3quHdYk3g3ivWaMwNIVPIfEE0f0XQQ0u5pJtBsnk2/7OPiCFIPOe/w==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-linux-64/0.15.13:
- resolution: {integrity: sha512-rXmnArVNio6yANSqDQlIO4WiP+Cv7+9EuAHNnag7rByAqFVuRusLbGi2697A5dFPNXoO//IiogVwi3AdcfPC6A==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-linux-arm/0.15.13:
- resolution: {integrity: sha512-Ac6LpfmJO8WhCMQmO253xX2IU2B3wPDbl4IvR0hnqcPrdfCaUa2j/lLMGTjmQ4W5JsJIdHEdW12dG8lFS0MbxQ==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-linux-arm64/0.15.13:
- resolution: {integrity: sha512-alEMGU4Z+d17U7KQQw2IV8tQycO6T+rOrgW8OS22Ua25x6kHxoG6Ngry6Aq6uranC+pNWNMB6aHFPh7aTQdORQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-linux-mips64le/0.15.13:
- resolution: {integrity: sha512-47PgmyYEu+yN5rD/MbwS6DxP2FSGPo4Uxg5LwIdxTiyGC2XKwHhHyW7YYEDlSuXLQXEdTO7mYe8zQ74czP7W8A==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-linux-ppc64le/0.15.13:
- resolution: {integrity: sha512-z6n28h2+PC1Ayle9DjKoBRcx/4cxHoOa2e689e2aDJSaKug3jXcQw7mM+GLg+9ydYoNzj8QxNL8ihOv/OnezhA==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-linux-riscv64/0.15.13:
- resolution: {integrity: sha512-+Lu4zuuXuQhgLUGyZloWCqTslcCAjMZH1k3Xc9MSEJEpEFdpsSU0sRDXAnk18FKOfEjhu4YMGaykx9xjtpA6ow==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-linux-s390x/0.15.13:
- resolution: {integrity: sha512-BMeXRljruf7J0TMxD5CIXS65y7puiZkAh+s4XFV9qy16SxOuMhxhVIXYLnbdfLrsYGFzx7U9mcdpFWkkvy/Uag==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-netbsd-64/0.15.13:
- resolution: {integrity: sha512-EHj9QZOTel581JPj7UO3xYbltFTYnHy+SIqJVq6yd3KkCrsHRbapiPb0Lx3EOOtybBEE9EyqbmfW1NlSDsSzvQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-openbsd-64/0.15.13:
- resolution: {integrity: sha512-nkuDlIjF/sfUhfx8SKq0+U+Fgx5K9JcPq1mUodnxI0x4kBdCv46rOGWbuJ6eof2n3wdoCLccOoJAbg9ba/bT2w==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-sunos-64/0.15.13:
- resolution: {integrity: sha512-jVeu2GfxZQ++6lRdY43CS0Tm/r4WuQQ0Pdsrxbw+aOrHQPHV0+LNOLnvbN28M7BSUGnJnHkHm2HozGgNGyeIRw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-windows-32/0.15.13:
- resolution: {integrity: sha512-XoF2iBf0wnqo16SDq+aDGi/+QbaLFpkiRarPVssMh9KYbFNCqPLlGAWwDvxEVz+ywX6Si37J2AKm+AXq1kC0JA==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-windows-64/0.15.13:
- resolution: {integrity: sha512-Et6htEfGycjDrtqb2ng6nT+baesZPYQIW+HUEHK4D1ncggNrDNk3yoboYQ5KtiVrw/JaDMNttz8rrPubV/fvPQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-windows-arm64/0.15.13:
- resolution: {integrity: sha512-3bv7tqntThQC9SWLRouMDmZnlOukBhOCTlkzNqzGCmrkCJI7io5LLjwJBOVY6kOUlIvdxbooNZwjtBvj+7uuVg==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
/esbuild/0.15.13:
resolution: {integrity: sha512-Cu3SC84oyzzhrK/YyN4iEVy2jZu5t2fz66HEOShHURcjSkOSAVL8C/gfUT+lDJxkVHpg8GZ10DD0rMHRPqMFaQ==}
engines: {node: '>=12'}
hasBin: true
requiresBuild: true
optionalDependencies:
- '@esbuild/android-arm': 0.15.13
- '@esbuild/linux-loong64': 0.15.13
- esbuild-android-64: 0.15.13
- esbuild-android-arm64: 0.15.13
- esbuild-darwin-64: 0.15.13
- esbuild-darwin-arm64: 0.15.13
- esbuild-freebsd-64: 0.15.13
- esbuild-freebsd-arm64: 0.15.13
- esbuild-linux-32: 0.15.13
- esbuild-linux-64: 0.15.13
- esbuild-linux-arm: 0.15.13
- esbuild-linux-arm64: 0.15.13
- esbuild-linux-mips64le: 0.15.13
- esbuild-linux-ppc64le: 0.15.13
- esbuild-linux-riscv64: 0.15.13
- esbuild-linux-s390x: 0.15.13
- esbuild-netbsd-64: 0.15.13
- esbuild-openbsd-64: 0.15.13
- esbuild-sunos-64: 0.15.13
- esbuild-windows-32: 0.15.13
- esbuild-windows-64: 0.15.13
- esbuild-windows-arm64: 0.15.13
+ '@esbuild/android-arm': registry.npmmirror.com/@esbuild/android-arm/0.15.13
+ '@esbuild/linux-loong64': registry.npmmirror.com/@esbuild/linux-loong64/0.15.13
+ esbuild-android-64: registry.npmmirror.com/esbuild-android-64/0.15.13
+ esbuild-android-arm64: registry.npmmirror.com/esbuild-android-arm64/0.15.13
+ esbuild-darwin-64: registry.npmmirror.com/esbuild-darwin-64/0.15.13
+ esbuild-darwin-arm64: registry.npmmirror.com/esbuild-darwin-arm64/0.15.13
+ esbuild-freebsd-64: registry.npmmirror.com/esbuild-freebsd-64/0.15.13
+ esbuild-freebsd-arm64: registry.npmmirror.com/esbuild-freebsd-arm64/0.15.13
+ esbuild-linux-32: registry.npmmirror.com/esbuild-linux-32/0.15.13
+ esbuild-linux-64: registry.npmmirror.com/esbuild-linux-64/0.15.13
+ esbuild-linux-arm: registry.npmmirror.com/esbuild-linux-arm/0.15.13
+ esbuild-linux-arm64: registry.npmmirror.com/esbuild-linux-arm64/0.15.13
+ esbuild-linux-mips64le: registry.npmmirror.com/esbuild-linux-mips64le/0.15.13
+ esbuild-linux-ppc64le: registry.npmmirror.com/esbuild-linux-ppc64le/0.15.13
+ esbuild-linux-riscv64: registry.npmmirror.com/esbuild-linux-riscv64/0.15.13
+ esbuild-linux-s390x: registry.npmmirror.com/esbuild-linux-s390x/0.15.13
+ esbuild-netbsd-64: registry.npmmirror.com/esbuild-netbsd-64/0.15.13
+ esbuild-openbsd-64: registry.npmmirror.com/esbuild-openbsd-64/0.15.13
+ esbuild-sunos-64: registry.npmmirror.com/esbuild-sunos-64/0.15.13
+ esbuild-windows-32: registry.npmmirror.com/esbuild-windows-32/0.15.13
+ esbuild-windows-64: registry.npmmirror.com/esbuild-windows-64/0.15.13
+ esbuild-windows-arm64: registry.npmmirror.com/esbuild-windows-arm64/0.15.13
dev: true
/escape-string-regexp/1.0.5:
@@ -1652,14 +1456,6 @@ packages:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
dev: true
- /fsevents/2.3.2:
- resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
/function-bind/1.1.1:
resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
dev: true
@@ -2056,7 +1852,7 @@ packages:
dependencies:
universalify: 2.0.0
optionalDependencies:
- graceful-fs: 4.2.10
+ graceful-fs: registry.npmmirror.com/graceful-fs/4.2.10
dev: false
/jsx-ast-utils/3.3.3:
@@ -2630,7 +2426,7 @@ packages:
engines: {node: '>=10.0.0'}
hasBin: true
optionalDependencies:
- fsevents: 2.3.2
+ fsevents: registry.npmmirror.com/fsevents/2.3.2
dev: true
/rollup/3.2.5:
@@ -2638,7 +2434,7 @@ packages:
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
hasBin: true
optionalDependencies:
- fsevents: 2.3.2
+ fsevents: registry.npmmirror.com/fsevents/2.3.2
dev: true
/run-parallel/1.2.0:
@@ -3058,7 +2854,7 @@ packages:
resolve: 1.22.1
rollup: 2.79.1
optionalDependencies:
- fsevents: 2.3.2
+ fsevents: registry.npmmirror.com/fsevents/2.3.2
dev: true
/vitest/0.24.5:
@@ -3192,3 +2988,1655 @@ packages:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
dev: true
+
+ registry.npmmirror.com/@babel/code-frame/7.18.6:
+ resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.18.6.tgz}
+ name: '@babel/code-frame'
+ version: 7.18.6
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/highlight': registry.npmmirror.com/@babel/highlight/7.18.6
+ dev: true
+
+ registry.npmmirror.com/@babel/helper-validator-identifier/7.19.1:
+ resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz}
+ name: '@babel/helper-validator-identifier'
+ version: 7.19.1
+ engines: {node: '>=6.9.0'}
+ dev: true
+
+ registry.npmmirror.com/@babel/highlight/7.18.6:
+ resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/highlight/-/highlight-7.18.6.tgz}
+ name: '@babel/highlight'
+ version: 7.18.6
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-validator-identifier': registry.npmmirror.com/@babel/helper-validator-identifier/7.19.1
+ chalk: registry.npmmirror.com/chalk/2.4.2
+ js-tokens: registry.npmmirror.com/js-tokens/4.0.0
+ dev: true
+
+ registry.npmmirror.com/@esbuild/android-arm/0.15.13:
+ resolution: {integrity: sha512-RY2fVI8O0iFUNvZirXaQ1vMvK0xhCcl0gqRj74Z6yEiO1zAUa7hbsdwZM1kzqbxHK7LFyMizipfXT3JME+12Hw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.15.13.tgz}
+ name: '@esbuild/android-arm'
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/@esbuild/linux-loong64/0.15.13:
+ resolution: {integrity: sha512-+BoyIm4I8uJmH/QDIH0fu7MG0AEx9OXEDXnqptXCwKOlOqZiS4iraH1Nr7/ObLMokW3sOCeBNyD68ATcV9b9Ag==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.15.13.tgz}
+ name: '@esbuild/linux-loong64'
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/@hutson/parse-repository-url/3.0.2:
+ resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz}
+ name: '@hutson/parse-repository-url'
+ version: 3.0.2
+ engines: {node: '>=6.9.0'}
+ dev: true
+
+ registry.npmmirror.com/@types/minimist/1.2.2:
+ resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/minimist/-/minimist-1.2.2.tgz}
+ name: '@types/minimist'
+ version: 1.2.2
+ dev: true
+
+ registry.npmmirror.com/@types/normalize-package-data/2.4.1:
+ resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz}
+ name: '@types/normalize-package-data'
+ version: 2.4.1
+ dev: true
+
+ registry.npmmirror.com/JSONStream/1.3.5:
+ resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/JSONStream/-/JSONStream-1.3.5.tgz}
+ name: JSONStream
+ version: 1.3.5
+ hasBin: true
+ dependencies:
+ jsonparse: registry.npmmirror.com/jsonparse/1.3.1
+ through: registry.npmmirror.com/through/2.3.8
+ dev: true
+
+ registry.npmmirror.com/add-stream/1.0.0:
+ resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/add-stream/-/add-stream-1.0.0.tgz}
+ name: add-stream
+ version: 1.0.0
+ dev: true
+
+ registry.npmmirror.com/ansi-regex/5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz}
+ name: ansi-regex
+ version: 5.0.1
+ engines: {node: '>=8'}
+ dev: true
+
+ registry.npmmirror.com/ansi-styles/3.2.1:
+ resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz}
+ name: ansi-styles
+ version: 3.2.1
+ engines: {node: '>=4'}
+ dependencies:
+ color-convert: registry.npmmirror.com/color-convert/1.9.3
+ dev: true
+
+ registry.npmmirror.com/ansi-styles/4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz}
+ name: ansi-styles
+ version: 4.3.0
+ engines: {node: '>=8'}
+ dependencies:
+ color-convert: registry.npmmirror.com/color-convert/2.0.1
+ dev: true
+
+ registry.npmmirror.com/array-ify/1.0.0:
+ resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/array-ify/-/array-ify-1.0.0.tgz}
+ name: array-ify
+ version: 1.0.0
+ dev: true
+
+ registry.npmmirror.com/arrify/1.0.1:
+ resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/arrify/-/arrify-1.0.1.tgz}
+ name: arrify
+ version: 1.0.1
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ registry.npmmirror.com/camelcase-keys/6.2.2:
+ resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz}
+ name: camelcase-keys
+ version: 6.2.2
+ engines: {node: '>=8'}
+ dependencies:
+ camelcase: registry.npmmirror.com/camelcase/5.3.1
+ map-obj: registry.npmmirror.com/map-obj/4.3.0
+ quick-lru: registry.npmmirror.com/quick-lru/4.0.1
+ dev: true
+
+ registry.npmmirror.com/camelcase/5.3.1:
+ resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz}
+ name: camelcase
+ version: 5.3.1
+ engines: {node: '>=6'}
+ dev: true
+
+ registry.npmmirror.com/chalk/2.4.2:
+ resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz}
+ name: chalk
+ version: 2.4.2
+ engines: {node: '>=4'}
+ dependencies:
+ ansi-styles: registry.npmmirror.com/ansi-styles/3.2.1
+ escape-string-regexp: registry.npmmirror.com/escape-string-regexp/1.0.5
+ supports-color: registry.npmmirror.com/supports-color/5.5.0
+ dev: true
+
+ registry.npmmirror.com/cliui/7.0.4:
+ resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cliui/-/cliui-7.0.4.tgz}
+ name: cliui
+ version: 7.0.4
+ dependencies:
+ string-width: registry.npmmirror.com/string-width/4.2.3
+ strip-ansi: registry.npmmirror.com/strip-ansi/6.0.1
+ wrap-ansi: registry.npmmirror.com/wrap-ansi/7.0.0
+ dev: true
+
+ registry.npmmirror.com/color-convert/1.9.3:
+ resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz}
+ name: color-convert
+ version: 1.9.3
+ dependencies:
+ color-name: registry.npmmirror.com/color-name/1.1.3
+ dev: true
+
+ registry.npmmirror.com/color-convert/2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz}
+ name: color-convert
+ version: 2.0.1
+ engines: {node: '>=7.0.0'}
+ dependencies:
+ color-name: registry.npmmirror.com/color-name/1.1.4
+ dev: true
+
+ registry.npmmirror.com/color-name/1.1.3:
+ resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz}
+ name: color-name
+ version: 1.1.3
+ dev: true
+
+ registry.npmmirror.com/color-name/1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz}
+ name: color-name
+ version: 1.1.4
+ dev: true
+
+ registry.npmmirror.com/compare-func/2.0.0:
+ resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/compare-func/-/compare-func-2.0.0.tgz}
+ name: compare-func
+ version: 2.0.0
+ dependencies:
+ array-ify: registry.npmmirror.com/array-ify/1.0.0
+ dot-prop: registry.npmmirror.com/dot-prop/5.3.0
+ dev: true
+
+ registry.npmmirror.com/conventional-changelog-angular/5.0.13:
+ resolution: {integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz}
+ name: conventional-changelog-angular
+ version: 5.0.13
+ engines: {node: '>=10'}
+ dependencies:
+ compare-func: registry.npmmirror.com/compare-func/2.0.0
+ q: registry.npmmirror.com/q/1.5.1
+ dev: true
+
+ registry.npmmirror.com/conventional-changelog-atom/2.0.8:
+ resolution: {integrity: sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz}
+ name: conventional-changelog-atom
+ version: 2.0.8
+ engines: {node: '>=10'}
+ dependencies:
+ q: registry.npmmirror.com/q/1.5.1
+ dev: true
+
+ registry.npmmirror.com/conventional-changelog-cli/2.2.2:
+ resolution: {integrity: sha512-8grMV5Jo8S0kP3yoMeJxV2P5R6VJOqK72IiSV9t/4H5r/HiRqEBQ83bYGuz4Yzfdj4bjaAEhZN/FFbsFXr5bOA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/conventional-changelog-cli/-/conventional-changelog-cli-2.2.2.tgz}
+ name: conventional-changelog-cli
+ version: 2.2.2
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ add-stream: registry.npmmirror.com/add-stream/1.0.0
+ conventional-changelog: registry.npmmirror.com/conventional-changelog/3.1.25
+ lodash: registry.npmmirror.com/lodash/4.17.21
+ meow: registry.npmmirror.com/meow/8.1.2
+ tempfile: registry.npmmirror.com/tempfile/3.0.0
+ dev: true
+
+ registry.npmmirror.com/conventional-changelog-codemirror/2.0.8:
+ resolution: {integrity: sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz}
+ name: conventional-changelog-codemirror
+ version: 2.0.8
+ engines: {node: '>=10'}
+ dependencies:
+ q: registry.npmmirror.com/q/1.5.1
+ dev: true
+
+ registry.npmmirror.com/conventional-changelog-conventionalcommits/4.6.3:
+ resolution: {integrity: sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz}
+ name: conventional-changelog-conventionalcommits
+ version: 4.6.3
+ engines: {node: '>=10'}
+ dependencies:
+ compare-func: registry.npmmirror.com/compare-func/2.0.0
+ lodash: registry.npmmirror.com/lodash/4.17.21
+ q: registry.npmmirror.com/q/1.5.1
+ dev: true
+
+ registry.npmmirror.com/conventional-changelog-core/4.2.4:
+ resolution: {integrity: sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz}
+ name: conventional-changelog-core
+ version: 4.2.4
+ engines: {node: '>=10'}
+ dependencies:
+ add-stream: registry.npmmirror.com/add-stream/1.0.0
+ conventional-changelog-writer: registry.npmmirror.com/conventional-changelog-writer/5.0.1
+ conventional-commits-parser: registry.npmmirror.com/conventional-commits-parser/3.2.4
+ dateformat: registry.npmmirror.com/dateformat/3.0.3
+ get-pkg-repo: registry.npmmirror.com/get-pkg-repo/4.2.1
+ git-raw-commits: registry.npmmirror.com/git-raw-commits/2.0.11
+ git-remote-origin-url: registry.npmmirror.com/git-remote-origin-url/2.0.0
+ git-semver-tags: registry.npmmirror.com/git-semver-tags/4.1.1
+ lodash: registry.npmmirror.com/lodash/4.17.21
+ normalize-package-data: registry.npmmirror.com/normalize-package-data/3.0.3
+ q: registry.npmmirror.com/q/1.5.1
+ read-pkg: registry.npmmirror.com/read-pkg/3.0.0
+ read-pkg-up: registry.npmmirror.com/read-pkg-up/3.0.0
+ through2: registry.npmmirror.com/through2/4.0.2
+ dev: true
+
+ registry.npmmirror.com/conventional-changelog-ember/2.0.9:
+ resolution: {integrity: sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz}
+ name: conventional-changelog-ember
+ version: 2.0.9
+ engines: {node: '>=10'}
+ dependencies:
+ q: registry.npmmirror.com/q/1.5.1
+ dev: true
+
+ registry.npmmirror.com/conventional-changelog-eslint/3.0.9:
+ resolution: {integrity: sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz}
+ name: conventional-changelog-eslint
+ version: 3.0.9
+ engines: {node: '>=10'}
+ dependencies:
+ q: registry.npmmirror.com/q/1.5.1
+ dev: true
+
+ registry.npmmirror.com/conventional-changelog-express/2.0.6:
+ resolution: {integrity: sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz}
+ name: conventional-changelog-express
+ version: 2.0.6
+ engines: {node: '>=10'}
+ dependencies:
+ q: registry.npmmirror.com/q/1.5.1
+ dev: true
+
+ registry.npmmirror.com/conventional-changelog-jquery/3.0.11:
+ resolution: {integrity: sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz}
+ name: conventional-changelog-jquery
+ version: 3.0.11
+ engines: {node: '>=10'}
+ dependencies:
+ q: registry.npmmirror.com/q/1.5.1
+ dev: true
+
+ registry.npmmirror.com/conventional-changelog-jshint/2.0.9:
+ resolution: {integrity: sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz}
+ name: conventional-changelog-jshint
+ version: 2.0.9
+ engines: {node: '>=10'}
+ dependencies:
+ compare-func: registry.npmmirror.com/compare-func/2.0.0
+ q: registry.npmmirror.com/q/1.5.1
+ dev: true
+
+ registry.npmmirror.com/conventional-changelog-preset-loader/2.3.4:
+ resolution: {integrity: sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz}
+ name: conventional-changelog-preset-loader
+ version: 2.3.4
+ engines: {node: '>=10'}
+ dev: true
+
+ registry.npmmirror.com/conventional-changelog-writer/5.0.1:
+ resolution: {integrity: sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz}
+ name: conventional-changelog-writer
+ version: 5.0.1
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ conventional-commits-filter: registry.npmmirror.com/conventional-commits-filter/2.0.7
+ dateformat: registry.npmmirror.com/dateformat/3.0.3
+ handlebars: registry.npmmirror.com/handlebars/4.7.7
+ json-stringify-safe: registry.npmmirror.com/json-stringify-safe/5.0.1
+ lodash: registry.npmmirror.com/lodash/4.17.21
+ meow: registry.npmmirror.com/meow/8.1.2
+ semver: registry.npmmirror.com/semver/6.3.0
+ split: registry.npmmirror.com/split/1.0.1
+ through2: registry.npmmirror.com/through2/4.0.2
+ dev: true
+
+ registry.npmmirror.com/conventional-changelog/3.1.25:
+ resolution: {integrity: sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/conventional-changelog/-/conventional-changelog-3.1.25.tgz}
+ name: conventional-changelog
+ version: 3.1.25
+ engines: {node: '>=10'}
+ dependencies:
+ conventional-changelog-angular: registry.npmmirror.com/conventional-changelog-angular/5.0.13
+ conventional-changelog-atom: registry.npmmirror.com/conventional-changelog-atom/2.0.8
+ conventional-changelog-codemirror: registry.npmmirror.com/conventional-changelog-codemirror/2.0.8
+ conventional-changelog-conventionalcommits: registry.npmmirror.com/conventional-changelog-conventionalcommits/4.6.3
+ conventional-changelog-core: registry.npmmirror.com/conventional-changelog-core/4.2.4
+ conventional-changelog-ember: registry.npmmirror.com/conventional-changelog-ember/2.0.9
+ conventional-changelog-eslint: registry.npmmirror.com/conventional-changelog-eslint/3.0.9
+ conventional-changelog-express: registry.npmmirror.com/conventional-changelog-express/2.0.6
+ conventional-changelog-jquery: registry.npmmirror.com/conventional-changelog-jquery/3.0.11
+ conventional-changelog-jshint: registry.npmmirror.com/conventional-changelog-jshint/2.0.9
+ conventional-changelog-preset-loader: registry.npmmirror.com/conventional-changelog-preset-loader/2.3.4
+ dev: true
+
+ registry.npmmirror.com/conventional-commits-filter/2.0.7:
+ resolution: {integrity: sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz}
+ name: conventional-commits-filter
+ version: 2.0.7
+ engines: {node: '>=10'}
+ dependencies:
+ lodash.ismatch: registry.npmmirror.com/lodash.ismatch/4.4.0
+ modify-values: registry.npmmirror.com/modify-values/1.0.1
+ dev: true
+
+ registry.npmmirror.com/conventional-commits-parser/3.2.4:
+ resolution: {integrity: sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz}
+ name: conventional-commits-parser
+ version: 3.2.4
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ JSONStream: registry.npmmirror.com/JSONStream/1.3.5
+ is-text-path: registry.npmmirror.com/is-text-path/1.0.1
+ lodash: registry.npmmirror.com/lodash/4.17.21
+ meow: registry.npmmirror.com/meow/8.1.2
+ split2: registry.npmmirror.com/split2/3.2.2
+ through2: registry.npmmirror.com/through2/4.0.2
+ dev: true
+
+ registry.npmmirror.com/core-util-is/1.0.3:
+ resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz}
+ name: core-util-is
+ version: 1.0.3
+ dev: true
+
+ registry.npmmirror.com/dargs/7.0.0:
+ resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dargs/-/dargs-7.0.0.tgz}
+ name: dargs
+ version: 7.0.0
+ engines: {node: '>=8'}
+ dev: true
+
+ registry.npmmirror.com/dateformat/3.0.3:
+ resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dateformat/-/dateformat-3.0.3.tgz}
+ name: dateformat
+ version: 3.0.3
+ dev: true
+
+ registry.npmmirror.com/decamelize-keys/1.1.1:
+ resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz}
+ name: decamelize-keys
+ version: 1.1.1
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ decamelize: registry.npmmirror.com/decamelize/1.2.0
+ map-obj: registry.npmmirror.com/map-obj/1.0.1
+ dev: true
+
+ registry.npmmirror.com/decamelize/1.2.0:
+ resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz}
+ name: decamelize
+ version: 1.2.0
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ registry.npmmirror.com/dot-prop/5.3.0:
+ resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dot-prop/-/dot-prop-5.3.0.tgz}
+ name: dot-prop
+ version: 5.3.0
+ engines: {node: '>=8'}
+ dependencies:
+ is-obj: registry.npmmirror.com/is-obj/2.0.0
+ dev: true
+
+ registry.npmmirror.com/emoji-regex/8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz}
+ name: emoji-regex
+ version: 8.0.0
+ dev: true
+
+ registry.npmmirror.com/error-ex/1.3.2:
+ resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz}
+ name: error-ex
+ version: 1.3.2
+ dependencies:
+ is-arrayish: registry.npmmirror.com/is-arrayish/0.2.1
+ dev: true
+
+ registry.npmmirror.com/esbuild-android-64/0.15.13:
+ resolution: {integrity: sha512-yRorukXBlokwTip+Sy4MYskLhJsO0Kn0/Fj43s1krVblfwP+hMD37a4Wmg139GEsMLl+vh8WXp2mq/cTA9J97g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-android-64/-/esbuild-android-64-0.15.13.tgz}
+ name: esbuild-android-64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-android-arm64/0.15.13:
+ resolution: {integrity: sha512-TKzyymLD6PiVeyYa4c5wdPw87BeAiTXNtK6amWUcXZxkV51gOk5u5qzmDaYSwiWeecSNHamFsaFjLoi32QR5/w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.13.tgz}
+ name: esbuild-android-arm64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-darwin-64/0.15.13:
+ resolution: {integrity: sha512-WAx7c2DaOS6CrRcoYCgXgkXDliLnFv3pQLV6GeW1YcGEZq2Gnl8s9Pg7ahValZkpOa0iE/ojRVQ87sbUhF1Cbg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.13.tgz}
+ name: esbuild-darwin-64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-darwin-arm64/0.15.13:
+ resolution: {integrity: sha512-U6jFsPfSSxC3V1CLiQqwvDuj3GGrtQNB3P3nNC3+q99EKf94UGpsG9l4CQ83zBs1NHrk1rtCSYT0+KfK5LsD8A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.13.tgz}
+ name: esbuild-darwin-arm64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-freebsd-64/0.15.13:
+ resolution: {integrity: sha512-whItJgDiOXaDG/idy75qqevIpZjnReZkMGCgQaBWZuKHoElDJC1rh7MpoUgupMcdfOd+PgdEwNQW9DAE6i8wyA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.13.tgz}
+ name: esbuild-freebsd-64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-freebsd-arm64/0.15.13:
+ resolution: {integrity: sha512-6pCSWt8mLUbPtygv7cufV0sZLeylaMwS5Fznj6Rsx9G2AJJsAjQ9ifA+0rQEIg7DwJmi9it+WjzNTEAzzdoM3Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.13.tgz}
+ name: esbuild-freebsd-arm64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-linux-32/0.15.13:
+ resolution: {integrity: sha512-VbZdWOEdrJiYApm2kkxoTOgsoCO1krBZ3quHdYk3g3ivWaMwNIVPIfEE0f0XQQ0u5pJtBsnk2/7OPiCFIPOe/w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-32/-/esbuild-linux-32-0.15.13.tgz}
+ name: esbuild-linux-32
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-linux-64/0.15.13:
+ resolution: {integrity: sha512-rXmnArVNio6yANSqDQlIO4WiP+Cv7+9EuAHNnag7rByAqFVuRusLbGi2697A5dFPNXoO//IiogVwi3AdcfPC6A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-64/-/esbuild-linux-64-0.15.13.tgz}
+ name: esbuild-linux-64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-linux-arm/0.15.13:
+ resolution: {integrity: sha512-Ac6LpfmJO8WhCMQmO253xX2IU2B3wPDbl4IvR0hnqcPrdfCaUa2j/lLMGTjmQ4W5JsJIdHEdW12dG8lFS0MbxQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.13.tgz}
+ name: esbuild-linux-arm
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-linux-arm64/0.15.13:
+ resolution: {integrity: sha512-alEMGU4Z+d17U7KQQw2IV8tQycO6T+rOrgW8OS22Ua25x6kHxoG6Ngry6Aq6uranC+pNWNMB6aHFPh7aTQdORQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.13.tgz}
+ name: esbuild-linux-arm64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-linux-mips64le/0.15.13:
+ resolution: {integrity: sha512-47PgmyYEu+yN5rD/MbwS6DxP2FSGPo4Uxg5LwIdxTiyGC2XKwHhHyW7YYEDlSuXLQXEdTO7mYe8zQ74czP7W8A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.13.tgz}
+ name: esbuild-linux-mips64le
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-linux-ppc64le/0.15.13:
+ resolution: {integrity: sha512-z6n28h2+PC1Ayle9DjKoBRcx/4cxHoOa2e689e2aDJSaKug3jXcQw7mM+GLg+9ydYoNzj8QxNL8ihOv/OnezhA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.13.tgz}
+ name: esbuild-linux-ppc64le
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-linux-riscv64/0.15.13:
+ resolution: {integrity: sha512-+Lu4zuuXuQhgLUGyZloWCqTslcCAjMZH1k3Xc9MSEJEpEFdpsSU0sRDXAnk18FKOfEjhu4YMGaykx9xjtpA6ow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.13.tgz}
+ name: esbuild-linux-riscv64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-linux-s390x/0.15.13:
+ resolution: {integrity: sha512-BMeXRljruf7J0TMxD5CIXS65y7puiZkAh+s4XFV9qy16SxOuMhxhVIXYLnbdfLrsYGFzx7U9mcdpFWkkvy/Uag==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.13.tgz}
+ name: esbuild-linux-s390x
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-netbsd-64/0.15.13:
+ resolution: {integrity: sha512-EHj9QZOTel581JPj7UO3xYbltFTYnHy+SIqJVq6yd3KkCrsHRbapiPb0Lx3EOOtybBEE9EyqbmfW1NlSDsSzvQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.13.tgz}
+ name: esbuild-netbsd-64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-openbsd-64/0.15.13:
+ resolution: {integrity: sha512-nkuDlIjF/sfUhfx8SKq0+U+Fgx5K9JcPq1mUodnxI0x4kBdCv46rOGWbuJ6eof2n3wdoCLccOoJAbg9ba/bT2w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.13.tgz}
+ name: esbuild-openbsd-64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-sunos-64/0.15.13:
+ resolution: {integrity: sha512-jVeu2GfxZQ++6lRdY43CS0Tm/r4WuQQ0Pdsrxbw+aOrHQPHV0+LNOLnvbN28M7BSUGnJnHkHm2HozGgNGyeIRw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.13.tgz}
+ name: esbuild-sunos-64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-windows-32/0.15.13:
+ resolution: {integrity: sha512-XoF2iBf0wnqo16SDq+aDGi/+QbaLFpkiRarPVssMh9KYbFNCqPLlGAWwDvxEVz+ywX6Si37J2AKm+AXq1kC0JA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-32/-/esbuild-windows-32-0.15.13.tgz}
+ name: esbuild-windows-32
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-windows-64/0.15.13:
+ resolution: {integrity: sha512-Et6htEfGycjDrtqb2ng6nT+baesZPYQIW+HUEHK4D1ncggNrDNk3yoboYQ5KtiVrw/JaDMNttz8rrPubV/fvPQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.15.13.tgz}
+ name: esbuild-windows-64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ registry.npmmirror.com/esbuild-windows-arm64/0.15.13:
+ resolution: {integrity: sha512-3bv7tqntThQC9SWLRouMDmZnlOukBhOCTlkzNqzGCmrkCJI7io5LLjwJBOVY6kOUlIvdxbooNZwjtBvj+7uuVg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.13.tgz}
+ name: esbuild-windows-arm64
+ version: 0.15.13
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: 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/find-up/2.1.0:
+ resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/find-up/-/find-up-2.1.0.tgz}
+ name: find-up
+ version: 2.1.0
+ engines: {node: '>=4'}
+ dependencies:
+ locate-path: registry.npmmirror.com/locate-path/2.0.0
+ dev: true
+
+ registry.npmmirror.com/find-up/4.1.0:
+ resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz}
+ name: find-up
+ version: 4.1.0
+ engines: {node: '>=8'}
+ dependencies:
+ locate-path: registry.npmmirror.com/locate-path/5.0.0
+ path-exists: registry.npmmirror.com/path-exists/4.0.0
+ dev: true
+
+ 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
+ dev: 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
+ dev: true
+
+ registry.npmmirror.com/get-caller-file/2.0.5:
+ resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz}
+ name: get-caller-file
+ version: 2.0.5
+ engines: {node: 6.* || 8.* || >= 10.*}
+ dev: true
+
+ registry.npmmirror.com/get-pkg-repo/4.2.1:
+ resolution: {integrity: sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz}
+ name: get-pkg-repo
+ version: 4.2.1
+ engines: {node: '>=6.9.0'}
+ hasBin: true
+ dependencies:
+ '@hutson/parse-repository-url': registry.npmmirror.com/@hutson/parse-repository-url/3.0.2
+ hosted-git-info: registry.npmmirror.com/hosted-git-info/4.1.0
+ through2: registry.npmmirror.com/through2/2.0.5
+ yargs: registry.npmmirror.com/yargs/16.2.0
+ dev: true
+
+ registry.npmmirror.com/git-raw-commits/2.0.11:
+ resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz}
+ name: git-raw-commits
+ version: 2.0.11
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ dargs: registry.npmmirror.com/dargs/7.0.0
+ lodash: registry.npmmirror.com/lodash/4.17.21
+ meow: registry.npmmirror.com/meow/8.1.2
+ split2: registry.npmmirror.com/split2/3.2.2
+ through2: registry.npmmirror.com/through2/4.0.2
+ dev: true
+
+ registry.npmmirror.com/git-remote-origin-url/2.0.0:
+ resolution: {integrity: sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz}
+ name: git-remote-origin-url
+ version: 2.0.0
+ engines: {node: '>=4'}
+ dependencies:
+ gitconfiglocal: registry.npmmirror.com/gitconfiglocal/1.0.0
+ pify: registry.npmmirror.com/pify/2.3.0
+ dev: true
+
+ registry.npmmirror.com/git-semver-tags/4.1.1:
+ resolution: {integrity: sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/git-semver-tags/-/git-semver-tags-4.1.1.tgz}
+ name: git-semver-tags
+ version: 4.1.1
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ meow: registry.npmmirror.com/meow/8.1.2
+ semver: registry.npmmirror.com/semver/6.3.0
+ dev: true
+
+ registry.npmmirror.com/gitconfiglocal/1.0.0:
+ resolution: {integrity: sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz}
+ name: gitconfiglocal
+ version: 1.0.0
+ dependencies:
+ ini: registry.npmmirror.com/ini/1.3.8
+ dev: true
+
+ registry.npmmirror.com/graceful-fs/4.2.10:
+ resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz}
+ name: graceful-fs
+ version: 4.2.10
+
+ registry.npmmirror.com/handlebars/4.7.7:
+ resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/handlebars/-/handlebars-4.7.7.tgz}
+ name: handlebars
+ version: 4.7.7
+ engines: {node: '>=0.4.7'}
+ hasBin: true
+ dependencies:
+ minimist: registry.npmmirror.com/minimist/1.2.7
+ neo-async: registry.npmmirror.com/neo-async/2.6.2
+ source-map: registry.npmmirror.com/source-map/0.6.1
+ wordwrap: registry.npmmirror.com/wordwrap/1.0.0
+ optionalDependencies:
+ uglify-js: registry.npmmirror.com/uglify-js/3.17.4
+ dev: true
+
+ registry.npmmirror.com/hard-rejection/2.1.0:
+ resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hard-rejection/-/hard-rejection-2.1.0.tgz}
+ name: hard-rejection
+ version: 2.1.0
+ engines: {node: '>=6'}
+ 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/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
+ dev: true
+
+ registry.npmmirror.com/hosted-git-info/2.8.9:
+ resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz}
+ name: hosted-git-info
+ version: 2.8.9
+ dev: true
+
+ registry.npmmirror.com/hosted-git-info/4.1.0:
+ resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz}
+ name: hosted-git-info
+ version: 4.1.0
+ engines: {node: '>=10'}
+ dependencies:
+ lru-cache: registry.npmmirror.com/lru-cache/6.0.0
+ dev: true
+
+ registry.npmmirror.com/indent-string/4.0.0:
+ resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/indent-string/-/indent-string-4.0.0.tgz}
+ name: indent-string
+ version: 4.0.0
+ engines: {node: '>=8'}
+ dev: true
+
+ registry.npmmirror.com/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
+ dev: true
+
+ registry.npmmirror.com/ini/1.3.8:
+ resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz}
+ name: ini
+ version: 1.3.8
+ dev: true
+
+ registry.npmmirror.com/is-arrayish/0.2.1:
+ resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz}
+ name: is-arrayish
+ version: 0.2.1
+ dev: true
+
+ registry.npmmirror.com/is-core-module/2.11.0:
+ resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-core-module/-/is-core-module-2.11.0.tgz}
+ name: is-core-module
+ version: 2.11.0
+ dependencies:
+ has: registry.npmmirror.com/has/1.0.3
+ dev: true
+
+ registry.npmmirror.com/is-fullwidth-code-point/3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz}
+ name: is-fullwidth-code-point
+ version: 3.0.0
+ engines: {node: '>=8'}
+ dev: true
+
+ registry.npmmirror.com/is-obj/2.0.0:
+ resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-obj/-/is-obj-2.0.0.tgz}
+ name: is-obj
+ version: 2.0.0
+ engines: {node: '>=8'}
+ dev: true
+
+ registry.npmmirror.com/is-plain-obj/1.1.0:
+ resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz}
+ name: is-plain-obj
+ version: 1.1.0
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ registry.npmmirror.com/is-text-path/1.0.1:
+ resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-text-path/-/is-text-path-1.0.1.tgz}
+ name: is-text-path
+ version: 1.0.1
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ text-extensions: registry.npmmirror.com/text-extensions/1.9.0
+ dev: true
+
+ registry.npmmirror.com/isarray/1.0.0:
+ resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz}
+ name: isarray
+ version: 1.0.0
+ dev: true
+
+ registry.npmmirror.com/js-tokens/4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz}
+ name: js-tokens
+ version: 4.0.0
+ dev: true
+
+ registry.npmmirror.com/json-parse-better-errors/1.0.2:
+ resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz}
+ name: json-parse-better-errors
+ version: 1.0.2
+ dev: true
+
+ registry.npmmirror.com/json-parse-even-better-errors/2.3.1:
+ resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz}
+ name: json-parse-even-better-errors
+ version: 2.3.1
+ dev: true
+
+ registry.npmmirror.com/json-stringify-safe/5.0.1:
+ resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz}
+ name: json-stringify-safe
+ version: 5.0.1
+ dev: true
+
+ registry.npmmirror.com/jsonparse/1.3.1:
+ resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jsonparse/-/jsonparse-1.3.1.tgz}
+ name: jsonparse
+ version: 1.3.1
+ engines: {'0': node >= 0.2.0}
+ dev: true
+
+ registry.npmmirror.com/kind-of/6.0.3:
+ resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz}
+ name: kind-of
+ version: 6.0.3
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ registry.npmmirror.com/lines-and-columns/1.2.4:
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz}
+ name: lines-and-columns
+ version: 1.2.4
+ dev: true
+
+ registry.npmmirror.com/load-json-file/4.0.0:
+ resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/load-json-file/-/load-json-file-4.0.0.tgz}
+ name: load-json-file
+ version: 4.0.0
+ engines: {node: '>=4'}
+ dependencies:
+ graceful-fs: registry.npmmirror.com/graceful-fs/4.2.10
+ parse-json: registry.npmmirror.com/parse-json/4.0.0
+ pify: registry.npmmirror.com/pify/3.0.0
+ strip-bom: registry.npmmirror.com/strip-bom/3.0.0
+ dev: true
+
+ registry.npmmirror.com/locate-path/2.0.0:
+ resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/locate-path/-/locate-path-2.0.0.tgz}
+ name: locate-path
+ version: 2.0.0
+ engines: {node: '>=4'}
+ dependencies:
+ p-locate: registry.npmmirror.com/p-locate/2.0.0
+ path-exists: registry.npmmirror.com/path-exists/3.0.0
+ dev: true
+
+ registry.npmmirror.com/locate-path/5.0.0:
+ resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz}
+ name: locate-path
+ version: 5.0.0
+ engines: {node: '>=8'}
+ dependencies:
+ p-locate: registry.npmmirror.com/p-locate/4.1.0
+ dev: true
+
+ registry.npmmirror.com/lodash.ismatch/4.4.0:
+ resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz}
+ name: lodash.ismatch
+ version: 4.4.0
+ 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
+ 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/map-obj/1.0.1:
+ resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/map-obj/-/map-obj-1.0.1.tgz}
+ name: map-obj
+ version: 1.0.1
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ registry.npmmirror.com/map-obj/4.3.0:
+ resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/map-obj/-/map-obj-4.3.0.tgz}
+ name: map-obj
+ version: 4.3.0
+ engines: {node: '>=8'}
+ dev: true
+
+ registry.npmmirror.com/meow/8.1.2:
+ resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/meow/-/meow-8.1.2.tgz}
+ name: meow
+ version: 8.1.2
+ engines: {node: '>=10'}
+ dependencies:
+ '@types/minimist': registry.npmmirror.com/@types/minimist/1.2.2
+ camelcase-keys: registry.npmmirror.com/camelcase-keys/6.2.2
+ decamelize-keys: registry.npmmirror.com/decamelize-keys/1.1.1
+ hard-rejection: registry.npmmirror.com/hard-rejection/2.1.0
+ minimist-options: registry.npmmirror.com/minimist-options/4.1.0
+ normalize-package-data: registry.npmmirror.com/normalize-package-data/3.0.3
+ read-pkg-up: registry.npmmirror.com/read-pkg-up/7.0.1
+ redent: registry.npmmirror.com/redent/3.0.0
+ trim-newlines: registry.npmmirror.com/trim-newlines/3.0.1
+ type-fest: registry.npmmirror.com/type-fest/0.18.1
+ yargs-parser: registry.npmmirror.com/yargs-parser/20.2.9
+ dev: true
+
+ registry.npmmirror.com/min-indent/1.0.1:
+ resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/min-indent/-/min-indent-1.0.1.tgz}
+ name: min-indent
+ version: 1.0.1
+ engines: {node: '>=4'}
+ dev: true
+
+ registry.npmmirror.com/minimist-options/4.1.0:
+ resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/minimist-options/-/minimist-options-4.1.0.tgz}
+ name: minimist-options
+ version: 4.1.0
+ engines: {node: '>= 6'}
+ dependencies:
+ arrify: registry.npmmirror.com/arrify/1.0.1
+ is-plain-obj: registry.npmmirror.com/is-plain-obj/1.1.0
+ kind-of: registry.npmmirror.com/kind-of/6.0.3
+ dev: true
+
+ registry.npmmirror.com/minimist/1.2.7:
+ resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/minimist/-/minimist-1.2.7.tgz}
+ name: minimist
+ version: 1.2.7
+ dev: true
+
+ registry.npmmirror.com/modify-values/1.0.1:
+ resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/modify-values/-/modify-values-1.0.1.tgz}
+ name: modify-values
+ version: 1.0.1
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ registry.npmmirror.com/neo-async/2.6.2:
+ resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz}
+ name: neo-async
+ version: 2.6.2
+ dev: true
+
+ registry.npmmirror.com/normalize-package-data/2.5.0:
+ resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz}
+ name: normalize-package-data
+ version: 2.5.0
+ dependencies:
+ hosted-git-info: registry.npmmirror.com/hosted-git-info/2.8.9
+ resolve: registry.npmmirror.com/resolve/1.22.1
+ semver: registry.npmmirror.com/semver/5.7.1
+ validate-npm-package-license: registry.npmmirror.com/validate-npm-package-license/3.0.4
+ dev: true
+
+ registry.npmmirror.com/normalize-package-data/3.0.3:
+ resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz}
+ name: normalize-package-data
+ version: 3.0.3
+ engines: {node: '>=10'}
+ dependencies:
+ hosted-git-info: registry.npmmirror.com/hosted-git-info/4.1.0
+ is-core-module: registry.npmmirror.com/is-core-module/2.11.0
+ semver: registry.npmmirror.com/semver/7.3.8
+ validate-npm-package-license: registry.npmmirror.com/validate-npm-package-license/3.0.4
+ dev: true
+
+ registry.npmmirror.com/p-limit/1.3.0:
+ resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/p-limit/-/p-limit-1.3.0.tgz}
+ name: p-limit
+ version: 1.3.0
+ engines: {node: '>=4'}
+ dependencies:
+ p-try: registry.npmmirror.com/p-try/1.0.0
+ dev: true
+
+ registry.npmmirror.com/p-limit/2.3.0:
+ resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz}
+ name: p-limit
+ version: 2.3.0
+ engines: {node: '>=6'}
+ dependencies:
+ p-try: registry.npmmirror.com/p-try/2.2.0
+ dev: true
+
+ registry.npmmirror.com/p-locate/2.0.0:
+ resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/p-locate/-/p-locate-2.0.0.tgz}
+ name: p-locate
+ version: 2.0.0
+ engines: {node: '>=4'}
+ dependencies:
+ p-limit: registry.npmmirror.com/p-limit/1.3.0
+ dev: true
+
+ registry.npmmirror.com/p-locate/4.1.0:
+ resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz}
+ name: p-locate
+ version: 4.1.0
+ engines: {node: '>=8'}
+ dependencies:
+ p-limit: registry.npmmirror.com/p-limit/2.3.0
+ dev: true
+
+ registry.npmmirror.com/p-try/1.0.0:
+ resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/p-try/-/p-try-1.0.0.tgz}
+ name: p-try
+ version: 1.0.0
+ engines: {node: '>=4'}
+ dev: true
+
+ registry.npmmirror.com/p-try/2.2.0:
+ resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz}
+ name: p-try
+ version: 2.2.0
+ engines: {node: '>=6'}
+ dev: true
+
+ registry.npmmirror.com/parse-json/4.0.0:
+ resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/parse-json/-/parse-json-4.0.0.tgz}
+ name: parse-json
+ version: 4.0.0
+ engines: {node: '>=4'}
+ dependencies:
+ error-ex: registry.npmmirror.com/error-ex/1.3.2
+ json-parse-better-errors: registry.npmmirror.com/json-parse-better-errors/1.0.2
+ dev: true
+
+ registry.npmmirror.com/parse-json/5.2.0:
+ resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz}
+ name: parse-json
+ version: 5.2.0
+ engines: {node: '>=8'}
+ dependencies:
+ '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.18.6
+ error-ex: registry.npmmirror.com/error-ex/1.3.2
+ json-parse-even-better-errors: registry.npmmirror.com/json-parse-even-better-errors/2.3.1
+ lines-and-columns: registry.npmmirror.com/lines-and-columns/1.2.4
+ dev: true
+
+ registry.npmmirror.com/path-exists/3.0.0:
+ resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-exists/-/path-exists-3.0.0.tgz}
+ name: path-exists
+ version: 3.0.0
+ engines: {node: '>=4'}
+ dev: true
+
+ registry.npmmirror.com/path-exists/4.0.0:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz}
+ name: path-exists
+ version: 4.0.0
+ engines: {node: '>=8'}
+ dev: true
+
+ registry.npmmirror.com/path-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
+ dev: true
+
+ registry.npmmirror.com/path-type/3.0.0:
+ resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-type/-/path-type-3.0.0.tgz}
+ name: path-type
+ version: 3.0.0
+ engines: {node: '>=4'}
+ dependencies:
+ pify: registry.npmmirror.com/pify/3.0.0
+ dev: true
+
+ 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'}
+ dev: true
+
+ registry.npmmirror.com/pify/3.0.0:
+ resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pify/-/pify-3.0.0.tgz}
+ name: pify
+ version: 3.0.0
+ engines: {node: '>=4'}
+ dev: true
+
+ registry.npmmirror.com/process-nextick-args/2.0.1:
+ resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz}
+ name: process-nextick-args
+ version: 2.0.1
+ dev: true
+
+ registry.npmmirror.com/q/1.5.1:
+ resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/q/-/q-1.5.1.tgz}
+ name: q
+ version: 1.5.1
+ engines: {node: '>=0.6.0', teleport: '>=0.2.0'}
+ dev: true
+
+ registry.npmmirror.com/quick-lru/4.0.1:
+ resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/quick-lru/-/quick-lru-4.0.1.tgz}
+ name: quick-lru
+ version: 4.0.1
+ engines: {node: '>=8'}
+ dev: true
+
+ registry.npmmirror.com/read-pkg-up/3.0.0:
+ resolution: {integrity: sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz}
+ name: read-pkg-up
+ version: 3.0.0
+ engines: {node: '>=4'}
+ dependencies:
+ find-up: registry.npmmirror.com/find-up/2.1.0
+ read-pkg: registry.npmmirror.com/read-pkg/3.0.0
+ dev: true
+
+ registry.npmmirror.com/read-pkg-up/7.0.1:
+ resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz}
+ name: read-pkg-up
+ version: 7.0.1
+ engines: {node: '>=8'}
+ dependencies:
+ find-up: registry.npmmirror.com/find-up/4.1.0
+ read-pkg: registry.npmmirror.com/read-pkg/5.2.0
+ type-fest: registry.npmmirror.com/type-fest/0.8.1
+ dev: true
+
+ registry.npmmirror.com/read-pkg/3.0.0:
+ resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/read-pkg/-/read-pkg-3.0.0.tgz}
+ name: read-pkg
+ version: 3.0.0
+ engines: {node: '>=4'}
+ dependencies:
+ load-json-file: registry.npmmirror.com/load-json-file/4.0.0
+ normalize-package-data: registry.npmmirror.com/normalize-package-data/2.5.0
+ path-type: registry.npmmirror.com/path-type/3.0.0
+ dev: true
+
+ registry.npmmirror.com/read-pkg/5.2.0:
+ resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/read-pkg/-/read-pkg-5.2.0.tgz}
+ name: read-pkg
+ version: 5.2.0
+ engines: {node: '>=8'}
+ dependencies:
+ '@types/normalize-package-data': registry.npmmirror.com/@types/normalize-package-data/2.4.1
+ normalize-package-data: registry.npmmirror.com/normalize-package-data/2.5.0
+ parse-json: registry.npmmirror.com/parse-json/5.2.0
+ type-fest: registry.npmmirror.com/type-fest/0.6.0
+ dev: true
+
+ registry.npmmirror.com/readable-stream/2.3.7:
+ resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.7.tgz}
+ name: readable-stream
+ version: 2.3.7
+ dependencies:
+ core-util-is: registry.npmmirror.com/core-util-is/1.0.3
+ inherits: registry.npmmirror.com/inherits/2.0.4
+ isarray: registry.npmmirror.com/isarray/1.0.0
+ process-nextick-args: registry.npmmirror.com/process-nextick-args/2.0.1
+ safe-buffer: registry.npmmirror.com/safe-buffer/5.1.2
+ string_decoder: registry.npmmirror.com/string_decoder/1.1.1
+ util-deprecate: registry.npmmirror.com/util-deprecate/1.0.2
+ dev: true
+
+ registry.npmmirror.com/readable-stream/3.6.0:
+ resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.0.tgz}
+ name: readable-stream
+ version: 3.6.0
+ engines: {node: '>= 6'}
+ dependencies:
+ inherits: registry.npmmirror.com/inherits/2.0.4
+ string_decoder: registry.npmmirror.com/string_decoder/1.3.0
+ util-deprecate: registry.npmmirror.com/util-deprecate/1.0.2
+ dev: true
+
+ registry.npmmirror.com/redent/3.0.0:
+ resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/redent/-/redent-3.0.0.tgz}
+ name: redent
+ version: 3.0.0
+ engines: {node: '>=8'}
+ dependencies:
+ indent-string: registry.npmmirror.com/indent-string/4.0.0
+ strip-indent: registry.npmmirror.com/strip-indent/3.0.0
+ dev: true
+
+ registry.npmmirror.com/require-directory/2.1.1:
+ resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz}
+ name: require-directory
+ version: 2.1.1
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ registry.npmmirror.com/resolve/1.22.1:
+ resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/resolve/-/resolve-1.22.1.tgz}
+ name: resolve
+ version: 1.22.1
+ hasBin: true
+ dependencies:
+ is-core-module: registry.npmmirror.com/is-core-module/2.11.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
+ dev: true
+
+ registry.npmmirror.com/safe-buffer/5.1.2:
+ resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz}
+ name: safe-buffer
+ version: 5.1.2
+ dev: true
+
+ registry.npmmirror.com/safe-buffer/5.2.1:
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz}
+ name: safe-buffer
+ version: 5.2.1
+ dev: true
+
+ registry.npmmirror.com/semver/5.7.1:
+ resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz}
+ name: semver
+ version: 5.7.1
+ hasBin: true
+ dev: true
+
+ 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.3.8:
+ resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/semver/-/semver-7.3.8.tgz}
+ name: semver
+ version: 7.3.8
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ lru-cache: registry.npmmirror.com/lru-cache/6.0.0
+ dev: true
+
+ 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/spdx-correct/3.1.1:
+ resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/spdx-correct/-/spdx-correct-3.1.1.tgz}
+ name: spdx-correct
+ version: 3.1.1
+ dependencies:
+ spdx-expression-parse: registry.npmmirror.com/spdx-expression-parse/3.0.1
+ spdx-license-ids: registry.npmmirror.com/spdx-license-ids/3.0.12
+ dev: true
+
+ registry.npmmirror.com/spdx-exceptions/2.3.0:
+ resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz}
+ name: spdx-exceptions
+ version: 2.3.0
+ dev: true
+
+ registry.npmmirror.com/spdx-expression-parse/3.0.1:
+ resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz}
+ name: spdx-expression-parse
+ version: 3.0.1
+ dependencies:
+ spdx-exceptions: registry.npmmirror.com/spdx-exceptions/2.3.0
+ spdx-license-ids: registry.npmmirror.com/spdx-license-ids/3.0.12
+ dev: true
+
+ registry.npmmirror.com/spdx-license-ids/3.0.12:
+ resolution: {integrity: sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz}
+ name: spdx-license-ids
+ version: 3.0.12
+ dev: true
+
+ registry.npmmirror.com/split/1.0.1:
+ resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/split/-/split-1.0.1.tgz}
+ name: split
+ version: 1.0.1
+ dependencies:
+ through: registry.npmmirror.com/through/2.3.8
+ dev: true
+
+ registry.npmmirror.com/split2/3.2.2:
+ resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/split2/-/split2-3.2.2.tgz}
+ name: split2
+ version: 3.2.2
+ dependencies:
+ readable-stream: registry.npmmirror.com/readable-stream/3.6.0
+ dev: true
+
+ registry.npmmirror.com/string-width/4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz}
+ name: string-width
+ version: 4.2.3
+ engines: {node: '>=8'}
+ dependencies:
+ emoji-regex: registry.npmmirror.com/emoji-regex/8.0.0
+ is-fullwidth-code-point: registry.npmmirror.com/is-fullwidth-code-point/3.0.0
+ strip-ansi: registry.npmmirror.com/strip-ansi/6.0.1
+ dev: true
+
+ registry.npmmirror.com/string_decoder/1.1.1:
+ resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz}
+ name: string_decoder
+ version: 1.1.1
+ dependencies:
+ safe-buffer: registry.npmmirror.com/safe-buffer/5.1.2
+ dev: true
+
+ registry.npmmirror.com/string_decoder/1.3.0:
+ resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz}
+ name: string_decoder
+ version: 1.3.0
+ dependencies:
+ safe-buffer: registry.npmmirror.com/safe-buffer/5.2.1
+ dev: true
+
+ registry.npmmirror.com/strip-ansi/6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz}
+ name: strip-ansi
+ version: 6.0.1
+ engines: {node: '>=8'}
+ dependencies:
+ ansi-regex: registry.npmmirror.com/ansi-regex/5.0.1
+ dev: true
+
+ registry.npmmirror.com/strip-bom/3.0.0:
+ resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/strip-bom/-/strip-bom-3.0.0.tgz}
+ name: strip-bom
+ version: 3.0.0
+ engines: {node: '>=4'}
+ dev: true
+
+ registry.npmmirror.com/strip-indent/3.0.0:
+ resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/strip-indent/-/strip-indent-3.0.0.tgz}
+ name: strip-indent
+ version: 3.0.0
+ engines: {node: '>=8'}
+ dependencies:
+ min-indent: registry.npmmirror.com/min-indent/1.0.1
+ dev: true
+
+ registry.npmmirror.com/supports-color/5.5.0:
+ resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz}
+ name: supports-color
+ version: 5.5.0
+ engines: {node: '>=4'}
+ dependencies:
+ has-flag: registry.npmmirror.com/has-flag/3.0.0
+ dev: true
+
+ registry.npmmirror.com/supports-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'}
+ dev: true
+
+ registry.npmmirror.com/temp-dir/2.0.0:
+ resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/temp-dir/-/temp-dir-2.0.0.tgz}
+ name: temp-dir
+ version: 2.0.0
+ engines: {node: '>=8'}
+ dev: true
+
+ registry.npmmirror.com/tempfile/3.0.0:
+ resolution: {integrity: sha512-uNFCg478XovRi85iD42egu+eSFUmmka750Jy7L5tfHI5hQKKtbPnxaSaXAbBqCDYrw3wx4tXjKwci4/QmsZJxw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tempfile/-/tempfile-3.0.0.tgz}
+ name: tempfile
+ version: 3.0.0
+ engines: {node: '>=8'}
+ dependencies:
+ temp-dir: registry.npmmirror.com/temp-dir/2.0.0
+ uuid: registry.npmmirror.com/uuid/3.4.0
+ dev: true
+
+ registry.npmmirror.com/text-extensions/1.9.0:
+ resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/text-extensions/-/text-extensions-1.9.0.tgz}
+ name: text-extensions
+ version: 1.9.0
+ engines: {node: '>=0.10'}
+ dev: true
+
+ registry.npmmirror.com/through/2.3.8:
+ resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/through/-/through-2.3.8.tgz}
+ name: through
+ version: 2.3.8
+ dev: true
+
+ registry.npmmirror.com/through2/2.0.5:
+ resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/through2/-/through2-2.0.5.tgz}
+ name: through2
+ version: 2.0.5
+ dependencies:
+ readable-stream: registry.npmmirror.com/readable-stream/2.3.7
+ xtend: registry.npmmirror.com/xtend/4.0.2
+ dev: true
+
+ registry.npmmirror.com/through2/4.0.2:
+ resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/through2/-/through2-4.0.2.tgz}
+ name: through2
+ version: 4.0.2
+ dependencies:
+ readable-stream: registry.npmmirror.com/readable-stream/3.6.0
+ dev: true
+
+ registry.npmmirror.com/trim-newlines/3.0.1:
+ resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/trim-newlines/-/trim-newlines-3.0.1.tgz}
+ name: trim-newlines
+ version: 3.0.1
+ engines: {node: '>=8'}
+ dev: true
+
+ registry.npmmirror.com/type-fest/0.18.1:
+ resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/type-fest/-/type-fest-0.18.1.tgz}
+ name: type-fest
+ version: 0.18.1
+ engines: {node: '>=10'}
+ dev: true
+
+ registry.npmmirror.com/type-fest/0.6.0:
+ resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/type-fest/-/type-fest-0.6.0.tgz}
+ name: type-fest
+ version: 0.6.0
+ engines: {node: '>=8'}
+ dev: true
+
+ registry.npmmirror.com/type-fest/0.8.1:
+ resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/type-fest/-/type-fest-0.8.1.tgz}
+ name: type-fest
+ version: 0.8.1
+ engines: {node: '>=8'}
+ dev: true
+
+ registry.npmmirror.com/uglify-js/3.17.4:
+ resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/uglify-js/-/uglify-js-3.17.4.tgz}
+ name: uglify-js
+ version: 3.17.4
+ engines: {node: '>=0.8.0'}
+ hasBin: true
+ requiresBuild: true
+ dev: true
+ optional: 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
+ dev: true
+
+ registry.npmmirror.com/uuid/3.4.0:
+ resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/uuid/-/uuid-3.4.0.tgz}
+ name: uuid
+ version: 3.4.0
+ deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
+ hasBin: true
+ dev: true
+
+ registry.npmmirror.com/validate-npm-package-license/3.0.4:
+ resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz}
+ name: validate-npm-package-license
+ version: 3.0.4
+ dependencies:
+ spdx-correct: registry.npmmirror.com/spdx-correct/3.1.1
+ spdx-expression-parse: registry.npmmirror.com/spdx-expression-parse/3.0.1
+ dev: true
+
+ registry.npmmirror.com/wordwrap/1.0.0:
+ resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/wordwrap/-/wordwrap-1.0.0.tgz}
+ name: wordwrap
+ version: 1.0.0
+ dev: true
+
+ registry.npmmirror.com/wrap-ansi/7.0.0:
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz}
+ name: wrap-ansi
+ version: 7.0.0
+ engines: {node: '>=10'}
+ dependencies:
+ ansi-styles: registry.npmmirror.com/ansi-styles/4.3.0
+ string-width: registry.npmmirror.com/string-width/4.2.3
+ strip-ansi: registry.npmmirror.com/strip-ansi/6.0.1
+ dev: true
+
+ registry.npmmirror.com/xtend/4.0.2:
+ resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/xtend/-/xtend-4.0.2.tgz}
+ name: xtend
+ version: 4.0.2
+ engines: {node: '>=0.4'}
+ dev: true
+
+ registry.npmmirror.com/y18n/5.0.8:
+ resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz}
+ name: y18n
+ version: 5.0.8
+ engines: {node: '>=10'}
+ 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/yargs-parser/20.2.9:
+ resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.9.tgz}
+ name: yargs-parser
+ version: 20.2.9
+ engines: {node: '>=10'}
+ dev: true
+
+ registry.npmmirror.com/yargs/16.2.0:
+ resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/yargs/-/yargs-16.2.0.tgz}
+ name: yargs
+ version: 16.2.0
+ engines: {node: '>=10'}
+ dependencies:
+ cliui: registry.npmmirror.com/cliui/7.0.4
+ escalade: registry.npmmirror.com/escalade/3.1.1
+ get-caller-file: registry.npmmirror.com/get-caller-file/2.0.5
+ require-directory: registry.npmmirror.com/require-directory/2.1.1
+ string-width: registry.npmmirror.com/string-width/4.2.3
+ y18n: registry.npmmirror.com/y18n/5.0.8
+ yargs-parser: registry.npmmirror.com/yargs-parser/20.2.9
+ dev: true
diff --git a/src/index.ts b/src/index.ts
index 9caefe1..04870be 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -28,8 +28,14 @@ function build(options: BuildOptions) {
sourcemap: false,
...transformOptions,
}).then(async (res) => {
- const hash = getContentHash(res.code)
- const outPath = normalizePath(`${outputDir}/${fileName}.${hash}.js`)
+ let outPath = ''
+ if (options.hash) {
+ const hash = getContentHash(res.code)
+ outPath = normalizePath(`${outputDir}/${fileName}.${hash}.js`)
+ } else {
+ outPath = normalizePath(`${outputDir}/${fileName}.js`)
+ }
+
const fp = normalizePath(path.join(publicDir, outPath))
const oldFiles = fg.sync(normalizePath(path.join(publicDir, `${outputDir}/${fileName}.?(*.)js`)))
// if exits old files
@@ -54,27 +60,38 @@ function build(options: BuildOptions) {
}
interface VitePluginOptions {
- ssrBuild: boolean | undefined
+ ssrBuild?: boolean | undefined
/**
* @default publicTypescript
*/
- inputDir: string
+ inputDir?: string
/**
* @default /
*/
- outputDir: string
+ outputDir?: string
/**
* @description transformWithEsbuild options
*/
- transformOptions: TransformOptions | undefined
+ transformOptions?: TransformOptions | undefined
/**
* @default manifest
*/
manifestName?: string
+ /**
+ * @default true
+ */
+ hash?: boolean
}
export function publicTypescript(options: VitePluginOptions): PluginOption {
- const { ssrBuild, inputDir } = options
+ const {
+ ssrBuild = false,
+ inputDir = 'publicTypescript',
+ outputDir = '/',
+ manifestName = 'manifest',
+ hash = true,
+ } = options
+
let config: ResolvedConfig
const cache = new ManifestCache()
@@ -85,7 +102,7 @@ export function publicTypescript(options: VitePluginOptions): PluginOption {
config = c
},
buildStart() {
- if (ssrBuild) return
+ if (ssrBuild || config.build.ssr) return
const outDir = config.publicDir
const root = config.root
const files = fg.sync(normalizePath(path.resolve(root, `${inputDir}/*.ts`)), {
@@ -94,19 +111,22 @@ export function publicTypescript(options: VitePluginOptions): PluginOption {
})
buildLength = files.length
-
files.forEach((f) => {
build({
...options,
filePath: f,
publicDir: outDir,
cache,
+ inputDir,
+ outputDir,
+ hash,
+ manifestName,
})
})
},
async handleHotUpdate(ctx) {
- if (path.extname(ctx.file) === 'ts' && ctx.file.includes(normalizePath(path.resolve(config.root, inputDir)))) {
+ if (path.extname(ctx.file) === 'ts' && ctx.file.includes(normalizePath(path.resolve(config.root, inputDir!)))) {
const code = await ctx.read()
build({
...options,
@@ -114,6 +134,10 @@ export function publicTypescript(options: VitePluginOptions): PluginOption {
publicDir: config.publicDir,
cache,
code,
+ inputDir,
+ outputDir,
+ hash,
+ manifestName,
})
ctx.server.ws.send({
type: 'full-reload',
diff --git a/tsconfig.json b/tsconfig.json
index 91b0ed3..00bf44b 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,3 +1,3 @@
{
- "extends": "@minko-fe/tsconfig/tsconfig.base"
+ "extends": "@minko-fe/tsconfig/tsconfig.lib"
}