Skip to content

Commit 17c9cd9

Browse files
committed
* use postcss-cssnext instead of directly cssnext
* use postcss-url instead of resolve-url-loader * fix karma configuration for postcss * add package-lock.json to ignore files (try npm5)
1 parent 5033df4 commit 17c9cd9

8 files changed

Lines changed: 85 additions & 48 deletions

File tree

.bootstraprc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
"styleLoaders": [
99
"style-loader?sourceMap",
1010
"css-loader?sourceMap&importLoaders=2",
11-
"resolve-url-loader",
1211
"sass-loader?sourceMap"
1312
],
1413
"extractStyles": false
@@ -17,7 +16,6 @@
1716
"styleLoaders": [
1817
"style-loader",
1918
"css-loader?importLoaders=2",
20-
"resolve-url-loader",
2119
"sass-loader?sourceMap"
2220
],
2321
"extractStyles": true

.dockerignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
.idea/
33
node_modules/
44
yarn.lock
5+
package-lock.json
56
static/dist/
67
*.iml
78
webpack-assets.json

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
.idea/
22
node_modules/
33
yarn.lock
4+
package-lock.json
45
static/dist/
56
*.iml
67
webpack-assets.json

karma.conf.js

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,13 @@ module.exports = function (config) {
3939
rules: [
4040
{ test: /\.(jpe?g|png|gif|svg)$/, loader: 'url', options: { limit: 10240 } },
4141
{ test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader' },
42-
{ test: /\.less$/, loader: 'style-loader!css-loader!less-loader' },
42+
{
43+
test: /\.less$/,
44+
loader: 'style-loader!css-loader?modules&importLoaders=2&sourceMap&localIdentName=[local]___[hash:base64:5]!postcss-loader!less-loader?outputStyle=expanded&sourceMap'
45+
},
4346
{
4447
test: /\.scss$/,
45-
loader: 'style-loader!css-loader?modules&importLoaders=2&sourceMap&localIdentName=[local]___[hash:base64:5]!autoprefixer-loader?browsers=last 2 version!sass-loader?outputStyle=expanded&sourceMap'
48+
loader: 'style-loader!css-loader?modules&importLoaders=2&sourceMap&localIdentName=[local]___[hash:base64:5]!postcss-loader!sass-loader?outputStyle=expanded&sourceMap'
4649
}
4750
]
4851
},
@@ -53,14 +56,32 @@ module.exports = function (config) {
5356
]
5457
},
5558
plugins: [
59+
new webpack.LoaderOptionsPlugin({
60+
test: /\.(less|scss)/,
61+
options: {
62+
postcss: function (webpack) {
63+
return [
64+
require("postcss-import")({ addDependencyTo: webpack }),
65+
require("postcss-url")(),
66+
require("postcss-cssnext")({ browsers: 'last 2 version' }),
67+
// add your "plugins" here
68+
// ...
69+
// and if you want to compress,
70+
// just use css-loader option that already use cssnano under the hood
71+
require("postcss-browser-reporter")(),
72+
require("postcss-reporter")(),
73+
]
74+
}
75+
}
76+
}),
5677
new webpack.IgnorePlugin(/\.json$/),
5778
new webpack.NoEmitOnErrorsPlugin(),
5879
new webpack.DefinePlugin({
5980
__CLIENT__: true,
6081
__SERVER__: false,
6182
__DEVELOPMENT__: true,
6283
__DEVTOOLS__: false, // <-------- DISABLE redux-devtools HERE
63-
__DLLS__: process.env.WEBPACK_DLLS === '1'
84+
__DLLS__: false
6485
})
6586
]
6687
},

package.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,6 @@
170170
"clean-webpack-plugin": "^0.1.15",
171171
"concurrently": "^3.3.0",
172172
"css-loader": "^0.28.0",
173-
"cssnext": "^1.8.4",
174173
"eslint": "^3.15.0",
175174
"eslint-config-airbnb": "^15.0.0",
176175
"eslint-loader": "^1.6.1",
@@ -200,16 +199,20 @@
200199
"phantomjs-polyfill": "^0.0.2",
201200
"phantomjs-prebuilt": "^2.1.14",
202201
"piping": "^1.0.0-rc.4",
202+
"postcss": "^6.0.1",
203+
"postcss-browser-reporter": "^0.5.0",
204+
"postcss-cssnext": "^2.11.0",
203205
"postcss-import": "^10.0.0",
204206
"postcss-loader": "^2.0.5",
207+
"postcss-reporter": "^3.0.0",
208+
"postcss-url": "^6.1.0",
205209
"react-a11y": "^0.3.3",
206210
"react-addons-test-utils": "^15.4.2",
207211
"react-hot-loader": "^3.0.0-beta.3",
208212
"react-to-html-webpack-plugin": "^2.2.0",
209213
"redux-devtools": "^3.3.2",
210214
"redux-devtools-dock-monitor": "^1.1.1",
211215
"redux-devtools-log-monitor": "^1.2.0",
212-
"resolve-url-loader": "^2.0.0",
213216
"sass-loader": "^6.0.1",
214217
"sinon": "^2.1.0",
215218
"style-loader": "^0.17.0",

postcss.config.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
1-
module.exports = ({ file, options }) => ({
2-
plugins: [
3-
require('postcss-import')({ root: file.dirname }),
4-
require('cssnext')(options.cssnext ? options.cssnext : false)
1+
module.exports = {
2+
use: [
3+
'postcss-import',
4+
'postcss-url',
5+
'postcss-cssnext',
6+
'postcss-browser-reporter',
7+
'postcss-reporter'
58
]
6-
});
9+
};

webpack/dev.config.js

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,25 @@ var webpackConfig = module.exports = {
123123
extensions: ['.json', '.js', '.jsx']
124124
},
125125
plugins: [
126+
new webpack.LoaderOptionsPlugin({
127+
test: /\.(less|scss)/,
128+
options: {
129+
postcss: function (webpack) {
130+
return [
131+
require("postcss-import")({ addDependencyTo: webpack }),
132+
require("postcss-url")(),
133+
require("postcss-cssnext")({ browsers: 'last 2 version' }),
134+
// add your "plugins" here
135+
// ...
136+
// and if you want to compress,
137+
// just use css-loader option that already use cssnano under the hood
138+
require("postcss-browser-reporter")(),
139+
require("postcss-reporter")(),
140+
]
141+
}
142+
}
143+
}),
144+
126145
// hot reload
127146
new webpack.HotModuleReplacementPlugin(),
128147

@@ -156,22 +175,15 @@ var webpackConfig = module.exports = {
156175
loader: 'css-loader',
157176
options: {
158177
modules: true,
159-
importLoaders: 3,
178+
importLoaders: 2,
160179
sourceMap: true,
161180
localIdentName: '[local]___[hash:base64:5]'
162181
}
163182
}, {
164183
loader: 'postcss-loader',
165184
options: {
166-
sourceMap: true,
167-
ctx: {
168-
cssnext: {
169-
browsers: 'last 2 version'
170-
}
171-
}
185+
sourceMap: true
172186
}
173-
}, {
174-
loader: 'resolve-url-loader',
175187
}, {
176188
loader: 'less-loader',
177189
query: {
@@ -188,22 +200,15 @@ var webpackConfig = module.exports = {
188200
loader: 'css-loader',
189201
options: {
190202
modules: true,
191-
importLoaders: 3,
203+
importLoaders: 2,
192204
sourceMap: true,
193205
localIdentName: '[local]___[hash:base64:5]'
194206
}
195207
}, {
196208
loader: 'postcss-loader',
197209
options: {
198-
sourceMap: true,
199-
ctx: {
200-
cssnext: {
201-
browsers: 'last 2 version'
202-
}
203-
}
210+
sourceMap: true
204211
}
205-
}, {
206-
loader: 'resolve-url-loader',
207212
}, {
208213
loader: 'sass-loader',
209214
options: {

webpack/prod.config.js

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -50,21 +50,14 @@ module.exports = {
5050
loader: 'css-loader',
5151
options: {
5252
modules: true,
53-
importLoaders: 3,
53+
importLoaders: 2,
5454
sourceMap: true
5555
}
5656
}, {
5757
loader: 'postcss-loader',
5858
options: {
59-
sourceMap: true,
60-
ctx: {
61-
cssnext: {
62-
browsers: 'last 2 version'
63-
}
64-
}
59+
sourceMap: true
6560
}
66-
}, {
67-
loader: 'resolve-url-loader',
6861
}, {
6962
loader: 'less-loader',
7063
options: {
@@ -84,21 +77,14 @@ module.exports = {
8477
loader: 'css-loader',
8578
options: {
8679
modules: true,
87-
importLoaders: 3,
80+
importLoaders: 2,
8881
sourceMap: true
8982
}
9083
}, {
9184
loader: 'postcss-loader',
9285
options: {
93-
sourceMap: true,
94-
ctx: {
95-
cssnext: {
96-
browsers: 'last 2 version'
97-
}
98-
}
86+
sourceMap: true
9987
}
100-
}, {
101-
loader: 'resolve-url-loader',
10288
}, {
10389
loader: 'sass-loader',
10490
options: {
@@ -150,6 +136,25 @@ module.exports = {
150136
extensions: ['.json', '.js', '.jsx']
151137
},
152138
plugins: [
139+
new webpack.LoaderOptionsPlugin({
140+
test: /\.(less|scss)/,
141+
options: {
142+
postcss: function (webpack) {
143+
return [
144+
require("postcss-import")({ addDependencyTo: webpack }),
145+
require("postcss-url")(),
146+
require("postcss-cssnext")({ browsers: 'last 2 version' }),
147+
// add your "plugins" here
148+
// ...
149+
// and if you want to compress,
150+
// just use css-loader option that already use cssnano under the hood
151+
require("postcss-browser-reporter")(),
152+
require("postcss-reporter")(),
153+
]
154+
}
155+
}
156+
}),
157+
153158
new CleanPlugin([assetsPath], { root: projectRootPath }),
154159

155160
// css files from the extract-text-plugin loader

0 commit comments

Comments
 (0)