Skip to content

Commit 911125b

Browse files
committed
upgrade to webpack 2
1 parent 52e971b commit 911125b

File tree

8 files changed

+176
-90
lines changed

8 files changed

+176
-90
lines changed

.babelrc

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,15 @@
22
"presets": [
33
"es2015",
44
"es2017",
5-
"stage-0"
5+
"stage-0",
6+
[
7+
"env",
8+
{
9+
"targets": {
10+
"browsers": ["last 3 versions"]
11+
}
12+
}
13+
]
614
],
715
"plugins": [
816
"transform-runtime",

build/webpack/base.js

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ export default {
1414
output: {
1515
path: config.rootPath,
1616
publicPath: config.publicPath,
17-
filename: '[name].js'
17+
filename: '[name].js',
18+
hotUpdateChunkFilename: '[name].[chunkhash:8].hot-update.js',
19+
hotUpdateMainFilename: '[name].hot-update.js'
1820
},
1921
resolve: {
2022
extensions: ['.js', '.vue', '.json'],
@@ -38,16 +40,6 @@ export default {
3840
formatter: eslintFormatter
3941
}
4042
},
41-
{
42-
test: /\.vue$/,
43-
loader: 'vue-loader',
44-
options: {
45-
loaders: {
46-
css: 'vue-style-loader!css-loader',
47-
scss: 'vue-style-loader!css-loader!sass-loader'
48-
}
49-
}
50-
},
5143
{
5244
test: /\.js$/,
5345
loader: 'babel-loader',
@@ -57,14 +49,6 @@ export default {
5749
resolvePath('docs')
5850
]
5951
},
60-
{
61-
test: /\.css$/,
62-
use: ['vue-style-loader', 'css-loader']
63-
},
64-
{
65-
test: /\.scss$/,
66-
use: ['vue-style-loader', 'css-loader', 'sass-loader']
67-
},
6852
{
6953
test: /\.theme$/,
7054
use: ['raw-loader', 'sass-loader']

build/webpack/dev.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,28 @@ Object.keys(baseWebpackConfig.entry).forEach((name) => {
1111

1212
export default merge(baseWebpackConfig, {
1313
devtool: '#eval-source-map',
14+
module: {
15+
rules: [
16+
{
17+
test: /\.vue$/,
18+
loader: 'vue-loader',
19+
options: {
20+
loaders: {
21+
css: 'vue-style-loader!css-loader',
22+
scss: 'vue-style-loader!css-loader!sass-loader'
23+
}
24+
}
25+
},
26+
{
27+
test: /\.css$/,
28+
use: ['vue-style-loader', 'css-loader']
29+
},
30+
{
31+
test: /\.scss$/,
32+
use: ['vue-style-loader', 'css-loader', 'sass-loader']
33+
}
34+
]
35+
},
1436
plugins: [
1537
new webpack.WatchIgnorePlugin([config.nodePath]),
1638
new webpack.HotModuleReplacementPlugin(),

build/webpack/prod-docs.js

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import baseConfig from './base';
1111

1212
const docsPath = path.join(config.rootPath, config.docsPath);
1313

14-
export default merge(baseConfig, {
14+
const conf = merge(baseConfig, {
1515
output: {
1616
path: docsPath,
1717
publicPath: '',
@@ -25,22 +25,42 @@ export default merge(baseConfig, {
2525
loader: 'vue-loader',
2626
options: {
2727
loaders: {
28-
css: ExtractTextPlugin.extract('css'),
29-
scss: ExtractTextPlugin.extract('css!sass')
28+
css: ExtractTextPlugin.extract({
29+
use: 'css-loader',
30+
fallback: 'vue-style-loader'
31+
}),
32+
scss: ExtractTextPlugin.extract({
33+
use: 'css-loader!sass-loader',
34+
fallback: 'vue-style-loader'
35+
})
3036
},
3137
postcss: [
3238
autoprefixer({
3339
browsers: ['last 3 versions']
3440
})
3541
]
3642
}
43+
},
44+
{
45+
test: /\.css$/,
46+
loader: ExtractTextPlugin.extract({
47+
use: 'css-loader',
48+
fallback: 'vue-style-loader'
49+
})
50+
},
51+
{
52+
test: /\.scss$/,
53+
loader: ExtractTextPlugin.extract({
54+
use: 'css-loader!sass-loader',
55+
fallback: 'vue-style-loader'
56+
})
3757
}
3858
]
3959
},
4060
plugins: [
4161
new webpack.LoaderOptionsPlugin({
4262
minimize: true,
43-
debug: false
63+
debug: true
4464
}),
4565
new webpack.optimize.UglifyJsPlugin({
4666
compress: {
@@ -54,9 +74,7 @@ export default merge(baseConfig, {
5474
new OptimizeJsPlugin({
5575
sourceMap: false
5676
}),
57-
new ExtractTextPlugin({
58-
filename: path.join(docsPath, '[name].[contenthash:8].css')
59-
}),
77+
new ExtractTextPlugin('[name].[contenthash:8].css'),
6078
new CopyWebpackPlugin([
6179
{
6280
context: config.assetsPath,
@@ -115,3 +133,5 @@ export default merge(baseConfig, {
115133
})
116134
]
117135
});
136+
137+
export default conf;

build/webpack/prod-lib.js

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,15 +42,35 @@ export default merge(baseConfig, {
4242
loader: 'vue-loader',
4343
options: {
4444
loaders: {
45-
css: ExtractTextPlugin.extract('css'),
46-
scss: ExtractTextPlugin.extract('css!sass')
45+
css: ExtractTextPlugin.extract({
46+
use: 'css-loader',
47+
fallback: 'vue-style-loader'
48+
}),
49+
scss: ExtractTextPlugin.extract({
50+
use: 'css-loader!sass-loader',
51+
fallback: 'vue-style-loader'
52+
})
4753
},
4854
postcss: [
4955
autoprefixer({
50-
browsers: ['last 2 versions']
56+
browsers: ['last 3 versions']
5157
})
5258
]
5359
}
60+
},
61+
{
62+
test: /\.css$/,
63+
loader: ExtractTextPlugin.extract({
64+
use: 'css-loader',
65+
fallback: 'vue-style-loader'
66+
})
67+
},
68+
{
69+
test: /\.scss$/,
70+
loader: ExtractTextPlugin.extract({
71+
use: 'css-loader!sass-loader',
72+
fallback: 'vue-style-loader'
73+
})
5474
}
5575
]
5676
},
@@ -89,8 +109,6 @@ export default merge(baseConfig, {
89109
raw: true,
90110
entryOnly: true
91111
}),
92-
new ExtractTextPlugin({
93-
filename: path.join(config.rootPath, '[name].css')
94-
})
112+
new ExtractTextPlugin('[name].css')
95113
]
96114
});

docs/src/routes.js

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -6,35 +6,35 @@ const Changelog = (r) => require.ensure([], () => r(require('./pages/Changelog')
66
const Error404 = (r) => require.ensure([], () => r(require('./pages/Error')), 'base');
77

88
/* Components */
9-
const Avatar = (r) => require.ensure([], () => r(require('./pages/components/Avatar')), 'components');
10-
const BottomBar = (r) => require.ensure([], () => r(require('./pages/components/BottomBar')), 'components');
11-
const Buttons = (r) => require.ensure([], () => r(require('./pages/components/Buttons')), 'components');
12-
const ButtonToggle = (r) => require.ensure([], () => r(require('./pages/components/ButtonToggle')), 'components');
13-
const Card = (r) => require.ensure([], () => r(require('./pages/components/Card')), 'components');
14-
const Checkbox = (r) => require.ensure([], () => r(require('./pages/components/Checkbox')), 'components');
15-
const Chips = (r) => require.ensure([], () => r(require('./pages/components/Chips')), 'components');
16-
const Dialog = (r) => require.ensure([], () => r(require('./pages/components/Dialog')), 'components');
17-
const FileComponent = (r) => require.ensure([], () => r(require('./pages/components/File')), 'components');
18-
const Icon = (r) => require.ensure([], () => r(require('./pages/components/Icon')), 'components');
19-
const ImageLoader = (r) => require.ensure([], () => r(require('./pages/components/ImageLoader')), 'components');
20-
const InkRipple = (r) => require.ensure([], () => r(require('./pages/components/InkRipple')), 'components');
21-
const Input = (r) => require.ensure([], () => r(require('./pages/components/Input')), 'components');
22-
const List = (r) => require.ensure([], () => r(require('./pages/components/List')), 'components');
23-
const Menu = (r) => require.ensure([], () => r(require('./pages/components/Menu')), 'components');
24-
const Progress = (r) => require.ensure([], () => r(require('./pages/components/Progress')), 'components');
25-
const Radio = (r) => require.ensure([], () => r(require('./pages/components/Radio')), 'components');
26-
const Select = (r) => require.ensure([], () => r(require('./pages/components/Select')), 'components');
27-
const Sidenav = (r) => require.ensure([], () => r(require('./pages/components/Sidenav')), 'components');
28-
const Snackbar = (r) => require.ensure([], () => r(require('./pages/components/Snackbar')), 'components');
29-
const SpeedDial = (r) => require.ensure([], () => r(require('./pages/components/SpeedDial')), 'components');
30-
const Spinner = (r) => require.ensure([], () => r(require('./pages/components/Spinner')), 'components');
31-
const Subheader = (r) => require.ensure([], () => r(require('./pages/components/Subheader')), 'components');
32-
const Switch = (r) => require.ensure([], () => r(require('./pages/components/Switch')), 'components');
33-
const Table = (r) => require.ensure([], () => r(require('./pages/components/Table')), 'components');
34-
const Tabs = (r) => require.ensure([], () => r(require('./pages/components/Tabs')), 'components');
35-
const Toolbar = (r) => require.ensure([], () => r(require('./pages/components/Toolbar')), 'components');
36-
const Tooltip = (r) => require.ensure([], () => r(require('./pages/components/Tooltip')), 'components');
37-
const Whiteframe = (r) => require.ensure([], () => r(require('./pages/components/Whiteframe')), 'components');
9+
const Avatar = (r) => require.ensure([], () => r(require('./pages/components/Avatar')), 'avatar');
10+
const BottomBar = (r) => require.ensure([], () => r(require('./pages/components/BottomBar')), 'bottom-bar');
11+
const Buttons = (r) => require.ensure([], () => r(require('./pages/components/Buttons')), 'buttons');
12+
const ButtonToggle = (r) => require.ensure([], () => r(require('./pages/components/ButtonToggle')), 'button-toggle');
13+
const Card = (r) => require.ensure([], () => r(require('./pages/components/Card')), 'card');
14+
const Checkbox = (r) => require.ensure([], () => r(require('./pages/components/Checkbox')), 'checkbox');
15+
const Chips = (r) => require.ensure([], () => r(require('./pages/components/Chips')), 'chips');
16+
const Dialog = (r) => require.ensure([], () => r(require('./pages/components/Dialog')), 'dialog');
17+
const FileComponent = (r) => require.ensure([], () => r(require('./pages/components/File')), 'file');
18+
const Icon = (r) => require.ensure([], () => r(require('./pages/components/Icon')), 'icon');
19+
const ImageLoader = (r) => require.ensure([], () => r(require('./pages/components/ImageLoader')), 'image-loader');
20+
const InkRipple = (r) => require.ensure([], () => r(require('./pages/components/InkRipple')), 'ink-ripple');
21+
const Input = (r) => require.ensure([], () => r(require('./pages/components/Input')), 'input');
22+
const List = (r) => require.ensure([], () => r(require('./pages/components/List')), 'list');
23+
const Menu = (r) => require.ensure([], () => r(require('./pages/components/Menu')), 'menu');
24+
const Progress = (r) => require.ensure([], () => r(require('./pages/components/Progress')), 'progress');
25+
const Radio = (r) => require.ensure([], () => r(require('./pages/components/Radio')), 'radio');
26+
const Select = (r) => require.ensure([], () => r(require('./pages/components/Select')), 'select');
27+
const Sidenav = (r) => require.ensure([], () => r(require('./pages/components/Sidenav')), 'sidenav');
28+
const Snackbar = (r) => require.ensure([], () => r(require('./pages/components/Snackbar')), 'snackbar');
29+
const SpeedDial = (r) => require.ensure([], () => r(require('./pages/components/SpeedDial')), 'speed-dial');
30+
const Spinner = (r) => require.ensure([], () => r(require('./pages/components/Spinner')), 'spinner');
31+
const Subheader = (r) => require.ensure([], () => r(require('./pages/components/Subheader')), 'subheader');
32+
const Switch = (r) => require.ensure([], () => r(require('./pages/components/Switch')), 'switch');
33+
const Table = (r) => require.ensure([], () => r(require('./pages/components/Table')), 'table');
34+
const Tabs = (r) => require.ensure([], () => r(require('./pages/components/Tabs')), 'tabs');
35+
const Toolbar = (r) => require.ensure([], () => r(require('./pages/components/Toolbar')), 'toolbar');
36+
const Tooltip = (r) => require.ensure([], () => r(require('./pages/components/Tooltip')), 'tooltip');
37+
const Whiteframe = (r) => require.ensure([], () => r(require('./pages/components/Whiteframe')), 'whiteframe');
3838

3939
/* UI Elements */
4040
const Typography = (r) => require.ensure([], () => r(require('./pages/ui-elements/Typography')), 'ui-elements');

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
"babel-loader": "^6.2.10",
5252
"babel-plugin-add-module-exports": "^0.2.1",
5353
"babel-plugin-transform-runtime": "^6.22.0",
54+
"babel-preset-env": "^1.1.8",
5455
"babel-preset-es2015": "^6.22.0",
5556
"babel-preset-es2017": "^6.22.0",
5657
"babel-preset-stage-0": "^6.22.0",

0 commit comments

Comments
 (0)