视频会议上传文件
This commit is contained in:
+56
-19
@@ -1,23 +1,40 @@
|
||||
{
|
||||
"name": "@vue/babel-helper-vue-jsx-merge-props",
|
||||
"version": "1.4.0",
|
||||
"_args": [
|
||||
[
|
||||
"@vue/babel-helper-vue-jsx-merge-props@1.4.0",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "@vue/babel-helper-vue-jsx-merge-props@1.4.0",
|
||||
"_id": "@vue/babel-helper-vue-jsx-merge-props@1.4.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==",
|
||||
"_location": "/@vue/babel-helper-vue-jsx-merge-props",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@vue/babel-helper-vue-jsx-merge-props@1.4.0",
|
||||
"name": "@vue/babel-helper-vue-jsx-merge-props",
|
||||
"escapedName": "@vue%2fbabel-helper-vue-jsx-merge-props",
|
||||
"scope": "@vue",
|
||||
"rawSpec": "1.4.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.4.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/babel-plugin-transform-vue-jsx",
|
||||
"/@vue/babel-preset-jsx",
|
||||
"/@vue/babel-sugar-v-model"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz",
|
||||
"_spec": "1.4.0",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Evan You"
|
||||
},
|
||||
"description": "Babel helper for Vue JSX spread",
|
||||
"main": "dist/helper.js",
|
||||
"repository": "https://github.com/vuejs/jsx/tree/master/packages/babel-helper-vue-jsx-merge-props",
|
||||
"author": "Evan You",
|
||||
"license": "MIT",
|
||||
"private": false,
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"files": [],
|
||||
"scripts": {
|
||||
"build:testing": "rollup -c rollup.config.testing.js",
|
||||
"build": "rollup -c",
|
||||
"pretest": "yarn build:testing",
|
||||
"test": "nyc --reporter=html --reporter=text-summary ava -v test/test.js",
|
||||
"prepublish": "yarn build"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.2.0",
|
||||
"@babel/preset-env": "^7.2.0",
|
||||
@@ -28,11 +45,31 @@
|
||||
"rollup-plugin-babel-minify": "^6.2.0",
|
||||
"rollup-plugin-istanbul": "^2.0.1"
|
||||
},
|
||||
"files": [],
|
||||
"gitHead": "6566e12067f5d6c02d3849b574a1b84de5634008",
|
||||
"license": "MIT",
|
||||
"main": "dist/helper.js",
|
||||
"name": "@vue/babel-helper-vue-jsx-merge-props",
|
||||
"nyc": {
|
||||
"exclude": [
|
||||
"dist",
|
||||
"test"
|
||||
]
|
||||
},
|
||||
"gitHead": "6566e12067f5d6c02d3849b574a1b84de5634008"
|
||||
"private": false,
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/vuejs/jsx/tree/master/packages/babel-helper-vue-jsx-merge-props"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "rollup -c",
|
||||
"build:testing": "rollup -c rollup.config.testing.js",
|
||||
"prepublish": "yarn build",
|
||||
"pretest": "yarn build:testing",
|
||||
"test": "nyc --reporter=html --reporter=text-summary ava -v test/test.js"
|
||||
},
|
||||
"version": "1.4.0"
|
||||
}
|
||||
|
||||
+44
-7
@@ -1,13 +1,50 @@
|
||||
{
|
||||
"name": "@vue/babel-helper-vue-transform-on",
|
||||
"version": "1.1.5",
|
||||
"_args": [
|
||||
[
|
||||
"@vue/babel-helper-vue-transform-on@1.1.5",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "@vue/babel-helper-vue-transform-on@1.1.5",
|
||||
"_id": "@vue/babel-helper-vue-transform-on@1.1.5",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==",
|
||||
"_location": "/@vue/babel-helper-vue-transform-on",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@vue/babel-helper-vue-transform-on@1.1.5",
|
||||
"name": "@vue/babel-helper-vue-transform-on",
|
||||
"escapedName": "@vue%2fbabel-helper-vue-transform-on",
|
||||
"scope": "@vue",
|
||||
"rawSpec": "1.1.5",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.1.5"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/babel-plugin-jsx"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.1.5.tgz",
|
||||
"_spec": "1.1.5",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Amour1688",
|
||||
"email": "lcz_1996@foxmail.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/vuejs/babel-plugin-jsx/issues"
|
||||
},
|
||||
"description": "to help transform on",
|
||||
"author": "Amour1688 <lcz_1996@foxmail.com>",
|
||||
"homepage": "https://github.com/vuejs/babel-plugin-jsx#readme",
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"types": "index.d.ts",
|
||||
"name": "@vue/babel-helper-vue-transform-on",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/babel-plugin-jsx"
|
||||
}
|
||||
}
|
||||
"url": "git+https://github.com/vuejs/babel-plugin-jsx.git"
|
||||
},
|
||||
"types": "index.d.ts",
|
||||
"version": "1.1.5"
|
||||
}
|
||||
|
||||
+52
-19
@@ -1,34 +1,53 @@
|
||||
{
|
||||
"name": "@vue/babel-plugin-jsx",
|
||||
"version": "1.1.5",
|
||||
"description": "Babel plugin for Vue 3 JSX",
|
||||
"author": "Amour1688 <lcz_1996@foxmail.com>",
|
||||
"homepage": "https://github.com/vuejs/babel-plugin-jsx/tree/dev/packages/babel-plugin-jsx#readme",
|
||||
"license": "MIT",
|
||||
"main": "dist/index.js",
|
||||
"module": "dist/index.mjs",
|
||||
"types": "dist/index.d.ts",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/babel-plugin-jsx"
|
||||
"_args": [
|
||||
[
|
||||
"@vue/babel-plugin-jsx@1.1.5",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "@vue/babel-plugin-jsx@1.1.5",
|
||||
"_id": "@vue/babel-plugin-jsx@1.1.5",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==",
|
||||
"_location": "/@vue/babel-plugin-jsx",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@vue/babel-plugin-jsx@1.1.5",
|
||||
"name": "@vue/babel-plugin-jsx",
|
||||
"escapedName": "@vue%2fbabel-plugin-jsx",
|
||||
"scope": "@vue",
|
||||
"rawSpec": "1.1.5",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.1.5"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/babel-preset-app"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.5.tgz",
|
||||
"_spec": "1.1.5",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Amour1688",
|
||||
"email": "lcz_1996@foxmail.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/vuejs/babel-plugin-jsx/issues"
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"dependencies": {
|
||||
"@babel/helper-module-imports": "^7.22.5",
|
||||
"@babel/plugin-syntax-jsx": "^7.22.5",
|
||||
"@babel/template": "^7.22.5",
|
||||
"@babel/traverse": "^7.22.5",
|
||||
"@babel/types": "^7.22.5",
|
||||
"@vue/babel-helper-vue-transform-on": "^1.1.5",
|
||||
"camelcase": "^6.3.0",
|
||||
"html-tags": "^3.3.1",
|
||||
"svg-tags": "^1.0.0",
|
||||
"@vue/babel-helper-vue-transform-on": "^1.1.5"
|
||||
"svg-tags": "^1.0.0"
|
||||
},
|
||||
"description": "Babel plugin for Vue 3 JSX",
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.22.5",
|
||||
"@babel/preset-env": "^7.22.5",
|
||||
@@ -40,11 +59,25 @@
|
||||
"regenerator-runtime": "^0.13.11",
|
||||
"vue": "^3.3.4"
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"homepage": "https://github.com/vuejs/babel-plugin-jsx/tree/dev/packages/babel-plugin-jsx#readme",
|
||||
"license": "MIT",
|
||||
"main": "dist/index.js",
|
||||
"module": "dist/index.mjs",
|
||||
"name": "@vue/babel-plugin-jsx",
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/babel-plugin-jsx.git"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "tsup",
|
||||
"watch": "tsup --watch"
|
||||
}
|
||||
}
|
||||
},
|
||||
"types": "dist/index.d.ts",
|
||||
"version": "1.1.5"
|
||||
}
|
||||
|
||||
Generated
Vendored
+48
-12
@@ -1,26 +1,56 @@
|
||||
{
|
||||
"name": "html-tags",
|
||||
"version": "2.0.0",
|
||||
"description": "List of standard HTML tags",
|
||||
"license": "MIT",
|
||||
"repository": "sindresorhus/html-tags",
|
||||
"_args": [
|
||||
[
|
||||
"html-tags@2.0.0",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "html-tags@2.0.0",
|
||||
"_id": "html-tags@2.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==",
|
||||
"_location": "/@vue/babel-plugin-transform-vue-jsx/html-tags",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "html-tags@2.0.0",
|
||||
"name": "html-tags",
|
||||
"escapedName": "html-tags",
|
||||
"rawSpec": "2.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "2.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/babel-plugin-transform-vue-jsx"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz",
|
||||
"_spec": "2.0.0",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/html-tags/issues"
|
||||
},
|
||||
"description": "List of standard HTML tags",
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
"xo": "*"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"void.js",
|
||||
"html-tags.json",
|
||||
"html-tags-void.json"
|
||||
],
|
||||
"homepage": "https://github.com/sindresorhus/html-tags#readme",
|
||||
"keywords": [
|
||||
"html",
|
||||
"html5",
|
||||
@@ -32,8 +62,14 @@
|
||||
"void",
|
||||
"self-closing"
|
||||
],
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
"xo": "*"
|
||||
}
|
||||
"license": "MIT",
|
||||
"name": "html-tags",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/html-tags.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava"
|
||||
},
|
||||
"version": "2.0.0"
|
||||
}
|
||||
|
||||
+71
-34
@@ -1,27 +1,48 @@
|
||||
{
|
||||
"name": "@vue/babel-plugin-transform-vue-jsx",
|
||||
"version": "1.4.0",
|
||||
"_args": [
|
||||
[
|
||||
"@vue/babel-plugin-transform-vue-jsx@1.4.0",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "@vue/babel-plugin-transform-vue-jsx@1.4.0",
|
||||
"_id": "@vue/babel-plugin-transform-vue-jsx@1.4.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA==",
|
||||
"_location": "/@vue/babel-plugin-transform-vue-jsx",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@vue/babel-plugin-transform-vue-jsx@1.4.0",
|
||||
"name": "@vue/babel-plugin-transform-vue-jsx",
|
||||
"escapedName": "@vue%2fbabel-plugin-transform-vue-jsx",
|
||||
"scope": "@vue",
|
||||
"rawSpec": "1.4.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.4.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/babel-preset-jsx",
|
||||
"/@vue/babel-sugar-v-model",
|
||||
"/@vue/babel-sugar-v-on"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.4.0.tgz",
|
||||
"_spec": "1.4.0",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Evan You"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/helper-module-imports": "^7.0.0",
|
||||
"@babel/plugin-syntax-jsx": "^7.2.0",
|
||||
"@vue/babel-helper-vue-jsx-merge-props": "^1.4.0",
|
||||
"html-tags": "^2.0.0",
|
||||
"lodash.kebabcase": "^4.1.1",
|
||||
"svg-tags": "^1.0.0"
|
||||
},
|
||||
"description": "Babel plugin for Vue 2.0 JSX",
|
||||
"main": "dist/plugin.js",
|
||||
"repository": "https://github.com/vuejs/jsx/tree/master/packages/babel-plugin-transform-vue-jsx",
|
||||
"author": "Evan You",
|
||||
"license": "MIT",
|
||||
"private": false,
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"files": [],
|
||||
"scripts": {
|
||||
"pretest:snapshot": "yarn build:test",
|
||||
"test:snapshot": "nyc --reporter=html --reporter=text-summary ava -v test/snapshot.js",
|
||||
"build:dependency": "cd ../babel-helper-vue-jsx-merge-props && yarn build",
|
||||
"pretest:functional": "yarn build:dependency && yarn build:test && nyc --reporter=html --reporter=text-summary babel test/functional.js --plugins ./dist/plugin.testing.js --out-file test/functional-compiled.js",
|
||||
"test:functional": "ava -v test/functional-compiled.js",
|
||||
"build": "rollup -c",
|
||||
"build:test": "rollup -c rollup.config.testing.js",
|
||||
"test": "rm -rf coverage* && yarn test:snapshot && mv coverage coverage-snapshot && yarn test:functional && mv coverage coverage-functional",
|
||||
"prepublish": "yarn build"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/cli": "^7.2.0",
|
||||
"@babel/core": "^7.2.0",
|
||||
@@ -38,22 +59,38 @@
|
||||
"vue": "^2.5.17",
|
||||
"vue-template-compiler": "^2.5.17"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/helper-module-imports": "^7.0.0",
|
||||
"@babel/plugin-syntax-jsx": "^7.2.0",
|
||||
"@vue/babel-helper-vue-jsx-merge-props": "^1.4.0",
|
||||
"html-tags": "^2.0.0",
|
||||
"lodash.kebabcase": "^4.1.1",
|
||||
"svg-tags": "^1.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
},
|
||||
"files": [],
|
||||
"gitHead": "6566e12067f5d6c02d3849b574a1b84de5634008",
|
||||
"license": "MIT",
|
||||
"main": "dist/plugin.js",
|
||||
"name": "@vue/babel-plugin-transform-vue-jsx",
|
||||
"nyc": {
|
||||
"exclude": [
|
||||
"dist",
|
||||
"test"
|
||||
]
|
||||
},
|
||||
"gitHead": "6566e12067f5d6c02d3849b574a1b84de5634008"
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
},
|
||||
"private": false,
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/vuejs/jsx/tree/master/packages/babel-plugin-transform-vue-jsx"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "rollup -c",
|
||||
"build:dependency": "cd ../babel-helper-vue-jsx-merge-props && yarn build",
|
||||
"build:test": "rollup -c rollup.config.testing.js",
|
||||
"prepublish": "yarn build",
|
||||
"pretest:functional": "yarn build:dependency && yarn build:test && nyc --reporter=html --reporter=text-summary babel test/functional.js --plugins ./dist/plugin.testing.js --out-file test/functional-compiled.js",
|
||||
"pretest:snapshot": "yarn build:test",
|
||||
"test": "rm -rf coverage* && yarn test:snapshot && mv coverage coverage-snapshot && yarn test:functional && mv coverage coverage-functional",
|
||||
"test:functional": "ava -v test/functional-compiled.js",
|
||||
"test:snapshot": "nyc --reporter=html --reporter=text-summary ava -v test/snapshot.js"
|
||||
},
|
||||
"version": "1.4.0"
|
||||
}
|
||||
|
||||
+5
-2
@@ -6,7 +6,10 @@ case `uname` in
|
||||
esac
|
||||
|
||||
if [ -x "$basedir/node" ]; then
|
||||
exec "$basedir/node" "$basedir/../semver/bin/semver.js" "$@"
|
||||
"$basedir/node" "$basedir/../semver/bin/semver.js" "$@"
|
||||
ret=$?
|
||||
else
|
||||
exec node "$basedir/../semver/bin/semver.js" "$@"
|
||||
node "$basedir/../semver/bin/semver.js" "$@"
|
||||
ret=$?
|
||||
fi
|
||||
exit $ret
|
||||
|
||||
+63
-24
@@ -1,34 +1,73 @@
|
||||
{
|
||||
"name": "lru-cache",
|
||||
"_args": [
|
||||
[
|
||||
"lru-cache@6.0.0",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "lru-cache@6.0.0",
|
||||
"_id": "lru-cache@6.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
||||
"_location": "/@vue/babel-preset-app/lru-cache",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "lru-cache@6.0.0",
|
||||
"name": "lru-cache",
|
||||
"escapedName": "lru-cache",
|
||||
"rawSpec": "6.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "6.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/babel-preset-app/semver"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
||||
"_spec": "6.0.0",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Isaac Z. Schlueter",
|
||||
"email": "i@izs.me"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/isaacs/node-lru-cache/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"yallist": "^4.0.0"
|
||||
},
|
||||
"description": "A cache object that deletes the least-recently-used items.",
|
||||
"version": "6.0.0",
|
||||
"author": "Isaac Z. Schlueter <i@izs.me>",
|
||||
"devDependencies": {
|
||||
"benchmark": "^2.1.4",
|
||||
"tap": "^14.10.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"homepage": "https://github.com/isaacs/node-lru-cache#readme",
|
||||
"keywords": [
|
||||
"mru",
|
||||
"lru",
|
||||
"cache"
|
||||
],
|
||||
"scripts": {
|
||||
"test": "tap",
|
||||
"snap": "tap",
|
||||
"preversion": "npm test",
|
||||
"postversion": "npm publish",
|
||||
"prepublishOnly": "git push origin --follow-tags"
|
||||
},
|
||||
"main": "index.js",
|
||||
"repository": "git://github.com/isaacs/node-lru-cache.git",
|
||||
"devDependencies": {
|
||||
"benchmark": "^2.1.4",
|
||||
"tap": "^14.10.7"
|
||||
},
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"yallist": "^4.0.0"
|
||||
"main": "index.js",
|
||||
"name": "lru-cache",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/isaacs/node-lru-cache.git"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
"scripts": {
|
||||
"postversion": "npm publish",
|
||||
"prepublishOnly": "git push origin --follow-tags",
|
||||
"preversion": "npm test",
|
||||
"snap": "tap",
|
||||
"test": "tap"
|
||||
},
|
||||
"version": "6.0.0"
|
||||
}
|
||||
|
||||
+62
-27
@@ -1,29 +1,53 @@
|
||||
{
|
||||
"name": "semver",
|
||||
"version": "7.5.4",
|
||||
"description": "The semantic version parser used by npm.",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "tap",
|
||||
"snap": "tap",
|
||||
"lint": "eslint \"**/*.js\"",
|
||||
"postlint": "template-oss-check",
|
||||
"lintfix": "npm run lint -- --fix",
|
||||
"posttest": "npm run lint",
|
||||
"template-oss-apply": "template-oss-apply --force"
|
||||
"_args": [
|
||||
[
|
||||
"semver@7.5.4",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "semver@7.5.4",
|
||||
"_id": "semver@7.5.4",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
|
||||
"_location": "/@vue/babel-preset-app/semver",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "semver@7.5.4",
|
||||
"name": "semver",
|
||||
"escapedName": "semver",
|
||||
"rawSpec": "7.5.4",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "7.5.4"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/babel-preset-app"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
|
||||
"_spec": "7.5.4",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "GitHub Inc."
|
||||
},
|
||||
"bin": {
|
||||
"semver": "bin/semver.js"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/npm/node-semver/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"lru-cache": "^6.0.0"
|
||||
},
|
||||
"description": "The semantic version parser used by npm.",
|
||||
"devDependencies": {
|
||||
"@npmcli/eslint-config": "^4.0.0",
|
||||
"@npmcli/template-oss": "4.17.0",
|
||||
"tap": "^16.0.0"
|
||||
},
|
||||
"license": "ISC",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/npm/node-semver.git"
|
||||
},
|
||||
"bin": {
|
||||
"semver": "bin/semver.js"
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"files": [
|
||||
"bin/",
|
||||
@@ -36,6 +60,23 @@
|
||||
"preload.js",
|
||||
"range.bnf"
|
||||
],
|
||||
"homepage": "https://github.com/npm/node-semver#readme",
|
||||
"license": "ISC",
|
||||
"main": "index.js",
|
||||
"name": "semver",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/npm/node-semver.git"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "eslint \"**/*.js\"",
|
||||
"lintfix": "npm run lint -- --fix",
|
||||
"postlint": "template-oss-check",
|
||||
"posttest": "npm run lint",
|
||||
"snap": "tap",
|
||||
"template-oss-apply": "template-oss-apply --force",
|
||||
"test": "tap"
|
||||
},
|
||||
"tap": {
|
||||
"timeout": 30,
|
||||
"coverage-map": "map.js",
|
||||
@@ -44,13 +85,6 @@
|
||||
"tap-snapshots/**"
|
||||
]
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"dependencies": {
|
||||
"lru-cache": "^6.0.0"
|
||||
},
|
||||
"author": "GitHub Inc.",
|
||||
"templateOSS": {
|
||||
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
|
||||
"version": "4.17.0",
|
||||
@@ -83,5 +117,6 @@
|
||||
"/range.bnf"
|
||||
],
|
||||
"publish": "true"
|
||||
}
|
||||
},
|
||||
"version": "7.5.4"
|
||||
}
|
||||
|
||||
+52
-15
@@ -1,8 +1,46 @@
|
||||
{
|
||||
"name": "yallist",
|
||||
"version": "4.0.0",
|
||||
"_args": [
|
||||
[
|
||||
"yallist@4.0.0",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "yallist@4.0.0",
|
||||
"_id": "yallist@4.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
|
||||
"_location": "/@vue/babel-preset-app/yallist",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "yallist@4.0.0",
|
||||
"name": "yallist",
|
||||
"escapedName": "yallist",
|
||||
"rawSpec": "4.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "4.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/babel-preset-app/lru-cache"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
||||
"_spec": "4.0.0",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Isaac Z. Schlueter",
|
||||
"email": "i@izs.me",
|
||||
"url": "http://blog.izs.me/"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/isaacs/yallist/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"description": "Yet Another Linked List",
|
||||
"main": "yallist.js",
|
||||
"devDependencies": {
|
||||
"tap": "^12.1.0"
|
||||
},
|
||||
"directories": {
|
||||
"test": "test"
|
||||
},
|
||||
@@ -10,20 +48,19 @@
|
||||
"yallist.js",
|
||||
"iterator.js"
|
||||
],
|
||||
"dependencies": {},
|
||||
"devDependencies": {
|
||||
"tap": "^12.1.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "tap test/*.js --100",
|
||||
"preversion": "npm test",
|
||||
"postversion": "npm publish",
|
||||
"postpublish": "git push origin --all; git push origin --tags"
|
||||
},
|
||||
"homepage": "https://github.com/isaacs/yallist#readme",
|
||||
"license": "ISC",
|
||||
"main": "yallist.js",
|
||||
"name": "yallist",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/isaacs/yallist.git"
|
||||
},
|
||||
"author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
|
||||
"license": "ISC"
|
||||
"scripts": {
|
||||
"postpublish": "git push origin --all; git push origin --tags",
|
||||
"postversion": "npm publish",
|
||||
"preversion": "npm test",
|
||||
"test": "tap test/*.js --100"
|
||||
},
|
||||
"version": "4.0.0"
|
||||
}
|
||||
|
||||
+51
-19
@@ -1,26 +1,40 @@
|
||||
{
|
||||
"name": "@vue/babel-preset-app",
|
||||
"version": "5.0.8",
|
||||
"description": "babel-preset-app for vue-cli",
|
||||
"main": "index.js",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/vue-cli.git",
|
||||
"directory": "packages/@vue/babel-preset-app"
|
||||
},
|
||||
"keywords": [
|
||||
"vue",
|
||||
"cli"
|
||||
"_args": [
|
||||
[
|
||||
"@vue/babel-preset-app@5.0.8",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"author": "Evan You",
|
||||
"license": "MIT",
|
||||
"_development": true,
|
||||
"_from": "@vue/babel-preset-app@5.0.8",
|
||||
"_id": "@vue/babel-preset-app@5.0.8",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-yl+5qhpjd8e1G4cMXfORkkBlvtPCIgmRf3IYCWYDKIQ7m+PPa5iTm4feiNmCMD6yGqQWMhhK/7M3oWGL9boKwg==",
|
||||
"_location": "/@vue/babel-preset-app",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@vue/babel-preset-app@5.0.8",
|
||||
"name": "@vue/babel-preset-app",
|
||||
"escapedName": "@vue%2fbabel-preset-app",
|
||||
"scope": "@vue",
|
||||
"rawSpec": "5.0.8",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "5.0.8"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/cli-plugin-babel"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-5.0.8.tgz",
|
||||
"_spec": "5.0.8",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Evan You"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/vuejs/vue-cli/issues"
|
||||
},
|
||||
"homepage": "https://github.com/vuejs/vue-cli/tree/dev/packages/@vue/babel-preset-app#readme",
|
||||
"dependencies": {
|
||||
"@babel/core": "^7.12.16",
|
||||
"@babel/helper-compilation-targets": "^7.12.16",
|
||||
@@ -39,6 +53,16 @@
|
||||
"core-js-compat": "^3.8.3",
|
||||
"semver": "^7.3.4"
|
||||
},
|
||||
"description": "babel-preset-app for vue-cli",
|
||||
"gitHead": "b154dbd7aca4b4538e6c483b1d4b817499d7b8eb",
|
||||
"homepage": "https://github.com/vuejs/vue-cli/tree/dev/packages/@vue/babel-preset-app#readme",
|
||||
"keywords": [
|
||||
"vue",
|
||||
"cli"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"name": "@vue/babel-preset-app",
|
||||
"peerDependencies": {
|
||||
"@babel/core": "*",
|
||||
"core-js": "^3",
|
||||
@@ -52,5 +76,13 @@
|
||||
"optional": true
|
||||
}
|
||||
},
|
||||
"gitHead": "b154dbd7aca4b4538e6c483b1d4b817499d7b8eb"
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/vue-cli.git",
|
||||
"directory": "packages/@vue/babel-preset-app"
|
||||
},
|
||||
"version": "5.0.8"
|
||||
}
|
||||
|
||||
+51
-15
@@ -1,19 +1,37 @@
|
||||
{
|
||||
"name": "@vue/babel-preset-jsx",
|
||||
"version": "1.4.0",
|
||||
"description": "Babel preset for Vue JSX",
|
||||
"main": "dist/plugin.cjs.js",
|
||||
"repository": "https://github.com/vuejs/jsx/tree/master/packages/babel-preset-jsx",
|
||||
"author": "Nick Messing <dot.nick.dot.messing@gmail.com>",
|
||||
"license": "MIT",
|
||||
"private": false,
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
"_args": [
|
||||
[
|
||||
"@vue/babel-preset-jsx@1.4.0",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "@vue/babel-preset-jsx@1.4.0",
|
||||
"_id": "@vue/babel-preset-jsx@1.4.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA==",
|
||||
"_location": "/@vue/babel-preset-jsx",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@vue/babel-preset-jsx@1.4.0",
|
||||
"name": "@vue/babel-preset-jsx",
|
||||
"escapedName": "@vue%2fbabel-preset-jsx",
|
||||
"scope": "@vue",
|
||||
"rawSpec": "1.4.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.4.0"
|
||||
},
|
||||
"files": [],
|
||||
"scripts": {
|
||||
"build": "rollup -c",
|
||||
"prerelease": "yarn build"
|
||||
"_requiredBy": [
|
||||
"/@vue/babel-preset-app"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.4.0.tgz",
|
||||
"_spec": "1.4.0",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Nick Messing",
|
||||
"email": "dot.nick.dot.messing@gmail.com"
|
||||
},
|
||||
"dependencies": {
|
||||
"@vue/babel-helper-vue-jsx-merge-props": "^1.4.0",
|
||||
@@ -25,10 +43,16 @@
|
||||
"@vue/babel-sugar-v-model": "^1.4.0",
|
||||
"@vue/babel-sugar-v-on": "^1.4.0"
|
||||
},
|
||||
"description": "Babel preset for Vue JSX",
|
||||
"devDependencies": {
|
||||
"rollup": "^0.67.4",
|
||||
"rollup-plugin-babel-minify": "^6.2.0"
|
||||
},
|
||||
"files": [],
|
||||
"gitHead": "6566e12067f5d6c02d3849b574a1b84de5634008",
|
||||
"license": "MIT",
|
||||
"main": "dist/plugin.cjs.js",
|
||||
"name": "@vue/babel-preset-jsx",
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0",
|
||||
"vue": "*"
|
||||
@@ -38,5 +62,17 @@
|
||||
"optional": true
|
||||
}
|
||||
},
|
||||
"gitHead": "6566e12067f5d6c02d3849b574a1b84de5634008"
|
||||
"private": false,
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/vuejs/jsx/tree/master/packages/babel-preset-jsx"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "rollup -c",
|
||||
"prerelease": "yarn build"
|
||||
},
|
||||
"version": "1.4.0"
|
||||
}
|
||||
|
||||
+61
-25
@@ -1,23 +1,42 @@
|
||||
{
|
||||
"name": "@vue/babel-sugar-composition-api-inject-h",
|
||||
"version": "1.4.0",
|
||||
"_args": [
|
||||
[
|
||||
"@vue/babel-sugar-composition-api-inject-h@1.4.0",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "@vue/babel-sugar-composition-api-inject-h@1.4.0",
|
||||
"_id": "@vue/babel-sugar-composition-api-inject-h@1.4.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g==",
|
||||
"_location": "/@vue/babel-sugar-composition-api-inject-h",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@vue/babel-sugar-composition-api-inject-h@1.4.0",
|
||||
"name": "@vue/babel-sugar-composition-api-inject-h",
|
||||
"escapedName": "@vue%2fbabel-sugar-composition-api-inject-h",
|
||||
"scope": "@vue",
|
||||
"rawSpec": "1.4.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.4.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/babel-preset-jsx"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.4.0.tgz",
|
||||
"_spec": "1.4.0",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "luwanquan",
|
||||
"email": "luwanquan@f-road.com.cn"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/plugin-syntax-jsx": "^7.2.0"
|
||||
},
|
||||
"description": "Babel syntactic sugar for h automatic injection for Vue JSX with @vue/composition-api",
|
||||
"main": "dist/plugin.js",
|
||||
"repository": "https://github.com/vuejs/jsx/tree/master/packages/babel-sugar-composition-api-inject-h",
|
||||
"author": "luwanquan <luwanquan@f-road.com.cn>",
|
||||
"license": "MIT",
|
||||
"private": false,
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"files": [],
|
||||
"scripts": {
|
||||
"prepublish": "yarn build",
|
||||
"build": "rollup -c",
|
||||
"build:test": "rollup -c rollup.config.testing.js",
|
||||
"pretest": "yarn build:test",
|
||||
"test": "nyc --reporter=html --reporter=text-summary ava -v test/test.js"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/cli": "^7.2.0",
|
||||
"@babel/core": "^7.2.0",
|
||||
@@ -30,17 +49,34 @@
|
||||
"rollup-plugin-uglify-es": "^0.0.1",
|
||||
"vue": "^2.5.17"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/plugin-syntax-jsx": "^7.2.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
},
|
||||
"files": [],
|
||||
"gitHead": "6566e12067f5d6c02d3849b574a1b84de5634008",
|
||||
"license": "MIT",
|
||||
"main": "dist/plugin.js",
|
||||
"name": "@vue/babel-sugar-composition-api-inject-h",
|
||||
"nyc": {
|
||||
"exclude": [
|
||||
"dist",
|
||||
"test"
|
||||
]
|
||||
},
|
||||
"gitHead": "6566e12067f5d6c02d3849b574a1b84de5634008"
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
},
|
||||
"private": false,
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/vuejs/jsx/tree/master/packages/babel-sugar-composition-api-inject-h"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "rollup -c",
|
||||
"build:test": "rollup -c rollup.config.testing.js",
|
||||
"prepublish": "yarn build",
|
||||
"pretest": "yarn build:test",
|
||||
"test": "nyc --reporter=html --reporter=text-summary ava -v test/test.js"
|
||||
},
|
||||
"version": "1.4.0"
|
||||
}
|
||||
|
||||
+61
-25
@@ -1,23 +1,42 @@
|
||||
{
|
||||
"name": "@vue/babel-sugar-composition-api-render-instance",
|
||||
"version": "1.4.0",
|
||||
"_args": [
|
||||
[
|
||||
"@vue/babel-sugar-composition-api-render-instance@1.4.0",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "@vue/babel-sugar-composition-api-render-instance@1.4.0",
|
||||
"_id": "@vue/babel-sugar-composition-api-render-instance@1.4.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q==",
|
||||
"_location": "/@vue/babel-sugar-composition-api-render-instance",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@vue/babel-sugar-composition-api-render-instance@1.4.0",
|
||||
"name": "@vue/babel-sugar-composition-api-render-instance",
|
||||
"escapedName": "@vue%2fbabel-sugar-composition-api-render-instance",
|
||||
"scope": "@vue",
|
||||
"rawSpec": "1.4.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.4.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/babel-preset-jsx"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.4.0.tgz",
|
||||
"_spec": "1.4.0",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "luwanquan",
|
||||
"email": "luwanquan@f-road.com.cn"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/plugin-syntax-jsx": "^7.2.0"
|
||||
},
|
||||
"description": "Babel syntactic sugar for replaceing `this` with `getCurrentInstance()` in Vue JSX with @vue/composition-api",
|
||||
"main": "dist/plugin.js",
|
||||
"repository": "https://github.com/vuejs/jsx/tree/master/packages/babel-sugar-composition-api-render-instance",
|
||||
"author": "luwanquan <luwanquan@f-road.com.cn>",
|
||||
"license": "MIT",
|
||||
"private": false,
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"files": [],
|
||||
"scripts": {
|
||||
"prepublish": "yarn build",
|
||||
"build": "rollup -c",
|
||||
"build:test": "rollup -c rollup.config.testing.js",
|
||||
"pretest": "yarn build:test && cd ../babel-sugar-v-model && yarn build:test",
|
||||
"test": "nyc --reporter=html --reporter=text-summary ava -v test/test.js"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/cli": "^7.2.0",
|
||||
"@babel/core": "^7.2.0",
|
||||
@@ -30,17 +49,34 @@
|
||||
"rollup-plugin-uglify-es": "^0.0.1",
|
||||
"vue": "^2.5.17"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/plugin-syntax-jsx": "^7.2.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
},
|
||||
"files": [],
|
||||
"gitHead": "6566e12067f5d6c02d3849b574a1b84de5634008",
|
||||
"license": "MIT",
|
||||
"main": "dist/plugin.js",
|
||||
"name": "@vue/babel-sugar-composition-api-render-instance",
|
||||
"nyc": {
|
||||
"exclude": [
|
||||
"dist",
|
||||
"test"
|
||||
]
|
||||
},
|
||||
"gitHead": "6566e12067f5d6c02d3849b574a1b84de5634008"
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
},
|
||||
"private": false,
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/vuejs/jsx/tree/master/packages/babel-sugar-composition-api-render-instance"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "rollup -c",
|
||||
"build:test": "rollup -c rollup.config.testing.js",
|
||||
"prepublish": "yarn build",
|
||||
"pretest": "yarn build:test && cd ../babel-sugar-v-model && yarn build:test",
|
||||
"test": "nyc --reporter=html --reporter=text-summary ava -v test/test.js"
|
||||
},
|
||||
"version": "1.4.0"
|
||||
}
|
||||
|
||||
+61
-25
@@ -1,23 +1,42 @@
|
||||
{
|
||||
"name": "@vue/babel-sugar-functional-vue",
|
||||
"version": "1.4.0",
|
||||
"_args": [
|
||||
[
|
||||
"@vue/babel-sugar-functional-vue@1.4.0",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "@vue/babel-sugar-functional-vue@1.4.0",
|
||||
"_id": "@vue/babel-sugar-functional-vue@1.4.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw==",
|
||||
"_location": "/@vue/babel-sugar-functional-vue",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@vue/babel-sugar-functional-vue@1.4.0",
|
||||
"name": "@vue/babel-sugar-functional-vue",
|
||||
"escapedName": "@vue%2fbabel-sugar-functional-vue",
|
||||
"scope": "@vue",
|
||||
"rawSpec": "1.4.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.4.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/babel-preset-jsx"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.4.0.tgz",
|
||||
"_spec": "1.4.0",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Nick Messing",
|
||||
"email": "dot.nick.dot.messing@gmail.com"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/plugin-syntax-jsx": "^7.2.0"
|
||||
},
|
||||
"description": "Babel syntactic sugar for functional components",
|
||||
"main": "dist/plugin.js",
|
||||
"repository": "https://github.com/vuejs/jsx/tree/master/packages/babel-sugar-functional-vue",
|
||||
"author": "Nick Messing <dot.nick.dot.messing@gmail.com>",
|
||||
"license": "MIT",
|
||||
"private": false,
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"files": [],
|
||||
"scripts": {
|
||||
"prepublish": "yarn build",
|
||||
"build": "rollup -c",
|
||||
"build:test": "rollup -c rollup.config.testing.js",
|
||||
"pretest": "yarn build:test && cd ../babel-plugin-transform-vue-jsx && yarn build:test",
|
||||
"test": "nyc --reporter=html --reporter=text-summary ava -v test/test.js"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/cli": "^7.2.0",
|
||||
"@babel/core": "^7.2.0",
|
||||
@@ -30,17 +49,34 @@
|
||||
"rollup-plugin-istanbul": "^2.0.1",
|
||||
"vue": "^2.5.17"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/plugin-syntax-jsx": "^7.2.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
},
|
||||
"files": [],
|
||||
"gitHead": "6566e12067f5d6c02d3849b574a1b84de5634008",
|
||||
"license": "MIT",
|
||||
"main": "dist/plugin.js",
|
||||
"name": "@vue/babel-sugar-functional-vue",
|
||||
"nyc": {
|
||||
"exclude": [
|
||||
"dist",
|
||||
"test"
|
||||
]
|
||||
},
|
||||
"gitHead": "6566e12067f5d6c02d3849b574a1b84de5634008"
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
},
|
||||
"private": false,
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/vuejs/jsx/tree/master/packages/babel-sugar-functional-vue"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "rollup -c",
|
||||
"build:test": "rollup -c rollup.config.testing.js",
|
||||
"prepublish": "yarn build",
|
||||
"pretest": "yarn build:test && cd ../babel-plugin-transform-vue-jsx && yarn build:test",
|
||||
"test": "nyc --reporter=html --reporter=text-summary ava -v test/test.js"
|
||||
},
|
||||
"version": "1.4.0"
|
||||
}
|
||||
|
||||
+61
-25
@@ -1,23 +1,42 @@
|
||||
{
|
||||
"name": "@vue/babel-sugar-inject-h",
|
||||
"version": "1.4.0",
|
||||
"_args": [
|
||||
[
|
||||
"@vue/babel-sugar-inject-h@1.4.0",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "@vue/babel-sugar-inject-h@1.4.0",
|
||||
"_id": "@vue/babel-sugar-inject-h@1.4.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA==",
|
||||
"_location": "/@vue/babel-sugar-inject-h",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@vue/babel-sugar-inject-h@1.4.0",
|
||||
"name": "@vue/babel-sugar-inject-h",
|
||||
"escapedName": "@vue%2fbabel-sugar-inject-h",
|
||||
"scope": "@vue",
|
||||
"rawSpec": "1.4.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.4.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/babel-preset-jsx"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.4.0.tgz",
|
||||
"_spec": "1.4.0",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Nick Messing",
|
||||
"email": "dot.nick.dot.messing@gmail.com"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/plugin-syntax-jsx": "^7.2.0"
|
||||
},
|
||||
"description": "Babel syntactic sugar for h automatic injection for Vue JSX",
|
||||
"main": "dist/plugin.js",
|
||||
"repository": "https://github.com/vuejs/jsx/tree/master/packages/babel-sugar-inject-h",
|
||||
"author": "Nick Messing <dot.nick.dot.messing@gmail.com>",
|
||||
"license": "MIT",
|
||||
"private": false,
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"files": [],
|
||||
"scripts": {
|
||||
"prepublish": "yarn build",
|
||||
"build": "rollup -c",
|
||||
"build:test": "rollup -c rollup.config.testing.js",
|
||||
"pretest": "yarn build:test && cd ../babel-plugin-transform-vue-jsx && yarn build:test",
|
||||
"test": "nyc --reporter=html --reporter=text-summary ava -v test/test.js"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/cli": "^7.2.0",
|
||||
"@babel/core": "^7.2.0",
|
||||
@@ -30,17 +49,34 @@
|
||||
"rollup-plugin-uglify-es": "^0.0.1",
|
||||
"vue": "^2.5.17"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/plugin-syntax-jsx": "^7.2.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
},
|
||||
"files": [],
|
||||
"gitHead": "6566e12067f5d6c02d3849b574a1b84de5634008",
|
||||
"license": "MIT",
|
||||
"main": "dist/plugin.js",
|
||||
"name": "@vue/babel-sugar-inject-h",
|
||||
"nyc": {
|
||||
"exclude": [
|
||||
"dist",
|
||||
"test"
|
||||
]
|
||||
},
|
||||
"gitHead": "6566e12067f5d6c02d3849b574a1b84de5634008"
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
},
|
||||
"private": false,
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/vuejs/jsx/tree/master/packages/babel-sugar-inject-h"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "rollup -c",
|
||||
"build:test": "rollup -c rollup.config.testing.js",
|
||||
"prepublish": "yarn build",
|
||||
"pretest": "yarn build:test && cd ../babel-plugin-transform-vue-jsx && yarn build:test",
|
||||
"test": "nyc --reporter=html --reporter=text-summary ava -v test/test.js"
|
||||
},
|
||||
"version": "1.4.0"
|
||||
}
|
||||
|
||||
+77
-41
@@ -1,43 +1,79 @@
|
||||
{
|
||||
"name": "camelcase",
|
||||
"version": "5.3.1",
|
||||
"description": "Convert a dash/dot/underscore/space separated string to camelCase or PascalCase: `foo-bar` → `fooBar`",
|
||||
"license": "MIT",
|
||||
"repository": "sindresorhus/camelcase",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava && tsd"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"index.d.ts"
|
||||
],
|
||||
"keywords": [
|
||||
"camelcase",
|
||||
"camel-case",
|
||||
"camel",
|
||||
"case",
|
||||
"dash",
|
||||
"hyphen",
|
||||
"dot",
|
||||
"underscore",
|
||||
"separator",
|
||||
"string",
|
||||
"text",
|
||||
"convert",
|
||||
"pascalcase",
|
||||
"pascal-case"
|
||||
],
|
||||
"devDependencies": {
|
||||
"ava": "^1.4.1",
|
||||
"tsd": "^0.7.1",
|
||||
"xo": "^0.24.0"
|
||||
}
|
||||
"_args": [
|
||||
[
|
||||
"camelcase@5.3.1",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "camelcase@5.3.1",
|
||||
"_id": "camelcase@5.3.1",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
|
||||
"_location": "/@vue/babel-sugar-v-model/camelcase",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "camelcase@5.3.1",
|
||||
"name": "camelcase",
|
||||
"escapedName": "camelcase",
|
||||
"rawSpec": "5.3.1",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "5.3.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/babel-sugar-v-model"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
|
||||
"_spec": "5.3.1",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/camelcase/issues"
|
||||
},
|
||||
"description": "Convert a dash/dot/underscore/space separated string to camelCase or PascalCase: `foo-bar` → `fooBar`",
|
||||
"devDependencies": {
|
||||
"ava": "^1.4.1",
|
||||
"tsd": "^0.7.1",
|
||||
"xo": "^0.24.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"index.d.ts"
|
||||
],
|
||||
"homepage": "https://github.com/sindresorhus/camelcase#readme",
|
||||
"keywords": [
|
||||
"camelcase",
|
||||
"camel-case",
|
||||
"camel",
|
||||
"case",
|
||||
"dash",
|
||||
"hyphen",
|
||||
"dot",
|
||||
"underscore",
|
||||
"separator",
|
||||
"string",
|
||||
"text",
|
||||
"convert",
|
||||
"pascalcase",
|
||||
"pascal-case"
|
||||
],
|
||||
"license": "MIT",
|
||||
"name": "camelcase",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/camelcase.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava && tsd"
|
||||
},
|
||||
"version": "5.3.1"
|
||||
}
|
||||
|
||||
+48
-12
@@ -1,26 +1,56 @@
|
||||
{
|
||||
"name": "html-tags",
|
||||
"version": "2.0.0",
|
||||
"description": "List of standard HTML tags",
|
||||
"license": "MIT",
|
||||
"repository": "sindresorhus/html-tags",
|
||||
"_args": [
|
||||
[
|
||||
"html-tags@2.0.0",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "html-tags@2.0.0",
|
||||
"_id": "html-tags@2.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==",
|
||||
"_location": "/@vue/babel-sugar-v-model/html-tags",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "html-tags@2.0.0",
|
||||
"name": "html-tags",
|
||||
"escapedName": "html-tags",
|
||||
"rawSpec": "2.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "2.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/babel-sugar-v-model"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz",
|
||||
"_spec": "2.0.0",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/html-tags/issues"
|
||||
},
|
||||
"description": "List of standard HTML tags",
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
"xo": "*"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"void.js",
|
||||
"html-tags.json",
|
||||
"html-tags-void.json"
|
||||
],
|
||||
"homepage": "https://github.com/sindresorhus/html-tags#readme",
|
||||
"keywords": [
|
||||
"html",
|
||||
"html5",
|
||||
@@ -32,8 +62,14 @@
|
||||
"void",
|
||||
"self-closing"
|
||||
],
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
"xo": "*"
|
||||
}
|
||||
"license": "MIT",
|
||||
"name": "html-tags",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/html-tags.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava"
|
||||
},
|
||||
"version": "2.0.0"
|
||||
}
|
||||
|
||||
+70
-34
@@ -1,27 +1,47 @@
|
||||
{
|
||||
"name": "@vue/babel-sugar-v-model",
|
||||
"version": "1.4.0",
|
||||
"_args": [
|
||||
[
|
||||
"@vue/babel-sugar-v-model@1.4.0",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "@vue/babel-sugar-v-model@1.4.0",
|
||||
"_id": "@vue/babel-sugar-v-model@1.4.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ==",
|
||||
"_location": "/@vue/babel-sugar-v-model",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@vue/babel-sugar-v-model@1.4.0",
|
||||
"name": "@vue/babel-sugar-v-model",
|
||||
"escapedName": "@vue%2fbabel-sugar-v-model",
|
||||
"scope": "@vue",
|
||||
"rawSpec": "1.4.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.4.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/babel-preset-jsx"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.4.0.tgz",
|
||||
"_spec": "1.4.0",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Nick Messing",
|
||||
"email": "dot.nick.dot.messing@gmail.com"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/plugin-syntax-jsx": "^7.2.0",
|
||||
"@vue/babel-helper-vue-jsx-merge-props": "^1.4.0",
|
||||
"@vue/babel-plugin-transform-vue-jsx": "^1.4.0",
|
||||
"camelcase": "^5.0.0",
|
||||
"html-tags": "^2.0.0",
|
||||
"svg-tags": "^1.0.0"
|
||||
},
|
||||
"description": "Babel syntactic sugar for v-model support in Vue JSX",
|
||||
"main": "dist/plugin.js",
|
||||
"repository": "https://github.com/vuejs/jsx/tree/master/packages/babel-sugar-v-model",
|
||||
"author": "Nick Messing <dot.nick.dot.messing@gmail.com>",
|
||||
"license": "MIT",
|
||||
"private": false,
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"files": [],
|
||||
"scripts": {
|
||||
"pretest:snapshot": "yarn build:test",
|
||||
"test:snapshot": "nyc --reporter=html --reporter=text-summary ava -v test/snapshot.js",
|
||||
"build:dependency": "cd ../babel-plugin-transform-vue-jsx && yarn build",
|
||||
"pretest:functional": "yarn build:dependency && yarn build:test && nyc --reporter=html --reporter=text-summary babel test/functional.js --plugins ./dist/plugin.testing.js,../babel-plugin-transform-vue-jsx/dist/plugin.js,@babel/plugin-transform-arrow-functions --out-file test/functional-compiled.js",
|
||||
"test:functional": "ava -v test/functional-compiled.js",
|
||||
"build": "rollup -c",
|
||||
"build:test": "rollup -c rollup.config.testing.js",
|
||||
"test": "rm -rf coverage* && yarn test:snapshot && mv coverage coverage-snapshot && yarn test:functional && mv coverage coverage-functional",
|
||||
"prepublish": "yarn build"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/cli": "^7.2.0",
|
||||
"@babel/core": "^7.2.0",
|
||||
@@ -39,22 +59,38 @@
|
||||
"vue": "^2.5.17",
|
||||
"vue-template-compiler": "^2.5.17"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/plugin-syntax-jsx": "^7.2.0",
|
||||
"@vue/babel-helper-vue-jsx-merge-props": "^1.4.0",
|
||||
"@vue/babel-plugin-transform-vue-jsx": "^1.4.0",
|
||||
"camelcase": "^5.0.0",
|
||||
"html-tags": "^2.0.0",
|
||||
"svg-tags": "^1.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
},
|
||||
"files": [],
|
||||
"gitHead": "6566e12067f5d6c02d3849b574a1b84de5634008",
|
||||
"license": "MIT",
|
||||
"main": "dist/plugin.js",
|
||||
"name": "@vue/babel-sugar-v-model",
|
||||
"nyc": {
|
||||
"exclude": [
|
||||
"dist",
|
||||
"test"
|
||||
]
|
||||
},
|
||||
"gitHead": "6566e12067f5d6c02d3849b574a1b84de5634008"
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
},
|
||||
"private": false,
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/vuejs/jsx/tree/master/packages/babel-sugar-v-model"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "rollup -c",
|
||||
"build:dependency": "cd ../babel-plugin-transform-vue-jsx && yarn build",
|
||||
"build:test": "rollup -c rollup.config.testing.js",
|
||||
"prepublish": "yarn build",
|
||||
"pretest:functional": "yarn build:dependency && yarn build:test && nyc --reporter=html --reporter=text-summary babel test/functional.js --plugins ./dist/plugin.testing.js,../babel-plugin-transform-vue-jsx/dist/plugin.js,@babel/plugin-transform-arrow-functions --out-file test/functional-compiled.js",
|
||||
"pretest:snapshot": "yarn build:test",
|
||||
"test": "rm -rf coverage* && yarn test:snapshot && mv coverage coverage-snapshot && yarn test:functional && mv coverage coverage-functional",
|
||||
"test:functional": "ava -v test/functional-compiled.js",
|
||||
"test:snapshot": "nyc --reporter=html --reporter=text-summary ava -v test/snapshot.js"
|
||||
},
|
||||
"version": "1.4.0"
|
||||
}
|
||||
|
||||
+77
-41
@@ -1,43 +1,79 @@
|
||||
{
|
||||
"name": "camelcase",
|
||||
"version": "5.3.1",
|
||||
"description": "Convert a dash/dot/underscore/space separated string to camelCase or PascalCase: `foo-bar` → `fooBar`",
|
||||
"license": "MIT",
|
||||
"repository": "sindresorhus/camelcase",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava && tsd"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"index.d.ts"
|
||||
],
|
||||
"keywords": [
|
||||
"camelcase",
|
||||
"camel-case",
|
||||
"camel",
|
||||
"case",
|
||||
"dash",
|
||||
"hyphen",
|
||||
"dot",
|
||||
"underscore",
|
||||
"separator",
|
||||
"string",
|
||||
"text",
|
||||
"convert",
|
||||
"pascalcase",
|
||||
"pascal-case"
|
||||
],
|
||||
"devDependencies": {
|
||||
"ava": "^1.4.1",
|
||||
"tsd": "^0.7.1",
|
||||
"xo": "^0.24.0"
|
||||
}
|
||||
"_args": [
|
||||
[
|
||||
"camelcase@5.3.1",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "camelcase@5.3.1",
|
||||
"_id": "camelcase@5.3.1",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
|
||||
"_location": "/@vue/babel-sugar-v-on/camelcase",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "camelcase@5.3.1",
|
||||
"name": "camelcase",
|
||||
"escapedName": "camelcase",
|
||||
"rawSpec": "5.3.1",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "5.3.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/babel-sugar-v-on"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
|
||||
"_spec": "5.3.1",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/camelcase/issues"
|
||||
},
|
||||
"description": "Convert a dash/dot/underscore/space separated string to camelCase or PascalCase: `foo-bar` → `fooBar`",
|
||||
"devDependencies": {
|
||||
"ava": "^1.4.1",
|
||||
"tsd": "^0.7.1",
|
||||
"xo": "^0.24.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"index.d.ts"
|
||||
],
|
||||
"homepage": "https://github.com/sindresorhus/camelcase#readme",
|
||||
"keywords": [
|
||||
"camelcase",
|
||||
"camel-case",
|
||||
"camel",
|
||||
"case",
|
||||
"dash",
|
||||
"hyphen",
|
||||
"dot",
|
||||
"underscore",
|
||||
"separator",
|
||||
"string",
|
||||
"text",
|
||||
"convert",
|
||||
"pascalcase",
|
||||
"pascal-case"
|
||||
],
|
||||
"license": "MIT",
|
||||
"name": "camelcase",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/camelcase.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava && tsd"
|
||||
},
|
||||
"version": "5.3.1"
|
||||
}
|
||||
|
||||
+67
-31
@@ -1,27 +1,44 @@
|
||||
{
|
||||
"name": "@vue/babel-sugar-v-on",
|
||||
"version": "1.4.0",
|
||||
"_args": [
|
||||
[
|
||||
"@vue/babel-sugar-v-on@1.4.0",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "@vue/babel-sugar-v-on@1.4.0",
|
||||
"_id": "@vue/babel-sugar-v-on@1.4.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA==",
|
||||
"_location": "/@vue/babel-sugar-v-on",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@vue/babel-sugar-v-on@1.4.0",
|
||||
"name": "@vue/babel-sugar-v-on",
|
||||
"escapedName": "@vue%2fbabel-sugar-v-on",
|
||||
"scope": "@vue",
|
||||
"rawSpec": "1.4.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.4.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/babel-preset-jsx"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.4.0.tgz",
|
||||
"_spec": "1.4.0",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Nick Messing",
|
||||
"email": "dot.nick.dot.messing@gmail.com"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/plugin-syntax-jsx": "^7.2.0",
|
||||
"@vue/babel-plugin-transform-vue-jsx": "^1.4.0",
|
||||
"camelcase": "^5.0.0"
|
||||
},
|
||||
"description": "Babel syntactic sugar for v-model support in Vue JSX",
|
||||
"main": "dist/plugin.js",
|
||||
"repository": "https://github.com/vuejs/jsx/tree/master/packages/babel-sugar-v-on",
|
||||
"author": "Nick Messing <dot.nick.dot.messing@gmail.com>",
|
||||
"license": "MIT",
|
||||
"private": false,
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"files": [],
|
||||
"scripts": {
|
||||
"pretest:snapshot": "yarn build:test",
|
||||
"test:snapshot": "nyc --reporter=html --reporter=text-summary ava -v test/snapshot.js",
|
||||
"build:dependency": "cd ../babel-plugin-transform-vue-jsx && yarn build",
|
||||
"pretest:functional": "yarn build:dependency && yarn build:test && nyc --reporter=html --reporter=text-summary babel test/functional.js --plugins ./dist/plugin.testing.js,../babel-plugin-transform-vue-jsx/dist/plugin.js,@babel/plugin-transform-arrow-functions --out-file test/functional-compiled.js",
|
||||
"test:functional": "ava -v test/functional-compiled.js",
|
||||
"build": "rollup -c",
|
||||
"build:test": "rollup -c rollup.config.testing.js",
|
||||
"test": "rm -rf coverage* && yarn test:snapshot && mv coverage coverage-snapshot && yarn test:functional && mv coverage coverage-functional",
|
||||
"prepublish": "yarn build"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/cli": "^7.2.0",
|
||||
"@babel/core": "^7.2.0",
|
||||
@@ -40,19 +57,38 @@
|
||||
"vue": "^2.5.17",
|
||||
"vue-template-compiler": "^2.5.17"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/plugin-syntax-jsx": "^7.2.0",
|
||||
"@vue/babel-plugin-transform-vue-jsx": "^1.4.0",
|
||||
"camelcase": "^5.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
},
|
||||
"files": [],
|
||||
"gitHead": "6566e12067f5d6c02d3849b574a1b84de5634008",
|
||||
"license": "MIT",
|
||||
"main": "dist/plugin.js",
|
||||
"name": "@vue/babel-sugar-v-on",
|
||||
"nyc": {
|
||||
"exclude": [
|
||||
"dist",
|
||||
"test"
|
||||
]
|
||||
},
|
||||
"gitHead": "6566e12067f5d6c02d3849b574a1b84de5634008"
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
},
|
||||
"private": false,
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/vuejs/jsx/tree/master/packages/babel-sugar-v-on"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "rollup -c",
|
||||
"build:dependency": "cd ../babel-plugin-transform-vue-jsx && yarn build",
|
||||
"build:test": "rollup -c rollup.config.testing.js",
|
||||
"prepublish": "yarn build",
|
||||
"pretest:functional": "yarn build:dependency && yarn build:test && nyc --reporter=html --reporter=text-summary babel test/functional.js --plugins ./dist/plugin.testing.js,../babel-plugin-transform-vue-jsx/dist/plugin.js,@babel/plugin-transform-arrow-functions --out-file test/functional-compiled.js",
|
||||
"pretest:snapshot": "yarn build:test",
|
||||
"test": "rm -rf coverage* && yarn test:snapshot && mv coverage coverage-snapshot && yarn test:functional && mv coverage coverage-functional",
|
||||
"test:functional": "ava -v test/functional-compiled.js",
|
||||
"test:snapshot": "nyc --reporter=html --reporter=text-summary ava -v test/snapshot.js"
|
||||
},
|
||||
"version": "1.4.0"
|
||||
}
|
||||
|
||||
+46
-14
@@ -1,29 +1,61 @@
|
||||
{
|
||||
"name": "@vue/cli-overlay",
|
||||
"version": "5.0.8",
|
||||
"_args": [
|
||||
[
|
||||
"@vue/cli-overlay@5.0.8",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "@vue/cli-overlay@5.0.8",
|
||||
"_id": "@vue/cli-overlay@5.0.8",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-KmtievE/B4kcXp6SuM2gzsnSd8WebkQpg3XaB6GmFh1BJGRqa1UiW9up7L/Q67uOdTigHxr5Ar2lZms4RcDjwQ==",
|
||||
"_location": "/@vue/cli-overlay",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@vue/cli-overlay@5.0.8",
|
||||
"name": "@vue/cli-overlay",
|
||||
"escapedName": "@vue%2fcli-overlay",
|
||||
"scope": "@vue",
|
||||
"rawSpec": "5.0.8",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "5.0.8"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/cli-service"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-5.0.8.tgz",
|
||||
"_spec": "5.0.8",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Evan You"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/vuejs/vue-cli/issues"
|
||||
},
|
||||
"description": "error overlay & dev server middleware for vue-cli",
|
||||
"main": "dist/client.js",
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/vue-cli.git",
|
||||
"directory": "packages/@vue/cli-overlay"
|
||||
},
|
||||
"gitHead": "b154dbd7aca4b4538e6c483b1d4b817499d7b8eb",
|
||||
"homepage": "https://github.com/vuejs/vue-cli/tree/dev/packages/@vue/cli-overlay#readme",
|
||||
"keywords": [
|
||||
"vue",
|
||||
"cli",
|
||||
"cli-overlay"
|
||||
],
|
||||
"author": "Evan You",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/vuejs/vue-cli/issues"
|
||||
},
|
||||
"homepage": "https://github.com/vuejs/vue-cli/tree/dev/packages/@vue/cli-overlay#readme",
|
||||
"main": "dist/client.js",
|
||||
"name": "@vue/cli-overlay",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"gitHead": "b154dbd7aca4b4538e6c483b1d4b817499d7b8eb"
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/vue-cli.git",
|
||||
"directory": "packages/@vue/cli-overlay"
|
||||
},
|
||||
"version": "5.0.8"
|
||||
}
|
||||
|
||||
+52
-20
@@ -1,24 +1,40 @@
|
||||
{
|
||||
"name": "@vue/cli-plugin-babel",
|
||||
"version": "5.0.8",
|
||||
"description": "babel plugin for vue-cli",
|
||||
"main": "index.js",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/vue-cli.git",
|
||||
"directory": "packages/@vue/cli-plugin-babel"
|
||||
},
|
||||
"keywords": [
|
||||
"vue",
|
||||
"cli",
|
||||
"babel"
|
||||
"_args": [
|
||||
[
|
||||
"@vue/cli-plugin-babel@5.0.8",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"author": "Evan You",
|
||||
"license": "MIT",
|
||||
"_development": true,
|
||||
"_from": "@vue/cli-plugin-babel@5.0.8",
|
||||
"_id": "@vue/cli-plugin-babel@5.0.8",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-a4qqkml3FAJ3auqB2kN2EMPocb/iu0ykeELwed+9B1c1nQ1HKgslKMHMPavYx3Cd/QAx2mBD4hwKBqZXEI/CsQ==",
|
||||
"_location": "/@vue/cli-plugin-babel",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@vue/cli-plugin-babel@5.0.8",
|
||||
"name": "@vue/cli-plugin-babel",
|
||||
"escapedName": "@vue%2fcli-plugin-babel",
|
||||
"scope": "@vue",
|
||||
"rawSpec": "5.0.8",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "5.0.8"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"#DEV:/"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-5.0.8.tgz",
|
||||
"_spec": "5.0.8",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Evan You"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/vuejs/vue-cli/issues"
|
||||
},
|
||||
"homepage": "https://github.com/vuejs/vue-cli/tree/dev/packages/@vue/cli-plugin-babel#readme",
|
||||
"dependencies": {
|
||||
"@babel/core": "^7.12.16",
|
||||
"@vue/babel-preset-app": "^5.0.8",
|
||||
@@ -27,15 +43,31 @@
|
||||
"thread-loader": "^3.0.0",
|
||||
"webpack": "^5.54.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@vue/cli-service": "^3.0.0 || ^4.0.0 || ^5.0.0-0"
|
||||
},
|
||||
"description": "babel plugin for vue-cli",
|
||||
"devDependencies": {
|
||||
"@babel/preset-env": "^7.12.16",
|
||||
"jscodeshift": "^0.13.0"
|
||||
},
|
||||
"gitHead": "b154dbd7aca4b4538e6c483b1d4b817499d7b8eb",
|
||||
"homepage": "https://github.com/vuejs/vue-cli/tree/dev/packages/@vue/cli-plugin-babel#readme",
|
||||
"keywords": [
|
||||
"vue",
|
||||
"cli",
|
||||
"babel"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"name": "@vue/cli-plugin-babel",
|
||||
"peerDependencies": {
|
||||
"@vue/cli-service": "^3.0.0 || ^4.0.0 || ^5.0.0-0"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"gitHead": "b154dbd7aca4b4538e6c483b1d4b817499d7b8eb"
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/vue-cli.git",
|
||||
"directory": "packages/@vue/cli-plugin-babel"
|
||||
},
|
||||
"version": "5.0.8"
|
||||
}
|
||||
|
||||
+52
-20
@@ -1,27 +1,40 @@
|
||||
{
|
||||
"name": "@vue/cli-plugin-eslint",
|
||||
"version": "5.0.8",
|
||||
"description": "eslint plugin for vue-cli",
|
||||
"main": "index.js",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/vue-cli.git",
|
||||
"directory": "packages/@vue/cli-plugin-eslint"
|
||||
},
|
||||
"keywords": [
|
||||
"vue",
|
||||
"cli",
|
||||
"eslint"
|
||||
"_args": [
|
||||
[
|
||||
"@vue/cli-plugin-eslint@5.0.8",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"author": "Evan You",
|
||||
"license": "MIT",
|
||||
"_development": true,
|
||||
"_from": "@vue/cli-plugin-eslint@5.0.8",
|
||||
"_id": "@vue/cli-plugin-eslint@5.0.8",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-d11+I5ONYaAPW1KyZj9GlrV/E6HZePq5L5eAF5GgoVdu6sxr6bDgEoxzhcS1Pk2eh8rn1MxG/FyyR+eCBj/CNg==",
|
||||
"_location": "/@vue/cli-plugin-eslint",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@vue/cli-plugin-eslint@5.0.8",
|
||||
"name": "@vue/cli-plugin-eslint",
|
||||
"escapedName": "@vue%2fcli-plugin-eslint",
|
||||
"scope": "@vue",
|
||||
"rawSpec": "5.0.8",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "5.0.8"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"#DEV:/"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-5.0.8.tgz",
|
||||
"_spec": "5.0.8",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Evan You"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/vuejs/vue-cli/issues"
|
||||
},
|
||||
"homepage": "https://github.com/vuejs/vue-cli/tree/dev/packages/@vue/cli-plugin-eslint#readme",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"dependencies": {
|
||||
"@vue/cli-shared-utils": "^5.0.8",
|
||||
"eslint-webpack-plugin": "^3.1.0",
|
||||
@@ -29,9 +42,28 @@
|
||||
"webpack": "^5.54.0",
|
||||
"yorkie": "^2.0.0"
|
||||
},
|
||||
"description": "eslint plugin for vue-cli",
|
||||
"gitHead": "b154dbd7aca4b4538e6c483b1d4b817499d7b8eb",
|
||||
"homepage": "https://github.com/vuejs/vue-cli/tree/dev/packages/@vue/cli-plugin-eslint#readme",
|
||||
"keywords": [
|
||||
"vue",
|
||||
"cli",
|
||||
"eslint"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"name": "@vue/cli-plugin-eslint",
|
||||
"peerDependencies": {
|
||||
"@vue/cli-service": "^3.0.0 || ^4.0.0 || ^5.0.0-0",
|
||||
"eslint": ">=7.5.0"
|
||||
},
|
||||
"gitHead": "b154dbd7aca4b4538e6c483b1d4b817499d7b8eb"
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/vue-cli.git",
|
||||
"directory": "packages/@vue/cli-plugin-eslint"
|
||||
},
|
||||
"version": "5.0.8"
|
||||
}
|
||||
|
||||
+55
-23
@@ -1,35 +1,67 @@
|
||||
{
|
||||
"name": "@vue/cli-plugin-router",
|
||||
"version": "5.0.8",
|
||||
"description": "router plugin for vue-cli",
|
||||
"main": "index.js",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/vue-cli.git",
|
||||
"directory": "packages/@vue/cli-plugin-router"
|
||||
"_args": [
|
||||
[
|
||||
"@vue/cli-plugin-router@5.0.8",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "@vue/cli-plugin-router@5.0.8",
|
||||
"_id": "@vue/cli-plugin-router@5.0.8",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-Gmv4dsGdAsWPqVijz3Ux2OS2HkMrWi1ENj2cYL75nUeL+Xj5HEstSqdtfZ0b1q9NCce+BFB6QnHfTBXc/fCvMg==",
|
||||
"_location": "/@vue/cli-plugin-router",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@vue/cli-plugin-router@5.0.8",
|
||||
"name": "@vue/cli-plugin-router",
|
||||
"escapedName": "@vue%2fcli-plugin-router",
|
||||
"scope": "@vue",
|
||||
"rawSpec": "5.0.8",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "5.0.8"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/cli-service"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-5.0.8.tgz",
|
||||
"_spec": "5.0.8",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Evan You"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/vuejs/vue-cli/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"@vue/cli-shared-utils": "^5.0.8"
|
||||
},
|
||||
"description": "router plugin for vue-cli",
|
||||
"devDependencies": {
|
||||
"@vue/cli-test-utils": "^5.0.8"
|
||||
},
|
||||
"gitHead": "b154dbd7aca4b4538e6c483b1d4b817499d7b8eb",
|
||||
"homepage": "https://github.com/vuejs/vue-cli/tree/dev/packages/@vue/cli-plugin-router#readme",
|
||||
"keywords": [
|
||||
"vue",
|
||||
"cli",
|
||||
"router"
|
||||
],
|
||||
"author": "Evan You",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/vuejs/vue-cli/issues"
|
||||
},
|
||||
"homepage": "https://github.com/vuejs/vue-cli/tree/dev/packages/@vue/cli-plugin-router#readme",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"dependencies": {
|
||||
"@vue/cli-shared-utils": "^5.0.8"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vue/cli-test-utils": "^5.0.8"
|
||||
},
|
||||
"main": "index.js",
|
||||
"name": "@vue/cli-plugin-router",
|
||||
"peerDependencies": {
|
||||
"@vue/cli-service": "^3.0.0 || ^4.0.0 || ^5.0.0-0"
|
||||
},
|
||||
"gitHead": "b154dbd7aca4b4538e6c483b1d4b817499d7b8eb"
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/vue-cli.git",
|
||||
"directory": "packages/@vue/cli-plugin-router"
|
||||
},
|
||||
"version": "5.0.8"
|
||||
}
|
||||
|
||||
+52
-20
@@ -1,32 +1,64 @@
|
||||
{
|
||||
"name": "@vue/cli-plugin-vuex",
|
||||
"version": "5.0.8",
|
||||
"description": "Vuex plugin for vue-cli",
|
||||
"main": "index.js",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/vue-cli.git",
|
||||
"directory": "packages/@vue/cli-plugin-vuex"
|
||||
"_args": [
|
||||
[
|
||||
"@vue/cli-plugin-vuex@5.0.8",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "@vue/cli-plugin-vuex@5.0.8",
|
||||
"_id": "@vue/cli-plugin-vuex@5.0.8",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-HSYWPqrunRE5ZZs8kVwiY6oWcn95qf/OQabwLfprhdpFWAGtLStShjsGED2aDpSSeGAskQETrtR/5h7VqgIlBA==",
|
||||
"_location": "/@vue/cli-plugin-vuex",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@vue/cli-plugin-vuex@5.0.8",
|
||||
"name": "@vue/cli-plugin-vuex",
|
||||
"escapedName": "@vue%2fcli-plugin-vuex",
|
||||
"scope": "@vue",
|
||||
"rawSpec": "5.0.8",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "5.0.8"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/cli-service"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-5.0.8.tgz",
|
||||
"_spec": "5.0.8",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Evan You"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/vuejs/vue-cli/issues"
|
||||
},
|
||||
"description": "Vuex plugin for vue-cli",
|
||||
"devDependencies": {
|
||||
"@vue/cli-test-utils": "^5.0.8"
|
||||
},
|
||||
"gitHead": "b154dbd7aca4b4538e6c483b1d4b817499d7b8eb",
|
||||
"homepage": "https://github.com/vuejs/vue-cli/tree/dev/packages/@vue/cli-plugin-vuex#readme",
|
||||
"keywords": [
|
||||
"vue",
|
||||
"cli",
|
||||
"vuex"
|
||||
],
|
||||
"author": "Evan You",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/vuejs/vue-cli/issues"
|
||||
},
|
||||
"homepage": "https://github.com/vuejs/vue-cli/tree/dev/packages/@vue/cli-plugin-vuex#readme",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vue/cli-test-utils": "^5.0.8"
|
||||
},
|
||||
"main": "index.js",
|
||||
"name": "@vue/cli-plugin-vuex",
|
||||
"peerDependencies": {
|
||||
"@vue/cli-service": "^3.0.0 || ^4.0.0 || ^5.0.0-0"
|
||||
},
|
||||
"gitHead": "b154dbd7aca4b4538e6c483b1d4b817499d7b8eb"
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/vue-cli.git",
|
||||
"directory": "packages/@vue/cli-plugin-vuex"
|
||||
},
|
||||
"version": "5.0.8"
|
||||
}
|
||||
|
||||
+69
-30
@@ -1,27 +1,50 @@
|
||||
{
|
||||
"name": "@vue/cli-service",
|
||||
"version": "5.0.8",
|
||||
"description": "local service for vue-cli projects",
|
||||
"main": "lib/Service.js",
|
||||
"typings": "types/index.d.ts",
|
||||
"_args": [
|
||||
[
|
||||
"@vue/cli-service@5.0.8",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "@vue/cli-service@5.0.8",
|
||||
"_id": "@vue/cli-service@5.0.8",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-nV7tYQLe7YsTtzFrfOMIHc5N2hp5lHG2rpYr0aNja9rNljdgcPZLyQRb2YRivTHqTv7lI962UXFURcpStHgyFw==",
|
||||
"_location": "/@vue/cli-service",
|
||||
"_phantomChildren": {
|
||||
"@vue/component-compiler-utils": "3.3.0",
|
||||
"big.js": "5.2.2",
|
||||
"emojis-list": "3.0.0",
|
||||
"minimist": "1.2.8",
|
||||
"vue-hot-reload-api": "2.3.4",
|
||||
"vue-style-loader": "4.1.3"
|
||||
},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@vue/cli-service@5.0.8",
|
||||
"name": "@vue/cli-service",
|
||||
"escapedName": "@vue%2fcli-service",
|
||||
"scope": "@vue",
|
||||
"rawSpec": "5.0.8",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "5.0.8"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"#DEV:/"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-5.0.8.tgz",
|
||||
"_spec": "5.0.8",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Evan You"
|
||||
},
|
||||
"bin": {
|
||||
"vue-cli-service": "bin/vue-cli-service.js"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/vue-cli.git",
|
||||
"directory": "packages/@vue/cli-service"
|
||||
},
|
||||
"keywords": [
|
||||
"vue",
|
||||
"cli"
|
||||
],
|
||||
"author": "Evan You",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/vuejs/vue-cli/issues"
|
||||
},
|
||||
"homepage": "https://cli.vuejs.org/",
|
||||
"dependencies": {
|
||||
"@babel/helper-compilation-targets": "^7.12.16",
|
||||
"@soda/friendly-errors-webpack-plugin": "^1.8.0",
|
||||
@@ -79,6 +102,29 @@
|
||||
"webpack-virtual-modules": "^0.4.2",
|
||||
"whatwg-fetch": "^3.6.2"
|
||||
},
|
||||
"description": "local service for vue-cli projects",
|
||||
"devDependencies": {
|
||||
"cache-loader": "^4.1.0",
|
||||
"sass": "^1.32.7",
|
||||
"sass-loader": "^12.0.0",
|
||||
"stylus-loader": "^6.1.0",
|
||||
"vue": "^2.6.14",
|
||||
"vue-router": "^3.5.1",
|
||||
"vue-template-compiler": "^2.6.14",
|
||||
"vuex": "^3.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^12.0.0 || >= 14.0.0"
|
||||
},
|
||||
"gitHead": "b154dbd7aca4b4538e6c483b1d4b817499d7b8eb",
|
||||
"homepage": "https://cli.vuejs.org/",
|
||||
"keywords": [
|
||||
"vue",
|
||||
"cli"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "lib/Service.js",
|
||||
"name": "@vue/cli-service",
|
||||
"peerDependencies": {
|
||||
"vue-template-compiler": "^2.0.0",
|
||||
"webpack-sources": "*"
|
||||
@@ -109,21 +155,14 @@
|
||||
"optional": true
|
||||
}
|
||||
},
|
||||
"devDependencies": {
|
||||
"cache-loader": "^4.1.0",
|
||||
"sass": "^1.32.7",
|
||||
"sass-loader": "^12.0.0",
|
||||
"stylus-loader": "^6.1.0",
|
||||
"vue": "^2.6.14",
|
||||
"vue-router": "^3.5.1",
|
||||
"vue-template-compiler": "^2.6.14",
|
||||
"vuex": "^3.6.2"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^12.0.0 || >= 14.0.0"
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/vue-cli.git",
|
||||
"directory": "packages/@vue/cli-service"
|
||||
},
|
||||
"gitHead": "b154dbd7aca4b4538e6c483b1d4b817499d7b8eb"
|
||||
"typings": "types/index.d.ts",
|
||||
"version": "5.0.8"
|
||||
}
|
||||
|
||||
+5
-2
@@ -6,7 +6,10 @@ case `uname` in
|
||||
esac
|
||||
|
||||
if [ -x "$basedir/node" ]; then
|
||||
exec "$basedir/node" "$basedir/../semver/bin/semver.js" "$@"
|
||||
"$basedir/node" "$basedir/../semver/bin/semver.js" "$@"
|
||||
ret=$?
|
||||
else
|
||||
exec node "$basedir/../semver/bin/semver.js" "$@"
|
||||
node "$basedir/../semver/bin/semver.js" "$@"
|
||||
ret=$?
|
||||
fi
|
||||
exit $ret
|
||||
|
||||
+90
-54
@@ -1,56 +1,92 @@
|
||||
{
|
||||
"name": "ansi-styles",
|
||||
"version": "4.3.0",
|
||||
"description": "ANSI escape codes for styling strings in the terminal",
|
||||
"license": "MIT",
|
||||
"repository": "chalk/ansi-styles",
|
||||
"funding": "https://github.com/chalk/ansi-styles?sponsor=1",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava && tsd",
|
||||
"screenshot": "svg-term --command='node screenshot' --out=screenshot.svg --padding=3 --width=55 --height=3 --at=1000 --no-cursor"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"index.d.ts"
|
||||
],
|
||||
"keywords": [
|
||||
"ansi",
|
||||
"styles",
|
||||
"color",
|
||||
"colour",
|
||||
"colors",
|
||||
"terminal",
|
||||
"console",
|
||||
"cli",
|
||||
"string",
|
||||
"tty",
|
||||
"escape",
|
||||
"formatting",
|
||||
"rgb",
|
||||
"256",
|
||||
"shell",
|
||||
"xterm",
|
||||
"log",
|
||||
"logging",
|
||||
"command-line",
|
||||
"text"
|
||||
],
|
||||
"dependencies": {
|
||||
"color-convert": "^2.0.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/color-convert": "^1.9.0",
|
||||
"ava": "^2.3.0",
|
||||
"svg-term-cli": "^2.1.1",
|
||||
"tsd": "^0.11.0",
|
||||
"xo": "^0.25.3"
|
||||
}
|
||||
"_args": [
|
||||
[
|
||||
"ansi-styles@4.3.0",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "ansi-styles@4.3.0",
|
||||
"_id": "ansi-styles@4.3.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||
"_location": "/@vue/cli-shared-utils/ansi-styles",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "ansi-styles@4.3.0",
|
||||
"name": "ansi-styles",
|
||||
"escapedName": "ansi-styles",
|
||||
"rawSpec": "4.3.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "4.3.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/cli-shared-utils/chalk"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||
"_spec": "4.3.0",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/chalk/ansi-styles/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"color-convert": "^2.0.1"
|
||||
},
|
||||
"description": "ANSI escape codes for styling strings in the terminal",
|
||||
"devDependencies": {
|
||||
"@types/color-convert": "^1.9.0",
|
||||
"ava": "^2.3.0",
|
||||
"svg-term-cli": "^2.1.1",
|
||||
"tsd": "^0.11.0",
|
||||
"xo": "^0.25.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"index.d.ts"
|
||||
],
|
||||
"funding": "https://github.com/chalk/ansi-styles?sponsor=1",
|
||||
"homepage": "https://github.com/chalk/ansi-styles#readme",
|
||||
"keywords": [
|
||||
"ansi",
|
||||
"styles",
|
||||
"color",
|
||||
"colour",
|
||||
"colors",
|
||||
"terminal",
|
||||
"console",
|
||||
"cli",
|
||||
"string",
|
||||
"tty",
|
||||
"escape",
|
||||
"formatting",
|
||||
"rgb",
|
||||
"256",
|
||||
"shell",
|
||||
"xterm",
|
||||
"log",
|
||||
"logging",
|
||||
"command-line",
|
||||
"text"
|
||||
],
|
||||
"license": "MIT",
|
||||
"name": "ansi-styles",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/chalk/ansi-styles.git"
|
||||
},
|
||||
"scripts": {
|
||||
"screenshot": "svg-term --command='node screenshot' --out=screenshot.svg --padding=3 --width=55 --height=3 --at=1000 --no-cursor",
|
||||
"test": "xo && ava && tsd"
|
||||
},
|
||||
"version": "4.3.0"
|
||||
}
|
||||
|
||||
+102
-66
@@ -1,68 +1,104 @@
|
||||
{
|
||||
"name": "chalk",
|
||||
"version": "4.1.2",
|
||||
"description": "Terminal string styling done right",
|
||||
"license": "MIT",
|
||||
"repository": "chalk/chalk",
|
||||
"funding": "https://github.com/chalk/chalk?sponsor=1",
|
||||
"main": "source",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && nyc ava && tsd",
|
||||
"bench": "matcha benchmark.js"
|
||||
},
|
||||
"files": [
|
||||
"source",
|
||||
"index.d.ts"
|
||||
],
|
||||
"keywords": [
|
||||
"color",
|
||||
"colour",
|
||||
"colors",
|
||||
"terminal",
|
||||
"console",
|
||||
"cli",
|
||||
"string",
|
||||
"str",
|
||||
"ansi",
|
||||
"style",
|
||||
"styles",
|
||||
"tty",
|
||||
"formatting",
|
||||
"rgb",
|
||||
"256",
|
||||
"shell",
|
||||
"xterm",
|
||||
"log",
|
||||
"logging",
|
||||
"command-line",
|
||||
"text"
|
||||
],
|
||||
"dependencies": {
|
||||
"ansi-styles": "^4.1.0",
|
||||
"supports-color": "^7.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"ava": "^2.4.0",
|
||||
"coveralls": "^3.0.7",
|
||||
"execa": "^4.0.0",
|
||||
"import-fresh": "^3.1.0",
|
||||
"matcha": "^0.7.0",
|
||||
"nyc": "^15.0.0",
|
||||
"resolve-from": "^5.0.0",
|
||||
"tsd": "^0.7.4",
|
||||
"xo": "^0.28.2"
|
||||
},
|
||||
"xo": {
|
||||
"rules": {
|
||||
"unicorn/prefer-string-slice": "off",
|
||||
"unicorn/prefer-includes": "off",
|
||||
"@typescript-eslint/member-ordering": "off",
|
||||
"no-redeclare": "off",
|
||||
"unicorn/string-content": "off",
|
||||
"unicorn/better-regex": "off"
|
||||
}
|
||||
}
|
||||
"_args": [
|
||||
[
|
||||
"chalk@4.1.2",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "chalk@4.1.2",
|
||||
"_id": "chalk@4.1.2",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
|
||||
"_location": "/@vue/cli-shared-utils/chalk",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "chalk@4.1.2",
|
||||
"name": "chalk",
|
||||
"escapedName": "chalk",
|
||||
"rawSpec": "4.1.2",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "4.1.2"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/cli-shared-utils"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
|
||||
"_spec": "4.1.2",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"bugs": {
|
||||
"url": "https://github.com/chalk/chalk/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-styles": "^4.1.0",
|
||||
"supports-color": "^7.1.0"
|
||||
},
|
||||
"description": "Terminal string styling done right",
|
||||
"devDependencies": {
|
||||
"ava": "^2.4.0",
|
||||
"coveralls": "^3.0.7",
|
||||
"execa": "^4.0.0",
|
||||
"import-fresh": "^3.1.0",
|
||||
"matcha": "^0.7.0",
|
||||
"nyc": "^15.0.0",
|
||||
"resolve-from": "^5.0.0",
|
||||
"tsd": "^0.7.4",
|
||||
"xo": "^0.28.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"files": [
|
||||
"source",
|
||||
"index.d.ts"
|
||||
],
|
||||
"funding": "https://github.com/chalk/chalk?sponsor=1",
|
||||
"homepage": "https://github.com/chalk/chalk#readme",
|
||||
"keywords": [
|
||||
"color",
|
||||
"colour",
|
||||
"colors",
|
||||
"terminal",
|
||||
"console",
|
||||
"cli",
|
||||
"string",
|
||||
"str",
|
||||
"ansi",
|
||||
"style",
|
||||
"styles",
|
||||
"tty",
|
||||
"formatting",
|
||||
"rgb",
|
||||
"256",
|
||||
"shell",
|
||||
"xterm",
|
||||
"log",
|
||||
"logging",
|
||||
"command-line",
|
||||
"text"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "source",
|
||||
"name": "chalk",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/chalk/chalk.git"
|
||||
},
|
||||
"scripts": {
|
||||
"bench": "matcha benchmark.js",
|
||||
"test": "xo && nyc ava && tsd"
|
||||
},
|
||||
"version": "4.1.2",
|
||||
"xo": {
|
||||
"rules": {
|
||||
"unicorn/prefer-string-slice": "off",
|
||||
"unicorn/prefer-includes": "off",
|
||||
"@typescript-eslint/member-ordering": "off",
|
||||
"no-redeclare": "off",
|
||||
"unicorn/string-content": "off",
|
||||
"unicorn/better-regex": "off"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+59
-20
@@ -1,17 +1,57 @@
|
||||
{
|
||||
"name": "color-convert",
|
||||
"_args": [
|
||||
[
|
||||
"color-convert@2.0.1",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "color-convert@2.0.1",
|
||||
"_id": "color-convert@2.0.1",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||
"_location": "/@vue/cli-shared-utils/color-convert",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "color-convert@2.0.1",
|
||||
"name": "color-convert",
|
||||
"escapedName": "color-convert",
|
||||
"rawSpec": "2.0.1",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "2.0.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/cli-shared-utils/ansi-styles"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||
"_spec": "2.0.1",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Heather Arthur",
|
||||
"email": "fayearthur@gmail.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/Qix-/color-convert/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"color-name": "~1.1.4"
|
||||
},
|
||||
"description": "Plain color conversion functions",
|
||||
"version": "2.0.1",
|
||||
"author": "Heather Arthur <fayearthur@gmail.com>",
|
||||
"license": "MIT",
|
||||
"repository": "Qix-/color-convert",
|
||||
"scripts": {
|
||||
"pretest": "xo",
|
||||
"test": "node test/basic.js"
|
||||
"devDependencies": {
|
||||
"chalk": "^2.4.2",
|
||||
"xo": "^0.24.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=7.0.0"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"conversions.js",
|
||||
"route.js"
|
||||
],
|
||||
"homepage": "https://github.com/Qix-/color-convert#readme",
|
||||
"keywords": [
|
||||
"color",
|
||||
"colour",
|
||||
@@ -26,23 +66,22 @@
|
||||
"ansi",
|
||||
"ansi16"
|
||||
],
|
||||
"files": [
|
||||
"index.js",
|
||||
"conversions.js",
|
||||
"route.js"
|
||||
],
|
||||
"license": "MIT",
|
||||
"name": "color-convert",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/Qix-/color-convert.git"
|
||||
},
|
||||
"scripts": {
|
||||
"pretest": "xo",
|
||||
"test": "node test/basic.js"
|
||||
},
|
||||
"version": "2.0.1",
|
||||
"xo": {
|
||||
"rules": {
|
||||
"default-case": 0,
|
||||
"no-inline-comments": 0,
|
||||
"operator-linebreak": 0
|
||||
}
|
||||
},
|
||||
"devDependencies": {
|
||||
"chalk": "^2.4.2",
|
||||
"xo": "^0.24.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"color-name": "~1.1.4"
|
||||
}
|
||||
}
|
||||
|
||||
+7
-7
@@ -1,8 +1,8 @@
|
||||
The MIT License (MIT)
|
||||
Copyright (c) 2015 Dmitry Ivanov
|
||||
|
||||
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 MIT License (MIT)
|
||||
Copyright (c) 2015 Dmitry Ivanov
|
||||
|
||||
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.
|
||||
+11
-11
@@ -1,11 +1,11 @@
|
||||
A JSON with color names and its values. Based on http://dev.w3.org/csswg/css-color/#named-colors.
|
||||
|
||||
[](https://nodei.co/npm/color-name/)
|
||||
|
||||
|
||||
```js
|
||||
var colors = require('color-name');
|
||||
colors.red //[255,0,0]
|
||||
```
|
||||
|
||||
<a href="LICENSE"><img src="https://upload.wikimedia.org/wikipedia/commons/0/0c/MIT_logo.svg" width="120"/></a>
|
||||
A JSON with color names and its values. Based on http://dev.w3.org/csswg/css-color/#named-colors.
|
||||
|
||||
[](https://nodei.co/npm/color-name/)
|
||||
|
||||
|
||||
```js
|
||||
var colors = require('color-name');
|
||||
colors.red //[255,0,0]
|
||||
```
|
||||
|
||||
<a href="LICENSE"><img src="https://upload.wikimedia.org/wikipedia/commons/0/0c/MIT_logo.svg" width="120"/></a>
|
||||
|
||||
+152
-152
@@ -1,152 +1,152 @@
|
||||
'use strict'
|
||||
|
||||
module.exports = {
|
||||
"aliceblue": [240, 248, 255],
|
||||
"antiquewhite": [250, 235, 215],
|
||||
"aqua": [0, 255, 255],
|
||||
"aquamarine": [127, 255, 212],
|
||||
"azure": [240, 255, 255],
|
||||
"beige": [245, 245, 220],
|
||||
"bisque": [255, 228, 196],
|
||||
"black": [0, 0, 0],
|
||||
"blanchedalmond": [255, 235, 205],
|
||||
"blue": [0, 0, 255],
|
||||
"blueviolet": [138, 43, 226],
|
||||
"brown": [165, 42, 42],
|
||||
"burlywood": [222, 184, 135],
|
||||
"cadetblue": [95, 158, 160],
|
||||
"chartreuse": [127, 255, 0],
|
||||
"chocolate": [210, 105, 30],
|
||||
"coral": [255, 127, 80],
|
||||
"cornflowerblue": [100, 149, 237],
|
||||
"cornsilk": [255, 248, 220],
|
||||
"crimson": [220, 20, 60],
|
||||
"cyan": [0, 255, 255],
|
||||
"darkblue": [0, 0, 139],
|
||||
"darkcyan": [0, 139, 139],
|
||||
"darkgoldenrod": [184, 134, 11],
|
||||
"darkgray": [169, 169, 169],
|
||||
"darkgreen": [0, 100, 0],
|
||||
"darkgrey": [169, 169, 169],
|
||||
"darkkhaki": [189, 183, 107],
|
||||
"darkmagenta": [139, 0, 139],
|
||||
"darkolivegreen": [85, 107, 47],
|
||||
"darkorange": [255, 140, 0],
|
||||
"darkorchid": [153, 50, 204],
|
||||
"darkred": [139, 0, 0],
|
||||
"darksalmon": [233, 150, 122],
|
||||
"darkseagreen": [143, 188, 143],
|
||||
"darkslateblue": [72, 61, 139],
|
||||
"darkslategray": [47, 79, 79],
|
||||
"darkslategrey": [47, 79, 79],
|
||||
"darkturquoise": [0, 206, 209],
|
||||
"darkviolet": [148, 0, 211],
|
||||
"deeppink": [255, 20, 147],
|
||||
"deepskyblue": [0, 191, 255],
|
||||
"dimgray": [105, 105, 105],
|
||||
"dimgrey": [105, 105, 105],
|
||||
"dodgerblue": [30, 144, 255],
|
||||
"firebrick": [178, 34, 34],
|
||||
"floralwhite": [255, 250, 240],
|
||||
"forestgreen": [34, 139, 34],
|
||||
"fuchsia": [255, 0, 255],
|
||||
"gainsboro": [220, 220, 220],
|
||||
"ghostwhite": [248, 248, 255],
|
||||
"gold": [255, 215, 0],
|
||||
"goldenrod": [218, 165, 32],
|
||||
"gray": [128, 128, 128],
|
||||
"green": [0, 128, 0],
|
||||
"greenyellow": [173, 255, 47],
|
||||
"grey": [128, 128, 128],
|
||||
"honeydew": [240, 255, 240],
|
||||
"hotpink": [255, 105, 180],
|
||||
"indianred": [205, 92, 92],
|
||||
"indigo": [75, 0, 130],
|
||||
"ivory": [255, 255, 240],
|
||||
"khaki": [240, 230, 140],
|
||||
"lavender": [230, 230, 250],
|
||||
"lavenderblush": [255, 240, 245],
|
||||
"lawngreen": [124, 252, 0],
|
||||
"lemonchiffon": [255, 250, 205],
|
||||
"lightblue": [173, 216, 230],
|
||||
"lightcoral": [240, 128, 128],
|
||||
"lightcyan": [224, 255, 255],
|
||||
"lightgoldenrodyellow": [250, 250, 210],
|
||||
"lightgray": [211, 211, 211],
|
||||
"lightgreen": [144, 238, 144],
|
||||
"lightgrey": [211, 211, 211],
|
||||
"lightpink": [255, 182, 193],
|
||||
"lightsalmon": [255, 160, 122],
|
||||
"lightseagreen": [32, 178, 170],
|
||||
"lightskyblue": [135, 206, 250],
|
||||
"lightslategray": [119, 136, 153],
|
||||
"lightslategrey": [119, 136, 153],
|
||||
"lightsteelblue": [176, 196, 222],
|
||||
"lightyellow": [255, 255, 224],
|
||||
"lime": [0, 255, 0],
|
||||
"limegreen": [50, 205, 50],
|
||||
"linen": [250, 240, 230],
|
||||
"magenta": [255, 0, 255],
|
||||
"maroon": [128, 0, 0],
|
||||
"mediumaquamarine": [102, 205, 170],
|
||||
"mediumblue": [0, 0, 205],
|
||||
"mediumorchid": [186, 85, 211],
|
||||
"mediumpurple": [147, 112, 219],
|
||||
"mediumseagreen": [60, 179, 113],
|
||||
"mediumslateblue": [123, 104, 238],
|
||||
"mediumspringgreen": [0, 250, 154],
|
||||
"mediumturquoise": [72, 209, 204],
|
||||
"mediumvioletred": [199, 21, 133],
|
||||
"midnightblue": [25, 25, 112],
|
||||
"mintcream": [245, 255, 250],
|
||||
"mistyrose": [255, 228, 225],
|
||||
"moccasin": [255, 228, 181],
|
||||
"navajowhite": [255, 222, 173],
|
||||
"navy": [0, 0, 128],
|
||||
"oldlace": [253, 245, 230],
|
||||
"olive": [128, 128, 0],
|
||||
"olivedrab": [107, 142, 35],
|
||||
"orange": [255, 165, 0],
|
||||
"orangered": [255, 69, 0],
|
||||
"orchid": [218, 112, 214],
|
||||
"palegoldenrod": [238, 232, 170],
|
||||
"palegreen": [152, 251, 152],
|
||||
"paleturquoise": [175, 238, 238],
|
||||
"palevioletred": [219, 112, 147],
|
||||
"papayawhip": [255, 239, 213],
|
||||
"peachpuff": [255, 218, 185],
|
||||
"peru": [205, 133, 63],
|
||||
"pink": [255, 192, 203],
|
||||
"plum": [221, 160, 221],
|
||||
"powderblue": [176, 224, 230],
|
||||
"purple": [128, 0, 128],
|
||||
"rebeccapurple": [102, 51, 153],
|
||||
"red": [255, 0, 0],
|
||||
"rosybrown": [188, 143, 143],
|
||||
"royalblue": [65, 105, 225],
|
||||
"saddlebrown": [139, 69, 19],
|
||||
"salmon": [250, 128, 114],
|
||||
"sandybrown": [244, 164, 96],
|
||||
"seagreen": [46, 139, 87],
|
||||
"seashell": [255, 245, 238],
|
||||
"sienna": [160, 82, 45],
|
||||
"silver": [192, 192, 192],
|
||||
"skyblue": [135, 206, 235],
|
||||
"slateblue": [106, 90, 205],
|
||||
"slategray": [112, 128, 144],
|
||||
"slategrey": [112, 128, 144],
|
||||
"snow": [255, 250, 250],
|
||||
"springgreen": [0, 255, 127],
|
||||
"steelblue": [70, 130, 180],
|
||||
"tan": [210, 180, 140],
|
||||
"teal": [0, 128, 128],
|
||||
"thistle": [216, 191, 216],
|
||||
"tomato": [255, 99, 71],
|
||||
"turquoise": [64, 224, 208],
|
||||
"violet": [238, 130, 238],
|
||||
"wheat": [245, 222, 179],
|
||||
"white": [255, 255, 255],
|
||||
"whitesmoke": [245, 245, 245],
|
||||
"yellow": [255, 255, 0],
|
||||
"yellowgreen": [154, 205, 50]
|
||||
};
|
||||
'use strict'
|
||||
|
||||
module.exports = {
|
||||
"aliceblue": [240, 248, 255],
|
||||
"antiquewhite": [250, 235, 215],
|
||||
"aqua": [0, 255, 255],
|
||||
"aquamarine": [127, 255, 212],
|
||||
"azure": [240, 255, 255],
|
||||
"beige": [245, 245, 220],
|
||||
"bisque": [255, 228, 196],
|
||||
"black": [0, 0, 0],
|
||||
"blanchedalmond": [255, 235, 205],
|
||||
"blue": [0, 0, 255],
|
||||
"blueviolet": [138, 43, 226],
|
||||
"brown": [165, 42, 42],
|
||||
"burlywood": [222, 184, 135],
|
||||
"cadetblue": [95, 158, 160],
|
||||
"chartreuse": [127, 255, 0],
|
||||
"chocolate": [210, 105, 30],
|
||||
"coral": [255, 127, 80],
|
||||
"cornflowerblue": [100, 149, 237],
|
||||
"cornsilk": [255, 248, 220],
|
||||
"crimson": [220, 20, 60],
|
||||
"cyan": [0, 255, 255],
|
||||
"darkblue": [0, 0, 139],
|
||||
"darkcyan": [0, 139, 139],
|
||||
"darkgoldenrod": [184, 134, 11],
|
||||
"darkgray": [169, 169, 169],
|
||||
"darkgreen": [0, 100, 0],
|
||||
"darkgrey": [169, 169, 169],
|
||||
"darkkhaki": [189, 183, 107],
|
||||
"darkmagenta": [139, 0, 139],
|
||||
"darkolivegreen": [85, 107, 47],
|
||||
"darkorange": [255, 140, 0],
|
||||
"darkorchid": [153, 50, 204],
|
||||
"darkred": [139, 0, 0],
|
||||
"darksalmon": [233, 150, 122],
|
||||
"darkseagreen": [143, 188, 143],
|
||||
"darkslateblue": [72, 61, 139],
|
||||
"darkslategray": [47, 79, 79],
|
||||
"darkslategrey": [47, 79, 79],
|
||||
"darkturquoise": [0, 206, 209],
|
||||
"darkviolet": [148, 0, 211],
|
||||
"deeppink": [255, 20, 147],
|
||||
"deepskyblue": [0, 191, 255],
|
||||
"dimgray": [105, 105, 105],
|
||||
"dimgrey": [105, 105, 105],
|
||||
"dodgerblue": [30, 144, 255],
|
||||
"firebrick": [178, 34, 34],
|
||||
"floralwhite": [255, 250, 240],
|
||||
"forestgreen": [34, 139, 34],
|
||||
"fuchsia": [255, 0, 255],
|
||||
"gainsboro": [220, 220, 220],
|
||||
"ghostwhite": [248, 248, 255],
|
||||
"gold": [255, 215, 0],
|
||||
"goldenrod": [218, 165, 32],
|
||||
"gray": [128, 128, 128],
|
||||
"green": [0, 128, 0],
|
||||
"greenyellow": [173, 255, 47],
|
||||
"grey": [128, 128, 128],
|
||||
"honeydew": [240, 255, 240],
|
||||
"hotpink": [255, 105, 180],
|
||||
"indianred": [205, 92, 92],
|
||||
"indigo": [75, 0, 130],
|
||||
"ivory": [255, 255, 240],
|
||||
"khaki": [240, 230, 140],
|
||||
"lavender": [230, 230, 250],
|
||||
"lavenderblush": [255, 240, 245],
|
||||
"lawngreen": [124, 252, 0],
|
||||
"lemonchiffon": [255, 250, 205],
|
||||
"lightblue": [173, 216, 230],
|
||||
"lightcoral": [240, 128, 128],
|
||||
"lightcyan": [224, 255, 255],
|
||||
"lightgoldenrodyellow": [250, 250, 210],
|
||||
"lightgray": [211, 211, 211],
|
||||
"lightgreen": [144, 238, 144],
|
||||
"lightgrey": [211, 211, 211],
|
||||
"lightpink": [255, 182, 193],
|
||||
"lightsalmon": [255, 160, 122],
|
||||
"lightseagreen": [32, 178, 170],
|
||||
"lightskyblue": [135, 206, 250],
|
||||
"lightslategray": [119, 136, 153],
|
||||
"lightslategrey": [119, 136, 153],
|
||||
"lightsteelblue": [176, 196, 222],
|
||||
"lightyellow": [255, 255, 224],
|
||||
"lime": [0, 255, 0],
|
||||
"limegreen": [50, 205, 50],
|
||||
"linen": [250, 240, 230],
|
||||
"magenta": [255, 0, 255],
|
||||
"maroon": [128, 0, 0],
|
||||
"mediumaquamarine": [102, 205, 170],
|
||||
"mediumblue": [0, 0, 205],
|
||||
"mediumorchid": [186, 85, 211],
|
||||
"mediumpurple": [147, 112, 219],
|
||||
"mediumseagreen": [60, 179, 113],
|
||||
"mediumslateblue": [123, 104, 238],
|
||||
"mediumspringgreen": [0, 250, 154],
|
||||
"mediumturquoise": [72, 209, 204],
|
||||
"mediumvioletred": [199, 21, 133],
|
||||
"midnightblue": [25, 25, 112],
|
||||
"mintcream": [245, 255, 250],
|
||||
"mistyrose": [255, 228, 225],
|
||||
"moccasin": [255, 228, 181],
|
||||
"navajowhite": [255, 222, 173],
|
||||
"navy": [0, 0, 128],
|
||||
"oldlace": [253, 245, 230],
|
||||
"olive": [128, 128, 0],
|
||||
"olivedrab": [107, 142, 35],
|
||||
"orange": [255, 165, 0],
|
||||
"orangered": [255, 69, 0],
|
||||
"orchid": [218, 112, 214],
|
||||
"palegoldenrod": [238, 232, 170],
|
||||
"palegreen": [152, 251, 152],
|
||||
"paleturquoise": [175, 238, 238],
|
||||
"palevioletred": [219, 112, 147],
|
||||
"papayawhip": [255, 239, 213],
|
||||
"peachpuff": [255, 218, 185],
|
||||
"peru": [205, 133, 63],
|
||||
"pink": [255, 192, 203],
|
||||
"plum": [221, 160, 221],
|
||||
"powderblue": [176, 224, 230],
|
||||
"purple": [128, 0, 128],
|
||||
"rebeccapurple": [102, 51, 153],
|
||||
"red": [255, 0, 0],
|
||||
"rosybrown": [188, 143, 143],
|
||||
"royalblue": [65, 105, 225],
|
||||
"saddlebrown": [139, 69, 19],
|
||||
"salmon": [250, 128, 114],
|
||||
"sandybrown": [244, 164, 96],
|
||||
"seagreen": [46, 139, 87],
|
||||
"seashell": [255, 245, 238],
|
||||
"sienna": [160, 82, 45],
|
||||
"silver": [192, 192, 192],
|
||||
"skyblue": [135, 206, 235],
|
||||
"slateblue": [106, 90, 205],
|
||||
"slategray": [112, 128, 144],
|
||||
"slategrey": [112, 128, 144],
|
||||
"snow": [255, 250, 250],
|
||||
"springgreen": [0, 255, 127],
|
||||
"steelblue": [70, 130, 180],
|
||||
"tan": [210, 180, 140],
|
||||
"teal": [0, 128, 128],
|
||||
"thistle": [216, 191, 216],
|
||||
"tomato": [255, 99, 71],
|
||||
"turquoise": [64, 224, 208],
|
||||
"violet": [238, 130, 238],
|
||||
"wheat": [245, 222, 179],
|
||||
"white": [255, 255, 255],
|
||||
"whitesmoke": [245, 245, 245],
|
||||
"yellow": [255, 255, 0],
|
||||
"yellowgreen": [154, 205, 50]
|
||||
};
|
||||
|
||||
+46
-14
@@ -1,28 +1,60 @@
|
||||
{
|
||||
"name": "color-name",
|
||||
"version": "1.1.4",
|
||||
"_args": [
|
||||
[
|
||||
"color-name@1.1.4",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "color-name@1.1.4",
|
||||
"_id": "color-name@1.1.4",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||
"_location": "/@vue/cli-shared-utils/color-name",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "color-name@1.1.4",
|
||||
"name": "color-name",
|
||||
"escapedName": "color-name",
|
||||
"rawSpec": "1.1.4",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.1.4"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/cli-shared-utils/color-convert"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||
"_spec": "1.1.4",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "DY",
|
||||
"email": "dfcreative@gmail.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/colorjs/color-name/issues"
|
||||
},
|
||||
"description": "A list of color names and its values",
|
||||
"main": "index.js",
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"scripts": {
|
||||
"test": "node test.js"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git@github.com:colorjs/color-name.git"
|
||||
},
|
||||
"homepage": "https://github.com/colorjs/color-name",
|
||||
"keywords": [
|
||||
"color-name",
|
||||
"color",
|
||||
"color-keyword",
|
||||
"keyword"
|
||||
],
|
||||
"author": "DY <dfcreative@gmail.com>",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/colorjs/color-name/issues"
|
||||
"main": "index.js",
|
||||
"name": "color-name",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+ssh://git@github.com/colorjs/color-name.git"
|
||||
},
|
||||
"homepage": "https://github.com/colorjs/color-name"
|
||||
"scripts": {
|
||||
"test": "node test.js"
|
||||
},
|
||||
"version": "1.1.4"
|
||||
}
|
||||
|
||||
+80
-44
@@ -1,46 +1,82 @@
|
||||
{
|
||||
"name": "has-flag",
|
||||
"version": "4.0.0",
|
||||
"description": "Check if argv has a specific flag",
|
||||
"license": "MIT",
|
||||
"repository": "sindresorhus/has-flag",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava && tsd"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"index.d.ts"
|
||||
],
|
||||
"keywords": [
|
||||
"has",
|
||||
"check",
|
||||
"detect",
|
||||
"contains",
|
||||
"find",
|
||||
"flag",
|
||||
"cli",
|
||||
"command-line",
|
||||
"argv",
|
||||
"process",
|
||||
"arg",
|
||||
"args",
|
||||
"argument",
|
||||
"arguments",
|
||||
"getopt",
|
||||
"minimist",
|
||||
"optimist"
|
||||
],
|
||||
"devDependencies": {
|
||||
"ava": "^1.4.1",
|
||||
"tsd": "^0.7.2",
|
||||
"xo": "^0.24.0"
|
||||
}
|
||||
"_args": [
|
||||
[
|
||||
"has-flag@4.0.0",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "has-flag@4.0.0",
|
||||
"_id": "has-flag@4.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||
"_location": "/@vue/cli-shared-utils/has-flag",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "has-flag@4.0.0",
|
||||
"name": "has-flag",
|
||||
"escapedName": "has-flag",
|
||||
"rawSpec": "4.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "4.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/cli-shared-utils/supports-color"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||
"_spec": "4.0.0",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/has-flag/issues"
|
||||
},
|
||||
"description": "Check if argv has a specific flag",
|
||||
"devDependencies": {
|
||||
"ava": "^1.4.1",
|
||||
"tsd": "^0.7.2",
|
||||
"xo": "^0.24.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"index.d.ts"
|
||||
],
|
||||
"homepage": "https://github.com/sindresorhus/has-flag#readme",
|
||||
"keywords": [
|
||||
"has",
|
||||
"check",
|
||||
"detect",
|
||||
"contains",
|
||||
"find",
|
||||
"flag",
|
||||
"cli",
|
||||
"command-line",
|
||||
"argv",
|
||||
"process",
|
||||
"arg",
|
||||
"args",
|
||||
"argument",
|
||||
"arguments",
|
||||
"getopt",
|
||||
"minimist",
|
||||
"optimist"
|
||||
],
|
||||
"license": "MIT",
|
||||
"name": "has-flag",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/has-flag.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava && tsd"
|
||||
},
|
||||
"version": "4.0.0"
|
||||
}
|
||||
|
||||
+64
-24
@@ -1,34 +1,74 @@
|
||||
{
|
||||
"name": "lru-cache",
|
||||
"_args": [
|
||||
[
|
||||
"lru-cache@6.0.0",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "lru-cache@6.0.0",
|
||||
"_id": "lru-cache@6.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
||||
"_location": "/@vue/cli-shared-utils/lru-cache",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "lru-cache@6.0.0",
|
||||
"name": "lru-cache",
|
||||
"escapedName": "lru-cache",
|
||||
"rawSpec": "6.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "6.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/cli-shared-utils",
|
||||
"/@vue/cli-shared-utils/semver"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
||||
"_spec": "6.0.0",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Isaac Z. Schlueter",
|
||||
"email": "i@izs.me"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/isaacs/node-lru-cache/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"yallist": "^4.0.0"
|
||||
},
|
||||
"description": "A cache object that deletes the least-recently-used items.",
|
||||
"version": "6.0.0",
|
||||
"author": "Isaac Z. Schlueter <i@izs.me>",
|
||||
"devDependencies": {
|
||||
"benchmark": "^2.1.4",
|
||||
"tap": "^14.10.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"homepage": "https://github.com/isaacs/node-lru-cache#readme",
|
||||
"keywords": [
|
||||
"mru",
|
||||
"lru",
|
||||
"cache"
|
||||
],
|
||||
"scripts": {
|
||||
"test": "tap",
|
||||
"snap": "tap",
|
||||
"preversion": "npm test",
|
||||
"postversion": "npm publish",
|
||||
"prepublishOnly": "git push origin --follow-tags"
|
||||
},
|
||||
"main": "index.js",
|
||||
"repository": "git://github.com/isaacs/node-lru-cache.git",
|
||||
"devDependencies": {
|
||||
"benchmark": "^2.1.4",
|
||||
"tap": "^14.10.7"
|
||||
},
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"yallist": "^4.0.0"
|
||||
"main": "index.js",
|
||||
"name": "lru-cache",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/isaacs/node-lru-cache.git"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
"scripts": {
|
||||
"postversion": "npm publish",
|
||||
"prepublishOnly": "git push origin --follow-tags",
|
||||
"preversion": "npm test",
|
||||
"snap": "tap",
|
||||
"test": "tap"
|
||||
},
|
||||
"version": "6.0.0"
|
||||
}
|
||||
|
||||
+62
-27
@@ -1,29 +1,53 @@
|
||||
{
|
||||
"name": "semver",
|
||||
"version": "7.5.4",
|
||||
"description": "The semantic version parser used by npm.",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "tap",
|
||||
"snap": "tap",
|
||||
"lint": "eslint \"**/*.js\"",
|
||||
"postlint": "template-oss-check",
|
||||
"lintfix": "npm run lint -- --fix",
|
||||
"posttest": "npm run lint",
|
||||
"template-oss-apply": "template-oss-apply --force"
|
||||
"_args": [
|
||||
[
|
||||
"semver@7.5.4",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "semver@7.5.4",
|
||||
"_id": "semver@7.5.4",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
|
||||
"_location": "/@vue/cli-shared-utils/semver",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "semver@7.5.4",
|
||||
"name": "semver",
|
||||
"escapedName": "semver",
|
||||
"rawSpec": "7.5.4",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "7.5.4"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/cli-shared-utils"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
|
||||
"_spec": "7.5.4",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "GitHub Inc."
|
||||
},
|
||||
"bin": {
|
||||
"semver": "bin/semver.js"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/npm/node-semver/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"lru-cache": "^6.0.0"
|
||||
},
|
||||
"description": "The semantic version parser used by npm.",
|
||||
"devDependencies": {
|
||||
"@npmcli/eslint-config": "^4.0.0",
|
||||
"@npmcli/template-oss": "4.17.0",
|
||||
"tap": "^16.0.0"
|
||||
},
|
||||
"license": "ISC",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/npm/node-semver.git"
|
||||
},
|
||||
"bin": {
|
||||
"semver": "bin/semver.js"
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"files": [
|
||||
"bin/",
|
||||
@@ -36,6 +60,23 @@
|
||||
"preload.js",
|
||||
"range.bnf"
|
||||
],
|
||||
"homepage": "https://github.com/npm/node-semver#readme",
|
||||
"license": "ISC",
|
||||
"main": "index.js",
|
||||
"name": "semver",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/npm/node-semver.git"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "eslint \"**/*.js\"",
|
||||
"lintfix": "npm run lint -- --fix",
|
||||
"postlint": "template-oss-check",
|
||||
"posttest": "npm run lint",
|
||||
"snap": "tap",
|
||||
"template-oss-apply": "template-oss-apply --force",
|
||||
"test": "tap"
|
||||
},
|
||||
"tap": {
|
||||
"timeout": 30,
|
||||
"coverage-map": "map.js",
|
||||
@@ -44,13 +85,6 @@
|
||||
"tap-snapshots/**"
|
||||
]
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"dependencies": {
|
||||
"lru-cache": "^6.0.0"
|
||||
},
|
||||
"author": "GitHub Inc.",
|
||||
"templateOSS": {
|
||||
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
|
||||
"version": "4.17.0",
|
||||
@@ -83,5 +117,6 @@
|
||||
"/range.bnf"
|
||||
],
|
||||
"publish": "true"
|
||||
}
|
||||
},
|
||||
"version": "7.5.4"
|
||||
}
|
||||
|
||||
+87
-51
@@ -1,53 +1,89 @@
|
||||
{
|
||||
"name": "supports-color",
|
||||
"version": "7.2.0",
|
||||
"description": "Detect whether a terminal supports color",
|
||||
"license": "MIT",
|
||||
"repository": "chalk/supports-color",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"browser.js"
|
||||
],
|
||||
"keywords": [
|
||||
"color",
|
||||
"colour",
|
||||
"colors",
|
||||
"terminal",
|
||||
"console",
|
||||
"cli",
|
||||
"ansi",
|
||||
"styles",
|
||||
"tty",
|
||||
"rgb",
|
||||
"256",
|
||||
"shell",
|
||||
"xterm",
|
||||
"command-line",
|
||||
"support",
|
||||
"supports",
|
||||
"capability",
|
||||
"detect",
|
||||
"truecolor",
|
||||
"16m"
|
||||
],
|
||||
"dependencies": {
|
||||
"has-flag": "^4.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"ava": "^1.4.1",
|
||||
"import-fresh": "^3.0.0",
|
||||
"xo": "^0.24.0"
|
||||
},
|
||||
"browser": "browser.js"
|
||||
"_args": [
|
||||
[
|
||||
"supports-color@7.2.0",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "supports-color@7.2.0",
|
||||
"_id": "supports-color@7.2.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||
"_location": "/@vue/cli-shared-utils/supports-color",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "supports-color@7.2.0",
|
||||
"name": "supports-color",
|
||||
"escapedName": "supports-color",
|
||||
"rawSpec": "7.2.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "7.2.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/cli-shared-utils/chalk"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||
"_spec": "7.2.0",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"browser": "browser.js",
|
||||
"bugs": {
|
||||
"url": "https://github.com/chalk/supports-color/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"has-flag": "^4.0.0"
|
||||
},
|
||||
"description": "Detect whether a terminal supports color",
|
||||
"devDependencies": {
|
||||
"ava": "^1.4.1",
|
||||
"import-fresh": "^3.0.0",
|
||||
"xo": "^0.24.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"browser.js"
|
||||
],
|
||||
"homepage": "https://github.com/chalk/supports-color#readme",
|
||||
"keywords": [
|
||||
"color",
|
||||
"colour",
|
||||
"colors",
|
||||
"terminal",
|
||||
"console",
|
||||
"cli",
|
||||
"ansi",
|
||||
"styles",
|
||||
"tty",
|
||||
"rgb",
|
||||
"256",
|
||||
"shell",
|
||||
"xterm",
|
||||
"command-line",
|
||||
"support",
|
||||
"supports",
|
||||
"capability",
|
||||
"detect",
|
||||
"truecolor",
|
||||
"16m"
|
||||
],
|
||||
"license": "MIT",
|
||||
"name": "supports-color",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/chalk/supports-color.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava"
|
||||
},
|
||||
"version": "7.2.0"
|
||||
}
|
||||
|
||||
+52
-15
@@ -1,8 +1,46 @@
|
||||
{
|
||||
"name": "yallist",
|
||||
"version": "4.0.0",
|
||||
"_args": [
|
||||
[
|
||||
"yallist@4.0.0",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "yallist@4.0.0",
|
||||
"_id": "yallist@4.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
|
||||
"_location": "/@vue/cli-shared-utils/yallist",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "yallist@4.0.0",
|
||||
"name": "yallist",
|
||||
"escapedName": "yallist",
|
||||
"rawSpec": "4.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "4.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/cli-shared-utils/lru-cache"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
||||
"_spec": "4.0.0",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Isaac Z. Schlueter",
|
||||
"email": "i@izs.me",
|
||||
"url": "http://blog.izs.me/"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/isaacs/yallist/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"description": "Yet Another Linked List",
|
||||
"main": "yallist.js",
|
||||
"devDependencies": {
|
||||
"tap": "^12.1.0"
|
||||
},
|
||||
"directories": {
|
||||
"test": "test"
|
||||
},
|
||||
@@ -10,20 +48,19 @@
|
||||
"yallist.js",
|
||||
"iterator.js"
|
||||
],
|
||||
"dependencies": {},
|
||||
"devDependencies": {
|
||||
"tap": "^12.1.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "tap test/*.js --100",
|
||||
"preversion": "npm test",
|
||||
"postversion": "npm publish",
|
||||
"postpublish": "git push origin --all; git push origin --tags"
|
||||
},
|
||||
"homepage": "https://github.com/isaacs/yallist#readme",
|
||||
"license": "ISC",
|
||||
"main": "yallist.js",
|
||||
"name": "yallist",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/isaacs/yallist.git"
|
||||
},
|
||||
"author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
|
||||
"license": "ISC"
|
||||
"scripts": {
|
||||
"postpublish": "git push origin --all; git push origin --tags",
|
||||
"postversion": "npm publish",
|
||||
"preversion": "npm test",
|
||||
"test": "tap test/*.js --100"
|
||||
},
|
||||
"version": "4.0.0"
|
||||
}
|
||||
|
||||
+52
-17
@@ -1,24 +1,43 @@
|
||||
{
|
||||
"name": "@vue/cli-shared-utils",
|
||||
"version": "5.0.8",
|
||||
"description": "shared utilities for vue-cli packages",
|
||||
"main": "index.js",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/vue-cli.git",
|
||||
"directory": "packages/@vue/cli-shared-utils"
|
||||
},
|
||||
"keywords": [
|
||||
"vue",
|
||||
"cli",
|
||||
"cli-shared-utils"
|
||||
"_args": [
|
||||
[
|
||||
"@vue/cli-shared-utils@5.0.8",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"author": "Evan You",
|
||||
"license": "MIT",
|
||||
"_development": true,
|
||||
"_from": "@vue/cli-shared-utils@5.0.8",
|
||||
"_id": "@vue/cli-shared-utils@5.0.8",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-uK2YB7bBVuQhjOJF+O52P9yFMXeJVj7ozqJkwYE9PlMHL1LMHjtCYm4cSdOebuPzyP+/9p0BimM/OqxsevIopQ==",
|
||||
"_location": "/@vue/cli-shared-utils",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@vue/cli-shared-utils@5.0.8",
|
||||
"name": "@vue/cli-shared-utils",
|
||||
"escapedName": "@vue%2fcli-shared-utils",
|
||||
"scope": "@vue",
|
||||
"rawSpec": "5.0.8",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "5.0.8"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/cli-plugin-babel",
|
||||
"/@vue/cli-plugin-eslint",
|
||||
"/@vue/cli-plugin-router",
|
||||
"/@vue/cli-service"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-5.0.8.tgz",
|
||||
"_spec": "5.0.8",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Evan You"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/vuejs/vue-cli/issues"
|
||||
},
|
||||
"homepage": "https://github.com/vuejs/vue-cli/tree/dev/packages/@vue/cli-shared-utils#readme",
|
||||
"dependencies": {
|
||||
"@achrinza/node-ipc": "^9.2.5",
|
||||
"chalk": "^4.1.2",
|
||||
@@ -33,8 +52,24 @@
|
||||
"semver": "^7.3.4",
|
||||
"strip-ansi": "^6.0.0"
|
||||
},
|
||||
"description": "shared utilities for vue-cli packages",
|
||||
"gitHead": "b154dbd7aca4b4538e6c483b1d4b817499d7b8eb",
|
||||
"homepage": "https://github.com/vuejs/vue-cli/tree/dev/packages/@vue/cli-shared-utils#readme",
|
||||
"keywords": [
|
||||
"vue",
|
||||
"cli",
|
||||
"cli-shared-utils"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"name": "@vue/cli-shared-utils",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"gitHead": "b154dbd7aca4b4538e6c483b1d4b817499d7b8eb"
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/vue-cli.git",
|
||||
"directory": "packages/@vue/cli-shared-utils"
|
||||
},
|
||||
"version": "5.0.8"
|
||||
}
|
||||
|
||||
+454
-454
@@ -1,454 +1,454 @@
|
||||
import { LazyResult } from 'postcss';
|
||||
import { ParserPlugin } from '@babel/parser';
|
||||
|
||||
declare interface AssetURLOptions {
|
||||
[name: string]: string | string[];
|
||||
}
|
||||
|
||||
declare type ASTAttr = {
|
||||
name: string;
|
||||
value: any;
|
||||
dynamic?: boolean;
|
||||
start?: number;
|
||||
end?: number;
|
||||
};
|
||||
|
||||
declare type ASTDirective = {
|
||||
name: string;
|
||||
rawName: string;
|
||||
value: string;
|
||||
arg: string | null;
|
||||
isDynamicArg: boolean;
|
||||
modifiers: ASTModifiers | null;
|
||||
start?: number;
|
||||
end?: number;
|
||||
};
|
||||
|
||||
declare type ASTElement = {
|
||||
type: 1;
|
||||
tag: string;
|
||||
attrsList: Array<ASTAttr>;
|
||||
attrsMap: {
|
||||
[key: string]: any;
|
||||
};
|
||||
rawAttrsMap: {
|
||||
[key: string]: ASTAttr;
|
||||
};
|
||||
parent: ASTElement | void;
|
||||
children: Array<ASTNode>;
|
||||
start?: number;
|
||||
end?: number;
|
||||
processed?: true;
|
||||
static?: boolean;
|
||||
staticRoot?: boolean;
|
||||
staticInFor?: boolean;
|
||||
staticProcessed?: boolean;
|
||||
hasBindings?: boolean;
|
||||
text?: string;
|
||||
attrs?: Array<ASTAttr>;
|
||||
dynamicAttrs?: Array<ASTAttr>;
|
||||
props?: Array<ASTAttr>;
|
||||
plain?: boolean;
|
||||
pre?: true;
|
||||
ns?: string;
|
||||
component?: string;
|
||||
inlineTemplate?: true;
|
||||
transitionMode?: string | null;
|
||||
slotName?: string | null;
|
||||
slotTarget?: string | null;
|
||||
slotTargetDynamic?: boolean;
|
||||
slotScope?: string | null;
|
||||
scopedSlots?: {
|
||||
[name: string]: ASTElement;
|
||||
};
|
||||
ref?: string;
|
||||
refInFor?: boolean;
|
||||
if?: string;
|
||||
ifProcessed?: boolean;
|
||||
elseif?: string;
|
||||
else?: true;
|
||||
ifConditions?: ASTIfConditions;
|
||||
for?: string;
|
||||
forProcessed?: boolean;
|
||||
key?: string;
|
||||
alias?: string;
|
||||
iterator1?: string;
|
||||
iterator2?: string;
|
||||
staticClass?: string;
|
||||
classBinding?: string;
|
||||
staticStyle?: string;
|
||||
styleBinding?: string;
|
||||
events?: ASTElementHandlers;
|
||||
nativeEvents?: ASTElementHandlers;
|
||||
transition?: string | true;
|
||||
transitionOnAppear?: boolean;
|
||||
model?: {
|
||||
value: string;
|
||||
callback: string;
|
||||
expression: string;
|
||||
};
|
||||
directives?: Array<ASTDirective>;
|
||||
forbidden?: true;
|
||||
once?: true;
|
||||
onceProcessed?: boolean;
|
||||
wrapData?: (code: string) => string;
|
||||
wrapListeners?: (code: string) => string;
|
||||
ssrOptimizability?: number;
|
||||
};
|
||||
|
||||
declare type ASTElementHandler = {
|
||||
value: string;
|
||||
params?: Array<any>;
|
||||
modifiers: ASTModifiers | null;
|
||||
dynamic?: boolean;
|
||||
start?: number;
|
||||
end?: number;
|
||||
};
|
||||
|
||||
declare type ASTElementHandlers = {
|
||||
[key: string]: ASTElementHandler | Array<ASTElementHandler>;
|
||||
};
|
||||
|
||||
declare type ASTExpression = {
|
||||
type: 2;
|
||||
expression: string;
|
||||
text: string;
|
||||
tokens: Array<string | Object>;
|
||||
static?: boolean;
|
||||
ssrOptimizability?: number;
|
||||
start?: number;
|
||||
end?: number;
|
||||
};
|
||||
|
||||
declare type ASTIfCondition = {
|
||||
exp: string | null;
|
||||
block: ASTElement;
|
||||
};
|
||||
|
||||
declare type ASTIfConditions = Array<ASTIfCondition>;
|
||||
|
||||
declare type ASTModifiers = {
|
||||
[key: string]: boolean;
|
||||
};
|
||||
|
||||
declare type ASTNode = ASTElement | ASTText | ASTExpression;
|
||||
|
||||
declare type ASTText = {
|
||||
type: 3;
|
||||
text: string;
|
||||
static?: boolean;
|
||||
isComment?: boolean;
|
||||
ssrOptimizability?: number;
|
||||
start?: number;
|
||||
end?: number;
|
||||
};
|
||||
|
||||
declare type BindingMetadata = {
|
||||
[key: string]: BindingTypes | undefined;
|
||||
} & {
|
||||
__isScriptSetup?: boolean;
|
||||
};
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
declare type CompiledResult = {
|
||||
ast: ASTElement | null;
|
||||
render: string;
|
||||
staticRenderFns: Array<string>;
|
||||
stringRenderFns?: Array<string>;
|
||||
errors?: Array<string | WarningMessage>;
|
||||
tips?: Array<string | WarningMessage>;
|
||||
};
|
||||
|
||||
export declare type CompilerOptions = {
|
||||
warn?: Function;
|
||||
modules?: Array<ModuleOptions>;
|
||||
directives?: {
|
||||
[key: string]: Function;
|
||||
};
|
||||
staticKeys?: string;
|
||||
isUnaryTag?: (tag: string) => boolean | undefined;
|
||||
canBeLeftOpenTag?: (tag: string) => boolean | undefined;
|
||||
isReservedTag?: (tag: string) => boolean | undefined;
|
||||
preserveWhitespace?: boolean;
|
||||
whitespace?: 'preserve' | 'condense';
|
||||
optimize?: boolean;
|
||||
mustUseProp?: (tag: string, type: string | null, name: string) => boolean;
|
||||
isPreTag?: (attr: string) => boolean | null;
|
||||
getTagNamespace?: (tag: string) => string | undefined;
|
||||
expectHTML?: boolean;
|
||||
isFromDOM?: boolean;
|
||||
shouldDecodeTags?: boolean;
|
||||
shouldDecodeNewlines?: boolean;
|
||||
shouldDecodeNewlinesForHref?: boolean;
|
||||
outputSourceRange?: boolean;
|
||||
shouldKeepComment?: boolean;
|
||||
delimiters?: [string, string];
|
||||
comments?: boolean;
|
||||
scopeId?: string;
|
||||
bindings?: BindingMetadata;
|
||||
};
|
||||
|
||||
/**
|
||||
* 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 declare function compileStyle(options: SFCStyleCompileOptions): SFCStyleCompileResults;
|
||||
|
||||
export declare function compileStyleAsync(options: SFCStyleCompileOptions): Promise<SFCStyleCompileResults>;
|
||||
|
||||
export declare function compileTemplate(options: SFCTemplateCompileOptions): SFCTemplateCompileResults;
|
||||
|
||||
export declare function generateCodeFrame(source: string, start?: number, end?: number): string;
|
||||
|
||||
declare interface ImportBinding {
|
||||
isType: boolean;
|
||||
imported: string;
|
||||
source: string;
|
||||
isFromSetup: boolean;
|
||||
isUsedInTemplate: boolean;
|
||||
}
|
||||
|
||||
declare type ModuleOptions = {
|
||||
preTransformNode?: (el: ASTElement) => ASTElement | null | void;
|
||||
transformNode?: (el: ASTElement) => ASTElement | null | void;
|
||||
postTransformNode?: (el: ASTElement) => void;
|
||||
genData?: (el: ASTElement) => string;
|
||||
transformCode?: (el: ASTElement, code: string) => string;
|
||||
staticKeys?: Array<string>;
|
||||
};
|
||||
|
||||
export declare function parse(options: SFCParseOptions): SFCDescriptor;
|
||||
|
||||
/**
|
||||
* Parse a single-file component (*.vue) file into an SFC Descriptor Object.
|
||||
*/
|
||||
export declare function parseComponent(source: string, options?: VueTemplateCompilerParseOptions): SFCDescriptor;
|
||||
|
||||
declare interface RawSourceMap extends StartOfSourceMap {
|
||||
version: string;
|
||||
sources: string[];
|
||||
names: string[];
|
||||
sourcesContent?: string[];
|
||||
mappings: 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 rewriteDefault(input: string, as: string, parserPlugins?: ParserPlugin[]): string;
|
||||
|
||||
export declare interface SFCBlock extends SFCCustomBlock {
|
||||
lang?: string;
|
||||
scoped?: boolean;
|
||||
module?: string | boolean;
|
||||
}
|
||||
|
||||
export declare interface SFCCustomBlock {
|
||||
type: string;
|
||||
content: string;
|
||||
attrs: {
|
||||
[key: string]: string | true;
|
||||
};
|
||||
start: number;
|
||||
end: number;
|
||||
src?: string;
|
||||
map?: RawSourceMap;
|
||||
}
|
||||
|
||||
export declare interface SFCDescriptor {
|
||||
source: string;
|
||||
filename: string;
|
||||
template: SFCBlock | null;
|
||||
script: SFCScriptBlock | null;
|
||||
scriptSetup: SFCScriptBlock | null;
|
||||
styles: SFCBlock[];
|
||||
customBlocks: SFCCustomBlock[];
|
||||
cssVars: string[];
|
||||
errors: (string | WarningMessage)[];
|
||||
/**
|
||||
* 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 declare interface SFCParseOptions {
|
||||
source: string;
|
||||
filename?: string;
|
||||
compiler?: TemplateCompiler;
|
||||
compilerParseOptions?: VueTemplateCompilerParseOptions;
|
||||
sourceRoot?: string;
|
||||
sourceMap?: boolean;
|
||||
/**
|
||||
* @deprecated use `sourceMap` instead.
|
||||
*/
|
||||
needMap?: boolean;
|
||||
}
|
||||
|
||||
export declare interface SFCScriptBlock extends SFCBlock {
|
||||
type: 'script';
|
||||
setup?: string | boolean;
|
||||
bindings?: BindingMetadata;
|
||||
imports?: Record<string, ImportBinding>;
|
||||
/**
|
||||
* import('\@babel/types').Statement
|
||||
*/
|
||||
scriptAst?: any[];
|
||||
/**
|
||||
* import('\@babel/types').Statement
|
||||
*/
|
||||
scriptSetupAst?: any[];
|
||||
}
|
||||
|
||||
export declare 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[];
|
||||
}
|
||||
|
||||
export declare interface SFCStyleCompileOptions {
|
||||
source: string;
|
||||
filename: string;
|
||||
id: string;
|
||||
map?: any;
|
||||
scoped?: boolean;
|
||||
trim?: boolean;
|
||||
preprocessLang?: string;
|
||||
preprocessOptions?: any;
|
||||
postcssOptions?: any;
|
||||
postcssPlugins?: any[];
|
||||
isProd?: boolean;
|
||||
}
|
||||
|
||||
export declare interface SFCStyleCompileResults {
|
||||
code: string;
|
||||
map: any | void;
|
||||
rawResult: LazyResult | void;
|
||||
errors: string[];
|
||||
}
|
||||
|
||||
export declare interface SFCTemplateCompileOptions {
|
||||
source: string;
|
||||
filename: string;
|
||||
compiler?: TemplateCompiler;
|
||||
compilerOptions?: CompilerOptions;
|
||||
transformAssetUrls?: AssetURLOptions | boolean;
|
||||
transformAssetUrlsOptions?: TransformAssetUrlsOptions;
|
||||
preprocessLang?: string;
|
||||
preprocessOptions?: any;
|
||||
transpileOptions?: any;
|
||||
isProduction?: boolean;
|
||||
isFunctional?: boolean;
|
||||
optimizeSSR?: boolean;
|
||||
prettify?: boolean;
|
||||
isTS?: boolean;
|
||||
bindings?: BindingMetadata;
|
||||
}
|
||||
|
||||
export declare interface SFCTemplateCompileResults {
|
||||
ast: Object | undefined;
|
||||
code: string;
|
||||
source: string;
|
||||
tips: (string | WarningMessage)[];
|
||||
errors: (string | WarningMessage)[];
|
||||
}
|
||||
|
||||
declare interface StartOfSourceMap {
|
||||
file?: string;
|
||||
sourceRoot?: string;
|
||||
}
|
||||
|
||||
export declare interface TemplateCompiler {
|
||||
parseComponent(source: string, options?: any): SFCDescriptor;
|
||||
compile(template: string, options: CompilerOptions): CompiledResult;
|
||||
ssrCompile(template: string, options: CompilerOptions): CompiledResult;
|
||||
}
|
||||
|
||||
declare interface TransformAssetUrlsOptions {
|
||||
/**
|
||||
* If base is provided, instead of transforming relative asset urls into
|
||||
* imports, they will be directly rewritten to absolute urls.
|
||||
*/
|
||||
base?: string;
|
||||
/**
|
||||
* If true, also processes absolute urls.
|
||||
*/
|
||||
includeAbsolute?: boolean;
|
||||
}
|
||||
|
||||
declare interface VueTemplateCompilerParseOptions {
|
||||
pad?: 'line' | 'space' | boolean;
|
||||
deindent?: boolean;
|
||||
outputSourceRange?: boolean;
|
||||
}
|
||||
|
||||
export declare type WarningMessage = {
|
||||
msg: string;
|
||||
start?: number;
|
||||
end?: number;
|
||||
};
|
||||
|
||||
export { }
|
||||
import { LazyResult } from 'postcss';
|
||||
import { ParserPlugin } from '@babel/parser';
|
||||
|
||||
declare interface AssetURLOptions {
|
||||
[name: string]: string | string[];
|
||||
}
|
||||
|
||||
declare type ASTAttr = {
|
||||
name: string;
|
||||
value: any;
|
||||
dynamic?: boolean;
|
||||
start?: number;
|
||||
end?: number;
|
||||
};
|
||||
|
||||
declare type ASTDirective = {
|
||||
name: string;
|
||||
rawName: string;
|
||||
value: string;
|
||||
arg: string | null;
|
||||
isDynamicArg: boolean;
|
||||
modifiers: ASTModifiers | null;
|
||||
start?: number;
|
||||
end?: number;
|
||||
};
|
||||
|
||||
declare type ASTElement = {
|
||||
type: 1;
|
||||
tag: string;
|
||||
attrsList: Array<ASTAttr>;
|
||||
attrsMap: {
|
||||
[key: string]: any;
|
||||
};
|
||||
rawAttrsMap: {
|
||||
[key: string]: ASTAttr;
|
||||
};
|
||||
parent: ASTElement | void;
|
||||
children: Array<ASTNode>;
|
||||
start?: number;
|
||||
end?: number;
|
||||
processed?: true;
|
||||
static?: boolean;
|
||||
staticRoot?: boolean;
|
||||
staticInFor?: boolean;
|
||||
staticProcessed?: boolean;
|
||||
hasBindings?: boolean;
|
||||
text?: string;
|
||||
attrs?: Array<ASTAttr>;
|
||||
dynamicAttrs?: Array<ASTAttr>;
|
||||
props?: Array<ASTAttr>;
|
||||
plain?: boolean;
|
||||
pre?: true;
|
||||
ns?: string;
|
||||
component?: string;
|
||||
inlineTemplate?: true;
|
||||
transitionMode?: string | null;
|
||||
slotName?: string | null;
|
||||
slotTarget?: string | null;
|
||||
slotTargetDynamic?: boolean;
|
||||
slotScope?: string | null;
|
||||
scopedSlots?: {
|
||||
[name: string]: ASTElement;
|
||||
};
|
||||
ref?: string;
|
||||
refInFor?: boolean;
|
||||
if?: string;
|
||||
ifProcessed?: boolean;
|
||||
elseif?: string;
|
||||
else?: true;
|
||||
ifConditions?: ASTIfConditions;
|
||||
for?: string;
|
||||
forProcessed?: boolean;
|
||||
key?: string;
|
||||
alias?: string;
|
||||
iterator1?: string;
|
||||
iterator2?: string;
|
||||
staticClass?: string;
|
||||
classBinding?: string;
|
||||
staticStyle?: string;
|
||||
styleBinding?: string;
|
||||
events?: ASTElementHandlers;
|
||||
nativeEvents?: ASTElementHandlers;
|
||||
transition?: string | true;
|
||||
transitionOnAppear?: boolean;
|
||||
model?: {
|
||||
value: string;
|
||||
callback: string;
|
||||
expression: string;
|
||||
};
|
||||
directives?: Array<ASTDirective>;
|
||||
forbidden?: true;
|
||||
once?: true;
|
||||
onceProcessed?: boolean;
|
||||
wrapData?: (code: string) => string;
|
||||
wrapListeners?: (code: string) => string;
|
||||
ssrOptimizability?: number;
|
||||
};
|
||||
|
||||
declare type ASTElementHandler = {
|
||||
value: string;
|
||||
params?: Array<any>;
|
||||
modifiers: ASTModifiers | null;
|
||||
dynamic?: boolean;
|
||||
start?: number;
|
||||
end?: number;
|
||||
};
|
||||
|
||||
declare type ASTElementHandlers = {
|
||||
[key: string]: ASTElementHandler | Array<ASTElementHandler>;
|
||||
};
|
||||
|
||||
declare type ASTExpression = {
|
||||
type: 2;
|
||||
expression: string;
|
||||
text: string;
|
||||
tokens: Array<string | Object>;
|
||||
static?: boolean;
|
||||
ssrOptimizability?: number;
|
||||
start?: number;
|
||||
end?: number;
|
||||
};
|
||||
|
||||
declare type ASTIfCondition = {
|
||||
exp: string | null;
|
||||
block: ASTElement;
|
||||
};
|
||||
|
||||
declare type ASTIfConditions = Array<ASTIfCondition>;
|
||||
|
||||
declare type ASTModifiers = {
|
||||
[key: string]: boolean;
|
||||
};
|
||||
|
||||
declare type ASTNode = ASTElement | ASTText | ASTExpression;
|
||||
|
||||
declare type ASTText = {
|
||||
type: 3;
|
||||
text: string;
|
||||
static?: boolean;
|
||||
isComment?: boolean;
|
||||
ssrOptimizability?: number;
|
||||
start?: number;
|
||||
end?: number;
|
||||
};
|
||||
|
||||
declare type BindingMetadata = {
|
||||
[key: string]: BindingTypes | undefined;
|
||||
} & {
|
||||
__isScriptSetup?: boolean;
|
||||
};
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
declare type CompiledResult = {
|
||||
ast: ASTElement | null;
|
||||
render: string;
|
||||
staticRenderFns: Array<string>;
|
||||
stringRenderFns?: Array<string>;
|
||||
errors?: Array<string | WarningMessage>;
|
||||
tips?: Array<string | WarningMessage>;
|
||||
};
|
||||
|
||||
export declare type CompilerOptions = {
|
||||
warn?: Function;
|
||||
modules?: Array<ModuleOptions>;
|
||||
directives?: {
|
||||
[key: string]: Function;
|
||||
};
|
||||
staticKeys?: string;
|
||||
isUnaryTag?: (tag: string) => boolean | undefined;
|
||||
canBeLeftOpenTag?: (tag: string) => boolean | undefined;
|
||||
isReservedTag?: (tag: string) => boolean | undefined;
|
||||
preserveWhitespace?: boolean;
|
||||
whitespace?: 'preserve' | 'condense';
|
||||
optimize?: boolean;
|
||||
mustUseProp?: (tag: string, type: string | null, name: string) => boolean;
|
||||
isPreTag?: (attr: string) => boolean | null;
|
||||
getTagNamespace?: (tag: string) => string | undefined;
|
||||
expectHTML?: boolean;
|
||||
isFromDOM?: boolean;
|
||||
shouldDecodeTags?: boolean;
|
||||
shouldDecodeNewlines?: boolean;
|
||||
shouldDecodeNewlinesForHref?: boolean;
|
||||
outputSourceRange?: boolean;
|
||||
shouldKeepComment?: boolean;
|
||||
delimiters?: [string, string];
|
||||
comments?: boolean;
|
||||
scopeId?: string;
|
||||
bindings?: BindingMetadata;
|
||||
};
|
||||
|
||||
/**
|
||||
* 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 declare function compileStyle(options: SFCStyleCompileOptions): SFCStyleCompileResults;
|
||||
|
||||
export declare function compileStyleAsync(options: SFCStyleCompileOptions): Promise<SFCStyleCompileResults>;
|
||||
|
||||
export declare function compileTemplate(options: SFCTemplateCompileOptions): SFCTemplateCompileResults;
|
||||
|
||||
export declare function generateCodeFrame(source: string, start?: number, end?: number): string;
|
||||
|
||||
declare interface ImportBinding {
|
||||
isType: boolean;
|
||||
imported: string;
|
||||
source: string;
|
||||
isFromSetup: boolean;
|
||||
isUsedInTemplate: boolean;
|
||||
}
|
||||
|
||||
declare type ModuleOptions = {
|
||||
preTransformNode?: (el: ASTElement) => ASTElement | null | void;
|
||||
transformNode?: (el: ASTElement) => ASTElement | null | void;
|
||||
postTransformNode?: (el: ASTElement) => void;
|
||||
genData?: (el: ASTElement) => string;
|
||||
transformCode?: (el: ASTElement, code: string) => string;
|
||||
staticKeys?: Array<string>;
|
||||
};
|
||||
|
||||
export declare function parse(options: SFCParseOptions): SFCDescriptor;
|
||||
|
||||
/**
|
||||
* Parse a single-file component (*.vue) file into an SFC Descriptor Object.
|
||||
*/
|
||||
export declare function parseComponent(source: string, options?: VueTemplateCompilerParseOptions): SFCDescriptor;
|
||||
|
||||
declare interface RawSourceMap extends StartOfSourceMap {
|
||||
version: string;
|
||||
sources: string[];
|
||||
names: string[];
|
||||
sourcesContent?: string[];
|
||||
mappings: 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 rewriteDefault(input: string, as: string, parserPlugins?: ParserPlugin[]): string;
|
||||
|
||||
export declare interface SFCBlock extends SFCCustomBlock {
|
||||
lang?: string;
|
||||
scoped?: boolean;
|
||||
module?: string | boolean;
|
||||
}
|
||||
|
||||
export declare interface SFCCustomBlock {
|
||||
type: string;
|
||||
content: string;
|
||||
attrs: {
|
||||
[key: string]: string | true;
|
||||
};
|
||||
start: number;
|
||||
end: number;
|
||||
src?: string;
|
||||
map?: RawSourceMap;
|
||||
}
|
||||
|
||||
export declare interface SFCDescriptor {
|
||||
source: string;
|
||||
filename: string;
|
||||
template: SFCBlock | null;
|
||||
script: SFCScriptBlock | null;
|
||||
scriptSetup: SFCScriptBlock | null;
|
||||
styles: SFCBlock[];
|
||||
customBlocks: SFCCustomBlock[];
|
||||
cssVars: string[];
|
||||
errors: (string | WarningMessage)[];
|
||||
/**
|
||||
* 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 declare interface SFCParseOptions {
|
||||
source: string;
|
||||
filename?: string;
|
||||
compiler?: TemplateCompiler;
|
||||
compilerParseOptions?: VueTemplateCompilerParseOptions;
|
||||
sourceRoot?: string;
|
||||
sourceMap?: boolean;
|
||||
/**
|
||||
* @deprecated use `sourceMap` instead.
|
||||
*/
|
||||
needMap?: boolean;
|
||||
}
|
||||
|
||||
export declare interface SFCScriptBlock extends SFCBlock {
|
||||
type: 'script';
|
||||
setup?: string | boolean;
|
||||
bindings?: BindingMetadata;
|
||||
imports?: Record<string, ImportBinding>;
|
||||
/**
|
||||
* import('\@babel/types').Statement
|
||||
*/
|
||||
scriptAst?: any[];
|
||||
/**
|
||||
* import('\@babel/types').Statement
|
||||
*/
|
||||
scriptSetupAst?: any[];
|
||||
}
|
||||
|
||||
export declare 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[];
|
||||
}
|
||||
|
||||
export declare interface SFCStyleCompileOptions {
|
||||
source: string;
|
||||
filename: string;
|
||||
id: string;
|
||||
map?: any;
|
||||
scoped?: boolean;
|
||||
trim?: boolean;
|
||||
preprocessLang?: string;
|
||||
preprocessOptions?: any;
|
||||
postcssOptions?: any;
|
||||
postcssPlugins?: any[];
|
||||
isProd?: boolean;
|
||||
}
|
||||
|
||||
export declare interface SFCStyleCompileResults {
|
||||
code: string;
|
||||
map: any | void;
|
||||
rawResult: LazyResult | void;
|
||||
errors: string[];
|
||||
}
|
||||
|
||||
export declare interface SFCTemplateCompileOptions {
|
||||
source: string;
|
||||
filename: string;
|
||||
compiler?: TemplateCompiler;
|
||||
compilerOptions?: CompilerOptions;
|
||||
transformAssetUrls?: AssetURLOptions | boolean;
|
||||
transformAssetUrlsOptions?: TransformAssetUrlsOptions;
|
||||
preprocessLang?: string;
|
||||
preprocessOptions?: any;
|
||||
transpileOptions?: any;
|
||||
isProduction?: boolean;
|
||||
isFunctional?: boolean;
|
||||
optimizeSSR?: boolean;
|
||||
prettify?: boolean;
|
||||
isTS?: boolean;
|
||||
bindings?: BindingMetadata;
|
||||
}
|
||||
|
||||
export declare interface SFCTemplateCompileResults {
|
||||
ast: Object | undefined;
|
||||
code: string;
|
||||
source: string;
|
||||
tips: (string | WarningMessage)[];
|
||||
errors: (string | WarningMessage)[];
|
||||
}
|
||||
|
||||
declare interface StartOfSourceMap {
|
||||
file?: string;
|
||||
sourceRoot?: string;
|
||||
}
|
||||
|
||||
export declare interface TemplateCompiler {
|
||||
parseComponent(source: string, options?: any): SFCDescriptor;
|
||||
compile(template: string, options: CompilerOptions): CompiledResult;
|
||||
ssrCompile(template: string, options: CompilerOptions): CompiledResult;
|
||||
}
|
||||
|
||||
declare interface TransformAssetUrlsOptions {
|
||||
/**
|
||||
* If base is provided, instead of transforming relative asset urls into
|
||||
* imports, they will be directly rewritten to absolute urls.
|
||||
*/
|
||||
base?: string;
|
||||
/**
|
||||
* If true, also processes absolute urls.
|
||||
*/
|
||||
includeAbsolute?: boolean;
|
||||
}
|
||||
|
||||
declare interface VueTemplateCompilerParseOptions {
|
||||
pad?: 'line' | 'space' | boolean;
|
||||
deindent?: boolean;
|
||||
outputSourceRange?: boolean;
|
||||
}
|
||||
|
||||
export declare type WarningMessage = {
|
||||
msg: string;
|
||||
start?: number;
|
||||
end?: number;
|
||||
};
|
||||
|
||||
export { }
|
||||
|
||||
+38
-9
@@ -1,17 +1,39 @@
|
||||
{
|
||||
"name": "@vue/compiler-sfc",
|
||||
"version": "2.7.15",
|
||||
"description": "compiler-sfc for Vue 2",
|
||||
"main": "dist/compiler-sfc.js",
|
||||
"types": "dist/compiler-sfc.d.ts",
|
||||
"files": [
|
||||
"dist"
|
||||
"_args": [
|
||||
[
|
||||
"@vue/compiler-sfc@2.7.15",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_from": "@vue/compiler-sfc@2.7.15",
|
||||
"_id": "@vue/compiler-sfc@2.7.15",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-FCvIEevPmgCgqFBH7wD+3B97y7u7oj/Wr69zADBf403Tui377bThTjBvekaZvlRr4IwUAu3M6hYZeULZFJbdYg==",
|
||||
"_location": "/@vue/compiler-sfc",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@vue/compiler-sfc@2.7.15",
|
||||
"name": "@vue/compiler-sfc",
|
||||
"escapedName": "@vue%2fcompiler-sfc",
|
||||
"scope": "@vue",
|
||||
"rawSpec": "2.7.15",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "2.7.15"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/vue"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.15.tgz",
|
||||
"_spec": "2.7.15",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"dependencies": {
|
||||
"@babel/parser": "^7.18.4",
|
||||
"postcss": "^8.4.14",
|
||||
"source-map": "^0.6.1"
|
||||
},
|
||||
"description": "compiler-sfc for Vue 2",
|
||||
"devDependencies": {
|
||||
"@babel/types": "^7.19.4",
|
||||
"@types/estree": "^0.0.48",
|
||||
@@ -30,5 +52,12 @@
|
||||
"pug": "^3.0.2",
|
||||
"sass": "^1.52.3",
|
||||
"stylus": "^0.58.1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"main": "dist/compiler-sfc.js",
|
||||
"name": "@vue/compiler-sfc",
|
||||
"types": "dist/compiler-sfc.d.ts",
|
||||
"version": "2.7.15"
|
||||
}
|
||||
|
||||
+43
-14
@@ -1,27 +1,56 @@
|
||||
{
|
||||
"name": "hash-sum",
|
||||
"description": "Blazing fast unique hash generator",
|
||||
"version": "1.0.2",
|
||||
"homepage": "https://github.com/bevacqua/hash-sum",
|
||||
"_args": [
|
||||
[
|
||||
"hash-sum@1.0.2",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "hash-sum@1.0.2",
|
||||
"_id": "hash-sum@1.0.2",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==",
|
||||
"_location": "/@vue/component-compiler-utils/hash-sum",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "hash-sum@1.0.2",
|
||||
"name": "hash-sum",
|
||||
"escapedName": "hash-sum",
|
||||
"rawSpec": "1.0.2",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.0.2"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/component-compiler-utils"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz",
|
||||
"_spec": "1.0.2",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"authors": [
|
||||
"Nicolas Bevacqua <nicolasbevacqua@gmail.com>"
|
||||
],
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/bevacqua/hash-sum.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/bevacqua/hash-sum/issues"
|
||||
},
|
||||
"main": "hash-sum.js",
|
||||
"scripts": {
|
||||
"test": "jshint . && tape test.js"
|
||||
},
|
||||
"dependencies": {},
|
||||
"description": "Blazing fast unique hash generator",
|
||||
"devDependencies": {
|
||||
"jshint": "2.5.0",
|
||||
"jshint-stylish": "0.2.0",
|
||||
"tape": "3.0.3"
|
||||
}
|
||||
},
|
||||
"homepage": "https://github.com/bevacqua/hash-sum",
|
||||
"license": "MIT",
|
||||
"main": "hash-sum.js",
|
||||
"name": "hash-sum",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/bevacqua/hash-sum.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "jshint . && tape test.js"
|
||||
},
|
||||
"version": "1.0.2"
|
||||
}
|
||||
|
||||
+64
-25
@@ -1,36 +1,75 @@
|
||||
{
|
||||
"name": "lru-cache",
|
||||
"description": "A cache object that deletes the least-recently-used items.",
|
||||
"version": "4.1.5",
|
||||
"author": "Isaac Z. Schlueter <i@izs.me>",
|
||||
"keywords": [
|
||||
"mru",
|
||||
"lru",
|
||||
"cache"
|
||||
"_args": [
|
||||
[
|
||||
"lru-cache@4.1.5",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"scripts": {
|
||||
"test": "tap test/*.js --100 -J",
|
||||
"snap": "TAP_SNAPSHOT=1 tap test/*.js -J",
|
||||
"posttest": "standard test/*.js index.js",
|
||||
"coveragerport": "tap --coverage-report=html",
|
||||
"lintfix": "standard --fix test/*.js index.js",
|
||||
"preversion": "npm test",
|
||||
"postversion": "npm publish --tag=legacy",
|
||||
"postpublish": "git push origin --all; git push origin --tags"
|
||||
"_development": true,
|
||||
"_from": "lru-cache@4.1.5",
|
||||
"_id": "lru-cache@4.1.5",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
|
||||
"_location": "/@vue/component-compiler-utils/lru-cache",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "lru-cache@4.1.5",
|
||||
"name": "lru-cache",
|
||||
"escapedName": "lru-cache",
|
||||
"rawSpec": "4.1.5",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "4.1.5"
|
||||
},
|
||||
"main": "index.js",
|
||||
"repository": "git://github.com/isaacs/node-lru-cache.git",
|
||||
"_requiredBy": [
|
||||
"/@vue/component-compiler-utils"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
|
||||
"_spec": "4.1.5",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Isaac Z. Schlueter",
|
||||
"email": "i@izs.me"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/isaacs/node-lru-cache/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"pseudomap": "^1.0.2",
|
||||
"yallist": "^2.1.2"
|
||||
},
|
||||
"description": "A cache object that deletes the least-recently-used items.",
|
||||
"devDependencies": {
|
||||
"benchmark": "^2.1.4",
|
||||
"standard": "^12.0.1",
|
||||
"tap": "^12.1.0"
|
||||
},
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"pseudomap": "^1.0.2",
|
||||
"yallist": "^2.1.2"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
]
|
||||
],
|
||||
"homepage": "https://github.com/isaacs/node-lru-cache#readme",
|
||||
"keywords": [
|
||||
"mru",
|
||||
"lru",
|
||||
"cache"
|
||||
],
|
||||
"license": "ISC",
|
||||
"main": "index.js",
|
||||
"name": "lru-cache",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/isaacs/node-lru-cache.git"
|
||||
},
|
||||
"scripts": {
|
||||
"coveragerport": "tap --coverage-report=html",
|
||||
"lintfix": "standard --fix test/*.js index.js",
|
||||
"postpublish": "git push origin --all; git push origin --tags",
|
||||
"posttest": "standard test/*.js index.js",
|
||||
"postversion": "npm publish --tag=legacy",
|
||||
"preversion": "npm test",
|
||||
"snap": "TAP_SNAPSHOT=1 tap test/*.js -J",
|
||||
"test": "tap test/*.js --100 -J"
|
||||
},
|
||||
"version": "4.1.5"
|
||||
}
|
||||
|
||||
+46
-8
@@ -1,17 +1,48 @@
|
||||
{
|
||||
"name": "picocolors",
|
||||
"version": "0.2.1",
|
||||
"main": "./picocolors.js",
|
||||
"types": "./picocolors.d.ts",
|
||||
"_args": [
|
||||
[
|
||||
"picocolors@0.2.1",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "picocolors@0.2.1",
|
||||
"_id": "picocolors@0.2.1",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==",
|
||||
"_location": "/@vue/component-compiler-utils/picocolors",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "picocolors@0.2.1",
|
||||
"name": "picocolors",
|
||||
"escapedName": "picocolors",
|
||||
"rawSpec": "0.2.1",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "0.2.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/component-compiler-utils/postcss"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
|
||||
"_spec": "0.2.1",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Alexey Raspopov"
|
||||
},
|
||||
"browser": {
|
||||
"./picocolors.js": "./picocolors.browser.js"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"bugs": {
|
||||
"url": "https://github.com/alexeyraspopov/picocolors/issues"
|
||||
},
|
||||
"description": "The tiniest and the fastest coloring library ever",
|
||||
"files": [
|
||||
"picocolors.*",
|
||||
"types.ts"
|
||||
],
|
||||
"homepage": "https://github.com/alexeyraspopov/picocolors#readme",
|
||||
"keywords": [
|
||||
"terminal",
|
||||
"colors",
|
||||
@@ -19,7 +50,14 @@
|
||||
"cli",
|
||||
"console"
|
||||
],
|
||||
"author": "Alexey Raspopov",
|
||||
"repository": "alexeyraspopov/picocolors",
|
||||
"license": "ISC"
|
||||
"license": "ISC",
|
||||
"main": "./picocolors.js",
|
||||
"name": "picocolors",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/alexeyraspopov/picocolors.git"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"types": "./picocolors.d.ts",
|
||||
"version": "0.2.1"
|
||||
}
|
||||
|
||||
+55
-17
@@ -1,10 +1,57 @@
|
||||
{
|
||||
"name": "postcss",
|
||||
"version": "7.0.39",
|
||||
"_args": [
|
||||
[
|
||||
"postcss@7.0.39",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "postcss@7.0.39",
|
||||
"_id": "postcss@7.0.39",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
|
||||
"_location": "/@vue/component-compiler-utils/postcss",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "postcss@7.0.39",
|
||||
"name": "postcss",
|
||||
"escapedName": "postcss",
|
||||
"rawSpec": "7.0.39",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "7.0.39"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/component-compiler-utils"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
|
||||
"_spec": "7.0.39",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Andrey Sitnik",
|
||||
"email": "andrey@sitnik.ru"
|
||||
},
|
||||
"browser": {
|
||||
"./lib/terminal-highlight": false,
|
||||
"fs": false
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/postcss/postcss/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"picocolors": "^0.2.1",
|
||||
"source-map": "^0.6.1"
|
||||
},
|
||||
"description": "Tool for transforming styles with JS plugins",
|
||||
"engines": {
|
||||
"node": ">=6.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/postcss/"
|
||||
},
|
||||
"homepage": "https://postcss.org/",
|
||||
"keywords": [
|
||||
"css",
|
||||
"postcss",
|
||||
@@ -16,22 +63,13 @@
|
||||
"manipulation",
|
||||
"transpiler"
|
||||
],
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/postcss/"
|
||||
},
|
||||
"author": "Andrey Sitnik <andrey@sitnik.ru>",
|
||||
"license": "MIT",
|
||||
"homepage": "https://postcss.org/",
|
||||
"repository": "postcss/postcss",
|
||||
"dependencies": {
|
||||
"picocolors": "^0.2.1",
|
||||
"source-map": "^0.6.1"
|
||||
},
|
||||
"main": "lib/postcss",
|
||||
"name": "postcss",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/postcss/postcss.git"
|
||||
},
|
||||
"types": "lib/postcss.d.ts",
|
||||
"browser": {
|
||||
"./lib/terminal-highlight": false,
|
||||
"fs": false
|
||||
}
|
||||
"version": "7.0.39"
|
||||
}
|
||||
|
||||
+52
-15
@@ -1,8 +1,46 @@
|
||||
{
|
||||
"name": "yallist",
|
||||
"version": "2.1.2",
|
||||
"_args": [
|
||||
[
|
||||
"yallist@2.1.2",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "yallist@2.1.2",
|
||||
"_id": "yallist@2.1.2",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==",
|
||||
"_location": "/@vue/component-compiler-utils/yallist",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "yallist@2.1.2",
|
||||
"name": "yallist",
|
||||
"escapedName": "yallist",
|
||||
"rawSpec": "2.1.2",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "2.1.2"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/component-compiler-utils/lru-cache"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
|
||||
"_spec": "2.1.2",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Isaac Z. Schlueter",
|
||||
"email": "i@izs.me",
|
||||
"url": "http://blog.izs.me/"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/isaacs/yallist/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"description": "Yet Another Linked List",
|
||||
"main": "yallist.js",
|
||||
"devDependencies": {
|
||||
"tap": "^10.3.0"
|
||||
},
|
||||
"directories": {
|
||||
"test": "test"
|
||||
},
|
||||
@@ -10,20 +48,19 @@
|
||||
"yallist.js",
|
||||
"iterator.js"
|
||||
],
|
||||
"dependencies": {},
|
||||
"devDependencies": {
|
||||
"tap": "^10.3.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "tap test/*.js --100",
|
||||
"preversion": "npm test",
|
||||
"postversion": "npm publish",
|
||||
"postpublish": "git push origin --all; git push origin --tags"
|
||||
},
|
||||
"homepage": "https://github.com/isaacs/yallist#readme",
|
||||
"license": "ISC",
|
||||
"main": "yallist.js",
|
||||
"name": "yallist",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/isaacs/yallist.git"
|
||||
},
|
||||
"author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
|
||||
"license": "ISC"
|
||||
"scripts": {
|
||||
"postpublish": "git push origin --all; git push origin --tags",
|
||||
"postversion": "npm publish",
|
||||
"preversion": "npm test",
|
||||
"test": "tap test/*.js --100"
|
||||
},
|
||||
"version": "2.1.2"
|
||||
}
|
||||
|
||||
+82
-45
@@ -1,44 +1,56 @@
|
||||
{
|
||||
"name": "@vue/component-compiler-utils",
|
||||
"version": "3.3.0",
|
||||
"description": "Lower level utilities for compiling Vue single file components",
|
||||
"main": "dist/index.js",
|
||||
"typings": "dist/index.d.ts",
|
||||
"files": [
|
||||
"dist",
|
||||
"lib"
|
||||
],
|
||||
"scripts": {
|
||||
"lint": "prettier --write \"{lib,test}/**/*.ts\"",
|
||||
"test": "prettier --list-different \"{lib,test}/**/*.ts\" && jest --coverage",
|
||||
"build": "rm -rf dist && tsc",
|
||||
"prepublishOnly": "yarn build && conventional-changelog -p angular -r 2 -i CHANGELOG.md -s"
|
||||
},
|
||||
"gitHooks": {
|
||||
"pre-commit": "lint-staged"
|
||||
},
|
||||
"lint-staged": {
|
||||
"*.{ts,js}": [
|
||||
"prettier --write",
|
||||
"git add"
|
||||
"_args": [
|
||||
[
|
||||
"@vue/component-compiler-utils@3.3.0",
|
||||
"D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5"
|
||||
]
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/component-compiler-utils.git"
|
||||
},
|
||||
"keywords": [
|
||||
"vue",
|
||||
"sfc",
|
||||
"component",
|
||||
"compiler"
|
||||
],
|
||||
"author": "Evan You",
|
||||
"license": "MIT",
|
||||
"_development": true,
|
||||
"_from": "@vue/component-compiler-utils@3.3.0",
|
||||
"_id": "@vue/component-compiler-utils@3.3.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==",
|
||||
"_location": "/@vue/component-compiler-utils",
|
||||
"_phantomChildren": {
|
||||
"pseudomap": "1.0.2",
|
||||
"source-map": "0.6.1"
|
||||
},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@vue/component-compiler-utils@3.3.0",
|
||||
"name": "@vue/component-compiler-utils",
|
||||
"escapedName": "@vue%2fcomponent-compiler-utils",
|
||||
"scope": "@vue",
|
||||
"rawSpec": "3.3.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "3.3.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@vue/cli-service",
|
||||
"/@vue/cli-service/@vue/vue-loader-v15"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz",
|
||||
"_spec": "3.3.0",
|
||||
"_where": "D:\\韩超勃\\视频会议\\Arbitrate-FrontendH5",
|
||||
"author": {
|
||||
"name": "Evan You"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/vuejs/component-compiler-utils/issues"
|
||||
},
|
||||
"homepage": "https://github.com/vuejs/component-compiler-utils#readme",
|
||||
"dependencies": {
|
||||
"consolidate": "^0.15.1",
|
||||
"hash-sum": "^1.0.2",
|
||||
"lru-cache": "^4.1.2",
|
||||
"merge-source-map": "^1.1.0",
|
||||
"postcss": "^7.0.36",
|
||||
"postcss-selector-parser": "^6.0.2",
|
||||
"prettier": "^1.18.2 || ^2.0.0",
|
||||
"source-map": "~0.6.1",
|
||||
"vue-template-es2015-compiler": "^1.9.0"
|
||||
},
|
||||
"description": "Lower level utilities for compiling Vue single file components",
|
||||
"devDependencies": {
|
||||
"@types/jest": "^22.2.3",
|
||||
"@types/node": "^10.12.20",
|
||||
@@ -55,17 +67,42 @@
|
||||
"vue-template-compiler": "^2.6.6",
|
||||
"yorkie": "^2.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"consolidate": "^0.15.1",
|
||||
"hash-sum": "^1.0.2",
|
||||
"lru-cache": "^4.1.2",
|
||||
"merge-source-map": "^1.1.0",
|
||||
"postcss": "^7.0.36",
|
||||
"postcss-selector-parser": "^6.0.2",
|
||||
"source-map": "~0.6.1",
|
||||
"vue-template-es2015-compiler": "^1.9.0"
|
||||
"files": [
|
||||
"dist",
|
||||
"lib"
|
||||
],
|
||||
"gitHooks": {
|
||||
"pre-commit": "lint-staged"
|
||||
},
|
||||
"homepage": "https://github.com/vuejs/component-compiler-utils#readme",
|
||||
"keywords": [
|
||||
"vue",
|
||||
"sfc",
|
||||
"component",
|
||||
"compiler"
|
||||
],
|
||||
"license": "MIT",
|
||||
"lint-staged": {
|
||||
"*.{ts,js}": [
|
||||
"prettier --write",
|
||||
"git add"
|
||||
]
|
||||
},
|
||||
"main": "dist/index.js",
|
||||
"name": "@vue/component-compiler-utils",
|
||||
"optionalDependencies": {
|
||||
"prettier": "^1.18.2 || ^2.0.0"
|
||||
}
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vuejs/component-compiler-utils.git"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "rm -rf dist && tsc",
|
||||
"lint": "prettier --write \"{lib,test}/**/*.ts\"",
|
||||
"prepublishOnly": "yarn build && conventional-changelog -p angular -r 2 -i CHANGELOG.md -s",
|
||||
"test": "prettier --list-different \"{lib,test}/**/*.ts\" && jest --coverage"
|
||||
},
|
||||
"typings": "dist/index.d.ts",
|
||||
"version": "3.3.0"
|
||||
}
|
||||
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"presets": [
|
||||
["env", { "modules": false }]
|
||||
]
|
||||
}
|
||||
-8
@@ -1,8 +0,0 @@
|
||||
module.exports = {
|
||||
root: true,
|
||||
extends: ['plugin:vue-libs/recommended'],
|
||||
rules: {
|
||||
indent: 'off',
|
||||
'space-before-function-paren': 'off'
|
||||
}
|
||||
}
|
||||
-1
@@ -1 +0,0 @@
|
||||
* text=auto eol=lf
|
||||
-753
@@ -1,753 +0,0 @@
|
||||
<a name="15.11.0"></a>
|
||||
# [15.11.0](https://github.com/vuejs/vue-loader/compare/v15.10.2...v15.11.0) (2023-10-18)
|
||||
|
||||
### Features
|
||||
|
||||
* A new `experimentalInlineMatchResource` option (webpack 5 only), which leverages webpack 5's [inline matchResource](https://webpack.js.org/api/loaders/#inline-matchresource) feature in the underlying implementation, and works well with the [`experiments.css`](https://webpack.js.org/configuration/experiments/#experimentscss) feature. This also makes `vue-loader` compatible with [Rspack](https://www.rspack.dev/guide/vue). ([#2058](https://github.com/vuejs/vue-loader/pull/2058))
|
||||
|
||||
<a name="15.10.2"></a>
|
||||
# [15.10.2](https://github.com/vuejs/vue-loader/compare/v15.10.1...v15.10.2) (2023-08-23)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* don't enable prettify by default if prettier 3 is detected ([aa2558d](https://github.com/vuejs/vue-loader/commit/aa2558d))
|
||||
|
||||
|
||||
<a name="15.10.1"></a>
|
||||
# [15.10.1](https://github.com/vuejs/vue-loader/compare/v15.10.0...v15.10.1) (2022-11-14)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* skip thread-loader when cloning js rules to template compilation pipeline, fixes <https://github.com/vuejs/vue/issues/12828> ([fb6ff6e](https://github.com/vuejs/vue-loader/commit/fb6ff6e))
|
||||
|
||||
|
||||
<a name="15.10.0"></a>
|
||||
# [15.10.0](https://github.com/vuejs/vue-loader/compare/v15.10.0-beta.6...v15.10.0) (2022-07-01)
|
||||
|
||||
|
||||
|
||||
<a name="15.10.0-beta.6"></a>
|
||||
# [15.10.0-beta.6](https://github.com/vuejs/vue-loader/compare/v15.10.0-beta.5...v15.10.0-beta.6) (2022-06-20)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* always pass id to stylePostLoader when possible ([364ad09](https://github.com/vuejs/vue-loader/commit/364ad09))
|
||||
|
||||
|
||||
|
||||
<a name="15.10.0-beta.5"></a>
|
||||
# [15.10.0-beta.5](https://github.com/vuejs/vue-loader/compare/v15.10.0-beta.4...v15.10.0-beta.5) (2022-06-20)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* css v-bind in production mode ([655e5f8](https://github.com/vuejs/vue-loader/commit/655e5f8))
|
||||
|
||||
|
||||
|
||||
<a name="15.10.0-beta.4"></a>
|
||||
# [15.10.0-beta.4](https://github.com/vuejs/vue-loader/compare/v15.10.0-beta.3...v15.10.0-beta.4) (2022-06-20)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* support css v-bind (requires 2.7.0-beta.3) ([d653f3b](https://github.com/vuejs/vue-loader/commit/d653f3b))
|
||||
|
||||
|
||||
|
||||
<a name="15.10.0-beta.3"></a>
|
||||
# [15.10.0-beta.3](https://github.com/vuejs/vue-loader/compare/v15.10.0-beta.2...v15.10.0-beta.3) (2022-06-16)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* cache descriptor with correct resource path ([f6c83b5](https://github.com/vuejs/vue-loader/commit/f6c83b5))
|
||||
|
||||
|
||||
|
||||
<a name="15.10.0-beta.2"></a>
|
||||
# [15.10.0-beta.2](https://github.com/vuejs/vue-loader/compare/v15.10.0-beta.1...v15.10.0-beta.2) (2022-06-16)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* use script-analyzed bindings when compiling template ([55de28c](https://github.com/vuejs/vue-loader/commit/55de28c))
|
||||
|
||||
|
||||
|
||||
<a name="15.10.0-beta.1"></a>
|
||||
# [15.10.0-beta.1](https://github.com/vuejs/vue-loader/compare/v15.9.8...v15.10.0-beta.1) (2022-06-14)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* apply js loaders to compiled template code when used with 2.7 ([30464a8](https://github.com/vuejs/vue-loader/commit/30464a8))
|
||||
* compat for vue 2.7, support `<script setup>` ([308715a](https://github.com/vuejs/vue-loader/commit/308715a))
|
||||
|
||||
|
||||
|
||||
<a name="15.9.8"></a>
|
||||
## [15.9.8](https://github.com/vuejs/vue-loader/compare/v15.9.7...v15.9.8) (2021-08-02)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* fix webpack 5.48 compatibility ([c4c5f17](https://github.com/vuejs/vue-loader/commit/c4c5f17)), closes [#1859](https://github.com/vuejs/vue-loader/issues/1859)
|
||||
|
||||
|
||||
|
||||
<a name="15.9.7"></a>
|
||||
## [15.9.7](https://github.com/vuejs/vue-loader/compare/v15.9.6...v15.9.7) (2021-05-11)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* [plugin] Use compiler.webpack when possible ([#1822](https://github.com/vuejs/vue-loader/issues/1822)) ([f7ee30b](https://github.com/vuejs/vue-loader/commit/f7ee30b)), closes [#1781](https://github.com/vuejs/vue-loader/issues/1781)
|
||||
* check for compiler.webpack existence ([2472b2f](https://github.com/vuejs/vue-loader/commit/2472b2f))
|
||||
|
||||
|
||||
|
||||
<a name="15.9.6"></a>
|
||||
## [15.9.6](https://github.com/vuejs/vue-loader/compare/v15.9.5...v15.9.6) (2020-12-17)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* resourceQuery could be undefined in webpack 5 ([a2b89d3](https://github.com/vuejs/vue-loader/commit/a2b89d3)), closes [#1771](https://github.com/vuejs/vue-loader/issues/1771)
|
||||
|
||||
|
||||
|
||||
<a name="15.9.5"></a>
|
||||
## [15.9.5](https://github.com/vuejs/vue-loader/compare/v15.9.4...v15.9.5) (2020-11-02)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* add rule plugins to keep up with webpack 5 new features ([7ca8e2c](https://github.com/vuejs/vue-loader/commit/7ca8e2c))
|
||||
* ensure new webpack5 generator property in rules passes ruleset checks ([#1753](https://github.com/vuejs/vue-loader/issues/1753)) ([f79bb08](https://github.com/vuejs/vue-loader/commit/f79bb08)), closes [#1729](https://github.com/vuejs/vue-loader/issues/1729)
|
||||
|
||||
|
||||
|
||||
<a name="15.9.4"></a>
|
||||
## [15.9.4](https://github.com/vuejs/vue-loader/compare/v15.9.3...v15.9.4) (2020-10-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* fix id differences between different operating systems ([#1706](https://github.com/vuejs/vue-loader/issues/1706)) ([afe8a0d](https://github.com/vuejs/vue-loader/commit/afe8a0d))
|
||||
* fix mini-css-extract-plugin missing default export error ([#1748](https://github.com/vuejs/vue-loader/issues/1748)) ([429a284](https://github.com/vuejs/vue-loader/commit/429a284))
|
||||
|
||||
|
||||
|
||||
<a name="15.9.3"></a>
|
||||
## [15.9.3](https://github.com/vuejs/vue-loader/compare/v15.9.2...v15.9.3) (2020-06-23)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* skip matching rule with 'enforce' ([e7b2b11](https://github.com/vuejs/vue-loader/commit/e7b2b11)), closes [#1680](https://github.com/vuejs/vue-loader/issues/1680)
|
||||
|
||||
|
||||
|
||||
<a name="15.9.2"></a>
|
||||
## [15.9.2](https://github.com/vuejs/vue-loader/compare/v15.9.1...v15.9.2) (2020-05-01)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* fix getting shadow root when component is functional ([#1560](https://github.com/vuejs/vue-loader/issues/1560)) ([9a7357a](https://github.com/vuejs/vue-loader/commit/9a7357a))
|
||||
|
||||
|
||||
### Documentation
|
||||
|
||||
* add DocSearch as recommended by vuepress ([#1662](https://github.com/vuejs/vue-loader/issues/1662)) ([032d56b](https://github.com/vuejs/vue-loader/commit/032d56b))
|
||||
|
||||
|
||||
|
||||
<a name="15.9.1"></a>
|
||||
## [15.9.1](https://github.com/vuejs/vue-loader/compare/v15.9.0...v15.9.1) (2020-03-19)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* ensure unique `ident` when cloning rules, fix webpack 5 compatibility ([#1653](https://github.com/vuejs/vue-loader/issues/1653)) ([84c34a4](https://github.com/vuejs/vue-loader/commit/84c34a4))
|
||||
|
||||
|
||||
|
||||
<a name="15.9.0"></a>
|
||||
# [15.9.0](https://github.com/vuejs/vue-loader/compare/v15.8.3...v15.9.0) (2020-02-12)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* add vue-template-compiler as an optional peer dependency ([56db1d7](https://github.com/vuejs/vue-loader/commit/56db1d7)), closes [#1639](https://github.com/vuejs/vue-loader/issues/1639)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* support Rule.rules (nested rules) ([#1618](https://github.com/vuejs/vue-loader/issues/1618)) ([5943319](https://github.com/vuejs/vue-loader/commit/5943319))
|
||||
|
||||
|
||||
|
||||
<a name="15.8.3"></a>
|
||||
## [15.8.3](https://github.com/vuejs/vue-loader/compare/v15.8.2...v15.8.3) (2019-12-16)
|
||||
|
||||
|
||||
|
||||
<a name="15.8.2"></a>
|
||||
## [15.8.2](https://github.com/vuejs/vue-loader/compare/v15.8.1...v15.8.2) (2019-12-16)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* fix compatibility with webpack 3 ([745d054](https://github.com/vuejs/vue-loader/commit/745d054))
|
||||
|
||||
|
||||
|
||||
<a name="15.8.0"></a>
|
||||
# [15.8.0](https://github.com/vuejs/vue-loader/compare/v15.7.2...v15.8.0) (2019-12-16)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **types:** should import type definition from the `dist` folder ([0751213](https://github.com/vuejs/vue-loader/commit/0751213))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add support for webpack5 ([#1613](https://github.com/vuejs/vue-loader/issues/1613)) ([59eebca](https://github.com/vuejs/vue-loader/commit/59eebca))
|
||||
|
||||
|
||||
|
||||
<a name="15.7.2"></a>
|
||||
## [15.7.2](https://github.com/vuejs/vue-loader/compare/v15.7.1...v15.7.2) (2019-11-02)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* add cache-loader to optional peer dependency ([e9d8b71](https://github.com/vuejs/vue-loader/commit/e9d8b71))
|
||||
* use `require.resolve` when referencing `cache-loader` ([#1585](https://github.com/vuejs/vue-loader/issues/1585)) ([d3fa467](https://github.com/vuejs/vue-loader/commit/d3fa467))
|
||||
|
||||
|
||||
|
||||
<a name="15.7.1"></a>
|
||||
## [15.7.1](https://github.com/vuejs/vue-loader/compare/v15.7.0...v15.7.1) (2019-07-18)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* use "api.isRecorded" instead of "module.hot.data" ([#1569](https://github.com/vuejs/vue-loader/issues/1569)) ([6a05115](https://github.com/vuejs/vue-loader/commit/6a05115))
|
||||
|
||||
|
||||
|
||||
<a name="15.7.0"></a>
|
||||
# [15.7.0](https://github.com/vuejs/vue-loader/compare/v15.6.4...v15.7.0) (2019-02-28)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* support post loaders for template blocks ([#1500](https://github.com/vuejs/vue-loader/issues/1500)) ([731a7ad](https://github.com/vuejs/vue-loader/commit/731a7ad))
|
||||
|
||||
|
||||
|
||||
<a name="15.6.4"></a>
|
||||
## [15.6.4](https://github.com/vuejs/vue-loader/compare/v15.6.0...v15.6.4) (2019-02-19)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **templateLoder:** honor options.productionMode ([#1409](https://github.com/vuejs/vue-loader/issues/1409)) ([01990d0](https://github.com/vuejs/vue-loader/commit/01990d0))
|
||||
* avoid generating custom block when there is only cache-loader ([#1493](https://github.com/vuejs/vue-loader/issues/1493)) ([a1af343](https://github.com/vuejs/vue-loader/commit/a1af343))
|
||||
* fix wrong outputSourceRange usage ([#1482](https://github.com/vuejs/vue-loader/issues/1482)) ([2d96215](https://github.com/vuejs/vue-loader/commit/2d96215))
|
||||
* keep style index consistent when filtering styles ([#1496](https://github.com/vuejs/vue-loader/issues/1496)) ([e02d937](https://github.com/vuejs/vue-loader/commit/e02d937))
|
||||
* relay correct error message on vue-template-compiler version mismatch ([fdd0338](https://github.com/vuejs/vue-loader/commit/fdd0338))
|
||||
|
||||
|
||||
|
||||
<a name="15.6.3"></a>
|
||||
## [15.6.3](https://github.com/vuejs/vue-loader/compare/v15.6.2...v15.6.3) (2019-02-18)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **templateLoder:** honor options.productionMode ([#1409](https://github.com/vuejs/vue-loader/issues/1409)) ([01990d0](https://github.com/vuejs/vue-loader/commit/01990d0))
|
||||
* avoid generating custom block when there is only cache-loader ([#1493](https://github.com/vuejs/vue-loader/issues/1493)) ([a1af343](https://github.com/vuejs/vue-loader/commit/a1af343))
|
||||
|
||||
|
||||
|
||||
<a name="15.6.2"></a>
|
||||
## [15.6.2](https://github.com/vuejs/vue-loader/compare/v15.6.1...v15.6.2) (2019-01-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* fix wrong outputSourceRange usage ([#1482](https://github.com/vuejs/vue-loader/issues/1482)) ([2d96215](https://github.com/vuejs/vue-loader/commit/2d96215))
|
||||
|
||||
|
||||
|
||||
<a name="15.6.1"></a>
|
||||
## [15.6.1](https://github.com/vuejs/vue-loader/compare/v15.6.0...v15.6.1) (2019-01-25)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* relay correct error message on vue-template-compiler version mismatch ([fdd0338](https://github.com/vuejs/vue-loader/commit/fdd0338))
|
||||
|
||||
|
||||
|
||||
<a name="15.6.0"></a>
|
||||
# [15.6.0](https://github.com/vuejs/vue-loader/compare/v15.5.1...v15.6.0) (2019-01-23)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* template comments replace windows \ to / confirm consistent hash ([#1477](https://github.com/vuejs/vue-loader/issues/1477)) ([adc6dd6](https://github.com/vuejs/vue-loader/commit/adc6dd6))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* make `__file` injection opt-in in production ([#1475](https://github.com/vuejs/vue-loader/issues/1475)) ([001382d](https://github.com/vuejs/vue-loader/commit/001382d))
|
||||
* support for compiler 2.6 outputSourceRange ([2215585](https://github.com/vuejs/vue-loader/commit/2215585))
|
||||
* support webpack 5 hooks ([#1469](https://github.com/vuejs/vue-loader/issues/1469)) ([7275ae4](https://github.com/vuejs/vue-loader/commit/7275ae4))
|
||||
|
||||
|
||||
|
||||
<a name="15.5.1"></a>
|
||||
## [15.5.1](https://github.com/vuejs/vue-loader/compare/v15.5.0...v15.5.1) (2019-01-08)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* avoid to generate empty css chunk files ([#1464](https://github.com/vuejs/vue-loader/issues/1464)) ([c444ab6](https://github.com/vuejs/vue-loader/commit/c444ab6))
|
||||
|
||||
|
||||
|
||||
<a name="15.5.0"></a>
|
||||
# [15.5.0](https://github.com/vuejs/vue-loader/compare/v15.4.0...v15.5.0) (2019-01-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* css modules extends error ([#1452](https://github.com/vuejs/vue-loader/issues/1452)) ([082c6ea](https://github.com/vuejs/vue-loader/commit/082c6ea)), closes [#1449](https://github.com/vuejs/vue-loader/issues/1449)
|
||||
* hide ext appending behind a flag (ref [#1372](https://github.com/vuejs/vue-loader/issues/1372)) ([f0beed3](https://github.com/vuejs/vue-loader/commit/f0beed3))
|
||||
* include query in loader dedupe ([4a894de](https://github.com/vuejs/vue-loader/commit/4a894de)), closes [vue-cli#2451](https://github.com/vue-cli/issues/2451)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add `prettify` option ([#1461](https://github.com/vuejs/vue-loader/issues/1461)) ([62a9155](https://github.com/vuejs/vue-loader/commit/62a9155)), closes [#1426](https://github.com/vuejs/vue-loader/issues/1426)
|
||||
|
||||
|
||||
|
||||
<a name="15.4.2"></a>
|
||||
## [15.4.2](https://github.com/vuejs/vue-loader/compare/v15.4.1...v15.4.2) (2018-09-11)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* include query in loader dedupe ([4a894de](https://github.com/vuejs/vue-loader/commit/4a894de)), closes [vue-cli#2451](https://github.com/vue-cli/issues/2451)
|
||||
|
||||
|
||||
|
||||
<a name="15.4.1"></a>
|
||||
## [15.4.1](https://github.com/vuejs/vue-loader/compare/v15.4.0...v15.4.1) (2018-08-26)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* hide ext appending behind a flag (ref [#1372](https://github.com/vuejs/vue-loader/issues/1372)) ([f0beed3](https://github.com/vuejs/vue-loader/commit/f0beed3))
|
||||
|
||||
|
||||
|
||||
<a name="15.4.0"></a>
|
||||
# [15.4.0](https://github.com/vuejs/vue-loader/compare/v15.3.0...v15.4.0) (2018-08-20)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* fix inconsistent path between Windows and POSIX systems ( ([#1384](https://github.com/vuejs/vue-loader/issues/1384) ([74a7dbd](https://github.com/vuejs/vue-loader/commit/74a7dbd))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* append the file extension to the mapping files in devtools ([#1372](https://github.com/vuejs/vue-loader/issues/1372)) ([0c2da0f](https://github.com/vuejs/vue-loader/commit/0c2da0f)), closes [#1371](https://github.com/vuejs/vue-loader/issues/1371)
|
||||
|
||||
|
||||
|
||||
<a name="15.3.0"></a>
|
||||
# [15.3.0](https://github.com/vuejs/vue-loader/compare/v15.2.7...v15.3.0) (2018-08-07)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* avoid absolute path in cache-loader inline options ([c6ab50a](https://github.com/vuejs/vue-loader/commit/c6ab50a)), closes [#1367](https://github.com/vuejs/vue-loader/issues/1367)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* set file basename to __file in production ([#1368](https://github.com/vuejs/vue-loader/issues/1368)) ([2f441b9](https://github.com/vuejs/vue-loader/commit/2f441b9))
|
||||
|
||||
|
||||
|
||||
<a name="15.2.7"></a>
|
||||
## [15.2.7](https://github.com/vuejs/vue-loader/compare/v15.2.6...v15.2.7) (2018-08-07)
|
||||
|
||||
|
||||
|
||||
<a name="15.2.6"></a>
|
||||
## [15.2.6](https://github.com/vuejs/vue-loader/compare/v15.2.5...v15.2.6) (2018-07-18)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* ensure consistent component id on different OS ([0766fe7](https://github.com/vuejs/vue-loader/commit/0766fe7)), closes [vuejs/vue-cli#1728](https://github.com/vuejs/vue-cli/issues/1728)
|
||||
|
||||
|
||||
|
||||
<a name="15.2.5"></a>
|
||||
## [15.2.5](https://github.com/vuejs/vue-loader/compare/v15.2.4...v15.2.5) (2018-07-17)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* ensure same compiler is used for both parse and tempalte compilation ([1bfc08a](https://github.com/vuejs/vue-loader/commit/1bfc08a))
|
||||
* should not remove eslint-loader on src import blocks (close [#1359](https://github.com/vuejs/vue-loader/issues/1359)) ([6f1d404](https://github.com/vuejs/vue-loader/commit/6f1d404))
|
||||
* support usage with other loaders with enforce: post ([be2384c](https://github.com/vuejs/vue-loader/commit/be2384c)), closes [#1351](https://github.com/vuejs/vue-loader/issues/1351)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* inherit root request query in custom block loaders ([#1330](https://github.com/vuejs/vue-loader/issues/1330)) ([0f0b09b](https://github.com/vuejs/vue-loader/commit/0f0b09b))
|
||||
|
||||
|
||||
|
||||
<a name="15.2.4"></a>
|
||||
## [15.2.4](https://github.com/vuejs/vue-loader/compare/v15.2.2...v15.2.4) (2018-06-01)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* ensure plugin error is emitted only once ([0b006a3](https://github.com/vuejs/vue-loader/commit/0b006a3))
|
||||
* fix unexpected error when options of cache-loader contains ! ([#1334](https://github.com/vuejs/vue-loader/issues/1334)) ([c4a2719](https://github.com/vuejs/vue-loader/commit/c4a2719))
|
||||
* use constant plugin NS ([0fb5172](https://github.com/vuejs/vue-loader/commit/0fb5172)), closes [#1331](https://github.com/vuejs/vue-loader/issues/1331)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* inject issuerPath to resourceQuery for custom block src imports ([#1313](https://github.com/vuejs/vue-loader/issues/1313)) ([a004e30](https://github.com/vuejs/vue-loader/commit/a004e30))
|
||||
|
||||
|
||||
|
||||
<a name="15.2.3"></a>
|
||||
## [15.2.3](https://github.com/vuejs/vue-loader/compare/v15.2.2...v15.2.3) (2018-06-01)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* ensure plugin error is emitted only once ([0b006a3](https://github.com/vuejs/vue-loader/commit/0b006a3))
|
||||
* use constant plugin NS ([0fb5172](https://github.com/vuejs/vue-loader/commit/0fb5172)), closes [#1331](https://github.com/vuejs/vue-loader/issues/1331)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* inject issuerPath to resourceQuery for custom block src imports ([#1313](https://github.com/vuejs/vue-loader/issues/1313)) ([a004e30](https://github.com/vuejs/vue-loader/commit/a004e30))
|
||||
|
||||
|
||||
|
||||
<a name="15.2.2"></a>
|
||||
## [15.2.2](https://github.com/vuejs/vue-loader/compare/v15.2.0...v15.2.2) (2018-05-28)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* check loader for cnpm(npminstall) ([#1321](https://github.com/vuejs/vue-loader/issues/1321)) ([37fbaeb](https://github.com/vuejs/vue-loader/commit/37fbaeb))
|
||||
* ensure template cache uses unique identifier ([538198e](https://github.com/vuejs/vue-loader/commit/538198e))
|
||||
|
||||
|
||||
|
||||
<a name="15.2.1"></a>
|
||||
## [15.2.1](https://github.com/vuejs/vue-loader/compare/v15.2.0...v15.2.1) (2018-05-25)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* ensure template cache uses unique identifier ([bdb13be](https://github.com/vuejs/vue-loader/commit/bdb13be))
|
||||
|
||||
|
||||
|
||||
<a name="15.2.0"></a>
|
||||
# [15.2.0](https://github.com/vuejs/vue-loader/compare/v15.1.0...v15.2.0) (2018-05-22)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* enable template compile caching ([28e0fd3](https://github.com/vuejs/vue-loader/commit/28e0fd3))
|
||||
|
||||
|
||||
|
||||
<a name="15.1.0"></a>
|
||||
# [15.1.0](https://github.com/vuejs/vue-loader/compare/v15.0.12...v15.1.0) (2018-05-19)
|
||||
|
||||
|
||||
### Performance Improvements
|
||||
|
||||
* avoid duplicate linting when used with eslint-loader ([3d07f81](https://github.com/vuejs/vue-loader/commit/3d07f81))
|
||||
|
||||
|
||||
|
||||
<a name="15.0.12"></a>
|
||||
## [15.0.12](https://github.com/vuejs/vue-loader/compare/v15.0.11...v15.0.12) (2018-05-18)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* ignore attrs that might interfere with query generation ([3a37269](https://github.com/vuejs/vue-loader/commit/3a37269)), closes [vuejs/vue-cli#1324](https://github.com/vuejs/vue-cli/issues/1324)
|
||||
|
||||
|
||||
|
||||
<a name="15.0.11"></a>
|
||||
## [15.0.11](https://github.com/vuejs/vue-loader/compare/v15.0.9...v15.0.11) (2018-05-15)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* improve HMR reliability ([4ccd96f](https://github.com/vuejs/vue-loader/commit/4ccd96f))
|
||||
|
||||
|
||||
|
||||
<a name="15.0.10"></a>
|
||||
## [15.0.10](https://github.com/vuejs/vue-loader/compare/v15.0.9...v15.0.10) (2018-05-11)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* improve HMR reliability ([52012cd](https://github.com/vuejs/vue-loader/commit/52012cd))
|
||||
|
||||
|
||||
|
||||
<a name="15.0.9"></a>
|
||||
## [15.0.9](https://github.com/vuejs/vue-loader/compare/v15.0.8...v15.0.9) (2018-05-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* shadowMode still has to be an option ([4529f83](https://github.com/vuejs/vue-loader/commit/4529f83))
|
||||
|
||||
|
||||
|
||||
<a name="15.0.8"></a>
|
||||
## [15.0.8](https://github.com/vuejs/vue-loader/compare/v15.0.7...v15.0.8) (2018-05-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* avoid mutating original rules array ([14bfc01](https://github.com/vuejs/vue-loader/commit/14bfc01)), closes [#1286](https://github.com/vuejs/vue-loader/issues/1286)
|
||||
|
||||
|
||||
|
||||
<a name="15.0.7"></a>
|
||||
## [15.0.7](https://github.com/vuejs/vue-loader/compare/v15.0.6...v15.0.7) (2018-05-03)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* stylePostLoader injection for windows flat node_modules ([a9a4412](https://github.com/vuejs/vue-loader/commit/a9a4412)), closes [#1284](https://github.com/vuejs/vue-loader/issues/1284)
|
||||
|
||||
|
||||
|
||||
<a name="15.0.6"></a>
|
||||
## [15.0.6](https://github.com/vuejs/vue-loader/compare/v15.0.5...v15.0.6) (2018-05-02)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* duplicate loaders when using src import with loader options ([37329e1](https://github.com/vuejs/vue-loader/commit/37329e1)), closes [#1278](https://github.com/vuejs/vue-loader/issues/1278)
|
||||
|
||||
|
||||
|
||||
<a name="15.0.5"></a>
|
||||
## [15.0.5](https://github.com/vuejs/vue-loader/compare/v15.0.4...v15.0.5) (2018-04-30)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* ignore VueLoaderPlugin check when using thread-loader ([#1268](https://github.com/vuejs/vue-loader/issues/1268)) ([476f466](https://github.com/vuejs/vue-loader/commit/476f466)), closes [#1267](https://github.com/vuejs/vue-loader/issues/1267)
|
||||
|
||||
|
||||
|
||||
<a name="15.0.4"></a>
|
||||
## [15.0.4](https://github.com/vuejs/vue-loader/compare/v15.0.3...v15.0.4) (2018-04-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* enable whitelist in exclude function ([5b0e392](https://github.com/vuejs/vue-loader/commit/5b0e392))
|
||||
|
||||
|
||||
|
||||
<a name="15.0.3"></a>
|
||||
## [15.0.3](https://github.com/vuejs/vue-loader/compare/v15.0.2...v15.0.3) (2018-04-26)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* handle rule.use being a string (ref: [#1256](https://github.com/vuejs/vue-loader/issues/1256)) ([fc2ba27](https://github.com/vuejs/vue-loader/commit/fc2ba27))
|
||||
|
||||
|
||||
|
||||
<a name="15.0.2"></a>
|
||||
## [15.0.2](https://github.com/vuejs/vue-loader/compare/v15.0.1...v15.0.2) (2018-04-26)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* remove resource field in cloned rules (fix [#1254](https://github.com/vuejs/vue-loader/issues/1254)) ([35ca03f](https://github.com/vuejs/vue-loader/commit/35ca03f))
|
||||
|
||||
|
||||
|
||||
<a name="15.0.1"></a>
|
||||
## [15.0.1](https://github.com/vuejs/vue-loader/compare/v15.0.0...v15.0.1) (2018-04-25)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* prioritize .vue rules in plugin (fix [#1246](https://github.com/vuejs/vue-loader/issues/1246)) ([bffacd5](https://github.com/vuejs/vue-loader/commit/bffacd5))
|
||||
* warn missing plugin ([068bb81](https://github.com/vuejs/vue-loader/commit/068bb81))
|
||||
|
||||
|
||||
|
||||
<a name="15.0.0"></a>
|
||||
# [15.0.0](https://github.com/vuejs/vue-loader/compare/v15.0.0-rc.2...v15.0.0) (2018-04-24)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* compat with null-loader (close [#1239](https://github.com/vuejs/vue-loader/issues/1239)) ([5cd5f6f](https://github.com/vuejs/vue-loader/commit/5cd5f6f))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* support declaring rules using .vue.html (ref [#1238](https://github.com/vuejs/vue-loader/issues/1238)) ([a3af6b3](https://github.com/vuejs/vue-loader/commit/a3af6b3))
|
||||
|
||||
|
||||
|
||||
<a name="15.0.0-rc.2"></a>
|
||||
# [15.0.0-rc.2](https://github.com/vuejs/vue-loader/compare/v15.0.0-rc.1...v15.0.0-rc.2) (2018-04-11)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* avoid bailout of webpack module concatenation ([#1230](https://github.com/vuejs/vue-loader/issues/1230)) ([b983304](https://github.com/vuejs/vue-loader/commit/b983304))
|
||||
* reuse ident of css related loaders to avoid duplicates ([#1233](https://github.com/vuejs/vue-loader/issues/1233)) ([b16311f](https://github.com/vuejs/vue-loader/commit/b16311f))
|
||||
|
||||
|
||||
|
||||
<a name="15.0.0-rc.1"></a>
|
||||
# [15.0.0-rc.1](https://github.com/vuejs/vue-loader/compare/v15.0.0-beta.7...v15.0.0-rc.1) (2018-04-06)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* support being used on files not ending with .vue ([5a9ee91](https://github.com/vuejs/vue-loader/commit/5a9ee91))
|
||||
|
||||
|
||||
|
||||
<a name="15.0.0-beta.7"></a>
|
||||
# [15.0.0-beta.7](https://github.com/vuejs/vue-loader/compare/v15.0.0-beta.6...v15.0.0-beta.7) (2018-03-25)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* handle `<template lang="xxx">` with loaders ([c954f32](https://github.com/vuejs/vue-loader/commit/c954f32))
|
||||
|
||||
|
||||
### BREAKING CHANGES
|
||||
|
||||
* `<template lang="xxx">` are now handled
|
||||
with webpack loaders as well.
|
||||
|
||||
|
||||
|
||||
<a name="15.0.0-beta.6"></a>
|
||||
# [15.0.0-beta.6](https://github.com/vuejs/vue-loader/compare/v15.0.0-beta.5...v15.0.0-beta.6) (2018-03-24)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* compat with html-webpack-plugin ([8626739](https://github.com/vuejs/vue-loader/commit/8626739)), closes [#1213](https://github.com/vuejs/vue-loader/issues/1213)
|
||||
* only reuse ident for whitelisted loaders ([230abd4](https://github.com/vuejs/vue-loader/commit/230abd4)), closes [#1214](https://github.com/vuejs/vue-loader/issues/1214)
|
||||
|
||||
|
||||
|
||||
<a name="15.0.0-beta.5"></a>
|
||||
# [15.0.0-beta.5](https://github.com/vuejs/vue-loader/compare/v15.0.0-beta.4...v15.0.0-beta.5) (2018-03-23)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* pass correct args to RuleSet.normalizeRule (fix [#1210](https://github.com/vuejs/vue-loader/issues/1210)) ([1c54dc4](https://github.com/vuejs/vue-loader/commit/1c54dc4))
|
||||
|
||||
|
||||
|
||||
<a name="15.0.0-beta.4"></a>
|
||||
# [15.0.0-beta.4](https://github.com/vuejs/vue-loader/compare/v15.0.0-beta.3...v15.0.0-beta.4) (2018-03-23)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* avoid babel options validation error (fix [#1209](https://github.com/vuejs/vue-loader/issues/1209)) ([d3e3f5e](https://github.com/vuejs/vue-loader/commit/d3e3f5e))
|
||||
|
||||
|
||||
|
||||
<a name="15.0.0-beta.3"></a>
|
||||
# [15.0.0-beta.3](https://github.com/vuejs/vue-loader/compare/v15.0.0-beta.2...v15.0.0-beta.3) (2018-03-23)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* handle vue rule with include (fix [#1201](https://github.com/vuejs/vue-loader/issues/1201)) ([2be5507](https://github.com/vuejs/vue-loader/commit/2be5507))
|
||||
* make sure cloned rules reuse the exact same ident in options ([eab9460](https://github.com/vuejs/vue-loader/commit/eab9460)), closes [#1199](https://github.com/vuejs/vue-loader/issues/1199)
|
||||
* remove rule.loaders from normalized rules ([#1207](https://github.com/vuejs/vue-loader/issues/1207)) ([e9cbbcd](https://github.com/vuejs/vue-loader/commit/e9cbbcd))
|
||||
* support test-less oneOf rules ([7208885](https://github.com/vuejs/vue-loader/commit/7208885))
|
||||
* use relative path for self path resolution ([343b9df](https://github.com/vuejs/vue-loader/commit/343b9df))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **loader:** support options.productionMode ([#1208](https://github.com/vuejs/vue-loader/issues/1208)) ([69bc1c1](https://github.com/vuejs/vue-loader/commit/69bc1c1))
|
||||
|
||||
|
||||
|
||||
<a name="15.0.0-beta.2"></a>
|
||||
# [15.0.0-beta.2](https://github.com/vuejs/vue-loader/compare/v15.0.0-beta.1...v15.0.0-beta.2) (2018-03-22)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* loader check for windows ([ab067b0](https://github.com/vuejs/vue-loader/commit/ab067b0))
|
||||
* properly stringify hot-reload-api path for Windows ([fb1306e](https://github.com/vuejs/vue-loader/commit/fb1306e))
|
||||
|
||||
|
||||
|
||||
<a name="15.0.0-beta.1"></a>
|
||||
# [15.0.0-beta.1](https://github.com/vuejs/vue-loader/compare/f418bd9...v15.0.0-beta.1) (2018-03-21)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* remove .vue from fake resourcePath to avoid double match ([7c5b6ac](https://github.com/vuejs/vue-loader/commit/7c5b6ac))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* basic hot reload ([f418bd9](https://github.com/vuejs/vue-loader/commit/f418bd9))
|
||||
* css modules + hmr ([99754c0](https://github.com/vuejs/vue-loader/commit/99754c0))
|
||||
* dynamic style injection ([234d48b](https://github.com/vuejs/vue-loader/commit/234d48b))
|
||||
* expose all block attrs via query ([cda1ec3](https://github.com/vuejs/vue-loader/commit/cda1ec3))
|
||||
* respect user compiler / compilerOptions ([58239f6](https://github.com/vuejs/vue-loader/commit/58239f6))
|
||||
* support configuring loader for custom blocks via resourceQuery ([d04f9cf](https://github.com/vuejs/vue-loader/commit/d04f9cf))
|
||||
* support rules with oneOf ([c3b379d](https://github.com/vuejs/vue-loader/commit/c3b379d))
|
||||
|
||||
|
||||
|
||||
-21
@@ -1,21 +0,0 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015-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.
|
||||
-120
@@ -1,120 +0,0 @@
|
||||
# vue-loader [](https://circleci.com/gh/vuejs/vue-loader/tree/master) [](https://ci.appveyor.com/project/yyx990803/vue-loader/branch/master)
|
||||
|
||||
> webpack loader for Vue Single-File Components
|
||||
|
||||
**NOTE:** The master branch now hosts the code for v15! Legacy code is now in the [v14 branch](https://github.com/vuejs/vue-loader/tree/v14).
|
||||
|
||||
- [Documentation](https://vue-loader.vuejs.org)
|
||||
- [Migrating from v14](https://vue-loader.vuejs.org/migrating.html)
|
||||
|
||||
## What is Vue Loader?
|
||||
|
||||
`vue-loader` is a loader for [webpack](https://webpack.js.org/) that allows you to author Vue components in a format called [Single-File Components (SFCs)](./docs/spec.md):
|
||||
|
||||
``` vue
|
||||
<template>
|
||||
<div class="example">{{ msg }}</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
msg: 'Hello world!'
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.example {
|
||||
color: red;
|
||||
}
|
||||
</style>
|
||||
```
|
||||
|
||||
There are many cool features provided by `vue-loader`:
|
||||
|
||||
- Allows using other webpack loaders for each part of a Vue component, for example Sass for `<style>` and Pug for `<template>`;
|
||||
- Allows custom blocks in a `.vue` file that can have custom loader chains applied to them;
|
||||
- Treat static assets referenced in `<style>` and `<template>` as module dependencies and handle them with webpack loaders;
|
||||
- Simulate scoped CSS for each component;
|
||||
- State-preserving hot-reloading during development.
|
||||
|
||||
In a nutshell, the combination of webpack and `vue-loader` gives you a modern, flexible and extremely powerful front-end workflow for authoring Vue.js applications.
|
||||
|
||||
## How It Works
|
||||
|
||||
> The following section is for maintainers and contributors who are interested in the internal implementation details of `vue-loader`, and is **not** required knowledge for end users.
|
||||
|
||||
`vue-loader` is not a simple source transform loader. It handles each language blocks inside an SFC with its own dedicated loader chain (you can think of each block as a "virtual module"), and finally assembles the blocks together into the final module. Here's a brief overview of how the whole thing works:
|
||||
|
||||
1. `vue-loader` parses the SFC source code into an *SFC Descriptor* using `@vue/component-compiler-utils`. It then generates an import for each language block so the actual returned module code looks like this:
|
||||
|
||||
``` js
|
||||
// code returned from the main loader for 'source.vue'
|
||||
|
||||
// import the <template> block
|
||||
import render from 'source.vue?vue&type=template'
|
||||
// import the <script> block
|
||||
import script from 'source.vue?vue&type=script'
|
||||
export * from 'source.vue?vue&type=script'
|
||||
// import <style> blocks
|
||||
import 'source.vue?vue&type=style&index=1'
|
||||
|
||||
script.render = render
|
||||
export default script
|
||||
```
|
||||
|
||||
Notice how the code is importing `source.vue` itself, but with different request queries for each block.
|
||||
|
||||
2. We want the content in `script` block to be treated like `.js` files (and if it's `<script lang="ts">`, we want to to be treated like `.ts` files). Same for other language blocks. So we want webpack to apply any configured module rules that matches `.js` also to requests that look like `source.vue?vue&type=script`. This is what `VueLoaderPlugin` (`src/plugins.ts`) does: for each module rule in the webpack config, it creates a modified clone that targets corresponding Vue language block requests.
|
||||
|
||||
Suppose we have configured `babel-loader` for all `*.js` files. That rule will be cloned and applied to Vue SFC `<script>` blocks as well. Internally to webpack, a request like
|
||||
|
||||
``` js
|
||||
import script from 'source.vue?vue&type=script'
|
||||
```
|
||||
|
||||
Will expand to:
|
||||
|
||||
``` js
|
||||
import script from 'babel-loader!vue-loader!source.vue?vue&type=script'
|
||||
```
|
||||
|
||||
Notice the `vue-loader` is also matched because `vue-loader` are applied to `.vue` files.
|
||||
|
||||
Similarly, if you have configured `style-loader` + `css-loader` + `sass-loader` for `*.scss` files:
|
||||
|
||||
``` html
|
||||
<style scoped lang="scss">
|
||||
```
|
||||
|
||||
Will be returned by `vue-loader` as:
|
||||
|
||||
``` js
|
||||
import 'source.vue?vue&type=style&index=1&scoped&lang=scss'
|
||||
```
|
||||
|
||||
And webpack will expand it to:
|
||||
|
||||
``` js
|
||||
import 'style-loader!css-loader!sass-loader!vue-loader!source.vue?vue&type=style&index=1&scoped&lang=scss'
|
||||
```
|
||||
|
||||
3. When processing the expanded requests, the main `vue-loader` will get invoked again. This time though, the loader notices that the request has queries and is targeting a specific block only. So it selects (`src/select.ts`) the inner content of the target block and passes it on to the loaders matched after it.
|
||||
|
||||
4. For the `<script>` block, this is pretty much it. For `<template>` and `<style>` blocks though, a few extra tasks need to be performed:
|
||||
|
||||
- We need to compile the template using the Vue template compiler;
|
||||
- We need to post-process the CSS in `<style scoped>` blocks, **before** `css-loader`.
|
||||
|
||||
Technically, these are additional loaders (`src/templateLoader.ts` and `src/stylePostLoader.ts`) that need to be injected into the expanded loader chain. It would be very complicated if the end users have to configure this themselves, so `VueLoaderPlugin` also injects a global [Pitching Loader](https://webpack.js.org/api/loaders/#pitching-loader) (`src/pitcher.ts`) that intercepts Vue `<template>` and `<style>` requests and injects the necessary loaders. The final requests look like the following:
|
||||
|
||||
``` js
|
||||
// <template lang="pug">
|
||||
import 'vue-loader/template-loader!pug-loader!vue-loader!source.vue?vue&type=template'
|
||||
|
||||
// <style scoped lang="scss">
|
||||
import 'style-loader!css-loader!vue-loader/style-post-loader!sass-loader!vue-loader!source.vue?vue&type=style&index=1&scoped&lang=scss'
|
||||
```
|
||||
-44
@@ -1,44 +0,0 @@
|
||||
const qs = require('querystring')
|
||||
const { attrsToQuery, genMatchResource } = require('./utils')
|
||||
|
||||
module.exports = function genCustomBlocksCode(
|
||||
loaderContext,
|
||||
blocks,
|
||||
resourcePath,
|
||||
resourceQuery,
|
||||
stringifyRequest,
|
||||
enableInlineMatchResource
|
||||
) {
|
||||
return (
|
||||
`\n/* custom blocks */\n` +
|
||||
blocks
|
||||
.map((block, i) => {
|
||||
const src = block.attrs.src || resourcePath
|
||||
const attrsQuery = attrsToQuery(block.attrs)
|
||||
const issuerQuery = block.attrs.src
|
||||
? `&issuerPath=${qs.escape(resourcePath)}`
|
||||
: ''
|
||||
const inheritQuery = resourceQuery ? `&${resourceQuery.slice(1)}` : ''
|
||||
const externalQuery = block.attrs.src ? `&external` : ``
|
||||
const query = `?vue&type=custom&index=${i}&blockType=${qs.escape(
|
||||
block.type
|
||||
)}${issuerQuery}${attrsQuery}${inheritQuery}${externalQuery}`
|
||||
|
||||
let customRequest
|
||||
|
||||
if (enableInlineMatchResource) {
|
||||
customRequest = stringifyRequest(
|
||||
genMatchResource(loaderContext, src, query, block.attrs.lang)
|
||||
)
|
||||
} else {
|
||||
customRequest = stringifyRequest(src + query)
|
||||
}
|
||||
return (
|
||||
`import block${i} from ${customRequest}\n` +
|
||||
`if (typeof block${i} === 'function') block${i}(component)`
|
||||
)
|
||||
})
|
||||
.join(`\n`) +
|
||||
`\n`
|
||||
)
|
||||
}
|
||||
-31
@@ -1,31 +0,0 @@
|
||||
const hotReloadAPIPath = JSON.stringify(require.resolve('vue-hot-reload-api'))
|
||||
|
||||
const genTemplateHotReloadCode = (id, request) => {
|
||||
return `
|
||||
module.hot.accept(${request}, function () {
|
||||
api.rerender('${id}', {
|
||||
render: render,
|
||||
staticRenderFns: staticRenderFns
|
||||
})
|
||||
})
|
||||
`.trim()
|
||||
}
|
||||
|
||||
exports.genHotReloadCode = (id, functional, templateRequest) => {
|
||||
return `
|
||||
/* hot reload */
|
||||
if (module.hot) {
|
||||
var api = require(${hotReloadAPIPath})
|
||||
api.install(require('vue'))
|
||||
if (api.compatible) {
|
||||
module.hot.accept()
|
||||
if (!api.isRecorded('${id}')) {
|
||||
api.createRecord('${id}', component.options)
|
||||
} else {
|
||||
api.${functional ? 'rerender' : 'reload'}('${id}', component.options)
|
||||
}
|
||||
${templateRequest ? genTemplateHotReloadCode(id, templateRequest) : ''}
|
||||
}
|
||||
}
|
||||
`.trim()
|
||||
}
|
||||
-140
@@ -1,140 +0,0 @@
|
||||
const { attrsToQuery, genMatchResource } = require('./utils')
|
||||
const hotReloadAPIPath = JSON.stringify(require.resolve('vue-hot-reload-api'))
|
||||
const nonWhitespaceRE = /\S+/
|
||||
|
||||
module.exports = function genStyleInjectionCode(
|
||||
loaderContext,
|
||||
styles,
|
||||
id,
|
||||
resourcePath,
|
||||
stringifyRequest,
|
||||
needsHotReload,
|
||||
needsExplicitInjection,
|
||||
isProduction,
|
||||
enableInlineMatchResource
|
||||
) {
|
||||
let styleImportsCode = ``
|
||||
let styleInjectionCode = ``
|
||||
let cssModulesHotReloadCode = ``
|
||||
|
||||
let hasCSSModules = false
|
||||
const cssModuleNames = new Map()
|
||||
|
||||
function genStyleRequest(style, i) {
|
||||
const src = style.src || resourcePath
|
||||
const attrsQuery = attrsToQuery(style.attrs, 'css')
|
||||
const lang = String(style.attrs.lang || 'css')
|
||||
const inheritQuery = loaderContext.resourceQuery.slice(1)
|
||||
? `&${loaderContext.resourceQuery.slice(1)}`
|
||||
: ''
|
||||
// make sure to only pass id not src importing so that we don't inject
|
||||
// duplicate tags when multiple components import the same css file
|
||||
const idQuery = !style.src || style.scoped ? `&id=${id}` : ``
|
||||
const prodQuery = isProduction ? `&prod` : ``
|
||||
const externalQuery = style.src ? `&external` : ``
|
||||
const query = `?vue&type=style&index=${i}${idQuery}${prodQuery}${attrsQuery}${inheritQuery}${externalQuery}`
|
||||
let styleRequest
|
||||
if (enableInlineMatchResource) {
|
||||
styleRequest = stringifyRequest(genMatchResource(loaderContext, src, query, lang))
|
||||
} else {
|
||||
styleRequest = stringifyRequest(src + query)
|
||||
}
|
||||
return styleRequest
|
||||
}
|
||||
|
||||
function genCSSModulesCode(style, request, i) {
|
||||
hasCSSModules = true
|
||||
|
||||
const moduleName = style.module === true ? '$style' : style.module
|
||||
if (cssModuleNames.has(moduleName)) {
|
||||
loaderContext.emitError(`CSS module name ${moduleName} is not unique!`)
|
||||
}
|
||||
cssModuleNames.set(moduleName, true)
|
||||
|
||||
// `(vue-)style-loader` exports the name-to-hash map directly
|
||||
// `css-loader` exports it in `.locals`
|
||||
const locals = `(style${i}.locals || style${i})`
|
||||
const name = JSON.stringify(moduleName)
|
||||
|
||||
if (!needsHotReload) {
|
||||
styleInjectionCode += `this[${name}] = ${locals}\n`
|
||||
} else {
|
||||
styleInjectionCode += `
|
||||
cssModules[${name}] = ${locals}
|
||||
Object.defineProperty(this, ${name}, {
|
||||
configurable: true,
|
||||
get: function () {
|
||||
return cssModules[${name}]
|
||||
}
|
||||
})
|
||||
`
|
||||
cssModulesHotReloadCode += `
|
||||
module.hot && module.hot.accept([${request}], function () {
|
||||
var oldLocals = cssModules[${name}]
|
||||
if (oldLocals) {
|
||||
var newLocals = require(${request})
|
||||
if (JSON.stringify(newLocals) !== JSON.stringify(oldLocals)) {
|
||||
cssModules[${name}] = newLocals
|
||||
require(${hotReloadAPIPath}).rerender("${id}")
|
||||
}
|
||||
}
|
||||
})
|
||||
`
|
||||
}
|
||||
}
|
||||
|
||||
// empty styles: with no `src` specified or only contains whitespaces
|
||||
const isNotEmptyStyle = (style) =>
|
||||
style.src || nonWhitespaceRE.test(style.content)
|
||||
// explicit injection is needed in SSR (for critical CSS collection)
|
||||
// or in Shadow Mode (for injection into shadow root)
|
||||
// In these modes, vue-style-loader exports objects with the __inject__
|
||||
// method; otherwise we simply import the styles.
|
||||
if (!needsExplicitInjection) {
|
||||
styles.forEach((style, i) => {
|
||||
// do not generate requests for empty styles
|
||||
if (isNotEmptyStyle(style)) {
|
||||
const request = genStyleRequest(style, i)
|
||||
styleImportsCode += `import style${i} from ${request}\n`
|
||||
if (style.module) genCSSModulesCode(style, request, i)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
styles.forEach((style, i) => {
|
||||
if (isNotEmptyStyle(style)) {
|
||||
const request = genStyleRequest(style, i)
|
||||
styleInjectionCode +=
|
||||
`var style${i} = require(${request})\n` +
|
||||
`if (style${i}.__inject__) style${i}.__inject__(context)\n`
|
||||
if (style.module) genCSSModulesCode(style, request, i)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
if (!needsExplicitInjection && !hasCSSModules) {
|
||||
return styleImportsCode
|
||||
}
|
||||
|
||||
return `
|
||||
${styleImportsCode}
|
||||
${hasCSSModules && needsHotReload ? `var cssModules = {}` : ``}
|
||||
${needsHotReload ? `var disposed = false` : ``}
|
||||
|
||||
function injectStyles (context) {
|
||||
${needsHotReload ? `if (disposed) return` : ``}
|
||||
${styleInjectionCode}
|
||||
}
|
||||
|
||||
${
|
||||
needsHotReload
|
||||
? `
|
||||
module.hot && module.hot.dispose(function (data) {
|
||||
disposed = true
|
||||
})
|
||||
`
|
||||
: ``
|
||||
}
|
||||
|
||||
${cssModulesHotReloadCode}
|
||||
`.trim()
|
||||
}
|
||||
-48
@@ -1,48 +0,0 @@
|
||||
const qs = require('querystring')
|
||||
|
||||
// these are built-in query parameters so should be ignored
|
||||
// if the user happen to add them as attrs
|
||||
const ignoreList = ['id', 'index', 'src', 'type']
|
||||
|
||||
// transform the attrs on a SFC block descriptor into a resourceQuery string
|
||||
exports.attrsToQuery = (attrs, langFallback) => {
|
||||
let query = ``
|
||||
for (const name in attrs) {
|
||||
const value = attrs[name]
|
||||
if (!ignoreList.includes(name)) {
|
||||
query += `&${qs.escape(name)}=${value ? qs.escape(value) : ``}`
|
||||
}
|
||||
}
|
||||
if (langFallback && !(`lang` in attrs)) {
|
||||
query += `&lang=${langFallback}`
|
||||
}
|
||||
return query
|
||||
}
|
||||
|
||||
exports.genMatchResource = (context, resourcePath, resourceQuery, lang) => {
|
||||
resourceQuery = resourceQuery || ''
|
||||
|
||||
const loaders = []
|
||||
const parsedQuery = qs.parse(resourceQuery.slice(1))
|
||||
|
||||
// process non-external resources
|
||||
if ('vue' in parsedQuery && !('external' in parsedQuery)) {
|
||||
const currentRequest = context.loaders
|
||||
.slice(context.loaderIndex)
|
||||
.map((obj) => obj.request)
|
||||
loaders.push(...currentRequest)
|
||||
}
|
||||
const loaderString = loaders.join('!')
|
||||
|
||||
return `${resourcePath}${lang ? `.${lang}` : ''}${resourceQuery}!=!${
|
||||
loaderString ? `${loaderString}!` : ''
|
||||
}${resourcePath}${resourceQuery}`
|
||||
}
|
||||
|
||||
exports.testWebpack5 = (compiler) => {
|
||||
if (!compiler) {
|
||||
return false
|
||||
}
|
||||
const webpackVersion = compiler.webpack && compiler.webpack.version
|
||||
return Boolean(webpackVersion && Number(webpackVersion.split('.')[0]) > 4)
|
||||
}
|
||||
-54
@@ -1,54 +0,0 @@
|
||||
// resolve compilers to use.
|
||||
|
||||
let cached
|
||||
|
||||
exports.resolveCompiler = function (ctx, loaderContext) {
|
||||
if (cached) {
|
||||
return cached
|
||||
}
|
||||
|
||||
// check 2.7
|
||||
try {
|
||||
const pkg = loadFromContext('vue/package.json', ctx)
|
||||
const [major, minor] = pkg.version.split('.')
|
||||
if (major === '2' && Number(minor) >= 7) {
|
||||
return (cached = {
|
||||
is27: true,
|
||||
compiler: loadFromContext('vue/compiler-sfc', ctx),
|
||||
templateCompiler: undefined
|
||||
})
|
||||
}
|
||||
} catch (e) {}
|
||||
|
||||
return (cached = {
|
||||
compiler: require('@vue/component-compiler-utils'),
|
||||
templateCompiler: loadTemplateCompiler(ctx, loaderContext)
|
||||
})
|
||||
}
|
||||
|
||||
function loadFromContext(path, ctx) {
|
||||
return require(require.resolve(path, {
|
||||
paths: [ctx]
|
||||
}))
|
||||
}
|
||||
|
||||
function loadTemplateCompiler(ctx, loaderContext) {
|
||||
try {
|
||||
return loadFromContext('vue-template-compiler', ctx)
|
||||
} catch (e) {
|
||||
if (loaderContext) {
|
||||
if (/version mismatch/.test(e.toString())) {
|
||||
loaderContext.emitError(e)
|
||||
} else {
|
||||
loaderContext.emitError(
|
||||
new Error(
|
||||
`[vue-loader] vue-template-compiler must be installed as a peer dependency, ` +
|
||||
`or a compatible compiler implementation must be passed via options.`
|
||||
)
|
||||
)
|
||||
}
|
||||
} else {
|
||||
throw e
|
||||
}
|
||||
}
|
||||
}
|
||||
-47
@@ -1,47 +0,0 @@
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
const { resolveCompiler } = require('./compiler')
|
||||
|
||||
const cache = new Map()
|
||||
|
||||
exports.setDescriptor = function setDescriptor(filename, entry) {
|
||||
cache.set(cleanQuery(filename), entry)
|
||||
}
|
||||
|
||||
exports.getDescriptor = function getDescriptor(
|
||||
filename,
|
||||
options,
|
||||
loaderContext
|
||||
) {
|
||||
filename = cleanQuery(filename)
|
||||
if (cache.has(filename)) {
|
||||
return cache.get(filename)
|
||||
}
|
||||
|
||||
// This function should only be called after the descriptor has been
|
||||
// cached by the main loader.
|
||||
// If this is somehow called without a cache hit, it's probably due to sub
|
||||
// loaders being run in separate threads. The only way to deal with this is to
|
||||
// read from disk directly...
|
||||
const source = fs.readFileSync(filename, 'utf-8')
|
||||
const sourceRoot = path.dirname(
|
||||
path.relative(loaderContext.rootContext, loaderContext.resourcePath)
|
||||
)
|
||||
const { compiler, templateCompiler } = resolveCompiler(
|
||||
loaderContext.rootContext
|
||||
)
|
||||
const descriptor = compiler.parse({
|
||||
source,
|
||||
compiler: options.compiler || templateCompiler,
|
||||
filename,
|
||||
sourceRoot,
|
||||
needMap: loaderContext.sourceMap
|
||||
})
|
||||
cache.set(filename, descriptor)
|
||||
return descriptor
|
||||
}
|
||||
|
||||
function cleanQuery(str) {
|
||||
const i = str.indexOf('?')
|
||||
return i > 0 ? str.slice(0, i) : str
|
||||
}
|
||||
-25
@@ -1,25 +0,0 @@
|
||||
import { Plugin } from 'webpack'
|
||||
import { VueTemplateCompiler } from '@vue/component-compiler-utils/dist/types'
|
||||
import { CompilerOptions } from 'vue-template-compiler'
|
||||
|
||||
declare namespace VueLoader {
|
||||
class VueLoaderPlugin extends Plugin {}
|
||||
|
||||
interface VueLoaderOptions {
|
||||
transformAssetUrls?: { [tag: string]: string | Array<string> }
|
||||
compiler?: VueTemplateCompiler
|
||||
compilerOptions?: CompilerOptions
|
||||
transpileOptions?: Object
|
||||
optimizeSSR?: boolean
|
||||
hotReload?: boolean
|
||||
productionMode?: boolean
|
||||
shadowMode?: boolean
|
||||
cacheDirectory?: string
|
||||
cacheIdentifier?: string
|
||||
prettify?: boolean
|
||||
exposeFilename?: boolean
|
||||
experimentalInlineMatchResource?: boolean
|
||||
}
|
||||
}
|
||||
|
||||
export = VueLoader
|
||||
-231
@@ -1,231 +0,0 @@
|
||||
const path = require('path')
|
||||
const hash = require('hash-sum')
|
||||
const qs = require('querystring')
|
||||
const plugin = require('./plugin')
|
||||
const selectBlock = require('./select')
|
||||
const loaderUtils = require('loader-utils')
|
||||
const {
|
||||
attrsToQuery,
|
||||
testWebpack5,
|
||||
genMatchResource
|
||||
} = require('./codegen/utils')
|
||||
const genStylesCode = require('./codegen/styleInjection')
|
||||
const { genHotReloadCode } = require('./codegen/hotReload')
|
||||
const genCustomBlocksCode = require('./codegen/customBlocks')
|
||||
const componentNormalizerPath = require.resolve('./runtime/componentNormalizer')
|
||||
const { NS } = require('./plugin')
|
||||
const { resolveCompiler } = require('./compiler')
|
||||
const { setDescriptor } = require('./descriptorCache')
|
||||
|
||||
let errorEmitted = false
|
||||
|
||||
module.exports = function (source) {
|
||||
const loaderContext = this
|
||||
|
||||
if (!errorEmitted && !loaderContext['thread-loader'] && !loaderContext[NS]) {
|
||||
loaderContext.emitError(
|
||||
new Error(
|
||||
`vue-loader was used without the corresponding plugin. ` +
|
||||
`Make sure to include VueLoaderPlugin in your webpack config.`
|
||||
)
|
||||
)
|
||||
errorEmitted = true
|
||||
}
|
||||
|
||||
const stringifyRequest = (r) => loaderUtils.stringifyRequest(loaderContext, r)
|
||||
|
||||
const {
|
||||
mode,
|
||||
target,
|
||||
request,
|
||||
minimize,
|
||||
sourceMap,
|
||||
rootContext,
|
||||
resourcePath,
|
||||
resourceQuery: _resourceQuery = '',
|
||||
_compiler
|
||||
} = loaderContext
|
||||
const isWebpack5 = testWebpack5(_compiler)
|
||||
const rawQuery = _resourceQuery.slice(1)
|
||||
const resourceQuery = rawQuery ? `&${rawQuery}` : ''
|
||||
const incomingQuery = qs.parse(rawQuery)
|
||||
const options = loaderUtils.getOptions(loaderContext) || {}
|
||||
const enableInlineMatchResource =
|
||||
isWebpack5 && Boolean(options.experimentalInlineMatchResource)
|
||||
const isServer = target === 'node'
|
||||
const isShadow = !!options.shadowMode
|
||||
const isProduction =
|
||||
mode === 'production' ||
|
||||
options.productionMode ||
|
||||
minimize ||
|
||||
process.env.NODE_ENV === 'production'
|
||||
|
||||
const filename = path.basename(resourcePath)
|
||||
const context = rootContext || process.cwd()
|
||||
const sourceRoot = path.dirname(path.relative(context, resourcePath))
|
||||
|
||||
const { compiler, templateCompiler } = resolveCompiler(context, loaderContext)
|
||||
|
||||
const descriptor = compiler.parse({
|
||||
source,
|
||||
compiler: options.compiler || templateCompiler,
|
||||
filename,
|
||||
sourceRoot,
|
||||
needMap: sourceMap
|
||||
})
|
||||
|
||||
// cache descriptor
|
||||
setDescriptor(resourcePath, descriptor)
|
||||
|
||||
// module id for scoped CSS & hot-reload
|
||||
const rawShortFilePath = path
|
||||
.relative(context, resourcePath)
|
||||
.replace(/^(\.\.[\/\\])+/, '')
|
||||
const shortFilePath = rawShortFilePath.replace(/\\/g, '/')
|
||||
const id = hash(
|
||||
isProduction
|
||||
? shortFilePath + '\n' + source.replace(/\r\n/g, '\n')
|
||||
: shortFilePath
|
||||
)
|
||||
|
||||
// if the query has a type field, this is a language block request
|
||||
// e.g. foo.vue?type=template&id=xxxxx
|
||||
// and we will return early
|
||||
if (incomingQuery.type) {
|
||||
return selectBlock(
|
||||
descriptor,
|
||||
id,
|
||||
options,
|
||||
loaderContext,
|
||||
incomingQuery,
|
||||
!!options.appendExtension
|
||||
)
|
||||
}
|
||||
|
||||
// feature information
|
||||
const hasScoped = descriptor.styles.some((s) => s.scoped)
|
||||
const hasFunctional =
|
||||
descriptor.template && descriptor.template.attrs.functional
|
||||
const needsHotReload =
|
||||
!isServer &&
|
||||
!isProduction &&
|
||||
(descriptor.script || descriptor.scriptSetup || descriptor.template) &&
|
||||
options.hotReload !== false
|
||||
|
||||
// script
|
||||
let scriptImport = `var script = {}`
|
||||
// let isTS = false
|
||||
const { script, scriptSetup } = descriptor
|
||||
if (script || scriptSetup) {
|
||||
const lang = (script && script.lang) || (scriptSetup && scriptSetup.lang)
|
||||
// isTS = !!(lang && /tsx?/.test(lang))
|
||||
const externalQuery =
|
||||
script && !scriptSetup && script.src ? `&external` : ``
|
||||
const src = (script && !scriptSetup && script.src) || resourcePath
|
||||
const attrsQuery = attrsToQuery((scriptSetup || script).attrs, 'js')
|
||||
const query = `?vue&type=script${attrsQuery}${resourceQuery}${externalQuery}`
|
||||
|
||||
let scriptRequest
|
||||
if (enableInlineMatchResource) {
|
||||
scriptRequest = stringifyRequest(
|
||||
genMatchResource(loaderContext, src, query, lang || 'js')
|
||||
)
|
||||
} else {
|
||||
scriptRequest = stringifyRequest(src + query)
|
||||
}
|
||||
scriptImport =
|
||||
`import script from ${scriptRequest}\n` + `export * from ${scriptRequest}` // support named exports
|
||||
}
|
||||
|
||||
// template
|
||||
let templateImport = `var render, staticRenderFns`
|
||||
let templateRequest
|
||||
if (descriptor.template) {
|
||||
const src = descriptor.template.src || resourcePath
|
||||
const externalQuery = descriptor.template.src ? `&external` : ``
|
||||
const idQuery = `&id=${id}`
|
||||
const scopedQuery = hasScoped ? `&scoped=true` : ``
|
||||
const attrsQuery = attrsToQuery(descriptor.template.attrs)
|
||||
// const tsQuery =
|
||||
// options.enableTsInTemplate !== false && isTS ? `&ts=true` : ``
|
||||
const query = `?vue&type=template${idQuery}${scopedQuery}${attrsQuery}${resourceQuery}${externalQuery}`
|
||||
if (enableInlineMatchResource) {
|
||||
templateRequest = stringifyRequest(
|
||||
// TypeScript syntax in template expressions is not supported in Vue 2, so the lang is always 'js'
|
||||
genMatchResource(loaderContext, src, query, 'js')
|
||||
)
|
||||
} else {
|
||||
templateRequest = stringifyRequest(src + query)
|
||||
}
|
||||
templateImport = `import { render, staticRenderFns } from ${templateRequest}`
|
||||
}
|
||||
|
||||
// styles
|
||||
let stylesCode = ``
|
||||
if (descriptor.styles.length) {
|
||||
stylesCode = genStylesCode(
|
||||
loaderContext,
|
||||
descriptor.styles,
|
||||
id,
|
||||
resourcePath,
|
||||
stringifyRequest,
|
||||
needsHotReload,
|
||||
isServer || isShadow, // needs explicit injection?
|
||||
isProduction,
|
||||
enableInlineMatchResource
|
||||
)
|
||||
}
|
||||
|
||||
let code =
|
||||
`
|
||||
${templateImport}
|
||||
${scriptImport}
|
||||
${stylesCode}
|
||||
|
||||
/* normalize component */
|
||||
import normalizer from ${stringifyRequest(`!${componentNormalizerPath}`)}
|
||||
var component = normalizer(
|
||||
script,
|
||||
render,
|
||||
staticRenderFns,
|
||||
${hasFunctional ? `true` : `false`},
|
||||
${/injectStyles/.test(stylesCode) ? `injectStyles` : `null`},
|
||||
${hasScoped ? JSON.stringify(id) : `null`},
|
||||
${isServer ? JSON.stringify(hash(request)) : `null`}
|
||||
${isShadow ? `,true` : ``}
|
||||
)
|
||||
`.trim() + `\n`
|
||||
|
||||
if (descriptor.customBlocks && descriptor.customBlocks.length) {
|
||||
code += genCustomBlocksCode(
|
||||
loaderContext,
|
||||
descriptor.customBlocks,
|
||||
resourcePath,
|
||||
resourceQuery,
|
||||
stringifyRequest,
|
||||
enableInlineMatchResource
|
||||
)
|
||||
}
|
||||
|
||||
if (needsHotReload) {
|
||||
code += `\n` + genHotReloadCode(id, hasFunctional, templateRequest)
|
||||
}
|
||||
|
||||
// Expose filename. This is used by the devtools and Vue runtime warnings.
|
||||
if (!isProduction) {
|
||||
// Expose the file's full path in development, so that it can be opened
|
||||
// from the devtools.
|
||||
code += `\ncomponent.options.__file = ${JSON.stringify(
|
||||
rawShortFilePath.replace(/\\/g, '/')
|
||||
)}`
|
||||
} else if (options.exposeFilename) {
|
||||
// Libraries can opt-in to expose their components' filenames in production builds.
|
||||
// For security reasons, only expose the file's basename in production.
|
||||
code += `\ncomponent.options.__file = ${JSON.stringify(filename)}`
|
||||
}
|
||||
|
||||
code += `\nexport default component.exports`
|
||||
return code
|
||||
}
|
||||
|
||||
module.exports.VueLoaderPlugin = plugin
|
||||
-223
@@ -1,223 +0,0 @@
|
||||
const qs = require('querystring')
|
||||
const loaderUtils = require('loader-utils')
|
||||
const hash = require('hash-sum')
|
||||
const selfPath = require.resolve('../index')
|
||||
const templateLoaderPath = require.resolve('./templateLoader')
|
||||
const stylePostLoaderPath = require.resolve('./stylePostLoader')
|
||||
const { resolveCompiler } = require('../compiler')
|
||||
const { testWebpack5 } = require('../codegen/utils')
|
||||
|
||||
const isESLintLoader = (l) => /(\/|\\|@)eslint-loader/.test(l.path)
|
||||
const isNullLoader = (l) => /(\/|\\|@)null-loader/.test(l.path)
|
||||
const isCSSLoader = (l) => /(\/|\\|@)css-loader/.test(l.path)
|
||||
const isCacheLoader = (l) => /(\/|\\|@)cache-loader/.test(l.path)
|
||||
const isPitcher = (l) => l.path !== __filename
|
||||
const isPreLoader = (l) => !l.pitchExecuted
|
||||
const isPostLoader = (l) => l.pitchExecuted
|
||||
|
||||
const dedupeESLintLoader = (loaders) => {
|
||||
const res = []
|
||||
let seen = false
|
||||
loaders.forEach((l) => {
|
||||
if (!isESLintLoader(l)) {
|
||||
res.push(l)
|
||||
} else if (!seen) {
|
||||
seen = true
|
||||
res.push(l)
|
||||
}
|
||||
})
|
||||
return res
|
||||
}
|
||||
|
||||
const shouldIgnoreCustomBlock = (loaders) => {
|
||||
const actualLoaders = loaders.filter((loader) => {
|
||||
// vue-loader
|
||||
if (loader.path === selfPath) {
|
||||
return false
|
||||
}
|
||||
|
||||
// cache-loader
|
||||
if (isCacheLoader(loader)) {
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
})
|
||||
return actualLoaders.length === 0
|
||||
}
|
||||
|
||||
module.exports = (code) => code
|
||||
|
||||
// This pitching loader is responsible for intercepting all vue block requests
|
||||
// and transform it into appropriate requests.
|
||||
module.exports.pitch = function (remainingRequest) {
|
||||
const options = loaderUtils.getOptions(this)
|
||||
const { cacheDirectory, cacheIdentifier } = options
|
||||
const query = qs.parse(this.resourceQuery.slice(1))
|
||||
const isWebpack5 = testWebpack5(this._compiler)
|
||||
|
||||
let loaders = this.loaders
|
||||
|
||||
// if this is a language block request, eslint-loader may get matched
|
||||
// multiple times
|
||||
if (query.type) {
|
||||
// if this is an inline block, since the whole file itself is being linted,
|
||||
// remove eslint-loader to avoid duplicate linting.
|
||||
if (/\.vue$/.test(this.resourcePath)) {
|
||||
loaders = loaders.filter((l) => !isESLintLoader(l))
|
||||
} else {
|
||||
// This is a src import. Just make sure there's not more than 1 instance
|
||||
// of eslint present.
|
||||
loaders = dedupeESLintLoader(loaders)
|
||||
}
|
||||
}
|
||||
|
||||
// remove self
|
||||
loaders = loaders.filter(isPitcher)
|
||||
|
||||
// do not inject if user uses null-loader to void the type (#1239)
|
||||
if (loaders.some(isNullLoader)) {
|
||||
return
|
||||
}
|
||||
|
||||
const genRequest = (loaders, lang) => {
|
||||
// Important: dedupe since both the original rule
|
||||
// and the cloned rule would match a source import request.
|
||||
// also make sure to dedupe based on loader path.
|
||||
// assumes you'd probably never want to apply the same loader on the same
|
||||
// file twice.
|
||||
// Exception: in Vue CLI we do need two instances of postcss-loader
|
||||
// for user config and inline minification. So we need to dedupe baesd on
|
||||
// path AND query to be safe.
|
||||
const seen = new Map()
|
||||
const loaderStrings = []
|
||||
const enableInlineMatchResource =
|
||||
isWebpack5 && options.experimentalInlineMatchResource
|
||||
|
||||
loaders.forEach((loader) => {
|
||||
const identifier =
|
||||
typeof loader === 'string' ? loader : loader.path + loader.query
|
||||
const request = typeof loader === 'string' ? loader : loader.request
|
||||
if (!seen.has(identifier)) {
|
||||
seen.set(identifier, true)
|
||||
// loader.request contains both the resolved loader path and its options
|
||||
// query (e.g. ??ref-0)
|
||||
loaderStrings.push(request)
|
||||
}
|
||||
})
|
||||
if (enableInlineMatchResource) {
|
||||
return loaderUtils.stringifyRequest(
|
||||
this,
|
||||
`${this.resourcePath}${lang ? `.${lang}` : ''}${
|
||||
this.resourceQuery
|
||||
}!=!-!${[...loaderStrings, this.resourcePath + this.resourceQuery].join('!')}`
|
||||
)
|
||||
}
|
||||
|
||||
return loaderUtils.stringifyRequest(
|
||||
this,
|
||||
'-!' +
|
||||
[...loaderStrings, this.resourcePath + this.resourceQuery].join('!')
|
||||
)
|
||||
}
|
||||
|
||||
// Inject style-post-loader before css-loader for scoped CSS and trimming
|
||||
if (query.type === `style`) {
|
||||
if (isWebpack5 && this._compiler.options.experiments && this._compiler.options.experiments.css) {
|
||||
// If user enables `experiments.css`, then we are trying to emit css code directly.
|
||||
// Although we can target requests like `xxx.vue?type=style` to match `type: "css"`,
|
||||
// it will make the plugin a mess.
|
||||
if (!options.experimentalInlineMatchResource) {
|
||||
this.emitError(
|
||||
new Error(
|
||||
'`experimentalInlineMatchResource` should be enabled if `experiments.css` enabled currently'
|
||||
)
|
||||
)
|
||||
return ''
|
||||
}
|
||||
|
||||
if (query.inline || query.module) {
|
||||
this.emitError(
|
||||
new Error(
|
||||
'`inline` or `module` is currently not supported with `experiments.css` enabled'
|
||||
)
|
||||
)
|
||||
return ''
|
||||
}
|
||||
|
||||
const loaderString = [stylePostLoaderPath, ...loaders]
|
||||
.map((loader) => {
|
||||
return typeof loader === 'string' ? loader : loader.request
|
||||
})
|
||||
.join('!')
|
||||
|
||||
const styleRequest = loaderUtils.stringifyRequest(
|
||||
this,
|
||||
`${this.resourcePath}${query.lang ? `.${query.lang}` : ''}${
|
||||
this.resourceQuery
|
||||
}!=!-!${loaderString}!${this.resourcePath + this.resourceQuery}`
|
||||
)
|
||||
return `@import ${styleRequest};`
|
||||
}
|
||||
|
||||
const cssLoaderIndex = loaders.findIndex(isCSSLoader)
|
||||
if (cssLoaderIndex > -1) {
|
||||
const afterLoaders = loaders.slice(0, cssLoaderIndex + 1)
|
||||
const beforeLoaders = loaders.slice(cssLoaderIndex + 1)
|
||||
const request = genRequest(
|
||||
[...afterLoaders, stylePostLoaderPath, ...beforeLoaders],
|
||||
query.lang || 'css'
|
||||
)
|
||||
// console.log(request)
|
||||
return query.module
|
||||
? `export { default } from ${request}; export * from ${request}`
|
||||
: `export * from ${request}`
|
||||
}
|
||||
}
|
||||
|
||||
// for templates: inject the template compiler & optional cache
|
||||
if (query.type === `template`) {
|
||||
const path = require('path')
|
||||
const cacheLoader =
|
||||
cacheDirectory && cacheIdentifier
|
||||
? [
|
||||
`${require.resolve('cache-loader')}?${JSON.stringify({
|
||||
// For some reason, webpack fails to generate consistent hash if we
|
||||
// use absolute paths here, even though the path is only used in a
|
||||
// comment. For now we have to ensure cacheDirectory is a relative path.
|
||||
cacheDirectory: (path.isAbsolute(cacheDirectory)
|
||||
? path.relative(process.cwd(), cacheDirectory)
|
||||
: cacheDirectory
|
||||
).replace(/\\/g, '/'),
|
||||
cacheIdentifier: hash(cacheIdentifier) + '-vue-loader-template'
|
||||
})}`
|
||||
]
|
||||
: []
|
||||
|
||||
const preLoaders = loaders.filter(isPreLoader)
|
||||
const postLoaders = loaders.filter(isPostLoader)
|
||||
const { is27 } = resolveCompiler(this.rootContext, this)
|
||||
|
||||
const request = genRequest([
|
||||
...cacheLoader,
|
||||
...postLoaders,
|
||||
...(is27 ? [] : [templateLoaderPath + `??vue-loader-options`]),
|
||||
...preLoaders
|
||||
])
|
||||
|
||||
// the template compiler uses esm exports
|
||||
return `export * from ${request}`
|
||||
}
|
||||
|
||||
// if a custom block has no other matching loader other than vue-loader itself
|
||||
// or cache-loader, we should ignore it
|
||||
if (query.type === `custom` && shouldIgnoreCustomBlock(loaders)) {
|
||||
return ``
|
||||
}
|
||||
|
||||
// When the user defines a rule that has only resourceQuery but no test,
|
||||
// both that rule and the cloned rule will match, resulting in duplicated
|
||||
// loaders. Therefore it is necessary to perform a dedupe here.
|
||||
const request = genRequest(loaders)
|
||||
return `import mod from ${request}; export default mod; export * from ${request}`
|
||||
}
|
||||
-25
@@ -1,25 +0,0 @@
|
||||
const qs = require('querystring')
|
||||
const { resolveCompiler } = require('../compiler')
|
||||
|
||||
// This is a post loader that handles scoped CSS transforms.
|
||||
// Injected right before css-loader by the global pitcher (../pitch.js)
|
||||
// for any <style scoped> selection requests initiated from within vue files.
|
||||
module.exports = function (source, inMap) {
|
||||
const query = qs.parse(this.resourceQuery.slice(1))
|
||||
const { compiler } = resolveCompiler(this.rootContext, this)
|
||||
const { code, map, errors } = compiler.compileStyle({
|
||||
source,
|
||||
filename: this.resourcePath,
|
||||
id: `data-v-${query.id}`,
|
||||
map: inMap,
|
||||
scoped: !!query.scoped,
|
||||
isProd: query.prod != null,
|
||||
trim: true
|
||||
})
|
||||
|
||||
if (errors.length) {
|
||||
this.callback(errors[0])
|
||||
} else {
|
||||
this.callback(null, code, map)
|
||||
}
|
||||
}
|
||||
-119
@@ -1,119 +0,0 @@
|
||||
const qs = require('querystring')
|
||||
const loaderUtils = require('loader-utils')
|
||||
const { resolveCompiler } = require('../compiler')
|
||||
const { getDescriptor } = require('../descriptorCache')
|
||||
const { resolveScript } = require('../resolveScript')
|
||||
|
||||
// Loader that compiles raw template into JavaScript functions.
|
||||
// This is injected by the global pitcher (../pitch) for template
|
||||
// selection requests initiated from vue files.
|
||||
module.exports = function (source) {
|
||||
const loaderContext = this
|
||||
const filename = this.resourcePath
|
||||
const ctx = this.rootContext
|
||||
const query = qs.parse(this.resourceQuery.slice(1))
|
||||
|
||||
// although this is not the main vue-loader, we can get access to the same
|
||||
// vue-loader options because we've set an ident in the plugin and used that
|
||||
// ident to create the request for this loader in the pitcher.
|
||||
const options = loaderUtils.getOptions(loaderContext) || {}
|
||||
const { id } = query
|
||||
const isServer = loaderContext.target === 'node'
|
||||
const isProduction =
|
||||
options.productionMode ||
|
||||
loaderContext.minimize ||
|
||||
process.env.NODE_ENV === 'production'
|
||||
const isFunctional = query.functional
|
||||
|
||||
const compilerOptions = Object.assign(
|
||||
{
|
||||
outputSourceRange: true
|
||||
},
|
||||
options.compilerOptions,
|
||||
{
|
||||
scopeId: query.scoped ? `data-v-${id}` : null,
|
||||
comments: query.comments
|
||||
}
|
||||
)
|
||||
|
||||
const { compiler, templateCompiler } = resolveCompiler(ctx, loaderContext)
|
||||
|
||||
const descriptor = getDescriptor(filename, options, loaderContext)
|
||||
const script = resolveScript(descriptor, id, options, loaderContext)
|
||||
|
||||
// Prettier 3 APIs are all async
|
||||
// but `vue/compiler-sfc` and `@vue/component-compiler-utils` can only use sync function to format code
|
||||
let hasCompatiblePrettier = false
|
||||
try {
|
||||
const prettier = require('prettier/package.json')
|
||||
const major = parseInt(prettier.version.split('.')[0], 10)
|
||||
if (major === 1 || major === 2) {
|
||||
hasCompatiblePrettier = true
|
||||
}
|
||||
} catch (e) {}
|
||||
|
||||
// for vue/compiler-sfc OR @vue/component-compiler-utils
|
||||
const finalOptions = {
|
||||
source,
|
||||
filename: this.resourcePath,
|
||||
compiler: options.compiler || templateCompiler,
|
||||
compilerOptions,
|
||||
// allow customizing behavior of vue-template-es2015-compiler
|
||||
transpileOptions: options.transpileOptions,
|
||||
transformAssetUrls: options.transformAssetUrls || true,
|
||||
isProduction,
|
||||
isFunctional,
|
||||
optimizeSSR: isServer && options.optimizeSSR !== false,
|
||||
prettify: options.prettify === undefined ? hasCompatiblePrettier : options.prettify,
|
||||
bindings: script ? script.bindings : undefined
|
||||
}
|
||||
|
||||
const compiled = compiler.compileTemplate(finalOptions)
|
||||
|
||||
// tips
|
||||
if (compiled.tips && compiled.tips.length) {
|
||||
compiled.tips.forEach((tip) => {
|
||||
loaderContext.emitWarning(typeof tip === 'object' ? tip.msg : tip)
|
||||
})
|
||||
}
|
||||
|
||||
// errors
|
||||
if (compiled.errors && compiled.errors.length) {
|
||||
const generateCodeFrame =
|
||||
(templateCompiler && templateCompiler.generateCodeFrame) ||
|
||||
compiler.generateCodeFrame
|
||||
// 2.6 compiler outputs errors as objects with range
|
||||
if (generateCodeFrame && finalOptions.compilerOptions.outputSourceRange) {
|
||||
// TODO account for line offset in case template isn't placed at top
|
||||
// of the file
|
||||
loaderContext.emitError(
|
||||
`\n\n Errors compiling template:\n\n` +
|
||||
compiled.errors
|
||||
.map(({ msg, start, end }) => {
|
||||
const frame = generateCodeFrame(source, start, end)
|
||||
return ` ${msg}\n\n${pad(frame)}`
|
||||
})
|
||||
.join(`\n\n`) +
|
||||
'\n'
|
||||
)
|
||||
} else {
|
||||
loaderContext.emitError(
|
||||
`\n Error compiling template:\n${pad(compiled.source)}\n` +
|
||||
compiled.errors.map((e) => ` - ${e}`).join('\n') +
|
||||
'\n'
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
const { code } = compiled
|
||||
|
||||
// finish with ESM exports
|
||||
return code + `\nexport { render, staticRenderFns }`
|
||||
}
|
||||
|
||||
function pad(source) {
|
||||
return source
|
||||
.split(/\r?\n/)
|
||||
.map((line) => ` ${line}`)
|
||||
.join('\n')
|
||||
}
|
||||
-232
@@ -1,232 +0,0 @@
|
||||
const qs = require('querystring')
|
||||
const RuleSet = require('webpack/lib/RuleSet')
|
||||
const { resolveCompiler } = require('./compiler')
|
||||
|
||||
const id = 'vue-loader-plugin'
|
||||
const NS = 'vue-loader'
|
||||
|
||||
class VueLoaderPlugin {
|
||||
apply(compiler) {
|
||||
// add NS marker so that the loader can detect and report missing plugin
|
||||
if (compiler.hooks) {
|
||||
// webpack 4
|
||||
compiler.hooks.compilation.tap(id, (compilation) => {
|
||||
const normalModuleLoader = compilation.hooks.normalModuleLoader
|
||||
normalModuleLoader.tap(id, (loaderContext) => {
|
||||
loaderContext[NS] = true
|
||||
})
|
||||
})
|
||||
} else {
|
||||
// webpack < 4
|
||||
compiler.plugin('compilation', (compilation) => {
|
||||
compilation.plugin('normal-module-loader', (loaderContext) => {
|
||||
loaderContext[NS] = true
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
// use webpack's RuleSet utility to normalize user rules
|
||||
const rawRules = compiler.options.module.rules
|
||||
const { rules } = new RuleSet(rawRules)
|
||||
|
||||
// find the rule that applies to vue files
|
||||
let vueRuleIndex = rawRules.findIndex(createMatcher(`foo.vue`))
|
||||
if (vueRuleIndex < 0) {
|
||||
vueRuleIndex = rawRules.findIndex(createMatcher(`foo.vue.html`))
|
||||
}
|
||||
const vueRule = rules[vueRuleIndex]
|
||||
|
||||
if (!vueRule) {
|
||||
throw new Error(
|
||||
`[VueLoaderPlugin Error] No matching rule for .vue files found.\n` +
|
||||
`Make sure there is at least one root-level rule that matches .vue or .vue.html files.`
|
||||
)
|
||||
}
|
||||
|
||||
if (vueRule.oneOf) {
|
||||
throw new Error(
|
||||
`[VueLoaderPlugin Error] vue-loader 15 currently does not support vue rules with oneOf.`
|
||||
)
|
||||
}
|
||||
|
||||
// get the normalized "use" for vue files
|
||||
const vueUse = vueRule.use
|
||||
// get vue-loader options
|
||||
const vueLoaderUseIndex = vueUse.findIndex((u) => {
|
||||
return /^vue-loader|(\/|\\|@)vue-loader/.test(u.loader)
|
||||
})
|
||||
|
||||
if (vueLoaderUseIndex < 0) {
|
||||
throw new Error(
|
||||
`[VueLoaderPlugin Error] No matching use for vue-loader is found.\n` +
|
||||
`Make sure the rule matching .vue files include vue-loader in its use.`
|
||||
)
|
||||
}
|
||||
|
||||
// make sure vue-loader options has a known ident so that we can share
|
||||
// options by reference in the template-loader by using a ref query like
|
||||
// template-loader??vue-loader-options
|
||||
const vueLoaderUse = vueUse[vueLoaderUseIndex]
|
||||
vueLoaderUse.ident = 'vue-loader-options'
|
||||
vueLoaderUse.options = vueLoaderUse.options || {}
|
||||
|
||||
// for each user rule (except the vue rule), create a cloned rule
|
||||
// that targets the corresponding language blocks in *.vue files.
|
||||
const clonedRules = rules.filter((r) => r !== vueRule).map(cloneRule)
|
||||
|
||||
// rule for template compiler
|
||||
const templateCompilerRule = {
|
||||
loader: require.resolve('./loaders/templateLoader'),
|
||||
resourceQuery: (query) => {
|
||||
const parsed = qs.parse(query.slice(1))
|
||||
return parsed.vue != null && parsed.type === 'template'
|
||||
},
|
||||
options: vueLoaderUse.options
|
||||
}
|
||||
|
||||
// for each rule that matches plain .js/.ts files, also create a clone and
|
||||
// match it against the compiled template code inside *.vue files, so that
|
||||
// compiled vue render functions receive the same treatment as user code
|
||||
// (mostly babel)
|
||||
const { is27 } = resolveCompiler(compiler.options.context)
|
||||
let jsRulesForRenderFn = []
|
||||
if (is27) {
|
||||
const matchesJS = createMatcher(`test.js`)
|
||||
// const matchesTS = createMatcher(`test.ts`)
|
||||
jsRulesForRenderFn = rules
|
||||
.filter((r) => r !== vueRule && matchesJS(r))
|
||||
.map(cloneRuleForRenderFn)
|
||||
}
|
||||
|
||||
// global pitcher (responsible for injecting template compiler loader & CSS
|
||||
// post loader)
|
||||
const pitcher = {
|
||||
loader: require.resolve('./loaders/pitcher'),
|
||||
resourceQuery: (query) => {
|
||||
const parsed = qs.parse(query.slice(1))
|
||||
return parsed.vue != null
|
||||
},
|
||||
options: {
|
||||
cacheDirectory: vueLoaderUse.options.cacheDirectory,
|
||||
cacheIdentifier: vueLoaderUse.options.cacheIdentifier
|
||||
}
|
||||
}
|
||||
|
||||
// replace original rules
|
||||
compiler.options.module.rules = [
|
||||
pitcher,
|
||||
...jsRulesForRenderFn,
|
||||
...(is27 ? [templateCompilerRule] : []),
|
||||
...clonedRules,
|
||||
...rules
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
function createMatcher(fakeFile) {
|
||||
return (rule, i) => {
|
||||
// #1201 we need to skip the `include` check when locating the vue rule
|
||||
const clone = Object.assign({}, rule)
|
||||
delete clone.include
|
||||
const normalized = RuleSet.normalizeRule(clone, {}, '')
|
||||
return !rule.enforce && normalized.resource && normalized.resource(fakeFile)
|
||||
}
|
||||
}
|
||||
|
||||
function cloneRule(rule) {
|
||||
const { resource, resourceQuery } = rule
|
||||
// Assuming `test` and `resourceQuery` tests are executed in series and
|
||||
// synchronously (which is true based on RuleSet's implementation), we can
|
||||
// save the current resource being matched from `test` so that we can access
|
||||
// it in `resourceQuery`. This ensures when we use the normalized rule's
|
||||
// resource check, include/exclude are matched correctly.
|
||||
let currentResource
|
||||
const res = Object.assign({}, rule, {
|
||||
resource: {
|
||||
test: (resource) => {
|
||||
currentResource = resource
|
||||
return true
|
||||
}
|
||||
},
|
||||
resourceQuery: (query) => {
|
||||
const parsed = qs.parse(query.slice(1))
|
||||
if (parsed.vue == null) {
|
||||
return false
|
||||
}
|
||||
if (resource && parsed.lang == null) {
|
||||
return false
|
||||
}
|
||||
const fakeResourcePath = `${currentResource}.${parsed.lang}`
|
||||
if (resource && !resource(fakeResourcePath)) {
|
||||
return false
|
||||
}
|
||||
if (resourceQuery && !resourceQuery(query)) {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
})
|
||||
|
||||
if (rule.rules) {
|
||||
res.rules = rule.rules.map(cloneRule)
|
||||
}
|
||||
|
||||
if (rule.oneOf) {
|
||||
res.oneOf = rule.oneOf.map(cloneRule)
|
||||
}
|
||||
|
||||
return res
|
||||
}
|
||||
|
||||
function cloneRuleForRenderFn(rule) {
|
||||
const resource = rule.resource
|
||||
const resourceQuery = rule.resourceQuery
|
||||
let currentResource
|
||||
|
||||
const res = {
|
||||
...rule,
|
||||
resource: (resource) => {
|
||||
currentResource = resource
|
||||
return true
|
||||
},
|
||||
resourceQuery: (query) => {
|
||||
const parsed = qs.parse(query.slice(1))
|
||||
if (parsed.vue == null || parsed.type !== 'template') {
|
||||
return false
|
||||
}
|
||||
const fakeResourcePath = `${currentResource}.${parsed.ts ? `ts` : `js`}`
|
||||
if (resource && !resource(fakeResourcePath)) {
|
||||
return false
|
||||
}
|
||||
if (resourceQuery && !resourceQuery(query)) {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
// Filter out `thread-loader` from the `use` array.
|
||||
// Mitigate https://github.com/vuejs/vue/issues/12828
|
||||
// Note this won't work if the `use` filed is a function
|
||||
if (Array.isArray(res.use)) {
|
||||
const isThreadLoader = (loader) => loader === 'thread-loader' || /\/node_modules\/thread-loader\//.test(loader)
|
||||
|
||||
res.use = res.use.filter(useEntry => {
|
||||
const loader = typeof useEntry === 'string' ? useEntry : useEntry.loader
|
||||
return !isThreadLoader(loader)
|
||||
})
|
||||
}
|
||||
|
||||
if (rule.rules) {
|
||||
res.rules = rule.rules.map(cloneRuleForRenderFn)
|
||||
}
|
||||
|
||||
if (rule.oneOf) {
|
||||
res.oneOf = rule.oneOf.map(cloneRuleForRenderFn)
|
||||
}
|
||||
|
||||
return res
|
||||
}
|
||||
|
||||
VueLoaderPlugin.NS = NS
|
||||
module.exports = VueLoaderPlugin
|
||||
-334
@@ -1,334 +0,0 @@
|
||||
const { resolveCompiler } = require('./compiler')
|
||||
|
||||
const qs = require('querystring')
|
||||
const id = 'vue-loader-plugin'
|
||||
const NS = 'vue-loader'
|
||||
const BasicEffectRulePlugin = require('webpack/lib/rules/BasicEffectRulePlugin')
|
||||
const BasicMatcherRulePlugin = require('webpack/lib/rules/BasicMatcherRulePlugin')
|
||||
const RuleSetCompiler = require('webpack/lib/rules/RuleSetCompiler')
|
||||
const UseEffectRulePlugin = require('webpack/lib/rules/UseEffectRulePlugin')
|
||||
|
||||
const objectMatcherRulePlugins = []
|
||||
try {
|
||||
const ObjectMatcherRulePlugin = require('webpack/lib/rules/ObjectMatcherRulePlugin')
|
||||
objectMatcherRulePlugins.push(
|
||||
new ObjectMatcherRulePlugin('assert', 'assertions'),
|
||||
new ObjectMatcherRulePlugin('descriptionData')
|
||||
)
|
||||
} catch (e) {
|
||||
const DescriptionDataMatcherRulePlugin = require('webpack/lib/rules/DescriptionDataMatcherRulePlugin')
|
||||
objectMatcherRulePlugins.push(new DescriptionDataMatcherRulePlugin())
|
||||
}
|
||||
|
||||
const ruleSetCompiler = new RuleSetCompiler([
|
||||
new BasicMatcherRulePlugin('test', 'resource'),
|
||||
new BasicMatcherRulePlugin('mimetype'),
|
||||
new BasicMatcherRulePlugin('dependency'),
|
||||
new BasicMatcherRulePlugin('include', 'resource'),
|
||||
new BasicMatcherRulePlugin('exclude', 'resource', true),
|
||||
new BasicMatcherRulePlugin('conditions'),
|
||||
new BasicMatcherRulePlugin('resource'),
|
||||
new BasicMatcherRulePlugin('resourceQuery'),
|
||||
new BasicMatcherRulePlugin('resourceFragment'),
|
||||
new BasicMatcherRulePlugin('realResource'),
|
||||
new BasicMatcherRulePlugin('issuer'),
|
||||
new BasicMatcherRulePlugin('compiler'),
|
||||
...objectMatcherRulePlugins,
|
||||
new BasicEffectRulePlugin('type'),
|
||||
new BasicEffectRulePlugin('sideEffects'),
|
||||
new BasicEffectRulePlugin('parser'),
|
||||
new BasicEffectRulePlugin('resolve'),
|
||||
new BasicEffectRulePlugin('generator'),
|
||||
new UseEffectRulePlugin()
|
||||
])
|
||||
|
||||
class VueLoaderPlugin {
|
||||
apply(compiler) {
|
||||
const normalModule = compiler.webpack
|
||||
? compiler.webpack.NormalModule
|
||||
: require('webpack/lib/NormalModule')
|
||||
// add NS marker so that the loader can detect and report missing plugin
|
||||
compiler.hooks.compilation.tap(id, (compilation) => {
|
||||
const normalModuleLoader =
|
||||
normalModule.getCompilationHooks(compilation).loader
|
||||
normalModuleLoader.tap(id, (loaderContext) => {
|
||||
loaderContext[NS] = true
|
||||
})
|
||||
})
|
||||
|
||||
const rules = compiler.options.module.rules
|
||||
let rawVueRule
|
||||
let vueRules = []
|
||||
|
||||
for (const rawRule of rules) {
|
||||
// skip rules with 'enforce'. eg. rule for eslint-loader
|
||||
if (rawRule.enforce) {
|
||||
continue
|
||||
}
|
||||
vueRules = match(rawRule, 'foo.vue')
|
||||
if (!vueRules.length) {
|
||||
vueRules = match(rawRule, 'foo.vue.html')
|
||||
}
|
||||
if (vueRules.length > 0) {
|
||||
if (rawRule.oneOf) {
|
||||
throw new Error(
|
||||
`[VueLoaderPlugin Error] vue-loader 15 currently does not support vue rules with oneOf.`
|
||||
)
|
||||
}
|
||||
rawVueRule = rawRule
|
||||
break
|
||||
}
|
||||
}
|
||||
if (!vueRules.length) {
|
||||
throw new Error(
|
||||
`[VueLoaderPlugin Error] No matching rule for .vue files found.\n` +
|
||||
`Make sure there is at least one root-level rule that matches .vue or .vue.html files.`
|
||||
)
|
||||
}
|
||||
|
||||
// get the normalized "use" for vue files
|
||||
const vueUse = vueRules
|
||||
.filter((rule) => rule.type === 'use')
|
||||
.map((rule) => rule.value)
|
||||
|
||||
// get vue-loader options
|
||||
const vueLoaderUseIndex = vueUse.findIndex((u) => {
|
||||
return /^vue-loader|(\/|\\|@)vue-loader/.test(u.loader)
|
||||
})
|
||||
|
||||
if (vueLoaderUseIndex < 0) {
|
||||
throw new Error(
|
||||
`[VueLoaderPlugin Error] No matching use for vue-loader is found.\n` +
|
||||
`Make sure the rule matching .vue files include vue-loader in its use.`
|
||||
)
|
||||
}
|
||||
|
||||
// make sure vue-loader options has a known ident so that we can share
|
||||
// options by reference in the template-loader by using a ref query like
|
||||
// template-loader??vue-loader-options
|
||||
const vueLoaderUse = vueUse[vueLoaderUseIndex]
|
||||
vueLoaderUse.ident = 'vue-loader-options'
|
||||
vueLoaderUse.options = vueLoaderUse.options || {}
|
||||
const enableInlineMatchResource =
|
||||
vueLoaderUse.options.experimentalInlineMatchResource
|
||||
|
||||
// for each user rule (expect the vue rule), create a cloned rule
|
||||
// that targets the corresponding language blocks in *.vue files.
|
||||
const refs = new Map()
|
||||
const clonedRules = rules
|
||||
.filter((r) => r !== rawVueRule)
|
||||
.map((rawRule) =>
|
||||
cloneRule(rawRule, refs, langBlockRuleCheck, langBlockRuleResource)
|
||||
)
|
||||
|
||||
// fix conflict with config.loader and config.options when using config.use
|
||||
delete rawVueRule.loader
|
||||
delete rawVueRule.options
|
||||
rawVueRule.use = vueUse
|
||||
|
||||
// rule for template compiler
|
||||
const templateCompilerRule = {
|
||||
loader: require.resolve('./loaders/templateLoader'),
|
||||
resourceQuery: (query) => {
|
||||
if (!query) {
|
||||
return false
|
||||
}
|
||||
const parsed = qs.parse(query.slice(1))
|
||||
return parsed.vue != null && parsed.type === 'template'
|
||||
},
|
||||
options: vueLoaderUse.options
|
||||
}
|
||||
|
||||
// for each rule that matches plain .js files, also create a clone and
|
||||
// match it against the compiled template code inside *.vue files, so that
|
||||
// compiled vue render functions receive the same treatment as user code
|
||||
// (mostly babel)
|
||||
const { is27 } = resolveCompiler(compiler.options.context)
|
||||
let jsRulesForRenderFn = []
|
||||
if (is27) {
|
||||
const skipThreadLoader = true
|
||||
jsRulesForRenderFn = rules
|
||||
.filter(
|
||||
(r) =>
|
||||
r !== rawVueRule &&
|
||||
(match(r, 'test.js').length > 0 || match(r, 'test.ts').length > 0)
|
||||
)
|
||||
.map((rawRule) => cloneRule(rawRule, refs, jsRuleCheck, jsRuleResource, skipThreadLoader))
|
||||
}
|
||||
|
||||
// global pitcher (responsible for injecting template compiler loader & CSS
|
||||
// post loader)
|
||||
const pitcher = {
|
||||
loader: require.resolve('./loaders/pitcher'),
|
||||
resourceQuery: (query) => {
|
||||
if (!query) {
|
||||
return false
|
||||
}
|
||||
const parsed = qs.parse(query.slice(1))
|
||||
return parsed.vue != null
|
||||
},
|
||||
options: vueLoaderUse.options
|
||||
}
|
||||
// replace original rules
|
||||
if (enableInlineMatchResource) {
|
||||
// Match rules using `vue-loader`
|
||||
const vueLoaderRules = rules.filter((rule) => {
|
||||
const matchOnce = (use) => {
|
||||
let loaderString = ''
|
||||
|
||||
if (!use) {
|
||||
return loaderString
|
||||
}
|
||||
|
||||
if (typeof use === 'string') {
|
||||
loaderString = use
|
||||
} else if (Array.isArray(use)) {
|
||||
loaderString = matchOnce(use[0])
|
||||
} else if (typeof use === 'object' && use.loader) {
|
||||
loaderString = use.loader
|
||||
}
|
||||
return loaderString
|
||||
}
|
||||
|
||||
const loader = rule.loader || matchOnce(rule.use)
|
||||
return (
|
||||
loader === require('../package.json').name ||
|
||||
loader.startsWith(require.resolve('./index'))
|
||||
)
|
||||
})
|
||||
|
||||
compiler.options.module.rules = [
|
||||
pitcher,
|
||||
...rules.filter((rule) => !vueLoaderRules.includes(rule)),
|
||||
...(is27 ? [templateCompilerRule] : []),
|
||||
...clonedRules,
|
||||
...vueLoaderRules
|
||||
]
|
||||
} else {
|
||||
compiler.options.module.rules = [
|
||||
pitcher,
|
||||
...jsRulesForRenderFn,
|
||||
...(is27 ? [templateCompilerRule] : []),
|
||||
...clonedRules,
|
||||
...rules
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const matcherCache = new WeakMap()
|
||||
|
||||
function match(rule, fakeFile) {
|
||||
let ruleSet = matcherCache.get(rule)
|
||||
if (!ruleSet) {
|
||||
// skip the `include` check when locating the vue rule
|
||||
const clonedRawRule = { ...rule }
|
||||
delete clonedRawRule.include
|
||||
|
||||
ruleSet = ruleSetCompiler.compile([clonedRawRule])
|
||||
matcherCache.set(rule, ruleSet)
|
||||
}
|
||||
|
||||
return ruleSet.exec({
|
||||
resource: fakeFile
|
||||
})
|
||||
}
|
||||
|
||||
const langBlockRuleCheck = (query, rule) => {
|
||||
return (
|
||||
query.type === 'custom' || !rule.conditions.length || query.lang != null
|
||||
)
|
||||
}
|
||||
|
||||
const langBlockRuleResource = (query, resource) => `${resource}.${query.lang}`
|
||||
|
||||
const jsRuleCheck = (query) => {
|
||||
return query.type === 'template'
|
||||
}
|
||||
|
||||
const jsRuleResource = (query, resource) =>
|
||||
`${resource}.${query.ts ? `ts` : `js`}`
|
||||
|
||||
let uid = 0
|
||||
|
||||
function cloneRule(rawRule, refs, ruleCheck, ruleResource, skipThreadLoader) {
|
||||
const compiledRule = ruleSetCompiler.compileRule(
|
||||
`clonedRuleSet-${++uid}`,
|
||||
rawRule,
|
||||
refs
|
||||
)
|
||||
|
||||
// do not process rule with enforce
|
||||
if (!rawRule.enforce) {
|
||||
const ruleUse = compiledRule.effects
|
||||
.filter((effect) => effect.type === 'use')
|
||||
.map((effect) => effect.value)
|
||||
// fix conflict with config.loader and config.options when using config.use
|
||||
delete rawRule.loader
|
||||
delete rawRule.options
|
||||
|
||||
// Filter out `thread-loader` from the `use` array.
|
||||
// Mitigate https://github.com/vuejs/vue/issues/12828
|
||||
// Note this won't work if the `use` filed is a function
|
||||
if (skipThreadLoader && Array.isArray(ruleUse)) {
|
||||
const isThreadLoader = (loader) => loader === 'thread-loader' || /\/node_modules\/thread-loader\//.test(loader)
|
||||
rawRule.use = ruleUse.filter(useEntry => {
|
||||
const loader = typeof useEntry === 'string' ? useEntry : useEntry.loader
|
||||
return !isThreadLoader(loader)
|
||||
})
|
||||
} else {
|
||||
rawRule.use = ruleUse
|
||||
}
|
||||
}
|
||||
|
||||
let currentResource
|
||||
const res = {
|
||||
...rawRule,
|
||||
resource: (resources) => {
|
||||
currentResource = resources
|
||||
return true
|
||||
},
|
||||
resourceQuery: (query) => {
|
||||
if (!query) {
|
||||
return false
|
||||
}
|
||||
|
||||
const parsed = qs.parse(query.slice(1))
|
||||
if (parsed.vue == null) {
|
||||
return false
|
||||
}
|
||||
if (!ruleCheck(parsed, compiledRule)) {
|
||||
return false
|
||||
}
|
||||
const fakeResourcePath = ruleResource(parsed, currentResource)
|
||||
for (const condition of compiledRule.conditions) {
|
||||
// add support for resourceQuery
|
||||
const request =
|
||||
condition.property === 'resourceQuery' ? query : fakeResourcePath
|
||||
if (condition && !condition.fn(request)) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
delete res.test
|
||||
|
||||
if (rawRule.rules) {
|
||||
res.rules = rawRule.rules.map((rule) =>
|
||||
cloneRule(rule, refs, ruleCheck, ruleResource)
|
||||
)
|
||||
}
|
||||
|
||||
if (rawRule.oneOf) {
|
||||
res.oneOf = rawRule.oneOf.map((rule) =>
|
||||
cloneRule(rule, refs, ruleCheck, ruleResource)
|
||||
)
|
||||
}
|
||||
|
||||
return res
|
||||
}
|
||||
|
||||
VueLoaderPlugin.NS = NS
|
||||
module.exports = VueLoaderPlugin
|
||||
-17
@@ -1,17 +0,0 @@
|
||||
const { testWebpack5 } = require('./codegen/utils')
|
||||
const NS = 'vue-loader'
|
||||
class VueLoaderPlugin {
|
||||
apply(compiler) {
|
||||
let Ctor = null
|
||||
if (testWebpack5(compiler)) {
|
||||
// webpack5 and upper
|
||||
Ctor = require('./plugin-webpack5')
|
||||
} else {
|
||||
// webpack4 and lower
|
||||
Ctor = require('./plugin-webpack4')
|
||||
}
|
||||
new Ctor().apply(compiler)
|
||||
}
|
||||
}
|
||||
VueLoaderPlugin.NS = NS
|
||||
module.exports = VueLoaderPlugin
|
||||
-51
@@ -1,51 +0,0 @@
|
||||
const { resolveCompiler } = require('./compiler')
|
||||
|
||||
const clientCache = new WeakMap()
|
||||
const serverCache = new WeakMap()
|
||||
|
||||
exports.resolveScript = function resolveScript(
|
||||
descriptor,
|
||||
scopeId,
|
||||
options,
|
||||
loaderContext
|
||||
) {
|
||||
if (!descriptor.script && !descriptor.scriptSetup) {
|
||||
return null
|
||||
}
|
||||
|
||||
const { compiler } = resolveCompiler(loaderContext.rootContext, loaderContext)
|
||||
if (!compiler.compileScript) {
|
||||
if (descriptor.scriptSetup) {
|
||||
loaderContext.emitError(
|
||||
'The version of Vue you are using does not support <script setup>. ' +
|
||||
'Please upgrade to 2.7 or above.'
|
||||
)
|
||||
}
|
||||
return descriptor.script
|
||||
}
|
||||
|
||||
const isProd =
|
||||
loaderContext.mode === 'production' || process.env.NODE_ENV === 'production'
|
||||
const isServer = options.optimizeSSR || loaderContext.target === 'node'
|
||||
|
||||
const cacheToUse = isServer ? serverCache : clientCache
|
||||
const cached = cacheToUse.get(descriptor)
|
||||
if (cached) {
|
||||
return cached
|
||||
}
|
||||
|
||||
let resolved = null
|
||||
|
||||
try {
|
||||
resolved = compiler.compileScript(descriptor, {
|
||||
id: scopeId,
|
||||
isProd,
|
||||
babelParserPlugins: options.babelParserPlugins
|
||||
})
|
||||
} catch (e) {
|
||||
loaderContext.emitError(e)
|
||||
}
|
||||
|
||||
cacheToUse.set(descriptor, resolved)
|
||||
return resolved
|
||||
}
|
||||
-96
@@ -1,96 +0,0 @@
|
||||
/* globals __VUE_SSR_CONTEXT__ */
|
||||
|
||||
// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
|
||||
// This module is a runtime utility for cleaner component module output and will
|
||||
// be included in the final webpack user bundle.
|
||||
|
||||
export default function normalizeComponent(
|
||||
scriptExports,
|
||||
render,
|
||||
staticRenderFns,
|
||||
functionalTemplate,
|
||||
injectStyles,
|
||||
scopeId,
|
||||
moduleIdentifier /* server only */,
|
||||
shadowMode /* vue-cli only */
|
||||
) {
|
||||
// Vue.extend constructor export interop
|
||||
var options =
|
||||
typeof scriptExports === 'function' ? scriptExports.options : scriptExports
|
||||
|
||||
// render functions
|
||||
if (render) {
|
||||
options.render = render
|
||||
options.staticRenderFns = staticRenderFns
|
||||
options._compiled = true
|
||||
}
|
||||
|
||||
// functional template
|
||||
if (functionalTemplate) {
|
||||
options.functional = true
|
||||
}
|
||||
|
||||
// scopedId
|
||||
if (scopeId) {
|
||||
options._scopeId = 'data-v-' + scopeId
|
||||
}
|
||||
|
||||
var hook
|
||||
if (moduleIdentifier) {
|
||||
// server build
|
||||
hook = function (context) {
|
||||
// 2.3 injection
|
||||
context =
|
||||
context || // cached call
|
||||
(this.$vnode && this.$vnode.ssrContext) || // stateful
|
||||
(this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
|
||||
// 2.2 with runInNewContext: true
|
||||
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
||||
context = __VUE_SSR_CONTEXT__
|
||||
}
|
||||
// inject component styles
|
||||
if (injectStyles) {
|
||||
injectStyles.call(this, context)
|
||||
}
|
||||
// register component module identifier for async chunk inferrence
|
||||
if (context && context._registeredComponents) {
|
||||
context._registeredComponents.add(moduleIdentifier)
|
||||
}
|
||||
}
|
||||
// used by ssr in case component is cached and beforeCreate
|
||||
// never gets called
|
||||
options._ssrRegister = hook
|
||||
} else if (injectStyles) {
|
||||
hook = shadowMode
|
||||
? function () {
|
||||
injectStyles.call(
|
||||
this,
|
||||
(options.functional ? this.parent : this).$root.$options.shadowRoot
|
||||
)
|
||||
}
|
||||
: injectStyles
|
||||
}
|
||||
|
||||
if (hook) {
|
||||
if (options.functional) {
|
||||
// for template-only hot-reload because in that case the render fn doesn't
|
||||
// go through the normalizer
|
||||
options._injectStyles = hook
|
||||
// register for functional component in vue file
|
||||
var originalRender = options.render
|
||||
options.render = function renderWithStyleInjection(h, context) {
|
||||
hook.call(context)
|
||||
return originalRender(h, context)
|
||||
}
|
||||
} else {
|
||||
// inject component registration as beforeCreate hook
|
||||
var existing = options.beforeCreate
|
||||
options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
exports: scriptExports,
|
||||
options: options
|
||||
}
|
||||
}
|
||||
-50
@@ -1,50 +0,0 @@
|
||||
const { resolveScript } = require('./resolveScript')
|
||||
|
||||
module.exports = function selectBlock(
|
||||
descriptor,
|
||||
scopeId,
|
||||
options,
|
||||
loaderContext,
|
||||
query,
|
||||
appendExtension
|
||||
) {
|
||||
// template
|
||||
if (query.type === `template`) {
|
||||
if (appendExtension) {
|
||||
loaderContext.resourcePath += '.' + (descriptor.template.lang || 'html')
|
||||
}
|
||||
loaderContext.callback(
|
||||
null,
|
||||
descriptor.template.content,
|
||||
descriptor.template.map
|
||||
)
|
||||
return
|
||||
}
|
||||
|
||||
// script
|
||||
if (query.type === `script`) {
|
||||
const script = resolveScript(descriptor, scopeId, options, loaderContext)
|
||||
if (appendExtension) {
|
||||
loaderContext.resourcePath += '.' + (script.lang || 'js')
|
||||
}
|
||||
loaderContext.callback(null, script.content, script.map)
|
||||
return
|
||||
}
|
||||
|
||||
// styles
|
||||
if (query.type === `style` && query.index != null) {
|
||||
const style = descriptor.styles[query.index]
|
||||
if (appendExtension) {
|
||||
loaderContext.resourcePath += '.' + (style.lang || 'css')
|
||||
}
|
||||
loaderContext.callback(null, style.content, style.map)
|
||||
return
|
||||
}
|
||||
|
||||
// custom
|
||||
if (query.type === 'custom' && query.index != null) {
|
||||
const block = descriptor.customBlocks[query.index]
|
||||
loaderContext.callback(null, block.content, block.map)
|
||||
return
|
||||
}
|
||||
}
|
||||
-12
@@ -1,12 +0,0 @@
|
||||
#!/bin/sh
|
||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||
|
||||
case `uname` in
|
||||
*CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
|
||||
esac
|
||||
|
||||
if [ -x "$basedir/node" ]; then
|
||||
exec "$basedir/node" "$basedir/../json5/lib/cli.js" "$@"
|
||||
else
|
||||
exec node "$basedir/../json5/lib/cli.js" "$@"
|
||||
fi
|
||||
-13
@@ -1,13 +0,0 @@
|
||||
# editorconfig.org
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
-1
@@ -1 +0,0 @@
|
||||
node_modules
|
||||
-21
@@ -1,21 +0,0 @@
|
||||
{
|
||||
"curly": true,
|
||||
"eqeqeq": true,
|
||||
"newcap": true,
|
||||
"noarg": true,
|
||||
"noempty": true,
|
||||
"nonew": true,
|
||||
"sub": true,
|
||||
"validthis": true,
|
||||
"undef": true,
|
||||
"trailing": true,
|
||||
"boss": true,
|
||||
"eqnull": true,
|
||||
"strict": true,
|
||||
"immed": true,
|
||||
"expr": true,
|
||||
"latedef": "nofunc",
|
||||
"quotmark": "single",
|
||||
"indent": 2,
|
||||
"node": true
|
||||
}
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
node_modules
|
||||
npm-debug.log
|
||||
-11
@@ -1,11 +0,0 @@
|
||||
# 1.0.2 Quick Sort
|
||||
|
||||
- Sorts object keys so that property order doesn't affect outcome
|
||||
|
||||
# 1.0.1 Perfect Circle
|
||||
|
||||
- Guard against circular references
|
||||
|
||||
# 1.0.0 IPO
|
||||
|
||||
- Initial Public Release
|
||||
-58
@@ -1,58 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
function pad (hash, len) {
|
||||
while (hash.length < len) {
|
||||
hash = '0' + hash;
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
|
||||
function fold (hash, text) {
|
||||
var i;
|
||||
var chr;
|
||||
var len;
|
||||
if (text.length === 0) {
|
||||
return hash;
|
||||
}
|
||||
for (i = 0, len = text.length; i < len; i++) {
|
||||
chr = text.charCodeAt(i);
|
||||
hash = ((hash << 5) - hash) + chr;
|
||||
hash |= 0;
|
||||
}
|
||||
return hash < 0 ? hash * -2 : hash;
|
||||
}
|
||||
|
||||
function foldObject (hash, o, seen) {
|
||||
return Object.keys(o).sort().reduce(foldKey, hash);
|
||||
function foldKey (hash, key) {
|
||||
return foldValue(hash, o[key], key, seen);
|
||||
}
|
||||
}
|
||||
|
||||
function foldValue (input, value, key, seen) {
|
||||
var hash = fold(fold(fold(input, key), toString(value)), typeof value);
|
||||
if (value === null) {
|
||||
return fold(hash, 'null');
|
||||
}
|
||||
if (value === undefined) {
|
||||
return fold(hash, 'undefined');
|
||||
}
|
||||
if (typeof value === 'object') {
|
||||
if (seen.indexOf(value) !== -1) {
|
||||
return fold(hash, '[Circular]' + key);
|
||||
}
|
||||
seen.push(value);
|
||||
return foldObject(hash, value, seen);
|
||||
}
|
||||
return fold(hash, value.toString());
|
||||
}
|
||||
|
||||
function toString (o) {
|
||||
return Object.prototype.toString.call(o);
|
||||
}
|
||||
|
||||
function sum (o) {
|
||||
return pad(foldValue(0, o, '', []).toString(16), 8);
|
||||
}
|
||||
|
||||
module.exports = sum;
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright © 2014 Nicolas Bevacqua
|
||||
|
||||
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.
|
||||
-27
@@ -1,27 +0,0 @@
|
||||
{
|
||||
"name": "hash-sum",
|
||||
"description": "Blazing fast unique hash generator",
|
||||
"version": "1.0.2",
|
||||
"homepage": "https://github.com/bevacqua/hash-sum",
|
||||
"authors": [
|
||||
"Nicolas Bevacqua <nicolasbevacqua@gmail.com>"
|
||||
],
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/bevacqua/hash-sum.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/bevacqua/hash-sum/issues"
|
||||
},
|
||||
"main": "hash-sum.js",
|
||||
"scripts": {
|
||||
"test": "jshint . && tape test.js"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {
|
||||
"jshint": "2.5.0",
|
||||
"jshint-stylish": "0.2.0",
|
||||
"tape": "3.0.3"
|
||||
}
|
||||
}
|
||||
-67
@@ -1,67 +0,0 @@
|
||||
# hash-sum
|
||||
|
||||
> blazing fast unique hash generator
|
||||
|
||||
# install
|
||||
|
||||
```shell
|
||||
npm i hash-sum -S
|
||||
```
|
||||
|
||||
# features
|
||||
|
||||
- no dependencies
|
||||
- minimal footprint
|
||||
- works in all of node.js, io.js, and the browser
|
||||
- hashes functions based on their source code
|
||||
- produces different hashes for different object types
|
||||
- support for circular references in objects
|
||||
- ignores property assignment order
|
||||
|
||||
# `sum(value)`
|
||||
|
||||
yields a four-byte hexadecimal hash based off of `value`.
|
||||
|
||||
```
|
||||
# creates unique hashes
|
||||
creates unique hashes
|
||||
4d237d49 from: [ 0, 1, 2, 3 ]
|
||||
766ec173 from: { url: 12 }
|
||||
2f473108 from: { headers: 12 }
|
||||
23308836 from: { headers: 122 }
|
||||
062bce44 from: { headers: '122' }
|
||||
acb9f66e from: { headers: { accept: 'text/plain' } }
|
||||
1c365a2d from: { payload: [ 0, 1, 2, 3 ], headers: [ { a: 'b' } ] }
|
||||
7319ae9d from: { a: [Function] }
|
||||
8a3a0e86 from: { b: [Function] }
|
||||
b6d7f5d4 from: { b: [Function] }
|
||||
6c95fc65 from: function () {}
|
||||
2941766e from: function (a) {}
|
||||
294f8def from: function (b) {}
|
||||
2d9c0cb8 from: function (a) { return a;}
|
||||
ed5c63fc from: function (a) {return a;}
|
||||
bba68bf6 from: ''
|
||||
2d27667d from: 'null'
|
||||
774b96ed from: 'false'
|
||||
2d2a1684 from: 'true'
|
||||
8daa1a0c from: '0'
|
||||
8daa1a0a from: '1'
|
||||
e38f07cc from: 'void 0'
|
||||
6037ea1a from: 'undefined'
|
||||
9b7df12e from: null
|
||||
3c206f76 from: false
|
||||
01e34ba8 from: true
|
||||
1a96284a from: 0
|
||||
1a96284b from: 1
|
||||
29172c1a from: undefined
|
||||
4505230f from: {}
|
||||
3718c6e8 from: { a: {}, b: {} }
|
||||
5d844489 from: []
|
||||
938eaaf0 from: Tue Jul 14 2015 15:35:36 GMT-0300 (ART)
|
||||
dfe5fb2e from: global
|
||||
ok 1 should be equal
|
||||
```
|
||||
|
||||
# license
|
||||
|
||||
MIT
|
||||
-61
@@ -1,61 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
var _ = require('lodash');
|
||||
var test = require('tape');
|
||||
var sum = require('./');
|
||||
|
||||
test('creates unique hashes', function (t) {
|
||||
var results = [];
|
||||
sub([0,1,2,3]);
|
||||
sub({url:12});
|
||||
sub({headers:12});
|
||||
sub({headers:122});
|
||||
sub({headers:'122'});
|
||||
sub({headers:{accept:'text/plain'}});
|
||||
sub({payload:[0,1,2,3],headers:[{a:'b'}]});
|
||||
sub({a:function () {}});
|
||||
sub({b:function () {}});
|
||||
sub({b:function (a) {}});
|
||||
sub(function () {});
|
||||
sub(function (a) {});
|
||||
sub(function (b) {});
|
||||
sub(function (a) { return a;});
|
||||
sub(function (a) {return a;});
|
||||
sub('');
|
||||
sub('null');
|
||||
sub('false');
|
||||
sub('true');
|
||||
sub('0');
|
||||
sub('1');
|
||||
sub('void 0');
|
||||
sub('undefined');
|
||||
sub(null);
|
||||
sub(false);
|
||||
sub(true);
|
||||
sub(0);
|
||||
sub(1);
|
||||
sub(void 0);
|
||||
sub({});
|
||||
sub({a:{},b:{}});
|
||||
sub([]);
|
||||
sub(new Date());
|
||||
sub(global, 'global');
|
||||
t.equal(results.length, _.uniq(results).length);
|
||||
t.end();
|
||||
|
||||
function sub (value, name) {
|
||||
var hash = sum(value);
|
||||
results.push(hash);
|
||||
console.log('%s from:', hash, name || value);
|
||||
}
|
||||
});
|
||||
|
||||
test('hashes clash if same properties', function (t) {
|
||||
equals({a:'1'},{a:'1'});
|
||||
equals({a:'1',b:1},{b:1,a:'1'});
|
||||
t.end();
|
||||
|
||||
function equals (a, b) {
|
||||
t.equal(sum(a), sum(b));
|
||||
}
|
||||
});
|
||||
-23
@@ -1,23 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2012-2018 Aseem Kishore, and [others].
|
||||
|
||||
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.
|
||||
|
||||
[others]: https://github.com/json5/json5/contributors
|
||||
-234
@@ -1,234 +0,0 @@
|
||||
# JSON5 – JSON for Humans
|
||||
|
||||
[][Build Status]
|
||||
[][Coverage
|
||||
Status]
|
||||
|
||||
The JSON5 Data Interchange Format (JSON5) is a superset of [JSON] that aims to
|
||||
alleviate some of the limitations of JSON by expanding its syntax to include
|
||||
some productions from [ECMAScript 5.1].
|
||||
|
||||
This JavaScript library is the official reference implementation for JSON5
|
||||
parsing and serialization libraries.
|
||||
|
||||
[Build Status]: https://travis-ci.org/json5/json5
|
||||
|
||||
[Coverage Status]: https://coveralls.io/github/json5/json5
|
||||
|
||||
[JSON]: https://tools.ietf.org/html/rfc7159
|
||||
|
||||
[ECMAScript 5.1]: https://www.ecma-international.org/ecma-262/5.1/
|
||||
|
||||
## Summary of Features
|
||||
The following ECMAScript 5.1 features, which are not supported in JSON, have
|
||||
been extended to JSON5.
|
||||
|
||||
### Objects
|
||||
- Object keys may be an ECMAScript 5.1 _[IdentifierName]_.
|
||||
- Objects may have a single trailing comma.
|
||||
|
||||
### Arrays
|
||||
- Arrays may have a single trailing comma.
|
||||
|
||||
### Strings
|
||||
- Strings may be single quoted.
|
||||
- Strings may span multiple lines by escaping new line characters.
|
||||
- Strings may include character escapes.
|
||||
|
||||
### Numbers
|
||||
- Numbers may be hexadecimal.
|
||||
- Numbers may have a leading or trailing decimal point.
|
||||
- Numbers may be [IEEE 754] positive infinity, negative infinity, and NaN.
|
||||
- Numbers may begin with an explicit plus sign.
|
||||
|
||||
### Comments
|
||||
- Single and multi-line comments are allowed.
|
||||
|
||||
### White Space
|
||||
- Additional white space characters are allowed.
|
||||
|
||||
[IdentifierName]: https://www.ecma-international.org/ecma-262/5.1/#sec-7.6
|
||||
|
||||
[IEEE 754]: http://ieeexplore.ieee.org/servlet/opac?punumber=4610933
|
||||
|
||||
## Short Example
|
||||
```js
|
||||
{
|
||||
// comments
|
||||
unquoted: 'and you can quote me on that',
|
||||
singleQuotes: 'I can use "double quotes" here',
|
||||
lineBreaks: "Look, Mom! \
|
||||
No \\n's!",
|
||||
hexadecimal: 0xdecaf,
|
||||
leadingDecimalPoint: .8675309, andTrailing: 8675309.,
|
||||
positiveSign: +1,
|
||||
trailingComma: 'in objects', andIn: ['arrays',],
|
||||
"backwardsCompatible": "with JSON",
|
||||
}
|
||||
```
|
||||
|
||||
## Specification
|
||||
For a detailed explanation of the JSON5 format, please read the [official
|
||||
specification](https://json5.github.io/json5-spec/).
|
||||
|
||||
## Installation
|
||||
### Node.js
|
||||
```sh
|
||||
npm install json5
|
||||
```
|
||||
|
||||
```js
|
||||
const JSON5 = require('json5')
|
||||
```
|
||||
|
||||
### Browsers
|
||||
```html
|
||||
<script src="https://unpkg.com/json5@^1.0.0"></script>
|
||||
```
|
||||
|
||||
This will create a global `JSON5` variable.
|
||||
|
||||
## API
|
||||
The JSON5 API is compatible with the [JSON API].
|
||||
|
||||
[JSON API]:
|
||||
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON
|
||||
|
||||
### JSON5.parse()
|
||||
Parses a JSON5 string, constructing the JavaScript value or object described by
|
||||
the string. An optional reviver function can be provided to perform a
|
||||
transformation on the resulting object before it is returned.
|
||||
|
||||
#### Syntax
|
||||
JSON5.parse(text[, reviver])
|
||||
|
||||
#### Parameters
|
||||
- `text`: The string to parse as JSON5.
|
||||
- `reviver`: If a function, this prescribes how the value originally produced by
|
||||
parsing is transformed, before being returned.
|
||||
|
||||
#### Return value
|
||||
The object corresponding to the given JSON5 text.
|
||||
|
||||
### JSON5.stringify()
|
||||
Converts a JavaScript value to a JSON5 string, optionally replacing values if a
|
||||
replacer function is specified, or optionally including only the specified
|
||||
properties if a replacer array is specified.
|
||||
|
||||
#### Syntax
|
||||
JSON5.stringify(value[, replacer[, space]])
|
||||
JSON5.stringify(value[, options])
|
||||
|
||||
#### Parameters
|
||||
- `value`: The value to convert to a JSON5 string.
|
||||
- `replacer`: A function that alters the behavior of the stringification
|
||||
process, or an array of String and Number objects that serve as a whitelist
|
||||
for selecting/filtering the properties of the value object to be included in
|
||||
the JSON5 string. If this value is null or not provided, all properties of the
|
||||
object are included in the resulting JSON5 string.
|
||||
- `space`: A String or Number object that's used to insert white space into the
|
||||
output JSON5 string for readability purposes. If this is a Number, it
|
||||
indicates the number of space characters to use as white space; this number is
|
||||
capped at 10 (if it is greater, the value is just 10). Values less than 1
|
||||
indicate that no space should be used. If this is a String, the string (or the
|
||||
first 10 characters of the string, if it's longer than that) is used as white
|
||||
space. If this parameter is not provided (or is null), no white space is used.
|
||||
If white space is used, trailing commas will be used in objects and arrays.
|
||||
- `options`: An object with the following properties:
|
||||
- `replacer`: Same as the `replacer` parameter.
|
||||
- `space`: Same as the `space` parameter.
|
||||
- `quote`: A String representing the quote character to use when serializing
|
||||
strings.
|
||||
|
||||
#### Return value
|
||||
A JSON5 string representing the value.
|
||||
|
||||
### Node.js `require()` JSON5 files
|
||||
When using Node.js, you can `require()` JSON5 files by adding the following
|
||||
statement.
|
||||
|
||||
```js
|
||||
require('json5/lib/register')
|
||||
```
|
||||
|
||||
Then you can load a JSON5 file with a Node.js `require()` statement. For
|
||||
example:
|
||||
|
||||
```js
|
||||
const config = require('./config.json5')
|
||||
```
|
||||
|
||||
## CLI
|
||||
Since JSON is more widely used than JSON5, this package includes a CLI for
|
||||
converting JSON5 to JSON and for validating the syntax of JSON5 documents.
|
||||
|
||||
### Installation
|
||||
```sh
|
||||
npm install --global json5
|
||||
```
|
||||
|
||||
### Usage
|
||||
```sh
|
||||
json5 [options] <file>
|
||||
```
|
||||
|
||||
If `<file>` is not provided, then STDIN is used.
|
||||
|
||||
#### Options:
|
||||
- `-s`, `--space`: The number of spaces to indent or `t` for tabs
|
||||
- `-o`, `--out-file [file]`: Output to the specified file, otherwise STDOUT
|
||||
- `-v`, `--validate`: Validate JSON5 but do not output JSON
|
||||
- `-V`, `--version`: Output the version number
|
||||
- `-h`, `--help`: Output usage information
|
||||
|
||||
## Contibuting
|
||||
### Development
|
||||
```sh
|
||||
git clone https://github.com/json5/json5
|
||||
cd json5
|
||||
npm install
|
||||
```
|
||||
|
||||
When contributing code, please write relevant tests and run `npm test` and `npm
|
||||
run lint` before submitting pull requests. Please use an editor that supports
|
||||
[EditorConfig](http://editorconfig.org/).
|
||||
|
||||
### Issues
|
||||
To report bugs or request features regarding the JSON5 data format, please
|
||||
submit an issue to the [official specification
|
||||
repository](https://github.com/json5/json5-spec).
|
||||
|
||||
To report bugs or request features regarding the JavaScript implentation of
|
||||
JSON5, please submit an issue to this repository.
|
||||
|
||||
## License
|
||||
MIT. See [LICENSE.md](./LICENSE.md) for details.
|
||||
|
||||
## Credits
|
||||
[Assem Kishore](https://github.com/aseemk) founded this project.
|
||||
|
||||
[Michael Bolin](http://bolinfest.com/) independently arrived at and published
|
||||
some of these same ideas with awesome explanations and detail. Recommended
|
||||
reading: [Suggested Improvements to JSON](http://bolinfest.com/essays/json.html)
|
||||
|
||||
[Douglas Crockford](http://www.crockford.com/) of course designed and built
|
||||
JSON, but his state machine diagrams on the [JSON website](http://json.org/), as
|
||||
cheesy as it may sound, gave us motivation and confidence that building a new
|
||||
parser to implement these ideas was within reach! The original
|
||||
implementation of JSON5 was also modeled directly off of Doug’s open-source
|
||||
[json_parse.js] parser. We’re grateful for that clean and well-documented
|
||||
code.
|
||||
|
||||
[json_parse.js]:
|
||||
https://github.com/douglascrockford/JSON-js/blob/master/json_parse.js
|
||||
|
||||
[Max Nanasy](https://github.com/MaxNanasy) has been an early and prolific
|
||||
supporter, contributing multiple patches and ideas.
|
||||
|
||||
[Andrew Eisenberg](https://github.com/aeisenberg) contributed the original
|
||||
`stringify` method.
|
||||
|
||||
[Jordan Tucker](https://github.com/jordanbtucker) has aligned JSON5 more closely
|
||||
with ES5, wrote the official JSON5 specification, completely rewrote the
|
||||
codebase from the ground up, and is actively maintaining this project.
|
||||
-1
File diff suppressed because one or more lines are too long
-2
@@ -1,2 +0,0 @@
|
||||
#!/usr/bin/env node
|
||||
'use strict';var _fs=require('fs');var _fs2=_interopRequireDefault(_fs);var _path=require('path');var _path2=_interopRequireDefault(_path);var _minimist=require('minimist');var _minimist2=_interopRequireDefault(_minimist);var _package=require('../package.json');var _package2=_interopRequireDefault(_package);var _=require('./');var _2=_interopRequireDefault(_);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var argv=(0,_minimist2.default)(process.argv.slice(2),{alias:{'convert':'c','space':'s','validate':'v','out-file':'o','version':'V','help':'h'},boolean:['convert','validate','version','help'],string:['space','out-file']});if(argv.version){version()}else if(argv.help){usage()}else{var inFilename=argv._[0];var readStream=void 0;if(inFilename){readStream=_fs2.default.createReadStream(inFilename)}else{readStream=process.stdin}var json5='';readStream.on('data',function(data){json5+=data});readStream.on('end',function(){var space=void 0;if(argv.space==='t'||argv.space==='tab'){space='\t'}else{space=Number(argv.space)}var value=void 0;try{value=_2.default.parse(json5);if(!argv.validate){var json=JSON.stringify(value,null,space);var writeStream=void 0;if(argv.convert&&inFilename&&!argv.o){var parsedFilename=_path2.default.parse(inFilename);var outFilename=_path2.default.format(Object.assign(parsedFilename,{base:_path2.default.basename(parsedFilename.base,parsedFilename.ext)+'.json'}));writeStream=_fs2.default.createWriteStream(outFilename)}else if(argv.o){writeStream=_fs2.default.createWriteStream(argv.o)}else{writeStream=process.stdout}writeStream.write(json)}}catch(err){console.error(err.message);process.exit(1)}})}function version(){console.log(_package2.default.version)}function usage(){console.log('\n Usage: json5 [options] <file>\n\n If <file> is not provided, then STDIN is used.\n\n Options:\n\n -s, --space The number of spaces to indent or \'t\' for tabs\n -o, --out-file [file] Output to the specified file, otherwise STDOUT\n -v, --validate Validate JSON5 but do not output JSON\n -V, --version Output the version number\n -h, --help Output usage information')}
|
||||
-1
@@ -1 +0,0 @@
|
||||
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var _parse=require('./parse');var _parse2=_interopRequireDefault(_parse);var _stringify=require('./stringify');var _stringify2=_interopRequireDefault(_stringify);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default={parse:_parse2.default,stringify:_stringify2.default};module.exports=exports['default'];
|
||||
-1
File diff suppressed because one or more lines are too long
-1
@@ -1 +0,0 @@
|
||||
'use strict';var _fs=require('fs');var _fs2=_interopRequireDefault(_fs);var _=require('./');var _2=_interopRequireDefault(_);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}require.extensions['.json5']=function(module,filename){var content=_fs2.default.readFileSync(filename,'utf8');try{module.exports=_2.default.parse(content)}catch(err){err.message=filename+': '+err.message;throw err}};
|
||||
-1
@@ -1 +0,0 @@
|
||||
"use strict";require("./register");console.warn("'json5/require' is deprecated. Please use 'json5/register' instead.");
|
||||
-1
File diff suppressed because one or more lines are too long
-1
File diff suppressed because one or more lines are too long
-1
@@ -1 +0,0 @@
|
||||
'use strict';Object.defineProperty(exports,'__esModule',{value:true});exports.isSpaceSeparator=isSpaceSeparator;exports.isIdStartChar=isIdStartChar;exports.isIdContinueChar=isIdContinueChar;exports.isDigit=isDigit;exports.isHexDigit=isHexDigit;var _unicode=require('../lib/unicode');var unicode=_interopRequireWildcard(_unicode);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key]}}newObj.default=obj;return newObj}}function isSpaceSeparator(c){return unicode.Space_Separator.test(c)}function isIdStartChar(c){return c>='a'&&c<='z'||c>='A'&&c<='Z'||c==='$'||c==='_'||unicode.ID_Start.test(c)}function isIdContinueChar(c){return c>='a'&&c<='z'||c>='A'&&c<='Z'||c>='0'&&c<='9'||c==='$'||c==='_'||c==='\u200C'||c==='\u200D'||unicode.ID_Continue.test(c)}function isDigit(c){return /[0-9]/.test(c)}function isHexDigit(c){return /[0-9A-Fa-f]/.test(c)}
|
||||
-76
@@ -1,76 +0,0 @@
|
||||
{
|
||||
"name": "json5",
|
||||
"version": "1.0.2",
|
||||
"description": "JSON for humans.",
|
||||
"main": "lib/index.js",
|
||||
"bin": "lib/cli.js",
|
||||
"browser": "dist/index.js",
|
||||
"files": [
|
||||
"lib/",
|
||||
"dist/"
|
||||
],
|
||||
"scripts": {
|
||||
"build": "babel-node build/build.js && babel src -d lib && rollup -c",
|
||||
"coverage": "nyc report --reporter=text-lcov | coveralls",
|
||||
"lint": "eslint --fix build src",
|
||||
"prepublishOnly": "npm run lint && npm test && npm run production",
|
||||
"pretest": "cross-env NODE_ENV=test npm run build",
|
||||
"preversion": "npm run lint && npm test && npm run production",
|
||||
"production": "cross-env NODE_ENV=production npm run build",
|
||||
"test": "nyc --reporter=html --reporter=text mocha"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/json5/json5.git"
|
||||
},
|
||||
"keywords": [
|
||||
"json",
|
||||
"json5",
|
||||
"es5",
|
||||
"es2015",
|
||||
"ecmascript"
|
||||
],
|
||||
"author": "Aseem Kishore <aseem.kishore@gmail.com>",
|
||||
"contributors": [
|
||||
"Max Nanasy <max.nanasy@gmail.com>",
|
||||
"Andrew Eisenberg <andrew@eisenberg.as>",
|
||||
"Jordan Tucker <jordanbtucker@gmail.com>"
|
||||
],
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/json5/json5/issues"
|
||||
},
|
||||
"homepage": "http://json5.org/",
|
||||
"dependencies": {
|
||||
"minimist": "^1.2.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"babel-cli": "^6.26.0",
|
||||
"babel-core": "^6.26.0",
|
||||
"babel-plugin-add-module-exports": "^0.2.1",
|
||||
"babel-plugin-external-helpers": "^6.22.0",
|
||||
"babel-plugin-istanbul": "^4.1.5",
|
||||
"babel-preset-env": "^1.6.1",
|
||||
"babel-register": "^6.26.0",
|
||||
"babelrc-rollup": "^3.0.0",
|
||||
"coveralls": "^3.0.0",
|
||||
"cross-env": "^5.1.4",
|
||||
"del": "^3.0.0",
|
||||
"eslint": "^4.18.2",
|
||||
"eslint-config-standard": "^11.0.0",
|
||||
"eslint-plugin-import": "^2.9.0",
|
||||
"eslint-plugin-node": "^6.0.1",
|
||||
"eslint-plugin-promise": "^3.7.0",
|
||||
"eslint-plugin-standard": "^3.0.1",
|
||||
"mocha": "^5.0.4",
|
||||
"nyc": "^11.4.1",
|
||||
"regenerate": "^1.3.3",
|
||||
"rollup": "^0.56.5",
|
||||
"rollup-plugin-babel": "^3.0.3",
|
||||
"rollup-plugin-commonjs": "^9.0.0",
|
||||
"rollup-plugin-node-resolve": "^3.2.0",
|
||||
"rollup-plugin-uglify": "^3.0.0",
|
||||
"sinon": "^4.4.2",
|
||||
"unicode-9.0.0": "^0.7.5"
|
||||
}
|
||||
}
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
Copyright JS Foundation and other 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.
|
||||
-275
@@ -1,275 +0,0 @@
|
||||
# loader-utils
|
||||
|
||||
## Methods
|
||||
|
||||
### `getOptions`
|
||||
|
||||
Recommended way to retrieve the options of a loader invocation:
|
||||
|
||||
```javascript
|
||||
// inside your loader
|
||||
const options = loaderUtils.getOptions(this);
|
||||
```
|
||||
|
||||
1. If `this.query` is a string:
|
||||
- Tries to parse the query string and returns a new object
|
||||
- Throws if it's not a valid query string
|
||||
2. If `this.query` is object-like, it just returns `this.query`
|
||||
3. In any other case, it just returns `null`
|
||||
|
||||
**Please note:** The returned `options` object is *read-only*. It may be re-used across multiple invocations.
|
||||
If you pass it on to another library, make sure to make a *deep copy* of it:
|
||||
|
||||
```javascript
|
||||
const options = Object.assign(
|
||||
{},
|
||||
defaultOptions,
|
||||
loaderUtils.getOptions(this) // it is safe to pass null to Object.assign()
|
||||
);
|
||||
// don't forget nested objects or arrays
|
||||
options.obj = Object.assign({}, options.obj);
|
||||
options.arr = options.arr.slice();
|
||||
someLibrary(options);
|
||||
```
|
||||
|
||||
[clone](https://www.npmjs.com/package/clone) is a good library to make a deep copy of the options.
|
||||
|
||||
#### Options as query strings
|
||||
|
||||
If the loader options have been passed as loader query string (`loader?some¶ms`), the string is parsed by using [`parseQuery`](#parsequery).
|
||||
|
||||
### `parseQuery`
|
||||
|
||||
Parses a passed string (e.g. `loaderContext.resourceQuery`) as a query string, and returns an object.
|
||||
|
||||
``` javascript
|
||||
const params = loaderUtils.parseQuery(this.resourceQuery); // resource: `file?param1=foo`
|
||||
if (params.param1 === "foo") {
|
||||
// do something
|
||||
}
|
||||
```
|
||||
|
||||
The string is parsed like this:
|
||||
|
||||
``` text
|
||||
-> Error
|
||||
? -> {}
|
||||
?flag -> { flag: true }
|
||||
?+flag -> { flag: true }
|
||||
?-flag -> { flag: false }
|
||||
?xyz=test -> { xyz: "test" }
|
||||
?xyz=1 -> { xyz: "1" } // numbers are NOT parsed
|
||||
?xyz[]=a -> { xyz: ["a"] }
|
||||
?flag1&flag2 -> { flag1: true, flag2: true }
|
||||
?+flag1,-flag2 -> { flag1: true, flag2: false }
|
||||
?xyz[]=a,xyz[]=b -> { xyz: ["a", "b"] }
|
||||
?a%2C%26b=c%2C%26d -> { "a,&b": "c,&d" }
|
||||
?{data:{a:1},isJSON5:true} -> { data: { a: 1 }, isJSON5: true }
|
||||
```
|
||||
|
||||
### `stringifyRequest`
|
||||
|
||||
Turns a request into a string that can be used inside `require()` or `import` while avoiding absolute paths.
|
||||
Use it instead of `JSON.stringify(...)` if you're generating code inside a loader.
|
||||
|
||||
**Why is this necessary?** Since webpack calculates the hash before module paths are translated into module ids, we must avoid absolute paths to ensure
|
||||
consistent hashes across different compilations.
|
||||
|
||||
This function:
|
||||
|
||||
- resolves absolute requests into relative requests if the request and the module are on the same hard drive
|
||||
- replaces `\` with `/` if the request and the module are on the same hard drive
|
||||
- won't change the path at all if the request and the module are on different hard drives
|
||||
- applies `JSON.stringify` to the result
|
||||
|
||||
```javascript
|
||||
loaderUtils.stringifyRequest(this, "./test.js");
|
||||
// "\"./test.js\""
|
||||
|
||||
loaderUtils.stringifyRequest(this, ".\\test.js");
|
||||
// "\"./test.js\""
|
||||
|
||||
loaderUtils.stringifyRequest(this, "test");
|
||||
// "\"test\""
|
||||
|
||||
loaderUtils.stringifyRequest(this, "test/lib/index.js");
|
||||
// "\"test/lib/index.js\""
|
||||
|
||||
loaderUtils.stringifyRequest(this, "otherLoader?andConfig!test?someConfig");
|
||||
// "\"otherLoader?andConfig!test?someConfig\""
|
||||
|
||||
loaderUtils.stringifyRequest(this, require.resolve("test"));
|
||||
// "\"../node_modules/some-loader/lib/test.js\""
|
||||
|
||||
loaderUtils.stringifyRequest(this, "C:\\module\\test.js");
|
||||
// "\"../../test.js\"" (on Windows, in case the module and the request are on the same drive)
|
||||
|
||||
loaderUtils.stringifyRequest(this, "C:\\module\\test.js");
|
||||
// "\"C:\\module\\test.js\"" (on Windows, in case the module and the request are on different drives)
|
||||
|
||||
loaderUtils.stringifyRequest(this, "\\\\network-drive\\test.js");
|
||||
// "\"\\\\network-drive\\\\test.js\"" (on Windows, in case the module and the request are on different drives)
|
||||
```
|
||||
|
||||
### `urlToRequest`
|
||||
|
||||
Converts some resource URL to a webpack module request.
|
||||
|
||||
> i Before call `urlToRequest` you need call `isUrlRequest` to ensure it is requestable url
|
||||
|
||||
```javascript
|
||||
const url = "path/to/module.js";
|
||||
|
||||
if (loaderUtils.isUrlRequest(url)) {
|
||||
// Logic for requestable url
|
||||
const request = loaderUtils.urlToRequest(url);
|
||||
} else {
|
||||
// Logic for not requestable url
|
||||
}
|
||||
```
|
||||
|
||||
Simple example:
|
||||
|
||||
```javascript
|
||||
const url = "path/to/module.js";
|
||||
const request = loaderUtils.urlToRequest(url); // "./path/to/module.js"
|
||||
```
|
||||
|
||||
#### Module URLs
|
||||
|
||||
Any URL containing a `~` will be interpreted as a module request. Anything after the `~` will be considered the request path.
|
||||
|
||||
```javascript
|
||||
const url = "~path/to/module.js";
|
||||
const request = loaderUtils.urlToRequest(url); // "path/to/module.js"
|
||||
```
|
||||
|
||||
#### Root-relative URLs
|
||||
|
||||
URLs that are root-relative (start with `/`) can be resolved relative to some arbitrary path by using the `root` parameter:
|
||||
|
||||
```javascript
|
||||
const url = "/path/to/module.js";
|
||||
const root = "./root";
|
||||
const request = loaderUtils.urlToRequest(url, root); // "./root/path/to/module.js"
|
||||
```
|
||||
|
||||
To convert a root-relative URL into a module URL, specify a `root` value that starts with `~`:
|
||||
|
||||
```javascript
|
||||
const url = "/path/to/module.js";
|
||||
const root = "~";
|
||||
const request = loaderUtils.urlToRequest(url, root); // "path/to/module.js"
|
||||
```
|
||||
|
||||
### `interpolateName`
|
||||
|
||||
Interpolates a filename template using multiple placeholders and/or a regular expression.
|
||||
The template and regular expression are set as query params called `name` and `regExp` on the current loader's context.
|
||||
|
||||
```javascript
|
||||
const interpolatedName = loaderUtils.interpolateName(loaderContext, name, options);
|
||||
```
|
||||
|
||||
The following tokens are replaced in the `name` parameter:
|
||||
|
||||
* `[ext]` the extension of the resource
|
||||
* `[name]` the basename of the resource
|
||||
* `[path]` the path of the resource relative to the `context` query parameter or option.
|
||||
* `[folder]` the folder the resource is in
|
||||
* `[query]` the queryof the resource, i.e. `?foo=bar`
|
||||
* `[emoji]` a random emoji representation of `options.content`
|
||||
* `[emoji:<length>]` same as above, but with a customizable number of emojis
|
||||
* `[contenthash]` the hash of `options.content` (Buffer) (by default it's the hex digest of the md5 hash)
|
||||
* `[<hashType>:contenthash:<digestType>:<length>]` optionally one can configure
|
||||
* other `hashType`s, i. e. `sha1`, `md5`, `sha256`, `sha512`
|
||||
* other `digestType`s, i. e. `hex`, `base26`, `base32`, `base36`, `base49`, `base52`, `base58`, `base62`, `base64`
|
||||
* and `length` the length in chars
|
||||
* `[hash]` the hash of `options.content` (Buffer) (by default it's the hex digest of the md5 hash)
|
||||
* `[<hashType>:hash:<digestType>:<length>]` optionally one can configure
|
||||
* other `hashType`s, i. e. `sha1`, `md5`, `sha256`, `sha512`
|
||||
* other `digestType`s, i. e. `hex`, `base26`, `base32`, `base36`, `base49`, `base52`, `base58`, `base62`, `base64`
|
||||
* and `length` the length in chars
|
||||
* `[N]` the N-th match obtained from matching the current file name against `options.regExp`
|
||||
|
||||
In loader context `[hash]` and `[contenthash]` are the same, but we recommend using `[contenthash]` for avoid misleading.
|
||||
|
||||
Examples
|
||||
|
||||
``` javascript
|
||||
// loaderContext.resourcePath = "/absolute/path/to/app/js/javascript.js"
|
||||
loaderUtils.interpolateName(loaderContext, "js/[hash].script.[ext]", { content: ... });
|
||||
// => js/9473fdd0d880a43c21b7778d34872157.script.js
|
||||
|
||||
// loaderContext.resourcePath = "/absolute/path/to/app/js/javascript.js"
|
||||
// loaderContext.resourceQuery = "?foo=bar"
|
||||
loaderUtils.interpolateName(loaderContext, "js/[hash].script.[ext][query]", { content: ... });
|
||||
// => js/9473fdd0d880a43c21b7778d34872157.script.js?foo=bar
|
||||
|
||||
// loaderContext.resourcePath = "/absolute/path/to/app/js/javascript.js"
|
||||
loaderUtils.interpolateName(loaderContext, "js/[contenthash].script.[ext]", { content: ... });
|
||||
// => js/9473fdd0d880a43c21b7778d34872157.script.js
|
||||
|
||||
// loaderContext.resourcePath = "/absolute/path/to/app/page.html"
|
||||
loaderUtils.interpolateName(loaderContext, "html-[hash:6].html", { content: ... });
|
||||
// => html-9473fd.html
|
||||
|
||||
// loaderContext.resourcePath = "/absolute/path/to/app/flash.txt"
|
||||
loaderUtils.interpolateName(loaderContext, "[hash]", { content: ... });
|
||||
// => c31e9820c001c9c4a86bce33ce43b679
|
||||
|
||||
// loaderContext.resourcePath = "/absolute/path/to/app/img/image.gif"
|
||||
loaderUtils.interpolateName(loaderContext, "[emoji]", { content: ... });
|
||||
// => 👍
|
||||
|
||||
// loaderContext.resourcePath = "/absolute/path/to/app/img/image.gif"
|
||||
loaderUtils.interpolateName(loaderContext, "[emoji:4]", { content: ... });
|
||||
// => 🙍🏢📤🐝
|
||||
|
||||
// loaderContext.resourcePath = "/absolute/path/to/app/img/image.png"
|
||||
loaderUtils.interpolateName(loaderContext, "[sha512:hash:base64:7].[ext]", { content: ... });
|
||||
// => 2BKDTjl.png
|
||||
// use sha512 hash instead of md5 and with only 7 chars of base64
|
||||
|
||||
// loaderContext.resourcePath = "/absolute/path/to/app/img/myself.png"
|
||||
// loaderContext.query.name =
|
||||
loaderUtils.interpolateName(loaderContext, "picture.png");
|
||||
// => picture.png
|
||||
|
||||
// loaderContext.resourcePath = "/absolute/path/to/app/dir/file.png"
|
||||
loaderUtils.interpolateName(loaderContext, "[path][name].[ext]?[hash]", { content: ... });
|
||||
// => /app/dir/file.png?9473fdd0d880a43c21b7778d34872157
|
||||
|
||||
// loaderContext.resourcePath = "/absolute/path/to/app/js/page-home.js"
|
||||
loaderUtils.interpolateName(loaderContext, "script-[1].[ext]", { regExp: "page-(.*)\\.js", content: ... });
|
||||
// => script-home.js
|
||||
|
||||
// loaderContext.resourcePath = "/absolute/path/to/app/js/javascript.js"
|
||||
// loaderContext.resourceQuery = "?foo=bar"
|
||||
loaderUtils.interpolateName(
|
||||
loaderContext,
|
||||
(resourcePath, resourceQuery) => {
|
||||
// resourcePath - `/app/js/javascript.js`
|
||||
// resourceQuery - `?foo=bar`
|
||||
|
||||
return "js/[hash].script.[ext]";
|
||||
},
|
||||
{ content: ... }
|
||||
);
|
||||
// => js/9473fdd0d880a43c21b7778d34872157.script.js
|
||||
```
|
||||
|
||||
### `getHashDigest`
|
||||
|
||||
``` javascript
|
||||
const digestString = loaderUtils.getHashDigest(buffer, hashType, digestType, maxLength);
|
||||
```
|
||||
|
||||
* `buffer` the content that should be hashed
|
||||
* `hashType` one of `sha1`, `md5`, `sha256`, `sha512` or any other node.js supported hash type
|
||||
* `digestType` one of `hex`, `base26`, `base32`, `base36`, `base49`, `base52`, `base58`, `base62`, `base64`
|
||||
* `maxLength` the maximum length in chars
|
||||
|
||||
## License
|
||||
|
||||
MIT (http://www.opensource.org/licenses/mit-license.php)
|
||||
Generated
Vendored
-16
@@ -1,16 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
function getCurrentRequest(loaderContext) {
|
||||
if (loaderContext.currentRequest) {
|
||||
return loaderContext.currentRequest;
|
||||
}
|
||||
|
||||
const request = loaderContext.loaders
|
||||
.slice(loaderContext.loaderIndex)
|
||||
.map((obj) => obj.request)
|
||||
.concat([loaderContext.resource]);
|
||||
|
||||
return request.join('!');
|
||||
}
|
||||
|
||||
module.exports = getCurrentRequest;
|
||||
-69
@@ -1,69 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
const baseEncodeTables = {
|
||||
26: 'abcdefghijklmnopqrstuvwxyz',
|
||||
32: '123456789abcdefghjkmnpqrstuvwxyz', // no 0lio
|
||||
36: '0123456789abcdefghijklmnopqrstuvwxyz',
|
||||
49: 'abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ', // no lIO
|
||||
52: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
|
||||
58: '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ', // no 0lIO
|
||||
62: '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
|
||||
64: '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_',
|
||||
};
|
||||
|
||||
function encodeBufferToBase(buffer, base) {
|
||||
const encodeTable = baseEncodeTables[base];
|
||||
if (!encodeTable) {
|
||||
throw new Error('Unknown encoding base' + base);
|
||||
}
|
||||
|
||||
const readLength = buffer.length;
|
||||
const Big = require('big.js');
|
||||
|
||||
Big.RM = Big.DP = 0;
|
||||
let b = new Big(0);
|
||||
|
||||
for (let i = readLength - 1; i >= 0; i--) {
|
||||
b = b.times(256).plus(buffer[i]);
|
||||
}
|
||||
|
||||
let output = '';
|
||||
while (b.gt(0)) {
|
||||
output = encodeTable[b.mod(base)] + output;
|
||||
b = b.div(base);
|
||||
}
|
||||
|
||||
Big.DP = 20;
|
||||
Big.RM = 1;
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
function getHashDigest(buffer, hashType, digestType, maxLength) {
|
||||
hashType = hashType || 'md5';
|
||||
maxLength = maxLength || 9999;
|
||||
|
||||
const hash = require('crypto').createHash(hashType);
|
||||
|
||||
hash.update(buffer);
|
||||
|
||||
if (
|
||||
digestType === 'base26' ||
|
||||
digestType === 'base32' ||
|
||||
digestType === 'base36' ||
|
||||
digestType === 'base49' ||
|
||||
digestType === 'base52' ||
|
||||
digestType === 'base58' ||
|
||||
digestType === 'base62' ||
|
||||
digestType === 'base64'
|
||||
) {
|
||||
return encodeBufferToBase(hash.digest(), digestType.substr(4)).substr(
|
||||
0,
|
||||
maxLength
|
||||
);
|
||||
} else {
|
||||
return hash.digest(digestType || 'hex').substr(0, maxLength);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = getHashDigest;
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
const parseQuery = require('./parseQuery');
|
||||
|
||||
function getOptions(loaderContext) {
|
||||
const query = loaderContext.query;
|
||||
|
||||
if (typeof query === 'string' && query !== '') {
|
||||
return parseQuery(loaderContext.query);
|
||||
}
|
||||
|
||||
if (!query || typeof query !== 'object') {
|
||||
// Not object-like queries are not supported.
|
||||
return null;
|
||||
}
|
||||
|
||||
return query;
|
||||
}
|
||||
|
||||
module.exports = getOptions;
|
||||
Generated
Vendored
-16
@@ -1,16 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
function getRemainingRequest(loaderContext) {
|
||||
if (loaderContext.remainingRequest) {
|
||||
return loaderContext.remainingRequest;
|
||||
}
|
||||
|
||||
const request = loaderContext.loaders
|
||||
.slice(loaderContext.loaderIndex + 1)
|
||||
.map((obj) => obj.request)
|
||||
.concat([loaderContext.resource]);
|
||||
|
||||
return request.join('!');
|
||||
}
|
||||
|
||||
module.exports = getRemainingRequest;
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user