Skip to content

Commit 6575007

Browse files
authoredAug 19, 2019
fix: Security vulnerabilities in dev dependencies + upgrade dev dependencies (#6)
* chore: Add development setup section to the contributing docs. * fix: npm audit fix (auto) 758 of 779 vulnerabilities by updating dependencies * chore: Remove measure-text as a DLL vendor dependency. * chore: Bump mongodb-js-precommit@2.0.0 * chore: Bump karma@4.2.0 * chore: Bump nyc@14.1.1 * chore: Bump css-loader@3.2.0. Add cssnano@4.1.10 * chore: Remove extract-text-plugin. Add mini-css-extract-plugin. * chore: Bump postcss-loader@3.0.0 * chore: Upgrade to Babel 7
1 parent 3104743 commit 6575007

File tree

5 files changed

+16390
-12952
lines changed

5 files changed

+16390
-12952
lines changed
 

‎.babelrc

+30-18
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,44 @@
11
{
22
"presets": [
3-
"react",
4-
["env", {
5-
"targets": {
6-
"browsers": ["last 2 versions", "safari >= 7"]
7-
},
8-
"modules": false
9-
}]
3+
"@babel/preset-react",
4+
[
5+
"@babel/preset-env",
6+
{
7+
"targets": {
8+
"browsers": [
9+
"last 2 versions",
10+
"safari >= 7"
11+
]
12+
},
13+
"modules": false
14+
}
15+
]
1016
],
1117
"plugins": [
12-
"syntax-object-rest-spread",
13-
"transform-object-rest-spread",
14-
"transform-class-properties"
18+
"@babel/plugin-syntax-object-rest-spread",
19+
"@babel/plugin-proposal-object-rest-spread",
20+
"@babel/plugin-proposal-class-properties"
1521
],
1622
"env": {
1723
"test": {
1824
"presets": [
19-
"react",
20-
["env", {
21-
"targets": {
22-
"browsers": ["last 2 versions", "safari >= 7"]
25+
"@babel/preset-react",
26+
[
27+
"@babel/preset-env",
28+
{
29+
"targets": {
30+
"browsers": [
31+
"last 2 versions",
32+
"safari >= 7"
33+
]
34+
}
2335
}
24-
}]
36+
]
2537
],
2638
"plugins": [
27-
"syntax-object-rest-spread",
28-
"transform-object-rest-spread",
29-
"transform-class-properties"
39+
"@babel/plugin-syntax-object-rest-spread",
40+
"@babel/plugin-proposal-object-rest-spread",
41+
"@babel/plugin-proposal-class-properties"
3042
]
3143
}
3244
}

‎config/project.js

-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ module.exports = {
2424
vendor: [
2525
'classnames',
2626
'lodash',
27-
'measure-text',
2827
'react',
2928
'react-dom',
3029
'units-css'

‎config/webpack.base.config.js

+39-33
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
const webpack = require('webpack');
22
const autoprefixer = require('autoprefixer');
3-
const ExtractTextPlugin = require('extract-text-webpack-plugin');
3+
const cssNano = require('cssnano');
4+
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
45
const path = require('path');
56
const project = require('./project');
67

@@ -51,40 +52,46 @@ module.exports = {
5152
{
5253
test: /\.scss$/,
5354
exclude: [/node_modules/],
54-
use: ExtractTextPlugin.extract({
55-
fallback: 'style-loader',
56-
use: [
57-
{
58-
loader: 'css-loader',
59-
options: {
60-
minimize: process.env.NODE_ENV === 'production',
61-
sourceMap: true,
62-
modules: true,
63-
importLoaders: 1,
55+
use: [
56+
{
57+
loader: MiniCssExtractPlugin.loader,
58+
options: {
59+
hmr: process.env.NODE_ENV === 'development' // only enable hot in development
60+
}
61+
},
62+
{
63+
loader: 'css-loader',
64+
options: {
65+
sourceMap: true,
66+
importLoaders: 1,
67+
modules: {
6468
localIdentName: (process.env.NODE_ENV === 'production')
6569
? '[hash:base64:5]'
6670
: project.name + '_[name]_[local]---[hash:base64:5]'
6771
}
68-
},
69-
{
70-
loader: 'postcss-loader',
71-
options: {
72-
sourceMap: true,
73-
plugins: function() {
74-
return [
75-
autoprefixer('last 2 versions')
76-
];
77-
}
78-
}
79-
},
80-
{
81-
loader: 'sass-loader',
82-
options: {
83-
outputStyle: 'expanded'
72+
}
73+
},
74+
{
75+
loader: 'postcss-loader',
76+
ident: 'postcss',
77+
options: {
78+
sourceMap: true,
79+
plugins: function() {
80+
return [
81+
cssNano(),
82+
autoprefixer('last 2 versions')
83+
];
8484
}
8585
}
86-
]
87-
})
86+
},
87+
{
88+
loader: 'sass-loader',
89+
options: {
90+
sourceMap: true,
91+
outputStyle: 'expanded'
92+
}
93+
}
94+
]
8895
},
8996
{
9097
test: /\.(png|jpg|jpeg|gif|svg)$/,
@@ -126,11 +133,10 @@ module.exports = {
126133
new webpack.DefinePlugin(GLOBALS),
127134

128135
// Extracts the imported Sass dependencies into a single CSS file
129-
new ExtractTextPlugin({
130-
filename: 'assets/css/[name].css',
131-
allChunks: true,
136+
new MiniCssExtractPlugin({
132137
ignoreOrder: false,
133-
disable: process.env.NODE_ENV !== 'production'
138+
filename: process.env.NODE_ENV !== 'production' ? '[name].css' : '[name].[hash].css',
139+
chunkFilename: process.env.NODE_ENV !== 'production' ? '[id].css' : '[id].[hash].css'
134140
})
135141
]
136142
};

‎package-lock.json

+16,301-12,882
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎package.json

+20-18
Original file line numberDiff line numberDiff line change
@@ -51,53 +51,55 @@
5151
"text"
5252
],
5353
"devDependencies": {
54+
"@babel/cli": "^7.0.0",
55+
"@babel/core": "^7.0.0",
56+
"@babel/plugin-proposal-class-properties": "^7.0.0",
57+
"@babel/plugin-proposal-export-default-from": "^7.0.0",
58+
"@babel/plugin-proposal-export-namespace-from": "^7.0.0",
59+
"@babel/plugin-proposal-object-rest-spread": "^7.0.0",
60+
"@babel/plugin-syntax-object-rest-spread": "^7.0.0",
61+
"@babel/preset-env": "^7.0.0",
62+
"@babel/preset-react": "^7.0.0",
63+
"@babel/register": "^7.0.0",
5464
"add-asset-html-webpack-plugin": "^2.1.3",
5565
"autoprefixer": "^8.6.2",
56-
"babel-cli": "^6.26.0",
57-
"babel-core": "^6.26.3",
58-
"babel-loader": "^7.1.4",
59-
"babel-plugin-syntax-object-rest-spread": "^6.13.0",
60-
"babel-plugin-transform-class-properties": "^6.24.1",
61-
"babel-plugin-transform-export-extensions": "^6.22.0",
62-
"babel-plugin-transform-object-rest-spread": "^6.26.0",
63-
"babel-preset-env": "^1.7.0",
66+
"babel-loader": "^8.0.0",
6467
"babel-preset-minify": "^0.4.3",
65-
"babel-preset-react": "^6.24.1",
66-
"babel-register": "^6.26.0",
6768
"chai": "^4.1.2",
6869
"chai-as-promised": "^7.1.1",
6970
"chai-enzyme": "^1.0.0-beta.0",
7071
"compression-webpack-plugin": "^1.1.11",
7172
"connect-history-api-fallback": "^1.5.0",
7273
"cross-env": "^5.1.6",
73-
"css-loader": "^0.28.11",
74+
"css-loader": "^3.2.0",
75+
"cssnano": "^4.1.10",
7476
"enzyme": "^3.3.0",
7577
"enzyme-adapter-react-16": "^1.1.1",
7678
"eslint": "^4.19.1",
7779
"eslint-config-mongodb-js": "^3.0.1",
7880
"eslint-plugin-mocha": "^5.0.0",
7981
"express": "^4.16.3",
80-
"extract-text-webpack-plugin": "^4.0.0-beta.0",
8182
"file-loader": "^1.1.11",
8283
"html-webpack-plugin": "^3.2.0",
8384
"ignore-loader": "^0.1.2",
8485
"inject-loader": "^4.0.1",
8586
"istanbul-instrumenter-loader": "^3.0.1",
8687
"jsdom": "^11.11.0",
8788
"jsdom-global": "^3.0.2",
88-
"karma": "^2.0.4",
89+
"karma": "^4.2.0",
8990
"karma-chrome-launcher": "^2.2.0",
9091
"karma-mocha": "^1.3.0",
9192
"karma-mocha-reporter": "^2.2.5",
9293
"karma-sourcemap-loader": "^0.3.7",
9394
"karma-webpack": "^4.0.0-beta.0",
9495
"lint-staged": "^7.1.3",
96+
"mini-css-extract-plugin": "^0.8.0",
9597
"mocha": "^5.2.0",
9698
"mocha-webpack": "^2.0.0-beta.0",
97-
"mongodb-js-precommit": "^1.0.1",
98-
"node-sass": "^4.9.0",
99-
"nyc": "^12.0.2",
100-
"postcss-loader": "^2.1.5",
99+
"mongodb-js-precommit": "^2.0.0",
100+
"node-sass": "^4.12.0",
101+
"nyc": "^14.1.1",
102+
"postcss-loader": "^3.0.0",
101103
"pre-commit": "^1.2.2",
102104
"prop-types": "^15.6.1",
103105
"raf": "^3.4.0",
@@ -125,7 +127,7 @@
125127
},
126128
"dependencies": {
127129
"classnames": "^2.2.6",
128-
"lodash": "^4.17.10",
130+
"lodash": "^4.17.15",
129131
"normalize.css": "^8.0.0",
130132
"units-css": "^0.4.0"
131133
},

0 commit comments

Comments
 (0)
Please sign in to comment.