Skip to content

Commit 45dcbc5

Browse files
committed
chore: merge branch 'dev' into docs
2 parents 67ce6a2 + ff87547 commit 45dcbc5

File tree

41 files changed

+1772
-1470
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+1772
-1470
lines changed

CHANGELOG.md

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,96 @@
1+
# [3.4.0](https://github.com/vuejs/vue-cli/compare/v3.3.0...v3.4.0) (2019-01-31)
2+
3+
## babel-preset-app
4+
5+
#### Features
6+
7+
* **babel:** include es6.object.assign by default ([#3281](https://github.com/vuejs/vue-cli/issues/3281)) ([8dcfc18](https://github.com/vuejs/vue-cli/commit/8dcfc18))
8+
* expose `absoluteRuntime` option, closes [#2807](https://github.com/vuejs/vue-cli/issues/2807) ([d5ed280](https://github.com/vuejs/vue-cli/commit/d5ed280))
9+
10+
## cli
11+
12+
#### Bug Fixes
13+
14+
* fix injectImports when there's no pre-existing import declarations ([108d801](https://github.com/vuejs/vue-cli/commit/108d801)), closes [#2925](https://github.com/vuejs/vue-cli/issues/2925)
15+
* should check yarn when no pacakage manager specified ([6a75056](https://github.com/vuejs/vue-cli/commit/6a75056)), closes [#3393](https://github.com/vuejs/vue-cli/issues/3393)
16+
17+
## cli-plugin-babel
18+
19+
#### Bug Fixes
20+
21+
* add webpack to plugins' dependencies, fix yarn peer dep warnings ([6e5e117](https://github.com/vuejs/vue-cli/commit/6e5e117))
22+
* **cli-plugin-babel:** transpileDependencies should only match packages inside `node_modules`, close [#3057](https://github.com/vuejs/vue-cli/issues/3057) ([#3229](https://github.com/vuejs/vue-cli/issues/3229)) ([fb71653](https://github.com/vuejs/vue-cli/commit/fb71653))
23+
* take all env variables into account in `genCacheConfig` ([047872c](https://github.com/vuejs/vue-cli/commit/047872c)), closes [#3275](https://github.com/vuejs/vue-cli/issues/3275)
24+
25+
## cli-plugin-eslint
26+
27+
#### Bug Fixes
28+
29+
* only add custom ignorePattern when no .eslintignore exists ([#3325](https://github.com/vuejs/vue-cli/issues/3325)) ([febd386](https://github.com/vuejs/vue-cli/commit/febd386)), closes [#3243](https://github.com/vuejs/vue-cli/issues/3243)
30+
#### Features
31+
32+
* add `--no-fix-warnings` option ([#3307](https://github.com/vuejs/vue-cli/issues/3307)) ([2b6dba3](https://github.com/vuejs/vue-cli/commit/2b6dba3))
33+
34+
## cli-plugin-typescript
35+
36+
#### Bug Fixes
37+
38+
* fix linting of tsx script in .vue file ([#3097](https://github.com/vuejs/vue-cli/issues/3097)) ([f3fe8b3](https://github.com/vuejs/vue-cli/commit/f3fe8b3))
39+
#### Features
40+
41+
* support yml, yaml and json tslint configuration files ([#3305](https://github.com/vuejs/vue-cli/issues/3305)) ([596a49d](https://github.com/vuejs/vue-cli/commit/596a49d))
42+
43+
## cli-plugin-unit-mocha
44+
45+
#### Bug Fixes
46+
47+
* apply a workaround for the prettier / jsdom-global bug ([bca6edc](https://github.com/vuejs/vue-cli/commit/bca6edc))
48+
49+
## cli-service
50+
51+
#### Bug Fixes
52+
53+
* add [@vue](https://github.com/vue)/component-compiler-utils to dependencies, fix yarn pnp compatibility ([3d6eab9](https://github.com/vuejs/vue-cli/commit/3d6eab9))
54+
* copy `publicPath` option to `baseUrl`, fix plugin compatibility ([27ffd28](https://github.com/vuejs/vue-cli/commit/27ffd28))
55+
* do not add link tag to demo page when css extract is false ([#3351](https://github.com/vuejs/vue-cli/issues/3351)) ([9029ad1](https://github.com/vuejs/vue-cli/commit/9029ad1))
56+
* fix reference of friendly-errors-webpack-plugin in config ([486a921](https://github.com/vuejs/vue-cli/commit/486a921))
57+
* genCacheConfig return different result because linebreak ([#3372](https://github.com/vuejs/vue-cli/issues/3372)) ([ab13dfe](https://github.com/vuejs/vue-cli/commit/ab13dfe))
58+
* pin webpack version, fixes [#3335](https://github.com/vuejs/vue-cli/issues/3335) ([0a0a65f](https://github.com/vuejs/vue-cli/commit/0a0a65f))
59+
* should respect root `parallel` option in terser plugin ([702a2c9](https://github.com/vuejs/vue-cli/commit/702a2c9))
60+
* use a custom fork of friendly-errors-webpack-plugin ([28933c8](https://github.com/vuejs/vue-cli/commit/28933c8)), closes [/github.com/geowarin/friendly-errors-webpack-plugin/pull/82#issuecomment-454808535](https://github.com//github.com/geowarin/friendly-errors-webpack-plugin/pull/82/issues/issuecomment-454808535) [#2244](https://github.com/vuejs/vue-cli/issues/2244) [#3003](https://github.com/vuejs/vue-cli/issues/3003)
61+
* use the correct size unit (KiB) ([1553757](https://github.com/vuejs/vue-cli/commit/1553757)), closes [#3283](https://github.com/vuejs/vue-cli/issues/3283)
62+
#### Features
63+
64+
* add typings for vue.config.js options ([#3387](https://github.com/vuejs/vue-cli/issues/3387)) ([b61ea45](https://github.com/vuejs/vue-cli/commit/b61ea45))
65+
* support dart-sass as default sass implementation ([#3321](https://github.com/vuejs/vue-cli/issues/3321)) ([9c1e797](https://github.com/vuejs/vue-cli/commit/9c1e797))
66+
* support use -h show detailed usage of command ([67cff95](https://github.com/vuejs/vue-cli/commit/67cff95))
67+
68+
## cli-shared-utils
69+
70+
#### Bug Fixes
71+
72+
* add timeout for requests ([09be0f2](https://github.com/vuejs/vue-cli/commit/09be0f2)), closes [#3076](https://github.com/vuejs/vue-cli/issues/3076)
73+
74+
## cli-ui
75+
76+
#### Bug Fixes
77+
78+
* **cli-ui:** folder list when root windows ([#3331](https://github.com/vuejs/vue-cli/issues/3331)) ([d047aca](https://github.com/vuejs/vue-cli/commit/d047aca))
79+
#### Features
80+
81+
* **ui:** enforce package.json npm rules ([#3232](https://github.com/vuejs/vue-cli/issues/3232)) ([11d17d9](https://github.com/vuejs/vue-cli/commit/11d17d9))
82+
83+
## eslint-config-typescript
84+
85+
#### Bug Fixes
86+
87+
* force enable `jsx` in parserOptions, fixes [#3268](https://github.com/vuejs/vue-cli/issues/3268) ([85c5973](https://github.com/vuejs/vue-cli/commit/85c5973))
88+
#### Features
89+
90+
* update eslint-config-typescript to use [@typescript-eslint](https://github.com/typescript-eslint) ([#3359](https://github.com/vuejs/vue-cli/issues/3359)) ([189ea54](https://github.com/vuejs/vue-cli/commit/189ea54))
91+
92+
93+
194
# [3.3.0](https://github.com/vuejs/vue-cli/compare/v3.2.3...v3.3.0) (2019-01-08)
295

396
## babel-preset-app

docs/zh/dev-guide/ui-api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1338,7 +1338,7 @@ api.getProject()
13381338

13391339
你可能需要在 cli-ui 内建的 HTTP 服务器上暴露一些静态文件 (通常是为自定义视图指定图标)。
13401340

1341-
在插件包跟目录里可选的放置一个 `ui-public` 文件夹,这个文件夹里的任何文件都会暴露至 `/_plugin/:id/*` 的 HTTP 路由。
1341+
在插件包根目录里可选的放置一个 `ui-public` 文件夹,这个文件夹里的任何文件都会暴露至 `/_plugin/:id/*` 的 HTTP 路由。
13421342

13431343
例如,如果你将 `my-logo.png` 文件放置到 `vue-cli-plugin-hello/ui-public/` 文件夹,那么 cli-ui 加载插件的时候可以通过 `/_plugin/vue-cli-plugin-hello/my-logo.png` 这个 URL 来访问它。
13441344

lerna.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"npmClient": "yarn",
33
"useWorkspaces": false,
4-
"version": "3.3.0",
4+
"version": "3.4.0",
55
"packages": [
66
"packages/@vue/babel-preset-app",
77
"packages/@vue/cli*"

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
"eslint-plugin-vue": "^5.0.0",
5555
"eslint-plugin-vue-libs": "^3.0.0",
5656
"execa": "^1.0.0",
57-
"globby": "^8.0.1",
57+
"globby": "^9.0.0",
5858
"http-server": "^0.11.1",
5959
"inquirer": "^6.0.0",
6060
"jest": "^23.1.0",
@@ -76,8 +76,8 @@
7676
"@babel/preset-env": "^7.0.0",
7777
"babel-core": "7.0.0-bridge.0",
7878
"ps-tree": "^1.1.1",
79-
"vue": "2.5.21",
80-
"vue-template-compiler": "2.5.21",
81-
"vue-server-renderer": "2.5.21"
79+
"vue": "^2.5.22",
80+
"vue-template-compiler": "^2.5.22",
81+
"vue-server-renderer": "^2.5.22"
8282
}
8383
}

packages/@vue/babel-preset-app/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@vue/babel-preset-app",
3-
"version": "3.3.0",
3+
"version": "3.4.0",
44
"description": "babel-preset-app for vue-cli",
55
"main": "index.js",
66
"publishConfig": {
@@ -31,6 +31,6 @@
3131
"@babel/runtime-corejs2": "^7.2.0",
3232
"@vue/babel-preset-jsx": "^1.0.0-beta.2",
3333
"babel-plugin-dynamic-import-node": "^2.2.0",
34-
"core-js": "^2.6.1"
34+
"core-js": "^2.6.3"
3535
}
3636
}

packages/@vue/cli-init/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@vue/cli-init",
3-
"version": "3.3.0",
3+
"version": "3.4.0",
44
"description": "init addon for vue-cli",
55
"main": "index.js",
66
"publishConfig": {

packages/@vue/cli-overlay/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@vue/cli-overlay",
3-
"version": "3.3.0",
3+
"version": "3.4.0",
44
"description": "error overlay & dev server middleware for vue-cli",
55
"main": "dist/client.js",
66
"files": [

packages/@vue/cli-plugin-babel/__tests__/transpileDependencies.spec.js

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ beforeAll(async () => {
4040

4141
$packageJson = JSON.parse($packageJson)
4242
$packageJson.dependencies['external-dep'] = '1.0.0'
43+
$packageJson.dependencies['@scope/external-dep'] = '1.0.0'
4344
$packageJson = JSON.stringify($packageJson)
4445

4546
await project.write(
@@ -70,10 +71,23 @@ test('dep from node_modules should not been transpiled', async () => {
7071
test('dep from node_modules should been transpiled', async () => {
7172
await project.write(
7273
'vue.config.js',
73-
`module.exports = { transpileDependencies: ['external-dep'] }`
74+
`module.exports = { transpileDependencies: ['external-dep', '@scope/external-dep'] }`
7475
)
7576
await project.run('vue-cli-service build')
7677
expect(await readVendorFile()).toMatch('return "__TEST__"')
7778

7879
expect(await readVendorFile()).toMatch('return "__SCOPE_TEST__"')
7980
})
81+
82+
// https://github.com/vuejs/vue-cli/issues/3057
83+
test('only transpile package with same name specified in transpileDependencies', async () => {
84+
await project.write(
85+
'vue.config.js',
86+
`module.exports = { transpileDependencies: ['babel-transpile-deps'] }`
87+
)
88+
try {
89+
await project.run('vue-cli-service build')
90+
} catch (e) {}
91+
expect(await readVendorFile()).toMatch('() => "__TEST__"')
92+
expect(await readVendorFile()).toMatch('() => "__SCOPE_TEST__"')
93+
})

packages/@vue/cli-plugin-babel/index.js

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,24 @@
11
const path = require('path')
2+
const { isWindows } = require('@vue/cli-shared-utils')
3+
4+
function genTranspileDepRegex (transpileDependencies) {
5+
const deps = transpileDependencies.map(dep => {
6+
if (typeof dep === 'string') {
7+
const depPath = path.join('node_modules', dep, '/')
8+
return isWindows
9+
? depPath.replace(/\\/g, '\\\\') // double escape for windows style path
10+
: depPath
11+
} else if (dep instanceof RegExp) {
12+
return dep.source
13+
}
14+
})
15+
return deps.length ? new RegExp(deps.join('|')) : null
16+
}
217

318
module.exports = (api, options) => {
419
const useThreads = process.env.NODE_ENV === 'production' && options.parallel
520
const cliServicePath = require('path').dirname(require.resolve('@vue/cli-service'))
21+
const transpileDepRegex = genTranspileDepRegex(options.transpileDependencies)
622

723
api.chainWebpack(webpackConfig => {
824
webpackConfig.resolveLoader.modules.prepend(path.join(__dirname, 'node_modules'))
@@ -21,13 +37,7 @@ module.exports = (api, options) => {
2137
return true
2238
}
2339
// check if this is something the user explicitly wants to transpile
24-
if (options.transpileDependencies.some(dep => {
25-
if (typeof dep === 'string') {
26-
return filepath.includes(path.normalize(dep))
27-
} else {
28-
return filepath.match(dep)
29-
}
30-
})) {
40+
if (transpileDepRegex && transpileDepRegex.test(filepath)) {
3141
return false
3242
}
3343
// Don't transpile node_modules
@@ -40,6 +50,7 @@ module.exports = (api, options) => {
4050
'@babel/core': require('@babel/core/package.json').version,
4151
'@vue/babel-preset-app': require('@vue/babel-preset-app/package.json').version,
4252
'babel-loader': require('babel-loader/package.json').version,
53+
modern: !!process.env.VUE_CLI_MODERN_BUILD,
4354
browserslist: api.service.pkg.browserslist
4455
}, [
4556
'babel.config.js',

packages/@vue/cli-plugin-babel/package.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@vue/cli-plugin-babel",
3-
"version": "3.3.0",
3+
"version": "3.4.0",
44
"description": "babel plugin for vue-cli",
55
"main": "index.js",
66
"repository": {
@@ -20,8 +20,10 @@
2020
"homepage": "https://github.com/vuejs/vue-cli/tree/dev/packages/@vue/cli-plugin-babel#readme",
2121
"dependencies": {
2222
"@babel/core": "^7.0.0",
23-
"@vue/babel-preset-app": "^3.3.0",
24-
"babel-loader": "^8.0.4"
23+
"@vue/babel-preset-app": "^3.4.0",
24+
"@vue/cli-shared-utils": "^3.4.0",
25+
"babel-loader": "^8.0.5",
26+
"webpack": ">=4 < 4.29"
2527
},
2628
"publishConfig": {
2729
"access": "public"

packages/@vue/cli-plugin-e2e-cypress/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@vue/cli-plugin-e2e-cypress",
3-
"version": "3.3.0",
3+
"version": "3.4.0",
44
"description": "e2e-cypress plugin for vue-cli",
55
"main": "index.js",
66
"repository": {
@@ -22,8 +22,8 @@
2222
"access": "public"
2323
},
2424
"dependencies": {
25-
"@vue/cli-shared-utils": "^3.3.0",
26-
"cypress": "^3.1.4",
25+
"@vue/cli-shared-utils": "^3.4.0",
26+
"cypress": "^3.1.5",
2727
"eslint-plugin-cypress": "^2.2.0"
2828
}
2929
}

packages/@vue/cli-plugin-e2e-nightwatch/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@vue/cli-plugin-e2e-nightwatch",
3-
"version": "3.3.0",
3+
"version": "3.4.0",
44
"description": "e2e-nightwatch plugin for vue-cli",
55
"main": "index.js",
66
"repository": {
@@ -22,9 +22,9 @@
2222
"access": "public"
2323
},
2424
"dependencies": {
25-
"@vue/cli-shared-utils": "^3.3.0",
25+
"@vue/cli-shared-utils": "^3.4.0",
2626
"chromedriver": "^2.45.0",
27-
"deepmerge": "^3.0.0",
27+
"deepmerge": "^3.1.0",
2828
"execa": "^1.0.0",
2929
"nightwatch": "^0.9.21",
3030
"selenium-server": "^3.141.59"

packages/@vue/cli-plugin-eslint/generator/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ const applyTS = module.exports.applyTS = api => {
117117
}
118118
},
119119
devDependencies: {
120-
'@vue/eslint-config-typescript': '^3.2.0'
120+
'@vue/eslint-config-typescript': '^4.0.0'
121121
}
122122
})
123123
}

packages/@vue/cli-plugin-eslint/package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@vue/cli-plugin-eslint",
3-
"version": "3.3.0",
3+
"version": "3.4.0",
44
"description": "eslint plugin for vue-cli",
55
"main": "index.js",
66
"repository": {
@@ -22,11 +22,12 @@
2222
"access": "public"
2323
},
2424
"dependencies": {
25-
"@vue/cli-shared-utils": "^3.3.0",
25+
"@vue/cli-shared-utils": "^3.4.0",
2626
"babel-eslint": "^10.0.1",
2727
"eslint": "^4.19.1",
2828
"eslint-loader": "^2.1.1",
2929
"eslint-plugin-vue": "^4.7.1",
30-
"globby": "^8.0.1"
30+
"globby": "^9.0.0",
31+
"webpack": ">=4 < 4.29"
3132
}
3233
}

packages/@vue/cli-plugin-pwa/package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@vue/cli-plugin-pwa",
3-
"version": "3.3.0",
3+
"version": "3.4.0",
44
"description": "pwa plugin for vue-cli",
55
"main": "index.js",
66
"repository": {
@@ -22,7 +22,8 @@
2222
"access": "public"
2323
},
2424
"dependencies": {
25-
"@vue/cli-shared-utils": "^3.3.0",
25+
"@vue/cli-shared-utils": "^3.4.0",
26+
"webpack": ">=4 < 4.29",
2627
"workbox-webpack-plugin": "^3.6.3"
2728
},
2829
"devDependencies": {

packages/@vue/cli-plugin-typescript/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ module.exports = (api, options) => {
3030
loader: 'cache-loader',
3131
options: api.genCacheConfig('ts-loader', {
3232
'ts-loader': require('ts-loader/package.json').version,
33-
'typescript': require('typescript/package.json').version
33+
'typescript': require('typescript/package.json').version,
34+
modern: !!process.env.VUE_CLI_MODERN_BUILD
3435
}, 'tsconfig.json')
3536
})
3637

packages/@vue/cli-plugin-typescript/lib/tslint.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ module.exports = function lint (args = {}, api, silent) {
4949
before: content.slice(0, script.start),
5050
after: content.slice(script.end)
5151
})
52-
return script.content
52+
return script
5353
}
5454
}
5555

@@ -61,8 +61,9 @@ module.exports = function lint (args = {}, api, silent) {
6161
const getSourceFile = program.getSourceFile
6262
program.getSourceFile = function (file, languageVersion, onError) {
6363
if (isVueFile(file)) {
64-
const script = parseTSFromVueFile(file) || ''
65-
return ts.createSourceFile(file, script, languageVersion, true)
64+
const { content, lang = 'js' } = parseTSFromVueFile(file) || { content: '', lang: 'js' }
65+
const contentLang = ts.ScriptKind[lang.toUpperCase()];
66+
return ts.createSourceFile(file, content, languageVersion, true, contentLang)
6667
} else {
6768
return getSourceFile.call(this, file, languageVersion, onError)
6869
}

0 commit comments

Comments
 (0)