Skip to content

Commit 6e1ebe1

Browse files
authored
Merge pull request statikstack#2 from pauloedurezende/master
Add support to cache files and organize webpack configs
2 parents ad9d78d + a1a16a7 commit 6e1ebe1

File tree

5 files changed

+17
-8
lines changed

5 files changed

+17
-8
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
"src"
1313
],
1414
"scripts": {
15-
"build": "webpack --env.env=prod",
15+
"build": "webpack --env.mode=prod",
1616
"lint": "eslint statik/**/*.js",
17-
"start": "webpack-dev-server --env.env=dev"
17+
"start": "webpack-dev-server --env.mode=dev"
1818
},
1919
"repository": {
2020
"type": "git",

webpack.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
module.exports = (env) => {
2-
const config = require(`./webpack.${env.env}`);
2+
const config = require(`./webpack/webpack.${env.mode}`);
33

44
return config;
55
};

webpack.common.js renamed to webpack/webpack.common.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ module.exports = {
88
vendor: './statik/scripts/vendor.js'
99
},
1010
output: {
11-
filename: '[name].bundle.js',
11+
filename: '[name].[chunkhash].bundle.js',
1212
path: path.resolve('dist')
1313
},
1414
module: {
@@ -39,7 +39,7 @@ module.exports = {
3939
]
4040
},
4141
plugins: [
42-
new CleanWebpackPlugin(['dist']),
42+
new CleanWebpackPlugin(['dist'], { root: path.resolve() }),
4343
new HtmlWebpackPlugin({
4444
template: './statik/index.html'
4545
})

webpack.dev.js renamed to webpack/webpack.dev.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ module.exports = merge(common, {
1818
},
1919
{
2020
test: /\.(gif|jpg|png|svg|ico)$/,
21-
include: path.resolve(__dirname, 'statik/images'),
21+
include: path.resolve('statik', 'images'),
2222
use: ['file-loader']
2323
}
2424
]

webpack.prod.js renamed to webpack/webpack.prod.js

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ module.exports = merge(common, {
4040
},
4141
{
4242
test: /\.(gif|jpg|png|svg|ico)$/,
43-
include: path.resolve(__dirname, 'statik/images'),
43+
include: path.resolve('statik', 'images'),
4444
use: [
4545
{
4646
loader: 'file-loader',
@@ -55,9 +55,17 @@ module.exports = merge(common, {
5555
]
5656
},
5757
optimization: {
58+
runtimeChunk: 'single',
5859
splitChunks: {
5960
chunks: 'all',
60-
name: true
61+
name: true,
62+
cacheGroups: {
63+
vendor: {
64+
test: /[\\/]node_modules[\\/]/,
65+
name: 'vendors',
66+
chunks: 'all'
67+
}
68+
}
6169
},
6270
minimizer: [
6371
new OptimizeCSSAssetsPlugin({
@@ -73,6 +81,7 @@ module.exports = merge(common, {
7381
new UglifyJsWebpackPlugin({
7482
sourceMap: true
7583
}),
84+
new webpack.HashedModuleIdsPlugin(),
7685
new webpack.DefinePlugin({
7786
'process.env.NODE_ENV': JSON.stringify('production')
7887
})

0 commit comments

Comments
 (0)