Skip to content

Commit ae53bb9

Browse files
Merge pull request #27 from Toilal/webpack-parallel-build
wip(build): use parallel build for vue2/vue3
2 parents bf8a29b + c320977 commit ae53bb9

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

build/webpack.config.js

+13-4
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,10 @@ const pkg = require('../package.json');
1616

1717
const distPath = Path.resolve(__dirname, '..', 'dist');
1818

19-
module.exports = (env = {}, { mode = 'production' }) => {
19+
const configure = ({name, vueVersion}) => (env = {}, { mode = 'production', configName }) => {
20+
if (configName && configName.includes(name)) {
21+
return {name}
22+
}
2023

2124
const isProd = mode === 'production';
2225

@@ -25,15 +28,15 @@ module.exports = (env = {}, { mode = 'production' }) => {
2528
const {
2629
targetsBrowsers = 'defaults',
2730
noPresetEnv = !isProd,
28-
noCompress = !isProd,
29-
vueVersion = '3',
31+
noCompress = !isProd
3032
} = env;
3133

3234
const genSourcemap = false;
3335

3436
console.log('config', { targetsBrowsers, noPresetEnv, noCompress, genSourcemap, vueVersion });
3537

3638
return {
39+
name,
3740
entry: [
3841
'regenerator-runtime',
3942
Path.resolve(__dirname, '../src/index.ts'),
@@ -156,7 +159,7 @@ ${ pkg.name } v${ pkg.version }
156159
@description ${ pkg.description }.
157160
@author ${ pkg.author.name } <${ pkg.author.email }>
158161
@license ${ pkg.license }
159-
`.trim()),
162+
`.trim()),
160163
],
161164
resolve: {
162165
extensions: [".ts", ".js"],
@@ -300,3 +303,9 @@ ${ pkg.name } v${ pkg.version }
300303
}
301304
}
302305

306+
let configs = [
307+
{name: 'vue2', vueVersion: '2' },
308+
{name: 'vue3', vueVersion: '3' }
309+
]
310+
311+
module.exports = configs.map(configure)

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"testVue2": "cd test && cross-env VUE_VERSION=2 yarn run start",
2525
"tests": "jest --runInBand \"tests/.*\\.test.js\"",
2626
"dev": "webpack --mode=development --config ./build/webpack.config.js --progress --watch",
27-
"build": "cross-env-shell webpack --mode=production --config ./build/webpack.config.js --progress --env targetsBrowsers=\\\"$npm_package_browserslist\\\" && cross-env-shell webpack --mode=production --config ./build/webpack.config.js --progress --env vueVersion=\\\"2\\\" --env targetsBrowsers=\\\"$npm_package_browserslist\\\"",
27+
"build": "cross-env-shell webpack --mode=production --config ./build/webpack.config.js --progress --env targetsBrowsers=\\\"$npm_package_browserslist\\\"",
2828
"docs": "cross-env-shell node build/evalHtmlComments.js README.md $npm_package_version && node build/evalHtmlComments.js docs/examples.md $npm_package_version && typedoc --plugin typedoc-plugin-markdown --mode file --tsconfig ./build/tsconfig.json --inputFiles ./src/index.ts --out ./docs/api --readme none --stripInternal --namedAnchors true",
2929
"pushDocs": "yarn run docs && git add docs/ && cross-env-shell git commit -m \\\"chore(docs): v$npm_package_version API docs & examples \\\" docs",
3030
"release": "standard-version --header \"\""
@@ -78,6 +78,7 @@
7878
"puppeteer": "^8.0.0",
7979
"source-map-explorer": "2.5.2",
8080
"standard-version": "^9.1.1",
81+
"terser-webpack-plugin": "^5.1.1",
8182
"ts-loader": "^8.0.17",
8283
"typedoc": "0.19.2",
8384
"typedoc-plugin-markdown": "3.1.1",

0 commit comments

Comments
 (0)