Migrate to webpack 4

This commit is contained in:
Yuya Ochiai 2018-05-25 23:12:52 +09:00
parent 74b49e7d2d
commit 4f308f7d40
4 changed files with 1082 additions and 74 deletions

View file

@ -17,8 +17,8 @@
"postinstall": "electron-builder install-app-deps && npm run extract-dict", "postinstall": "electron-builder install-app-deps && npm run extract-dict",
"extract-dict": "node scripts/extract_dict.js src/node_modules/simple-spellchecker/dict", "extract-dict": "node scripts/extract_dict.js src/node_modules/simple-spellchecker/dict",
"build": "npm-run-all build:*", "build": "npm-run-all build:*",
"build:main": "webpack --bail --config webpack.config.main.js", "build:main": "webpack-cli --bail --config webpack.config.main.js",
"build:renderer": "webpack --bail --config webpack.config.renderer.js", "build:renderer": "webpack-cli --bail --config webpack.config.renderer.js",
"start": "electron src --disable-dev-mode", "start": "electron src --disable-dev-mode",
"storybook": "start-storybook -p 9001 -c src/.storybook", "storybook": "start-storybook -p 9001 -c src/.storybook",
"clean": "rm -rf release/ node_modules/ src/node_modules/ && find src -name '*_bundle.js' | xargs rm", "clean": "rm -rf release/ node_modules/ src/node_modules/ && find src -name '*_bundle.js' | xargs rm",
@ -66,6 +66,7 @@
"style-loader": "^0.21.0", "style-loader": "^0.21.0",
"url-loader": "^1.0.1", "url-loader": "^1.0.1",
"webpack": "^4.8.3", "webpack": "^4.8.3",
"webpack-cli": "^2.1.4",
"webpack-dev-server": "^3.1.4", "webpack-dev-server": "^3.1.4",
"webpack-merge": "^4.1.2" "webpack-merge": "^4.1.2"
} }

View file

@ -1,8 +1,17 @@
/* eslint-disable import/no-commonjs */ /* eslint-disable import/no-commonjs */
'use strict'; 'use strict';
const webpack = require('webpack');
const isProduction = process.env.NODE_ENV === 'production'; const isProduction = process.env.NODE_ENV === 'production';
module.exports = { module.exports = {
// Some plugins cause errors on the app, so use few plugins.
// https://webpack.js.org/concepts/mode/#mode-production
mode: isProduction ? 'none' : 'development',
plugins: isProduction ? [
new webpack.DefinePlugin({'process.env.NODE_ENV': JSON.stringify('production')}),
] : [],
devtool: isProduction ? false : '#inline-source-map', devtool: isProduction ? false : '#inline-source-map',
}; };

View file

@ -1,6 +1,8 @@
/* eslint-disable import/no-commonjs */ /* eslint-disable import/no-commonjs */
'use strict'; 'use strict';
const path = require('path');
const merge = require('webpack-merge'); const merge = require('webpack-merge');
const base = require('./webpack.config.base'); const base = require('./webpack.config.base');
@ -8,7 +10,8 @@ const base = require('./webpack.config.base');
module.exports = merge(base, { module.exports = merge(base, {
entry: './src/main.js', entry: './src/main.js',
output: { output: {
filename: './src/[name]_bundle.js', path: path.join(__dirname, 'src'),
filename: '[name]_bundle.js',
}, },
node: { node: {
__filename: true, __filename: true,

1137
yarn.lock

File diff suppressed because it is too large Load diff