diff --git a/packages/strapi-admin/files/admin/src/components/LeftMenuLink/index.js b/packages/strapi-admin/files/admin/src/components/LeftMenuLink/index.js index 8036e178a5..8a6fa18c98 100644 --- a/packages/strapi-admin/files/admin/src/components/LeftMenuLink/index.js +++ b/packages/strapi-admin/files/admin/src/components/LeftMenuLink/index.js @@ -29,9 +29,9 @@ class LeftMenuLink extends React.Component { // eslint-disable-line react/prefer } LeftMenuLink.propTypes = { - destination: React.PropTypes.string.isRequired.isRequired, - icon: React.PropTypes.string.isRequired.isRequired, - label: React.PropTypes.string.isRequired.isRequired, + destination: React.PropTypes.string.isRequired, + icon: React.PropTypes.string.isRequired, + label: React.PropTypes.string.isRequired, }; export default LeftMenuLink; diff --git a/packages/strapi-admin/files/admin/src/components/LeftMenuLinkContainer/index.js b/packages/strapi-admin/files/admin/src/components/LeftMenuLinkContainer/index.js index 354130f24f..68bcb759dd 100644 --- a/packages/strapi-admin/files/admin/src/components/LeftMenuLinkContainer/index.js +++ b/packages/strapi-admin/files/admin/src/components/LeftMenuLinkContainer/index.js @@ -88,7 +88,7 @@ class LeftMenuLinkContainer extends React.Component { // eslint-disable-line rea } LeftMenuLinkContainer.propTypes = { - plugins: React.PropTypes.object.isRequired.isRequired, + plugins: React.PropTypes.object.isRequired, }; export default LeftMenuLinkContainer; diff --git a/packages/strapi-admin/files/admin/src/components/Notification/index.js b/packages/strapi-admin/files/admin/src/components/Notification/index.js index df163cc740..4e671f1f8f 100644 --- a/packages/strapi-admin/files/admin/src/components/Notification/index.js +++ b/packages/strapi-admin/files/admin/src/components/Notification/index.js @@ -54,8 +54,8 @@ class Notification extends React.Component { // eslint-disable-line react/prefer } Notification.propTypes = { - notification: React.PropTypes.object.isRequired.isRequired, - onHideNotification: React.PropTypes.func.isRequired.isRequired, + notification: React.PropTypes.object.isRequired, + onHideNotification: React.PropTypes.func.isRequired, }; export default Notification; diff --git a/packages/strapi-admin/files/admin/src/components/NotificationsContainer/index.js b/packages/strapi-admin/files/admin/src/components/NotificationsContainer/index.js index 1b05584521..e8f7832fae 100644 --- a/packages/strapi-admin/files/admin/src/components/NotificationsContainer/index.js +++ b/packages/strapi-admin/files/admin/src/components/NotificationsContainer/index.js @@ -38,8 +38,8 @@ class NotificationsContainer extends React.Component { // eslint-disable-line re } NotificationsContainer.propTypes = { - notifications: React.PropTypes.object.isRequired.isRequired, - onHideNotification: React.PropTypes.func.isRequired.isRequired, + notifications: React.PropTypes.object.isRequired, + onHideNotification: React.PropTypes.func.isRequired, }; export default NotificationsContainer; diff --git a/packages/strapi-admin/files/admin/src/components/Plugin/index.js b/packages/strapi-admin/files/admin/src/components/Plugin/index.js index b7fa0088e4..594dc01af9 100644 --- a/packages/strapi-admin/files/admin/src/components/Plugin/index.js +++ b/packages/strapi-admin/files/admin/src/components/Plugin/index.js @@ -23,8 +23,8 @@ class Plugin extends React.Component { // eslint-disable-line react/prefer-state } Plugin.propTypes = { - description: React.PropTypes.object.isRequired.isRequired, - title: React.PropTypes.object.isRequired.isRequired, + description: React.PropTypes.object.isRequired, + title: React.PropTypes.object.isRequired, }; export default Plugin; diff --git a/packages/strapi-admin/files/admin/src/components/PluginHeader/index.js b/packages/strapi-admin/files/admin/src/components/PluginHeader/index.js index 66835b50b9..fa26dc99f0 100644 --- a/packages/strapi-admin/files/admin/src/components/PluginHeader/index.js +++ b/packages/strapi-admin/files/admin/src/components/PluginHeader/index.js @@ -31,9 +31,9 @@ class PluginHeader extends React.Component { // eslint-disable-line react/prefer } PluginHeader.propTypes = { - actions: React.PropTypes.array.isRequired.isRequired, - description: React.PropTypes.object.isRequired.isRequired, - title: React.PropTypes.object.isRequired.isRequired, + actions: React.PropTypes.array.isRequired, + description: React.PropTypes.object.isRequired, + title: React.PropTypes.object.isRequired, }; export default PluginHeader; diff --git a/packages/strapi-admin/files/admin/src/components/PluginHeaderActions/index.js b/packages/strapi-admin/files/admin/src/components/PluginHeaderActions/index.js index a3ea2b07ef..f597c83f70 100644 --- a/packages/strapi-admin/files/admin/src/components/PluginHeaderActions/index.js +++ b/packages/strapi-admin/files/admin/src/components/PluginHeaderActions/index.js @@ -33,7 +33,7 @@ class PluginHeaderActions extends React.Component { // eslint-disable-line react } PluginHeaderActions.propTypes = { - actions: React.PropTypes.array.isRequired.isRequired, + actions: React.PropTypes.array.isRequired, }; export default PluginHeaderActions; diff --git a/packages/strapi-admin/files/admin/src/components/PluginHeaderTitle/index.js b/packages/strapi-admin/files/admin/src/components/PluginHeaderTitle/index.js index e9f1ce9daa..1a372601f4 100644 --- a/packages/strapi-admin/files/admin/src/components/PluginHeaderTitle/index.js +++ b/packages/strapi-admin/files/admin/src/components/PluginHeaderTitle/index.js @@ -25,8 +25,8 @@ class PluginHeaderTitle extends React.Component { // eslint-disable-line react/p } PluginHeaderTitle.propTypes = { - description: React.PropTypes.object.isRequired.isRequired, - title: React.PropTypes.object.isRequired.isRequired, + description: React.PropTypes.object.isRequired, + title: React.PropTypes.object.isRequired, }; export default PluginHeaderTitle; diff --git a/packages/strapi-admin/files/admin/src/components/Toggle/index.js b/packages/strapi-admin/files/admin/src/components/Toggle/index.js index 9f49b3c74a..909aff9b36 100644 --- a/packages/strapi-admin/files/admin/src/components/Toggle/index.js +++ b/packages/strapi-admin/files/admin/src/components/Toggle/index.js @@ -28,9 +28,9 @@ function Toggle(props) { // eslint-disable-line react/prefer-stateless-function } Toggle.propTypes = { - messages: React.PropTypes.object.isRequired.isRequired, - onToggle: React.PropTypes.func.isRequired.isRequired, - values: React.PropTypes.array.isRequired.isRequired, + messages: React.PropTypes.object.isRequired, + onToggle: React.PropTypes.func.isRequired, + values: React.PropTypes.array.isRequired, }; export default Toggle; diff --git a/packages/strapi-admin/files/admin/src/components/ToggleOption/index.js b/packages/strapi-admin/files/admin/src/components/ToggleOption/index.js index 193b80ee74..2f13fcc4f7 100644 --- a/packages/strapi-admin/files/admin/src/components/ToggleOption/index.js +++ b/packages/strapi-admin/files/admin/src/components/ToggleOption/index.js @@ -19,7 +19,7 @@ ToggleOption.propTypes = { React.PropTypes.object.isRequired, React.PropTypes.string.isRequired, ]).isRequired, - value: React.PropTypes.string.isRequired.isRequired, + value: React.PropTypes.string.isRequired, }; export default injectIntl(ToggleOption); diff --git a/packages/strapi-admin/files/admin/src/containers/App/index.js b/packages/strapi-admin/files/admin/src/containers/App/index.js index 1c1fda6826..547af7f104 100644 --- a/packages/strapi-admin/files/admin/src/containers/App/index.js +++ b/packages/strapi-admin/files/admin/src/containers/App/index.js @@ -37,13 +37,13 @@ export class App extends React.Component { // eslint-disable-line react/prefer-s } App.contextTypes = { - router: React.PropTypes.object.isRequired.isRequired.isRequired, + router: React.PropTypes.object.isRequired, }; App.propTypes = { - children: React.PropTypes.node.isRequired.isRequired, - notifications: React.PropTypes.object.isRequired.isRequired, - onHideNotification: React.PropTypes.func.isRequired.isRequired, + children: React.PropTypes.node.isRequired, + notifications: React.PropTypes.object.isRequired, + onHideNotification: React.PropTypes.func.isRequired, }; const mapStateToProps = createStructuredSelector({ diff --git a/packages/strapi-admin/files/admin/src/containers/Content/index.js b/packages/strapi-admin/files/admin/src/containers/Content/index.js index 4a2a0f031a..628ee1f8a9 100644 --- a/packages/strapi-admin/files/admin/src/containers/Content/index.js +++ b/packages/strapi-admin/files/admin/src/containers/Content/index.js @@ -23,7 +23,7 @@ export class Content extends React.Component { // eslint-disable-line react/pref } Content.propTypes = { - children: React.PropTypes.node.isRequired.isRequired, + children: React.PropTypes.node.isRequired, }; const mapStateToProps = createSelector( diff --git a/packages/strapi-admin/files/admin/src/containers/HomePage/index.js b/packages/strapi-admin/files/admin/src/containers/HomePage/index.js index b6b1a4713d..7c571f0581 100644 --- a/packages/strapi-admin/files/admin/src/containers/HomePage/index.js +++ b/packages/strapi-admin/files/admin/src/containers/HomePage/index.js @@ -35,7 +35,7 @@ export class HomePage extends React.Component { // eslint-disable-line react/pre } HomePage.propTypes = { - plugins: React.PropTypes.object.isRequired.isRequired, + plugins: React.PropTypes.object.isRequired, }; const mapStateToProps = createStructuredSelector({ diff --git a/packages/strapi-admin/files/admin/src/containers/LanguageProvider/index.js b/packages/strapi-admin/files/admin/src/containers/LanguageProvider/index.js index ecf4f78f5a..3d7e64751d 100644 --- a/packages/strapi-admin/files/admin/src/containers/LanguageProvider/index.js +++ b/packages/strapi-admin/files/admin/src/containers/LanguageProvider/index.js @@ -23,9 +23,9 @@ export class LanguageProvider extends React.Component { // eslint-disable-line r } LanguageProvider.propTypes = { - children: React.PropTypes.element.isRequired.isRequired.isRequired, - locale: React.PropTypes.string.isRequired.isRequired, - messages: React.PropTypes.object.isRequired.isRequired, + children: React.PropTypes.element.isRequired, + locale: React.PropTypes.string.isRequired, + messages: React.PropTypes.object.isRequired, }; diff --git a/packages/strapi-admin/files/admin/src/containers/LeftMenu/index.js b/packages/strapi-admin/files/admin/src/containers/LeftMenu/index.js index 70ae8d4feb..d9226fcfe0 100644 --- a/packages/strapi-admin/files/admin/src/containers/LeftMenu/index.js +++ b/packages/strapi-admin/files/admin/src/containers/LeftMenu/index.js @@ -26,7 +26,7 @@ export class LeftMenu extends React.Component { // eslint-disable-line react/pre } LeftMenu.propTypes = { - plugins: React.PropTypes.object.isRequired.isRequired, + plugins: React.PropTypes.object.isRequired, }; function mapDispatchToProps(dispatch) { diff --git a/packages/strapi-admin/files/admin/src/containers/LocaleToggle/index.js b/packages/strapi-admin/files/admin/src/containers/LocaleToggle/index.js index d277f46c42..44e4992dca 100644 --- a/packages/strapi-admin/files/admin/src/containers/LocaleToggle/index.js +++ b/packages/strapi-admin/files/admin/src/containers/LocaleToggle/index.js @@ -29,7 +29,7 @@ export class LocaleToggle extends React.Component { // eslint-disable-line } LocaleToggle.propTypes = { - onLocaleToggle: React.PropTypes.func.isRequired.isRequired, + onLocaleToggle: React.PropTypes.func.isRequired, }; const mapStateToProps = createSelector( diff --git a/packages/strapi-admin/files/admin/src/containers/NotificationProvider/index.js b/packages/strapi-admin/files/admin/src/containers/NotificationProvider/index.js index 7608c52c64..431966d57d 100644 --- a/packages/strapi-admin/files/admin/src/containers/NotificationProvider/index.js +++ b/packages/strapi-admin/files/admin/src/containers/NotificationProvider/index.js @@ -20,7 +20,7 @@ export class NotificationProvider extends React.Component { // eslint-disable-li } NotificationProvider.propTypes = { - children: React.PropTypes.object.isRequired.isRequired, + children: React.PropTypes.object.isRequired, }; const mapStateToProps = selectNotificationProvider(); diff --git a/packages/strapi-admin/files/admin/src/containers/PluginPage/index.js b/packages/strapi-admin/files/admin/src/containers/PluginPage/index.js index 49e0dbd06e..ee28ab98a8 100644 --- a/packages/strapi-admin/files/admin/src/containers/PluginPage/index.js +++ b/packages/strapi-admin/files/admin/src/containers/PluginPage/index.js @@ -37,11 +37,11 @@ export class PluginPage extends React.Component { // eslint-disable-line react/p } PluginPage.contextTypes = { - router: React.PropTypes.object.isRequired.isRequired.isRequired, + router: React.PropTypes.object.isRequired, }; PluginPage.propTypes = { - plugins: React.PropTypes.object.isRequired.isRequired, + plugins: React.PropTypes.object.isRequired, }; const mapStateToProps = createSelector( diff --git a/packages/strapi-admin/files/package.json b/packages/strapi-admin/files/package.json index 994f2e67c0..d99abe2407 100644 --- a/packages/strapi-admin/files/package.json +++ b/packages/strapi-admin/files/package.json @@ -44,7 +44,7 @@ "prettier": "^1.5.3", "rimraf": "^2.5.4", "strapi-helper-plugin": "3.0.0-alpha.4.8", - "webpack": "^2.1.0-beta.25" + "webpack": "^3.5.5" }, "author": { "name": "Strapi", diff --git a/packages/strapi-helper-plugin/lib/internals/webpack/webpack.base.babel.js b/packages/strapi-helper-plugin/lib/internals/webpack/webpack.base.babel.js index 672b02da61..ee4cc0e44b 100644 --- a/packages/strapi-helper-plugin/lib/internals/webpack/webpack.base.babel.js +++ b/packages/strapi-helper-plugin/lib/internals/webpack/webpack.base.babel.js @@ -16,7 +16,7 @@ module.exports = (options) => ({ loaders: [{ test: /\.js$/, // Transform all .js files required somewhere with Babel use: { - loader: 'babel', + loader: 'babel-loader', options: { presets: options.babelPresets, env: { @@ -65,7 +65,24 @@ module.exports = (options) => ({ test: /\.(jpg|png|gif)$/, loaders: [ 'file-loader', - 'image-webpack?{progressive:true, optimizationLevel: 7, interlaced: false, pngquant:{quality: "65-90", speed: 4}}', + { + loader: 'image-webpack-loader', + query: { + mozjpeg: { + progressive: true, + }, + gifsicle: { + interlaced: false, + }, + optipng: { + optimizationLevel: 4, + }, + pngquant: { + quality: '65-90', + speed: 4, + }, + }, + }, ], }, { test: /\.html$/, @@ -81,7 +98,7 @@ module.exports = (options) => ({ plugins: options.plugins.concat([ new webpack.ProvidePlugin({ // make fetch available - fetch: 'exports?self.fetch!whatwg-fetch', + fetch: 'exports-loader?self.fetch!whatwg-fetch', }), // Always expose NODE_ENV to webpack, in order to use `process.env.NODE_ENV` diff --git a/packages/strapi-helper-plugin/lib/internals/webpack/webpack.dev.babel.js b/packages/strapi-helper-plugin/lib/internals/webpack/webpack.dev.babel.js index 07870b1071..39920730d8 100644 --- a/packages/strapi-helper-plugin/lib/internals/webpack/webpack.dev.babel.js +++ b/packages/strapi-helper-plugin/lib/internals/webpack/webpack.dev.babel.js @@ -13,7 +13,6 @@ const postcssFocus = require('postcss-focus'); const postcssReporter = require('postcss-reporter'); const plugins = [ new webpack.HotModuleReplacementPlugin(), // Tell webpack we want hot reloading - new webpack.NoErrorsPlugin(), ]; const isAdmin = process.env.IS_ADMIN === 'true'; @@ -70,7 +69,9 @@ module.exports = require('./webpack.base.babel')({ }, { loader: 'postcss-loader', options: { - config: path.resolve(__dirname, '..', 'postcss', 'postcss.config.js'), + config: { + path: path.resolve(__dirname, '..', 'postcss', 'postcss.config.js') + }, }, }, { loader: 'sass-loader', @@ -117,7 +118,9 @@ module.exports = require('./webpack.base.babel')({ */ function dependencyHandlers() { // Don't do anything during the DLL Build step - if (process.env.BUILDING_DLL) { return []; } + if (process.env.BUILDING_DLL) { + return []; + } // If the package.json does not have a dllPlugin property, use the CommonsChunkPlugin if (!dllPlugin) { diff --git a/packages/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js b/packages/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js index 50903cd872..6cbad027a3 100644 --- a/packages/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js +++ b/packages/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js @@ -73,7 +73,7 @@ module.exports = require('./webpack.base.babel')({ }, { loader: 'css-loader', options: { - localIdentName: `${pluginId}[local]__[path][name]__[hash:base64:5]`, + localIdentName: `${isAdmin ? 'admin' : pluginId}[local]__[path][name]__[hash:base64:5]`, modules: true, importLoaders: 1, sourceMap: true, @@ -81,7 +81,9 @@ module.exports = require('./webpack.base.babel')({ }, { loader: 'postcss-loader', options: { - config: path.resolve(__dirname, '..', 'postcss', 'postcss.config.js'), + config: { + path: path.resolve(__dirname, '..', 'postcss', 'postcss.config.js') + }, }, }, { loader: 'sass-loader', diff --git a/packages/strapi-helper-plugin/lib/internals/webpack/webpack.test.babel.js b/packages/strapi-helper-plugin/lib/internals/webpack/webpack.test.babel.js index 99db467417..9e51519e60 100644 --- a/packages/strapi-helper-plugin/lib/internals/webpack/webpack.test.babel.js +++ b/packages/strapi-helper-plugin/lib/internals/webpack/webpack.test.babel.js @@ -29,7 +29,7 @@ module.exports = { ], preLoaders: [ { test: /\.js$/, - loader: 'isparta', + loader: 'isparta-loader', include: path.resolve('src/'), }, ], @@ -45,7 +45,7 @@ module.exports = { loader: 'imports?define=>false,require=>false', }, { test: /\.js$/, - loader: 'babel', + loader: 'babel-loader', exclude: [/node_modules/], }, { test: /\.jpe?g$|\.gif$|\.png$|\.svg$/i, diff --git a/packages/strapi-helper-plugin/lib/server/middlewares/frontendMiddleware.js b/packages/strapi-helper-plugin/lib/server/middlewares/frontendMiddleware.js index a11c104388..28cf102ead 100644 --- a/packages/strapi-helper-plugin/lib/server/middlewares/frontendMiddleware.js +++ b/packages/strapi-helper-plugin/lib/server/middlewares/frontendMiddleware.js @@ -13,6 +13,9 @@ const addDevMiddlewares = (app, webpackConfig) => { publicPath: webpackConfig.output.publicPath, silent: true, stats: 'errors-only', + headers: { + 'Access-Control-Allow-Origin': '*' + } }); app.use(middleware); diff --git a/packages/strapi-helper-plugin/package.json b/packages/strapi-helper-plugin/package.json index 491382cd96..beae99e75c 100644 --- a/packages/strapi-helper-plugin/package.json +++ b/packages/strapi-helper-plugin/package.json @@ -55,7 +55,7 @@ "compression": "1.6.2", "coveralls": "2.11.14", "cross-env": "3.1.3", - "css-loader": "0.25.0", + "css-loader": "^0.28.5", "enzyme": "2.5.1", "eslint": "^4.4.1", "eslint-config-airbnb": "^15.1.0", @@ -70,29 +70,29 @@ "eventsource-polyfill": "0.9.6", "expect": "1.20.2", "expect-jsx": "2.6.0", - "exports-loader": "0.6.3", + "exports-loader": "^0.6.4", "express": "4.14.0", - "extract-text-webpack-plugin": "^2.1.2", - "file-loader": "0.9.0", + "extract-text-webpack-plugin": "^3.0.0", + "file-loader": "^0.11.2", "fontfaceobserver": "2.0.1", "history": "3.0.0", - "html-loader": "^0.4.3", - "html-webpack-plugin": "^2.22.0", - "image-webpack-loader": "2.0.0", + "html-loader": "^0.5.1", + "html-webpack-plugin": "^2.30.1", + "image-webpack-loader": "^3.3.1", "immutable": "3.8.1", - "imports-loader": "0.6.5", + "imports-loader": "^0.7.1", "intl": "1.2.4", "invariant": "2.2.1", - "json-loader": "0.5.4", + "json-loader": "^0.5.7", "lint-staged": "3.2.0", "lodash": "4.15.0", "mocha": "3.1.2", "node-sass": "4.5.3", - "null-loader": "0.1.1", + "null-loader": "^0.1.1", "plop": "1.5.0", "postcss-cssnext": "2.11.0", "postcss-focus": "1.0.0", - "postcss-loader": "1.3.3", + "postcss-loader": "^2.0.6", "postcss-reporter": "2.0.0", "postcss-smart-import": "0.6.13", "pre-commit": "1.1.3", @@ -112,15 +112,18 @@ "redux-saga": "0.11.0", "reselect": "2.5.3", "rimraf": "2.5.4", - "sass-loader": "4.1.1", + "sass-loader": "^6.0.6", "shelljs": "0.7.5", "sinon": "2.0.0-pre", - "style-loader": "0.13.1", - "url-loader": "0.5.7", + "style-loader": "^0.18.2", + "url-loader": "^0.5.9", "warning": "3.0.0", - "webpack": "2.1.0-beta.25", - "webpack-dev-middleware": "1.8.4", - "webpack-hot-middleware": "2.13.1", + "webpack": "^3.5.5", + "webpack-dev-middleware": "^1.12.0", + "webpack-hot-middleware": "^2.18.2", "whatwg-fetch": "1.0.0" + }, + "devDependencies": { + "uglifyjs-webpack-plugin": "^1.0.0-beta.2" } -} \ No newline at end of file +} diff --git a/packages/strapi-plugin-settings-manager/package.json b/packages/strapi-plugin-settings-manager/package.json index 310b083a05..6fed13e2d4 100644 --- a/packages/strapi-plugin-settings-manager/package.json +++ b/packages/strapi-plugin-settings-manager/package.json @@ -48,7 +48,7 @@ "prettier": "^1.5.3", "rimraf": "^2.5.4", "strapi-helper-plugin": "file:../strapi-helper-plugin", - "webpack": "^2.1.0-beta.25" + "webpack": "^3.5.5" }, "author": { "name": "Strapi team", @@ -67,4 +67,4 @@ "npm": ">= 3.0.0" }, "license": "MIT" -} \ No newline at end of file +}