Skip to content

Commit b75efc3

Browse files
author
Guillaume Chau
committed
chore: merge dev
2 parents def4338 + 7fd5f25 commit b75efc3

File tree

18 files changed

+135
-88
lines changed

18 files changed

+135
-88
lines changed

docs/env.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ In addition to `VUE_APP_*` variables, there are also two special variables that
6363
All resolved env variables will be available inside `public/index.html` via [lodash template interpolation](https://lodash.com/docs/4.17.5#template):
6464

6565
- `<%= VAR %>` for unescaped interpolation;
66-
- `<%- VAR %>` for HTML-escaped interpolationl;
66+
- `<%- VAR %>` for HTML-escaped interpolation;
6767
- `<% expression %>` for JavaScript control flows.
6868

6969
For example, to reference static assets copied from the root of `public`, you will need to use the `BASE_URL` variable:

packages/@vue/cli-plugin-babel/README.md

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,7 @@ module.exports = {
2020

2121
## Caching
2222

23-
[cache-loader](https://github.com/webpack-contrib/cache-loader) is enabled by default and cache is stored in `<projectRoot>/node_modules/.cache/cache-loader`.
24-
25-
## Parallelization
26-
27-
[thread-loader](https://github.com/webpack-contrib/thread-loader) is enabled by default when the machine has more than 1 CPU cores. This can be turned off by setting `parallel: false` in `vue.config.js`.
23+
[cache-loader](https://github.com/webpack-contrib/cache-loader) is enabled by default and cache is stored in `<projectRoot>/node_modules/.cache/babel-loader`.
2824

2925
## Installing in an Already Created Project
3026

@@ -37,4 +33,3 @@ vue add @vue/babel
3733
- `config.rule('js')`
3834
- `config.rule('js').use('babel-loader')`
3935
- `config.rule('js').use('cache-loader')`
40-
- `config.rule('js').use('thread-loader')`

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

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
1-
module.exports = (api, {
2-
parallel,
3-
transpileDependencies
4-
}) => {
5-
const useThreads = process.env.NODE_ENV === 'production' && parallel
6-
const cacheDirectory = api.resolve('node_modules/.cache/cache-loader')
1+
module.exports = (api, options) => {
2+
const { genCacheConfig } = require('@vue/cli-shared-utils')
73
const cliServicePath = require('path').dirname(require.resolve('@vue/cli-service'))
84

95
api.chainWebpack(webpackConfig => {
@@ -21,7 +17,7 @@ module.exports = (api, {
2117
return true
2218
}
2319
// check if this is something the user explicitly wants to transpile
24-
if (transpileDependencies.some(dep => filepath.match(dep))) {
20+
if (options.transpileDependencies.some(dep => filepath.match(dep))) {
2521
return false
2622
}
2723
// Don't transpile node_modules
@@ -30,15 +26,9 @@ module.exports = (api, {
3026
.end()
3127
.use('cache-loader')
3228
.loader('cache-loader')
33-
.options({ cacheDirectory })
29+
.options(genCacheConfig(api, options, 'babel-loader', 'babel.config.js'))
3430
.end()
3531

36-
if (useThreads) {
37-
jsRule
38-
.use('thread-loader')
39-
.loader('thread-loader')
40-
}
41-
4232
jsRule
4333
.use('babel-loader')
4434
.loader('babel-loader')

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@ module.exports = api => {
44
'register-service-worker': '^1.0.0'
55
}
66
})
7-
api.injectImports(`src/main.js`, `import './registerServiceWorker'`)
7+
api.injectImports(api.entryFile, `import './registerServiceWorker'`)
88
api.render('./template')
9+
10+
if (api.invoking && api.hasPlugin('typescript')) {
11+
const convertFiles = require('@vue/cli-plugin-typescript/generator/convert')
12+
convertFiles(api)
13+
}
914
}

packages/@vue/cli-plugin-typescript/README.md

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,7 @@ If opted to use [TSLint](https://palantir.github.io/tslint/) during project crea
1616

1717
## Caching
1818

19-
[cache-loader](https://github.com/webpack-contrib/cache-loader) is enabled by default and cache is stored in `<projectRoot>/node_modules/.cache/cache-loader`.
20-
21-
## Parallelization
22-
23-
[thread-loader](https://github.com/webpack-contrib/thread-loader) is enabled by default when the machine has more than 1 CPU cores. This can be turned off by setting `parallel: false` in `vue.config.js`.
19+
[cache-loader](https://github.com/webpack-contrib/cache-loader) is enabled by default and cache is stored in `<projectRoot>/node_modules/.cache/ts-loader`.
2420

2521
## Installing in an Already Created Project
2622

@@ -34,5 +30,4 @@ vue add @vue/typescript
3430
- `config.rule('ts').use('ts-loader')`
3531
- `config.rule('ts').use('babel-loader')` (when used alongside `@vue/cli-plugin-babel`)
3632
- `config.rule('ts').use('cache-loader')`
37-
- `config.rule('ts').use('thread-loader')`
3833
- `config.plugin('fork-ts-checker')`
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
module.exports = (api, { tsLint = false } = {}) => {
2+
// delete all js files that have a ts file of the same name
3+
// and simply rename other js files to ts
4+
const jsRE = /\.js$/
5+
const excludeRE = /^tests\/e2e\/|(\.config|rc)\.js$/
6+
const convertLintFlags = require('../lib/convertLintFlags')
7+
api.postProcessFiles(files => {
8+
for (const file in files) {
9+
if (jsRE.test(file) && !excludeRE.test(file)) {
10+
const tsFile = file.replace(jsRE, '.ts')
11+
if (!files[tsFile]) {
12+
let content = files[file]
13+
if (tsLint) {
14+
content = convertLintFlags(content)
15+
}
16+
files[tsFile] = content
17+
}
18+
delete files[file]
19+
}
20+
}
21+
})
22+
}

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

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -79,24 +79,5 @@ module.exports = (api, {
7979
hasJest
8080
})
8181

82-
// delete all js files that have a ts file of the same name
83-
// and simply rename other js files to ts
84-
const jsRE = /\.js$/
85-
const excludeRE = /^tests\/e2e\/|(\.config|rc)\.js$/
86-
const convertLintFlags = require('../lib/convertLintFlags')
87-
api.postProcessFiles(files => {
88-
for (const file in files) {
89-
if (jsRE.test(file) && !excludeRE.test(file)) {
90-
const tsFile = file.replace(jsRE, '.ts')
91-
if (!files[tsFile]) {
92-
let content = files[file]
93-
if (tsLint) {
94-
content = convertLintFlags(content)
95-
}
96-
files[tsFile] = content
97-
}
98-
delete files[file]
99-
}
100-
}
101-
})
82+
require('./convert')(api, { tsLint })
10283
}

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

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
1-
module.exports = (api, {
2-
parallel,
3-
lintOnSave
4-
}) => {
1+
module.exports = (api, options) => {
52
const fs = require('fs')
6-
const useThreads = process.env.NODE_ENV === 'production' && parallel
7-
const cacheDirectory = api.resolve('node_modules/.cache/cache-loader')
3+
const { genCacheConfig } = require('@vue/cli-shared-utils')
4+
const useThreads = process.env.NODE_ENV === 'production' && options.parallel
85

96
api.chainWebpack(config => {
107
config.entry('app')
@@ -26,13 +23,8 @@ module.exports = (api, {
2623

2724
addLoader({
2825
loader: 'cache-loader',
29-
options: { cacheDirectory }
26+
options: genCacheConfig(api, options, 'ts-loader', 'tsconfig.json')
3027
})
31-
if (useThreads) {
32-
addLoader({
33-
loader: 'thread-loader'
34-
})
35-
}
3628

3729
if (api.hasPlugin('babel')) {
3830
addLoader({
@@ -60,7 +52,7 @@ module.exports = (api, {
6052
.plugin('fork-ts-checker')
6153
.use(require('fork-ts-checker-webpack-plugin'), [{
6254
vue: true,
63-
tslint: lintOnSave !== false && fs.existsSync(api.resolve('tslint.json')),
55+
tslint: options.lintOnSave !== false && fs.existsSync(api.resolve('tslint.json')),
6456
formatter: 'codeframe',
6557
// https://github.com/TypeStrong/ts-loader#happypackmode-boolean-defaultfalse
6658
checkSyntacticErrors: useThreads

packages/@vue/cli-service/generator/router/index.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
module.exports = (api, options) => {
2-
api.injectImports(`src/main.js`, `import router from './router'`)
3-
api.injectRootOptions(`src/main.js`, `router`)
2+
api.injectImports(api.entryFile, `import router from './router'`)
3+
api.injectRootOptions(api.entryFile, `router`)
44
api.extendPackage({
55
dependencies: {
66
'vue-router': '^3.0.1'
77
}
88
})
99
api.render('./template')
1010

11-
if (options.invoking) {
11+
if (api.invoking) {
1212
api.postProcessFiles(files => {
1313
const appFile = files[`src/App.vue`]
1414
if (appFile) {
@@ -26,5 +26,10 @@ module.exports = (api, options) => {
2626
console.log(files[`src/App.vue`])
2727
}
2828
})
29+
30+
if (api.hasPlugin('typescript')) {
31+
const convertFiles = require('@vue/cli-plugin-typescript/generator/convert')
32+
convertFiles(api)
33+
}
2934
}
3035
}
Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
module.exports = (api, options) => {
2-
api.injectImports(`src/main.js`, `import store from './store'`)
3-
api.injectRootOptions(`src/main.js`, `store`)
2+
api.injectImports(api.entryFile, `import store from './store'`)
3+
api.injectRootOptions(api.entryFile, `store`)
44
api.extendPackage({
55
dependencies: {
66
vuex: '^3.0.1'
77
}
88
})
99
api.render('./template')
10+
11+
if (api.invoking && api.hasPlugin('typescript')) {
12+
const convertFiles = require('@vue/cli-plugin-typescript/generator/convert')
13+
convertFiles(api)
14+
}
1015
}

0 commit comments

Comments
 (0)