This commit is contained in:
parent
54867f37c4
commit
c14f07ca0a
365 changed files with 0 additions and 483278 deletions
28
.gitignore
vendored
28
.gitignore
vendored
|
@ -1,28 +0,0 @@
|
|||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
lerna-debug.log*
|
||||
|
||||
node_modules
|
||||
.DS_Store
|
||||
dist
|
||||
dist-ssr
|
||||
coverage
|
||||
*.local
|
||||
|
||||
/cypress/videos/
|
||||
/cypress/screenshots/
|
||||
|
||||
# Editor directories and files
|
||||
.vscode/*
|
||||
!.vscode/extensions.json
|
||||
.idea
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
1
node_modules/.bin/esbuild
generated
vendored
1
node_modules/.bin/esbuild
generated
vendored
|
@ -1 +0,0 @@
|
|||
../esbuild/bin/esbuild
|
1
node_modules/.bin/nanoid
generated
vendored
1
node_modules/.bin/nanoid
generated
vendored
|
@ -1 +0,0 @@
|
|||
../nanoid/bin/nanoid.cjs
|
1
node_modules/.bin/parser
generated
vendored
1
node_modules/.bin/parser
generated
vendored
|
@ -1 +0,0 @@
|
|||
../@babel/parser/bin/babel-parser.js
|
1
node_modules/.bin/rollup
generated
vendored
1
node_modules/.bin/rollup
generated
vendored
|
@ -1 +0,0 @@
|
|||
../rollup/dist/bin/rollup
|
1
node_modules/.bin/vite
generated
vendored
1
node_modules/.bin/vite
generated
vendored
|
@ -1 +0,0 @@
|
|||
../vite/bin/vite.js
|
367
node_modules/.package-lock.json
generated
vendored
367
node_modules/.package-lock.json
generated
vendored
|
@ -1,367 +0,0 @@
|
|||
{
|
||||
"name": "goldrausch",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"node_modules/@babel/parser": {
|
||||
"version": "7.22.16",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.16.tgz",
|
||||
"integrity": "sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA==",
|
||||
"bin": {
|
||||
"parser": "bin/babel-parser.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/darwin-arm64": {
|
||||
"version": "0.18.20",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz",
|
||||
"integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@jridgewell/sourcemap-codec": {
|
||||
"version": "1.4.15",
|
||||
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
|
||||
"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
|
||||
},
|
||||
"node_modules/@vitejs/plugin-vue": {
|
||||
"version": "4.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.3.4.tgz",
|
||||
"integrity": "sha512-ciXNIHKPriERBisHFBvnTbfKa6r9SAesOYXeGDzgegcvy9Q4xdScSHAmKbNT0M3O0S9LKhIf5/G+UYG4NnnzYw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": "^14.18.0 || >=16.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"vite": "^4.0.0",
|
||||
"vue": "^3.2.25"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/compiler-core": {
|
||||
"version": "3.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz",
|
||||
"integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==",
|
||||
"dependencies": {
|
||||
"@babel/parser": "^7.21.3",
|
||||
"@vue/shared": "3.3.4",
|
||||
"estree-walker": "^2.0.2",
|
||||
"source-map-js": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/compiler-dom": {
|
||||
"version": "3.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz",
|
||||
"integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==",
|
||||
"dependencies": {
|
||||
"@vue/compiler-core": "3.3.4",
|
||||
"@vue/shared": "3.3.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/compiler-sfc": {
|
||||
"version": "3.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz",
|
||||
"integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==",
|
||||
"dependencies": {
|
||||
"@babel/parser": "^7.20.15",
|
||||
"@vue/compiler-core": "3.3.4",
|
||||
"@vue/compiler-dom": "3.3.4",
|
||||
"@vue/compiler-ssr": "3.3.4",
|
||||
"@vue/reactivity-transform": "3.3.4",
|
||||
"@vue/shared": "3.3.4",
|
||||
"estree-walker": "^2.0.2",
|
||||
"magic-string": "^0.30.0",
|
||||
"postcss": "^8.1.10",
|
||||
"source-map-js": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/compiler-ssr": {
|
||||
"version": "3.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz",
|
||||
"integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==",
|
||||
"dependencies": {
|
||||
"@vue/compiler-dom": "3.3.4",
|
||||
"@vue/shared": "3.3.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/reactivity": {
|
||||
"version": "3.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz",
|
||||
"integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==",
|
||||
"dependencies": {
|
||||
"@vue/shared": "3.3.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/reactivity-transform": {
|
||||
"version": "3.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz",
|
||||
"integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==",
|
||||
"dependencies": {
|
||||
"@babel/parser": "^7.20.15",
|
||||
"@vue/compiler-core": "3.3.4",
|
||||
"@vue/shared": "3.3.4",
|
||||
"estree-walker": "^2.0.2",
|
||||
"magic-string": "^0.30.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/runtime-core": {
|
||||
"version": "3.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz",
|
||||
"integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==",
|
||||
"dependencies": {
|
||||
"@vue/reactivity": "3.3.4",
|
||||
"@vue/shared": "3.3.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/runtime-dom": {
|
||||
"version": "3.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz",
|
||||
"integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==",
|
||||
"dependencies": {
|
||||
"@vue/runtime-core": "3.3.4",
|
||||
"@vue/shared": "3.3.4",
|
||||
"csstype": "^3.1.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/server-renderer": {
|
||||
"version": "3.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz",
|
||||
"integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==",
|
||||
"dependencies": {
|
||||
"@vue/compiler-ssr": "3.3.4",
|
||||
"@vue/shared": "3.3.4"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"vue": "3.3.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/shared": {
|
||||
"version": "3.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz",
|
||||
"integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ=="
|
||||
},
|
||||
"node_modules/csstype": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
|
||||
"integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
|
||||
},
|
||||
"node_modules/esbuild": {
|
||||
"version": "0.18.20",
|
||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz",
|
||||
"integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"bin": {
|
||||
"esbuild": "bin/esbuild"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@esbuild/android-arm": "0.18.20",
|
||||
"@esbuild/android-arm64": "0.18.20",
|
||||
"@esbuild/android-x64": "0.18.20",
|
||||
"@esbuild/darwin-arm64": "0.18.20",
|
||||
"@esbuild/darwin-x64": "0.18.20",
|
||||
"@esbuild/freebsd-arm64": "0.18.20",
|
||||
"@esbuild/freebsd-x64": "0.18.20",
|
||||
"@esbuild/linux-arm": "0.18.20",
|
||||
"@esbuild/linux-arm64": "0.18.20",
|
||||
"@esbuild/linux-ia32": "0.18.20",
|
||||
"@esbuild/linux-loong64": "0.18.20",
|
||||
"@esbuild/linux-mips64el": "0.18.20",
|
||||
"@esbuild/linux-ppc64": "0.18.20",
|
||||
"@esbuild/linux-riscv64": "0.18.20",
|
||||
"@esbuild/linux-s390x": "0.18.20",
|
||||
"@esbuild/linux-x64": "0.18.20",
|
||||
"@esbuild/netbsd-x64": "0.18.20",
|
||||
"@esbuild/openbsd-x64": "0.18.20",
|
||||
"@esbuild/sunos-x64": "0.18.20",
|
||||
"@esbuild/win32-arm64": "0.18.20",
|
||||
"@esbuild/win32-ia32": "0.18.20",
|
||||
"@esbuild/win32-x64": "0.18.20"
|
||||
}
|
||||
},
|
||||
"node_modules/estree-walker": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
|
||||
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
|
||||
},
|
||||
"node_modules/fsevents": {
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
|
||||
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/magic-string": {
|
||||
"version": "0.30.3",
|
||||
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.3.tgz",
|
||||
"integrity": "sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==",
|
||||
"dependencies": {
|
||||
"@jridgewell/sourcemap-codec": "^1.4.15"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/nanoid": {
|
||||
"version": "3.3.6",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
|
||||
"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/ai"
|
||||
}
|
||||
],
|
||||
"bin": {
|
||||
"nanoid": "bin/nanoid.cjs"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/picocolors": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
|
||||
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.4.29",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.29.tgz",
|
||||
"integrity": "sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/postcss/"
|
||||
},
|
||||
{
|
||||
"type": "tidelift",
|
||||
"url": "https://tidelift.com/funding/github/npm/postcss"
|
||||
},
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/ai"
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"nanoid": "^3.3.6",
|
||||
"picocolors": "^1.0.0",
|
||||
"source-map-js": "^1.0.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^10 || ^12 || >=14"
|
||||
}
|
||||
},
|
||||
"node_modules/rollup": {
|
||||
"version": "3.29.1",
|
||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.1.tgz",
|
||||
"integrity": "sha512-c+ebvQz0VIH4KhhCpDsI+Bik0eT8ZFEVZEYw0cGMVqIP8zc+gnwl7iXCamTw7vzv2MeuZFZfdx5JJIq+ehzDlg==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"rollup": "dist/bin/rollup"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.18.0",
|
||||
"npm": ">=8.0.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"fsevents": "~2.3.2"
|
||||
}
|
||||
},
|
||||
"node_modules/source-map-js": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
|
||||
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/vite": {
|
||||
"version": "4.4.9",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz",
|
||||
"integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"esbuild": "^0.18.10",
|
||||
"postcss": "^8.4.27",
|
||||
"rollup": "^3.27.1"
|
||||
},
|
||||
"bin": {
|
||||
"vite": "bin/vite.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^14.18.0 || >=16.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/vitejs/vite?sponsor=1"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"fsevents": "~2.3.2"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/node": ">= 14",
|
||||
"less": "*",
|
||||
"lightningcss": "^1.21.0",
|
||||
"sass": "*",
|
||||
"stylus": "*",
|
||||
"sugarss": "*",
|
||||
"terser": "^5.4.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@types/node": {
|
||||
"optional": true
|
||||
},
|
||||
"less": {
|
||||
"optional": true
|
||||
},
|
||||
"lightningcss": {
|
||||
"optional": true
|
||||
},
|
||||
"sass": {
|
||||
"optional": true
|
||||
},
|
||||
"stylus": {
|
||||
"optional": true
|
||||
},
|
||||
"sugarss": {
|
||||
"optional": true
|
||||
},
|
||||
"terser": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/vue": {
|
||||
"version": "3.3.4",
|
||||
"resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz",
|
||||
"integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==",
|
||||
"dependencies": {
|
||||
"@vue/compiler-dom": "3.3.4",
|
||||
"@vue/compiler-sfc": "3.3.4",
|
||||
"@vue/runtime-dom": "3.3.4",
|
||||
"@vue/server-renderer": "3.3.4",
|
||||
"@vue/shared": "3.3.4"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
13
node_modules/.vite/deps/_metadata.json
generated
vendored
13
node_modules/.vite/deps/_metadata.json
generated
vendored
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"hash": "76ff19ff",
|
||||
"browserHash": "cc3a8e55",
|
||||
"optimized": {
|
||||
"vue": {
|
||||
"src": "../../vue/dist/vue.runtime.esm-bundler.js",
|
||||
"file": "vue.js",
|
||||
"fileHash": "7d596e86",
|
||||
"needsInterop": false
|
||||
}
|
||||
},
|
||||
"chunks": {}
|
||||
}
|
3
node_modules/.vite/deps/package.json
generated
vendored
3
node_modules/.vite/deps/package.json
generated
vendored
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
"type": "module"
|
||||
}
|
10795
node_modules/.vite/deps/vue.js
generated
vendored
10795
node_modules/.vite/deps/vue.js
generated
vendored
File diff suppressed because it is too large
Load diff
7
node_modules/.vite/deps/vue.js.map
generated
vendored
7
node_modules/.vite/deps/vue.js.map
generated
vendored
File diff suppressed because one or more lines are too long
1073
node_modules/@babel/parser/CHANGELOG.md
generated
vendored
1073
node_modules/@babel/parser/CHANGELOG.md
generated
vendored
File diff suppressed because it is too large
Load diff
19
node_modules/@babel/parser/LICENSE
generated
vendored
19
node_modules/@babel/parser/LICENSE
generated
vendored
|
@ -1,19 +0,0 @@
|
|||
Copyright (C) 2012-2014 by various contributors (see AUTHORS)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
19
node_modules/@babel/parser/README.md
generated
vendored
19
node_modules/@babel/parser/README.md
generated
vendored
|
@ -1,19 +0,0 @@
|
|||
# @babel/parser
|
||||
|
||||
> A JavaScript parser
|
||||
|
||||
See our website [@babel/parser](https://babeljs.io/docs/babel-parser) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20parser%22+is%3Aopen) associated with this package.
|
||||
|
||||
## Install
|
||||
|
||||
Using npm:
|
||||
|
||||
```sh
|
||||
npm install --save-dev @babel/parser
|
||||
```
|
||||
|
||||
or using yarn:
|
||||
|
||||
```sh
|
||||
yarn add @babel/parser --dev
|
||||
```
|
15
node_modules/@babel/parser/bin/babel-parser.js
generated
vendored
15
node_modules/@babel/parser/bin/babel-parser.js
generated
vendored
|
@ -1,15 +0,0 @@
|
|||
#!/usr/bin/env node
|
||||
/* eslint no-var: 0 */
|
||||
|
||||
var parser = require("..");
|
||||
var fs = require("fs");
|
||||
|
||||
var filename = process.argv[2];
|
||||
if (!filename) {
|
||||
console.error("no filename specified");
|
||||
} else {
|
||||
var file = fs.readFileSync(filename, "utf8");
|
||||
var ast = parser.parse(file);
|
||||
|
||||
console.log(JSON.stringify(ast, null, " "));
|
||||
}
|
5
node_modules/@babel/parser/index.cjs
generated
vendored
5
node_modules/@babel/parser/index.cjs
generated
vendored
|
@ -1,5 +0,0 @@
|
|||
try {
|
||||
module.exports = require("./lib/index.cjs");
|
||||
} catch {
|
||||
module.exports = require("./lib/index.js");
|
||||
}
|
14379
node_modules/@babel/parser/lib/index.js
generated
vendored
14379
node_modules/@babel/parser/lib/index.js
generated
vendored
File diff suppressed because it is too large
Load diff
1
node_modules/@babel/parser/lib/index.js.map
generated
vendored
1
node_modules/@babel/parser/lib/index.js.map
generated
vendored
File diff suppressed because one or more lines are too long
46
node_modules/@babel/parser/package.json
generated
vendored
46
node_modules/@babel/parser/package.json
generated
vendored
|
@ -1,46 +0,0 @@
|
|||
{
|
||||
"name": "@babel/parser",
|
||||
"version": "7.22.16",
|
||||
"description": "A JavaScript parser",
|
||||
"author": "The Babel Team (https://babel.dev/team)",
|
||||
"homepage": "https://babel.dev/docs/en/next/babel-parser",
|
||||
"bugs": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A+parser+%28babylon%29%22+is%3Aopen",
|
||||
"license": "MIT",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"keywords": [
|
||||
"babel",
|
||||
"javascript",
|
||||
"parser",
|
||||
"tc39",
|
||||
"ecmascript",
|
||||
"@babel/parser"
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/babel/babel.git",
|
||||
"directory": "packages/babel-parser"
|
||||
},
|
||||
"main": "./lib/index.js",
|
||||
"types": "./typings/babel-parser.d.ts",
|
||||
"files": [
|
||||
"bin",
|
||||
"lib",
|
||||
"typings/babel-parser.d.ts",
|
||||
"index.cjs"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=6.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/code-frame": "^7.22.13",
|
||||
"@babel/helper-check-duplicate-nodes": "^7.22.5",
|
||||
"@babel/helper-fixtures": "^7.22.13",
|
||||
"@babel/helper-string-parser": "^7.22.5",
|
||||
"@babel/helper-validator-identifier": "^7.22.15",
|
||||
"charcodes": "^0.2.0"
|
||||
},
|
||||
"bin": "./bin/babel-parser.js",
|
||||
"type": "commonjs"
|
||||
}
|
241
node_modules/@babel/parser/typings/babel-parser.d.ts
generated
vendored
241
node_modules/@babel/parser/typings/babel-parser.d.ts
generated
vendored
|
@ -1,241 +0,0 @@
|
|||
// This file is auto-generated! Do not modify it directly.
|
||||
/* eslint-disable import/no-extraneous-dependencies, @typescript-eslint/consistent-type-imports, prettier/prettier */
|
||||
import * as _babel_types from '@babel/types';
|
||||
|
||||
type Plugin =
|
||||
| "asyncDoExpressions"
|
||||
| "asyncGenerators"
|
||||
| "bigInt"
|
||||
| "classPrivateMethods"
|
||||
| "classPrivateProperties"
|
||||
| "classProperties"
|
||||
| "classStaticBlock" // Enabled by default
|
||||
| "decimal"
|
||||
| "decorators-legacy"
|
||||
| "decoratorAutoAccessors"
|
||||
| "destructuringPrivate"
|
||||
| "doExpressions"
|
||||
| "dynamicImport"
|
||||
| "explicitResourceManagement"
|
||||
| "exportDefaultFrom"
|
||||
| "exportNamespaceFrom" // deprecated
|
||||
| "flow"
|
||||
| "flowComments"
|
||||
| "functionBind"
|
||||
| "functionSent"
|
||||
| "importMeta"
|
||||
| "jsx"
|
||||
| "logicalAssignment"
|
||||
| "importAssertions" // deprecated
|
||||
| "importAttributes"
|
||||
| "importReflection"
|
||||
| "moduleBlocks"
|
||||
| "moduleStringNames"
|
||||
| "nullishCoalescingOperator"
|
||||
| "numericSeparator"
|
||||
| "objectRestSpread"
|
||||
| "optionalCatchBinding"
|
||||
| "optionalChaining"
|
||||
| "partialApplication"
|
||||
| "placeholders"
|
||||
| "privateIn" // Enabled by default
|
||||
| "regexpUnicodeSets" // Enabled by default
|
||||
| "throwExpressions"
|
||||
| "topLevelAwait"
|
||||
| "v8intrinsic"
|
||||
| ParserPluginWithOptions[0];
|
||||
|
||||
type ParserPluginWithOptions =
|
||||
| ["decorators", DecoratorsPluginOptions]
|
||||
| ["estree", { classFeatures?: boolean }]
|
||||
| ["importAttributes", { deprecatedAssertSyntax: boolean }]
|
||||
// @deprecated
|
||||
| ["moduleAttributes", { version: "may-2020" }]
|
||||
| ["pipelineOperator", PipelineOperatorPluginOptions]
|
||||
| ["recordAndTuple", RecordAndTuplePluginOptions]
|
||||
| ["flow", FlowPluginOptions]
|
||||
| ["typescript", TypeScriptPluginOptions];
|
||||
|
||||
type PluginConfig = Plugin | ParserPluginWithOptions;
|
||||
|
||||
interface DecoratorsPluginOptions {
|
||||
decoratorsBeforeExport?: boolean;
|
||||
allowCallParenthesized?: boolean;
|
||||
}
|
||||
|
||||
interface PipelineOperatorPluginOptions {
|
||||
proposal: "minimal" | "fsharp" | "hack" | "smart";
|
||||
topicToken?: "%" | "#" | "@@" | "^^" | "^";
|
||||
}
|
||||
|
||||
interface RecordAndTuplePluginOptions {
|
||||
syntaxType: "bar" | "hash";
|
||||
}
|
||||
|
||||
interface FlowPluginOptions {
|
||||
all?: boolean;
|
||||
enums?: boolean;
|
||||
}
|
||||
|
||||
interface TypeScriptPluginOptions {
|
||||
dts?: boolean;
|
||||
disallowAmbiguousJSXLike?: boolean;
|
||||
}
|
||||
|
||||
// Type definitions for @babel/parser
|
||||
// Project: https://github.com/babel/babel/tree/main/packages/babel-parser
|
||||
// Definitions by: Troy Gerwien <https://github.com/yortus>
|
||||
// Marvin Hagemeister <https://github.com/marvinhagemeister>
|
||||
// Avi Vahl <https://github.com/AviVahl>
|
||||
// TypeScript Version: 2.9
|
||||
|
||||
/**
|
||||
* Parse the provided code as an entire ECMAScript program.
|
||||
*/
|
||||
declare function parse(
|
||||
input: string,
|
||||
options?: ParserOptions
|
||||
): ParseResult<_babel_types.File>;
|
||||
|
||||
/**
|
||||
* Parse the provided code as a single expression.
|
||||
*/
|
||||
declare function parseExpression(
|
||||
input: string,
|
||||
options?: ParserOptions
|
||||
): ParseResult<_babel_types.Expression>;
|
||||
|
||||
interface ParserOptions {
|
||||
/**
|
||||
* By default, import and export declarations can only appear at a program's top level.
|
||||
* Setting this option to true allows them anywhere where a statement is allowed.
|
||||
*/
|
||||
allowImportExportEverywhere?: boolean;
|
||||
|
||||
/**
|
||||
* By default, await use is not allowed outside of an async function.
|
||||
* Set this to true to accept such code.
|
||||
*/
|
||||
allowAwaitOutsideFunction?: boolean;
|
||||
|
||||
/**
|
||||
* By default, a return statement at the top level raises an error.
|
||||
* Set this to true to accept such code.
|
||||
*/
|
||||
allowReturnOutsideFunction?: boolean;
|
||||
|
||||
/**
|
||||
* By default, new.target use is not allowed outside of a function or class.
|
||||
* Set this to true to accept such code.
|
||||
*/
|
||||
allowNewTargetOutsideFunction?: boolean;
|
||||
|
||||
allowSuperOutsideMethod?: boolean;
|
||||
|
||||
/**
|
||||
* By default, exported identifiers must refer to a declared variable.
|
||||
* Set this to true to allow export statements to reference undeclared variables.
|
||||
*/
|
||||
allowUndeclaredExports?: boolean;
|
||||
|
||||
/**
|
||||
* By default, Babel parser JavaScript code according to Annex B syntax.
|
||||
* Set this to `false` to disable such behavior.
|
||||
*/
|
||||
annexB?: boolean;
|
||||
|
||||
/**
|
||||
* By default, Babel attaches comments to adjacent AST nodes.
|
||||
* When this option is set to false, comments are not attached.
|
||||
* It can provide up to 30% performance improvement when the input code has many comments.
|
||||
* @babel/eslint-parser will set it for you.
|
||||
* It is not recommended to use attachComment: false with Babel transform,
|
||||
* as doing so removes all the comments in output code, and renders annotations such as
|
||||
* /* istanbul ignore next *\/ nonfunctional.
|
||||
*/
|
||||
attachComment?: boolean;
|
||||
|
||||
/**
|
||||
* By default, Babel always throws an error when it finds some invalid code.
|
||||
* When this option is set to true, it will store the parsing error and
|
||||
* try to continue parsing the invalid input file.
|
||||
*/
|
||||
errorRecovery?: boolean;
|
||||
|
||||
/**
|
||||
* Indicate the mode the code should be parsed in.
|
||||
* Can be one of "script", "module", or "unambiguous". Defaults to "script".
|
||||
* "unambiguous" will make @babel/parser attempt to guess, based on the presence
|
||||
* of ES6 import or export statements.
|
||||
* Files with ES6 imports and exports are considered "module" and are otherwise "script".
|
||||
*/
|
||||
sourceType?: "script" | "module" | "unambiguous";
|
||||
|
||||
/**
|
||||
* Correlate output AST nodes with their source filename.
|
||||
* Useful when generating code and source maps from the ASTs of multiple input files.
|
||||
*/
|
||||
sourceFilename?: string;
|
||||
|
||||
/**
|
||||
* By default, the first line of code parsed is treated as line 1.
|
||||
* You can provide a line number to alternatively start with.
|
||||
* Useful for integration with other source tools.
|
||||
*/
|
||||
startLine?: number;
|
||||
|
||||
/**
|
||||
* By default, the parsed code is treated as if it starts from line 1, column 0.
|
||||
* You can provide a column number to alternatively start with.
|
||||
* Useful for integration with other source tools.
|
||||
*/
|
||||
startColumn?: number;
|
||||
|
||||
/**
|
||||
* Array containing the plugins that you want to enable.
|
||||
*/
|
||||
plugins?: ParserPlugin[];
|
||||
|
||||
/**
|
||||
* Should the parser work in strict mode.
|
||||
* Defaults to true if sourceType === 'module'. Otherwise, false.
|
||||
*/
|
||||
strictMode?: boolean;
|
||||
|
||||
/**
|
||||
* Adds a ranges property to each node: [node.start, node.end]
|
||||
*/
|
||||
ranges?: boolean;
|
||||
|
||||
/**
|
||||
* Adds all parsed tokens to a tokens property on the File node.
|
||||
*/
|
||||
tokens?: boolean;
|
||||
|
||||
/**
|
||||
* By default, the parser adds information about parentheses by setting
|
||||
* `extra.parenthesized` to `true` as needed.
|
||||
* When this option is `true` the parser creates `ParenthesizedExpression`
|
||||
* AST nodes instead of using the `extra` property.
|
||||
*/
|
||||
createParenthesizedExpressions?: boolean;
|
||||
}
|
||||
|
||||
type ParserPlugin = PluginConfig;
|
||||
|
||||
|
||||
declare const tokTypes: {
|
||||
// todo(flow->ts) real token type
|
||||
[name: string]: any;
|
||||
};
|
||||
|
||||
interface ParseError {
|
||||
code: string;
|
||||
reasonCode: string;
|
||||
}
|
||||
|
||||
type ParseResult<Result> = Result & {
|
||||
errors: ParseError[];
|
||||
};
|
||||
|
||||
export { DecoratorsPluginOptions, FlowPluginOptions, ParseError, ParseResult, ParserOptions, ParserPlugin, ParserPluginWithOptions, PipelineOperatorPluginOptions, RecordAndTuplePluginOptions, TypeScriptPluginOptions, parse, parseExpression, tokTypes };
|
3
node_modules/@esbuild/darwin-arm64/README.md
generated
vendored
3
node_modules/@esbuild/darwin-arm64/README.md
generated
vendored
|
@ -1,3 +0,0 @@
|
|||
# esbuild
|
||||
|
||||
This is the macOS ARM 64-bit binary for esbuild, a JavaScript bundler and minifier. See https://github.com/evanw/esbuild for details.
|
BIN
node_modules/@esbuild/darwin-arm64/bin/esbuild
generated
vendored
BIN
node_modules/@esbuild/darwin-arm64/bin/esbuild
generated
vendored
Binary file not shown.
17
node_modules/@esbuild/darwin-arm64/package.json
generated
vendored
17
node_modules/@esbuild/darwin-arm64/package.json
generated
vendored
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"name": "@esbuild/darwin-arm64",
|
||||
"version": "0.18.20",
|
||||
"description": "The macOS ARM 64-bit binary for esbuild, a JavaScript bundler.",
|
||||
"repository": "https://github.com/evanw/esbuild",
|
||||
"license": "MIT",
|
||||
"preferUnplugged": true,
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"cpu": [
|
||||
"arm64"
|
||||
]
|
||||
}
|
21
node_modules/@jridgewell/sourcemap-codec/LICENSE
generated
vendored
21
node_modules/@jridgewell/sourcemap-codec/LICENSE
generated
vendored
|
@ -1,21 +0,0 @@
|
|||
The MIT License
|
||||
|
||||
Copyright (c) 2015 Rich Harris
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
200
node_modules/@jridgewell/sourcemap-codec/README.md
generated
vendored
200
node_modules/@jridgewell/sourcemap-codec/README.md
generated
vendored
|
@ -1,200 +0,0 @@
|
|||
# @jridgewell/sourcemap-codec
|
||||
|
||||
Encode/decode the `mappings` property of a [sourcemap](https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit).
|
||||
|
||||
|
||||
## Why?
|
||||
|
||||
Sourcemaps are difficult to generate and manipulate, because the `mappings` property – the part that actually links the generated code back to the original source – is encoded using an obscure method called [Variable-length quantity](https://en.wikipedia.org/wiki/Variable-length_quantity). On top of that, each segment in the mapping contains offsets rather than absolute indices, which means that you can't look at a segment in isolation – you have to understand the whole sourcemap.
|
||||
|
||||
This package makes the process slightly easier.
|
||||
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
npm install @jridgewell/sourcemap-codec
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
import { encode, decode } from '@jridgewell/sourcemap-codec';
|
||||
|
||||
var decoded = decode( ';EAEEA,EAAE,EAAC,CAAE;ECQY,UACC' );
|
||||
|
||||
assert.deepEqual( decoded, [
|
||||
// the first line (of the generated code) has no mappings,
|
||||
// as shown by the starting semi-colon (which separates lines)
|
||||
[],
|
||||
|
||||
// the second line contains four (comma-separated) segments
|
||||
[
|
||||
// segments are encoded as you'd expect:
|
||||
// [ generatedCodeColumn, sourceIndex, sourceCodeLine, sourceCodeColumn, nameIndex ]
|
||||
|
||||
// i.e. the first segment begins at column 2, and maps back to the second column
|
||||
// of the second line (both zero-based) of the 0th source, and uses the 0th
|
||||
// name in the `map.names` array
|
||||
[ 2, 0, 2, 2, 0 ],
|
||||
|
||||
// the remaining segments are 4-length rather than 5-length,
|
||||
// because they don't map a name
|
||||
[ 4, 0, 2, 4 ],
|
||||
[ 6, 0, 2, 5 ],
|
||||
[ 7, 0, 2, 7 ]
|
||||
],
|
||||
|
||||
// the final line contains two segments
|
||||
[
|
||||
[ 2, 1, 10, 19 ],
|
||||
[ 12, 1, 11, 20 ]
|
||||
]
|
||||
]);
|
||||
|
||||
var encoded = encode( decoded );
|
||||
assert.equal( encoded, ';EAEEA,EAAE,EAAC,CAAE;ECQY,UACC' );
|
||||
```
|
||||
|
||||
## Benchmarks
|
||||
|
||||
```
|
||||
node v18.0.0
|
||||
|
||||
amp.js.map - 45120 segments
|
||||
|
||||
Decode Memory Usage:
|
||||
@jridgewell/sourcemap-codec 5479160 bytes
|
||||
sourcemap-codec 5659336 bytes
|
||||
source-map-0.6.1 17144440 bytes
|
||||
source-map-0.8.0 6867424 bytes
|
||||
Smallest memory usage is @jridgewell/sourcemap-codec
|
||||
|
||||
Decode speed:
|
||||
decode: @jridgewell/sourcemap-codec x 502 ops/sec ±1.03% (90 runs sampled)
|
||||
decode: sourcemap-codec x 445 ops/sec ±0.97% (92 runs sampled)
|
||||
decode: source-map-0.6.1 x 36.01 ops/sec ±1.64% (49 runs sampled)
|
||||
decode: source-map-0.8.0 x 367 ops/sec ±0.04% (95 runs sampled)
|
||||
Fastest is decode: @jridgewell/sourcemap-codec
|
||||
|
||||
Encode Memory Usage:
|
||||
@jridgewell/sourcemap-codec 1261620 bytes
|
||||
sourcemap-codec 9119248 bytes
|
||||
source-map-0.6.1 8968560 bytes
|
||||
source-map-0.8.0 8952952 bytes
|
||||
Smallest memory usage is @jridgewell/sourcemap-codec
|
||||
|
||||
Encode speed:
|
||||
encode: @jridgewell/sourcemap-codec x 738 ops/sec ±0.42% (98 runs sampled)
|
||||
encode: sourcemap-codec x 238 ops/sec ±0.73% (88 runs sampled)
|
||||
encode: source-map-0.6.1 x 162 ops/sec ±0.43% (84 runs sampled)
|
||||
encode: source-map-0.8.0 x 191 ops/sec ±0.34% (90 runs sampled)
|
||||
Fastest is encode: @jridgewell/sourcemap-codec
|
||||
|
||||
|
||||
***
|
||||
|
||||
|
||||
babel.min.js.map - 347793 segments
|
||||
|
||||
Decode Memory Usage:
|
||||
@jridgewell/sourcemap-codec 35338184 bytes
|
||||
sourcemap-codec 35922736 bytes
|
||||
source-map-0.6.1 62366360 bytes
|
||||
source-map-0.8.0 44337416 bytes
|
||||
Smallest memory usage is @jridgewell/sourcemap-codec
|
||||
|
||||
Decode speed:
|
||||
decode: @jridgewell/sourcemap-codec x 40.35 ops/sec ±4.47% (54 runs sampled)
|
||||
decode: sourcemap-codec x 36.76 ops/sec ±3.67% (51 runs sampled)
|
||||
decode: source-map-0.6.1 x 4.44 ops/sec ±2.15% (16 runs sampled)
|
||||
decode: source-map-0.8.0 x 59.35 ops/sec ±0.05% (78 runs sampled)
|
||||
Fastest is decode: source-map-0.8.0
|
||||
|
||||
Encode Memory Usage:
|
||||
@jridgewell/sourcemap-codec 7212604 bytes
|
||||
sourcemap-codec 21421456 bytes
|
||||
source-map-0.6.1 25286888 bytes
|
||||
source-map-0.8.0 25498744 bytes
|
||||
Smallest memory usage is @jridgewell/sourcemap-codec
|
||||
|
||||
Encode speed:
|
||||
encode: @jridgewell/sourcemap-codec x 112 ops/sec ±0.13% (84 runs sampled)
|
||||
encode: sourcemap-codec x 30.23 ops/sec ±2.76% (53 runs sampled)
|
||||
encode: source-map-0.6.1 x 19.43 ops/sec ±3.70% (37 runs sampled)
|
||||
encode: source-map-0.8.0 x 19.40 ops/sec ±3.26% (37 runs sampled)
|
||||
Fastest is encode: @jridgewell/sourcemap-codec
|
||||
|
||||
|
||||
***
|
||||
|
||||
|
||||
preact.js.map - 1992 segments
|
||||
|
||||
Decode Memory Usage:
|
||||
@jridgewell/sourcemap-codec 500272 bytes
|
||||
sourcemap-codec 516864 bytes
|
||||
source-map-0.6.1 1596672 bytes
|
||||
source-map-0.8.0 517272 bytes
|
||||
Smallest memory usage is @jridgewell/sourcemap-codec
|
||||
|
||||
Decode speed:
|
||||
decode: @jridgewell/sourcemap-codec x 16,137 ops/sec ±0.17% (99 runs sampled)
|
||||
decode: sourcemap-codec x 12,139 ops/sec ±0.13% (99 runs sampled)
|
||||
decode: source-map-0.6.1 x 1,264 ops/sec ±0.12% (100 runs sampled)
|
||||
decode: source-map-0.8.0 x 9,894 ops/sec ±0.08% (101 runs sampled)
|
||||
Fastest is decode: @jridgewell/sourcemap-codec
|
||||
|
||||
Encode Memory Usage:
|
||||
@jridgewell/sourcemap-codec 321026 bytes
|
||||
sourcemap-codec 830832 bytes
|
||||
source-map-0.6.1 586608 bytes
|
||||
source-map-0.8.0 586680 bytes
|
||||
Smallest memory usage is @jridgewell/sourcemap-codec
|
||||
|
||||
Encode speed:
|
||||
encode: @jridgewell/sourcemap-codec x 19,876 ops/sec ±0.78% (95 runs sampled)
|
||||
encode: sourcemap-codec x 6,983 ops/sec ±0.15% (100 runs sampled)
|
||||
encode: source-map-0.6.1 x 5,070 ops/sec ±0.12% (102 runs sampled)
|
||||
encode: source-map-0.8.0 x 5,641 ops/sec ±0.17% (100 runs sampled)
|
||||
Fastest is encode: @jridgewell/sourcemap-codec
|
||||
|
||||
|
||||
***
|
||||
|
||||
|
||||
react.js.map - 5726 segments
|
||||
|
||||
Decode Memory Usage:
|
||||
@jridgewell/sourcemap-codec 734848 bytes
|
||||
sourcemap-codec 954200 bytes
|
||||
source-map-0.6.1 2276432 bytes
|
||||
source-map-0.8.0 955488 bytes
|
||||
Smallest memory usage is @jridgewell/sourcemap-codec
|
||||
|
||||
Decode speed:
|
||||
decode: @jridgewell/sourcemap-codec x 5,723 ops/sec ±0.12% (98 runs sampled)
|
||||
decode: sourcemap-codec x 4,555 ops/sec ±0.09% (101 runs sampled)
|
||||
decode: source-map-0.6.1 x 437 ops/sec ±0.11% (93 runs sampled)
|
||||
decode: source-map-0.8.0 x 3,441 ops/sec ±0.15% (100 runs sampled)
|
||||
Fastest is decode: @jridgewell/sourcemap-codec
|
||||
|
||||
Encode Memory Usage:
|
||||
@jridgewell/sourcemap-codec 638672 bytes
|
||||
sourcemap-codec 1109840 bytes
|
||||
source-map-0.6.1 1321224 bytes
|
||||
source-map-0.8.0 1324448 bytes
|
||||
Smallest memory usage is @jridgewell/sourcemap-codec
|
||||
|
||||
Encode speed:
|
||||
encode: @jridgewell/sourcemap-codec x 6,801 ops/sec ±0.48% (98 runs sampled)
|
||||
encode: sourcemap-codec x 2,533 ops/sec ±0.13% (101 runs sampled)
|
||||
encode: source-map-0.6.1 x 2,248 ops/sec ±0.08% (100 runs sampled)
|
||||
encode: source-map-0.8.0 x 2,303 ops/sec ±0.15% (100 runs sampled)
|
||||
Fastest is encode: @jridgewell/sourcemap-codec
|
||||
```
|
||||
|
||||
# License
|
||||
|
||||
MIT
|
164
node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs
generated
vendored
164
node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs
generated
vendored
|
@ -1,164 +0,0 @@
|
|||
const comma = ','.charCodeAt(0);
|
||||
const semicolon = ';'.charCodeAt(0);
|
||||
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
||||
const intToChar = new Uint8Array(64); // 64 possible chars.
|
||||
const charToInt = new Uint8Array(128); // z is 122 in ASCII
|
||||
for (let i = 0; i < chars.length; i++) {
|
||||
const c = chars.charCodeAt(i);
|
||||
intToChar[i] = c;
|
||||
charToInt[c] = i;
|
||||
}
|
||||
// Provide a fallback for older environments.
|
||||
const td = typeof TextDecoder !== 'undefined'
|
||||
? /* #__PURE__ */ new TextDecoder()
|
||||
: typeof Buffer !== 'undefined'
|
||||
? {
|
||||
decode(buf) {
|
||||
const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);
|
||||
return out.toString();
|
||||
},
|
||||
}
|
||||
: {
|
||||
decode(buf) {
|
||||
let out = '';
|
||||
for (let i = 0; i < buf.length; i++) {
|
||||
out += String.fromCharCode(buf[i]);
|
||||
}
|
||||
return out;
|
||||
},
|
||||
};
|
||||
function decode(mappings) {
|
||||
const state = new Int32Array(5);
|
||||
const decoded = [];
|
||||
let index = 0;
|
||||
do {
|
||||
const semi = indexOf(mappings, index);
|
||||
const line = [];
|
||||
let sorted = true;
|
||||
let lastCol = 0;
|
||||
state[0] = 0;
|
||||
for (let i = index; i < semi; i++) {
|
||||
let seg;
|
||||
i = decodeInteger(mappings, i, state, 0); // genColumn
|
||||
const col = state[0];
|
||||
if (col < lastCol)
|
||||
sorted = false;
|
||||
lastCol = col;
|
||||
if (hasMoreVlq(mappings, i, semi)) {
|
||||
i = decodeInteger(mappings, i, state, 1); // sourcesIndex
|
||||
i = decodeInteger(mappings, i, state, 2); // sourceLine
|
||||
i = decodeInteger(mappings, i, state, 3); // sourceColumn
|
||||
if (hasMoreVlq(mappings, i, semi)) {
|
||||
i = decodeInteger(mappings, i, state, 4); // namesIndex
|
||||
seg = [col, state[1], state[2], state[3], state[4]];
|
||||
}
|
||||
else {
|
||||
seg = [col, state[1], state[2], state[3]];
|
||||
}
|
||||
}
|
||||
else {
|
||||
seg = [col];
|
||||
}
|
||||
line.push(seg);
|
||||
}
|
||||
if (!sorted)
|
||||
sort(line);
|
||||
decoded.push(line);
|
||||
index = semi + 1;
|
||||
} while (index <= mappings.length);
|
||||
return decoded;
|
||||
}
|
||||
function indexOf(mappings, index) {
|
||||
const idx = mappings.indexOf(';', index);
|
||||
return idx === -1 ? mappings.length : idx;
|
||||
}
|
||||
function decodeInteger(mappings, pos, state, j) {
|
||||
let value = 0;
|
||||
let shift = 0;
|
||||
let integer = 0;
|
||||
do {
|
||||
const c = mappings.charCodeAt(pos++);
|
||||
integer = charToInt[c];
|
||||
value |= (integer & 31) << shift;
|
||||
shift += 5;
|
||||
} while (integer & 32);
|
||||
const shouldNegate = value & 1;
|
||||
value >>>= 1;
|
||||
if (shouldNegate) {
|
||||
value = -0x80000000 | -value;
|
||||
}
|
||||
state[j] += value;
|
||||
return pos;
|
||||
}
|
||||
function hasMoreVlq(mappings, i, length) {
|
||||
if (i >= length)
|
||||
return false;
|
||||
return mappings.charCodeAt(i) !== comma;
|
||||
}
|
||||
function sort(line) {
|
||||
line.sort(sortComparator);
|
||||
}
|
||||
function sortComparator(a, b) {
|
||||
return a[0] - b[0];
|
||||
}
|
||||
function encode(decoded) {
|
||||
const state = new Int32Array(5);
|
||||
const bufLength = 1024 * 16;
|
||||
const subLength = bufLength - 36;
|
||||
const buf = new Uint8Array(bufLength);
|
||||
const sub = buf.subarray(0, subLength);
|
||||
let pos = 0;
|
||||
let out = '';
|
||||
for (let i = 0; i < decoded.length; i++) {
|
||||
const line = decoded[i];
|
||||
if (i > 0) {
|
||||
if (pos === bufLength) {
|
||||
out += td.decode(buf);
|
||||
pos = 0;
|
||||
}
|
||||
buf[pos++] = semicolon;
|
||||
}
|
||||
if (line.length === 0)
|
||||
continue;
|
||||
state[0] = 0;
|
||||
for (let j = 0; j < line.length; j++) {
|
||||
const segment = line[j];
|
||||
// We can push up to 5 ints, each int can take at most 7 chars, and we
|
||||
// may push a comma.
|
||||
if (pos > subLength) {
|
||||
out += td.decode(sub);
|
||||
buf.copyWithin(0, subLength, pos);
|
||||
pos -= subLength;
|
||||
}
|
||||
if (j > 0)
|
||||
buf[pos++] = comma;
|
||||
pos = encodeInteger(buf, pos, state, segment, 0); // genColumn
|
||||
if (segment.length === 1)
|
||||
continue;
|
||||
pos = encodeInteger(buf, pos, state, segment, 1); // sourcesIndex
|
||||
pos = encodeInteger(buf, pos, state, segment, 2); // sourceLine
|
||||
pos = encodeInteger(buf, pos, state, segment, 3); // sourceColumn
|
||||
if (segment.length === 4)
|
||||
continue;
|
||||
pos = encodeInteger(buf, pos, state, segment, 4); // namesIndex
|
||||
}
|
||||
}
|
||||
return out + td.decode(buf.subarray(0, pos));
|
||||
}
|
||||
function encodeInteger(buf, pos, state, segment, j) {
|
||||
const next = segment[j];
|
||||
let num = next - state[j];
|
||||
state[j] = next;
|
||||
num = num < 0 ? (-num << 1) | 1 : num << 1;
|
||||
do {
|
||||
let clamped = num & 0b011111;
|
||||
num >>>= 5;
|
||||
if (num > 0)
|
||||
clamped |= 0b100000;
|
||||
buf[pos++] = intToChar[clamped];
|
||||
} while (num > 0);
|
||||
return pos;
|
||||
}
|
||||
|
||||
export { decode, encode };
|
||||
//# sourceMappingURL=sourcemap-codec.mjs.map
|
1
node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map
generated
vendored
1
node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map
generated
vendored
File diff suppressed because one or more lines are too long
175
node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js
generated
vendored
175
node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js
generated
vendored
|
@ -1,175 +0,0 @@
|
|||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
||||
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
||||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.sourcemapCodec = {}));
|
||||
})(this, (function (exports) { 'use strict';
|
||||
|
||||
const comma = ','.charCodeAt(0);
|
||||
const semicolon = ';'.charCodeAt(0);
|
||||
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
||||
const intToChar = new Uint8Array(64); // 64 possible chars.
|
||||
const charToInt = new Uint8Array(128); // z is 122 in ASCII
|
||||
for (let i = 0; i < chars.length; i++) {
|
||||
const c = chars.charCodeAt(i);
|
||||
intToChar[i] = c;
|
||||
charToInt[c] = i;
|
||||
}
|
||||
// Provide a fallback for older environments.
|
||||
const td = typeof TextDecoder !== 'undefined'
|
||||
? /* #__PURE__ */ new TextDecoder()
|
||||
: typeof Buffer !== 'undefined'
|
||||
? {
|
||||
decode(buf) {
|
||||
const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);
|
||||
return out.toString();
|
||||
},
|
||||
}
|
||||
: {
|
||||
decode(buf) {
|
||||
let out = '';
|
||||
for (let i = 0; i < buf.length; i++) {
|
||||
out += String.fromCharCode(buf[i]);
|
||||
}
|
||||
return out;
|
||||
},
|
||||
};
|
||||
function decode(mappings) {
|
||||
const state = new Int32Array(5);
|
||||
const decoded = [];
|
||||
let index = 0;
|
||||
do {
|
||||
const semi = indexOf(mappings, index);
|
||||
const line = [];
|
||||
let sorted = true;
|
||||
let lastCol = 0;
|
||||
state[0] = 0;
|
||||
for (let i = index; i < semi; i++) {
|
||||
let seg;
|
||||
i = decodeInteger(mappings, i, state, 0); // genColumn
|
||||
const col = state[0];
|
||||
if (col < lastCol)
|
||||
sorted = false;
|
||||
lastCol = col;
|
||||
if (hasMoreVlq(mappings, i, semi)) {
|
||||
i = decodeInteger(mappings, i, state, 1); // sourcesIndex
|
||||
i = decodeInteger(mappings, i, state, 2); // sourceLine
|
||||
i = decodeInteger(mappings, i, state, 3); // sourceColumn
|
||||
if (hasMoreVlq(mappings, i, semi)) {
|
||||
i = decodeInteger(mappings, i, state, 4); // namesIndex
|
||||
seg = [col, state[1], state[2], state[3], state[4]];
|
||||
}
|
||||
else {
|
||||
seg = [col, state[1], state[2], state[3]];
|
||||
}
|
||||
}
|
||||
else {
|
||||
seg = [col];
|
||||
}
|
||||
line.push(seg);
|
||||
}
|
||||
if (!sorted)
|
||||
sort(line);
|
||||
decoded.push(line);
|
||||
index = semi + 1;
|
||||
} while (index <= mappings.length);
|
||||
return decoded;
|
||||
}
|
||||
function indexOf(mappings, index) {
|
||||
const idx = mappings.indexOf(';', index);
|
||||
return idx === -1 ? mappings.length : idx;
|
||||
}
|
||||
function decodeInteger(mappings, pos, state, j) {
|
||||
let value = 0;
|
||||
let shift = 0;
|
||||
let integer = 0;
|
||||
do {
|
||||
const c = mappings.charCodeAt(pos++);
|
||||
integer = charToInt[c];
|
||||
value |= (integer & 31) << shift;
|
||||
shift += 5;
|
||||
} while (integer & 32);
|
||||
const shouldNegate = value & 1;
|
||||
value >>>= 1;
|
||||
if (shouldNegate) {
|
||||
value = -0x80000000 | -value;
|
||||
}
|
||||
state[j] += value;
|
||||
return pos;
|
||||
}
|
||||
function hasMoreVlq(mappings, i, length) {
|
||||
if (i >= length)
|
||||
return false;
|
||||
return mappings.charCodeAt(i) !== comma;
|
||||
}
|
||||
function sort(line) {
|
||||
line.sort(sortComparator);
|
||||
}
|
||||
function sortComparator(a, b) {
|
||||
return a[0] - b[0];
|
||||
}
|
||||
function encode(decoded) {
|
||||
const state = new Int32Array(5);
|
||||
const bufLength = 1024 * 16;
|
||||
const subLength = bufLength - 36;
|
||||
const buf = new Uint8Array(bufLength);
|
||||
const sub = buf.subarray(0, subLength);
|
||||
let pos = 0;
|
||||
let out = '';
|
||||
for (let i = 0; i < decoded.length; i++) {
|
||||
const line = decoded[i];
|
||||
if (i > 0) {
|
||||
if (pos === bufLength) {
|
||||
out += td.decode(buf);
|
||||
pos = 0;
|
||||
}
|
||||
buf[pos++] = semicolon;
|
||||
}
|
||||
if (line.length === 0)
|
||||
continue;
|
||||
state[0] = 0;
|
||||
for (let j = 0; j < line.length; j++) {
|
||||
const segment = line[j];
|
||||
// We can push up to 5 ints, each int can take at most 7 chars, and we
|
||||
// may push a comma.
|
||||
if (pos > subLength) {
|
||||
out += td.decode(sub);
|
||||
buf.copyWithin(0, subLength, pos);
|
||||
pos -= subLength;
|
||||
}
|
||||
if (j > 0)
|
||||
buf[pos++] = comma;
|
||||
pos = encodeInteger(buf, pos, state, segment, 0); // genColumn
|
||||
if (segment.length === 1)
|
||||
continue;
|
||||
pos = encodeInteger(buf, pos, state, segment, 1); // sourcesIndex
|
||||
pos = encodeInteger(buf, pos, state, segment, 2); // sourceLine
|
||||
pos = encodeInteger(buf, pos, state, segment, 3); // sourceColumn
|
||||
if (segment.length === 4)
|
||||
continue;
|
||||
pos = encodeInteger(buf, pos, state, segment, 4); // namesIndex
|
||||
}
|
||||
}
|
||||
return out + td.decode(buf.subarray(0, pos));
|
||||
}
|
||||
function encodeInteger(buf, pos, state, segment, j) {
|
||||
const next = segment[j];
|
||||
let num = next - state[j];
|
||||
state[j] = next;
|
||||
num = num < 0 ? (-num << 1) | 1 : num << 1;
|
||||
do {
|
||||
let clamped = num & 0b011111;
|
||||
num >>>= 5;
|
||||
if (num > 0)
|
||||
clamped |= 0b100000;
|
||||
buf[pos++] = intToChar[clamped];
|
||||
} while (num > 0);
|
||||
return pos;
|
||||
}
|
||||
|
||||
exports.decode = decode;
|
||||
exports.encode = encode;
|
||||
|
||||
Object.defineProperty(exports, '__esModule', { value: true });
|
||||
|
||||
}));
|
||||
//# sourceMappingURL=sourcemap-codec.umd.js.map
|
1
node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map
generated
vendored
1
node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map
generated
vendored
File diff suppressed because one or more lines are too long
6
node_modules/@jridgewell/sourcemap-codec/dist/types/sourcemap-codec.d.ts
generated
vendored
6
node_modules/@jridgewell/sourcemap-codec/dist/types/sourcemap-codec.d.ts
generated
vendored
|
@ -1,6 +0,0 @@
|
|||
export declare type SourceMapSegment = [number] | [number, number, number, number] | [number, number, number, number, number];
|
||||
export declare type SourceMapLine = SourceMapSegment[];
|
||||
export declare type SourceMapMappings = SourceMapLine[];
|
||||
export declare function decode(mappings: string): SourceMapMappings;
|
||||
export declare function encode(decoded: SourceMapMappings): string;
|
||||
export declare function encode(decoded: Readonly<SourceMapMappings>): string;
|
74
node_modules/@jridgewell/sourcemap-codec/package.json
generated
vendored
74
node_modules/@jridgewell/sourcemap-codec/package.json
generated
vendored
|
@ -1,74 +0,0 @@
|
|||
{
|
||||
"name": "@jridgewell/sourcemap-codec",
|
||||
"version": "1.4.15",
|
||||
"description": "Encode/decode sourcemap mappings",
|
||||
"keywords": [
|
||||
"sourcemap",
|
||||
"vlq"
|
||||
],
|
||||
"main": "dist/sourcemap-codec.umd.js",
|
||||
"module": "dist/sourcemap-codec.mjs",
|
||||
"types": "dist/types/sourcemap-codec.d.ts",
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"exports": {
|
||||
".": [
|
||||
{
|
||||
"types": "./dist/types/sourcemap-codec.d.ts",
|
||||
"browser": "./dist/sourcemap-codec.umd.js",
|
||||
"require": "./dist/sourcemap-codec.umd.js",
|
||||
"import": "./dist/sourcemap-codec.mjs"
|
||||
},
|
||||
"./dist/sourcemap-codec.umd.js"
|
||||
],
|
||||
"./package.json": "./package.json"
|
||||
},
|
||||
"scripts": {
|
||||
"benchmark": "run-s build:rollup benchmark:*",
|
||||
"benchmark:install": "cd benchmark && npm install",
|
||||
"benchmark:only": "node --expose-gc benchmark/index.js",
|
||||
"build": "run-s -n build:*",
|
||||
"build:rollup": "rollup -c rollup.config.js",
|
||||
"build:ts": "tsc --project tsconfig.build.json",
|
||||
"lint": "run-s -n lint:*",
|
||||
"lint:prettier": "npm run test:lint:prettier -- --write",
|
||||
"lint:ts": "npm run test:lint:ts -- --fix",
|
||||
"prebuild": "rm -rf dist",
|
||||
"prepublishOnly": "npm run preversion",
|
||||
"preversion": "run-s test build",
|
||||
"pretest": "run-s build:rollup",
|
||||
"test": "run-s -n test:lint test:only",
|
||||
"test:debug": "mocha --inspect-brk",
|
||||
"test:lint": "run-s -n test:lint:*",
|
||||
"test:lint:prettier": "prettier --check '{src,test}/**/*.ts'",
|
||||
"test:lint:ts": "eslint '{src,test}/**/*.ts'",
|
||||
"test:only": "mocha",
|
||||
"test:coverage": "c8 mocha",
|
||||
"test:watch": "mocha --watch"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/jridgewell/sourcemap-codec.git"
|
||||
},
|
||||
"author": "Rich Harris",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@rollup/plugin-typescript": "8.3.0",
|
||||
"@types/node": "17.0.15",
|
||||
"@typescript-eslint/eslint-plugin": "5.10.0",
|
||||
"@typescript-eslint/parser": "5.10.0",
|
||||
"benchmark": "2.1.4",
|
||||
"c8": "7.11.2",
|
||||
"eslint": "8.7.0",
|
||||
"eslint-config-prettier": "8.3.0",
|
||||
"mocha": "9.2.0",
|
||||
"npm-run-all": "4.1.5",
|
||||
"prettier": "2.5.1",
|
||||
"rollup": "2.64.0",
|
||||
"source-map": "0.6.1",
|
||||
"source-map-js": "1.0.2",
|
||||
"sourcemap-codec": "1.4.8",
|
||||
"typescript": "4.5.4"
|
||||
}
|
||||
}
|
21
node_modules/@vitejs/plugin-vue/LICENSE
generated
vendored
21
node_modules/@vitejs/plugin-vue/LICENSE
generated
vendored
|
@ -1,21 +0,0 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2019-present, Yuxi (Evan) You and Vite contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
214
node_modules/@vitejs/plugin-vue/README.md
generated
vendored
214
node_modules/@vitejs/plugin-vue/README.md
generated
vendored
|
@ -1,214 +0,0 @@
|
|||
# @vitejs/plugin-vue [![npm](https://img.shields.io/npm/v/@vitejs/plugin-vue.svg)](https://npmjs.com/package/@vitejs/plugin-vue)
|
||||
|
||||
> Note: as of `vue` 3.2.13+ and `@vitejs/plugin-vue` 1.9.0+, `@vue/compiler-sfc` is no longer required as a peer dependency.
|
||||
|
||||
```js
|
||||
// vite.config.js
|
||||
import vue from '@vitejs/plugin-vue'
|
||||
|
||||
export default {
|
||||
plugins: [vue()],
|
||||
}
|
||||
```
|
||||
|
||||
For JSX / TSX support, [`@vitejs/plugin-vue-jsx`](https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue-jsx) is also needed.
|
||||
|
||||
## Options
|
||||
|
||||
```ts
|
||||
export interface Options {
|
||||
include?: string | RegExp | (string | RegExp)[]
|
||||
exclude?: string | RegExp | (string | RegExp)[]
|
||||
|
||||
isProduction?: boolean
|
||||
|
||||
// options to pass on to vue/compiler-sfc
|
||||
script?: Partial<
|
||||
Pick<
|
||||
SFCScriptCompileOptions,
|
||||
| 'babelParserPlugins'
|
||||
| 'globalTypeFiles'
|
||||
| 'defineModel'
|
||||
| 'propsDestructure'
|
||||
| 'fs'
|
||||
| 'reactivityTransform'
|
||||
>
|
||||
>
|
||||
|
||||
template?: Partial<
|
||||
Pick<
|
||||
SFCTemplateCompileOptions,
|
||||
| 'compiler'
|
||||
| 'compilerOptions'
|
||||
| 'preprocessOptions'
|
||||
| 'preprocessCustomRequire'
|
||||
| 'transformAssetUrls'
|
||||
>
|
||||
>
|
||||
style?: Partial<Pick<SFCStyleCompileOptions, 'trim'>>
|
||||
|
||||
/**
|
||||
* Transform Vue SFCs into custom elements.
|
||||
* - `true`: all `*.vue` imports are converted into custom elements
|
||||
* - `string | RegExp`: matched files are converted into custom elements
|
||||
*
|
||||
* @default /\.ce\.vue$/
|
||||
*/
|
||||
customElement?: boolean | string | RegExp | (string | RegExp)[]
|
||||
|
||||
/**
|
||||
* Enable Vue reactivity transform (experimental).
|
||||
* https://vuejs.org/guide/extras/reactivity-transform.html
|
||||
* - `true`: transform will be enabled for all vue,js(x),ts(x) files except
|
||||
* those inside node_modules
|
||||
* - `string | RegExp`: apply to vue + only matched files (will include
|
||||
* node_modules, so specify directories if necessary)
|
||||
* - `false`: disable in all cases
|
||||
*
|
||||
* @default false
|
||||
*/
|
||||
reactivityTransform?: boolean | string | RegExp | (string | RegExp)[]
|
||||
|
||||
/**
|
||||
* Use custom compiler-sfc instance. Can be used to force a specific version.
|
||||
*/
|
||||
compiler?: typeof _compiler
|
||||
}
|
||||
```
|
||||
|
||||
## Asset URL handling
|
||||
|
||||
When `@vitejs/plugin-vue` compiles the `<template>` blocks in SFCs, it also converts any encountered asset URLs into ESM imports.
|
||||
|
||||
For example, the following template snippet:
|
||||
|
||||
```vue
|
||||
<img src="../image.png" />
|
||||
```
|
||||
|
||||
Is the same as:
|
||||
|
||||
```vue
|
||||
<script setup>
|
||||
import _imports_0 from '../image.png'
|
||||
</script>
|
||||
|
||||
<img :src="_imports_0" />
|
||||
```
|
||||
|
||||
By default the following tag/attribute combinations are transformed, and can be configured using the `template.transformAssetUrls` option.
|
||||
|
||||
```js
|
||||
{
|
||||
video: ['src', 'poster'],
|
||||
source: ['src'],
|
||||
img: ['src'],
|
||||
image: ['xlink:href', 'href'],
|
||||
use: ['xlink:href', 'href']
|
||||
}
|
||||
```
|
||||
|
||||
Note that only attribute values that are static strings are transformed. Otherwise, you'd need to import the asset manually, e.g. `import imgUrl from '../image.png'`.
|
||||
|
||||
## Example for passing options to `vue/compiler-sfc`:
|
||||
|
||||
```ts
|
||||
import vue from '@vitejs/plugin-vue'
|
||||
|
||||
export default {
|
||||
plugins: [
|
||||
vue({
|
||||
template: {
|
||||
compilerOptions: {
|
||||
// ...
|
||||
},
|
||||
transformAssetUrls: {
|
||||
// ...
|
||||
},
|
||||
},
|
||||
}),
|
||||
],
|
||||
}
|
||||
```
|
||||
|
||||
## Example for transforming custom blocks
|
||||
|
||||
```ts
|
||||
import vue from '@vitejs/plugin-vue'
|
||||
import yaml from 'js-yaml'
|
||||
|
||||
const vueI18nPlugin = {
|
||||
name: 'vue-i18n',
|
||||
transform(code, id) {
|
||||
// if .vue file don't have <i18n> block, just return
|
||||
if (!/vue&type=i18n/.test(id)) {
|
||||
return
|
||||
}
|
||||
// parse yaml
|
||||
if (/\.ya?ml$/.test(id)) {
|
||||
code = JSON.stringify(yaml.load(code.trim()))
|
||||
}
|
||||
// mount the value on the i18n property of the component instance
|
||||
return `export default Comp => {
|
||||
Comp.i18n = ${code}
|
||||
}`
|
||||
},
|
||||
}
|
||||
|
||||
export default {
|
||||
plugins: [vue(), vueI18nPlugin],
|
||||
}
|
||||
```
|
||||
|
||||
Create a file named `Demo.vue`, add `lang="yaml"` to the `<i18n>` blocks, then you can use the syntax of `YAML`:
|
||||
|
||||
```vue
|
||||
<template>Hello</template>
|
||||
|
||||
<i18n lang="yaml">
|
||||
message: 'world'
|
||||
fullWord: 'hello world'
|
||||
</i18n>
|
||||
```
|
||||
|
||||
`message` is mounted on the i18n property of the component instance, you can use like this:
|
||||
|
||||
```vue
|
||||
<script setup lang="ts">
|
||||
import Demo from 'components/Demo.vue'
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<Demo /> {{ Demo.i18n.message }}
|
||||
<div>{{ Demo.i18n.fullWord }}</div>
|
||||
</template>
|
||||
```
|
||||
|
||||
## Using Vue SFCs as Custom Elements
|
||||
|
||||
> Requires `vue@^3.2.0` & `@vitejs/plugin-vue@^1.4.0`
|
||||
|
||||
Vue 3.2 introduces the `defineCustomElement` method, which works with SFCs. By default, `<style>` tags inside SFCs are extracted and merged into CSS files during build. However when shipping a library of custom elements, it may be desirable to inline the styles as JavaScript strings and inject them into the custom elements' shadow root instead.
|
||||
|
||||
Starting in 1.4.0, files ending with `*.ce.vue` will be compiled in "custom elements" mode: its `<style>` tags are compiled into inlined CSS strings and attached to the component as its `styles` property:
|
||||
|
||||
```js
|
||||
import { defineCustomElement } from 'vue'
|
||||
import Example from './Example.ce.vue'
|
||||
|
||||
console.log(Example.styles) // ['/* css content */']
|
||||
|
||||
// register
|
||||
customElements.define('my-example', defineCustomElement(Example))
|
||||
```
|
||||
|
||||
Note in custom elements mode there is no need to use `<style scoped>` since the CSS is already scoped inside the shadow DOM.
|
||||
|
||||
The `customElement` plugin option can be used to configure the behavior:
|
||||
|
||||
- `{ customElement: true }` will import all `*.vue` files in custom element mode.
|
||||
- Use a string or regex pattern to change how files should be loaded as Custom Elements (this check is applied after `include` and `exclude` matches).
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
2843
node_modules/@vitejs/plugin-vue/dist/index.cjs
generated
vendored
2843
node_modules/@vitejs/plugin-vue/dist/index.cjs
generated
vendored
File diff suppressed because it is too large
Load diff
62
node_modules/@vitejs/plugin-vue/dist/index.d.cts
generated
vendored
62
node_modules/@vitejs/plugin-vue/dist/index.d.cts
generated
vendored
|
@ -1,62 +0,0 @@
|
|||
import { ViteDevServer, Plugin } from 'vite';
|
||||
import * as _compiler from 'vue/compiler-sfc';
|
||||
import { SFCScriptCompileOptions, SFCTemplateCompileOptions, SFCStyleCompileOptions } from 'vue/compiler-sfc';
|
||||
|
||||
interface VueQuery {
|
||||
vue?: boolean;
|
||||
src?: string;
|
||||
type?: 'script' | 'template' | 'style' | 'custom';
|
||||
index?: number;
|
||||
lang?: string;
|
||||
raw?: boolean;
|
||||
url?: boolean;
|
||||
scoped?: boolean;
|
||||
}
|
||||
declare function parseVueRequest(id: string): {
|
||||
filename: string;
|
||||
query: VueQuery;
|
||||
};
|
||||
|
||||
interface Options {
|
||||
include?: string | RegExp | (string | RegExp)[];
|
||||
exclude?: string | RegExp | (string | RegExp)[];
|
||||
isProduction?: boolean;
|
||||
script?: Partial<Pick<SFCScriptCompileOptions, 'babelParserPlugins' | 'globalTypeFiles' | 'defineModel' | 'propsDestructure' | 'fs' | 'reactivityTransform' | 'hoistStatic'>>;
|
||||
template?: Partial<Pick<SFCTemplateCompileOptions, 'compiler' | 'compilerOptions' | 'preprocessOptions' | 'preprocessCustomRequire' | 'transformAssetUrls'>>;
|
||||
style?: Partial<Pick<SFCStyleCompileOptions, 'trim'>>;
|
||||
/**
|
||||
* Transform Vue SFCs into custom elements.
|
||||
* - `true`: all `*.vue` imports are converted into custom elements
|
||||
* - `string | RegExp`: matched files are converted into custom elements
|
||||
*
|
||||
* @default /\.ce\.vue$/
|
||||
*/
|
||||
customElement?: boolean | string | RegExp | (string | RegExp)[];
|
||||
/**
|
||||
* Enable Vue reactivity transform (experimental).
|
||||
* https://vuejs.org/guide/extras/reactivity-transform.html
|
||||
* - `true`: transform will be enabled for all vue,js(x),ts(x) files except
|
||||
* those inside node_modules
|
||||
* - `string | RegExp`: apply to vue + only matched files (will include
|
||||
* node_modules, so specify directories if necessary)
|
||||
* - `false`: disable in all cases
|
||||
*
|
||||
* @default false
|
||||
*/
|
||||
reactivityTransform?: boolean | string | RegExp | (string | RegExp)[];
|
||||
/**
|
||||
* Use custom compiler-sfc instance. Can be used to force a specific version.
|
||||
*/
|
||||
compiler?: typeof _compiler;
|
||||
}
|
||||
interface ResolvedOptions extends Options {
|
||||
compiler: typeof _compiler;
|
||||
root: string;
|
||||
sourceMap: boolean;
|
||||
cssDevSourcemap: boolean;
|
||||
devServer?: ViteDevServer;
|
||||
devToolsEnabled?: boolean;
|
||||
}
|
||||
declare function vuePlugin(rawOptions?: Options): Plugin;
|
||||
|
||||
export { Options, ResolvedOptions, VueQuery, vuePlugin as default, parseVueRequest };
|
62
node_modules/@vitejs/plugin-vue/dist/index.d.mts
generated
vendored
62
node_modules/@vitejs/plugin-vue/dist/index.d.mts
generated
vendored
|
@ -1,62 +0,0 @@
|
|||
import { ViteDevServer, Plugin } from 'vite';
|
||||
import * as _compiler from 'vue/compiler-sfc';
|
||||
import { SFCScriptCompileOptions, SFCTemplateCompileOptions, SFCStyleCompileOptions } from 'vue/compiler-sfc';
|
||||
|
||||
interface VueQuery {
|
||||
vue?: boolean;
|
||||
src?: string;
|
||||
type?: 'script' | 'template' | 'style' | 'custom';
|
||||
index?: number;
|
||||
lang?: string;
|
||||
raw?: boolean;
|
||||
url?: boolean;
|
||||
scoped?: boolean;
|
||||
}
|
||||
declare function parseVueRequest(id: string): {
|
||||
filename: string;
|
||||
query: VueQuery;
|
||||
};
|
||||
|
||||
interface Options {
|
||||
include?: string | RegExp | (string | RegExp)[];
|
||||
exclude?: string | RegExp | (string | RegExp)[];
|
||||
isProduction?: boolean;
|
||||
script?: Partial<Pick<SFCScriptCompileOptions, 'babelParserPlugins' | 'globalTypeFiles' | 'defineModel' | 'propsDestructure' | 'fs' | 'reactivityTransform' | 'hoistStatic'>>;
|
||||
template?: Partial<Pick<SFCTemplateCompileOptions, 'compiler' | 'compilerOptions' | 'preprocessOptions' | 'preprocessCustomRequire' | 'transformAssetUrls'>>;
|
||||
style?: Partial<Pick<SFCStyleCompileOptions, 'trim'>>;
|
||||
/**
|
||||
* Transform Vue SFCs into custom elements.
|
||||
* - `true`: all `*.vue` imports are converted into custom elements
|
||||
* - `string | RegExp`: matched files are converted into custom elements
|
||||
*
|
||||
* @default /\.ce\.vue$/
|
||||
*/
|
||||
customElement?: boolean | string | RegExp | (string | RegExp)[];
|
||||
/**
|
||||
* Enable Vue reactivity transform (experimental).
|
||||
* https://vuejs.org/guide/extras/reactivity-transform.html
|
||||
* - `true`: transform will be enabled for all vue,js(x),ts(x) files except
|
||||
* those inside node_modules
|
||||
* - `string | RegExp`: apply to vue + only matched files (will include
|
||||
* node_modules, so specify directories if necessary)
|
||||
* - `false`: disable in all cases
|
||||
*
|
||||
* @default false
|
||||
*/
|
||||
reactivityTransform?: boolean | string | RegExp | (string | RegExp)[];
|
||||
/**
|
||||
* Use custom compiler-sfc instance. Can be used to force a specific version.
|
||||
*/
|
||||
compiler?: typeof _compiler;
|
||||
}
|
||||
interface ResolvedOptions extends Options {
|
||||
compiler: typeof _compiler;
|
||||
root: string;
|
||||
sourceMap: boolean;
|
||||
cssDevSourcemap: boolean;
|
||||
devServer?: ViteDevServer;
|
||||
devToolsEnabled?: boolean;
|
||||
}
|
||||
declare function vuePlugin(rawOptions?: Options): Plugin;
|
||||
|
||||
export { Options, ResolvedOptions, VueQuery, vuePlugin as default, parseVueRequest };
|
62
node_modules/@vitejs/plugin-vue/dist/index.d.ts
generated
vendored
62
node_modules/@vitejs/plugin-vue/dist/index.d.ts
generated
vendored
|
@ -1,62 +0,0 @@
|
|||
import { ViteDevServer, Plugin } from 'vite';
|
||||
import * as _compiler from 'vue/compiler-sfc';
|
||||
import { SFCScriptCompileOptions, SFCTemplateCompileOptions, SFCStyleCompileOptions } from 'vue/compiler-sfc';
|
||||
|
||||
interface VueQuery {
|
||||
vue?: boolean;
|
||||
src?: string;
|
||||
type?: 'script' | 'template' | 'style' | 'custom';
|
||||
index?: number;
|
||||
lang?: string;
|
||||
raw?: boolean;
|
||||
url?: boolean;
|
||||
scoped?: boolean;
|
||||
}
|
||||
declare function parseVueRequest(id: string): {
|
||||
filename: string;
|
||||
query: VueQuery;
|
||||
};
|
||||
|
||||
interface Options {
|
||||
include?: string | RegExp | (string | RegExp)[];
|
||||
exclude?: string | RegExp | (string | RegExp)[];
|
||||
isProduction?: boolean;
|
||||
script?: Partial<Pick<SFCScriptCompileOptions, 'babelParserPlugins' | 'globalTypeFiles' | 'defineModel' | 'propsDestructure' | 'fs' | 'reactivityTransform' | 'hoistStatic'>>;
|
||||
template?: Partial<Pick<SFCTemplateCompileOptions, 'compiler' | 'compilerOptions' | 'preprocessOptions' | 'preprocessCustomRequire' | 'transformAssetUrls'>>;
|
||||
style?: Partial<Pick<SFCStyleCompileOptions, 'trim'>>;
|
||||
/**
|
||||
* Transform Vue SFCs into custom elements.
|
||||
* - `true`: all `*.vue` imports are converted into custom elements
|
||||
* - `string | RegExp`: matched files are converted into custom elements
|
||||
*
|
||||
* @default /\.ce\.vue$/
|
||||
*/
|
||||
customElement?: boolean | string | RegExp | (string | RegExp)[];
|
||||
/**
|
||||
* Enable Vue reactivity transform (experimental).
|
||||
* https://vuejs.org/guide/extras/reactivity-transform.html
|
||||
* - `true`: transform will be enabled for all vue,js(x),ts(x) files except
|
||||
* those inside node_modules
|
||||
* - `string | RegExp`: apply to vue + only matched files (will include
|
||||
* node_modules, so specify directories if necessary)
|
||||
* - `false`: disable in all cases
|
||||
*
|
||||
* @default false
|
||||
*/
|
||||
reactivityTransform?: boolean | string | RegExp | (string | RegExp)[];
|
||||
/**
|
||||
* Use custom compiler-sfc instance. Can be used to force a specific version.
|
||||
*/
|
||||
compiler?: typeof _compiler;
|
||||
}
|
||||
interface ResolvedOptions extends Options {
|
||||
compiler: typeof _compiler;
|
||||
root: string;
|
||||
sourceMap: boolean;
|
||||
cssDevSourcemap: boolean;
|
||||
devServer?: ViteDevServer;
|
||||
devToolsEnabled?: boolean;
|
||||
}
|
||||
declare function vuePlugin(rawOptions?: Options): Plugin;
|
||||
|
||||
export { Options, ResolvedOptions, VueQuery, vuePlugin as default, parseVueRequest };
|
2830
node_modules/@vitejs/plugin-vue/dist/index.mjs
generated
vendored
2830
node_modules/@vitejs/plugin-vue/dist/index.mjs
generated
vendored
File diff suppressed because it is too large
Load diff
50
node_modules/@vitejs/plugin-vue/package.json
generated
vendored
50
node_modules/@vitejs/plugin-vue/package.json
generated
vendored
|
@ -1,50 +0,0 @@
|
|||
{
|
||||
"name": "@vitejs/plugin-vue",
|
||||
"version": "4.3.4",
|
||||
"license": "MIT",
|
||||
"author": "Evan You",
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.mjs",
|
||||
"types": "./dist/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"import": "./dist/index.mjs",
|
||||
"require": "./dist/index.cjs"
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
"dev": "unbuild --stub",
|
||||
"build": "unbuild && pnpm run patch-cjs",
|
||||
"patch-cjs": "tsx ../../scripts/patchCJS.ts",
|
||||
"prepublishOnly": "npm run build"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^14.18.0 || >=16.0.0"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vitejs/vite-plugin-vue.git",
|
||||
"directory": "packages/plugin-vue"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/vitejs/vite-plugin-vue/issues"
|
||||
},
|
||||
"homepage": "https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#readme",
|
||||
"peerDependencies": {
|
||||
"vite": "^4.0.0",
|
||||
"vue": "^3.2.25"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jridgewell/gen-mapping": "^0.3.3",
|
||||
"@jridgewell/trace-mapping": "^0.3.19",
|
||||
"debug": "^4.3.4",
|
||||
"rollup": "^3.17.2",
|
||||
"slash": "^5.1.0",
|
||||
"source-map": "^0.6.1",
|
||||
"vite": "^4.4.9",
|
||||
"vue": "^3.3.4"
|
||||
}
|
||||
}
|
21
node_modules/@vue/compiler-core/LICENSE
generated
vendored
21
node_modules/@vue/compiler-core/LICENSE
generated
vendored
|
@ -1,21 +0,0 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2018-present, Yuxi (Evan) You
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
1
node_modules/@vue/compiler-core/README.md
generated
vendored
1
node_modules/@vue/compiler-core/README.md
generated
vendored
|
@ -1 +0,0 @@
|
|||
# @vue/compiler-core
|
5486
node_modules/@vue/compiler-core/dist/compiler-core.cjs.js
generated
vendored
5486
node_modules/@vue/compiler-core/dist/compiler-core.cjs.js
generated
vendored
File diff suppressed because it is too large
Load diff
5355
node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js
generated
vendored
5355
node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js
generated
vendored
File diff suppressed because it is too large
Load diff
992
node_modules/@vue/compiler-core/dist/compiler-core.d.ts
generated
vendored
992
node_modules/@vue/compiler-core/dist/compiler-core.d.ts
generated
vendored
|
@ -1,992 +0,0 @@
|
|||
import { ParserPlugin } from '@babel/parser';
|
||||
import { RawSourceMap, SourceMapGenerator } from 'source-map-js';
|
||||
import { Node as Node$1, Identifier, Function, BlockStatement as BlockStatement$1, Program, ObjectProperty } from '@babel/types';
|
||||
export { generateCodeFrame } from '@vue/shared';
|
||||
|
||||
type OptionalOptions = 'whitespace' | 'isNativeTag' | 'isBuiltInComponent' | keyof CompilerCompatOptions;
|
||||
type MergedParserOptions = Omit<Required<ParserOptions>, OptionalOptions> & Pick<ParserOptions, OptionalOptions>;
|
||||
export declare const enum TextModes {
|
||||
DATA = 0,
|
||||
RCDATA = 1,
|
||||
RAWTEXT = 2,
|
||||
CDATA = 3,
|
||||
ATTRIBUTE_VALUE = 4
|
||||
}
|
||||
interface ParserContext {
|
||||
options: MergedParserOptions;
|
||||
readonly originalSource: string;
|
||||
source: string;
|
||||
offset: number;
|
||||
line: number;
|
||||
column: number;
|
||||
inPre: boolean;
|
||||
inVPre: boolean;
|
||||
onWarn: NonNullable<ErrorHandlingOptions['onWarn']>;
|
||||
}
|
||||
export declare function baseParse(content: string, options?: ParserOptions): RootNode;
|
||||
|
||||
type CompilerCompatConfig = Partial<Record<CompilerDeprecationTypes, boolean | 'suppress-warning'>> & {
|
||||
MODE?: 2 | 3;
|
||||
};
|
||||
interface CompilerCompatOptions {
|
||||
compatConfig?: CompilerCompatConfig;
|
||||
}
|
||||
export declare const enum CompilerDeprecationTypes {
|
||||
COMPILER_IS_ON_ELEMENT = "COMPILER_IS_ON_ELEMENT",
|
||||
COMPILER_V_BIND_SYNC = "COMPILER_V_BIND_SYNC",
|
||||
COMPILER_V_BIND_PROP = "COMPILER_V_BIND_PROP",
|
||||
COMPILER_V_BIND_OBJECT_ORDER = "COMPILER_V_BIND_OBJECT_ORDER",
|
||||
COMPILER_V_ON_NATIVE = "COMPILER_V_ON_NATIVE",
|
||||
COMPILER_V_IF_V_FOR_PRECEDENCE = "COMPILER_V_IF_V_FOR_PRECEDENCE",
|
||||
COMPILER_NATIVE_TEMPLATE = "COMPILER_NATIVE_TEMPLATE",
|
||||
COMPILER_INLINE_TEMPLATE = "COMPILER_INLINE_TEMPLATE",
|
||||
COMPILER_FILTERS = "COMPILER_FILTER"
|
||||
}
|
||||
export declare function checkCompatEnabled(key: CompilerDeprecationTypes, context: ParserContext | TransformContext, loc: SourceLocation | null, ...args: any[]): boolean;
|
||||
export declare function warnDeprecation(key: CompilerDeprecationTypes, context: ParserContext | TransformContext, loc: SourceLocation | null, ...args: any[]): void;
|
||||
|
||||
export type NodeTransform = (node: RootNode | TemplateChildNode, context: TransformContext) => void | (() => void) | (() => void)[];
|
||||
export type DirectiveTransform = (dir: DirectiveNode, node: ElementNode, context: TransformContext, augmentor?: (ret: DirectiveTransformResult) => DirectiveTransformResult) => DirectiveTransformResult;
|
||||
interface DirectiveTransformResult {
|
||||
props: Property[];
|
||||
needRuntime?: boolean | symbol;
|
||||
ssrTagParts?: TemplateLiteral['elements'];
|
||||
}
|
||||
export type StructuralDirectiveTransform = (node: ElementNode, dir: DirectiveNode, context: TransformContext) => void | (() => void);
|
||||
interface ImportItem {
|
||||
exp: string | ExpressionNode;
|
||||
path: string;
|
||||
}
|
||||
export interface TransformContext extends Required<Omit<TransformOptions, 'filename' | keyof CompilerCompatOptions>>, CompilerCompatOptions {
|
||||
selfName: string | null;
|
||||
root: RootNode;
|
||||
helpers: Map<symbol, number>;
|
||||
components: Set<string>;
|
||||
directives: Set<string>;
|
||||
hoists: (JSChildNode | null)[];
|
||||
imports: ImportItem[];
|
||||
temps: number;
|
||||
cached: number;
|
||||
identifiers: {
|
||||
[name: string]: number | undefined;
|
||||
};
|
||||
scopes: {
|
||||
vFor: number;
|
||||
vSlot: number;
|
||||
vPre: number;
|
||||
vOnce: number;
|
||||
};
|
||||
parent: ParentNode | null;
|
||||
childIndex: number;
|
||||
currentNode: RootNode | TemplateChildNode | null;
|
||||
inVOnce: boolean;
|
||||
helper<T extends symbol>(name: T): T;
|
||||
removeHelper<T extends symbol>(name: T): void;
|
||||
helperString(name: symbol): string;
|
||||
replaceNode(node: TemplateChildNode): void;
|
||||
removeNode(node?: TemplateChildNode): void;
|
||||
onNodeRemoved(): void;
|
||||
addIdentifiers(exp: ExpressionNode | string): void;
|
||||
removeIdentifiers(exp: ExpressionNode | string): void;
|
||||
hoist(exp: string | JSChildNode | ArrayExpression): SimpleExpressionNode;
|
||||
cache<T extends JSChildNode>(exp: T, isVNode?: boolean): CacheExpression | T;
|
||||
constantCache: Map<TemplateChildNode, ConstantTypes>;
|
||||
filters?: Set<string>;
|
||||
}
|
||||
export declare function createTransformContext(root: RootNode, { filename, prefixIdentifiers, hoistStatic, cacheHandlers, nodeTransforms, directiveTransforms, transformHoist, isBuiltInComponent, isCustomElement, expressionPlugins, scopeId, slotted, ssr, inSSR, ssrCssVars, bindingMetadata, inline, isTS, onError, onWarn, compatConfig }: TransformOptions): TransformContext;
|
||||
export declare function transform(root: RootNode, options: TransformOptions): void;
|
||||
export declare function traverseNode(node: RootNode | TemplateChildNode, context: TransformContext): void;
|
||||
export declare function createStructuralDirectiveTransform(name: string | RegExp, fn: StructuralDirectiveTransform): NodeTransform;
|
||||
|
||||
export declare function processFor(node: ElementNode, dir: DirectiveNode, context: TransformContext, processCodegen?: (forNode: ForNode) => (() => void) | undefined): (() => void) | undefined;
|
||||
interface ForParseResult {
|
||||
source: ExpressionNode;
|
||||
value: ExpressionNode | undefined;
|
||||
key: ExpressionNode | undefined;
|
||||
index: ExpressionNode | undefined;
|
||||
}
|
||||
export declare function createForLoopParams({ value, key, index }: ForParseResult, memoArgs?: ExpressionNode[]): ExpressionNode[];
|
||||
|
||||
export declare const FRAGMENT: unique symbol;
|
||||
export declare const TELEPORT: unique symbol;
|
||||
export declare const SUSPENSE: unique symbol;
|
||||
export declare const KEEP_ALIVE: unique symbol;
|
||||
export declare const BASE_TRANSITION: unique symbol;
|
||||
export declare const OPEN_BLOCK: unique symbol;
|
||||
export declare const CREATE_BLOCK: unique symbol;
|
||||
export declare const CREATE_ELEMENT_BLOCK: unique symbol;
|
||||
export declare const CREATE_VNODE: unique symbol;
|
||||
export declare const CREATE_ELEMENT_VNODE: unique symbol;
|
||||
export declare const CREATE_COMMENT: unique symbol;
|
||||
export declare const CREATE_TEXT: unique symbol;
|
||||
export declare const CREATE_STATIC: unique symbol;
|
||||
export declare const RESOLVE_COMPONENT: unique symbol;
|
||||
export declare const RESOLVE_DYNAMIC_COMPONENT: unique symbol;
|
||||
export declare const RESOLVE_DIRECTIVE: unique symbol;
|
||||
export declare const RESOLVE_FILTER: unique symbol;
|
||||
export declare const WITH_DIRECTIVES: unique symbol;
|
||||
export declare const RENDER_LIST: unique symbol;
|
||||
export declare const RENDER_SLOT: unique symbol;
|
||||
export declare const CREATE_SLOTS: unique symbol;
|
||||
export declare const TO_DISPLAY_STRING: unique symbol;
|
||||
export declare const MERGE_PROPS: unique symbol;
|
||||
export declare const NORMALIZE_CLASS: unique symbol;
|
||||
export declare const NORMALIZE_STYLE: unique symbol;
|
||||
export declare const NORMALIZE_PROPS: unique symbol;
|
||||
export declare const GUARD_REACTIVE_PROPS: unique symbol;
|
||||
export declare const TO_HANDLERS: unique symbol;
|
||||
export declare const CAMELIZE: unique symbol;
|
||||
export declare const CAPITALIZE: unique symbol;
|
||||
export declare const TO_HANDLER_KEY: unique symbol;
|
||||
export declare const SET_BLOCK_TRACKING: unique symbol;
|
||||
export declare const PUSH_SCOPE_ID: unique symbol;
|
||||
export declare const POP_SCOPE_ID: unique symbol;
|
||||
export declare const WITH_CTX: unique symbol;
|
||||
export declare const UNREF: unique symbol;
|
||||
export declare const IS_REF: unique symbol;
|
||||
export declare const WITH_MEMO: unique symbol;
|
||||
export declare const IS_MEMO_SAME: unique symbol;
|
||||
export declare const helperNameMap: Record<symbol, string>;
|
||||
export declare function registerRuntimeHelpers(helpers: Record<symbol, string>): void;
|
||||
|
||||
export declare const transformElement: NodeTransform;
|
||||
export declare function resolveComponentType(node: ComponentNode, context: TransformContext, ssr?: boolean): string | symbol | CallExpression;
|
||||
export type PropsExpression = ObjectExpression | CallExpression | ExpressionNode;
|
||||
export declare function buildProps(node: ElementNode, context: TransformContext, props: (DirectiveNode | AttributeNode)[] | undefined, isComponent: boolean, isDynamicComponent: boolean, ssr?: boolean): {
|
||||
props: PropsExpression | undefined;
|
||||
directives: DirectiveNode[];
|
||||
patchFlag: number;
|
||||
dynamicPropNames: string[];
|
||||
shouldUseBlock: boolean;
|
||||
};
|
||||
export declare function buildDirectiveArgs(dir: DirectiveNode, context: TransformContext): ArrayExpression;
|
||||
|
||||
export type Namespace = number;
|
||||
export declare const enum Namespaces {
|
||||
HTML = 0
|
||||
}
|
||||
export declare const enum NodeTypes {
|
||||
ROOT = 0,
|
||||
ELEMENT = 1,
|
||||
TEXT = 2,
|
||||
COMMENT = 3,
|
||||
SIMPLE_EXPRESSION = 4,
|
||||
INTERPOLATION = 5,
|
||||
ATTRIBUTE = 6,
|
||||
DIRECTIVE = 7,
|
||||
COMPOUND_EXPRESSION = 8,
|
||||
IF = 9,
|
||||
IF_BRANCH = 10,
|
||||
FOR = 11,
|
||||
TEXT_CALL = 12,
|
||||
VNODE_CALL = 13,
|
||||
JS_CALL_EXPRESSION = 14,
|
||||
JS_OBJECT_EXPRESSION = 15,
|
||||
JS_PROPERTY = 16,
|
||||
JS_ARRAY_EXPRESSION = 17,
|
||||
JS_FUNCTION_EXPRESSION = 18,
|
||||
JS_CONDITIONAL_EXPRESSION = 19,
|
||||
JS_CACHE_EXPRESSION = 20,
|
||||
JS_BLOCK_STATEMENT = 21,
|
||||
JS_TEMPLATE_LITERAL = 22,
|
||||
JS_IF_STATEMENT = 23,
|
||||
JS_ASSIGNMENT_EXPRESSION = 24,
|
||||
JS_SEQUENCE_EXPRESSION = 25,
|
||||
JS_RETURN_STATEMENT = 26
|
||||
}
|
||||
export declare const enum ElementTypes {
|
||||
ELEMENT = 0,
|
||||
COMPONENT = 1,
|
||||
SLOT = 2,
|
||||
TEMPLATE = 3
|
||||
}
|
||||
export interface Node {
|
||||
type: NodeTypes;
|
||||
loc: SourceLocation;
|
||||
}
|
||||
export interface SourceLocation {
|
||||
start: Position;
|
||||
end: Position;
|
||||
source: string;
|
||||
}
|
||||
export interface Position {
|
||||
offset: number;
|
||||
line: number;
|
||||
column: number;
|
||||
}
|
||||
export type ParentNode = RootNode | ElementNode | IfBranchNode | ForNode;
|
||||
export type ExpressionNode = SimpleExpressionNode | CompoundExpressionNode;
|
||||
export type TemplateChildNode = ElementNode | InterpolationNode | CompoundExpressionNode | TextNode | CommentNode | IfNode | IfBranchNode | ForNode | TextCallNode;
|
||||
export interface RootNode extends Node {
|
||||
type: NodeTypes.ROOT;
|
||||
children: TemplateChildNode[];
|
||||
helpers: Set<symbol>;
|
||||
components: string[];
|
||||
directives: string[];
|
||||
hoists: (JSChildNode | null)[];
|
||||
imports: ImportItem[];
|
||||
cached: number;
|
||||
temps: number;
|
||||
ssrHelpers?: symbol[];
|
||||
codegenNode?: TemplateChildNode | JSChildNode | BlockStatement;
|
||||
filters?: string[];
|
||||
}
|
||||
export type ElementNode = PlainElementNode | ComponentNode | SlotOutletNode | TemplateNode;
|
||||
export interface BaseElementNode extends Node {
|
||||
type: NodeTypes.ELEMENT;
|
||||
ns: Namespace;
|
||||
tag: string;
|
||||
tagType: ElementTypes;
|
||||
isSelfClosing: boolean;
|
||||
props: Array<AttributeNode | DirectiveNode>;
|
||||
children: TemplateChildNode[];
|
||||
}
|
||||
export interface PlainElementNode extends BaseElementNode {
|
||||
tagType: ElementTypes.ELEMENT;
|
||||
codegenNode: VNodeCall | SimpleExpressionNode | CacheExpression | MemoExpression | undefined;
|
||||
ssrCodegenNode?: TemplateLiteral;
|
||||
}
|
||||
export interface ComponentNode extends BaseElementNode {
|
||||
tagType: ElementTypes.COMPONENT;
|
||||
codegenNode: VNodeCall | CacheExpression | MemoExpression | undefined;
|
||||
ssrCodegenNode?: CallExpression;
|
||||
}
|
||||
export interface SlotOutletNode extends BaseElementNode {
|
||||
tagType: ElementTypes.SLOT;
|
||||
codegenNode: RenderSlotCall | CacheExpression | undefined;
|
||||
ssrCodegenNode?: CallExpression;
|
||||
}
|
||||
export interface TemplateNode extends BaseElementNode {
|
||||
tagType: ElementTypes.TEMPLATE;
|
||||
codegenNode: undefined;
|
||||
}
|
||||
export interface TextNode extends Node {
|
||||
type: NodeTypes.TEXT;
|
||||
content: string;
|
||||
}
|
||||
export interface CommentNode extends Node {
|
||||
type: NodeTypes.COMMENT;
|
||||
content: string;
|
||||
}
|
||||
export interface AttributeNode extends Node {
|
||||
type: NodeTypes.ATTRIBUTE;
|
||||
name: string;
|
||||
value: TextNode | undefined;
|
||||
}
|
||||
export interface DirectiveNode extends Node {
|
||||
type: NodeTypes.DIRECTIVE;
|
||||
name: string;
|
||||
exp: ExpressionNode | undefined;
|
||||
arg: ExpressionNode | undefined;
|
||||
modifiers: string[];
|
||||
/**
|
||||
* optional property to cache the expression parse result for v-for
|
||||
*/
|
||||
parseResult?: ForParseResult;
|
||||
}
|
||||
/**
|
||||
* Static types have several levels.
|
||||
* Higher levels implies lower levels. e.g. a node that can be stringified
|
||||
* can always be hoisted and skipped for patch.
|
||||
*/
|
||||
export declare const enum ConstantTypes {
|
||||
NOT_CONSTANT = 0,
|
||||
CAN_SKIP_PATCH = 1,
|
||||
CAN_HOIST = 2,
|
||||
CAN_STRINGIFY = 3
|
||||
}
|
||||
export interface SimpleExpressionNode extends Node {
|
||||
type: NodeTypes.SIMPLE_EXPRESSION;
|
||||
content: string;
|
||||
isStatic: boolean;
|
||||
constType: ConstantTypes;
|
||||
/**
|
||||
* Indicates this is an identifier for a hoist vnode call and points to the
|
||||
* hoisted node.
|
||||
*/
|
||||
hoisted?: JSChildNode;
|
||||
/**
|
||||
* an expression parsed as the params of a function will track
|
||||
* the identifiers declared inside the function body.
|
||||
*/
|
||||
identifiers?: string[];
|
||||
isHandlerKey?: boolean;
|
||||
}
|
||||
export interface InterpolationNode extends Node {
|
||||
type: NodeTypes.INTERPOLATION;
|
||||
content: ExpressionNode;
|
||||
}
|
||||
export interface CompoundExpressionNode extends Node {
|
||||
type: NodeTypes.COMPOUND_EXPRESSION;
|
||||
children: (SimpleExpressionNode | CompoundExpressionNode | InterpolationNode | TextNode | string | symbol)[];
|
||||
/**
|
||||
* an expression parsed as the params of a function will track
|
||||
* the identifiers declared inside the function body.
|
||||
*/
|
||||
identifiers?: string[];
|
||||
isHandlerKey?: boolean;
|
||||
}
|
||||
export interface IfNode extends Node {
|
||||
type: NodeTypes.IF;
|
||||
branches: IfBranchNode[];
|
||||
codegenNode?: IfConditionalExpression | CacheExpression;
|
||||
}
|
||||
export interface IfBranchNode extends Node {
|
||||
type: NodeTypes.IF_BRANCH;
|
||||
condition: ExpressionNode | undefined;
|
||||
children: TemplateChildNode[];
|
||||
userKey?: AttributeNode | DirectiveNode;
|
||||
isTemplateIf?: boolean;
|
||||
}
|
||||
export interface ForNode extends Node {
|
||||
type: NodeTypes.FOR;
|
||||
source: ExpressionNode;
|
||||
valueAlias: ExpressionNode | undefined;
|
||||
keyAlias: ExpressionNode | undefined;
|
||||
objectIndexAlias: ExpressionNode | undefined;
|
||||
parseResult: ForParseResult;
|
||||
children: TemplateChildNode[];
|
||||
codegenNode?: ForCodegenNode;
|
||||
}
|
||||
export interface TextCallNode extends Node {
|
||||
type: NodeTypes.TEXT_CALL;
|
||||
content: TextNode | InterpolationNode | CompoundExpressionNode;
|
||||
codegenNode: CallExpression | SimpleExpressionNode;
|
||||
}
|
||||
export type TemplateTextChildNode = TextNode | InterpolationNode | CompoundExpressionNode;
|
||||
export interface VNodeCall extends Node {
|
||||
type: NodeTypes.VNODE_CALL;
|
||||
tag: string | symbol | CallExpression;
|
||||
props: PropsExpression | undefined;
|
||||
children: TemplateChildNode[] | TemplateTextChildNode | SlotsExpression | ForRenderListExpression | SimpleExpressionNode | undefined;
|
||||
patchFlag: string | undefined;
|
||||
dynamicProps: string | SimpleExpressionNode | undefined;
|
||||
directives: DirectiveArguments | undefined;
|
||||
isBlock: boolean;
|
||||
disableTracking: boolean;
|
||||
isComponent: boolean;
|
||||
}
|
||||
export type JSChildNode = VNodeCall | CallExpression | ObjectExpression | ArrayExpression | ExpressionNode | FunctionExpression | ConditionalExpression | CacheExpression | AssignmentExpression | SequenceExpression;
|
||||
export interface CallExpression extends Node {
|
||||
type: NodeTypes.JS_CALL_EXPRESSION;
|
||||
callee: string | symbol;
|
||||
arguments: (string | symbol | JSChildNode | SSRCodegenNode | TemplateChildNode | TemplateChildNode[])[];
|
||||
}
|
||||
export interface ObjectExpression extends Node {
|
||||
type: NodeTypes.JS_OBJECT_EXPRESSION;
|
||||
properties: Array<Property>;
|
||||
}
|
||||
export interface Property extends Node {
|
||||
type: NodeTypes.JS_PROPERTY;
|
||||
key: ExpressionNode;
|
||||
value: JSChildNode;
|
||||
}
|
||||
export interface ArrayExpression extends Node {
|
||||
type: NodeTypes.JS_ARRAY_EXPRESSION;
|
||||
elements: Array<string | Node>;
|
||||
}
|
||||
export interface FunctionExpression extends Node {
|
||||
type: NodeTypes.JS_FUNCTION_EXPRESSION;
|
||||
params: ExpressionNode | string | (ExpressionNode | string)[] | undefined;
|
||||
returns?: TemplateChildNode | TemplateChildNode[] | JSChildNode;
|
||||
body?: BlockStatement | IfStatement;
|
||||
newline: boolean;
|
||||
/**
|
||||
* This flag is for codegen to determine whether it needs to generate the
|
||||
* withScopeId() wrapper
|
||||
*/
|
||||
isSlot: boolean;
|
||||
/**
|
||||
* __COMPAT__ only, indicates a slot function that should be excluded from
|
||||
* the legacy $scopedSlots instance property.
|
||||
*/
|
||||
isNonScopedSlot?: boolean;
|
||||
}
|
||||
export interface ConditionalExpression extends Node {
|
||||
type: NodeTypes.JS_CONDITIONAL_EXPRESSION;
|
||||
test: JSChildNode;
|
||||
consequent: JSChildNode;
|
||||
alternate: JSChildNode;
|
||||
newline: boolean;
|
||||
}
|
||||
export interface CacheExpression extends Node {
|
||||
type: NodeTypes.JS_CACHE_EXPRESSION;
|
||||
index: number;
|
||||
value: JSChildNode;
|
||||
isVNode: boolean;
|
||||
}
|
||||
export interface MemoExpression extends CallExpression {
|
||||
callee: typeof WITH_MEMO;
|
||||
arguments: [ExpressionNode, MemoFactory, string, string];
|
||||
}
|
||||
interface MemoFactory extends FunctionExpression {
|
||||
returns: BlockCodegenNode;
|
||||
}
|
||||
export type SSRCodegenNode = BlockStatement | TemplateLiteral | IfStatement | AssignmentExpression | ReturnStatement | SequenceExpression;
|
||||
export interface BlockStatement extends Node {
|
||||
type: NodeTypes.JS_BLOCK_STATEMENT;
|
||||
body: (JSChildNode | IfStatement)[];
|
||||
}
|
||||
export interface TemplateLiteral extends Node {
|
||||
type: NodeTypes.JS_TEMPLATE_LITERAL;
|
||||
elements: (string | JSChildNode)[];
|
||||
}
|
||||
export interface IfStatement extends Node {
|
||||
type: NodeTypes.JS_IF_STATEMENT;
|
||||
test: ExpressionNode;
|
||||
consequent: BlockStatement;
|
||||
alternate: IfStatement | BlockStatement | ReturnStatement | undefined;
|
||||
}
|
||||
export interface AssignmentExpression extends Node {
|
||||
type: NodeTypes.JS_ASSIGNMENT_EXPRESSION;
|
||||
left: SimpleExpressionNode;
|
||||
right: JSChildNode;
|
||||
}
|
||||
export interface SequenceExpression extends Node {
|
||||
type: NodeTypes.JS_SEQUENCE_EXPRESSION;
|
||||
expressions: JSChildNode[];
|
||||
}
|
||||
export interface ReturnStatement extends Node {
|
||||
type: NodeTypes.JS_RETURN_STATEMENT;
|
||||
returns: TemplateChildNode | TemplateChildNode[] | JSChildNode;
|
||||
}
|
||||
export interface DirectiveArguments extends ArrayExpression {
|
||||
elements: DirectiveArgumentNode[];
|
||||
}
|
||||
export interface DirectiveArgumentNode extends ArrayExpression {
|
||||
elements: [string] | [string, ExpressionNode] | [string, ExpressionNode, ExpressionNode] | [string, ExpressionNode, ExpressionNode, ObjectExpression];
|
||||
}
|
||||
export interface RenderSlotCall extends CallExpression {
|
||||
callee: typeof RENDER_SLOT;
|
||||
arguments: [string, string | ExpressionNode] | [string, string | ExpressionNode, PropsExpression] | [
|
||||
string,
|
||||
string | ExpressionNode,
|
||||
PropsExpression | '{}',
|
||||
TemplateChildNode[]
|
||||
];
|
||||
}
|
||||
export type SlotsExpression = SlotsObjectExpression | DynamicSlotsExpression;
|
||||
export interface SlotsObjectExpression extends ObjectExpression {
|
||||
properties: SlotsObjectProperty[];
|
||||
}
|
||||
export interface SlotsObjectProperty extends Property {
|
||||
value: SlotFunctionExpression;
|
||||
}
|
||||
export interface SlotFunctionExpression extends FunctionExpression {
|
||||
returns: TemplateChildNode[];
|
||||
}
|
||||
export interface DynamicSlotsExpression extends CallExpression {
|
||||
callee: typeof CREATE_SLOTS;
|
||||
arguments: [SlotsObjectExpression, DynamicSlotEntries];
|
||||
}
|
||||
export interface DynamicSlotEntries extends ArrayExpression {
|
||||
elements: (ConditionalDynamicSlotNode | ListDynamicSlotNode)[];
|
||||
}
|
||||
export interface ConditionalDynamicSlotNode extends ConditionalExpression {
|
||||
consequent: DynamicSlotNode;
|
||||
alternate: DynamicSlotNode | SimpleExpressionNode;
|
||||
}
|
||||
export interface ListDynamicSlotNode extends CallExpression {
|
||||
callee: typeof RENDER_LIST;
|
||||
arguments: [ExpressionNode, ListDynamicSlotIterator];
|
||||
}
|
||||
export interface ListDynamicSlotIterator extends FunctionExpression {
|
||||
returns: DynamicSlotNode;
|
||||
}
|
||||
export interface DynamicSlotNode extends ObjectExpression {
|
||||
properties: [Property, DynamicSlotFnProperty];
|
||||
}
|
||||
export interface DynamicSlotFnProperty extends Property {
|
||||
value: SlotFunctionExpression;
|
||||
}
|
||||
export type BlockCodegenNode = VNodeCall | RenderSlotCall;
|
||||
export interface IfConditionalExpression extends ConditionalExpression {
|
||||
consequent: BlockCodegenNode | MemoExpression;
|
||||
alternate: BlockCodegenNode | IfConditionalExpression | MemoExpression;
|
||||
}
|
||||
export interface ForCodegenNode extends VNodeCall {
|
||||
isBlock: true;
|
||||
tag: typeof FRAGMENT;
|
||||
props: undefined;
|
||||
children: ForRenderListExpression;
|
||||
patchFlag: string;
|
||||
disableTracking: boolean;
|
||||
}
|
||||
export interface ForRenderListExpression extends CallExpression {
|
||||
callee: typeof RENDER_LIST;
|
||||
arguments: [ExpressionNode, ForIteratorExpression];
|
||||
}
|
||||
export interface ForIteratorExpression extends FunctionExpression {
|
||||
returns: BlockCodegenNode;
|
||||
}
|
||||
export declare const locStub: SourceLocation;
|
||||
export declare function createRoot(children: TemplateChildNode[], loc?: SourceLocation): RootNode;
|
||||
export declare function createVNodeCall(context: TransformContext | null, tag: VNodeCall['tag'], props?: VNodeCall['props'], children?: VNodeCall['children'], patchFlag?: VNodeCall['patchFlag'], dynamicProps?: VNodeCall['dynamicProps'], directives?: VNodeCall['directives'], isBlock?: VNodeCall['isBlock'], disableTracking?: VNodeCall['disableTracking'], isComponent?: VNodeCall['isComponent'], loc?: SourceLocation): VNodeCall;
|
||||
export declare function createArrayExpression(elements: ArrayExpression['elements'], loc?: SourceLocation): ArrayExpression;
|
||||
export declare function createObjectExpression(properties: ObjectExpression['properties'], loc?: SourceLocation): ObjectExpression;
|
||||
export declare function createObjectProperty(key: Property['key'] | string, value: Property['value']): Property;
|
||||
export declare function createSimpleExpression(content: SimpleExpressionNode['content'], isStatic?: SimpleExpressionNode['isStatic'], loc?: SourceLocation, constType?: ConstantTypes): SimpleExpressionNode;
|
||||
export declare function createInterpolation(content: InterpolationNode['content'] | string, loc: SourceLocation): InterpolationNode;
|
||||
export declare function createCompoundExpression(children: CompoundExpressionNode['children'], loc?: SourceLocation): CompoundExpressionNode;
|
||||
type InferCodegenNodeType<T> = T extends typeof RENDER_SLOT ? RenderSlotCall : CallExpression;
|
||||
export declare function createCallExpression<T extends CallExpression['callee']>(callee: T, args?: CallExpression['arguments'], loc?: SourceLocation): InferCodegenNodeType<T>;
|
||||
export declare function createFunctionExpression(params: FunctionExpression['params'], returns?: FunctionExpression['returns'], newline?: boolean, isSlot?: boolean, loc?: SourceLocation): FunctionExpression;
|
||||
export declare function createConditionalExpression(test: ConditionalExpression['test'], consequent: ConditionalExpression['consequent'], alternate: ConditionalExpression['alternate'], newline?: boolean): ConditionalExpression;
|
||||
export declare function createCacheExpression(index: number, value: JSChildNode, isVNode?: boolean): CacheExpression;
|
||||
export declare function createBlockStatement(body: BlockStatement['body']): BlockStatement;
|
||||
export declare function createTemplateLiteral(elements: TemplateLiteral['elements']): TemplateLiteral;
|
||||
export declare function createIfStatement(test: IfStatement['test'], consequent: IfStatement['consequent'], alternate?: IfStatement['alternate']): IfStatement;
|
||||
export declare function createAssignmentExpression(left: AssignmentExpression['left'], right: AssignmentExpression['right']): AssignmentExpression;
|
||||
export declare function createSequenceExpression(expressions: SequenceExpression['expressions']): SequenceExpression;
|
||||
export declare function createReturnStatement(returns: ReturnStatement['returns']): ReturnStatement;
|
||||
export declare function getVNodeHelper(ssr: boolean, isComponent: boolean): typeof CREATE_VNODE | typeof CREATE_ELEMENT_VNODE;
|
||||
export declare function getVNodeBlockHelper(ssr: boolean, isComponent: boolean): typeof CREATE_BLOCK | typeof CREATE_ELEMENT_BLOCK;
|
||||
export declare function convertToBlock(node: VNodeCall, { helper, removeHelper, inSSR }: TransformContext): void;
|
||||
|
||||
export interface CompilerError extends SyntaxError {
|
||||
code: number | string;
|
||||
loc?: SourceLocation;
|
||||
}
|
||||
export interface CoreCompilerError extends CompilerError {
|
||||
code: ErrorCodes;
|
||||
}
|
||||
type InferCompilerError<T> = T extends ErrorCodes ? CoreCompilerError : CompilerError;
|
||||
export declare function createCompilerError<T extends number>(code: T, loc?: SourceLocation, messages?: {
|
||||
[code: number]: string;
|
||||
}, additionalMessage?: string): InferCompilerError<T>;
|
||||
export declare const enum ErrorCodes {
|
||||
ABRUPT_CLOSING_OF_EMPTY_COMMENT = 0,
|
||||
CDATA_IN_HTML_CONTENT = 1,
|
||||
DUPLICATE_ATTRIBUTE = 2,
|
||||
END_TAG_WITH_ATTRIBUTES = 3,
|
||||
END_TAG_WITH_TRAILING_SOLIDUS = 4,
|
||||
EOF_BEFORE_TAG_NAME = 5,
|
||||
EOF_IN_CDATA = 6,
|
||||
EOF_IN_COMMENT = 7,
|
||||
EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT = 8,
|
||||
EOF_IN_TAG = 9,
|
||||
INCORRECTLY_CLOSED_COMMENT = 10,
|
||||
INCORRECTLY_OPENED_COMMENT = 11,
|
||||
INVALID_FIRST_CHARACTER_OF_TAG_NAME = 12,
|
||||
MISSING_ATTRIBUTE_VALUE = 13,
|
||||
MISSING_END_TAG_NAME = 14,
|
||||
MISSING_WHITESPACE_BETWEEN_ATTRIBUTES = 15,
|
||||
NESTED_COMMENT = 16,
|
||||
UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME = 17,
|
||||
UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE = 18,
|
||||
UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME = 19,
|
||||
UNEXPECTED_NULL_CHARACTER = 20,
|
||||
UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME = 21,
|
||||
UNEXPECTED_SOLIDUS_IN_TAG = 22,
|
||||
X_INVALID_END_TAG = 23,
|
||||
X_MISSING_END_TAG = 24,
|
||||
X_MISSING_INTERPOLATION_END = 25,
|
||||
X_MISSING_DIRECTIVE_NAME = 26,
|
||||
X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END = 27,
|
||||
X_V_IF_NO_EXPRESSION = 28,
|
||||
X_V_IF_SAME_KEY = 29,
|
||||
X_V_ELSE_NO_ADJACENT_IF = 30,
|
||||
X_V_FOR_NO_EXPRESSION = 31,
|
||||
X_V_FOR_MALFORMED_EXPRESSION = 32,
|
||||
X_V_FOR_TEMPLATE_KEY_PLACEMENT = 33,
|
||||
X_V_BIND_NO_EXPRESSION = 34,
|
||||
X_V_ON_NO_EXPRESSION = 35,
|
||||
X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET = 36,
|
||||
X_V_SLOT_MIXED_SLOT_USAGE = 37,
|
||||
X_V_SLOT_DUPLICATE_SLOT_NAMES = 38,
|
||||
X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN = 39,
|
||||
X_V_SLOT_MISPLACED = 40,
|
||||
X_V_MODEL_NO_EXPRESSION = 41,
|
||||
X_V_MODEL_MALFORMED_EXPRESSION = 42,
|
||||
X_V_MODEL_ON_SCOPE_VARIABLE = 43,
|
||||
X_V_MODEL_ON_PROPS = 44,
|
||||
X_INVALID_EXPRESSION = 45,
|
||||
X_KEEP_ALIVE_INVALID_CHILDREN = 46,
|
||||
X_PREFIX_ID_NOT_SUPPORTED = 47,
|
||||
X_MODULE_MODE_NOT_SUPPORTED = 48,
|
||||
X_CACHE_HANDLER_NOT_SUPPORTED = 49,
|
||||
X_SCOPE_ID_NOT_SUPPORTED = 50,
|
||||
DEPRECATION_VNODE_HOOKS = 51,
|
||||
DEPRECATION_V_IS = 52,
|
||||
__EXTEND_POINT__ = 53
|
||||
}
|
||||
|
||||
interface ErrorHandlingOptions {
|
||||
onWarn?: (warning: CompilerError) => void;
|
||||
onError?: (error: CompilerError) => void;
|
||||
}
|
||||
export interface ParserOptions extends ErrorHandlingOptions, CompilerCompatOptions {
|
||||
/**
|
||||
* e.g. platform native elements, e.g. `<div>` for browsers
|
||||
*/
|
||||
isNativeTag?: (tag: string) => boolean;
|
||||
/**
|
||||
* e.g. native elements that can self-close, e.g. `<img>`, `<br>`, `<hr>`
|
||||
*/
|
||||
isVoidTag?: (tag: string) => boolean;
|
||||
/**
|
||||
* e.g. elements that should preserve whitespace inside, e.g. `<pre>`
|
||||
*/
|
||||
isPreTag?: (tag: string) => boolean;
|
||||
/**
|
||||
* Platform-specific built-in components e.g. `<Transition>`
|
||||
*/
|
||||
isBuiltInComponent?: (tag: string) => symbol | void;
|
||||
/**
|
||||
* Separate option for end users to extend the native elements list
|
||||
*/
|
||||
isCustomElement?: (tag: string) => boolean | void;
|
||||
/**
|
||||
* Get tag namespace
|
||||
*/
|
||||
getNamespace?: (tag: string, parent: ElementNode | undefined) => Namespace;
|
||||
/**
|
||||
* Get text parsing mode for this element
|
||||
*/
|
||||
getTextMode?: (node: ElementNode, parent: ElementNode | undefined) => TextModes;
|
||||
/**
|
||||
* @default ['{{', '}}']
|
||||
*/
|
||||
delimiters?: [string, string];
|
||||
/**
|
||||
* Whitespace handling strategy
|
||||
*/
|
||||
whitespace?: 'preserve' | 'condense';
|
||||
/**
|
||||
* Only needed for DOM compilers
|
||||
*/
|
||||
decodeEntities?: (rawText: string, asAttr: boolean) => string;
|
||||
/**
|
||||
* Whether to keep comments in the templates AST.
|
||||
* This defaults to `true` in development and `false` in production builds.
|
||||
*/
|
||||
comments?: boolean;
|
||||
}
|
||||
export type HoistTransform = (children: TemplateChildNode[], context: TransformContext, parent: ParentNode) => void;
|
||||
export declare const enum BindingTypes {
|
||||
/**
|
||||
* returned from data()
|
||||
*/
|
||||
DATA = "data",
|
||||
/**
|
||||
* declared as a prop
|
||||
*/
|
||||
PROPS = "props",
|
||||
/**
|
||||
* a local alias of a `<script setup>` destructured prop.
|
||||
* the original is stored in __propsAliases of the bindingMetadata object.
|
||||
*/
|
||||
PROPS_ALIASED = "props-aliased",
|
||||
/**
|
||||
* a let binding (may or may not be a ref)
|
||||
*/
|
||||
SETUP_LET = "setup-let",
|
||||
/**
|
||||
* a const binding that can never be a ref.
|
||||
* these bindings don't need `unref()` calls when processed in inlined
|
||||
* template expressions.
|
||||
*/
|
||||
SETUP_CONST = "setup-const",
|
||||
/**
|
||||
* a const binding that does not need `unref()`, but may be mutated.
|
||||
*/
|
||||
SETUP_REACTIVE_CONST = "setup-reactive-const",
|
||||
/**
|
||||
* a const binding that may be a ref.
|
||||
*/
|
||||
SETUP_MAYBE_REF = "setup-maybe-ref",
|
||||
/**
|
||||
* bindings that are guaranteed to be refs
|
||||
*/
|
||||
SETUP_REF = "setup-ref",
|
||||
/**
|
||||
* declared by other options, e.g. computed, inject
|
||||
*/
|
||||
OPTIONS = "options",
|
||||
/**
|
||||
* a literal constant, e.g. 'foo', 1, true
|
||||
*/
|
||||
LITERAL_CONST = "literal-const"
|
||||
}
|
||||
export type BindingMetadata = {
|
||||
[key: string]: BindingTypes | undefined;
|
||||
} & {
|
||||
__isScriptSetup?: boolean;
|
||||
__propsAliases?: Record<string, string>;
|
||||
};
|
||||
interface SharedTransformCodegenOptions {
|
||||
/**
|
||||
* Transform expressions like {{ foo }} to `_ctx.foo`.
|
||||
* If this option is false, the generated code will be wrapped in a
|
||||
* `with (this) { ... }` block.
|
||||
* - This is force-enabled in module mode, since modules are by default strict
|
||||
* and cannot use `with`
|
||||
* @default mode === 'module'
|
||||
*/
|
||||
prefixIdentifiers?: boolean;
|
||||
/**
|
||||
* Control whether generate SSR-optimized render functions instead.
|
||||
* The resulting function must be attached to the component via the
|
||||
* `ssrRender` option instead of `render`.
|
||||
*
|
||||
* When compiler generates code for SSR's fallback branch, we need to set it to false:
|
||||
* - context.ssr = false
|
||||
*
|
||||
* see `subTransform` in `ssrTransformComponent.ts`
|
||||
*/
|
||||
ssr?: boolean;
|
||||
/**
|
||||
* Indicates whether the compiler generates code for SSR,
|
||||
* it is always true when generating code for SSR,
|
||||
* regardless of whether we are generating code for SSR's fallback branch,
|
||||
* this means that when the compiler generates code for SSR's fallback branch:
|
||||
* - context.ssr = false
|
||||
* - context.inSSR = true
|
||||
*/
|
||||
inSSR?: boolean;
|
||||
/**
|
||||
* Optional binding metadata analyzed from script - used to optimize
|
||||
* binding access when `prefixIdentifiers` is enabled.
|
||||
*/
|
||||
bindingMetadata?: BindingMetadata;
|
||||
/**
|
||||
* Compile the function for inlining inside setup().
|
||||
* This allows the function to directly access setup() local bindings.
|
||||
*/
|
||||
inline?: boolean;
|
||||
/**
|
||||
* Indicates that transforms and codegen should try to output valid TS code
|
||||
*/
|
||||
isTS?: boolean;
|
||||
/**
|
||||
* Filename for source map generation.
|
||||
* Also used for self-recursive reference in templates
|
||||
* @default 'template.vue.html'
|
||||
*/
|
||||
filename?: string;
|
||||
}
|
||||
export interface TransformOptions extends SharedTransformCodegenOptions, ErrorHandlingOptions, CompilerCompatOptions {
|
||||
/**
|
||||
* An array of node transforms to be applied to every AST node.
|
||||
*/
|
||||
nodeTransforms?: NodeTransform[];
|
||||
/**
|
||||
* An object of { name: transform } to be applied to every directive attribute
|
||||
* node found on element nodes.
|
||||
*/
|
||||
directiveTransforms?: Record<string, DirectiveTransform | undefined>;
|
||||
/**
|
||||
* An optional hook to transform a node being hoisted.
|
||||
* used by compiler-dom to turn hoisted nodes into stringified HTML vnodes.
|
||||
* @default null
|
||||
*/
|
||||
transformHoist?: HoistTransform | null;
|
||||
/**
|
||||
* If the pairing runtime provides additional built-in elements, use this to
|
||||
* mark them as built-in so the compiler will generate component vnodes
|
||||
* for them.
|
||||
*/
|
||||
isBuiltInComponent?: (tag: string) => symbol | void;
|
||||
/**
|
||||
* Used by some transforms that expects only native elements
|
||||
*/
|
||||
isCustomElement?: (tag: string) => boolean | void;
|
||||
/**
|
||||
* Transform expressions like {{ foo }} to `_ctx.foo`.
|
||||
* If this option is false, the generated code will be wrapped in a
|
||||
* `with (this) { ... }` block.
|
||||
* - This is force-enabled in module mode, since modules are by default strict
|
||||
* and cannot use `with`
|
||||
* @default mode === 'module'
|
||||
*/
|
||||
prefixIdentifiers?: boolean;
|
||||
/**
|
||||
* Hoist static VNodes and props objects to `_hoisted_x` constants
|
||||
* @default false
|
||||
*/
|
||||
hoistStatic?: boolean;
|
||||
/**
|
||||
* Cache v-on handlers to avoid creating new inline functions on each render,
|
||||
* also avoids the need for dynamically patching the handlers by wrapping it.
|
||||
* e.g `@click="foo"` by default is compiled to `{ onClick: foo }`. With this
|
||||
* option it's compiled to:
|
||||
* ```js
|
||||
* { onClick: _cache[0] || (_cache[0] = e => _ctx.foo(e)) }
|
||||
* ```
|
||||
* - Requires "prefixIdentifiers" to be enabled because it relies on scope
|
||||
* analysis to determine if a handler is safe to cache.
|
||||
* @default false
|
||||
*/
|
||||
cacheHandlers?: boolean;
|
||||
/**
|
||||
* A list of parser plugins to enable for `@babel/parser`, which is used to
|
||||
* parse expressions in bindings and interpolations.
|
||||
* https://babeljs.io/docs/en/next/babel-parser#plugins
|
||||
*/
|
||||
expressionPlugins?: ParserPlugin[];
|
||||
/**
|
||||
* SFC scoped styles ID
|
||||
*/
|
||||
scopeId?: string | null;
|
||||
/**
|
||||
* Indicates this SFC template has used :slotted in its styles
|
||||
* Defaults to `true` for backwards compatibility - SFC tooling should set it
|
||||
* to `false` if no `:slotted` usage is detected in `<style>`
|
||||
*/
|
||||
slotted?: boolean;
|
||||
/**
|
||||
* SFC `<style vars>` injection string
|
||||
* Should already be an object expression, e.g. `{ 'xxxx-color': color }`
|
||||
* needed to render inline CSS variables on component root
|
||||
*/
|
||||
ssrCssVars?: string;
|
||||
}
|
||||
export interface CodegenOptions extends SharedTransformCodegenOptions {
|
||||
/**
|
||||
* - `module` mode will generate ES module import statements for helpers
|
||||
* and export the render function as the default export.
|
||||
* - `function` mode will generate a single `const { helpers... } = Vue`
|
||||
* statement and return the render function. It expects `Vue` to be globally
|
||||
* available (or passed by wrapping the code with an IIFE). It is meant to be
|
||||
* used with `new Function(code)()` to generate a render function at runtime.
|
||||
* @default 'function'
|
||||
*/
|
||||
mode?: 'module' | 'function';
|
||||
/**
|
||||
* Generate source map?
|
||||
* @default false
|
||||
*/
|
||||
sourceMap?: boolean;
|
||||
/**
|
||||
* SFC scoped styles ID
|
||||
*/
|
||||
scopeId?: string | null;
|
||||
/**
|
||||
* Option to optimize helper import bindings via variable assignment
|
||||
* (only used for webpack code-split)
|
||||
* @default false
|
||||
*/
|
||||
optimizeImports?: boolean;
|
||||
/**
|
||||
* Customize where to import runtime helpers from.
|
||||
* @default 'vue'
|
||||
*/
|
||||
runtimeModuleName?: string;
|
||||
/**
|
||||
* Customize where to import ssr runtime helpers from/**
|
||||
* @default 'vue/server-renderer'
|
||||
*/
|
||||
ssrRuntimeModuleName?: string;
|
||||
/**
|
||||
* Customize the global variable name of `Vue` to get helpers from
|
||||
* in function mode
|
||||
* @default 'Vue'
|
||||
*/
|
||||
runtimeGlobalName?: string;
|
||||
}
|
||||
export type CompilerOptions = ParserOptions & TransformOptions & CodegenOptions;
|
||||
|
||||
type CodegenNode = TemplateChildNode | JSChildNode | SSRCodegenNode;
|
||||
export interface CodegenResult {
|
||||
code: string;
|
||||
preamble: string;
|
||||
ast: RootNode;
|
||||
map?: RawSourceMap;
|
||||
}
|
||||
export interface CodegenContext extends Omit<Required<CodegenOptions>, 'bindingMetadata' | 'inline'> {
|
||||
source: string;
|
||||
code: string;
|
||||
line: number;
|
||||
column: number;
|
||||
offset: number;
|
||||
indentLevel: number;
|
||||
pure: boolean;
|
||||
map?: SourceMapGenerator;
|
||||
helper(key: symbol): string;
|
||||
push(code: string, node?: CodegenNode): void;
|
||||
indent(): void;
|
||||
deindent(withoutNewLine?: boolean): void;
|
||||
newline(): void;
|
||||
}
|
||||
export declare function generate(ast: RootNode, options?: CodegenOptions & {
|
||||
onContextCreated?: (context: CodegenContext) => void;
|
||||
}): CodegenResult;
|
||||
|
||||
export type TransformPreset = [
|
||||
NodeTransform[],
|
||||
Record<string, DirectiveTransform>
|
||||
];
|
||||
export declare function getBaseTransformPreset(prefixIdentifiers?: boolean): TransformPreset;
|
||||
export declare function baseCompile(template: string | RootNode, options?: CompilerOptions): CodegenResult;
|
||||
|
||||
export declare const isStaticExp: (p: JSChildNode) => p is SimpleExpressionNode;
|
||||
export declare const isBuiltInType: (tag: string, expected: string) => boolean;
|
||||
export declare function isCoreComponent(tag: string): symbol | void;
|
||||
export declare const isSimpleIdentifier: (name: string) => boolean;
|
||||
/**
|
||||
* Simple lexer to check if an expression is a member expression. This is
|
||||
* lax and only checks validity at the root level (i.e. does not validate exps
|
||||
* inside square brackets), but it's ok since these are only used on template
|
||||
* expressions and false positives are invalid expressions in the first place.
|
||||
*/
|
||||
export declare const isMemberExpressionBrowser: (path: string) => boolean;
|
||||
export declare const isMemberExpressionNode: (path: string, context: TransformContext) => boolean;
|
||||
export declare const isMemberExpression: (path: string, context: TransformContext) => boolean;
|
||||
export declare function getInnerRange(loc: SourceLocation, offset: number, length: number): SourceLocation;
|
||||
export declare function advancePositionWithClone(pos: Position, source: string, numberOfCharacters?: number): Position;
|
||||
export declare function advancePositionWithMutation(pos: Position, source: string, numberOfCharacters?: number): Position;
|
||||
export declare function assert(condition: boolean, msg?: string): void;
|
||||
export declare function findDir(node: ElementNode, name: string | RegExp, allowEmpty?: boolean): DirectiveNode | undefined;
|
||||
export declare function findProp(node: ElementNode, name: string, dynamicOnly?: boolean, allowEmpty?: boolean): ElementNode['props'][0] | undefined;
|
||||
export declare function isStaticArgOf(arg: DirectiveNode['arg'], name: string): boolean;
|
||||
export declare function hasDynamicKeyVBind(node: ElementNode): boolean;
|
||||
export declare function isText(node: TemplateChildNode): node is TextNode | InterpolationNode;
|
||||
export declare function isVSlot(p: ElementNode['props'][0]): p is DirectiveNode;
|
||||
export declare function isTemplateNode(node: RootNode | TemplateChildNode): node is TemplateNode;
|
||||
export declare function isSlotOutlet(node: RootNode | TemplateChildNode): node is SlotOutletNode;
|
||||
export declare function injectProp(node: VNodeCall | RenderSlotCall, prop: Property, context: TransformContext): void;
|
||||
export declare function toValidAssetId(name: string, type: 'component' | 'directive' | 'filter'): string;
|
||||
export declare function hasScopeRef(node: TemplateChildNode | IfBranchNode | ExpressionNode | undefined, ids: TransformContext['identifiers']): boolean;
|
||||
export declare function getMemoedVNodeCall(node: BlockCodegenNode | MemoExpression): VNodeCall | RenderSlotCall;
|
||||
|
||||
export declare function walkIdentifiers(root: Node$1, onIdentifier: (node: Identifier, parent: Node$1, parentStack: Node$1[], isReference: boolean, isLocal: boolean) => void, includeAll?: boolean, parentStack?: Node$1[], knownIds?: Record<string, number>): void;
|
||||
export declare function isReferencedIdentifier(id: Identifier, parent: Node$1 | null, parentStack: Node$1[]): boolean;
|
||||
export declare function isInDestructureAssignment(parent: Node$1, parentStack: Node$1[]): boolean;
|
||||
export declare function walkFunctionParams(node: Function, onIdent: (id: Identifier) => void): void;
|
||||
export declare function walkBlockDeclarations(block: BlockStatement$1 | Program, onIdent: (node: Identifier) => void): void;
|
||||
export declare function extractIdentifiers(param: Node$1, nodes?: Identifier[]): Identifier[];
|
||||
export declare const isFunctionType: (node: Node$1) => node is Function;
|
||||
export declare const isStaticProperty: (node: Node$1) => node is ObjectProperty;
|
||||
export declare const isStaticPropertyKey: (node: Node$1, parent: Node$1) => boolean;
|
||||
export declare const TS_NODE_TYPES: string[];
|
||||
|
||||
export declare const transformModel: DirectiveTransform;
|
||||
|
||||
export declare const transformOn: DirectiveTransform;
|
||||
|
||||
export declare const transformBind: DirectiveTransform;
|
||||
|
||||
export declare const noopDirectiveTransform: DirectiveTransform;
|
||||
|
||||
export declare function processIf(node: ElementNode, dir: DirectiveNode, context: TransformContext, processCodegen?: (node: IfNode, branch: IfBranchNode, isRoot: boolean) => (() => void) | undefined): (() => void) | undefined;
|
||||
|
||||
export declare const transformExpression: NodeTransform;
|
||||
export declare function processExpression(node: SimpleExpressionNode, context: TransformContext, asParams?: boolean, asRawStatements?: boolean, localVars?: Record<string, number>): ExpressionNode;
|
||||
export declare function stringifyExpression(exp: ExpressionNode | string): string;
|
||||
|
||||
export declare const trackSlotScopes: NodeTransform;
|
||||
export declare const trackVForSlotScopes: NodeTransform;
|
||||
export type SlotFnBuilder = (slotProps: ExpressionNode | undefined, slotChildren: TemplateChildNode[], loc: SourceLocation) => FunctionExpression;
|
||||
export declare function buildSlots(node: ElementNode, context: TransformContext, buildSlotFn?: SlotFnBuilder): {
|
||||
slots: SlotsExpression;
|
||||
hasDynamicSlots: boolean;
|
||||
};
|
||||
|
||||
interface SlotOutletProcessResult {
|
||||
slotName: string | ExpressionNode;
|
||||
slotProps: PropsExpression | undefined;
|
||||
}
|
||||
export declare function processSlotOutlet(node: SlotOutletNode, context: TransformContext): SlotOutletProcessResult;
|
||||
|
||||
export declare function getConstantType(node: TemplateChildNode | SimpleExpressionNode, context: TransformContext): ConstantTypes;
|
||||
|
4699
node_modules/@vue/compiler-core/dist/compiler-core.esm-bundler.js
generated
vendored
4699
node_modules/@vue/compiler-core/dist/compiler-core.esm-bundler.js
generated
vendored
File diff suppressed because it is too large
Load diff
7
node_modules/@vue/compiler-core/index.js
generated
vendored
7
node_modules/@vue/compiler-core/index.js
generated
vendored
|
@ -1,7 +0,0 @@
|
|||
'use strict'
|
||||
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
module.exports = require('./dist/compiler-core.cjs.prod.js')
|
||||
} else {
|
||||
module.exports = require('./dist/compiler-core.cjs.js')
|
||||
}
|
43
node_modules/@vue/compiler-core/package.json
generated
vendored
43
node_modules/@vue/compiler-core/package.json
generated
vendored
|
@ -1,43 +0,0 @@
|
|||
{
|
||||
"name": "@vue/compiler-core",
|
||||
"version": "3.3.4",
|
||||
"description": "@vue/compiler-core",
|
||||
"main": "index.js",
|
||||
"module": "dist/compiler-core.esm-bundler.js",
|
||||
"types": "dist/compiler-core.d.ts",
|
||||
"files": [
|
||||
"index.js",
|
||||
"dist"
|
||||
],
|
||||
"buildOptions": {
|
||||
"name": "VueCompilerCore",
|
||||
"compat": true,
|
||||
"formats": [
|
||||
"esm-bundler",
|
||||
"cjs"
|
||||
]
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/core.git",
|
||||
"directory": "packages/compiler-core"
|
||||
},
|
||||
"keywords": [
|
||||
"vue"
|
||||
],
|
||||
"author": "Evan You",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/vuejs/core/issues"
|
||||
},
|
||||
"homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-core#readme",
|
||||
"dependencies": {
|
||||
"@babel/parser": "^7.21.3",
|
||||
"@vue/shared": "3.3.4",
|
||||
"estree-walker": "^2.0.2",
|
||||
"source-map-js": "^1.0.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/types": "^7.21.3"
|
||||
}
|
||||
}
|
21
node_modules/@vue/compiler-dom/LICENSE
generated
vendored
21
node_modules/@vue/compiler-dom/LICENSE
generated
vendored
|
@ -1,21 +0,0 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2018-present, Yuxi (Evan) You
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
1
node_modules/@vue/compiler-dom/README.md
generated
vendored
1
node_modules/@vue/compiler-dom/README.md
generated
vendored
|
@ -1 +0,0 @@
|
|||
# @vue/compiler-dom
|
3047
node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.js
generated
vendored
3047
node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.js
generated
vendored
File diff suppressed because it is too large
Load diff
2978
node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js
generated
vendored
2978
node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js
generated
vendored
File diff suppressed because it is too large
Load diff
42
node_modules/@vue/compiler-dom/dist/compiler-dom.d.ts
generated
vendored
42
node_modules/@vue/compiler-dom/dist/compiler-dom.d.ts
generated
vendored
|
@ -1,42 +0,0 @@
|
|||
import { ParserOptions, NodeTransform, SourceLocation, CompilerError, DirectiveTransform, CompilerOptions, CodegenResult, RootNode } from '@vue/compiler-core';
|
||||
export * from '@vue/compiler-core';
|
||||
|
||||
export declare const parserOptions: ParserOptions;
|
||||
|
||||
export declare const V_MODEL_RADIO: unique symbol;
|
||||
export declare const V_MODEL_CHECKBOX: unique symbol;
|
||||
export declare const V_MODEL_TEXT: unique symbol;
|
||||
export declare const V_MODEL_SELECT: unique symbol;
|
||||
export declare const V_MODEL_DYNAMIC: unique symbol;
|
||||
export declare const V_ON_WITH_MODIFIERS: unique symbol;
|
||||
export declare const V_ON_WITH_KEYS: unique symbol;
|
||||
export declare const V_SHOW: unique symbol;
|
||||
export declare const TRANSITION: unique symbol;
|
||||
export declare const TRANSITION_GROUP: unique symbol;
|
||||
|
||||
export declare const transformStyle: NodeTransform;
|
||||
|
||||
interface DOMCompilerError extends CompilerError {
|
||||
code: DOMErrorCodes;
|
||||
}
|
||||
export declare function createDOMCompilerError(code: DOMErrorCodes, loc?: SourceLocation): DOMCompilerError;
|
||||
export declare const enum DOMErrorCodes {
|
||||
X_V_HTML_NO_EXPRESSION = 53,
|
||||
X_V_HTML_WITH_CHILDREN = 54,
|
||||
X_V_TEXT_NO_EXPRESSION = 55,
|
||||
X_V_TEXT_WITH_CHILDREN = 56,
|
||||
X_V_MODEL_ON_INVALID_ELEMENT = 57,
|
||||
X_V_MODEL_ARG_ON_ELEMENT = 58,
|
||||
X_V_MODEL_ON_FILE_INPUT_ELEMENT = 59,
|
||||
X_V_MODEL_UNNECESSARY_VALUE = 60,
|
||||
X_V_SHOW_NO_EXPRESSION = 61,
|
||||
X_TRANSITION_INVALID_CHILDREN = 62,
|
||||
X_IGNORED_SIDE_EFFECT_TAG = 63,
|
||||
__EXTEND_POINT__ = 64
|
||||
}
|
||||
|
||||
export declare const DOMNodeTransforms: NodeTransform[];
|
||||
export declare const DOMDirectiveTransforms: Record<string, DirectiveTransform>;
|
||||
export declare function compile(template: string, options?: CompilerOptions): CodegenResult;
|
||||
export declare function parse(template: string, options?: ParserOptions): RootNode;
|
||||
|
5309
node_modules/@vue/compiler-dom/dist/compiler-dom.esm-browser.js
generated
vendored
5309
node_modules/@vue/compiler-dom/dist/compiler-dom.esm-browser.js
generated
vendored
File diff suppressed because it is too large
Load diff
1
node_modules/@vue/compiler-dom/dist/compiler-dom.esm-browser.prod.js
generated
vendored
1
node_modules/@vue/compiler-dom/dist/compiler-dom.esm-browser.prod.js
generated
vendored
File diff suppressed because one or more lines are too long
489
node_modules/@vue/compiler-dom/dist/compiler-dom.esm-bundler.js
generated
vendored
489
node_modules/@vue/compiler-dom/dist/compiler-dom.esm-bundler.js
generated
vendored
|
@ -1,489 +0,0 @@
|
|||
import { registerRuntimeHelpers, isBuiltInType, createSimpleExpression, createCompilerError, createObjectProperty, getConstantType, createCallExpression, TO_DISPLAY_STRING, transformModel as transformModel$1, findProp, hasDynamicKeyVBind, transformOn as transformOn$1, isStaticExp, createCompoundExpression, checkCompatEnabled, noopDirectiveTransform, baseCompile, baseParse } from '@vue/compiler-core';
|
||||
export * from '@vue/compiler-core';
|
||||
import { isVoidTag, isHTMLTag, isSVGTag, makeMap, parseStringStyle, capitalize, extend } from '@vue/shared';
|
||||
|
||||
const V_MODEL_RADIO = Symbol(!!(process.env.NODE_ENV !== "production") ? `vModelRadio` : ``);
|
||||
const V_MODEL_CHECKBOX = Symbol(!!(process.env.NODE_ENV !== "production") ? `vModelCheckbox` : ``);
|
||||
const V_MODEL_TEXT = Symbol(!!(process.env.NODE_ENV !== "production") ? `vModelText` : ``);
|
||||
const V_MODEL_SELECT = Symbol(!!(process.env.NODE_ENV !== "production") ? `vModelSelect` : ``);
|
||||
const V_MODEL_DYNAMIC = Symbol(!!(process.env.NODE_ENV !== "production") ? `vModelDynamic` : ``);
|
||||
const V_ON_WITH_MODIFIERS = Symbol(!!(process.env.NODE_ENV !== "production") ? `vOnModifiersGuard` : ``);
|
||||
const V_ON_WITH_KEYS = Symbol(!!(process.env.NODE_ENV !== "production") ? `vOnKeysGuard` : ``);
|
||||
const V_SHOW = Symbol(!!(process.env.NODE_ENV !== "production") ? `vShow` : ``);
|
||||
const TRANSITION = Symbol(!!(process.env.NODE_ENV !== "production") ? `Transition` : ``);
|
||||
const TRANSITION_GROUP = Symbol(!!(process.env.NODE_ENV !== "production") ? `TransitionGroup` : ``);
|
||||
registerRuntimeHelpers({
|
||||
[V_MODEL_RADIO]: `vModelRadio`,
|
||||
[V_MODEL_CHECKBOX]: `vModelCheckbox`,
|
||||
[V_MODEL_TEXT]: `vModelText`,
|
||||
[V_MODEL_SELECT]: `vModelSelect`,
|
||||
[V_MODEL_DYNAMIC]: `vModelDynamic`,
|
||||
[V_ON_WITH_MODIFIERS]: `withModifiers`,
|
||||
[V_ON_WITH_KEYS]: `withKeys`,
|
||||
[V_SHOW]: `vShow`,
|
||||
[TRANSITION]: `Transition`,
|
||||
[TRANSITION_GROUP]: `TransitionGroup`
|
||||
});
|
||||
|
||||
let decoder;
|
||||
function decodeHtmlBrowser(raw, asAttr = false) {
|
||||
if (!decoder) {
|
||||
decoder = document.createElement("div");
|
||||
}
|
||||
if (asAttr) {
|
||||
decoder.innerHTML = `<div foo="${raw.replace(/"/g, """)}">`;
|
||||
return decoder.children[0].getAttribute("foo");
|
||||
} else {
|
||||
decoder.innerHTML = raw;
|
||||
return decoder.textContent;
|
||||
}
|
||||
}
|
||||
|
||||
const isRawTextContainer = /* @__PURE__ */ makeMap(
|
||||
"style,iframe,script,noscript",
|
||||
true
|
||||
);
|
||||
const parserOptions = {
|
||||
isVoidTag,
|
||||
isNativeTag: (tag) => isHTMLTag(tag) || isSVGTag(tag),
|
||||
isPreTag: (tag) => tag === "pre",
|
||||
decodeEntities: decodeHtmlBrowser ,
|
||||
isBuiltInComponent: (tag) => {
|
||||
if (isBuiltInType(tag, `Transition`)) {
|
||||
return TRANSITION;
|
||||
} else if (isBuiltInType(tag, `TransitionGroup`)) {
|
||||
return TRANSITION_GROUP;
|
||||
}
|
||||
},
|
||||
// https://html.spec.whatwg.org/multipage/parsing.html#tree-construction-dispatcher
|
||||
getNamespace(tag, parent) {
|
||||
let ns = parent ? parent.ns : 0;
|
||||
if (parent && ns === 2) {
|
||||
if (parent.tag === "annotation-xml") {
|
||||
if (tag === "svg") {
|
||||
return 1;
|
||||
}
|
||||
if (parent.props.some(
|
||||
(a) => a.type === 6 && a.name === "encoding" && a.value != null && (a.value.content === "text/html" || a.value.content === "application/xhtml+xml")
|
||||
)) {
|
||||
ns = 0;
|
||||
}
|
||||
} else if (/^m(?:[ions]|text)$/.test(parent.tag) && tag !== "mglyph" && tag !== "malignmark") {
|
||||
ns = 0;
|
||||
}
|
||||
} else if (parent && ns === 1) {
|
||||
if (parent.tag === "foreignObject" || parent.tag === "desc" || parent.tag === "title") {
|
||||
ns = 0;
|
||||
}
|
||||
}
|
||||
if (ns === 0) {
|
||||
if (tag === "svg") {
|
||||
return 1;
|
||||
}
|
||||
if (tag === "math") {
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
return ns;
|
||||
},
|
||||
// https://html.spec.whatwg.org/multipage/parsing.html#parsing-html-fragments
|
||||
getTextMode({ tag, ns }) {
|
||||
if (ns === 0) {
|
||||
if (tag === "textarea" || tag === "title") {
|
||||
return 1;
|
||||
}
|
||||
if (isRawTextContainer(tag)) {
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
|
||||
const transformStyle = (node) => {
|
||||
if (node.type === 1) {
|
||||
node.props.forEach((p, i) => {
|
||||
if (p.type === 6 && p.name === "style" && p.value) {
|
||||
node.props[i] = {
|
||||
type: 7,
|
||||
name: `bind`,
|
||||
arg: createSimpleExpression(`style`, true, p.loc),
|
||||
exp: parseInlineCSS(p.value.content, p.loc),
|
||||
modifiers: [],
|
||||
loc: p.loc
|
||||
};
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
const parseInlineCSS = (cssText, loc) => {
|
||||
const normalized = parseStringStyle(cssText);
|
||||
return createSimpleExpression(
|
||||
JSON.stringify(normalized),
|
||||
false,
|
||||
loc,
|
||||
3
|
||||
);
|
||||
};
|
||||
|
||||
function createDOMCompilerError(code, loc) {
|
||||
return createCompilerError(
|
||||
code,
|
||||
loc,
|
||||
!!(process.env.NODE_ENV !== "production") || false ? DOMErrorMessages : void 0
|
||||
);
|
||||
}
|
||||
const DOMErrorMessages = {
|
||||
[53]: `v-html is missing expression.`,
|
||||
[54]: `v-html will override element children.`,
|
||||
[55]: `v-text is missing expression.`,
|
||||
[56]: `v-text will override element children.`,
|
||||
[57]: `v-model can only be used on <input>, <textarea> and <select> elements.`,
|
||||
[58]: `v-model argument is not supported on plain elements.`,
|
||||
[59]: `v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.`,
|
||||
[60]: `Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.`,
|
||||
[61]: `v-show is missing expression.`,
|
||||
[62]: `<Transition> expects exactly one child element or component.`,
|
||||
[63]: `Tags with side effect (<script> and <style>) are ignored in client component templates.`
|
||||
};
|
||||
|
||||
const transformVHtml = (dir, node, context) => {
|
||||
const { exp, loc } = dir;
|
||||
if (!exp) {
|
||||
context.onError(
|
||||
createDOMCompilerError(53, loc)
|
||||
);
|
||||
}
|
||||
if (node.children.length) {
|
||||
context.onError(
|
||||
createDOMCompilerError(54, loc)
|
||||
);
|
||||
node.children.length = 0;
|
||||
}
|
||||
return {
|
||||
props: [
|
||||
createObjectProperty(
|
||||
createSimpleExpression(`innerHTML`, true, loc),
|
||||
exp || createSimpleExpression("", true)
|
||||
)
|
||||
]
|
||||
};
|
||||
};
|
||||
|
||||
const transformVText = (dir, node, context) => {
|
||||
const { exp, loc } = dir;
|
||||
if (!exp) {
|
||||
context.onError(
|
||||
createDOMCompilerError(55, loc)
|
||||
);
|
||||
}
|
||||
if (node.children.length) {
|
||||
context.onError(
|
||||
createDOMCompilerError(56, loc)
|
||||
);
|
||||
node.children.length = 0;
|
||||
}
|
||||
return {
|
||||
props: [
|
||||
createObjectProperty(
|
||||
createSimpleExpression(`textContent`, true),
|
||||
exp ? getConstantType(exp, context) > 0 ? exp : createCallExpression(
|
||||
context.helperString(TO_DISPLAY_STRING),
|
||||
[exp],
|
||||
loc
|
||||
) : createSimpleExpression("", true)
|
||||
)
|
||||
]
|
||||
};
|
||||
};
|
||||
|
||||
const transformModel = (dir, node, context) => {
|
||||
const baseResult = transformModel$1(dir, node, context);
|
||||
if (!baseResult.props.length || node.tagType === 1) {
|
||||
return baseResult;
|
||||
}
|
||||
if (dir.arg) {
|
||||
context.onError(
|
||||
createDOMCompilerError(
|
||||
58,
|
||||
dir.arg.loc
|
||||
)
|
||||
);
|
||||
}
|
||||
function checkDuplicatedValue() {
|
||||
const value = findProp(node, "value");
|
||||
if (value) {
|
||||
context.onError(
|
||||
createDOMCompilerError(
|
||||
60,
|
||||
value.loc
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
const { tag } = node;
|
||||
const isCustomElement = context.isCustomElement(tag);
|
||||
if (tag === "input" || tag === "textarea" || tag === "select" || isCustomElement) {
|
||||
let directiveToUse = V_MODEL_TEXT;
|
||||
let isInvalidType = false;
|
||||
if (tag === "input" || isCustomElement) {
|
||||
const type = findProp(node, `type`);
|
||||
if (type) {
|
||||
if (type.type === 7) {
|
||||
directiveToUse = V_MODEL_DYNAMIC;
|
||||
} else if (type.value) {
|
||||
switch (type.value.content) {
|
||||
case "radio":
|
||||
directiveToUse = V_MODEL_RADIO;
|
||||
break;
|
||||
case "checkbox":
|
||||
directiveToUse = V_MODEL_CHECKBOX;
|
||||
break;
|
||||
case "file":
|
||||
isInvalidType = true;
|
||||
context.onError(
|
||||
createDOMCompilerError(
|
||||
59,
|
||||
dir.loc
|
||||
)
|
||||
);
|
||||
break;
|
||||
default:
|
||||
!!(process.env.NODE_ENV !== "production") && checkDuplicatedValue();
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else if (hasDynamicKeyVBind(node)) {
|
||||
directiveToUse = V_MODEL_DYNAMIC;
|
||||
} else {
|
||||
!!(process.env.NODE_ENV !== "production") && checkDuplicatedValue();
|
||||
}
|
||||
} else if (tag === "select") {
|
||||
directiveToUse = V_MODEL_SELECT;
|
||||
} else {
|
||||
!!(process.env.NODE_ENV !== "production") && checkDuplicatedValue();
|
||||
}
|
||||
if (!isInvalidType) {
|
||||
baseResult.needRuntime = context.helper(directiveToUse);
|
||||
}
|
||||
} else {
|
||||
context.onError(
|
||||
createDOMCompilerError(
|
||||
57,
|
||||
dir.loc
|
||||
)
|
||||
);
|
||||
}
|
||||
baseResult.props = baseResult.props.filter(
|
||||
(p) => !(p.key.type === 4 && p.key.content === "modelValue")
|
||||
);
|
||||
return baseResult;
|
||||
};
|
||||
|
||||
const isEventOptionModifier = /* @__PURE__ */ makeMap(`passive,once,capture`);
|
||||
const isNonKeyModifier = /* @__PURE__ */ makeMap(
|
||||
// event propagation management
|
||||
`stop,prevent,self,ctrl,shift,alt,meta,exact,middle`
|
||||
);
|
||||
const maybeKeyModifier = /* @__PURE__ */ makeMap("left,right");
|
||||
const isKeyboardEvent = /* @__PURE__ */ makeMap(
|
||||
`onkeyup,onkeydown,onkeypress`,
|
||||
true
|
||||
);
|
||||
const resolveModifiers = (key, modifiers, context, loc) => {
|
||||
const keyModifiers = [];
|
||||
const nonKeyModifiers = [];
|
||||
const eventOptionModifiers = [];
|
||||
for (let i = 0; i < modifiers.length; i++) {
|
||||
const modifier = modifiers[i];
|
||||
if (modifier === "native" && checkCompatEnabled(
|
||||
"COMPILER_V_ON_NATIVE",
|
||||
context,
|
||||
loc
|
||||
)) {
|
||||
eventOptionModifiers.push(modifier);
|
||||
} else if (isEventOptionModifier(modifier)) {
|
||||
eventOptionModifiers.push(modifier);
|
||||
} else {
|
||||
if (maybeKeyModifier(modifier)) {
|
||||
if (isStaticExp(key)) {
|
||||
if (isKeyboardEvent(key.content)) {
|
||||
keyModifiers.push(modifier);
|
||||
} else {
|
||||
nonKeyModifiers.push(modifier);
|
||||
}
|
||||
} else {
|
||||
keyModifiers.push(modifier);
|
||||
nonKeyModifiers.push(modifier);
|
||||
}
|
||||
} else {
|
||||
if (isNonKeyModifier(modifier)) {
|
||||
nonKeyModifiers.push(modifier);
|
||||
} else {
|
||||
keyModifiers.push(modifier);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return {
|
||||
keyModifiers,
|
||||
nonKeyModifiers,
|
||||
eventOptionModifiers
|
||||
};
|
||||
};
|
||||
const transformClick = (key, event) => {
|
||||
const isStaticClick = isStaticExp(key) && key.content.toLowerCase() === "onclick";
|
||||
return isStaticClick ? createSimpleExpression(event, true) : key.type !== 4 ? createCompoundExpression([
|
||||
`(`,
|
||||
key,
|
||||
`) === "onClick" ? "${event}" : (`,
|
||||
key,
|
||||
`)`
|
||||
]) : key;
|
||||
};
|
||||
const transformOn = (dir, node, context) => {
|
||||
return transformOn$1(dir, node, context, (baseResult) => {
|
||||
const { modifiers } = dir;
|
||||
if (!modifiers.length)
|
||||
return baseResult;
|
||||
let { key, value: handlerExp } = baseResult.props[0];
|
||||
const { keyModifiers, nonKeyModifiers, eventOptionModifiers } = resolveModifiers(key, modifiers, context, dir.loc);
|
||||
if (nonKeyModifiers.includes("right")) {
|
||||
key = transformClick(key, `onContextmenu`);
|
||||
}
|
||||
if (nonKeyModifiers.includes("middle")) {
|
||||
key = transformClick(key, `onMouseup`);
|
||||
}
|
||||
if (nonKeyModifiers.length) {
|
||||
handlerExp = createCallExpression(context.helper(V_ON_WITH_MODIFIERS), [
|
||||
handlerExp,
|
||||
JSON.stringify(nonKeyModifiers)
|
||||
]);
|
||||
}
|
||||
if (keyModifiers.length && // if event name is dynamic, always wrap with keys guard
|
||||
(!isStaticExp(key) || isKeyboardEvent(key.content))) {
|
||||
handlerExp = createCallExpression(context.helper(V_ON_WITH_KEYS), [
|
||||
handlerExp,
|
||||
JSON.stringify(keyModifiers)
|
||||
]);
|
||||
}
|
||||
if (eventOptionModifiers.length) {
|
||||
const modifierPostfix = eventOptionModifiers.map(capitalize).join("");
|
||||
key = isStaticExp(key) ? createSimpleExpression(`${key.content}${modifierPostfix}`, true) : createCompoundExpression([`(`, key, `) + "${modifierPostfix}"`]);
|
||||
}
|
||||
return {
|
||||
props: [createObjectProperty(key, handlerExp)]
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
const transformShow = (dir, node, context) => {
|
||||
const { exp, loc } = dir;
|
||||
if (!exp) {
|
||||
context.onError(
|
||||
createDOMCompilerError(61, loc)
|
||||
);
|
||||
}
|
||||
return {
|
||||
props: [],
|
||||
needRuntime: context.helper(V_SHOW)
|
||||
};
|
||||
};
|
||||
|
||||
const transformTransition = (node, context) => {
|
||||
if (node.type === 1 && node.tagType === 1) {
|
||||
const component = context.isBuiltInComponent(node.tag);
|
||||
if (component === TRANSITION) {
|
||||
return () => {
|
||||
if (!node.children.length) {
|
||||
return;
|
||||
}
|
||||
if (hasMultipleChildren(node)) {
|
||||
context.onError(
|
||||
createDOMCompilerError(
|
||||
62,
|
||||
{
|
||||
start: node.children[0].loc.start,
|
||||
end: node.children[node.children.length - 1].loc.end,
|
||||
source: ""
|
||||
}
|
||||
)
|
||||
);
|
||||
}
|
||||
const child = node.children[0];
|
||||
if (child.type === 1) {
|
||||
for (const p of child.props) {
|
||||
if (p.type === 7 && p.name === "show") {
|
||||
node.props.push({
|
||||
type: 6,
|
||||
name: "persisted",
|
||||
value: void 0,
|
||||
loc: node.loc
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
};
|
||||
function hasMultipleChildren(node) {
|
||||
const children = node.children = node.children.filter(
|
||||
(c) => c.type !== 3 && !(c.type === 2 && !c.content.trim())
|
||||
);
|
||||
const child = children[0];
|
||||
return children.length !== 1 || child.type === 11 || child.type === 9 && child.branches.some(hasMultipleChildren);
|
||||
}
|
||||
|
||||
const ignoreSideEffectTags = (node, context) => {
|
||||
if (node.type === 1 && node.tagType === 0 && (node.tag === "script" || node.tag === "style")) {
|
||||
!!(process.env.NODE_ENV !== "production") && context.onError(
|
||||
createDOMCompilerError(
|
||||
63,
|
||||
node.loc
|
||||
)
|
||||
);
|
||||
context.removeNode();
|
||||
}
|
||||
};
|
||||
|
||||
const DOMNodeTransforms = [
|
||||
transformStyle,
|
||||
...!!(process.env.NODE_ENV !== "production") ? [transformTransition] : []
|
||||
];
|
||||
const DOMDirectiveTransforms = {
|
||||
cloak: noopDirectiveTransform,
|
||||
html: transformVHtml,
|
||||
text: transformVText,
|
||||
model: transformModel,
|
||||
// override compiler-core
|
||||
on: transformOn,
|
||||
// override compiler-core
|
||||
show: transformShow
|
||||
};
|
||||
function compile(template, options = {}) {
|
||||
return baseCompile(
|
||||
template,
|
||||
extend({}, parserOptions, options, {
|
||||
nodeTransforms: [
|
||||
// ignore <script> and <tag>
|
||||
// this is not put inside DOMNodeTransforms because that list is used
|
||||
// by compiler-ssr to generate vnode fallback branches
|
||||
ignoreSideEffectTags,
|
||||
...DOMNodeTransforms,
|
||||
...options.nodeTransforms || []
|
||||
],
|
||||
directiveTransforms: extend(
|
||||
{},
|
||||
DOMDirectiveTransforms,
|
||||
options.directiveTransforms || {}
|
||||
),
|
||||
transformHoist: null
|
||||
})
|
||||
);
|
||||
}
|
||||
function parse(template, options = {}) {
|
||||
return baseParse(template, extend({}, parserOptions, options));
|
||||
}
|
||||
|
||||
export { DOMDirectiveTransforms, DOMNodeTransforms, TRANSITION, TRANSITION_GROUP, V_MODEL_CHECKBOX, V_MODEL_DYNAMIC, V_MODEL_RADIO, V_MODEL_SELECT, V_MODEL_TEXT, V_ON_WITH_KEYS, V_ON_WITH_MODIFIERS, V_SHOW, compile, createDOMCompilerError, parse, parserOptions, transformStyle };
|
5459
node_modules/@vue/compiler-dom/dist/compiler-dom.global.js
generated
vendored
5459
node_modules/@vue/compiler-dom/dist/compiler-dom.global.js
generated
vendored
File diff suppressed because it is too large
Load diff
1
node_modules/@vue/compiler-dom/dist/compiler-dom.global.prod.js
generated
vendored
1
node_modules/@vue/compiler-dom/dist/compiler-dom.global.prod.js
generated
vendored
File diff suppressed because one or more lines are too long
7
node_modules/@vue/compiler-dom/index.js
generated
vendored
7
node_modules/@vue/compiler-dom/index.js
generated
vendored
|
@ -1,7 +0,0 @@
|
|||
'use strict'
|
||||
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
module.exports = require('./dist/compiler-dom.cjs.prod.js')
|
||||
} else {
|
||||
module.exports = require('./dist/compiler-dom.cjs.js')
|
||||
}
|
43
node_modules/@vue/compiler-dom/package.json
generated
vendored
43
node_modules/@vue/compiler-dom/package.json
generated
vendored
|
@ -1,43 +0,0 @@
|
|||
{
|
||||
"name": "@vue/compiler-dom",
|
||||
"version": "3.3.4",
|
||||
"description": "@vue/compiler-dom",
|
||||
"main": "index.js",
|
||||
"module": "dist/compiler-dom.esm-bundler.js",
|
||||
"types": "dist/compiler-dom.d.ts",
|
||||
"unpkg": "dist/compiler-dom.global.js",
|
||||
"jsdelivr": "dist/compiler-dom.global.js",
|
||||
"files": [
|
||||
"index.js",
|
||||
"dist"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"buildOptions": {
|
||||
"name": "VueCompilerDOM",
|
||||
"compat": true,
|
||||
"formats": [
|
||||
"esm-bundler",
|
||||
"esm-browser",
|
||||
"cjs",
|
||||
"global"
|
||||
]
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/core.git",
|
||||
"directory": "packages/compiler-dom"
|
||||
},
|
||||
"keywords": [
|
||||
"vue"
|
||||
],
|
||||
"author": "Evan You",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/vuejs/core/issues"
|
||||
},
|
||||
"homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-dom#readme",
|
||||
"dependencies": {
|
||||
"@vue/shared": "3.3.4",
|
||||
"@vue/compiler-core": "3.3.4"
|
||||
}
|
||||
}
|
21
node_modules/@vue/compiler-sfc/LICENSE
generated
vendored
21
node_modules/@vue/compiler-sfc/LICENSE
generated
vendored
|
@ -1,21 +0,0 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2018-present, Yuxi (Evan) You
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
80
node_modules/@vue/compiler-sfc/README.md
generated
vendored
80
node_modules/@vue/compiler-sfc/README.md
generated
vendored
|
@ -1,80 +0,0 @@
|
|||
# @vue/compiler-sfc
|
||||
|
||||
> Lower level utilities for compiling Vue Single File Components
|
||||
|
||||
**Note: as of 3.2.13+, this package is included as a dependency of the main `vue` package and can be accessed as `vue/compiler-sfc`. This means you no longer need to explicitly install this package and ensure its version match that of `vue`'s. Just use the main `vue/compiler-sfc` deep import instead.**
|
||||
|
||||
This package contains lower level utilities that you can use if you are writing a plugin / transform for a bundler or module system that compiles Vue Single File Components (SFCs) into JavaScript. It is used in [vue-loader](https://github.com/vuejs/vue-loader), [rollup-plugin-vue](https://github.com/vuejs/rollup-plugin-vue) and [vite](https://github.com/vitejs/vite).
|
||||
|
||||
## API
|
||||
|
||||
The API is intentionally low-level due to the various considerations when integrating Vue SFCs in a build system:
|
||||
|
||||
- Separate hot-module replacement (HMR) for script, template and styles
|
||||
|
||||
- template updates should not reset component state
|
||||
- style updates should be performed without component re-render
|
||||
|
||||
- Leveraging the tool's plugin system for pre-processor handling. e.g. `<style lang="scss">` should be processed by the corresponding webpack loader.
|
||||
|
||||
- In some cases, transformers of each block in an SFC do not share the same execution context. For example, when used with `thread-loader` or other parallelized configurations, the template sub-loader in `vue-loader` may not have access to the full SFC and its descriptor.
|
||||
|
||||
The general idea is to generate a facade module that imports the individual blocks of the component. The trick is the module imports itself with different query strings so that the build system can handle each request as "virtual" modules:
|
||||
|
||||
```
|
||||
+--------------------+
|
||||
| |
|
||||
| script transform |
|
||||
+----->+ |
|
||||
| +--------------------+
|
||||
|
|
||||
+--------------------+ | +--------------------+
|
||||
| | | | |
|
||||
| facade transform +----------->+ template transform |
|
||||
| | | | |
|
||||
+--------------------+ | +--------------------+
|
||||
|
|
||||
| +--------------------+
|
||||
+----->+ |
|
||||
| style transform |
|
||||
| |
|
||||
+--------------------+
|
||||
```
|
||||
|
||||
Where the facade module looks like this:
|
||||
|
||||
```js
|
||||
// main script
|
||||
import script from '/project/foo.vue?vue&type=script'
|
||||
// template compiled to render function
|
||||
import { render } from '/project/foo.vue?vue&type=template&id=xxxxxx'
|
||||
// css
|
||||
import '/project/foo.vue?vue&type=style&index=0&id=xxxxxx'
|
||||
|
||||
// attach render function to script
|
||||
script.render = render
|
||||
|
||||
// attach additional metadata
|
||||
// some of these should be dev only
|
||||
script.__file = 'example.vue'
|
||||
script.__scopeId = 'xxxxxx'
|
||||
|
||||
// additional tooling-specific HMR handling code
|
||||
// using __VUE_HMR_API__ global
|
||||
|
||||
export default script
|
||||
```
|
||||
|
||||
### High Level Workflow
|
||||
|
||||
1. In facade transform, parse the source into descriptor with the `parse` API and generate the above facade module code based on the descriptor;
|
||||
|
||||
2. In script transform, use `compileScript` to process the script. This handles features like `<script setup>` and CSS variable injection. Alternatively, this can be done directly in the facade module (with the code inlined instead of imported), but it will require rewriting `export default` to a temp variable (a `rewriteDefault` convenience API is provided for this purpose) so additional options can be attached to the exported object.
|
||||
|
||||
3. In template transform, use `compileTemplate` to compile the raw template into render function code.
|
||||
|
||||
4. In style transform, use `compileStyle` to compile raw CSS to handle `<style scoped>`, `<style module>` and CSS variable injection.
|
||||
|
||||
Options needed for these APIs can be passed via the query string.
|
||||
|
||||
For detailed API references and options, check out the source type definitions. For actual usage of these APIs, check out [rollup-plugin-vue](https://github.com/vuejs/rollup-plugin-vue/tree/next) or [vue-loader](https://github.com/vuejs/vue-loader/tree/next).
|
20636
node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js
generated
vendored
20636
node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js
generated
vendored
File diff suppressed because it is too large
Load diff
473
node_modules/@vue/compiler-sfc/dist/compiler-sfc.d.ts
generated
vendored
473
node_modules/@vue/compiler-sfc/dist/compiler-sfc.d.ts
generated
vendored
|
@ -1,473 +0,0 @@
|
|||
import * as _babel_types from '@babel/types';
|
||||
import { Statement, Expression, TSType, Program, Node, ObjectPattern, TSModuleDeclaration, TSPropertySignature, TSMethodSignature, TSCallSignatureDeclaration, TSFunctionType } from '@babel/types';
|
||||
import { CompilerOptions, CodegenResult, ParserOptions, RootNode, CompilerError, SourceLocation, ElementNode, BindingMetadata as BindingMetadata$1 } from '@vue/compiler-core';
|
||||
export { BindingMetadata, CompilerError, CompilerOptions, extractIdentifiers, generateCodeFrame, isInDestructureAssignment, isStaticProperty, walkIdentifiers } from '@vue/compiler-core';
|
||||
import { RawSourceMap } from 'source-map-js';
|
||||
import { ParserPlugin } from '@babel/parser';
|
||||
export { parse as babelParse } from '@babel/parser';
|
||||
import { Result, LazyResult } from 'postcss';
|
||||
import MagicString from 'magic-string';
|
||||
export { default as MagicString } from 'magic-string';
|
||||
export { shouldTransform as shouldTransformRef, transform as transformRef, transformAST as transformRefAST } from '@vue/reactivity-transform';
|
||||
|
||||
export interface AssetURLTagConfig {
|
||||
[name: string]: string[];
|
||||
}
|
||||
export interface AssetURLOptions {
|
||||
/**
|
||||
* If base is provided, instead of transforming relative asset urls into
|
||||
* imports, they will be directly rewritten to absolute urls.
|
||||
*/
|
||||
base?: string | null;
|
||||
/**
|
||||
* If true, also processes absolute urls.
|
||||
*/
|
||||
includeAbsolute?: boolean;
|
||||
tags?: AssetURLTagConfig;
|
||||
}
|
||||
|
||||
export interface TemplateCompiler {
|
||||
compile(template: string, options: CompilerOptions): CodegenResult;
|
||||
parse(template: string, options: ParserOptions): RootNode;
|
||||
}
|
||||
export interface SFCTemplateCompileResults {
|
||||
code: string;
|
||||
ast?: RootNode;
|
||||
preamble?: string;
|
||||
source: string;
|
||||
tips: string[];
|
||||
errors: (string | CompilerError)[];
|
||||
map?: RawSourceMap;
|
||||
}
|
||||
export interface SFCTemplateCompileOptions {
|
||||
source: string;
|
||||
filename: string;
|
||||
id: string;
|
||||
scoped?: boolean;
|
||||
slotted?: boolean;
|
||||
isProd?: boolean;
|
||||
ssr?: boolean;
|
||||
ssrCssVars?: string[];
|
||||
inMap?: RawSourceMap;
|
||||
compiler?: TemplateCompiler;
|
||||
compilerOptions?: CompilerOptions;
|
||||
preprocessLang?: string;
|
||||
preprocessOptions?: any;
|
||||
/**
|
||||
* In some cases, compiler-sfc may not be inside the project root (e.g. when
|
||||
* linked or globally installed). In such cases a custom `require` can be
|
||||
* passed to correctly resolve the preprocessors.
|
||||
*/
|
||||
preprocessCustomRequire?: (id: string) => any;
|
||||
/**
|
||||
* Configure what tags/attributes to transform into asset url imports,
|
||||
* or disable the transform altogether with `false`.
|
||||
*/
|
||||
transformAssetUrls?: AssetURLOptions | AssetURLTagConfig | boolean;
|
||||
}
|
||||
export declare function compileTemplate(options: SFCTemplateCompileOptions): SFCTemplateCompileResults;
|
||||
|
||||
export interface SFCScriptCompileOptions {
|
||||
/**
|
||||
* Scope ID for prefixing injected CSS variables.
|
||||
* This must be consistent with the `id` passed to `compileStyle`.
|
||||
*/
|
||||
id: string;
|
||||
/**
|
||||
* Production mode. Used to determine whether to generate hashed CSS variables
|
||||
*/
|
||||
isProd?: boolean;
|
||||
/**
|
||||
* Enable/disable source map. Defaults to true.
|
||||
*/
|
||||
sourceMap?: boolean;
|
||||
/**
|
||||
* https://babeljs.io/docs/en/babel-parser#plugins
|
||||
*/
|
||||
babelParserPlugins?: ParserPlugin[];
|
||||
/**
|
||||
* A list of files to parse for global types to be made available for type
|
||||
* resolving in SFC macros. The list must be fully resolved file system paths.
|
||||
*/
|
||||
globalTypeFiles?: string[];
|
||||
/**
|
||||
* Compile the template and inline the resulting render function
|
||||
* directly inside setup().
|
||||
* - Only affects `<script setup>`
|
||||
* - This should only be used in production because it prevents the template
|
||||
* from being hot-reloaded separately from component state.
|
||||
*/
|
||||
inlineTemplate?: boolean;
|
||||
/**
|
||||
* Generate the final component as a variable instead of default export.
|
||||
* This is useful in e.g. @vitejs/plugin-vue where the script needs to be
|
||||
* placed inside the main module.
|
||||
*/
|
||||
genDefaultAs?: string;
|
||||
/**
|
||||
* Options for template compilation when inlining. Note these are options that
|
||||
* would normally be passed to `compiler-sfc`'s own `compileTemplate()`, not
|
||||
* options passed to `compiler-dom`.
|
||||
*/
|
||||
templateOptions?: Partial<SFCTemplateCompileOptions>;
|
||||
/**
|
||||
* Hoist <script setup> static constants.
|
||||
* - Only enables when one `<script setup>` exists.
|
||||
* @default true
|
||||
*/
|
||||
hoistStatic?: boolean;
|
||||
/**
|
||||
* (**Experimental**) Enable macro `defineModel`
|
||||
* @default false
|
||||
*/
|
||||
defineModel?: boolean;
|
||||
/**
|
||||
* (**Experimental**) Enable reactive destructure for `defineProps`
|
||||
* @default false
|
||||
*/
|
||||
propsDestructure?: boolean;
|
||||
/**
|
||||
* File system access methods to be used when resolving types
|
||||
* imported in SFC macros. Defaults to ts.sys in Node.js, can be overwritten
|
||||
* to use a virtual file system for use in browsers (e.g. in REPLs)
|
||||
*/
|
||||
fs?: {
|
||||
fileExists(file: string): boolean;
|
||||
readFile(file: string): string | undefined;
|
||||
};
|
||||
/**
|
||||
* (Experimental) Enable syntax transform for using refs without `.value` and
|
||||
* using destructured props with reactivity
|
||||
* @deprecated the Reactivity Transform proposal has been dropped. This
|
||||
* feature will be removed from Vue core in 3.4. If you intend to continue
|
||||
* using it, disable this and switch to the [Vue Macros implementation](https://vue-macros.sxzz.moe/features/reactivity-transform.html).
|
||||
*/
|
||||
reactivityTransform?: boolean;
|
||||
}
|
||||
interface ImportBinding {
|
||||
isType: boolean;
|
||||
imported: string;
|
||||
local: string;
|
||||
source: string;
|
||||
isFromSetup: boolean;
|
||||
isUsedInTemplate: boolean;
|
||||
}
|
||||
/**
|
||||
* Compile `<script setup>`
|
||||
* It requires the whole SFC descriptor because we need to handle and merge
|
||||
* normal `<script>` + `<script setup>` if both are present.
|
||||
*/
|
||||
export declare function compileScript(sfc: SFCDescriptor, options: SFCScriptCompileOptions): SFCScriptBlock;
|
||||
|
||||
export interface SFCParseOptions {
|
||||
filename?: string;
|
||||
sourceMap?: boolean;
|
||||
sourceRoot?: string;
|
||||
pad?: boolean | 'line' | 'space';
|
||||
ignoreEmpty?: boolean;
|
||||
compiler?: TemplateCompiler;
|
||||
}
|
||||
export interface SFCBlock {
|
||||
type: string;
|
||||
content: string;
|
||||
attrs: Record<string, string | true>;
|
||||
loc: SourceLocation;
|
||||
map?: RawSourceMap;
|
||||
lang?: string;
|
||||
src?: string;
|
||||
}
|
||||
export interface SFCTemplateBlock extends SFCBlock {
|
||||
type: 'template';
|
||||
ast: ElementNode;
|
||||
}
|
||||
export interface SFCScriptBlock extends SFCBlock {
|
||||
type: 'script';
|
||||
setup?: string | boolean;
|
||||
bindings?: BindingMetadata$1;
|
||||
imports?: Record<string, ImportBinding>;
|
||||
scriptAst?: _babel_types.Statement[];
|
||||
scriptSetupAst?: _babel_types.Statement[];
|
||||
warnings?: string[];
|
||||
/**
|
||||
* Fully resolved dependency file paths (unix slashes) with imported types
|
||||
* used in macros, used for HMR cache busting in @vitejs/plugin-vue and
|
||||
* vue-loader.
|
||||
*/
|
||||
deps?: string[];
|
||||
}
|
||||
export interface SFCStyleBlock extends SFCBlock {
|
||||
type: 'style';
|
||||
scoped?: boolean;
|
||||
module?: string | boolean;
|
||||
}
|
||||
export interface SFCDescriptor {
|
||||
filename: string;
|
||||
source: string;
|
||||
template: SFCTemplateBlock | null;
|
||||
script: SFCScriptBlock | null;
|
||||
scriptSetup: SFCScriptBlock | null;
|
||||
styles: SFCStyleBlock[];
|
||||
customBlocks: SFCBlock[];
|
||||
cssVars: string[];
|
||||
/**
|
||||
* whether the SFC uses :slotted() modifier.
|
||||
* this is used as a compiler optimization hint.
|
||||
*/
|
||||
slotted: boolean;
|
||||
/**
|
||||
* compare with an existing descriptor to determine whether HMR should perform
|
||||
* a reload vs. re-render.
|
||||
*
|
||||
* Note: this comparison assumes the prev/next script are already identical,
|
||||
* and only checks the special case where <script setup lang="ts"> unused import
|
||||
* pruning result changes due to template changes.
|
||||
*/
|
||||
shouldForceReload: (prevImports: Record<string, ImportBinding>) => boolean;
|
||||
}
|
||||
export interface SFCParseResult {
|
||||
descriptor: SFCDescriptor;
|
||||
errors: (CompilerError | SyntaxError)[];
|
||||
}
|
||||
export declare const parseCache: Map<string, SFCParseResult> & {
|
||||
max?: number | undefined;
|
||||
};
|
||||
export declare function parse(source: string, { sourceMap, filename, sourceRoot, pad, ignoreEmpty, compiler }?: SFCParseOptions): SFCParseResult;
|
||||
|
||||
type PreprocessLang = 'less' | 'sass' | 'scss' | 'styl' | 'stylus';
|
||||
|
||||
export interface SFCStyleCompileOptions {
|
||||
source: string;
|
||||
filename: string;
|
||||
id: string;
|
||||
scoped?: boolean;
|
||||
trim?: boolean;
|
||||
isProd?: boolean;
|
||||
inMap?: RawSourceMap;
|
||||
preprocessLang?: PreprocessLang;
|
||||
preprocessOptions?: any;
|
||||
preprocessCustomRequire?: (id: string) => any;
|
||||
postcssOptions?: any;
|
||||
postcssPlugins?: any[];
|
||||
/**
|
||||
* @deprecated use `inMap` instead.
|
||||
*/
|
||||
map?: RawSourceMap;
|
||||
}
|
||||
/**
|
||||
* Aligns with postcss-modules
|
||||
* https://github.com/css-modules/postcss-modules
|
||||
*/
|
||||
interface CSSModulesOptions {
|
||||
scopeBehaviour?: 'global' | 'local';
|
||||
generateScopedName?: string | ((name: string, filename: string, css: string) => string);
|
||||
hashPrefix?: string;
|
||||
localsConvention?: 'camelCase' | 'camelCaseOnly' | 'dashes' | 'dashesOnly';
|
||||
exportGlobals?: boolean;
|
||||
globalModulePaths?: RegExp[];
|
||||
}
|
||||
export interface SFCAsyncStyleCompileOptions extends SFCStyleCompileOptions {
|
||||
isAsync?: boolean;
|
||||
modules?: boolean;
|
||||
modulesOptions?: CSSModulesOptions;
|
||||
}
|
||||
export interface SFCStyleCompileResults {
|
||||
code: string;
|
||||
map: RawSourceMap | undefined;
|
||||
rawResult: Result | LazyResult | undefined;
|
||||
errors: Error[];
|
||||
modules?: Record<string, string>;
|
||||
dependencies: Set<string>;
|
||||
}
|
||||
export declare function compileStyle(options: SFCStyleCompileOptions): SFCStyleCompileResults;
|
||||
export declare function compileStyleAsync(options: SFCAsyncStyleCompileOptions): Promise<SFCStyleCompileResults>;
|
||||
|
||||
export declare function rewriteDefault(input: string, as: string, parserPlugins?: ParserPlugin[]): string;
|
||||
/**
|
||||
* Utility for rewriting `export default` in a script block into a variable
|
||||
* declaration so that we can inject things into it
|
||||
*/
|
||||
export declare function rewriteDefaultAST(ast: Statement[], s: MagicString, as: string): void;
|
||||
|
||||
type PropsDestructureBindings = Record<string, // public prop key
|
||||
{
|
||||
local: string;
|
||||
default?: Expression;
|
||||
}>;
|
||||
|
||||
interface ModelDecl {
|
||||
type: TSType | undefined;
|
||||
options: string | undefined;
|
||||
identifier: string | undefined;
|
||||
}
|
||||
|
||||
declare const enum BindingTypes {
|
||||
/**
|
||||
* returned from data()
|
||||
*/
|
||||
DATA = "data",
|
||||
/**
|
||||
* declared as a prop
|
||||
*/
|
||||
PROPS = "props",
|
||||
/**
|
||||
* a local alias of a `<script setup>` destructured prop.
|
||||
* the original is stored in __propsAliases of the bindingMetadata object.
|
||||
*/
|
||||
PROPS_ALIASED = "props-aliased",
|
||||
/**
|
||||
* a let binding (may or may not be a ref)
|
||||
*/
|
||||
SETUP_LET = "setup-let",
|
||||
/**
|
||||
* a const binding that can never be a ref.
|
||||
* these bindings don't need `unref()` calls when processed in inlined
|
||||
* template expressions.
|
||||
*/
|
||||
SETUP_CONST = "setup-const",
|
||||
/**
|
||||
* a const binding that does not need `unref()`, but may be mutated.
|
||||
*/
|
||||
SETUP_REACTIVE_CONST = "setup-reactive-const",
|
||||
/**
|
||||
* a const binding that may be a ref.
|
||||
*/
|
||||
SETUP_MAYBE_REF = "setup-maybe-ref",
|
||||
/**
|
||||
* bindings that are guaranteed to be refs
|
||||
*/
|
||||
SETUP_REF = "setup-ref",
|
||||
/**
|
||||
* declared by other options, e.g. computed, inject
|
||||
*/
|
||||
OPTIONS = "options",
|
||||
/**
|
||||
* a literal constant, e.g. 'foo', 1, true
|
||||
*/
|
||||
LITERAL_CONST = "literal-const"
|
||||
}
|
||||
type BindingMetadata = {
|
||||
[key: string]: BindingTypes | undefined;
|
||||
} & {
|
||||
__isScriptSetup?: boolean;
|
||||
__propsAliases?: Record<string, string>;
|
||||
};
|
||||
|
||||
export declare class ScriptCompileContext {
|
||||
descriptor: SFCDescriptor;
|
||||
options: Partial<SFCScriptCompileOptions>;
|
||||
isJS: boolean;
|
||||
isTS: boolean;
|
||||
scriptAst: Program | null;
|
||||
scriptSetupAst: Program | null;
|
||||
source: string;
|
||||
filename: string;
|
||||
s: MagicString;
|
||||
startOffset: number | undefined;
|
||||
endOffset: number | undefined;
|
||||
scope?: TypeScope;
|
||||
globalScopes?: TypeScope[];
|
||||
userImports: Record<string, ImportBinding>;
|
||||
hasDefinePropsCall: boolean;
|
||||
hasDefineEmitCall: boolean;
|
||||
hasDefineExposeCall: boolean;
|
||||
hasDefaultExportName: boolean;
|
||||
hasDefaultExportRender: boolean;
|
||||
hasDefineOptionsCall: boolean;
|
||||
hasDefineSlotsCall: boolean;
|
||||
hasDefineModelCall: boolean;
|
||||
propsIdentifier: string | undefined;
|
||||
propsRuntimeDecl: Node | undefined;
|
||||
propsTypeDecl: Node | undefined;
|
||||
propsDestructureDecl: ObjectPattern | undefined;
|
||||
propsDestructuredBindings: PropsDestructureBindings;
|
||||
propsDestructureRestId: string | undefined;
|
||||
propsRuntimeDefaults: Node | undefined;
|
||||
emitsRuntimeDecl: Node | undefined;
|
||||
emitsTypeDecl: Node | undefined;
|
||||
emitIdentifier: string | undefined;
|
||||
modelDecls: Record<string, ModelDecl>;
|
||||
optionsRuntimeDecl: Node | undefined;
|
||||
bindingMetadata: BindingMetadata;
|
||||
helperImports: Set<string>;
|
||||
helper(key: string): string;
|
||||
/**
|
||||
* to be exposed on compiled script block for HMR cache busting
|
||||
*/
|
||||
deps?: Set<string>;
|
||||
/**
|
||||
* cache for resolved fs
|
||||
*/
|
||||
fs?: NonNullable<SFCScriptCompileOptions['fs']>;
|
||||
constructor(descriptor: SFCDescriptor, options: Partial<SFCScriptCompileOptions>);
|
||||
getString(node: Node, scriptSetup?: boolean): string;
|
||||
error(msg: string, node: Node, scope?: TypeScope): never;
|
||||
}
|
||||
|
||||
/**
|
||||
* TypeResolveContext is compatible with ScriptCompileContext
|
||||
* but also allows a simpler version of it with minimal required properties
|
||||
* when resolveType needs to be used in a non-SFC context, e.g. in a babel
|
||||
* plugin. The simplest context can be just:
|
||||
* ```ts
|
||||
* const ctx: SimpleTypeResolveContext = {
|
||||
* filename: '...',
|
||||
* source: '...',
|
||||
* options: {},
|
||||
* error() {},
|
||||
* ast: []
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
export type SimpleTypeResolveContext = Pick<ScriptCompileContext, 'source' | 'filename' | 'error' | 'options'> & Partial<Pick<ScriptCompileContext, 'scope' | 'globalScopes' | 'deps' | 'fs'>> & {
|
||||
ast: Statement[];
|
||||
};
|
||||
export type TypeResolveContext = ScriptCompileContext | SimpleTypeResolveContext;
|
||||
type Import = Pick<ImportBinding, 'source' | 'imported'>;
|
||||
interface WithScope {
|
||||
_ownerScope: TypeScope;
|
||||
}
|
||||
type ScopeTypeNode = Node & WithScope & {
|
||||
_ns?: TSModuleDeclaration & WithScope;
|
||||
};
|
||||
declare class TypeScope {
|
||||
filename: string;
|
||||
source: string;
|
||||
offset: number;
|
||||
imports: Record<string, Import>;
|
||||
types: Record<string, ScopeTypeNode>;
|
||||
declares: Record<string, ScopeTypeNode>;
|
||||
constructor(filename: string, source: string, offset?: number, imports?: Record<string, Import>, types?: Record<string, ScopeTypeNode>, declares?: Record<string, ScopeTypeNode>);
|
||||
resolvedImportSources: Record<string, string>;
|
||||
exportedTypes: Record<string, ScopeTypeNode>;
|
||||
exportedDeclares: Record<string, ScopeTypeNode>;
|
||||
}
|
||||
interface MaybeWithScope {
|
||||
_ownerScope?: TypeScope;
|
||||
}
|
||||
interface ResolvedElements {
|
||||
props: Record<string, (TSPropertySignature | TSMethodSignature) & {
|
||||
_ownerScope: TypeScope;
|
||||
}>;
|
||||
calls?: (TSCallSignatureDeclaration | TSFunctionType)[];
|
||||
}
|
||||
/**
|
||||
* Resolve arbitrary type node to a list of type elements that can be then
|
||||
* mapped to runtime props or emits.
|
||||
*/
|
||||
export declare function resolveTypeElements(ctx: TypeResolveContext, node: Node & MaybeWithScope & {
|
||||
_resolvedElements?: ResolvedElements;
|
||||
}, scope?: TypeScope): ResolvedElements;
|
||||
/**
|
||||
* @private
|
||||
*/
|
||||
export declare function registerTS(_ts: any): void;
|
||||
/**
|
||||
* @private
|
||||
*/
|
||||
export declare function invalidateTypeCache(filename: string): void;
|
||||
export declare function inferRuntimeType(ctx: TypeResolveContext, node: Node & MaybeWithScope, scope?: TypeScope): string[];
|
||||
|
||||
export declare const version: string;
|
||||
|
||||
export declare const walk: any;
|
||||
|
50309
node_modules/@vue/compiler-sfc/dist/compiler-sfc.esm-browser.js
generated
vendored
50309
node_modules/@vue/compiler-sfc/dist/compiler-sfc.esm-browser.js
generated
vendored
File diff suppressed because it is too large
Load diff
60
node_modules/@vue/compiler-sfc/package.json
generated
vendored
60
node_modules/@vue/compiler-sfc/package.json
generated
vendored
|
@ -1,60 +0,0 @@
|
|||
{
|
||||
"name": "@vue/compiler-sfc",
|
||||
"version": "3.3.4",
|
||||
"description": "@vue/compiler-sfc",
|
||||
"main": "dist/compiler-sfc.cjs.js",
|
||||
"module": "dist/compiler-sfc.esm-browser.js",
|
||||
"types": "dist/compiler-sfc.d.ts",
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"buildOptions": {
|
||||
"name": "VueCompilerSFC",
|
||||
"formats": [
|
||||
"cjs",
|
||||
"esm-browser"
|
||||
],
|
||||
"prod": false,
|
||||
"enableNonBrowserBranches": true
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/core.git",
|
||||
"directory": "packages/compiler-sfc"
|
||||
},
|
||||
"keywords": [
|
||||
"vue"
|
||||
],
|
||||
"author": "Evan You",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/vuejs/core/issues"
|
||||
},
|
||||
"homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-sfc#readme",
|
||||
"dependencies": {
|
||||
"@babel/parser": "^7.20.15",
|
||||
"@vue/compiler-core": "3.3.4",
|
||||
"@vue/compiler-dom": "3.3.4",
|
||||
"@vue/compiler-ssr": "3.3.4",
|
||||
"@vue/reactivity-transform": "3.3.4",
|
||||
"@vue/shared": "3.3.4",
|
||||
"estree-walker": "^2.0.2",
|
||||
"magic-string": "^0.30.0",
|
||||
"postcss": "^8.1.10",
|
||||
"source-map-js": "^1.0.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/types": "^7.21.3",
|
||||
"@types/estree": "^0.0.48",
|
||||
"@types/lru-cache": "^5.1.0",
|
||||
"@vue/consolidate": "^0.17.3",
|
||||
"hash-sum": "^2.0.0",
|
||||
"lru-cache": "^5.1.1",
|
||||
"merge-source-map": "^1.1.0",
|
||||
"minimatch": "^9.0.0",
|
||||
"postcss-modules": "^4.0.0",
|
||||
"postcss-selector-parser": "^6.0.4",
|
||||
"pug": "^3.0.1",
|
||||
"sass": "^1.26.9"
|
||||
}
|
||||
}
|
21
node_modules/@vue/compiler-ssr/LICENSE
generated
vendored
21
node_modules/@vue/compiler-ssr/LICENSE
generated
vendored
|
@ -1,21 +0,0 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2018-present, Yuxi (Evan) You
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
1
node_modules/@vue/compiler-ssr/README.md
generated
vendored
1
node_modules/@vue/compiler-ssr/README.md
generated
vendored
|
@ -1 +0,0 @@
|
|||
# @vue/compiler-ssr
|
1280
node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js
generated
vendored
1280
node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js
generated
vendored
File diff suppressed because it is too large
Load diff
4
node_modules/@vue/compiler-ssr/dist/compiler-ssr.d.ts
generated
vendored
4
node_modules/@vue/compiler-ssr/dist/compiler-ssr.d.ts
generated
vendored
|
@ -1,4 +0,0 @@
|
|||
import { CompilerOptions, CodegenResult } from '@vue/compiler-dom';
|
||||
|
||||
export declare function compile(template: string, options?: CompilerOptions): CodegenResult;
|
||||
|
34
node_modules/@vue/compiler-ssr/package.json
generated
vendored
34
node_modules/@vue/compiler-ssr/package.json
generated
vendored
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"name": "@vue/compiler-ssr",
|
||||
"version": "3.3.4",
|
||||
"description": "@vue/compiler-ssr",
|
||||
"main": "dist/compiler-ssr.cjs.js",
|
||||
"types": "dist/compiler-ssr.d.ts",
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"buildOptions": {
|
||||
"prod": false,
|
||||
"formats": [
|
||||
"cjs"
|
||||
]
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/core.git",
|
||||
"directory": "packages/compiler-ssr"
|
||||
},
|
||||
"keywords": [
|
||||
"vue"
|
||||
],
|
||||
"author": "Evan You",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/vuejs/core/issues"
|
||||
},
|
||||
"homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-ssr#readme",
|
||||
"dependencies": {
|
||||
"@vue/shared": "3.3.4",
|
||||
"@vue/compiler-dom": "3.3.4"
|
||||
}
|
||||
}
|
21
node_modules/@vue/reactivity-transform/LICENSE
generated
vendored
21
node_modules/@vue/reactivity-transform/LICENSE
generated
vendored
|
@ -1,21 +0,0 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2018-present, Yuxi (Evan) You
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
123
node_modules/@vue/reactivity-transform/README.md
generated
vendored
123
node_modules/@vue/reactivity-transform/README.md
generated
vendored
|
@ -1,123 +0,0 @@
|
|||
# @vue/reactivity-transform
|
||||
|
||||
> ⚠️ This is experimental and the proposal has been dropped.
|
||||
> The feature is now marked as deprecated and will be removed from Vue core
|
||||
> in 3.4.
|
||||
>
|
||||
> See reason for deprecation [here](https://github.com/vuejs/rfcs/discussions/369#discussioncomment-5059028).
|
||||
|
||||
## Basic Rules
|
||||
|
||||
- Ref-creating APIs have `$`-prefixed versions that create reactive variables instead. They also do not need to be explicitly imported. These include:
|
||||
- `ref`
|
||||
- `computed`
|
||||
- `shallowRef`
|
||||
- `customRef`
|
||||
- `toRef`
|
||||
- `$()` can be used to destructure an object into reactive variables, or turn existing refs into reactive variables
|
||||
- `$$()` to "escape" the transform, which allows access to underlying refs
|
||||
|
||||
```js
|
||||
import { watchEffect } from 'vue'
|
||||
|
||||
// bind ref as a variable
|
||||
let count = $ref(0)
|
||||
|
||||
watchEffect(() => {
|
||||
// no need for .value
|
||||
console.log(count)
|
||||
})
|
||||
|
||||
// assignments are reactive
|
||||
count++
|
||||
|
||||
// get the actual ref
|
||||
console.log($$(count)) // { value: 1 }
|
||||
```
|
||||
|
||||
Macros can be optionally imported to make it more explicit:
|
||||
|
||||
```js
|
||||
// not necessary, but also works
|
||||
import { $, $ref } from 'vue/macros'
|
||||
|
||||
let count = $ref(0)
|
||||
const { x, y } = $(useMouse())
|
||||
```
|
||||
|
||||
### Global Types
|
||||
|
||||
To enable types for the macros globally, include the following in a `.d.ts` file:
|
||||
|
||||
```ts
|
||||
/// <reference types="vue/macros-global" />
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
This package is the lower-level transform that can be used standalone. Higher-level tooling (e.g. `@vitejs/plugin-vue` and `vue-loader`) will provide integration via options.
|
||||
|
||||
### `shouldTransform`
|
||||
|
||||
Can be used to do a cheap check to determine whether full transform should be performed.
|
||||
|
||||
```js
|
||||
import { shouldTransform } from '@vue/reactivity-transform'
|
||||
|
||||
shouldTransform(`let a = ref(0)`) // false
|
||||
shouldTransform(`let a = $ref(0)`) // true
|
||||
```
|
||||
|
||||
### `transform`
|
||||
|
||||
```js
|
||||
import { transform } from '@vue/reactivity-transform'
|
||||
|
||||
const src = `let a = $ref(0); a++`
|
||||
const {
|
||||
code, // import { ref as _ref } from 'vue'; let a = (ref(0)); a.value++"
|
||||
map
|
||||
} = transform(src, {
|
||||
filename: 'foo.ts',
|
||||
sourceMap: true,
|
||||
|
||||
// @babel/parser plugins to enable.
|
||||
// 'typescript' and 'jsx' will be auto-inferred from filename if provided,
|
||||
// so in most cases explicit parserPlugins are not necessary
|
||||
parserPlugins: [
|
||||
/* ... */
|
||||
]
|
||||
})
|
||||
```
|
||||
|
||||
**Options**
|
||||
|
||||
```ts
|
||||
interface RefTransformOptions {
|
||||
filename?: string
|
||||
sourceMap?: boolean // default: false
|
||||
parserPlugins?: ParserPlugin[]
|
||||
importHelpersFrom?: string // default: "vue"
|
||||
}
|
||||
```
|
||||
|
||||
### `transformAST`
|
||||
|
||||
Transform with an existing Babel AST + MagicString instance. This is used internally by `@vue/compiler-sfc` to avoid double parse/transform cost.
|
||||
|
||||
```js
|
||||
import { transformAST } from '@vue/reactivity-transform'
|
||||
import { parse } from '@babel/parser'
|
||||
import MagicString from 'magic-string'
|
||||
|
||||
const src = `let a = $ref(0); a++`
|
||||
const ast = parse(src, { sourceType: 'module' })
|
||||
const s = new MagicString(src)
|
||||
|
||||
const {
|
||||
rootRefs, // ['a']
|
||||
importedHelpers // ['ref']
|
||||
} = transformAST(ast, s)
|
||||
|
||||
console.log(s.toString()) // let a = _ref(0); a.value++
|
||||
```
|
545
node_modules/@vue/reactivity-transform/dist/reactivity-transform.cjs.js
generated
vendored
545
node_modules/@vue/reactivity-transform/dist/reactivity-transform.cjs.js
generated
vendored
|
@ -1,545 +0,0 @@
|
|||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, '__esModule', { value: true });
|
||||
|
||||
var MagicString = require('magic-string');
|
||||
var estreeWalker = require('estree-walker');
|
||||
var compilerCore = require('@vue/compiler-core');
|
||||
var parser = require('@babel/parser');
|
||||
var shared = require('@vue/shared');
|
||||
|
||||
const CONVERT_SYMBOL = "$";
|
||||
const ESCAPE_SYMBOL = "$$";
|
||||
const IMPORT_SOURCE = "vue/macros";
|
||||
const shorthands = ["ref", "computed", "shallowRef", "toRef", "customRef"];
|
||||
const transformCheckRE = /[^\w]\$(?:\$|ref|computed|shallowRef)?\s*(\(|\<)/;
|
||||
function shouldTransform(src) {
|
||||
return transformCheckRE.test(src);
|
||||
}
|
||||
function transform(src, {
|
||||
filename,
|
||||
sourceMap,
|
||||
parserPlugins,
|
||||
importHelpersFrom = "vue"
|
||||
} = {}) {
|
||||
const plugins = parserPlugins || [];
|
||||
if (filename) {
|
||||
if (/\.tsx?$/.test(filename)) {
|
||||
plugins.push("typescript");
|
||||
}
|
||||
if (filename.endsWith("x")) {
|
||||
plugins.push("jsx");
|
||||
}
|
||||
}
|
||||
const ast = parser.parse(src, {
|
||||
sourceType: "module",
|
||||
plugins
|
||||
});
|
||||
const s = new MagicString(src);
|
||||
const res = transformAST(ast.program, s, 0);
|
||||
if (res.importedHelpers.length) {
|
||||
s.prepend(
|
||||
`import { ${res.importedHelpers.map((h) => `${h} as _${h}`).join(", ")} } from '${importHelpersFrom}'
|
||||
`
|
||||
);
|
||||
}
|
||||
return {
|
||||
...res,
|
||||
code: s.toString(),
|
||||
map: sourceMap ? s.generateMap({
|
||||
source: filename,
|
||||
hires: true,
|
||||
includeContent: true
|
||||
}) : null
|
||||
};
|
||||
}
|
||||
function transformAST(ast, s, offset = 0, knownRefs, knownProps) {
|
||||
warnExperimental();
|
||||
const userImports = /* @__PURE__ */ Object.create(null);
|
||||
for (const node of ast.body) {
|
||||
if (node.type !== "ImportDeclaration")
|
||||
continue;
|
||||
walkImportDeclaration(node);
|
||||
}
|
||||
let convertSymbol;
|
||||
let escapeSymbol;
|
||||
for (const { local, imported, source, specifier } of Object.values(
|
||||
userImports
|
||||
)) {
|
||||
if (source === IMPORT_SOURCE) {
|
||||
if (imported === ESCAPE_SYMBOL) {
|
||||
escapeSymbol = local;
|
||||
} else if (imported === CONVERT_SYMBOL) {
|
||||
convertSymbol = local;
|
||||
} else if (imported !== local) {
|
||||
error(
|
||||
`macro imports for ref-creating methods do not support aliasing.`,
|
||||
specifier
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!convertSymbol && !userImports[CONVERT_SYMBOL]) {
|
||||
convertSymbol = CONVERT_SYMBOL;
|
||||
}
|
||||
if (!escapeSymbol && !userImports[ESCAPE_SYMBOL]) {
|
||||
escapeSymbol = ESCAPE_SYMBOL;
|
||||
}
|
||||
const importedHelpers = /* @__PURE__ */ new Set();
|
||||
const rootScope = {};
|
||||
const scopeStack = [rootScope];
|
||||
let currentScope = rootScope;
|
||||
let escapeScope;
|
||||
const excludedIds = /* @__PURE__ */ new WeakSet();
|
||||
const parentStack = [];
|
||||
const propsLocalToPublicMap = /* @__PURE__ */ Object.create(null);
|
||||
if (knownRefs) {
|
||||
for (const key of knownRefs) {
|
||||
rootScope[key] = {};
|
||||
}
|
||||
}
|
||||
if (knownProps) {
|
||||
for (const key in knownProps) {
|
||||
const { local, isConst } = knownProps[key];
|
||||
rootScope[local] = {
|
||||
isProp: true,
|
||||
isConst: !!isConst
|
||||
};
|
||||
propsLocalToPublicMap[local] = key;
|
||||
}
|
||||
}
|
||||
function walkImportDeclaration(node) {
|
||||
const source = node.source.value;
|
||||
if (source === IMPORT_SOURCE) {
|
||||
s.remove(node.start + offset, node.end + offset);
|
||||
}
|
||||
for (const specifier of node.specifiers) {
|
||||
const local = specifier.local.name;
|
||||
const imported = specifier.type === "ImportSpecifier" && specifier.imported.type === "Identifier" && specifier.imported.name || "default";
|
||||
userImports[local] = {
|
||||
source,
|
||||
local,
|
||||
imported,
|
||||
specifier
|
||||
};
|
||||
}
|
||||
}
|
||||
function isRefCreationCall(callee) {
|
||||
if (!convertSymbol || currentScope[convertSymbol] !== void 0) {
|
||||
return false;
|
||||
}
|
||||
if (callee === convertSymbol) {
|
||||
return convertSymbol;
|
||||
}
|
||||
if (callee[0] === "$" && shorthands.includes(callee.slice(1))) {
|
||||
return callee;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function error(msg, node) {
|
||||
const e = new Error(msg);
|
||||
e.node = node;
|
||||
throw e;
|
||||
}
|
||||
function helper(msg) {
|
||||
importedHelpers.add(msg);
|
||||
return `_${msg}`;
|
||||
}
|
||||
function registerBinding(id, binding) {
|
||||
excludedIds.add(id);
|
||||
if (currentScope) {
|
||||
currentScope[id.name] = binding ? binding : false;
|
||||
} else {
|
||||
error(
|
||||
"registerBinding called without active scope, something is wrong.",
|
||||
id
|
||||
);
|
||||
}
|
||||
}
|
||||
const registerRefBinding = (id, isConst = false) => registerBinding(id, { isConst });
|
||||
let tempVarCount = 0;
|
||||
function genTempVar() {
|
||||
return `__$temp_${++tempVarCount}`;
|
||||
}
|
||||
function snip(node) {
|
||||
return s.original.slice(node.start + offset, node.end + offset);
|
||||
}
|
||||
function walkScope(node, isRoot = false) {
|
||||
for (const stmt of node.body) {
|
||||
if (stmt.type === "VariableDeclaration") {
|
||||
walkVariableDeclaration(stmt, isRoot);
|
||||
} else if (stmt.type === "FunctionDeclaration" || stmt.type === "ClassDeclaration") {
|
||||
if (stmt.declare || !stmt.id)
|
||||
continue;
|
||||
registerBinding(stmt.id);
|
||||
} else if ((stmt.type === "ForOfStatement" || stmt.type === "ForInStatement") && stmt.left.type === "VariableDeclaration") {
|
||||
walkVariableDeclaration(stmt.left);
|
||||
} else if (stmt.type === "ExportNamedDeclaration" && stmt.declaration && stmt.declaration.type === "VariableDeclaration") {
|
||||
walkVariableDeclaration(stmt.declaration, isRoot);
|
||||
} else if (stmt.type === "LabeledStatement" && stmt.body.type === "VariableDeclaration") {
|
||||
walkVariableDeclaration(stmt.body, isRoot);
|
||||
}
|
||||
}
|
||||
}
|
||||
function walkVariableDeclaration(stmt, isRoot = false) {
|
||||
if (stmt.declare) {
|
||||
return;
|
||||
}
|
||||
for (const decl of stmt.declarations) {
|
||||
let refCall;
|
||||
const isCall = decl.init && decl.init.type === "CallExpression" && decl.init.callee.type === "Identifier";
|
||||
if (isCall && (refCall = isRefCreationCall(decl.init.callee.name))) {
|
||||
processRefDeclaration(
|
||||
refCall,
|
||||
decl.id,
|
||||
decl.init,
|
||||
stmt.kind === "const"
|
||||
);
|
||||
} else {
|
||||
const isProps = isRoot && isCall && decl.init.callee.name === "defineProps";
|
||||
for (const id of compilerCore.extractIdentifiers(decl.id)) {
|
||||
if (isProps) {
|
||||
excludedIds.add(id);
|
||||
} else {
|
||||
registerBinding(id);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
function processRefDeclaration(method, id, call, isConst) {
|
||||
excludedIds.add(call.callee);
|
||||
if (method === convertSymbol) {
|
||||
s.remove(call.callee.start + offset, call.callee.end + offset);
|
||||
if (id.type === "Identifier") {
|
||||
registerRefBinding(id, isConst);
|
||||
} else if (id.type === "ObjectPattern") {
|
||||
processRefObjectPattern(id, call, isConst);
|
||||
} else if (id.type === "ArrayPattern") {
|
||||
processRefArrayPattern(id, call, isConst);
|
||||
}
|
||||
} else {
|
||||
if (id.type === "Identifier") {
|
||||
registerRefBinding(id, isConst);
|
||||
s.overwrite(
|
||||
call.start + offset,
|
||||
call.start + method.length + offset,
|
||||
helper(method.slice(1))
|
||||
);
|
||||
} else {
|
||||
error(`${method}() cannot be used with destructure patterns.`, call);
|
||||
}
|
||||
}
|
||||
}
|
||||
function processRefObjectPattern(pattern, call, isConst, tempVar, path = []) {
|
||||
if (!tempVar) {
|
||||
tempVar = genTempVar();
|
||||
s.overwrite(pattern.start + offset, pattern.end + offset, tempVar);
|
||||
}
|
||||
let nameId;
|
||||
for (const p of pattern.properties) {
|
||||
let key;
|
||||
let defaultValue;
|
||||
if (p.type === "ObjectProperty") {
|
||||
if (p.key.start === p.value.start) {
|
||||
nameId = p.key;
|
||||
if (p.value.type === "Identifier") {
|
||||
excludedIds.add(p.value);
|
||||
} else if (p.value.type === "AssignmentPattern" && p.value.left.type === "Identifier") {
|
||||
excludedIds.add(p.value.left);
|
||||
defaultValue = p.value.right;
|
||||
}
|
||||
} else {
|
||||
key = p.computed ? p.key : p.key.name;
|
||||
if (p.value.type === "Identifier") {
|
||||
nameId = p.value;
|
||||
} else if (p.value.type === "ObjectPattern") {
|
||||
processRefObjectPattern(p.value, call, isConst, tempVar, [
|
||||
...path,
|
||||
key
|
||||
]);
|
||||
} else if (p.value.type === "ArrayPattern") {
|
||||
processRefArrayPattern(p.value, call, isConst, tempVar, [
|
||||
...path,
|
||||
key
|
||||
]);
|
||||
} else if (p.value.type === "AssignmentPattern") {
|
||||
if (p.value.left.type === "Identifier") {
|
||||
nameId = p.value.left;
|
||||
defaultValue = p.value.right;
|
||||
} else if (p.value.left.type === "ObjectPattern") {
|
||||
processRefObjectPattern(p.value.left, call, isConst, tempVar, [
|
||||
...path,
|
||||
[key, p.value.right]
|
||||
]);
|
||||
} else if (p.value.left.type === "ArrayPattern") {
|
||||
processRefArrayPattern(p.value.left, call, isConst, tempVar, [
|
||||
...path,
|
||||
[key, p.value.right]
|
||||
]);
|
||||
} else ;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
error(`reactivity destructure does not support rest elements.`, p);
|
||||
}
|
||||
if (nameId) {
|
||||
registerRefBinding(nameId, isConst);
|
||||
const source = pathToString(tempVar, path);
|
||||
const keyStr = shared.isString(key) ? `'${key}'` : key ? snip(key) : `'${nameId.name}'`;
|
||||
const defaultStr = defaultValue ? `, ${snip(defaultValue)}` : ``;
|
||||
s.appendLeft(
|
||||
call.end + offset,
|
||||
`,
|
||||
${nameId.name} = ${helper(
|
||||
"toRef"
|
||||
)}(${source}, ${keyStr}${defaultStr})`
|
||||
);
|
||||
}
|
||||
}
|
||||
if (nameId) {
|
||||
s.appendLeft(call.end + offset, ";");
|
||||
}
|
||||
}
|
||||
function processRefArrayPattern(pattern, call, isConst, tempVar, path = []) {
|
||||
if (!tempVar) {
|
||||
tempVar = genTempVar();
|
||||
s.overwrite(pattern.start + offset, pattern.end + offset, tempVar);
|
||||
}
|
||||
let nameId;
|
||||
for (let i = 0; i < pattern.elements.length; i++) {
|
||||
const e = pattern.elements[i];
|
||||
if (!e)
|
||||
continue;
|
||||
let defaultValue;
|
||||
if (e.type === "Identifier") {
|
||||
nameId = e;
|
||||
} else if (e.type === "AssignmentPattern") {
|
||||
nameId = e.left;
|
||||
defaultValue = e.right;
|
||||
} else if (e.type === "RestElement") {
|
||||
error(`reactivity destructure does not support rest elements.`, e);
|
||||
} else if (e.type === "ObjectPattern") {
|
||||
processRefObjectPattern(e, call, isConst, tempVar, [...path, i]);
|
||||
} else if (e.type === "ArrayPattern") {
|
||||
processRefArrayPattern(e, call, isConst, tempVar, [...path, i]);
|
||||
}
|
||||
if (nameId) {
|
||||
registerRefBinding(nameId, isConst);
|
||||
const source = pathToString(tempVar, path);
|
||||
const defaultStr = defaultValue ? `, ${snip(defaultValue)}` : ``;
|
||||
s.appendLeft(
|
||||
call.end + offset,
|
||||
`,
|
||||
${nameId.name} = ${helper(
|
||||
"toRef"
|
||||
)}(${source}, ${i}${defaultStr})`
|
||||
);
|
||||
}
|
||||
}
|
||||
if (nameId) {
|
||||
s.appendLeft(call.end + offset, ";");
|
||||
}
|
||||
}
|
||||
function pathToString(source, path) {
|
||||
if (path.length) {
|
||||
for (const seg of path) {
|
||||
if (shared.isArray(seg)) {
|
||||
source = `(${source}${segToString(seg[0])} || ${snip(seg[1])})`;
|
||||
} else {
|
||||
source += segToString(seg);
|
||||
}
|
||||
}
|
||||
}
|
||||
return source;
|
||||
}
|
||||
function segToString(seg) {
|
||||
if (typeof seg === "number") {
|
||||
return `[${seg}]`;
|
||||
} else if (typeof seg === "string") {
|
||||
return `.${seg}`;
|
||||
} else {
|
||||
return snip(seg);
|
||||
}
|
||||
}
|
||||
function rewriteId(scope, id, parent, parentStack2) {
|
||||
if (shared.hasOwn(scope, id.name)) {
|
||||
const binding = scope[id.name];
|
||||
if (binding) {
|
||||
if (binding.isConst && (parent.type === "AssignmentExpression" && id === parent.left || parent.type === "UpdateExpression")) {
|
||||
error(`Assignment to constant variable.`, id);
|
||||
}
|
||||
const { isProp } = binding;
|
||||
if (compilerCore.isStaticProperty(parent) && parent.shorthand) {
|
||||
if (!parent.inPattern || compilerCore.isInDestructureAssignment(parent, parentStack2)) {
|
||||
if (isProp) {
|
||||
if (escapeScope) {
|
||||
registerEscapedPropBinding(id);
|
||||
s.appendLeft(
|
||||
id.end + offset,
|
||||
`: __props_${propsLocalToPublicMap[id.name]}`
|
||||
);
|
||||
} else {
|
||||
s.appendLeft(
|
||||
id.end + offset,
|
||||
`: ${shared.genPropsAccessExp(propsLocalToPublicMap[id.name])}`
|
||||
);
|
||||
}
|
||||
} else {
|
||||
s.appendLeft(id.end + offset, `: ${id.name}.value`);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (isProp) {
|
||||
if (escapeScope) {
|
||||
registerEscapedPropBinding(id);
|
||||
s.overwrite(
|
||||
id.start + offset,
|
||||
id.end + offset,
|
||||
`__props_${propsLocalToPublicMap[id.name]}`
|
||||
);
|
||||
} else {
|
||||
s.overwrite(
|
||||
id.start + offset,
|
||||
id.end + offset,
|
||||
shared.genPropsAccessExp(propsLocalToPublicMap[id.name])
|
||||
);
|
||||
}
|
||||
} else {
|
||||
s.appendLeft(id.end + offset, ".value");
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
const propBindingRefs = {};
|
||||
function registerEscapedPropBinding(id) {
|
||||
if (!propBindingRefs.hasOwnProperty(id.name)) {
|
||||
propBindingRefs[id.name] = true;
|
||||
const publicKey = propsLocalToPublicMap[id.name];
|
||||
s.prependRight(
|
||||
offset,
|
||||
`const __props_${publicKey} = ${helper(
|
||||
`toRef`
|
||||
)}(__props, '${publicKey}');
|
||||
`
|
||||
);
|
||||
}
|
||||
}
|
||||
walkScope(ast, true);
|
||||
estreeWalker.walk(ast, {
|
||||
enter(node, parent) {
|
||||
parent && parentStack.push(parent);
|
||||
if (compilerCore.isFunctionType(node)) {
|
||||
scopeStack.push(currentScope = {});
|
||||
compilerCore.walkFunctionParams(node, registerBinding);
|
||||
if (node.body.type === "BlockStatement") {
|
||||
walkScope(node.body);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (node.type === "CatchClause") {
|
||||
scopeStack.push(currentScope = {});
|
||||
if (node.param && node.param.type === "Identifier") {
|
||||
registerBinding(node.param);
|
||||
}
|
||||
walkScope(node.body);
|
||||
return;
|
||||
}
|
||||
if (node.type === "BlockStatement" && !compilerCore.isFunctionType(parent)) {
|
||||
scopeStack.push(currentScope = {});
|
||||
walkScope(node);
|
||||
return;
|
||||
}
|
||||
if (parent && parent.type.startsWith("TS") && parent.type !== "TSAsExpression" && parent.type !== "TSNonNullExpression" && parent.type !== "TSTypeAssertion") {
|
||||
return this.skip();
|
||||
}
|
||||
if (node.type === "Identifier") {
|
||||
const binding = rootScope[node.name];
|
||||
if (
|
||||
// if inside $$(), skip unless this is a destructured prop binding
|
||||
!(escapeScope && (!binding || !binding.isProp)) && compilerCore.isReferencedIdentifier(node, parent, parentStack) && !excludedIds.has(node)
|
||||
) {
|
||||
let i = scopeStack.length;
|
||||
while (i--) {
|
||||
if (rewriteId(scopeStack[i], node, parent, parentStack)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (node.type === "CallExpression" && node.callee.type === "Identifier") {
|
||||
const callee = node.callee.name;
|
||||
const refCall = isRefCreationCall(callee);
|
||||
if (refCall && (!parent || parent.type !== "VariableDeclarator")) {
|
||||
return error(
|
||||
`${refCall} can only be used as the initializer of a variable declaration.`,
|
||||
node
|
||||
);
|
||||
}
|
||||
if (escapeSymbol && currentScope[escapeSymbol] === void 0 && callee === escapeSymbol) {
|
||||
escapeScope = node;
|
||||
s.remove(node.callee.start + offset, node.callee.end + offset);
|
||||
if ((parent == null ? void 0 : parent.type) === "ExpressionStatement") {
|
||||
let i = (node.leadingComments ? node.leadingComments[0].start : node.start) + offset;
|
||||
while (i--) {
|
||||
const char = s.original.charAt(i);
|
||||
if (char === "\n") {
|
||||
s.prependRight(node.start + offset, ";");
|
||||
break;
|
||||
} else if (!/\s/.test(char)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
leave(node, parent) {
|
||||
parent && parentStack.pop();
|
||||
if (node.type === "BlockStatement" && !compilerCore.isFunctionType(parent) || compilerCore.isFunctionType(node)) {
|
||||
scopeStack.pop();
|
||||
currentScope = scopeStack[scopeStack.length - 1] || null;
|
||||
}
|
||||
if (node === escapeScope) {
|
||||
escapeScope = void 0;
|
||||
}
|
||||
}
|
||||
});
|
||||
return {
|
||||
rootRefs: Object.keys(rootScope).filter((key) => {
|
||||
const binding = rootScope[key];
|
||||
return binding && !binding.isProp;
|
||||
}),
|
||||
importedHelpers: [...importedHelpers]
|
||||
};
|
||||
}
|
||||
const hasWarned = {};
|
||||
function warnExperimental() {
|
||||
if (typeof window !== "undefined") {
|
||||
return;
|
||||
}
|
||||
warnOnce(
|
||||
`Reactivity Transform was an experimental feature and has now been deprecated. It will be removed from Vue core in 3.4. If you intend to continue using it, switch to https://vue-macros.sxzz.moe/features/reactivity-transform.html.
|
||||
See reason for deprecation here: https://github.com/vuejs/rfcs/discussions/369#discussioncomment-5059028`
|
||||
);
|
||||
}
|
||||
function warnOnce(msg) {
|
||||
const isNodeProd = typeof process !== "undefined" && process.env.NODE_ENV === "production";
|
||||
if (!isNodeProd && true && !hasWarned[msg]) {
|
||||
hasWarned[msg] = true;
|
||||
warn(msg);
|
||||
}
|
||||
}
|
||||
function warn(msg) {
|
||||
console.warn(
|
||||
`\x1B[1m\x1B[33m[@vue/reactivity-transform]\x1B[0m\x1B[33m ${msg}\x1B[0m
|
||||
`
|
||||
);
|
||||
}
|
||||
|
||||
exports.shouldTransform = shouldTransform;
|
||||
exports.transform = transform;
|
||||
exports.transformAST = transformAST;
|
34
node_modules/@vue/reactivity-transform/dist/reactivity-transform.d.ts
generated
vendored
34
node_modules/@vue/reactivity-transform/dist/reactivity-transform.d.ts
generated
vendored
|
@ -1,34 +0,0 @@
|
|||
import { ImportSpecifier, ImportDefaultSpecifier, ImportNamespaceSpecifier, Program } from '@babel/types';
|
||||
import MagicString, { SourceMap } from 'magic-string';
|
||||
import { ParserPlugin } from '@babel/parser';
|
||||
|
||||
export declare function shouldTransform(src: string): boolean;
|
||||
export interface RefTransformOptions {
|
||||
filename?: string;
|
||||
sourceMap?: boolean;
|
||||
parserPlugins?: ParserPlugin[];
|
||||
importHelpersFrom?: string;
|
||||
}
|
||||
export interface RefTransformResults {
|
||||
code: string;
|
||||
map: SourceMap | null;
|
||||
rootRefs: string[];
|
||||
importedHelpers: string[];
|
||||
}
|
||||
export interface ImportBinding {
|
||||
local: string;
|
||||
imported: string;
|
||||
source: string;
|
||||
specifier: ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier;
|
||||
}
|
||||
export declare function transform(src: string, { filename, sourceMap, parserPlugins, importHelpersFrom }?: RefTransformOptions): RefTransformResults;
|
||||
export declare function transformAST(ast: Program, s: MagicString, offset?: number, knownRefs?: string[], knownProps?: Record<string, // public prop key
|
||||
{
|
||||
local: string;
|
||||
default?: any;
|
||||
isConst?: boolean;
|
||||
}>): {
|
||||
rootRefs: string[];
|
||||
importedHelpers: string[];
|
||||
};
|
||||
|
41
node_modules/@vue/reactivity-transform/package.json
generated
vendored
41
node_modules/@vue/reactivity-transform/package.json
generated
vendored
|
@ -1,41 +0,0 @@
|
|||
{
|
||||
"name": "@vue/reactivity-transform",
|
||||
"version": "3.3.4",
|
||||
"description": "@vue/reactivity-transform",
|
||||
"main": "dist/reactivity-transform.cjs.js",
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"buildOptions": {
|
||||
"formats": [
|
||||
"cjs"
|
||||
],
|
||||
"prod": false
|
||||
},
|
||||
"types": "dist/reactivity-transform.d.ts",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/core.git",
|
||||
"directory": "packages/reactivity-transform"
|
||||
},
|
||||
"keywords": [
|
||||
"vue"
|
||||
],
|
||||
"author": "Evan You",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/vuejs/core/issues"
|
||||
},
|
||||
"homepage": "https://github.com/vuejs/core/tree/dev/packages/reactivity-transform#readme",
|
||||
"dependencies": {
|
||||
"@babel/parser": "^7.20.15",
|
||||
"@vue/compiler-core": "3.3.4",
|
||||
"@vue/shared": "3.3.4",
|
||||
"estree-walker": "^2.0.2",
|
||||
"magic-string": "^0.30.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.21.3",
|
||||
"@babel/types": "^7.21.3"
|
||||
}
|
||||
}
|
21
node_modules/@vue/reactivity/LICENSE
generated
vendored
21
node_modules/@vue/reactivity/LICENSE
generated
vendored
|
@ -1,21 +0,0 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2018-present, Yuxi (Evan) You
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
19
node_modules/@vue/reactivity/README.md
generated
vendored
19
node_modules/@vue/reactivity/README.md
generated
vendored
|
@ -1,19 +0,0 @@
|
|||
# @vue/reactivity
|
||||
|
||||
## Usage Note
|
||||
|
||||
This package is inlined into Global & Browser ESM builds of user-facing renderers (e.g. `@vue/runtime-dom`), but also published as a package that can be used standalone. The standalone build should not be used alongside a pre-bundled build of a user-facing renderer, as they will have different internal storage for reactivity connections. A user-facing renderer should re-export all APIs from this package.
|
||||
|
||||
For full exposed APIs, see `src/index.ts`.
|
||||
|
||||
## Credits
|
||||
|
||||
The implementation of this module is inspired by the following prior art in the JavaScript ecosystem:
|
||||
|
||||
- [Meteor Tracker](https://docs.meteor.com/api/tracker.html)
|
||||
- [nx-js/observer-util](https://github.com/nx-js/observer-util)
|
||||
- [salesforce/observable-membrane](https://github.com/salesforce/observable-membrane)
|
||||
|
||||
## Caveats
|
||||
|
||||
- Built-in objects are not observed except for `Array`, `Map`, `WeakMap`, `Set` and `WeakSet`.
|
1277
node_modules/@vue/reactivity/dist/reactivity.cjs.js
generated
vendored
1277
node_modules/@vue/reactivity/dist/reactivity.cjs.js
generated
vendored
File diff suppressed because it is too large
Load diff
1198
node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js
generated
vendored
1198
node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js
generated
vendored
File diff suppressed because it is too large
Load diff
676
node_modules/@vue/reactivity/dist/reactivity.d.ts
generated
vendored
676
node_modules/@vue/reactivity/dist/reactivity.d.ts
generated
vendored
|
@ -1,676 +0,0 @@
|
|||
import { IfAny } from '@vue/shared';
|
||||
|
||||
export declare const enum ReactiveFlags {
|
||||
SKIP = "__v_skip",
|
||||
IS_REACTIVE = "__v_isReactive",
|
||||
IS_READONLY = "__v_isReadonly",
|
||||
IS_SHALLOW = "__v_isShallow",
|
||||
RAW = "__v_raw"
|
||||
}
|
||||
export type UnwrapNestedRefs<T> = T extends Ref ? T : UnwrapRefSimple<T>;
|
||||
/**
|
||||
* Returns a reactive proxy of the object.
|
||||
*
|
||||
* The reactive conversion is "deep": it affects all nested properties. A
|
||||
* reactive object also deeply unwraps any properties that are refs while
|
||||
* maintaining reactivity.
|
||||
*
|
||||
* @example
|
||||
* ```js
|
||||
* const obj = reactive({ count: 0 })
|
||||
* ```
|
||||
*
|
||||
* @param target - The source object.
|
||||
* @see {@link https://vuejs.org/api/reactivity-core.html#reactive}
|
||||
*/
|
||||
export declare function reactive<T extends object>(target: T): UnwrapNestedRefs<T>;
|
||||
declare const ShallowReactiveMarker: unique symbol;
|
||||
export type ShallowReactive<T> = T & {
|
||||
[ShallowReactiveMarker]?: true;
|
||||
};
|
||||
/**
|
||||
* Shallow version of {@link reactive()}.
|
||||
*
|
||||
* Unlike {@link reactive()}, there is no deep conversion: only root-level
|
||||
* properties are reactive for a shallow reactive object. Property values are
|
||||
* stored and exposed as-is - this also means properties with ref values will
|
||||
* not be automatically unwrapped.
|
||||
*
|
||||
* @example
|
||||
* ```js
|
||||
* const state = shallowReactive({
|
||||
* foo: 1,
|
||||
* nested: {
|
||||
* bar: 2
|
||||
* }
|
||||
* })
|
||||
*
|
||||
* // mutating state's own properties is reactive
|
||||
* state.foo++
|
||||
*
|
||||
* // ...but does not convert nested objects
|
||||
* isReactive(state.nested) // false
|
||||
*
|
||||
* // NOT reactive
|
||||
* state.nested.bar++
|
||||
* ```
|
||||
*
|
||||
* @param target - The source object.
|
||||
* @see {@link https://vuejs.org/api/reactivity-advanced.html#shallowreactive}
|
||||
*/
|
||||
export declare function shallowReactive<T extends object>(target: T): ShallowReactive<T>;
|
||||
type Primitive = string | number | boolean | bigint | symbol | undefined | null;
|
||||
type Builtin = Primitive | Function | Date | Error | RegExp;
|
||||
export type DeepReadonly<T> = T extends Builtin ? T : T extends Map<infer K, infer V> ? ReadonlyMap<DeepReadonly<K>, DeepReadonly<V>> : T extends ReadonlyMap<infer K, infer V> ? ReadonlyMap<DeepReadonly<K>, DeepReadonly<V>> : T extends WeakMap<infer K, infer V> ? WeakMap<DeepReadonly<K>, DeepReadonly<V>> : T extends Set<infer U> ? ReadonlySet<DeepReadonly<U>> : T extends ReadonlySet<infer U> ? ReadonlySet<DeepReadonly<U>> : T extends WeakSet<infer U> ? WeakSet<DeepReadonly<U>> : T extends Promise<infer U> ? Promise<DeepReadonly<U>> : T extends Ref<infer U> ? Readonly<Ref<DeepReadonly<U>>> : T extends {} ? {
|
||||
readonly [K in keyof T]: DeepReadonly<T[K]>;
|
||||
} : Readonly<T>;
|
||||
/**
|
||||
* Takes an object (reactive or plain) or a ref and returns a readonly proxy to
|
||||
* the original.
|
||||
*
|
||||
* A readonly proxy is deep: any nested property accessed will be readonly as
|
||||
* well. It also has the same ref-unwrapping behavior as {@link reactive()},
|
||||
* except the unwrapped values will also be made readonly.
|
||||
*
|
||||
* @example
|
||||
* ```js
|
||||
* const original = reactive({ count: 0 })
|
||||
*
|
||||
* const copy = readonly(original)
|
||||
*
|
||||
* watchEffect(() => {
|
||||
* // works for reactivity tracking
|
||||
* console.log(copy.count)
|
||||
* })
|
||||
*
|
||||
* // mutating original will trigger watchers relying on the copy
|
||||
* original.count++
|
||||
*
|
||||
* // mutating the copy will fail and result in a warning
|
||||
* copy.count++ // warning!
|
||||
* ```
|
||||
*
|
||||
* @param target - The source object.
|
||||
* @see {@link https://vuejs.org/api/reactivity-core.html#readonly}
|
||||
*/
|
||||
export declare function readonly<T extends object>(target: T): DeepReadonly<UnwrapNestedRefs<T>>;
|
||||
/**
|
||||
* Shallow version of {@link readonly()}.
|
||||
*
|
||||
* Unlike {@link readonly()}, there is no deep conversion: only root-level
|
||||
* properties are made readonly. Property values are stored and exposed as-is -
|
||||
* this also means properties with ref values will not be automatically
|
||||
* unwrapped.
|
||||
*
|
||||
* @example
|
||||
* ```js
|
||||
* const state = shallowReadonly({
|
||||
* foo: 1,
|
||||
* nested: {
|
||||
* bar: 2
|
||||
* }
|
||||
* })
|
||||
*
|
||||
* // mutating state's own properties will fail
|
||||
* state.foo++
|
||||
*
|
||||
* // ...but works on nested objects
|
||||
* isReadonly(state.nested) // false
|
||||
*
|
||||
* // works
|
||||
* state.nested.bar++
|
||||
* ```
|
||||
*
|
||||
* @param target - The source object.
|
||||
* @see {@link https://vuejs.org/api/reactivity-advanced.html#shallowreadonly}
|
||||
*/
|
||||
export declare function shallowReadonly<T extends object>(target: T): Readonly<T>;
|
||||
/**
|
||||
* Checks if an object is a proxy created by {@link reactive()} or
|
||||
* {@link shallowReactive()} (or {@link ref()} in some cases).
|
||||
*
|
||||
* @example
|
||||
* ```js
|
||||
* isReactive(reactive({})) // => true
|
||||
* isReactive(readonly(reactive({}))) // => true
|
||||
* isReactive(ref({}).value) // => true
|
||||
* isReactive(readonly(ref({})).value) // => true
|
||||
* isReactive(ref(true)) // => false
|
||||
* isReactive(shallowRef({}).value) // => false
|
||||
* isReactive(shallowReactive({})) // => true
|
||||
* ```
|
||||
*
|
||||
* @param value - The value to check.
|
||||
* @see {@link https://vuejs.org/api/reactivity-utilities.html#isreactive}
|
||||
*/
|
||||
export declare function isReactive(value: unknown): boolean;
|
||||
/**
|
||||
* Checks whether the passed value is a readonly object. The properties of a
|
||||
* readonly object can change, but they can't be assigned directly via the
|
||||
* passed object.
|
||||
*
|
||||
* The proxies created by {@link readonly()} and {@link shallowReadonly()} are
|
||||
* both considered readonly, as is a computed ref without a set function.
|
||||
*
|
||||
* @param value - The value to check.
|
||||
* @see {@link https://vuejs.org/api/reactivity-utilities.html#isreadonly}
|
||||
*/
|
||||
export declare function isReadonly(value: unknown): boolean;
|
||||
export declare function isShallow(value: unknown): boolean;
|
||||
/**
|
||||
* Checks if an object is a proxy created by {@link reactive},
|
||||
* {@link readonly}, {@link shallowReactive} or {@link shallowReadonly()}.
|
||||
*
|
||||
* @param value - The value to check.
|
||||
* @see {@link https://vuejs.org/api/reactivity-utilities.html#isproxy}
|
||||
*/
|
||||
export declare function isProxy(value: unknown): boolean;
|
||||
/**
|
||||
* Returns the raw, original object of a Vue-created proxy.
|
||||
*
|
||||
* `toRaw()` can return the original object from proxies created by
|
||||
* {@link reactive()}, {@link readonly()}, {@link shallowReactive()} or
|
||||
* {@link shallowReadonly()}.
|
||||
*
|
||||
* This is an escape hatch that can be used to temporarily read without
|
||||
* incurring proxy access / tracking overhead or write without triggering
|
||||
* changes. It is **not** recommended to hold a persistent reference to the
|
||||
* original object. Use with caution.
|
||||
*
|
||||
* @example
|
||||
* ```js
|
||||
* const foo = {}
|
||||
* const reactiveFoo = reactive(foo)
|
||||
*
|
||||
* console.log(toRaw(reactiveFoo) === foo) // true
|
||||
* ```
|
||||
*
|
||||
* @param observed - The object for which the "raw" value is requested.
|
||||
* @see {@link https://vuejs.org/api/reactivity-advanced.html#toraw}
|
||||
*/
|
||||
export declare function toRaw<T>(observed: T): T;
|
||||
export type Raw<T> = T & {
|
||||
[RawSymbol]?: true;
|
||||
};
|
||||
/**
|
||||
* Marks an object so that it will never be converted to a proxy. Returns the
|
||||
* object itself.
|
||||
*
|
||||
* @example
|
||||
* ```js
|
||||
* const foo = markRaw({})
|
||||
* console.log(isReactive(reactive(foo))) // false
|
||||
*
|
||||
* // also works when nested inside other reactive objects
|
||||
* const bar = reactive({ foo })
|
||||
* console.log(isReactive(bar.foo)) // false
|
||||
* ```
|
||||
*
|
||||
* **Warning:** `markRaw()` together with the shallow APIs such as
|
||||
* {@link shallowReactive()} allow you to selectively opt-out of the default
|
||||
* deep reactive/readonly conversion and embed raw, non-proxied objects in your
|
||||
* state graph.
|
||||
*
|
||||
* @param value - The object to be marked as "raw".
|
||||
* @see {@link https://vuejs.org/api/reactivity-advanced.html#markraw}
|
||||
*/
|
||||
export declare function markRaw<T extends object>(value: T): Raw<T>;
|
||||
|
||||
type CollectionTypes = IterableCollections | WeakCollections;
|
||||
type IterableCollections = Map<any, any> | Set<any>;
|
||||
type WeakCollections = WeakMap<any, any> | WeakSet<any>;
|
||||
|
||||
export declare const enum TrackOpTypes {
|
||||
GET = "get",
|
||||
HAS = "has",
|
||||
ITERATE = "iterate"
|
||||
}
|
||||
export declare const enum TriggerOpTypes {
|
||||
SET = "set",
|
||||
ADD = "add",
|
||||
DELETE = "delete",
|
||||
CLEAR = "clear"
|
||||
}
|
||||
|
||||
export declare class EffectScope {
|
||||
detached: boolean;
|
||||
/* removed internal: _active */
|
||||
/* removed internal: effects */
|
||||
/* removed internal: cleanups */
|
||||
/* removed internal: parent */
|
||||
/* removed internal: scopes */
|
||||
/* removed internal: index */
|
||||
constructor(detached?: boolean);
|
||||
get active(): boolean;
|
||||
run<T>(fn: () => T): T | undefined;
|
||||
/* removed internal: on */
|
||||
/* removed internal: off */
|
||||
stop(fromParent?: boolean): void;
|
||||
}
|
||||
/**
|
||||
* Creates an effect scope object which can capture the reactive effects (i.e.
|
||||
* computed and watchers) created within it so that these effects can be
|
||||
* disposed together. For detailed use cases of this API, please consult its
|
||||
* corresponding {@link https://github.com/vuejs/rfcs/blob/master/active-rfcs/0041-reactivity-effect-scope.md | RFC}.
|
||||
*
|
||||
* @param detached - Can be used to create a "detached" effect scope.
|
||||
* @see {@link https://vuejs.org/api/reactivity-advanced.html#effectscope}
|
||||
*/
|
||||
export declare function effectScope(detached?: boolean): EffectScope;
|
||||
/**
|
||||
* Returns the current active effect scope if there is one.
|
||||
*
|
||||
* @see {@link https://vuejs.org/api/reactivity-advanced.html#getcurrentscope}
|
||||
*/
|
||||
export declare function getCurrentScope(): EffectScope | undefined;
|
||||
/**
|
||||
* Registers a dispose callback on the current active effect scope. The
|
||||
* callback will be invoked when the associated effect scope is stopped.
|
||||
*
|
||||
* @param fn - The callback function to attach to the scope's cleanup.
|
||||
* @see {@link https://vuejs.org/api/reactivity-advanced.html#onscopedispose}
|
||||
*/
|
||||
export declare function onScopeDispose(fn: () => void): void;
|
||||
|
||||
declare const ComputedRefSymbol: unique symbol;
|
||||
export interface ComputedRef<T = any> extends WritableComputedRef<T> {
|
||||
readonly value: T;
|
||||
[ComputedRefSymbol]: true;
|
||||
}
|
||||
export interface WritableComputedRef<T> extends Ref<T> {
|
||||
readonly effect: ReactiveEffect<T>;
|
||||
}
|
||||
export type ComputedGetter<T> = (...args: any[]) => T;
|
||||
export type ComputedSetter<T> = (v: T) => void;
|
||||
export interface WritableComputedOptions<T> {
|
||||
get: ComputedGetter<T>;
|
||||
set: ComputedSetter<T>;
|
||||
}
|
||||
declare class ComputedRefImpl<T> {
|
||||
private readonly _setter;
|
||||
dep?: Dep;
|
||||
private _value;
|
||||
readonly effect: ReactiveEffect<T>;
|
||||
readonly __v_isRef = true;
|
||||
readonly [ReactiveFlags.IS_READONLY]: boolean;
|
||||
_dirty: boolean;
|
||||
_cacheable: boolean;
|
||||
constructor(getter: ComputedGetter<T>, _setter: ComputedSetter<T>, isReadonly: boolean, isSSR: boolean);
|
||||
get value(): T;
|
||||
set value(newValue: T);
|
||||
}
|
||||
/**
|
||||
* Takes a getter function and returns a readonly reactive ref object for the
|
||||
* returned value from the getter. It can also take an object with get and set
|
||||
* functions to create a writable ref object.
|
||||
*
|
||||
* @example
|
||||
* ```js
|
||||
* // Creating a readonly computed ref:
|
||||
* const count = ref(1)
|
||||
* const plusOne = computed(() => count.value + 1)
|
||||
*
|
||||
* console.log(plusOne.value) // 2
|
||||
* plusOne.value++ // error
|
||||
* ```
|
||||
*
|
||||
* ```js
|
||||
* // Creating a writable computed ref:
|
||||
* const count = ref(1)
|
||||
* const plusOne = computed({
|
||||
* get: () => count.value + 1,
|
||||
* set: (val) => {
|
||||
* count.value = val - 1
|
||||
* }
|
||||
* })
|
||||
*
|
||||
* plusOne.value = 1
|
||||
* console.log(count.value) // 0
|
||||
* ```
|
||||
*
|
||||
* @param getter - Function that produces the next value.
|
||||
* @param debugOptions - For debugging. See {@link https://vuejs.org/guide/extras/reactivity-in-depth.html#computed-debugging}.
|
||||
* @see {@link https://vuejs.org/api/reactivity-core.html#computed}
|
||||
*/
|
||||
export declare function computed<T>(getter: ComputedGetter<T>, debugOptions?: DebuggerOptions): ComputedRef<T>;
|
||||
export declare function computed<T>(options: WritableComputedOptions<T>, debugOptions?: DebuggerOptions): WritableComputedRef<T>;
|
||||
|
||||
export type EffectScheduler = (...args: any[]) => any;
|
||||
export type DebuggerEvent = {
|
||||
effect: ReactiveEffect;
|
||||
} & DebuggerEventExtraInfo;
|
||||
export type DebuggerEventExtraInfo = {
|
||||
target: object;
|
||||
type: TrackOpTypes | TriggerOpTypes;
|
||||
key: any;
|
||||
newValue?: any;
|
||||
oldValue?: any;
|
||||
oldTarget?: Map<any, any> | Set<any>;
|
||||
};
|
||||
export declare const ITERATE_KEY: unique symbol;
|
||||
export declare class ReactiveEffect<T = any> {
|
||||
fn: () => T;
|
||||
scheduler: EffectScheduler | null;
|
||||
active: boolean;
|
||||
deps: Dep[];
|
||||
parent: ReactiveEffect | undefined;
|
||||
/* removed internal: computed */
|
||||
/* removed internal: allowRecurse */
|
||||
/* removed internal: deferStop */
|
||||
onStop?: () => void;
|
||||
onTrack?: (event: DebuggerEvent) => void;
|
||||
onTrigger?: (event: DebuggerEvent) => void;
|
||||
constructor(fn: () => T, scheduler?: EffectScheduler | null, scope?: EffectScope);
|
||||
run(): T | undefined;
|
||||
stop(): void;
|
||||
}
|
||||
export interface DebuggerOptions {
|
||||
onTrack?: (event: DebuggerEvent) => void;
|
||||
onTrigger?: (event: DebuggerEvent) => void;
|
||||
}
|
||||
export interface ReactiveEffectOptions extends DebuggerOptions {
|
||||
lazy?: boolean;
|
||||
scheduler?: EffectScheduler;
|
||||
scope?: EffectScope;
|
||||
allowRecurse?: boolean;
|
||||
onStop?: () => void;
|
||||
}
|
||||
export interface ReactiveEffectRunner<T = any> {
|
||||
(): T;
|
||||
effect: ReactiveEffect;
|
||||
}
|
||||
/**
|
||||
* Registers the given function to track reactive updates.
|
||||
*
|
||||
* The given function will be run once immediately. Every time any reactive
|
||||
* property that's accessed within it gets updated, the function will run again.
|
||||
*
|
||||
* @param fn - The function that will track reactive updates.
|
||||
* @param options - Allows to control the effect's behaviour.
|
||||
* @returns A runner that can be used to control the effect after creation.
|
||||
*/
|
||||
export declare function effect<T = any>(fn: () => T, options?: ReactiveEffectOptions): ReactiveEffectRunner;
|
||||
/**
|
||||
* Stops the effect associated with the given runner.
|
||||
*
|
||||
* @param runner - Association with the effect to stop tracking.
|
||||
*/
|
||||
export declare function stop(runner: ReactiveEffectRunner): void;
|
||||
/**
|
||||
* Temporarily pauses tracking.
|
||||
*/
|
||||
export declare function pauseTracking(): void;
|
||||
/**
|
||||
* Re-enables effect tracking (if it was paused).
|
||||
*/
|
||||
export declare function enableTracking(): void;
|
||||
/**
|
||||
* Resets the previous global effect tracking state.
|
||||
*/
|
||||
export declare function resetTracking(): void;
|
||||
/**
|
||||
* Tracks access to a reactive property.
|
||||
*
|
||||
* This will check which effect is running at the moment and record it as dep
|
||||
* which records all effects that depend on the reactive property.
|
||||
*
|
||||
* @param target - Object holding the reactive property.
|
||||
* @param type - Defines the type of access to the reactive property.
|
||||
* @param key - Identifier of the reactive property to track.
|
||||
*/
|
||||
export declare function track(target: object, type: TrackOpTypes, key: unknown): void;
|
||||
/**
|
||||
* Finds all deps associated with the target (or a specific property) and
|
||||
* triggers the effects stored within.
|
||||
*
|
||||
* @param target - The reactive object.
|
||||
* @param type - Defines the type of the operation that needs to trigger effects.
|
||||
* @param key - Can be used to target a specific reactive property in the target object.
|
||||
*/
|
||||
export declare function trigger(target: object, type: TriggerOpTypes, key?: unknown, newValue?: unknown, oldValue?: unknown, oldTarget?: Map<unknown, unknown> | Set<unknown>): void;
|
||||
|
||||
type Dep = Set<ReactiveEffect> & TrackedMarkers;
|
||||
/**
|
||||
* wasTracked and newTracked maintain the status for several levels of effect
|
||||
* tracking recursion. One bit per level is used to define whether the dependency
|
||||
* was/is tracked.
|
||||
*/
|
||||
type TrackedMarkers = {
|
||||
/**
|
||||
* wasTracked
|
||||
*/
|
||||
w: number;
|
||||
/**
|
||||
* newTracked
|
||||
*/
|
||||
n: number;
|
||||
};
|
||||
|
||||
declare const RefSymbol: unique symbol;
|
||||
declare const RawSymbol: unique symbol;
|
||||
export interface Ref<T = any> {
|
||||
value: T;
|
||||
/**
|
||||
* Type differentiator only.
|
||||
* We need this to be in public d.ts but don't want it to show up in IDE
|
||||
* autocomplete, so we use a private Symbol instead.
|
||||
*/
|
||||
[RefSymbol]: true;
|
||||
}
|
||||
/**
|
||||
* Checks if a value is a ref object.
|
||||
*
|
||||
* @param r - The value to inspect.
|
||||
* @see {@link https://vuejs.org/api/reactivity-utilities.html#isref}
|
||||
*/
|
||||
export declare function isRef<T>(r: Ref<T> | unknown): r is Ref<T>;
|
||||
/**
|
||||
* Takes an inner value and returns a reactive and mutable ref object, which
|
||||
* has a single property `.value` that points to the inner value.
|
||||
*
|
||||
* @param value - The object to wrap in the ref.
|
||||
* @see {@link https://vuejs.org/api/reactivity-core.html#ref}
|
||||
*/
|
||||
export declare function ref<T extends Ref>(value: T): T;
|
||||
export declare function ref<T>(value: T): Ref<UnwrapRef<T>>;
|
||||
export declare function ref<T = any>(): Ref<T | undefined>;
|
||||
declare const ShallowRefMarker: unique symbol;
|
||||
export type ShallowRef<T = any> = Ref<T> & {
|
||||
[ShallowRefMarker]?: true;
|
||||
};
|
||||
/**
|
||||
* Shallow version of {@link ref()}.
|
||||
*
|
||||
* @example
|
||||
* ```js
|
||||
* const state = shallowRef({ count: 1 })
|
||||
*
|
||||
* // does NOT trigger change
|
||||
* state.value.count = 2
|
||||
*
|
||||
* // does trigger change
|
||||
* state.value = { count: 2 }
|
||||
* ```
|
||||
*
|
||||
* @param value - The "inner value" for the shallow ref.
|
||||
* @see {@link https://vuejs.org/api/reactivity-advanced.html#shallowref}
|
||||
*/
|
||||
export declare function shallowRef<T extends object>(value: T): T extends Ref ? T : ShallowRef<T>;
|
||||
export declare function shallowRef<T>(value: T): ShallowRef<T>;
|
||||
export declare function shallowRef<T = any>(): ShallowRef<T | undefined>;
|
||||
/**
|
||||
* Force trigger effects that depends on a shallow ref. This is typically used
|
||||
* after making deep mutations to the inner value of a shallow ref.
|
||||
*
|
||||
* @example
|
||||
* ```js
|
||||
* const shallow = shallowRef({
|
||||
* greet: 'Hello, world'
|
||||
* })
|
||||
*
|
||||
* // Logs "Hello, world" once for the first run-through
|
||||
* watchEffect(() => {
|
||||
* console.log(shallow.value.greet)
|
||||
* })
|
||||
*
|
||||
* // This won't trigger the effect because the ref is shallow
|
||||
* shallow.value.greet = 'Hello, universe'
|
||||
*
|
||||
* // Logs "Hello, universe"
|
||||
* triggerRef(shallow)
|
||||
* ```
|
||||
*
|
||||
* @param ref - The ref whose tied effects shall be executed.
|
||||
* @see {@link https://vuejs.org/api/reactivity-advanced.html#triggerref}
|
||||
*/
|
||||
export declare function triggerRef(ref: Ref): void;
|
||||
export type MaybeRef<T = any> = T | Ref<T>;
|
||||
export type MaybeRefOrGetter<T = any> = MaybeRef<T> | (() => T);
|
||||
/**
|
||||
* Returns the inner value if the argument is a ref, otherwise return the
|
||||
* argument itself. This is a sugar function for
|
||||
* `val = isRef(val) ? val.value : val`.
|
||||
*
|
||||
* @example
|
||||
* ```js
|
||||
* function useFoo(x: number | Ref<number>) {
|
||||
* const unwrapped = unref(x)
|
||||
* // unwrapped is guaranteed to be number now
|
||||
* }
|
||||
* ```
|
||||
*
|
||||
* @param ref - Ref or plain value to be converted into the plain value.
|
||||
* @see {@link https://vuejs.org/api/reactivity-utilities.html#unref}
|
||||
*/
|
||||
export declare function unref<T>(ref: MaybeRef<T>): T;
|
||||
/**
|
||||
* Normalizes values / refs / getters to values.
|
||||
* This is similar to {@link unref()}, except that it also normalizes getters.
|
||||
* If the argument is a getter, it will be invoked and its return value will
|
||||
* be returned.
|
||||
*
|
||||
* @example
|
||||
* ```js
|
||||
* toValue(1) // 1
|
||||
* toValue(ref(1)) // 1
|
||||
* toValue(() => 1) // 1
|
||||
* ```
|
||||
*
|
||||
* @param source - A getter, an existing ref, or a non-function value.
|
||||
* @see {@link https://vuejs.org/api/reactivity-utilities.html#tovalue}
|
||||
*/
|
||||
export declare function toValue<T>(source: MaybeRefOrGetter<T>): T;
|
||||
/**
|
||||
* Returns a reactive proxy for the given object.
|
||||
*
|
||||
* If the object already is reactive, it's returned as-is. If not, a new
|
||||
* reactive proxy is created. Direct child properties that are refs are properly
|
||||
* handled, as well.
|
||||
*
|
||||
* @param objectWithRefs - Either an already-reactive object or a simple object
|
||||
* that contains refs.
|
||||
*/
|
||||
export declare function proxyRefs<T extends object>(objectWithRefs: T): ShallowUnwrapRef<T>;
|
||||
export type CustomRefFactory<T> = (track: () => void, trigger: () => void) => {
|
||||
get: () => T;
|
||||
set: (value: T) => void;
|
||||
};
|
||||
/**
|
||||
* Creates a customized ref with explicit control over its dependency tracking
|
||||
* and updates triggering.
|
||||
*
|
||||
* @param factory - The function that receives the `track` and `trigger` callbacks.
|
||||
* @see {@link https://vuejs.org/api/reactivity-advanced.html#customref}
|
||||
*/
|
||||
export declare function customRef<T>(factory: CustomRefFactory<T>): Ref<T>;
|
||||
export type ToRefs<T = any> = {
|
||||
[K in keyof T]: ToRef<T[K]>;
|
||||
};
|
||||
/**
|
||||
* Converts a reactive object to a plain object where each property of the
|
||||
* resulting object is a ref pointing to the corresponding property of the
|
||||
* original object. Each individual ref is created using {@link toRef()}.
|
||||
*
|
||||
* @param object - Reactive object to be made into an object of linked refs.
|
||||
* @see {@link https://vuejs.org/api/reactivity-utilities.html#torefs}
|
||||
*/
|
||||
export declare function toRefs<T extends object>(object: T): ToRefs<T>;
|
||||
export type ToRef<T> = IfAny<T, Ref<T>, [T] extends [Ref] ? T : Ref<T>>;
|
||||
/**
|
||||
* Used to normalize values / refs / getters into refs.
|
||||
*
|
||||
* @example
|
||||
* ```js
|
||||
* // returns existing refs as-is
|
||||
* toRef(existingRef)
|
||||
*
|
||||
* // creates a ref that calls the getter on .value access
|
||||
* toRef(() => props.foo)
|
||||
*
|
||||
* // creates normal refs from non-function values
|
||||
* // equivalent to ref(1)
|
||||
* toRef(1)
|
||||
* ```
|
||||
*
|
||||
* Can also be used to create a ref for a property on a source reactive object.
|
||||
* The created ref is synced with its source property: mutating the source
|
||||
* property will update the ref, and vice-versa.
|
||||
*
|
||||
* @example
|
||||
* ```js
|
||||
* const state = reactive({
|
||||
* foo: 1,
|
||||
* bar: 2
|
||||
* })
|
||||
*
|
||||
* const fooRef = toRef(state, 'foo')
|
||||
*
|
||||
* // mutating the ref updates the original
|
||||
* fooRef.value++
|
||||
* console.log(state.foo) // 2
|
||||
*
|
||||
* // mutating the original also updates the ref
|
||||
* state.foo++
|
||||
* console.log(fooRef.value) // 3
|
||||
* ```
|
||||
*
|
||||
* @param source - A getter, an existing ref, a non-function value, or a
|
||||
* reactive object to create a property ref from.
|
||||
* @param [key] - (optional) Name of the property in the reactive object.
|
||||
* @see {@link https://vuejs.org/api/reactivity-utilities.html#toref}
|
||||
*/
|
||||
export declare function toRef<T>(value: T): T extends () => infer R ? Readonly<Ref<R>> : T extends Ref ? T : Ref<UnwrapRef<T>>;
|
||||
export declare function toRef<T extends object, K extends keyof T>(object: T, key: K): ToRef<T[K]>;
|
||||
export declare function toRef<T extends object, K extends keyof T>(object: T, key: K, defaultValue: T[K]): ToRef<Exclude<T[K], undefined>>;
|
||||
type BaseTypes = string | number | boolean;
|
||||
/**
|
||||
* This is a special exported interface for other packages to declare
|
||||
* additional types that should bail out for ref unwrapping. For example
|
||||
* \@vue/runtime-dom can declare it like so in its d.ts:
|
||||
*
|
||||
* ``` ts
|
||||
* declare module '@vue/reactivity' {
|
||||
* export interface RefUnwrapBailTypes {
|
||||
* runtimeDOMBailTypes: Node | Window
|
||||
* }
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
export interface RefUnwrapBailTypes {
|
||||
}
|
||||
export type ShallowUnwrapRef<T> = {
|
||||
[K in keyof T]: T[K] extends Ref<infer V> ? V : T[K] extends Ref<infer V> | undefined ? unknown extends V ? undefined : V | undefined : T[K];
|
||||
};
|
||||
export type UnwrapRef<T> = T extends ShallowRef<infer V> ? V : T extends Ref<infer V> ? UnwrapRefSimple<V> : UnwrapRefSimple<T>;
|
||||
type UnwrapRefSimple<T> = T extends Function | CollectionTypes | BaseTypes | Ref | RefUnwrapBailTypes[keyof RefUnwrapBailTypes] | {
|
||||
[RawSymbol]?: true;
|
||||
} ? T : T extends ReadonlyArray<any> ? {
|
||||
[K in keyof T]: UnwrapRefSimple<T[K]>;
|
||||
} : T extends object & {
|
||||
[ShallowReactiveMarker]?: never;
|
||||
} ? {
|
||||
[P in keyof T]: P extends symbol ? T[P] : UnwrapRef<T[P]>;
|
||||
} : T;
|
||||
|
||||
export declare function deferredComputed<T>(getter: () => T): ComputedRef<T>;
|
||||
|
1280
node_modules/@vue/reactivity/dist/reactivity.esm-browser.js
generated
vendored
1280
node_modules/@vue/reactivity/dist/reactivity.esm-browser.js
generated
vendored
File diff suppressed because it is too large
Load diff
1
node_modules/@vue/reactivity/dist/reactivity.esm-browser.prod.js
generated
vendored
1
node_modules/@vue/reactivity/dist/reactivity.esm-browser.prod.js
generated
vendored
File diff suppressed because one or more lines are too long
1247
node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js
generated
vendored
1247
node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js
generated
vendored
File diff suppressed because it is too large
Load diff
1321
node_modules/@vue/reactivity/dist/reactivity.global.js
generated
vendored
1321
node_modules/@vue/reactivity/dist/reactivity.global.js
generated
vendored
File diff suppressed because it is too large
Load diff
1
node_modules/@vue/reactivity/dist/reactivity.global.prod.js
generated
vendored
1
node_modules/@vue/reactivity/dist/reactivity.global.prod.js
generated
vendored
File diff suppressed because one or more lines are too long
7
node_modules/@vue/reactivity/index.js
generated
vendored
7
node_modules/@vue/reactivity/index.js
generated
vendored
|
@ -1,7 +0,0 @@
|
|||
'use strict'
|
||||
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
module.exports = require('./dist/reactivity.cjs.prod.js')
|
||||
} else {
|
||||
module.exports = require('./dist/reactivity.cjs.js')
|
||||
}
|
41
node_modules/@vue/reactivity/package.json
generated
vendored
41
node_modules/@vue/reactivity/package.json
generated
vendored
|
@ -1,41 +0,0 @@
|
|||
{
|
||||
"name": "@vue/reactivity",
|
||||
"version": "3.3.4",
|
||||
"description": "@vue/reactivity",
|
||||
"main": "index.js",
|
||||
"module": "dist/reactivity.esm-bundler.js",
|
||||
"types": "dist/reactivity.d.ts",
|
||||
"unpkg": "dist/reactivity.global.js",
|
||||
"jsdelivr": "dist/reactivity.global.js",
|
||||
"files": [
|
||||
"index.js",
|
||||
"dist"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/core.git",
|
||||
"directory": "packages/reactivity"
|
||||
},
|
||||
"buildOptions": {
|
||||
"name": "VueReactivity",
|
||||
"formats": [
|
||||
"esm-bundler",
|
||||
"esm-browser",
|
||||
"cjs",
|
||||
"global"
|
||||
]
|
||||
},
|
||||
"keywords": [
|
||||
"vue"
|
||||
],
|
||||
"author": "Evan You",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/vuejs/core/issues"
|
||||
},
|
||||
"homepage": "https://github.com/vuejs/core/tree/main/packages/reactivity#readme",
|
||||
"dependencies": {
|
||||
"@vue/shared": "3.3.4"
|
||||
}
|
||||
}
|
21
node_modules/@vue/runtime-core/LICENSE
generated
vendored
21
node_modules/@vue/runtime-core/LICENSE
generated
vendored
|
@ -1,21 +0,0 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2018-present, Yuxi (Evan) You
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
28
node_modules/@vue/runtime-core/README.md
generated
vendored
28
node_modules/@vue/runtime-core/README.md
generated
vendored
|
@ -1,28 +0,0 @@
|
|||
# @vue/runtime-core
|
||||
|
||||
> This package is published only for typing and building custom renderers. It is NOT meant to be used in applications.
|
||||
|
||||
For full exposed APIs, see `src/index.ts`.
|
||||
|
||||
## Building a Custom Renderer
|
||||
|
||||
```ts
|
||||
import { createRenderer } from '@vue/runtime-core'
|
||||
|
||||
const { render, createApp } = createRenderer({
|
||||
patchProp,
|
||||
insert,
|
||||
remove,
|
||||
createElement
|
||||
// ...
|
||||
})
|
||||
|
||||
// `render` is the low-level API
|
||||
// `createApp` returns an app instance with configurable context shared
|
||||
// by the entire app tree.
|
||||
export { render, createApp }
|
||||
|
||||
export * from '@vue/runtime-core'
|
||||
```
|
||||
|
||||
See `@vue/runtime-dom` for how a DOM-targeting renderer is implemented.
|
7811
node_modules/@vue/runtime-core/dist/runtime-core.cjs.js
generated
vendored
7811
node_modules/@vue/runtime-core/dist/runtime-core.cjs.js
generated
vendored
File diff suppressed because it is too large
Load diff
6162
node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js
generated
vendored
6162
node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js
generated
vendored
File diff suppressed because it is too large
Load diff
1760
node_modules/@vue/runtime-core/dist/runtime-core.d.ts
generated
vendored
1760
node_modules/@vue/runtime-core/dist/runtime-core.d.ts
generated
vendored
File diff suppressed because it is too large
Load diff
7740
node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js
generated
vendored
7740
node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js
generated
vendored
File diff suppressed because it is too large
Load diff
7
node_modules/@vue/runtime-core/index.js
generated
vendored
7
node_modules/@vue/runtime-core/index.js
generated
vendored
|
@ -1,7 +0,0 @@
|
|||
'use strict'
|
||||
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
module.exports = require('./dist/runtime-core.cjs.prod.js')
|
||||
} else {
|
||||
module.exports = require('./dist/runtime-core.cjs.js')
|
||||
}
|
38
node_modules/@vue/runtime-core/package.json
generated
vendored
38
node_modules/@vue/runtime-core/package.json
generated
vendored
|
@ -1,38 +0,0 @@
|
|||
{
|
||||
"name": "@vue/runtime-core",
|
||||
"version": "3.3.4",
|
||||
"description": "@vue/runtime-core",
|
||||
"main": "index.js",
|
||||
"module": "dist/runtime-core.esm-bundler.js",
|
||||
"types": "dist/runtime-core.d.ts",
|
||||
"files": [
|
||||
"index.js",
|
||||
"dist"
|
||||
],
|
||||
"buildOptions": {
|
||||
"name": "VueRuntimeCore",
|
||||
"formats": [
|
||||
"esm-bundler",
|
||||
"cjs"
|
||||
]
|
||||
},
|
||||
"sideEffects": false,
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/core.git",
|
||||
"directory": "packages/runtime-core"
|
||||
},
|
||||
"keywords": [
|
||||
"vue"
|
||||
],
|
||||
"author": "Evan You",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/vuejs/core/issues"
|
||||
},
|
||||
"homepage": "https://github.com/vuejs/core/tree/main/packages/runtime-core#readme",
|
||||
"dependencies": {
|
||||
"@vue/shared": "3.3.4",
|
||||
"@vue/reactivity": "3.3.4"
|
||||
}
|
||||
}
|
21
node_modules/@vue/runtime-dom/LICENSE
generated
vendored
21
node_modules/@vue/runtime-dom/LICENSE
generated
vendored
|
@ -1,21 +0,0 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2018-present, Yuxi (Evan) You
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
13
node_modules/@vue/runtime-dom/README.md
generated
vendored
13
node_modules/@vue/runtime-dom/README.md
generated
vendored
|
@ -1,13 +0,0 @@
|
|||
# @vue/runtime-dom
|
||||
|
||||
``` js
|
||||
import { h, createApp } from '@vue/runtime-dom'
|
||||
|
||||
const RootComponent = {
|
||||
render() {
|
||||
return h('div', 'hello world')
|
||||
}
|
||||
}
|
||||
|
||||
createApp(RootComponent).mount('#app')
|
||||
```
|
1486
node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js
generated
vendored
1486
node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js
generated
vendored
File diff suppressed because it is too large
Load diff
1389
node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js
generated
vendored
1389
node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js
generated
vendored
File diff suppressed because it is too large
Load diff
1284
node_modules/@vue/runtime-dom/dist/runtime-dom.d.ts
generated
vendored
1284
node_modules/@vue/runtime-dom/dist/runtime-dom.d.ts
generated
vendored
File diff suppressed because it is too large
Load diff
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue