From ae111393f2e14504de78613f9e85431b3f8af748 Mon Sep 17 00:00:00 2001 From: "Sean G. Wright" Date: Fri, 25 Oct 2019 04:04:27 -0400 Subject: [PATCH 001/812] Update migrating-from-v3 README typo (#4746) Changed `--sav-dev` to `--save-dev` --- docs/migrating-from-v3/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/migrating-from-v3/README.md b/docs/migrating-from-v3/README.md index e69227c3d2..df7a64ca48 100644 --- a/docs/migrating-from-v3/README.md +++ b/docs/migrating-from-v3/README.md @@ -224,7 +224,7 @@ It now requires `eslint`, `eslint-plugin-prettier` and `prettier` as peer depend For older projects, if you encountered issues like `Cannot find module: eslint-plugin-prettier`, please run the following command to fix it: ```sh -npm install --sav-dev eslint@5 @vue/eslint-config-prettier@5 eslint-plugin-prettier prettier +npm install --save-dev eslint@5 @vue/eslint-config-prettier@5 eslint-plugin-prettier prettier ``` ------ From 6347fd26600d66cdd03eec5027c41e7b76d88f41 Mon Sep 17 00:00:00 2001 From: arnaudvalle Date: Sat, 26 Oct 2019 09:54:30 +0200 Subject: [PATCH 002/812] docs: specify default entryFile value for serve command (#4758) --- docs/guide/cli-service.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/cli-service.md b/docs/guide/cli-service.md index 1a4ba4560b..e0502a00e7 100644 --- a/docs/guide/cli-service.md +++ b/docs/guide/cli-service.md @@ -63,7 +63,7 @@ The `vue-cli-service serve` command starts a dev server (based on [webpack-dev-s In addition to the command line flags, you can also configure the dev server using the [devServer](../config/#devserver) field in `vue.config.js`. -`[entry]` in the CLI command is defined as *the entry file*, not *an additional entry file*. If you overwrite the entry in the CLI, then the entries from `config.pages` are no longer considered, which may cause an error. +`[entry]` in the CLI command is defined as *the entry file*, not *an additional entry file*. If you overwrite the entry in the CLI, then the entries from `config.pages` are no longer considered, which may cause an error. Defaults to [entryFile](../dev-guide/generator-api.html#entryfile). ## vue-cli-service build From 77384eced81180b4c39d377d1bfdeeacf1886670 Mon Sep 17 00:00:00 2001 From: Yoshiaki Itakura Date: Wed, 6 Nov 2019 23:14:28 +0900 Subject: [PATCH 003/812] fix docs `css.loaderOptions.css.localsConvention` (#4803) Moved 'localsConvention' to the same level as 'modules'. --- docs/guide/css.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/guide/css.md b/docs/guide/css.md index aac1986dbf..638633c34b 100644 --- a/docs/guide/css.md +++ b/docs/guide/css.md @@ -112,9 +112,9 @@ module.exports = { // For Vue CLI v3 users, please refer to css-loader v1 documentations // https://github.com/webpack-contrib/css-loader/tree/v1.0.1 modules: { - localIdentName: '[name]-[hash]', - localsConvention: 'camelCaseOnly' - } + localIdentName: '[name]-[hash]' + }, + localsConvention: 'camelCaseOnly' } } } From d4bd9c644fbb563f6c9750143ac70c94a95a2b45 Mon Sep 17 00:00:00 2001 From: gregoiredx Date: Thu, 7 Nov 2019 06:17:48 +0100 Subject: [PATCH 004/812] use gitlab CI env variable for project name (#4716) * use gitlab CI env variable for project name * add explanation on CI_PROJECT_NAME env var * docs: gzip support in GitLab Pages --- docs/guide/deployment.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/guide/deployment.md b/docs/guide/deployment.md index cbf32e1efe..be568a1a04 100644 --- a/docs/guide/deployment.md +++ b/docs/guide/deployment.md @@ -130,6 +130,8 @@ pages: # the job must be named pages - npm run build - mv public public-vue # GitLab Pages hooks on the public folder - mv dist public # rename the dist folder (result of npm run build) + # optionally, you can activate gzip support wih the following line: + - find public -type f -regex '.*\.\(htm\|html\|txt\|text\|js\|css\)$' -exec gzip -f -k {} \; artifacts: paths: - public # artifact path must be /public for GitLab Pages to pick it up @@ -137,15 +139,15 @@ pages: # the job must be named pages - master ``` -Typically, your static website will be hosted on https://yourUserName.gitlab.io/yourProjectName, so you will also want to create an initial `vue.config.js` file to [update the `BASE_URL`](https://github.com/vuejs/vue-cli/tree/dev/docs/config#baseurl) value to match: +Typically, your static website will be hosted on https://yourUserName.gitlab.io/yourProjectName, so you will also want to create an initial `vue.config.js` file to [update the `BASE_URL`](https://github.com/vuejs/vue-cli/tree/dev/docs/config#baseurl) value to match your project name (the [`CI_PROJECT_NAME` environment variable](https://docs.gitlab.com/ee/ci/variables/predefined_variables.html) contains this value): + ```javascript // vue.config.js file to be place in the root of your repository -// make sure you update `yourProjectName` with the name of your GitLab project module.exports = { publicPath: process.env.NODE_ENV === 'production' - ? '/yourProjectName/' + ? '/' + process.env.CI_PROJECT_NAME + '/' : '/' } ``` From 30f72420e273df5efc2829b9f10064a1bdeadad0 Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Fri, 8 Nov 2019 22:03:37 +0800 Subject: [PATCH 005/812] fix: `vue add` should not crash when executed under Yarn PnP TODO: should fix `loadModule` in PnP environment --- packages/@vue/cli/lib/add.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@vue/cli/lib/add.js b/packages/@vue/cli/lib/add.js index a2a3368013..d00afb2e12 100644 --- a/packages/@vue/cli/lib/add.js +++ b/packages/@vue/cli/lib/add.js @@ -20,7 +20,7 @@ async function add (pluginName, options = {}, context = process.cwd()) { // for `vue add` command in 3.x projects const servicePkg = loadModule('@vue/cli-service/package.json', context) - if (semver.satisfies(servicePkg.version, '3.x')) { + if (servicePkg && semver.satisfies(servicePkg.version, '3.x')) { // special internal "plugins" if (/^(@vue\/)?router$/.test(pluginName)) { return addRouter(context) From 1124b62bdd9f5e9d1930fa210fec0e2287da2f9e Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Fri, 8 Nov 2019 23:25:29 +0800 Subject: [PATCH 006/812] fix: `vue add` should not throw if plugin has no generator The bug was introduced in #2337. --- packages/@vue/cli/lib/add.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/@vue/cli/lib/add.js b/packages/@vue/cli/lib/add.js index d00afb2e12..2e92cbd51c 100644 --- a/packages/@vue/cli/lib/add.js +++ b/packages/@vue/cli/lib/add.js @@ -2,7 +2,7 @@ const chalk = require('chalk') const semver = require('semver') const invoke = require('./invoke') const inquirer = require('inquirer') -const { loadModule } = require('@vue/cli-shared-utils') +const { resolveModule, loadModule } = require('@vue/cli-shared-utils') const PackageManager = require('./util/ProjectPackageManager') const { @@ -48,7 +48,12 @@ async function add (pluginName, options = {}, context = process.cwd()) { log(`${chalk.green('✔')} Successfully installed plugin: ${chalk.cyan(packageName)}`) log() - invoke(pluginName, options, context) + const generatorPath = resolveModule(`${packageName}/generator`, context) + if (generatorPath) { + invoke(pluginName, options, context) + } else { + log(`Plugin ${packageName} does not have a generator to invoke`) + } } module.exports = (...args) => { From 63257931bccbd74638cb0a96241c7d9c87457b8e Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Sat, 9 Nov 2019 15:07:39 +0800 Subject: [PATCH 007/812] fix: don't prepend publicPath with slash (#4816) fixes #3338 fixes #4184 Actually I don't know why the slash was added in the first place, seems extraneous to me. --- packages/@vue/cli-service/__tests__/Service.spec.js | 10 ++++++++++ packages/@vue/cli-service/lib/Service.js | 5 +---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/packages/@vue/cli-service/__tests__/Service.spec.js b/packages/@vue/cli-service/__tests__/Service.spec.js index e11de4658a..f145090c92 100644 --- a/packages/@vue/cli-service/__tests__/Service.spec.js +++ b/packages/@vue/cli-service/__tests__/Service.spec.js @@ -104,6 +104,16 @@ test('normalize publicPath when relative', () => { expect(service.projectOptions.publicPath).toBe('foo/bar/') }) +test('allow custom protocol in publicPath', () => { + mockPkg({ + vue: { + publicPath: 'customprotocol://foo/bar' + } + }) + const service = createMockService() + expect(service.projectOptions.publicPath).toBe('customprotocol://foo/bar/') +}) + test('keep publicPath when empty', () => { mockPkg({ vue: { diff --git a/packages/@vue/cli-service/lib/Service.js b/packages/@vue/cli-service/lib/Service.js index 525a00faac..e055b0a2fb 100644 --- a/packages/@vue/cli-service/lib/Service.js +++ b/packages/@vue/cli-service/lib/Service.js @@ -395,11 +395,8 @@ module.exports = class Service { } function ensureSlash (config, key) { - let val = config[key] + const val = config[key] if (typeof val === 'string') { - if (!/^https?:/.test(val)) { - val = val.replace(/^([^/.])/, '/$1') - } config[key] = val.replace(/([^/])$/, '$1/') } } From c8392f12dc4eba1ffd2cc8b4267a0d85b389a829 Mon Sep 17 00:00:00 2001 From: Jan Van Bruggen Date: Sat, 9 Nov 2019 00:11:47 -0700 Subject: [PATCH 008/812] Add missing cli-ui dependencies (#4818) Add missing `cli-ui/` dependencies that overlap with the root`/package.json`. Although `cli-ui/` does work if `yarn install` has been run at the root directory, `cli-ui/package.json` is an incomplete specification. --- packages/@vue/cli-ui/package.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/@vue/cli-ui/package.json b/packages/@vue/cli-ui/package.json index b544b28437..27c117b2ad 100644 --- a/packages/@vue/cli-ui/package.json +++ b/packages/@vue/cli-ui/package.json @@ -74,10 +74,12 @@ "ansi_up": "^3.0.0", "apollo-client": "^2.6.0", "apollo-link": "^1.0.0", + "babel-eslint": "^10.0.3", "core-js": "^3.3.2", "cross-env": "^6.0.3", "eslint": "^5.16.0", "eslint-plugin-graphql": "^3.1.0", + "eslint-plugin-vue": "^5.2.2", "lint-staged": "^9.4.2", "lodash.debounce": "^4.0.8", "portal-vue": "^1.3.0", From 8cb5a637ab1867487ce5033a1d7d859ec2590995 Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Sat, 9 Nov 2019 17:47:39 +0800 Subject: [PATCH 009/812] workflow: don't skip version prompt for local release [ci skip] --- scripts/release.js | 7 ------- 1 file changed, 7 deletions(-) diff --git a/scripts/release.js b/scripts/release.js index ec803f7515..35b5c16c75 100644 --- a/scripts/release.js +++ b/scripts/release.js @@ -41,13 +41,6 @@ const { syncDeps } = require('./syncDeps') // const { buildEditorConfig } = require('./buildEditorConfig') const cliOptions = minimist(process.argv) -if (cliOptions['local-registry']) { - inquirer.prompt = () => ({ - bump: 'minor', - yes: true - }) -} - const curVersion = require('../lerna.json').version const release = async () => { From d1c66d43d8df5d0421ef98e3b08f3212fe61efc5 Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Sat, 9 Nov 2019 21:43:43 +0800 Subject: [PATCH 010/812] workflow: should be able to publish to `next` dist-tag in local registry --- scripts/release.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/release.js b/scripts/release.js index 35b5c16c75..33d1e73e08 100644 --- a/scripts/release.js +++ b/scripts/release.js @@ -100,7 +100,7 @@ const release = async () => { : semver.diff(curVersion, version) let distTag = 'latest' - if (releaseType.startsWith('pre') && !cliOptions['local-registry']) { + if (releaseType.startsWith('pre')) { distTag = 'next' } From 3094ae623fde4a9684ad08e075b4ded1f9d6584f Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Sat, 9 Nov 2019 21:48:23 +0800 Subject: [PATCH 011/812] chore: pre release sync --- packages/@vue/cli-service/__tests__/Service.spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@vue/cli-service/__tests__/Service.spec.js b/packages/@vue/cli-service/__tests__/Service.spec.js index f145090c92..b99712c615 100644 --- a/packages/@vue/cli-service/__tests__/Service.spec.js +++ b/packages/@vue/cli-service/__tests__/Service.spec.js @@ -62,7 +62,7 @@ test('loading plugins from package.json', () => { mockPkg({ devDependencies: { 'bar': '^1.0.0', - '@vue/cli-plugin-babel': '^4.0.0', + '@vue/cli-plugin-babel': '^4.1.0-beta.0', 'vue-cli-plugin-foo': '^1.0.0' } }) From 1c41371a42d1e5c2d7c1213a4297dc899b9535e6 Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Sat, 9 Nov 2019 21:49:23 +0800 Subject: [PATCH 012/812] v4.1.0-beta.0 --- CHANGELOG.md | 38 +++++++++++++++++++ lerna.json | 2 +- packages/@vue/babel-preset-app/package.json | 2 +- packages/@vue/cli-init/package.json | 2 +- packages/@vue/cli-overlay/package.json | 2 +- packages/@vue/cli-plugin-babel/package.json | 6 +-- .../@vue/cli-plugin-e2e-cypress/package.json | 4 +- .../cli-plugin-e2e-nightwatch/package.json | 4 +- packages/@vue/cli-plugin-eslint/package.json | 4 +- packages/@vue/cli-plugin-pwa/package.json | 4 +- packages/@vue/cli-plugin-router/package.json | 6 +-- .../@vue/cli-plugin-typescript/package.json | 4 +- .../@vue/cli-plugin-unit-jest/package.json | 4 +- .../@vue/cli-plugin-unit-mocha/package.json | 4 +- packages/@vue/cli-plugin-vuex/package.json | 4 +- packages/@vue/cli-service-global/package.json | 10 ++--- packages/@vue/cli-service/package.json | 10 ++--- packages/@vue/cli-shared-utils/package.json | 2 +- packages/@vue/cli-test-utils/package.json | 2 +- .../@vue/cli-ui-addon-webpack/package.json | 8 ++-- .../@vue/cli-ui-addon-widgets/package.json | 8 ++-- packages/@vue/cli-ui/package.json | 12 +++--- packages/@vue/cli/package.json | 10 ++--- packages/vue-cli-version-marker/package.json | 4 +- 24 files changed, 97 insertions(+), 59 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 855dc7eb87..2e401e4189 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,42 @@ +## 4.1.0-beta.0 (2019-11-09) + +#### :rocket: New Features +* `@vue/cli` + * [#4715](https://github.com/vuejs/vue-cli/pull/4715) feat(GeneratorAPI): accept multiple arguments for the resolve method ([@sodatea](https://github.com/sodatea)) + * [#4767](https://github.com/vuejs/vue-cli/pull/4767) feat: support binary mirrors for taobao registry ([@sodatea](https://github.com/sodatea)) +* `@vue/cli-service`, `@vue/cli-ui-addon-webpack`, `@vue/cli-ui-addon-widgets`, `@vue/cli-ui`, `@vue/cli` + * [#4798](https://github.com/vuejs/vue-cli/pull/4798) feat: enable postcss+autoprefixer by default internally, reducing boilerplate ([@sodatea](https://github.com/sodatea)) + +#### :bug: Bug Fix +* `@vue/cli-service` + * [#4816](https://github.com/vuejs/vue-cli/pull/4816) fix: don't prepend publicPath with slash ([@sodatea](https://github.com/sodatea)) + * [#4809](https://github.com/vuejs/vue-cli/pull/4809) fix: fix build error when path contains space (Closes [#4667](https://github.com/vuejs/vue-cli/issues/4667)) ([@RSeidelsohn](https://github.com/RSeidelsohn)) +* `@vue/babel-preset-app` + * [#4797](https://github.com/vuejs/vue-cli/pull/4797) fix: add `sourceType: 'unambiguous'` to babel preset ([@sodatea](https://github.com/sodatea)) +* `@vue/babel-preset-app`, `@vue/cli-plugin-babel`, `@vue/cli-service` + * [#4777](https://github.com/vuejs/vue-cli/pull/4777) refactor: use babel overrides to transpile babel runtime helpers ([@sodatea](https://github.com/sodatea)) +* `@vue/babel-preset-app`, `@vue/cli-plugin-babel`, `@vue/cli-plugin-typescript`, `@vue/cli-service`, `@vue/cli-ui` + * [#4532](https://github.com/vuejs/vue-cli/pull/4532) Enforces require.resolve for loaders ([@arcanis](https://github.com/arcanis)) + +#### :memo: Documentation +* [#4760](https://github.com/vuejs/vue-cli/pull/4760) Add 'Browse plugins' link to header ([@Akryum](https://github.com/Akryum)) + +#### :house: Internal +* `@vue/cli-ui` + * [#4818](https://github.com/vuejs/vue-cli/pull/4818) Add missing cli-ui dependencies ([@JanCVanB](https://github.com/JanCVanB)) +* `@vue/babel-preset-app`, `@vue/cli-plugin-babel`, `@vue/cli-service` + * [#4777](https://github.com/vuejs/vue-cli/pull/4777) refactor: use babel overrides to transpile babel runtime helpers ([@sodatea](https://github.com/sodatea)) + +#### Committers: 5 +- Guillaume Chau ([@Akryum](https://github.com/Akryum)) +- Haoqun Jiang ([@sodatea](https://github.com/sodatea)) +- Jan Van Bruggen ([@JanCVanB](https://github.com/JanCVanB)) +- Maël Nison ([@arcanis](https://github.com/arcanis)) +- Roman Seidelsohn ([@RSeidelsohn](https://github.com/RSeidelsohn)) + + + ## 4.0.5 (2019-10-22) #### :bug: Bug Fix diff --git a/lerna.json b/lerna.json index c55b72e9dd..820859601d 100644 --- a/lerna.json +++ b/lerna.json @@ -1,7 +1,7 @@ { "npmClient": "yarn", "useWorkspaces": true, - "version": "4.0.5", + "version": "4.1.0-beta.0", "packages": [ "packages/@vue/babel-preset-app", "packages/@vue/cli*", diff --git a/packages/@vue/babel-preset-app/package.json b/packages/@vue/babel-preset-app/package.json index 7b7927835e..cb38785e4c 100644 --- a/packages/@vue/babel-preset-app/package.json +++ b/packages/@vue/babel-preset-app/package.json @@ -1,6 +1,6 @@ { "name": "@vue/babel-preset-app", - "version": "4.0.5", + "version": "4.1.0-beta.0", "description": "babel-preset-app for vue-cli", "main": "index.js", "publishConfig": { diff --git a/packages/@vue/cli-init/package.json b/packages/@vue/cli-init/package.json index 047495f7d6..d3d5625f50 100644 --- a/packages/@vue/cli-init/package.json +++ b/packages/@vue/cli-init/package.json @@ -1,6 +1,6 @@ { "name": "@vue/cli-init", - "version": "4.0.5", + "version": "4.1.0-beta.0", "description": "init addon for vue-cli", "main": "index.js", "publishConfig": { diff --git a/packages/@vue/cli-overlay/package.json b/packages/@vue/cli-overlay/package.json index b0076224c0..b593928a09 100644 --- a/packages/@vue/cli-overlay/package.json +++ b/packages/@vue/cli-overlay/package.json @@ -1,6 +1,6 @@ { "name": "@vue/cli-overlay", - "version": "4.0.5", + "version": "4.1.0-beta.0", "description": "error overlay & dev server middleware for vue-cli", "main": "dist/client.js", "files": [ diff --git a/packages/@vue/cli-plugin-babel/package.json b/packages/@vue/cli-plugin-babel/package.json index 742b2e899c..cfebf4edfc 100644 --- a/packages/@vue/cli-plugin-babel/package.json +++ b/packages/@vue/cli-plugin-babel/package.json @@ -1,6 +1,6 @@ { "name": "@vue/cli-plugin-babel", - "version": "4.0.5", + "version": "4.1.0-beta.0", "description": "babel plugin for vue-cli", "main": "index.js", "repository": { @@ -21,8 +21,8 @@ "homepage": "https://github.com/vuejs/vue-cli/tree/dev/packages/@vue/cli-plugin-babel#readme", "dependencies": { "@babel/core": "^7.6.4", - "@vue/babel-preset-app": "^4.0.5", - "@vue/cli-shared-utils": "^4.0.5", + "@vue/babel-preset-app": "^4.1.0-beta.0", + "@vue/cli-shared-utils": "^4.1.0-beta.0", "babel-loader": "^8.0.6", "cache-loader": "^4.1.0", "thread-loader": "^2.1.3", diff --git a/packages/@vue/cli-plugin-e2e-cypress/package.json b/packages/@vue/cli-plugin-e2e-cypress/package.json index 961c63c435..27e5999bdc 100644 --- a/packages/@vue/cli-plugin-e2e-cypress/package.json +++ b/packages/@vue/cli-plugin-e2e-cypress/package.json @@ -1,6 +1,6 @@ { "name": "@vue/cli-plugin-e2e-cypress", - "version": "4.0.5", + "version": "4.1.0-beta.0", "description": "e2e-cypress plugin for vue-cli", "main": "index.js", "repository": { @@ -23,7 +23,7 @@ "access": "public" }, "dependencies": { - "@vue/cli-shared-utils": "^4.0.5", + "@vue/cli-shared-utils": "^4.1.0-beta.0", "cypress": "^3.3.1", "eslint-plugin-cypress": "^2.7.0" }, diff --git a/packages/@vue/cli-plugin-e2e-nightwatch/package.json b/packages/@vue/cli-plugin-e2e-nightwatch/package.json index d9c4935e38..90665b0cbb 100644 --- a/packages/@vue/cli-plugin-e2e-nightwatch/package.json +++ b/packages/@vue/cli-plugin-e2e-nightwatch/package.json @@ -1,6 +1,6 @@ { "name": "@vue/cli-plugin-e2e-nightwatch", - "version": "4.0.5", + "version": "4.1.0-beta.0", "description": "e2e-nightwatch plugin for vue-cli", "main": "index.js", "repository": { @@ -23,7 +23,7 @@ "access": "public" }, "dependencies": { - "@vue/cli-shared-utils": "^4.0.5", + "@vue/cli-shared-utils": "^4.1.0-beta.0", "deepmerge": "^3.2.0", "execa": "^1.0.0", "nightwatch": "^1.2.4" diff --git a/packages/@vue/cli-plugin-eslint/package.json b/packages/@vue/cli-plugin-eslint/package.json index 8f9eb313a2..6f7efed3b0 100644 --- a/packages/@vue/cli-plugin-eslint/package.json +++ b/packages/@vue/cli-plugin-eslint/package.json @@ -1,6 +1,6 @@ { "name": "@vue/cli-plugin-eslint", - "version": "4.0.5", + "version": "4.1.0-beta.0", "description": "eslint plugin for vue-cli", "main": "index.js", "repository": { @@ -23,7 +23,7 @@ "access": "public" }, "dependencies": { - "@vue/cli-shared-utils": "^4.0.5", + "@vue/cli-shared-utils": "^4.1.0-beta.0", "eslint-loader": "^2.1.2", "globby": "^9.2.0", "webpack": "^4.0.0", diff --git a/packages/@vue/cli-plugin-pwa/package.json b/packages/@vue/cli-plugin-pwa/package.json index ffe5b18c1c..73799ed601 100644 --- a/packages/@vue/cli-plugin-pwa/package.json +++ b/packages/@vue/cli-plugin-pwa/package.json @@ -1,6 +1,6 @@ { "name": "@vue/cli-plugin-pwa", - "version": "4.0.5", + "version": "4.1.0-beta.0", "description": "pwa plugin for vue-cli", "main": "index.js", "repository": { @@ -23,7 +23,7 @@ "access": "public" }, "dependencies": { - "@vue/cli-shared-utils": "^4.0.5", + "@vue/cli-shared-utils": "^4.1.0-beta.0", "webpack": "^4.0.0", "workbox-webpack-plugin": "^4.3.1" }, diff --git a/packages/@vue/cli-plugin-router/package.json b/packages/@vue/cli-plugin-router/package.json index 3b267a5bdf..0f6193ffbc 100644 --- a/packages/@vue/cli-plugin-router/package.json +++ b/packages/@vue/cli-plugin-router/package.json @@ -1,6 +1,6 @@ { "name": "@vue/cli-plugin-router", - "version": "4.0.5", + "version": "4.1.0-beta.0", "description": "router plugin for vue-cli", "main": "index.js", "repository": { @@ -23,10 +23,10 @@ "access": "public" }, "dependencies": { - "@vue/cli-shared-utils": "^4.0.5" + "@vue/cli-shared-utils": "^4.1.0-beta.0" }, "devDependencies": { - "@vue/cli-test-utils": "^4.0.5" + "@vue/cli-test-utils": "^4.1.0-beta.0" }, "peerDependencies": { "@vue/cli-service": "^3.0.0 || ^4.0.0-0" diff --git a/packages/@vue/cli-plugin-typescript/package.json b/packages/@vue/cli-plugin-typescript/package.json index c4eea0d009..055304e898 100644 --- a/packages/@vue/cli-plugin-typescript/package.json +++ b/packages/@vue/cli-plugin-typescript/package.json @@ -1,6 +1,6 @@ { "name": "@vue/cli-plugin-typescript", - "version": "4.0.5", + "version": "4.1.0-beta.0", "description": "typescript plugin for vue-cli", "main": "index.js", "repository": { @@ -24,7 +24,7 @@ }, "dependencies": { "@types/webpack-env": "^1.13.9", - "@vue/cli-shared-utils": "^4.0.5", + "@vue/cli-shared-utils": "^4.1.0-beta.0", "cache-loader": "^4.1.0", "fork-ts-checker-webpack-plugin": "^1.5.1", "globby": "^9.2.0", diff --git a/packages/@vue/cli-plugin-unit-jest/package.json b/packages/@vue/cli-plugin-unit-jest/package.json index d09887bb11..cd043507b7 100644 --- a/packages/@vue/cli-plugin-unit-jest/package.json +++ b/packages/@vue/cli-plugin-unit-jest/package.json @@ -1,6 +1,6 @@ { "name": "@vue/cli-plugin-unit-jest", - "version": "4.0.5", + "version": "4.1.0-beta.0", "description": "unit-jest plugin for vue-cli", "main": "index.js", "repository": { @@ -26,7 +26,7 @@ "@babel/core": "^7.6.4", "@babel/plugin-transform-modules-commonjs": "^7.6.0", "@types/jest": "^24.0.18", - "@vue/cli-shared-utils": "^4.0.5", + "@vue/cli-shared-utils": "^4.1.0-beta.0", "babel-core": "^7.0.0-bridge.0", "babel-jest": "^24.9.0", "babel-plugin-transform-es2015-modules-commonjs": "^6.26.2", diff --git a/packages/@vue/cli-plugin-unit-mocha/package.json b/packages/@vue/cli-plugin-unit-mocha/package.json index 3666b5386a..78f382f10f 100644 --- a/packages/@vue/cli-plugin-unit-mocha/package.json +++ b/packages/@vue/cli-plugin-unit-mocha/package.json @@ -1,6 +1,6 @@ { "name": "@vue/cli-plugin-unit-mocha", - "version": "4.0.5", + "version": "4.1.0-beta.0", "description": "mocha unit testing plugin for vue-cli", "main": "index.js", "repository": { @@ -22,7 +22,7 @@ }, "homepage": "https://github.com/vuejs/vue-cli/tree/dev/packages/@vue/cli-plugin-unit-mocha#readme", "dependencies": { - "@vue/cli-shared-utils": "^4.0.5", + "@vue/cli-shared-utils": "^4.1.0-beta.0", "jsdom": "^15.2.0", "jsdom-global": "^3.0.2", "mocha": "^6.2.2", diff --git a/packages/@vue/cli-plugin-vuex/package.json b/packages/@vue/cli-plugin-vuex/package.json index 0455353dab..c7c05e31b7 100644 --- a/packages/@vue/cli-plugin-vuex/package.json +++ b/packages/@vue/cli-plugin-vuex/package.json @@ -1,6 +1,6 @@ { "name": "@vue/cli-plugin-vuex", - "version": "4.0.5", + "version": "4.1.0-beta.0", "description": "Vuex plugin for vue-cli", "main": "index.js", "repository": { @@ -23,7 +23,7 @@ "access": "public" }, "devDependencies": { - "@vue/cli-test-utils": "^4.0.5" + "@vue/cli-test-utils": "^4.1.0-beta.0" }, "peerDependencies": { "@vue/cli-service": "^3.0.0 || ^4.0.0-0" diff --git a/packages/@vue/cli-service-global/package.json b/packages/@vue/cli-service-global/package.json index a8a8bb52b6..ec80b53527 100644 --- a/packages/@vue/cli-service-global/package.json +++ b/packages/@vue/cli-service-global/package.json @@ -1,6 +1,6 @@ { "name": "@vue/cli-service-global", - "version": "4.0.5", + "version": "4.1.0-beta.0", "description": "vue-cli-service global addon for vue-cli", "main": "index.js", "publishConfig": { @@ -22,10 +22,10 @@ }, "homepage": "https://github.com/vuejs/vue-cli/tree/dev/packages/@vue/cli-build#readme", "dependencies": { - "@vue/babel-preset-app": "^4.0.5", - "@vue/cli-plugin-babel": "^4.0.5", - "@vue/cli-plugin-eslint": "^4.0.5", - "@vue/cli-service": "^4.0.5", + "@vue/babel-preset-app": "^4.1.0-beta.0", + "@vue/cli-plugin-babel": "^4.1.0-beta.0", + "@vue/cli-plugin-eslint": "^4.1.0-beta.0", + "@vue/cli-service": "^4.1.0-beta.0", "babel-eslint": "^10.0.3", "chalk": "^2.4.2", "core-js": "^3.3.2", diff --git a/packages/@vue/cli-service/package.json b/packages/@vue/cli-service/package.json index bd943027ca..c50d4d08fb 100644 --- a/packages/@vue/cli-service/package.json +++ b/packages/@vue/cli-service/package.json @@ -1,6 +1,6 @@ { "name": "@vue/cli-service", - "version": "4.0.5", + "version": "4.1.0-beta.0", "description": "local service for vue-cli projects", "main": "lib/Service.js", "typings": "types/index.d.ts", @@ -25,10 +25,10 @@ "dependencies": { "@intervolga/optimize-cssnano-plugin": "^1.0.5", "@soda/friendly-errors-webpack-plugin": "^1.7.1", - "@vue/cli-overlay": "^4.0.5", - "@vue/cli-plugin-router": "^4.0.5", - "@vue/cli-plugin-vuex": "^4.0.5", - "@vue/cli-shared-utils": "^4.0.5", + "@vue/cli-overlay": "^4.1.0-beta.0", + "@vue/cli-plugin-router": "^4.1.0-beta.0", + "@vue/cli-plugin-vuex": "^4.1.0-beta.0", + "@vue/cli-shared-utils": "^4.1.0-beta.0", "@vue/component-compiler-utils": "^3.0.0", "@vue/preload-webpack-plugin": "^1.1.0", "@vue/web-component-wrapper": "^1.2.0", diff --git a/packages/@vue/cli-shared-utils/package.json b/packages/@vue/cli-shared-utils/package.json index ab68acd1db..852f187bf1 100644 --- a/packages/@vue/cli-shared-utils/package.json +++ b/packages/@vue/cli-shared-utils/package.json @@ -1,6 +1,6 @@ { "name": "@vue/cli-shared-utils", - "version": "4.0.5", + "version": "4.1.0-beta.0", "description": "shared utilities for vue-cli packages", "main": "index.js", "repository": { diff --git a/packages/@vue/cli-test-utils/package.json b/packages/@vue/cli-test-utils/package.json index f7b8ad7e68..6d2717f060 100644 --- a/packages/@vue/cli-test-utils/package.json +++ b/packages/@vue/cli-test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@vue/cli-test-utils", - "version": "4.0.5", + "version": "4.1.0-beta.0", "description": "test utilities for vue-cli packages", "repository": { "type": "git", diff --git a/packages/@vue/cli-ui-addon-webpack/package.json b/packages/@vue/cli-ui-addon-webpack/package.json index 61edf46e34..814970cb14 100644 --- a/packages/@vue/cli-ui-addon-webpack/package.json +++ b/packages/@vue/cli-ui-addon-webpack/package.json @@ -1,6 +1,6 @@ { "name": "@vue/cli-ui-addon-webpack", - "version": "4.0.5", + "version": "4.1.0-beta.0", "repository": { "type": "git", "url": "git+https://github.com/vuejs/vue-cli.git", @@ -18,9 +18,9 @@ }, "license": "MIT", "devDependencies": { - "@vue/cli-plugin-babel": "^4.0.5", - "@vue/cli-plugin-eslint": "^4.0.5", - "@vue/cli-service": "^4.0.5", + "@vue/cli-plugin-babel": "^4.1.0-beta.0", + "@vue/cli-plugin-eslint": "^4.1.0-beta.0", + "@vue/cli-service": "^4.1.0-beta.0", "@vue/eslint-config-standard": "^4.0.0", "core-js": "^3.3.2", "eslint": "^5.16.0", diff --git a/packages/@vue/cli-ui-addon-widgets/package.json b/packages/@vue/cli-ui-addon-widgets/package.json index e43680c055..b486dd3f3a 100644 --- a/packages/@vue/cli-ui-addon-widgets/package.json +++ b/packages/@vue/cli-ui-addon-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@vue/cli-ui-addon-widgets", - "version": "4.0.5", + "version": "4.1.0-beta.0", "repository": { "type": "git", "url": "git+https://github.com/vuejs/vue-cli.git", @@ -18,9 +18,9 @@ }, "license": "MIT", "devDependencies": { - "@vue/cli-plugin-babel": "^4.0.5", - "@vue/cli-plugin-eslint": "^4.0.5", - "@vue/cli-service": "^4.0.5", + "@vue/cli-plugin-babel": "^4.1.0-beta.0", + "@vue/cli-plugin-eslint": "^4.1.0-beta.0", + "@vue/cli-service": "^4.1.0-beta.0", "@vue/eslint-config-standard": "^4.0.0", "core-js": "^3.3.2", "eslint": "^5.16.0", diff --git a/packages/@vue/cli-ui/package.json b/packages/@vue/cli-ui/package.json index 27c117b2ad..8181b86167 100644 --- a/packages/@vue/cli-ui/package.json +++ b/packages/@vue/cli-ui/package.json @@ -1,6 +1,6 @@ { "name": "@vue/cli-ui", - "version": "4.0.5", + "version": "4.1.0-beta.0", "repository": { "type": "git", "url": "git+https://github.com/vuejs/vue-cli.git", @@ -34,7 +34,7 @@ ], "dependencies": { "@akryum/winattr": "^3.0.0", - "@vue/cli-shared-utils": "^4.0.5", + "@vue/cli-shared-utils": "^4.1.0-beta.0", "chalk": "^2.4.1", "clone": "^2.1.1", "deepmerge": "^3.2.0", @@ -65,10 +65,10 @@ "watch": "^1.0.2" }, "devDependencies": { - "@vue/cli-plugin-babel": "^4.0.5", - "@vue/cli-plugin-e2e-cypress": "^4.0.5", - "@vue/cli-plugin-eslint": "^4.0.5", - "@vue/cli-service": "^4.0.5", + "@vue/cli-plugin-babel": "^4.1.0-beta.0", + "@vue/cli-plugin-e2e-cypress": "^4.1.0-beta.0", + "@vue/cli-plugin-eslint": "^4.1.0-beta.0", + "@vue/cli-service": "^4.1.0-beta.0", "@vue/eslint-config-standard": "^4.0.0", "@vue/ui": "^0.9.2", "ansi_up": "^3.0.0", diff --git a/packages/@vue/cli/package.json b/packages/@vue/cli/package.json index a3ea034b0d..478a37f9e8 100644 --- a/packages/@vue/cli/package.json +++ b/packages/@vue/cli/package.json @@ -1,6 +1,6 @@ { "name": "@vue/cli", - "version": "4.0.5", + "version": "4.1.0-beta.0", "description": "Command line interface for rapid Vue.js development", "bin": { "vue": "bin/vue.js" @@ -24,10 +24,10 @@ "access": "public" }, "dependencies": { - "@vue/cli-shared-utils": "^4.0.5", - "@vue/cli-ui": "^4.0.5", - "@vue/cli-ui-addon-webpack": "^4.0.5", - "@vue/cli-ui-addon-widgets": "^4.0.5", + "@vue/cli-shared-utils": "^4.1.0-beta.0", + "@vue/cli-ui": "^4.1.0-beta.0", + "@vue/cli-ui-addon-webpack": "^4.1.0-beta.0", + "@vue/cli-ui-addon-widgets": "^4.1.0-beta.0", "boxen": "^4.1.0", "chalk": "^2.4.1", "cmd-shim": "^2.0.2", diff --git a/packages/vue-cli-version-marker/package.json b/packages/vue-cli-version-marker/package.json index 3fc2b5aee3..2be2c49a4a 100644 --- a/packages/vue-cli-version-marker/package.json +++ b/packages/vue-cli-version-marker/package.json @@ -1,11 +1,11 @@ { "name": "vue-cli-version-marker", - "version": "4.0.5", + "version": "4.1.0-beta.0", "description": "version marker for @vue/cli", "author": "Evan You", "license": "MIT", "main": "package.json", "devDependencies": { - "@vue/cli": "^4.0.5" + "@vue/cli": "^4.1.0-beta.0" } } From f9291581e844893e51006b7db883e8d13303dc81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=87=E7=BF=B0=E5=BC=9F?= <18233566286@163.com> Date: Mon, 11 Nov 2019 19:16:21 +0800 Subject: [PATCH 013/812] docs(zh): Update browser-compatibility.md (#4831) --- docs/zh/guide/browser-compatibility.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/zh/guide/browser-compatibility.md b/docs/zh/guide/browser-compatibility.md index b5a9e848cb..098297ca53 100644 --- a/docs/zh/guide/browser-compatibility.md +++ b/docs/zh/guide/browser-compatibility.md @@ -16,7 +16,7 @@ 如果有依赖需要 polyfill,你有几种选择: -1. **如果该依赖基于一个目标环境不支持的 ES 版本撰写:** 将其添加到 `vue.config.js` 中的 [`transpileDependencies`](../config/#transpiledependencies) 选项。这会为该依赖同时开启语法语法转换和根据使用情况检测 polyfill。 +1. **如果该依赖基于一个目标环境不支持的 ES 版本撰写:** 将其添加到 `vue.config.js` 中的 [`transpileDependencies`](../config/#transpiledependencies) 选项。这会为该依赖同时开启语法转换和根据使用情况检测 polyfill。 2. **如果该依赖交付了 ES5 代码并显式地列出了需要的 polyfill:** 你可以使用 `@vue/babel-preset-app` 的 [polyfills](https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/babel-preset-app#polyfills) 选项预包含所需要的 polyfill。**注意 `es6.promise` 将被默认包含,因为现在的库依赖 Promise 是非常普遍的。** From 6c4a0bf4f80c279f825322c29780b18c354d529e Mon Sep 17 00:00:00 2001 From: Thomas Kint Date: Tue, 12 Nov 2019 15:33:18 +0100 Subject: [PATCH 014/812] feat: allow use of full url for pwa manifest and icons (#4736) --- .../@vue/cli-plugin-pwa/lib/HtmlPwaPlugin.js | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/packages/@vue/cli-plugin-pwa/lib/HtmlPwaPlugin.js b/packages/@vue/cli-plugin-pwa/lib/HtmlPwaPlugin.js index 8f114e6c45..a42852960e 100644 --- a/packages/@vue/cli-plugin-pwa/lib/HtmlPwaPlugin.js +++ b/packages/@vue/cli-plugin-pwa/lib/HtmlPwaPlugin.js @@ -75,25 +75,25 @@ module.exports = class HtmlPwaPlugin { rel: 'icon', type: 'image/png', sizes: '32x32', - href: `${publicPath}${iconPaths.favicon32}${assetsVersionStr}` + href: getTagHref(publicPath, iconPaths.favicon32, assetsVersionStr) }), makeTag('link', { rel: 'icon', type: 'image/png', sizes: '16x16', - href: `${publicPath}${iconPaths.favicon16}${assetsVersionStr}` + href: getTagHref(publicPath, iconPaths.favicon16, assetsVersionStr) }), // Add to home screen for Android and modern mobile browsers makeTag('link', manifestCrossorigin ? { rel: 'manifest', - href: `${publicPath}${manifestPath}${assetsVersionStr}`, + href: getTagHref(publicPath, manifestPath, assetsVersionStr), crossorigin: manifestCrossorigin } : { rel: 'manifest', - href: `${publicPath}${manifestPath}${assetsVersionStr}` + href: getTagHref(publicPath, manifestPath, assetsVersionStr) } ), makeTag('meta', { @@ -116,18 +116,18 @@ module.exports = class HtmlPwaPlugin { }), makeTag('link', { rel: 'apple-touch-icon', - href: `${publicPath}${iconPaths.appleTouchIcon}${assetsVersionStr}` + href: getTagHref(publicPath, iconPaths.appleTouchIcon, assetsVersionStr) }), makeTag('link', { rel: 'mask-icon', - href: `${publicPath}${iconPaths.maskIcon}${assetsVersionStr}`, + href: getTagHref(publicPath, iconPaths.maskIcon, assetsVersionStr), color: themeColor }), // Add to home screen for Windows makeTag('meta', { name: 'msapplication-TileImage', - content: `${publicPath}${iconPaths.msTileImage}${assetsVersionStr}` + content: getTagHref(publicPath, iconPaths.msTileImage, assetsVersionStr) }), makeTag('meta', { name: 'msapplication-TileColor', @@ -170,3 +170,11 @@ function makeTag (tagName, attributes, closeTag = false) { attributes } } + +function getTagHref (publicPath, href, assetsVersionStr) { + let tagHref = `${href}${assetsVersionStr}` + if (!(/(http(s?)):\/\//gi.test(href))) { + tagHref = `${publicPath}${tagHref}` + } + return tagHref +} From 2652ab6a6bf7da5efc78e69e95801be0edef3d6e Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Wed, 13 Nov 2019 00:13:02 +0800 Subject: [PATCH 015/812] fix: include prereleases for `assert*Version` calls --- packages/@vue/cli-service/lib/PluginAPI.js | 2 +- packages/@vue/cli/lib/GeneratorAPI.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/@vue/cli-service/lib/PluginAPI.js b/packages/@vue/cli-service/lib/PluginAPI.js index 66ed0ab0d1..be42a515b5 100644 --- a/packages/@vue/cli-service/lib/PluginAPI.js +++ b/packages/@vue/cli-service/lib/PluginAPI.js @@ -33,7 +33,7 @@ class PluginAPI { throw new Error('Expected string or integer value.') } - if (semver.satisfies(this.version, range)) return + if (semver.satisfies(this.version, range, { includePrerelease: true })) return throw new Error( `Require @vue/cli-service "${range}", but was loaded with "${this.version}".` diff --git a/packages/@vue/cli/lib/GeneratorAPI.js b/packages/@vue/cli/lib/GeneratorAPI.js index 6ae208720d..36cbe1313d 100644 --- a/packages/@vue/cli/lib/GeneratorAPI.js +++ b/packages/@vue/cli/lib/GeneratorAPI.js @@ -90,7 +90,7 @@ class GeneratorAPI { throw new Error('Expected string or integer value.') } - if (semver.satisfies(this.cliVersion, range)) return + if (semver.satisfies(this.cliVersion, range, { includePrerelease: true })) return throw new Error( `Require global @vue/cli "${range}", but was invoked by "${this.cliVersion}".` @@ -124,7 +124,7 @@ class GeneratorAPI { throw new Error('Expected string or integer value.') } - if (semver.satisfies(this.cliServiceVersion, range)) return + if (semver.satisfies(this.cliServiceVersion, range, { includePrerelease: true })) return throw new Error( `Require @vue/cli-service "${range}", but was loaded with "${this.cliServiceVersion}".` From e46ac207846cdc806d03881828c3a08f8f2162fe Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Thu, 21 Nov 2019 16:33:02 +0800 Subject: [PATCH 016/812] docs: add warnings on css sideEffects (#4836) These warnings are originally stated in the vue-loader documentation, but the CLI documentation perhaps have more visibility. Fixes #4832 --- docs/guide/build-targets.md | 6 +++++- docs/zh/guide/build-targets.md | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/guide/build-targets.md b/docs/guide/build-targets.md index 064c19b7f2..6414814825 100644 --- a/docs/guide/build-targets.md +++ b/docs/guide/build-targets.md @@ -50,6 +50,10 @@ A lib build outputs: - `dist/myLib.css`: Extracted CSS file (can be forced into inlined by setting `css: { extract: false }` in `vue.config.js`) +::: warning +If you are developing a library or in a monorepo, please be aware that CSS imports **are side effects**. Make sure to **remove** `"sideEffects": false` in the `package.json`, otherwise CSS chunks will be dropped by webpack in production builds. +::: + ### Vue vs. JS/TS Entry Files When using a `.vue` file as entry, your library will directly expose the Vue component itself, because the component is always the default export. @@ -148,7 +152,7 @@ Now on the page, the user only needs to include Vue and the entry file: When building a [Webcomponent](#web-component) or [Library](#library), the entry point is not `main.js`, but an `entry-wc.js` file, generated here: [https://github.com/vuejs/vue-cli/blob/dev/packages/%40vue/cli-service/lib/commands/build/resolveWcEntry.js](https://github.com/vuejs/vue-cli/blob/dev/packages/%40vue/cli-service/lib/commands/build/resolveWcEntry.js) -So to use vuex in web component target, you need to initialize the store in `App.vue`: +So to use vuex in web component target, you need to initialize the store in `App.vue`: ``` js import store from './store' diff --git a/docs/zh/guide/build-targets.md b/docs/zh/guide/build-targets.md index ad191878fc..a0cd4d795c 100644 --- a/docs/zh/guide/build-targets.md +++ b/docs/zh/guide/build-targets.md @@ -54,6 +54,10 @@ dist/myLib.css 0.33 kb 0.23 kb - `dist/myLib.css`:提取出来的 CSS 文件 (可以通过在 `vue.config.js` 中设置 `css: { extract: false }` 强制内联) +::: warning 警告 +如果你在开发一个库或多项目仓库 (monorepo),请注意导入 CSS **是具有副作用的**。请确保在 `package.json` 中**移除** `"sideEffects": false`,否则 CSS 代码块会在生产环境构建时被 webpack 丢掉。 +::: + ### Vue vs. JS/TS 入口文件 当使用一个 `.vue` 文件作为入口时,你的库会直接暴露这个 Vue 组件本身,因为组件始终是默认导出的内容。 From f83c44113f993ea1a92ca846109ddc6ef38cd7aa Mon Sep 17 00:00:00 2001 From: "Jose G. Alfonso" Date: Thu, 21 Nov 2019 00:33:38 -0800 Subject: [PATCH 017/812] Update doc section on Git Hooks (#4820) Added complete required entries for lint-staged to work --- docs/guide/cli-service.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/guide/cli-service.md b/docs/guide/cli-service.md index e0502a00e7..cce0298632 100644 --- a/docs/guide/cli-service.md +++ b/docs/guide/cli-service.md @@ -167,6 +167,12 @@ When installed, `@vue/cli-service` also installs [yorkie](https://github.com/yyx { "gitHooks": { "pre-commit": "lint-staged" + }, + "lint-staged": { + "*.{js,vue}": [ + "vue-cli-service lint", + "git add" + ] } } ``` From 0f6ec2e53df58881c50df1bf1ec638bd71b2bdb8 Mon Sep 17 00:00:00 2001 From: Yingya Zhang Date: Mon, 25 Nov 2019 16:11:29 +0800 Subject: [PATCH 018/812] fix: typo atfer (#4851) --- packages/@vue/babel-preset-app/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@vue/babel-preset-app/index.js b/packages/@vue/babel-preset-app/index.js index 26e1c09e21..3dba7f9ea4 100644 --- a/packages/@vue/babel-preset-app/index.js +++ b/packages/@vue/babel-preset-app/index.js @@ -73,7 +73,7 @@ module.exports = (context, options = {}) => { entryFiles = defaultEntryFiles, // Undocumented option of @babel/plugin-transform-runtime. - // When enabled, an absolute path is used when importing a runtime helper atfer tranforming. + // When enabled, an absolute path is used when importing a runtime helper after tranforming. // This ensures the transpiled file always use the runtime version required in this package. // However, this may cause hash inconsistency if the project is moved to another directory. // So here we allow user to explicit disable this option if hash consistency is a requirement From 2c138000513ef92626f872baef0fd27a75e971f0 Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Mon, 25 Nov 2019 16:18:35 +0800 Subject: [PATCH 019/812] chore: fix typo in comment [ci skip] --- packages/@vue/babel-preset-app/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@vue/babel-preset-app/index.js b/packages/@vue/babel-preset-app/index.js index 3dba7f9ea4..72f77c68f2 100644 --- a/packages/@vue/babel-preset-app/index.js +++ b/packages/@vue/babel-preset-app/index.js @@ -73,7 +73,7 @@ module.exports = (context, options = {}) => { entryFiles = defaultEntryFiles, // Undocumented option of @babel/plugin-transform-runtime. - // When enabled, an absolute path is used when importing a runtime helper after tranforming. + // When enabled, an absolute path is used when importing a runtime helper after transforming. // This ensures the transpiled file always use the runtime version required in this package. // However, this may cause hash inconsistency if the project is moved to another directory. // So here we allow user to explicit disable this option if hash consistency is a requirement From ef2cbae66fd71ed257d6c7d7d8ddf92dce09a767 Mon Sep 17 00:00:00 2001 From: Yann Bertrand <5855339+yannbertrand@users.noreply.github.com> Date: Tue, 26 Nov 2019 08:38:57 +0100 Subject: [PATCH 020/812] fix: invalid version error when modules not installed (#4859) fix #4781 --- packages/@vue/cli/lib/Upgrader.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/@vue/cli/lib/Upgrader.js b/packages/@vue/cli/lib/Upgrader.js index dfa14afc80..31ce20bec0 100644 --- a/packages/@vue/cli/lib/Upgrader.js +++ b/packages/@vue/cli/lib/Upgrader.js @@ -201,6 +201,10 @@ module.exports = class Upgrader { const installed = await this.pm.getInstalledVersion(name) const wanted = await this.pm.getRemoteVersion(name, range) + if (installed === 'N/A') { + throw new Error('At least one dependency is not installed. Please run npm install or yarn before trying to upgrade') + } + let latest = await this.pm.getRemoteVersion(name) if (includeNext) { const next = await this.pm.getRemoteVersion(name, 'next') From b7f83b45ce4e6edeee0582f015a2ae73f86fc8e5 Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Tue, 26 Nov 2019 15:52:50 +0800 Subject: [PATCH 021/812] fix: support `parser` option for codemods, and enable ts parsing by default (#4883) fixes #4861 --- packages/@vue/cli/__tests__/Generator.spec.js | 18 +++++++++++ packages/@vue/cli/lib/util/runCodemod.js | 30 +++++++++++++++++-- 2 files changed, 45 insertions(+), 3 deletions(-) diff --git a/packages/@vue/cli/__tests__/Generator.spec.js b/packages/@vue/cli/__tests__/Generator.spec.js index 5fdc43b349..b2bca9c33a 100644 --- a/packages/@vue/cli/__tests__/Generator.spec.js +++ b/packages/@vue/cli/__tests__/Generator.spec.js @@ -23,6 +23,7 @@ new Vue({ }).$mount('#app') `.trim()) fs.writeFileSync(path.resolve(templateDir, 'empty-entry.js'), `;`) +fs.writeFileSync(path.resolve(templateDir, 'main.ts'), `const a: string = 'hello';`) fs.writeFileSync(path.resolve(templateDir, 'hello.vue'), `