├── .gitignore ├── tsconfig.json ├── src ├── index.ts └── lib.ts ├── package.json ├── README.md └── pnpm-lock.yaml /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | dist 4 | dist-ssr 5 | *.local 6 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2015", 4 | "moduleResolution": "node", 5 | "strict": false, 6 | "declaration": true, 7 | "noUnusedLocals": true, 8 | "esModuleInterop": true, 9 | "outDir": "dist", 10 | "module": "commonjs", 11 | "lib": ["ESNext","DOM"], 12 | "sourceMap": true, 13 | }, 14 | "include": ["./src"] 15 | } -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import type { Plugin } from 'vite' 2 | import { supportScriptName } from './lib' 3 | 4 | export default (): Plugin => { 5 | return { 6 | name: 'vite:setup-name-support', 7 | enforce: 'pre', 8 | async transform(code, id) { 9 | if (!/\.vue$/.test(id)) { 10 | return null 11 | } 12 | 13 | return supportScriptName.call(this, code, id) 14 | }, 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vite-plugin-vue-setup-extend-plus", 3 | "version": "0.1.0", 4 | "description": "Extending the vue script setup syntactic sugar, by vite-plugin-vue-setup-extend", 5 | "main": "dist/index.js", 6 | "scripts": { 7 | "dev": "tsc -p . -w --incremental --skipLibCheck", 8 | "build": "rm -rf dist && tsc -p . --skipLibCheck" 9 | }, 10 | "files": [ 11 | "dist" 12 | ], 13 | "repository": { 14 | "type": "git", 15 | "url": "https://github.com/chenxch/vite-plugin-vue-setup-extend-plus.git" 16 | }, 17 | "author": "chenxch", 18 | "license": "MIT", 19 | "bugs": { 20 | "url": "https://github.com/chenxch/vite-plugin-vue-setup-extend-plus/issues" 21 | }, 22 | "homepage": "https://github.com/chenxch/vite-plugin-vue-setup-extend-plus", 23 | "devDependencies": { 24 | "@types/node": "^16.0.0", 25 | "@vue/compiler-sfc": "^3.2.31", 26 | "magic-string": "^0.26.1", 27 | "vite": "^2.4.0" 28 | }, 29 | "keywords": [ 30 | "vite", 31 | "vite plugin", 32 | "vite-plugin-vue-setup-extend", 33 | "vue", 34 | "setup", 35 | "name", 36 | "inheritAttrs" 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /src/lib.ts: -------------------------------------------------------------------------------- 1 | import { parse, compileScript } from '@vue/compiler-sfc' 2 | import MagicString from 'magic-string' 3 | 4 | export function supportScriptName(code: string, id: string) { 5 | let s: MagicString | undefined 6 | const FILENAME_RE = /.*\/(\S*)/ 7 | const str = () => s || (s = new MagicString(code)) 8 | const { descriptor } = parse(code) 9 | if (!descriptor.script && descriptor.scriptSetup) { 10 | const result = compileScript(descriptor, { id }) 11 | const name = result.attrs.name 12 | const lang = result.attrs.lang 13 | const inheritAttrs = result.attrs.inheritAttrs 14 | if(name||inheritAttrs) { 15 | str().appendLeft( 16 | 0, 17 | `\n`, 24 | ) 25 | } 26 | 27 | const map = str().generateMap({ hires: true }) 28 | const filename = FILENAME_RE.exec(id)![1] 29 | 30 | map.file = filename 31 | map.sources = [filename] 32 | 33 | return { 34 | map, 35 | code: str().toString(), 36 | } 37 | } else { 38 | return null 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Expansion based on [vite-plugin-vue-setup-extend](https://github.com/vbenjs/vite-plugin-vue-setup-extend) 2 | 3 | # vite-plugin-vue-setup-extend-plus 4 | 5 | Make the vue script setup syntax support the name attribute 6 | 7 | ## Iterative updates are made in [unplugin-vue-setup-extend-plus](https://www.npmjs.com/package/unplugin-vue-setup-extend-plus) during the later period. 8 | 9 | ## CHANGELOG 10 | 11 | ### [0.1.0] 12 | 13 | - Automatically convert based on name and inheritAttrs 14 | ## Feature 15 | 16 | - support name 17 | - support inheritAttrs 18 | - precise breakpoints 19 | ## Install (yarn or npm) 20 | 21 | **node version:** >=12.0.0 22 | 23 | **vite version:** >=2.0.0 24 | 25 | ```bash 26 | yarn add vite-plugin-vue-setup-extend-plus -D 27 | ``` 28 | 29 | or 30 | 31 | ```bash 32 | npm i vite-plugin-vue-setup-extend-plus -D 33 | ``` 34 | 35 | ## Usage 36 | 37 | - Config plugin in vite.config.ts. In this way, the required functions can be introduced as needed 38 | 39 | ```ts 40 | import { defineConfig, Plugin } from 'vite' 41 | import vue from '@vitejs/plugin-vue' 42 | import vueSetupExtend from 'vite-plugin-vue-setup-extend-plus' 43 | 44 | export default defineConfig({ 45 | plugins: [vue(), vueSetupExtend()], 46 | }) 47 | ``` 48 | 49 | - SFC 50 | 51 | ```html 52 | 55 | 56 | 59 | ``` 60 | 61 | ## Sample project 62 | 63 | [Vben Admin](https://github.com/anncwb/vue-vben-admin) 64 | 65 | ## License 66 | 67 | MIT 68 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.3 2 | 3 | specifiers: 4 | '@types/node': ^16.0.0 5 | '@vue/compiler-sfc': ^3.2.31 6 | magic-string: ^0.26.1 7 | vite: ^2.4.0 8 | 9 | devDependencies: 10 | '@types/node': registry.npmmirror.com/@types/node/16.11.26 11 | '@vue/compiler-sfc': registry.npmmirror.com/@vue/compiler-sfc/3.2.31 12 | magic-string: registry.npmmirror.com/magic-string/0.26.1 13 | vite: registry.npmmirror.com/vite/2.9.1 14 | 15 | packages: 16 | 17 | registry.npmmirror.com/@babel/parser/7.17.9: 18 | resolution: {integrity: sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/parser/-/parser-7.17.9.tgz} 19 | name: '@babel/parser' 20 | version: 7.17.9 21 | engines: {node: '>=6.0.0'} 22 | hasBin: true 23 | dev: true 24 | 25 | registry.npmmirror.com/@types/node/16.11.26: 26 | resolution: {integrity: sha512-GZ7bu5A6+4DtG7q9GsoHXy3ALcgeIHP4NnL0Vv2wu0uUB/yQex26v0tf6/na1mm0+bS9Uw+0DFex7aaKr2qawQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/node/-/node-16.11.26.tgz} 27 | name: '@types/node' 28 | version: 16.11.26 29 | dev: true 30 | 31 | registry.npmmirror.com/@vue/compiler-core/3.2.31: 32 | resolution: {integrity: sha512-aKno00qoA4o+V/kR6i/pE+aP+esng5siNAVQ422TkBNM6qA4veXiZbSe8OTXHXquEi/f6Akc+nLfB4JGfe4/WQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.31.tgz} 33 | name: '@vue/compiler-core' 34 | version: 3.2.31 35 | dependencies: 36 | '@babel/parser': registry.npmmirror.com/@babel/parser/7.17.9 37 | '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.31 38 | estree-walker: registry.npmmirror.com/estree-walker/2.0.2 39 | source-map: registry.npmmirror.com/source-map/0.6.1 40 | dev: true 41 | 42 | registry.npmmirror.com/@vue/compiler-dom/3.2.31: 43 | resolution: {integrity: sha512-60zIlFfzIDf3u91cqfqy9KhCKIJgPeqxgveH2L+87RcGU/alT6BRrk5JtUso0OibH3O7NXuNOQ0cDc9beT0wrg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.31.tgz} 44 | name: '@vue/compiler-dom' 45 | version: 3.2.31 46 | dependencies: 47 | '@vue/compiler-core': registry.npmmirror.com/@vue/compiler-core/3.2.31 48 | '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.31 49 | dev: true 50 | 51 | registry.npmmirror.com/@vue/compiler-sfc/3.2.31: 52 | resolution: {integrity: sha512-748adc9msSPGzXgibHiO6T7RWgfnDcVQD+VVwYgSsyyY8Ans64tALHZANrKtOzvkwznV/F4H7OAod/jIlp/dkQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.31.tgz} 53 | name: '@vue/compiler-sfc' 54 | version: 3.2.31 55 | dependencies: 56 | '@babel/parser': registry.npmmirror.com/@babel/parser/7.17.9 57 | '@vue/compiler-core': registry.npmmirror.com/@vue/compiler-core/3.2.31 58 | '@vue/compiler-dom': registry.npmmirror.com/@vue/compiler-dom/3.2.31 59 | '@vue/compiler-ssr': registry.npmmirror.com/@vue/compiler-ssr/3.2.31 60 | '@vue/reactivity-transform': registry.npmmirror.com/@vue/reactivity-transform/3.2.31 61 | '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.31 62 | estree-walker: registry.npmmirror.com/estree-walker/2.0.2 63 | magic-string: registry.npmmirror.com/magic-string/0.25.9 64 | postcss: registry.npmmirror.com/postcss/8.4.12 65 | source-map: registry.npmmirror.com/source-map/0.6.1 66 | dev: true 67 | 68 | registry.npmmirror.com/@vue/compiler-ssr/3.2.31: 69 | resolution: {integrity: sha512-mjN0rqig+A8TVDnsGPYJM5dpbjlXeHUm2oZHZwGyMYiGT/F4fhJf/cXy8QpjnLQK4Y9Et4GWzHn9PS8AHUnSkw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.31.tgz} 70 | name: '@vue/compiler-ssr' 71 | version: 3.2.31 72 | dependencies: 73 | '@vue/compiler-dom': registry.npmmirror.com/@vue/compiler-dom/3.2.31 74 | '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.31 75 | dev: true 76 | 77 | registry.npmmirror.com/@vue/reactivity-transform/3.2.31: 78 | resolution: {integrity: sha512-uS4l4z/W7wXdI+Va5pgVxBJ345wyGFKvpPYtdSgvfJfX/x2Ymm6ophQlXXB6acqGHtXuBqNyyO3zVp9b1r0MOA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.31.tgz} 79 | name: '@vue/reactivity-transform' 80 | version: 3.2.31 81 | dependencies: 82 | '@babel/parser': registry.npmmirror.com/@babel/parser/7.17.9 83 | '@vue/compiler-core': registry.npmmirror.com/@vue/compiler-core/3.2.31 84 | '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.31 85 | estree-walker: registry.npmmirror.com/estree-walker/2.0.2 86 | magic-string: registry.npmmirror.com/magic-string/0.25.9 87 | dev: true 88 | 89 | registry.npmmirror.com/@vue/shared/3.2.31: 90 | resolution: {integrity: sha512-ymN2pj6zEjiKJZbrf98UM2pfDd6F2H7ksKw7NDt/ZZ1fh5Ei39X5tABugtT03ZRlWd9imccoK0hE8hpjpU7irQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/shared/-/shared-3.2.31.tgz} 91 | name: '@vue/shared' 92 | version: 3.2.31 93 | dev: true 94 | 95 | registry.npmmirror.com/esbuild-android-64/0.14.34: 96 | resolution: {integrity: sha512-XfxcfJqmMYsT/LXqrptzFxmaR3GWzXHDLdFNIhm6S00zPaQF1TBBWm+9t0RZ6LRR7iwH57DPjaOeW20vMqI4Yw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-android-64/-/esbuild-android-64-0.14.34.tgz} 97 | name: esbuild-android-64 98 | version: 0.14.34 99 | engines: {node: '>=12'} 100 | cpu: [x64] 101 | os: [android] 102 | requiresBuild: true 103 | dev: true 104 | optional: true 105 | 106 | registry.npmmirror.com/esbuild-android-arm64/0.14.34: 107 | resolution: {integrity: sha512-T02+NXTmSRL1Mc6puz+R9CB54rSPICkXKq6+tw8B6vxZFnCPzbJxgwIX4kcluz9p8nYBjF3+lSilTGWb7+Xgew==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.34.tgz} 108 | name: esbuild-android-arm64 109 | version: 0.14.34 110 | engines: {node: '>=12'} 111 | cpu: [arm64] 112 | os: [android] 113 | requiresBuild: true 114 | dev: true 115 | optional: true 116 | 117 | registry.npmmirror.com/esbuild-darwin-64/0.14.34: 118 | resolution: {integrity: sha512-pLRip2Bh4Ng7Bf6AMgCrSp3pPe/qZyf11h5Qo2mOfJqLWzSVjxrXW+CFRJfrOVP7TCnh/gmZSM2AFdCPB72vtw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.34.tgz} 119 | name: esbuild-darwin-64 120 | version: 0.14.34 121 | engines: {node: '>=12'} 122 | cpu: [x64] 123 | os: [darwin] 124 | requiresBuild: true 125 | dev: true 126 | optional: true 127 | 128 | registry.npmmirror.com/esbuild-darwin-arm64/0.14.34: 129 | resolution: {integrity: sha512-vpidSJEBxx6lf1NWgXC+DCmGqesJuZ5Y8aQVVsaoO4i8tRXbXb0whChRvop/zd3nfNM4dIl5EXAky0knRX5I6w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.34.tgz} 130 | name: esbuild-darwin-arm64 131 | version: 0.14.34 132 | engines: {node: '>=12'} 133 | cpu: [arm64] 134 | os: [darwin] 135 | requiresBuild: true 136 | dev: true 137 | optional: true 138 | 139 | registry.npmmirror.com/esbuild-freebsd-64/0.14.34: 140 | resolution: {integrity: sha512-m0HBjePhe0hAQJgtMRMNV9kMgIyV4/qSnzPx42kRMQBcPhgjAq1JRu4Il26czC+9FgpMbFkUktb07f/Lwnc6CA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.34.tgz} 141 | name: esbuild-freebsd-64 142 | version: 0.14.34 143 | engines: {node: '>=12'} 144 | cpu: [x64] 145 | os: [freebsd] 146 | requiresBuild: true 147 | dev: true 148 | optional: true 149 | 150 | registry.npmmirror.com/esbuild-freebsd-arm64/0.14.34: 151 | resolution: {integrity: sha512-cpRc2B94L1KvMPPYB4D6G39jLqpKlD3noAMY4/e86iXXXkhUYJJEtTuyNFTa9JRpWM0xCAp4mxjHjoIiLuoCLA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.34.tgz} 152 | name: esbuild-freebsd-arm64 153 | version: 0.14.34 154 | engines: {node: '>=12'} 155 | cpu: [arm64] 156 | os: [freebsd] 157 | requiresBuild: true 158 | dev: true 159 | optional: true 160 | 161 | registry.npmmirror.com/esbuild-linux-32/0.14.34: 162 | resolution: {integrity: sha512-8nQaEaoW7MH/K/RlozJa+lE1ejHIr8fuPIHhc513UebRav7HtXgQvxHQ6VZRUkWtep23M6dd7UqhwO1tMOfzQQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-32/-/esbuild-linux-32-0.14.34.tgz} 163 | name: esbuild-linux-32 164 | version: 0.14.34 165 | engines: {node: '>=12'} 166 | cpu: [ia32] 167 | os: [linux] 168 | requiresBuild: true 169 | dev: true 170 | optional: true 171 | 172 | registry.npmmirror.com/esbuild-linux-64/0.14.34: 173 | resolution: {integrity: sha512-Y3of4qQoLLlAgf042MlrY1P+7PnN9zWj8nVtw9XQG5hcLOZLz7IKpU35oeu7n4wvyaZHwvQqDJ93gRLqdJekcQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-64/-/esbuild-linux-64-0.14.34.tgz} 174 | name: esbuild-linux-64 175 | version: 0.14.34 176 | engines: {node: '>=12'} 177 | cpu: [x64] 178 | os: [linux] 179 | requiresBuild: true 180 | dev: true 181 | optional: true 182 | 183 | registry.npmmirror.com/esbuild-linux-arm/0.14.34: 184 | resolution: {integrity: sha512-9lpq1NcJqssAF7alCO6zL3gvBVVt/lKw4oetUM7OgNnRX0OWpB+ZIO9FwCrSj/dMdmgDhPLf+119zB8QxSMmAg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.34.tgz} 185 | name: esbuild-linux-arm 186 | version: 0.14.34 187 | engines: {node: '>=12'} 188 | cpu: [arm] 189 | os: [linux] 190 | requiresBuild: true 191 | dev: true 192 | optional: true 193 | 194 | registry.npmmirror.com/esbuild-linux-arm64/0.14.34: 195 | resolution: {integrity: sha512-IlWaGtj9ir7+Nrume1DGcyzBDlK8GcnJq0ANKwcI9pVw8tqr+6GD0eqyF9SF1mR8UmAp+odrx1H5NdR2cHdFHA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.34.tgz} 196 | name: esbuild-linux-arm64 197 | version: 0.14.34 198 | engines: {node: '>=12'} 199 | cpu: [arm64] 200 | os: [linux] 201 | requiresBuild: true 202 | dev: true 203 | optional: true 204 | 205 | registry.npmmirror.com/esbuild-linux-mips64le/0.14.34: 206 | resolution: {integrity: sha512-k3or+01Rska1AjUyNjA4buEwB51eyN/xPQAoOx1CjzAQC3l8rpjUDw55kXyL63O/1MUi4ISvtNtl8gLwdyEcxw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.34.tgz} 207 | name: esbuild-linux-mips64le 208 | version: 0.14.34 209 | engines: {node: '>=12'} 210 | cpu: [mips64el] 211 | os: [linux] 212 | requiresBuild: true 213 | dev: true 214 | optional: true 215 | 216 | registry.npmmirror.com/esbuild-linux-ppc64le/0.14.34: 217 | resolution: {integrity: sha512-+qxb8M9FfM2CJaVU7GgYpJOHM1ngQOx+/VrtBjb4C8oVqaPcESCeg2anjl+HRZy8VpYc71q/iBYausPPbJ+Keg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.34.tgz} 218 | name: esbuild-linux-ppc64le 219 | version: 0.14.34 220 | engines: {node: '>=12'} 221 | cpu: [ppc64] 222 | os: [linux] 223 | requiresBuild: true 224 | dev: true 225 | optional: true 226 | 227 | registry.npmmirror.com/esbuild-linux-riscv64/0.14.34: 228 | resolution: {integrity: sha512-Y717ltBdQ5j5sZIHdy1DV9kieo0wMip0dCmVSTceowCPYSn1Cg33Kd6981+F/3b9FDMzNWldZFOBRILViENZSA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.34.tgz} 229 | name: esbuild-linux-riscv64 230 | version: 0.14.34 231 | engines: {node: '>=12'} 232 | cpu: [riscv64] 233 | os: [linux] 234 | requiresBuild: true 235 | dev: true 236 | optional: true 237 | 238 | registry.npmmirror.com/esbuild-linux-s390x/0.14.34: 239 | resolution: {integrity: sha512-bDDgYO4LhL4+zPs+WcBkXph+AQoPcQRTv18FzZS0WhjfH8TZx2QqlVPGhmhZ6WidrY+jKthUqO6UhGyIb4MpmA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.34.tgz} 240 | name: esbuild-linux-s390x 241 | version: 0.14.34 242 | engines: {node: '>=12'} 243 | cpu: [s390x] 244 | os: [linux] 245 | requiresBuild: true 246 | dev: true 247 | optional: true 248 | 249 | registry.npmmirror.com/esbuild-netbsd-64/0.14.34: 250 | resolution: {integrity: sha512-cfaFGXdRt0+vHsjNPyF0POM4BVSHPSbhLPe8mppDc7GDDxjIl08mV1Zou14oDWMp/XZMjYN1kWYRSfftiD0vvQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.34.tgz} 251 | name: esbuild-netbsd-64 252 | version: 0.14.34 253 | engines: {node: '>=12'} 254 | cpu: [x64] 255 | os: [netbsd] 256 | requiresBuild: true 257 | dev: true 258 | optional: true 259 | 260 | registry.npmmirror.com/esbuild-openbsd-64/0.14.34: 261 | resolution: {integrity: sha512-vmy9DxXVnRiI14s8GKuYBtess+EVcDALkbpTqd5jw4XITutIzyB7n4x0Tj5utAkKsgZJB22lLWGekr0ABnSLow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.34.tgz} 262 | name: esbuild-openbsd-64 263 | version: 0.14.34 264 | engines: {node: '>=12'} 265 | cpu: [x64] 266 | os: [openbsd] 267 | requiresBuild: true 268 | dev: true 269 | optional: true 270 | 271 | registry.npmmirror.com/esbuild-sunos-64/0.14.34: 272 | resolution: {integrity: sha512-eNPVatNET1F7tRMhii7goL/eptfxc0ALRjrj9SPFNqp0zmxrehBFD6BaP3R4LjMn6DbMO0jOAnTLFKr8NqcJAA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.34.tgz} 273 | name: esbuild-sunos-64 274 | version: 0.14.34 275 | engines: {node: '>=12'} 276 | cpu: [x64] 277 | os: [sunos] 278 | requiresBuild: true 279 | dev: true 280 | optional: true 281 | 282 | registry.npmmirror.com/esbuild-windows-32/0.14.34: 283 | resolution: {integrity: sha512-EFhpXyHEcnqWYe2rAHFd8dRw8wkrd9U+9oqcyoEL84GbanAYjiiIjBZsnR8kl0sCQ5w6bLpk7vCEIA2VS32Vcg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-32/-/esbuild-windows-32-0.14.34.tgz} 284 | name: esbuild-windows-32 285 | version: 0.14.34 286 | engines: {node: '>=12'} 287 | cpu: [ia32] 288 | os: [win32] 289 | requiresBuild: true 290 | dev: true 291 | optional: true 292 | 293 | registry.npmmirror.com/esbuild-windows-64/0.14.34: 294 | resolution: {integrity: sha512-a8fbl8Ky7PxNEjf1aJmtxdDZj32/hC7S1OcA2ckEpCJRTjiKslI9vAdPpSjrKIWhws4Galpaawy0nB7fjHYf5Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.14.34.tgz} 295 | name: esbuild-windows-64 296 | version: 0.14.34 297 | engines: {node: '>=12'} 298 | cpu: [x64] 299 | os: [win32] 300 | requiresBuild: true 301 | dev: true 302 | optional: true 303 | 304 | registry.npmmirror.com/esbuild-windows-arm64/0.14.34: 305 | resolution: {integrity: sha512-EYvmKbSa2B3sPnpC28UEu9jBK5atGV4BaVRE7CYGUci2Hlz4AvtV/LML+TcDMT6gBgibnN2gcltWclab3UutMg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.34.tgz} 306 | name: esbuild-windows-arm64 307 | version: 0.14.34 308 | engines: {node: '>=12'} 309 | cpu: [arm64] 310 | os: [win32] 311 | requiresBuild: true 312 | dev: true 313 | optional: true 314 | 315 | registry.npmmirror.com/esbuild/0.14.34: 316 | resolution: {integrity: sha512-QIWdPT/gFF6hCaf4m7kP0cJ+JIuFkdHibI7vVFvu3eJS1HpVmYHWDulyN5WXwbRA0SX/7ZDaJ/1DH8SdY9xOJg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild/-/esbuild-0.14.34.tgz} 317 | name: esbuild 318 | version: 0.14.34 319 | engines: {node: '>=12'} 320 | hasBin: true 321 | requiresBuild: true 322 | optionalDependencies: 323 | esbuild-android-64: registry.npmmirror.com/esbuild-android-64/0.14.34 324 | esbuild-android-arm64: registry.npmmirror.com/esbuild-android-arm64/0.14.34 325 | esbuild-darwin-64: registry.npmmirror.com/esbuild-darwin-64/0.14.34 326 | esbuild-darwin-arm64: registry.npmmirror.com/esbuild-darwin-arm64/0.14.34 327 | esbuild-freebsd-64: registry.npmmirror.com/esbuild-freebsd-64/0.14.34 328 | esbuild-freebsd-arm64: registry.npmmirror.com/esbuild-freebsd-arm64/0.14.34 329 | esbuild-linux-32: registry.npmmirror.com/esbuild-linux-32/0.14.34 330 | esbuild-linux-64: registry.npmmirror.com/esbuild-linux-64/0.14.34 331 | esbuild-linux-arm: registry.npmmirror.com/esbuild-linux-arm/0.14.34 332 | esbuild-linux-arm64: registry.npmmirror.com/esbuild-linux-arm64/0.14.34 333 | esbuild-linux-mips64le: registry.npmmirror.com/esbuild-linux-mips64le/0.14.34 334 | esbuild-linux-ppc64le: registry.npmmirror.com/esbuild-linux-ppc64le/0.14.34 335 | esbuild-linux-riscv64: registry.npmmirror.com/esbuild-linux-riscv64/0.14.34 336 | esbuild-linux-s390x: registry.npmmirror.com/esbuild-linux-s390x/0.14.34 337 | esbuild-netbsd-64: registry.npmmirror.com/esbuild-netbsd-64/0.14.34 338 | esbuild-openbsd-64: registry.npmmirror.com/esbuild-openbsd-64/0.14.34 339 | esbuild-sunos-64: registry.npmmirror.com/esbuild-sunos-64/0.14.34 340 | esbuild-windows-32: registry.npmmirror.com/esbuild-windows-32/0.14.34 341 | esbuild-windows-64: registry.npmmirror.com/esbuild-windows-64/0.14.34 342 | esbuild-windows-arm64: registry.npmmirror.com/esbuild-windows-arm64/0.14.34 343 | dev: true 344 | 345 | registry.npmmirror.com/estree-walker/2.0.2: 346 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz} 347 | name: estree-walker 348 | version: 2.0.2 349 | dev: true 350 | 351 | registry.npmmirror.com/fsevents/2.3.2: 352 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz} 353 | name: fsevents 354 | version: 2.3.2 355 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 356 | os: [darwin] 357 | requiresBuild: true 358 | dev: true 359 | optional: true 360 | 361 | registry.npmmirror.com/function-bind/1.1.1: 362 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz} 363 | name: function-bind 364 | version: 1.1.1 365 | dev: true 366 | 367 | registry.npmmirror.com/has/1.0.3: 368 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has/-/has-1.0.3.tgz} 369 | name: has 370 | version: 1.0.3 371 | engines: {node: '>= 0.4.0'} 372 | dependencies: 373 | function-bind: registry.npmmirror.com/function-bind/1.1.1 374 | dev: true 375 | 376 | registry.npmmirror.com/is-core-module/2.8.1: 377 | resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-core-module/-/is-core-module-2.8.1.tgz} 378 | name: is-core-module 379 | version: 2.8.1 380 | dependencies: 381 | has: registry.npmmirror.com/has/1.0.3 382 | dev: true 383 | 384 | registry.npmmirror.com/magic-string/0.25.9: 385 | resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz} 386 | name: magic-string 387 | version: 0.25.9 388 | dependencies: 389 | sourcemap-codec: registry.npmmirror.com/sourcemap-codec/1.4.8 390 | dev: true 391 | 392 | registry.npmmirror.com/magic-string/0.26.1: 393 | resolution: {integrity: sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/magic-string/-/magic-string-0.26.1.tgz} 394 | name: magic-string 395 | version: 0.26.1 396 | engines: {node: '>=12'} 397 | dependencies: 398 | sourcemap-codec: registry.npmmirror.com/sourcemap-codec/1.4.8 399 | dev: true 400 | 401 | registry.npmmirror.com/nanoid/3.3.2: 402 | resolution: {integrity: sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/nanoid/-/nanoid-3.3.2.tgz} 403 | name: nanoid 404 | version: 3.3.2 405 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 406 | hasBin: true 407 | dev: true 408 | 409 | registry.npmmirror.com/path-parse/1.0.7: 410 | 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} 411 | name: path-parse 412 | version: 1.0.7 413 | dev: true 414 | 415 | registry.npmmirror.com/picocolors/1.0.0: 416 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz} 417 | name: picocolors 418 | version: 1.0.0 419 | dev: true 420 | 421 | registry.npmmirror.com/postcss/8.4.12: 422 | resolution: {integrity: sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss/-/postcss-8.4.12.tgz} 423 | name: postcss 424 | version: 8.4.12 425 | engines: {node: ^10 || ^12 || >=14} 426 | dependencies: 427 | nanoid: registry.npmmirror.com/nanoid/3.3.2 428 | picocolors: registry.npmmirror.com/picocolors/1.0.0 429 | source-map-js: registry.npmmirror.com/source-map-js/1.0.2 430 | dev: true 431 | 432 | registry.npmmirror.com/resolve/1.22.0: 433 | resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/resolve/-/resolve-1.22.0.tgz} 434 | name: resolve 435 | version: 1.22.0 436 | hasBin: true 437 | dependencies: 438 | is-core-module: registry.npmmirror.com/is-core-module/2.8.1 439 | path-parse: registry.npmmirror.com/path-parse/1.0.7 440 | supports-preserve-symlinks-flag: registry.npmmirror.com/supports-preserve-symlinks-flag/1.0.0 441 | dev: true 442 | 443 | registry.npmmirror.com/rollup/2.70.1: 444 | resolution: {integrity: sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rollup/-/rollup-2.70.1.tgz} 445 | name: rollup 446 | version: 2.70.1 447 | engines: {node: '>=10.0.0'} 448 | hasBin: true 449 | optionalDependencies: 450 | fsevents: registry.npmmirror.com/fsevents/2.3.2 451 | dev: true 452 | 453 | registry.npmmirror.com/source-map-js/1.0.2: 454 | 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} 455 | name: source-map-js 456 | version: 1.0.2 457 | engines: {node: '>=0.10.0'} 458 | dev: true 459 | 460 | registry.npmmirror.com/source-map/0.6.1: 461 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz} 462 | name: source-map 463 | version: 0.6.1 464 | engines: {node: '>=0.10.0'} 465 | dev: true 466 | 467 | registry.npmmirror.com/sourcemap-codec/1.4.8: 468 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz} 469 | name: sourcemap-codec 470 | version: 1.4.8 471 | dev: true 472 | 473 | registry.npmmirror.com/supports-preserve-symlinks-flag/1.0.0: 474 | 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} 475 | name: supports-preserve-symlinks-flag 476 | version: 1.0.0 477 | engines: {node: '>= 0.4'} 478 | dev: true 479 | 480 | registry.npmmirror.com/vite/2.9.1: 481 | resolution: {integrity: sha512-vSlsSdOYGcYEJfkQ/NeLXgnRv5zZfpAsdztkIrs7AZHV8RCMZQkwjo4DS5BnrYTqoWqLoUe1Cah4aVO4oNNqCQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vite/-/vite-2.9.1.tgz} 482 | name: vite 483 | version: 2.9.1 484 | engines: {node: '>=12.2.0'} 485 | hasBin: true 486 | peerDependencies: 487 | less: '*' 488 | sass: '*' 489 | stylus: '*' 490 | peerDependenciesMeta: 491 | less: 492 | optional: true 493 | sass: 494 | optional: true 495 | stylus: 496 | optional: true 497 | dependencies: 498 | esbuild: registry.npmmirror.com/esbuild/0.14.34 499 | postcss: registry.npmmirror.com/postcss/8.4.12 500 | resolve: registry.npmmirror.com/resolve/1.22.0 501 | rollup: registry.npmmirror.com/rollup/2.70.1 502 | optionalDependencies: 503 | fsevents: registry.npmmirror.com/fsevents/2.3.2 504 | dev: true 505 | --------------------------------------------------------------------------------