From ccfb169af457c49a05dbc5c3869d2118535861bf Mon Sep 17 00:00:00 2001 From: Daniel Rey Lopez Date: Sun, 19 Feb 2017 12:10:27 +0000 Subject: [PATCH] Added WebPack2 This actually makes the JS bundler significantly bigger (170KB), but WebPack2 is the actively maintained version and they are working on implementing further optimisations (see https://webpack.js.org/vote/ ) --- client/lib/calypso-boot/index.js | 6 +- client/lib/mixins/i18n/index.js | 12 +- karma.conf.js | 2 +- npm-shrinkwrap.json | 806 +++++++++++++++++++++---------- package.json | 33 +- webpack.config.js | 79 +-- webpack.production.config.js | 7 +- 7 files changed, 628 insertions(+), 317 deletions(-) diff --git a/client/lib/calypso-boot/index.js b/client/lib/calypso-boot/index.js index 0719b3129..bc996fdd3 100644 --- a/client/lib/calypso-boot/index.js +++ b/client/lib/calypso-boot/index.js @@ -1,5 +1,5 @@ import ReactClass from 'react/lib/ReactClass'; -import i18n from '../mixins/i18n'; +import { initialize, mixin } from '../mixins/i18n'; export default function boot() { // Initialize i18n @@ -9,9 +9,9 @@ export default function boot() { i18nLocaleStringsObject = window.i18nLocaleStrings; } - i18n.initialize( i18nLocaleStringsObject ); + initialize( i18nLocaleStringsObject ); - ReactClass.injection.injectMixin( i18n.mixin ); + ReactClass.injection.injectMixin( mixin ); } boot(); diff --git a/client/lib/mixins/i18n/index.js b/client/lib/mixins/i18n/index.js index 33c7d14c2..28da0f9bc 100644 --- a/client/lib/mixins/i18n/index.js +++ b/client/lib/mixins/i18n/index.js @@ -3,20 +3,14 @@ // as implement our own translation logic, that could involved the server. let translations = {}; -const initialize = ( newTranslations ) => { +export const initialize = ( newTranslations ) => { translations = newTranslations; }; -const translate = ( text ) => { +export const translate = ( text ) => { return ( text in translations ) ? translations[ text ] : text; }; -const mixin = { +export const mixin = { translate, }; - -export default { - initialize, - translate, - mixin, -}; diff --git a/karma.conf.js b/karma.conf.js index a8fb6c07d..72a51b80c 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -27,7 +27,7 @@ module.exports = function( config ) { { type: 'text-summary' }, ] }, - webpack: Object.assign( baseWebpackConfig, { + webpack: Object.assign( baseWebpackConfig(), { entry: {}, isparta: { embedSource: true, diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 4071f8df0..a5f09161a 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -25,6 +25,20 @@ "from": "acorn@^3.1.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz" }, + "acorn-dynamic-import": { + "version": "2.0.1", + "from": "acorn-dynamic-import@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.1.tgz", + "dev": true, + "dependencies": { + "acorn": { + "version": "4.0.11", + "from": "acorn@>=4.0.3 <5.0.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.11.tgz", + "dev": true + } + } + }, "acorn-globals": { "version": "3.1.0", "from": "acorn-globals@^3.1.0", @@ -83,6 +97,12 @@ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", "dev": true }, + "ansi-html": { + "version": "0.0.7", + "from": "ansi-html@0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "dev": true + }, "ansi-regex": { "version": "2.1.1", "from": "ansi-regex@^2.0.0", @@ -124,9 +144,9 @@ "dev": true, "dependencies": { "async": { - "version": "2.1.4", + "version": "2.1.5", "from": "async@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.1.4.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-2.1.5.tgz", "dev": true } } @@ -226,6 +246,12 @@ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", "dev": true }, + "asn1.js": { + "version": "4.9.1", + "from": "asn1.js@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.1.tgz", + "dev": true + }, "assert": { "version": "1.4.1", "from": "assert@^1.1.1", @@ -297,7 +323,7 @@ }, "babel-core": { "version": "6.23.1", - "from": "babel-core@>=6.9.1 <7.0.0", + "from": "babel-core@>=6.23.1 <7.0.0", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.23.1.tgz" }, "babel-eslint": { @@ -348,7 +374,7 @@ }, "babel-helper-function-name": { "version": "6.23.0", - "from": "babel-helper-function-name@>=6.23.0 <7.0.0", + "from": "babel-helper-function-name@>=6.22.0 <7.0.0", "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.23.0.tgz" }, "babel-helper-get-function-arity": { @@ -388,7 +414,7 @@ }, "babel-loader": { "version": "6.3.2", - "from": "babel-loader@>=6.2.4 <7.0.0", + "from": "babel-loader@>=6.3.2 <7.0.0", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-6.3.2.tgz" }, "babel-messages": { @@ -404,12 +430,12 @@ }, "babel-plugin-check-es2015-constants": { "version": "6.22.0", - "from": "babel-plugin-check-es2015-constants@^6.22.0", + "from": "babel-plugin-check-es2015-constants@^6.3.13", "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz" }, "babel-plugin-lodash": { "version": "3.2.11", - "from": "babel-plugin-lodash@>=3.2.9 <4.0.0", + "from": "babel-plugin-lodash@>=3.2.11 <4.0.0", "resolved": "https://registry.npmjs.org/babel-plugin-lodash/-/babel-plugin-lodash-3.2.11.tgz", "dev": true }, @@ -470,7 +496,7 @@ }, "babel-plugin-syntax-trailing-function-commas": { "version": "6.22.0", - "from": "babel-plugin-syntax-trailing-function-commas@^6.22.0", + "from": "babel-plugin-syntax-trailing-function-commas@^6.13.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz" }, "babel-plugin-transform-async-generator-functions": { @@ -480,7 +506,7 @@ }, "babel-plugin-transform-async-to-generator": { "version": "6.22.0", - "from": "babel-plugin-transform-async-to-generator@^6.22.0", + "from": "babel-plugin-transform-async-to-generator@^6.8.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.22.0.tgz" }, "babel-plugin-transform-class-constructor-call": { @@ -500,117 +526,117 @@ }, "babel-plugin-transform-es2015-arrow-functions": { "version": "6.22.0", - "from": "babel-plugin-transform-es2015-arrow-functions@^6.22.0", + "from": "babel-plugin-transform-es2015-arrow-functions@^6.3.13", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz" }, "babel-plugin-transform-es2015-block-scoped-functions": { "version": "6.22.0", - "from": "babel-plugin-transform-es2015-block-scoped-functions@^6.22.0", + "from": "babel-plugin-transform-es2015-block-scoped-functions@^6.3.13", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz" }, "babel-plugin-transform-es2015-block-scoping": { "version": "6.23.0", - "from": "babel-plugin-transform-es2015-block-scoping@>=6.22.0 <7.0.0", + "from": "babel-plugin-transform-es2015-block-scoping@>=6.6.0 <7.0.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.23.0.tgz" }, "babel-plugin-transform-es2015-classes": { "version": "6.23.0", - "from": "babel-plugin-transform-es2015-classes@>=6.22.0 <7.0.0", + "from": "babel-plugin-transform-es2015-classes@>=6.6.0 <7.0.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.23.0.tgz" }, "babel-plugin-transform-es2015-computed-properties": { "version": "6.22.0", - "from": "babel-plugin-transform-es2015-computed-properties@^6.22.0", + "from": "babel-plugin-transform-es2015-computed-properties@^6.3.13", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.22.0.tgz" }, "babel-plugin-transform-es2015-destructuring": { "version": "6.23.0", - "from": "babel-plugin-transform-es2015-destructuring@>=6.22.0 <7.0.0", + "from": "babel-plugin-transform-es2015-destructuring@>=6.6.0 <7.0.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz" }, "babel-plugin-transform-es2015-duplicate-keys": { "version": "6.22.0", - "from": "babel-plugin-transform-es2015-duplicate-keys@^6.22.0", + "from": "babel-plugin-transform-es2015-duplicate-keys@^6.6.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.22.0.tgz" }, "babel-plugin-transform-es2015-for-of": { "version": "6.23.0", - "from": "babel-plugin-transform-es2015-for-of@>=6.22.0 <7.0.0", + "from": "babel-plugin-transform-es2015-for-of@>=6.6.0 <7.0.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz" }, "babel-plugin-transform-es2015-function-name": { "version": "6.22.0", - "from": "babel-plugin-transform-es2015-function-name@^6.22.0", + "from": "babel-plugin-transform-es2015-function-name@^6.3.13", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.22.0.tgz" }, "babel-plugin-transform-es2015-literals": { "version": "6.22.0", - "from": "babel-plugin-transform-es2015-literals@^6.22.0", + "from": "babel-plugin-transform-es2015-literals@^6.3.13", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz" }, "babel-plugin-transform-es2015-modules-amd": { "version": "6.22.0", - "from": "babel-plugin-transform-es2015-modules-amd@>=6.22.0 <7.0.0", + "from": "babel-plugin-transform-es2015-modules-amd@>=6.8.0 <7.0.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.22.0.tgz" }, "babel-plugin-transform-es2015-modules-commonjs": { "version": "6.23.0", - "from": "babel-plugin-transform-es2015-modules-commonjs@>=6.22.0 <7.0.0", + "from": "babel-plugin-transform-es2015-modules-commonjs@>=6.6.0 <7.0.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.23.0.tgz" }, "babel-plugin-transform-es2015-modules-systemjs": { "version": "6.23.0", - "from": "babel-plugin-transform-es2015-modules-systemjs@>=6.22.0 <7.0.0", + "from": "babel-plugin-transform-es2015-modules-systemjs@>=6.12.0 <7.0.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.23.0.tgz" }, "babel-plugin-transform-es2015-modules-umd": { "version": "6.23.0", - "from": "babel-plugin-transform-es2015-modules-umd@>=6.22.0 <7.0.0", + "from": "babel-plugin-transform-es2015-modules-umd@>=6.12.0 <7.0.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.23.0.tgz" }, "babel-plugin-transform-es2015-object-super": { "version": "6.22.0", - "from": "babel-plugin-transform-es2015-object-super@^6.22.0", + "from": "babel-plugin-transform-es2015-object-super@^6.3.13", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.22.0.tgz" }, "babel-plugin-transform-es2015-parameters": { "version": "6.23.0", - "from": "babel-plugin-transform-es2015-parameters@>=6.22.0 <7.0.0", + "from": "babel-plugin-transform-es2015-parameters@>=6.6.0 <7.0.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.23.0.tgz" }, "babel-plugin-transform-es2015-shorthand-properties": { "version": "6.22.0", - "from": "babel-plugin-transform-es2015-shorthand-properties@^6.22.0", + "from": "babel-plugin-transform-es2015-shorthand-properties@^6.3.13", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.22.0.tgz" }, "babel-plugin-transform-es2015-spread": { "version": "6.22.0", - "from": "babel-plugin-transform-es2015-spread@^6.22.0", + "from": "babel-plugin-transform-es2015-spread@^6.3.13", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz" }, "babel-plugin-transform-es2015-sticky-regex": { "version": "6.22.0", - "from": "babel-plugin-transform-es2015-sticky-regex@^6.22.0", + "from": "babel-plugin-transform-es2015-sticky-regex@^6.3.13", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.22.0.tgz" }, "babel-plugin-transform-es2015-template-literals": { "version": "6.22.0", - "from": "babel-plugin-transform-es2015-template-literals@^6.22.0", + "from": "babel-plugin-transform-es2015-template-literals@^6.6.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz" }, "babel-plugin-transform-es2015-typeof-symbol": { "version": "6.23.0", - "from": "babel-plugin-transform-es2015-typeof-symbol@>=6.22.0 <7.0.0", + "from": "babel-plugin-transform-es2015-typeof-symbol@>=6.6.0 <7.0.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz" }, "babel-plugin-transform-es2015-unicode-regex": { "version": "6.22.0", - "from": "babel-plugin-transform-es2015-unicode-regex@^6.22.0", + "from": "babel-plugin-transform-es2015-unicode-regex@^6.3.13", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.22.0.tgz" }, "babel-plugin-transform-exponentiation-operator": { "version": "6.22.0", - "from": "babel-plugin-transform-exponentiation-operator@^6.22.0", + "from": "babel-plugin-transform-exponentiation-operator@^6.8.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.22.0.tgz" }, "babel-plugin-transform-export-extensions": { @@ -650,12 +676,12 @@ }, "babel-plugin-transform-react-remove-prop-types": { "version": "0.3.2", - "from": "babel-plugin-transform-react-remove-prop-types@latest", + "from": "babel-plugin-transform-react-remove-prop-types@>=0.3.2 <0.4.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.3.2.tgz" }, "babel-plugin-transform-regenerator": { "version": "6.22.0", - "from": "babel-plugin-transform-regenerator@^6.22.0", + "from": "babel-plugin-transform-regenerator@^6.6.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.22.0.tgz" }, "babel-plugin-transform-strict-mode": { @@ -665,13 +691,13 @@ }, "babel-polyfill": { "version": "6.23.0", - "from": "babel-polyfill@>=6.7.4 <7.0.0", + "from": "babel-polyfill@>=6.23.0 <7.0.0", "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz", "dev": true }, "babel-preset-env": { "version": "1.1.8", - "from": "babel-preset-env@latest", + "from": "babel-preset-env@>=1.1.8 <2.0.0", "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.1.8.tgz" }, "babel-preset-flow": { @@ -681,12 +707,12 @@ }, "babel-preset-react": { "version": "6.23.0", - "from": "babel-preset-react@>=6.5.0 <7.0.0", + "from": "babel-preset-react@>=6.23.0 <7.0.0", "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.23.0.tgz" }, "babel-preset-stage-1": { "version": "6.22.0", - "from": "babel-preset-stage-1@>=6.5.0 <7.0.0", + "from": "babel-preset-stage-1@>=6.22.0 <7.0.0", "resolved": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.22.0.tgz" }, "babel-preset-stage-2": { @@ -811,6 +837,12 @@ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", "dev": true }, + "bn.js": { + "version": "4.11.6", + "from": "bn.js@>=4.1.1 <5.0.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "dev": true + }, "body-parser": { "version": "1.16.1", "from": "body-parser@^1.12.4", @@ -842,10 +874,40 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", "dev": true }, + "brorand": { + "version": "1.0.7", + "from": "brorand@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.0.7.tgz", + "dev": true + }, "browserify-aes": { - "version": "0.4.0", - "from": "browserify-aes@0.4.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-0.4.0.tgz", + "version": "1.0.6", + "from": "browserify-aes@>=1.0.4 <2.0.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz", + "dev": true + }, + "browserify-cipher": { + "version": "1.0.0", + "from": "browserify-cipher@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", + "dev": true + }, + "browserify-des": { + "version": "1.0.0", + "from": "browserify-des@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", + "dev": true + }, + "browserify-rsa": { + "version": "4.0.1", + "from": "browserify-rsa@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "dev": true + }, + "browserify-sign": { + "version": "4.0.0", + "from": "browserify-sign@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.0.tgz", "dev": true }, "browserify-zlib": { @@ -856,12 +918,12 @@ }, "browserslist": { "version": "1.7.4", - "from": "browserslist@>=1.7.2 <2.0.0", + "from": "browserslist@>=1.4.0 <2.0.0", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.4.tgz" }, "buffer": { "version": "4.9.1", - "from": "buffer@^4.9.0", + "from": "buffer@^4.3.0", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "dev": true }, @@ -877,6 +939,12 @@ "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", "dev": true }, + "buffer-xor": { + "version": "1.0.3", + "from": "buffer-xor@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "dev": true + }, "builtin-modules": { "version": "1.1.1", "from": "builtin-modules@^1.0.0", @@ -914,16 +982,23 @@ "dev": true }, "camelcase": { - "version": "2.1.1", - "from": "camelcase@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "dev": true + "version": "1.2.1", + "from": "camelcase@^1.0.2", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz" }, "camelcase-keys": { "version": "2.1.0", "from": "camelcase-keys@^2.0.0", "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "dev": true + "dev": true, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "from": "camelcase@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "dev": true + } + } }, "caniuse-api": { "version": "1.5.3", @@ -933,7 +1008,7 @@ }, "caniuse-db": { "version": "1.0.30000624", - "from": "caniuse-db@>=1.0.30000623 <2.0.0", + "from": "caniuse-db@>=1.0.30000624 <2.0.0", "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000624.tgz" }, "cardinal": { @@ -975,6 +1050,12 @@ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.6.1.tgz", "dev": true }, + "cipher-base": { + "version": "1.0.3", + "from": "cipher-base@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.3.tgz", + "dev": true + }, "circular-json": { "version": "0.3.1", "from": "circular-json@^0.3.1", @@ -1042,10 +1123,16 @@ "dev": true }, "cliui": { - "version": "3.2.0", - "from": "cliui@>=3.2.0 <4.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "dev": true + "version": "2.1.0", + "from": "cliui@^2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "from": "wordwrap@0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" + } + } }, "clone": { "version": "1.0.2", @@ -1298,6 +1385,20 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "dev": true }, + "cosmiconfig": { + "version": "2.1.1", + "from": "cosmiconfig@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.1.1.tgz", + "dev": true, + "dependencies": { + "minimist": { + "version": "1.2.0", + "from": "minimist@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "dev": true + } + } + }, "crc": { "version": "3.4.4", "from": "crc@>=3.4.4 <4.0.0", @@ -1310,6 +1411,24 @@ "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-1.0.1.tgz", "dev": true }, + "create-ecdh": { + "version": "4.0.0", + "from": "create-ecdh@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", + "dev": true + }, + "create-hash": { + "version": "1.1.2", + "from": "create-hash@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.2.tgz", + "dev": true + }, + "create-hmac": { + "version": "1.1.4", + "from": "create-hmac@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.4.tgz", + "dev": true + }, "cross-env": { "version": "1.0.8", "from": "cross-env@>=1.0.7 <2.0.0", @@ -1337,9 +1456,9 @@ "dev": true }, "crypto-browserify": { - "version": "3.3.0", - "from": "crypto-browserify@3.3.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.3.0.tgz", + "version": "3.11.0", + "from": "crypto-browserify@>=3.11.0 <4.0.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.0.tgz", "dev": true }, "css-color-names": { @@ -1349,16 +1468,24 @@ "dev": true }, "css-loader": { - "version": "0.23.1", - "from": "css-loader@>=0.23.1 <0.24.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.23.1.tgz", + "version": "0.26.1", + "from": "css-loader@>=0.26.1 <0.27.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.26.1.tgz", "dev": true }, "css-selector-tokenizer": { - "version": "0.5.4", - "from": "css-selector-tokenizer@>=0.5.1 <0.6.0", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.5.4.tgz", - "dev": true + "version": "0.7.0", + "from": "css-selector-tokenizer@>=0.7.0 <0.8.0", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", + "dev": true, + "dependencies": { + "regexpu-core": { + "version": "1.0.0", + "from": "regexpu-core@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", + "dev": true + } + } }, "cssesc": { "version": "0.1.0", @@ -1500,6 +1627,12 @@ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz", "dev": true }, + "des.js": { + "version": "1.0.0", + "from": "des.js@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "dev": true + }, "destroy": { "version": "1.0.4", "from": "destroy@>=1.0.4 <1.1.0", @@ -1523,6 +1656,12 @@ "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", "dev": true }, + "diffie-hellman": { + "version": "5.0.2", + "from": "diffie-hellman@>=5.0.0 <6.0.0", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", + "dev": true + }, "doctrine": { "version": "1.5.0", "from": "doctrine@>=1.2.2 <2.0.0", @@ -1568,6 +1707,12 @@ "from": "electron-to-chromium@>=1.2.2 <2.0.0", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.2.2.tgz" }, + "elliptic": { + "version": "6.3.3", + "from": "elliptic@>=6.0.0 <7.0.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz", + "dev": true + }, "emojis-list": { "version": "2.1.0", "from": "emojis-list@^2.0.0", @@ -1639,18 +1784,10 @@ "dev": true }, "enhanced-resolve": { - "version": "0.9.1", - "from": "enhanced-resolve@~0.9.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz", - "dev": true, - "dependencies": { - "memory-fs": { - "version": "0.2.0", - "from": "memory-fs@>=0.2.0 <0.3.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz", - "dev": true - } - } + "version": "3.1.0", + "from": "enhanced-resolve@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.1.0.tgz", + "dev": true }, "ent": { "version": "2.2.0", @@ -1766,7 +1903,7 @@ }, "eslint-loader": { "version": "1.6.1", - "from": "eslint-loader@>=1.3.0 <2.0.0", + "from": "eslint-loader@>=1.6.1 <2.0.0", "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-1.6.1.tgz", "dev": true }, @@ -1848,6 +1985,12 @@ "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", "dev": true }, + "evp_bytestokey": { + "version": "1.0.0", + "from": "evp_bytestokey@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz", + "dev": true + }, "exit-hook": { "version": "1.1.1", "from": "exit-hook@^1.0.0", @@ -1957,10 +2100,18 @@ "dev": true }, "extract-text-webpack-plugin": { - "version": "1.0.1", - "from": "extract-text-webpack-plugin@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-1.0.1.tgz", - "dev": true + "version": "2.0.0-rc.3", + "from": "extract-text-webpack-plugin@>=2.0.0-rc.3 <3.0.0", + "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-2.0.0-rc.3.tgz", + "dev": true, + "dependencies": { + "async": { + "version": "2.1.5", + "from": "async@>=2.1.2 <3.0.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.1.5.tgz", + "dev": true + } + } }, "extsprintf": { "version": "1.0.2", @@ -2011,9 +2162,9 @@ "dev": true }, "file-loader": { - "version": "0.8.5", - "from": "file-loader@>=0.8.5 <0.9.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-0.8.5.tgz", + "version": "0.10.0", + "from": "file-loader@>=0.10.0 <0.11.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-0.10.0.tgz", "dev": true }, "filename-regex": { @@ -2237,6 +2388,12 @@ "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", "dev": true }, + "handle-thing": { + "version": "1.2.5", + "from": "handle-thing@>=1.2.4 <2.0.0", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz", + "dev": true + }, "handlebars": { "version": "4.0.6", "from": "handlebars@>=4.0.1 <5.0.0", @@ -2305,6 +2462,12 @@ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", "dev": true }, + "hash.js": { + "version": "1.0.3", + "from": "hash.js@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.0.3.tgz", + "dev": true + }, "hawk": { "version": "3.1.3", "from": "hawk@~3.1.3", @@ -2333,6 +2496,12 @@ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.2.0.tgz", "dev": true }, + "hpack.js": { + "version": "2.1.6", + "from": "hpack.js@>=2.1.6 <3.0.0", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "dev": true + }, "html-comment-regex": { "version": "1.1.1", "from": "html-comment-regex@>=1.1.0 <2.0.0", @@ -2345,6 +2514,18 @@ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.1.tgz", "dev": true }, + "html-entities": { + "version": "1.2.0", + "from": "html-entities@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.0.tgz", + "dev": true + }, + "http-deceiver": { + "version": "1.2.7", + "from": "http-deceiver@>=1.2.4 <2.0.0", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "dev": true + }, "http-errors": { "version": "1.5.1", "from": "http-errors@~1.5.1", @@ -2430,18 +2611,10 @@ "dev": true }, "imports-loader": { - "version": "0.6.5", - "from": "imports-loader@^0.6.5", - "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-0.6.5.tgz", - "dev": true, - "dependencies": { - "source-map": { - "version": "0.1.43", - "from": "source-map@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "dev": true - } - } + "version": "0.7.0", + "from": "imports-loader@>=0.7.0 <0.8.0", + "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-0.7.0.tgz", + "dev": true }, "imurmurhash": { "version": "0.1.4", @@ -2763,9 +2936,9 @@ "dev": true, "dependencies": { "async": { - "version": "2.1.4", + "version": "2.1.5", "from": "async@>=2.1.4 <3.0.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.1.4.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-2.1.5.tgz", "dev": true } } @@ -3164,9 +3337,9 @@ "dev": true }, "karma-webpack": { - "version": "1.8.1", - "from": "karma-webpack@>=1.7.0 <2.0.0", - "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-1.8.1.tgz", + "version": "2.0.2", + "from": "karma-webpack@>=2.0.2 <3.0.0", + "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-2.0.2.tgz", "dev": true, "dependencies": { "async": { @@ -3223,6 +3396,12 @@ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "dev": true }, + "loader-runner": { + "version": "2.3.0", + "from": "loader-runner@>=2.3.0 <3.0.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", + "dev": true + }, "loader-utils": { "version": "0.2.16", "from": "loader-utils@^0.2.16", @@ -3316,9 +3495,9 @@ "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz" }, "lodash.camelcase": { - "version": "3.0.1", - "from": "lodash.camelcase@>=3.0.1 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-3.0.1.tgz", + "version": "4.3.0", + "from": "lodash.camelcase@>=4.3.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", "dev": true }, "lodash.clonedeep": { @@ -3362,9 +3541,15 @@ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", "dev": true }, + "lodash.mergewith": { + "version": "4.6.0", + "from": "lodash.mergewith@>=4.6.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz", + "dev": true + }, "lodash.pickby": { "version": "4.6.0", - "from": "lodash.pickby@^4.0.0", + "from": "lodash.pickby@^4.6.0", "resolved": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz", "dev": true }, @@ -3374,6 +3559,12 @@ "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", "dev": true }, + "lodash.tail": { + "version": "4.1.1", + "from": "lodash.tail@>=4.1.1 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", + "dev": true + }, "lodash.uniq": { "version": "4.5.0", "from": "lodash.uniq@>=4.3.0 <5.0.0", @@ -3513,6 +3704,12 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "dev": true }, + "miller-rabin": { + "version": "4.0.0", + "from": "miller-rabin@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.0.tgz", + "dev": true + }, "mime": { "version": "1.3.4", "from": "mime@^1.3.4", @@ -3531,6 +3728,12 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz", "dev": true }, + "minimalistic-assert": { + "version": "1.0.0", + "from": "minimalistic-assert@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", + "dev": true + }, "minimatch": { "version": "3.0.3", "from": "minimatch@>=3.0.2 <4.0.0", @@ -3603,33 +3806,27 @@ } }, "mocha-loader": { - "version": "0.7.1", - "from": "mocha-loader@>=0.7.1 <0.8.0", - "resolved": "https://registry.npmjs.org/mocha-loader/-/mocha-loader-0.7.1.tgz", + "version": "1.1.0", + "from": "mocha-loader@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/mocha-loader/-/mocha-loader-1.1.0.tgz", "dev": true, "dependencies": { "css-loader": { - "version": "0.9.1", - "from": "css-loader@>=0.9.0 <0.10.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.9.1.tgz", + "version": "0.23.1", + "from": "css-loader@>=0.23.1 <0.24.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.23.1.tgz", "dev": true }, - "csso": { - "version": "1.3.12", - "from": "csso@>=1.3.0 <1.4.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-1.3.12.tgz", - "dev": true - }, - "source-map": { - "version": "0.1.43", - "from": "source-map@>=0.1.38 <0.2.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "css-selector-tokenizer": { + "version": "0.5.4", + "from": "css-selector-tokenizer@>=0.5.1 <0.6.0", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.5.4.tgz", "dev": true }, - "style-loader": { - "version": "0.8.3", - "from": "style-loader@>=0.8.1 <0.9.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.8.3.tgz", + "lodash.camelcase": { + "version": "3.0.1", + "from": "lodash.camelcase@>=3.0.1 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-3.0.1.tgz", "dev": true } } @@ -3685,9 +3882,9 @@ "dev": true }, "node-libs-browser": { - "version": "0.7.0", - "from": "node-libs-browser@>=0.7.0 <0.8.0", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-0.7.0.tgz", + "version": "2.0.0", + "from": "node-libs-browser@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.0.0.tgz", "dev": true }, "node-notifier": { @@ -3711,9 +3908,9 @@ } }, "node-sass": { - "version": "3.13.1", - "from": "node-sass@>=3.7.0 <4.0.0", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-3.13.1.tgz", + "version": "4.5.0", + "from": "node-sass@>=4.5.0 <5.0.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.5.0.tgz", "dev": true }, "nomnomnomnom": { @@ -3840,6 +4037,12 @@ "from": "objectpath@>=1.2.1 <2.0.0", "resolved": "https://registry.npmjs.org/objectpath/-/objectpath-1.2.1.tgz" }, + "obuf": { + "version": "1.1.1", + "from": "obuf@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.1.tgz", + "dev": true + }, "on-finished": { "version": "2.3.0", "from": "on-finished@~2.3.0", @@ -3863,10 +4066,10 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", "dev": true }, - "open": { - "version": "0.0.5", - "from": "open@0.0.5", - "resolved": "https://registry.npmjs.org/open/-/open-0.0.5.tgz", + "opn": { + "version": "4.0.2", + "from": "opn@4.0.2", + "resolved": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz", "dev": true }, "optimist": { @@ -3943,6 +4146,12 @@ "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", "dev": true }, + "parse-asn1": { + "version": "5.0.0", + "from": "parse-asn1@>=5.0.0 <6.0.0", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.0.0.tgz", + "dev": true + }, "parse-glob": { "version": "3.0.4", "from": "parse-glob@^3.0.4", @@ -4025,10 +4234,10 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "dev": true }, - "pbkdf2-compat": { - "version": "2.0.1", - "from": "pbkdf2-compat@2.0.1", - "resolved": "https://registry.npmjs.org/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz", + "pbkdf2": { + "version": "3.0.9", + "from": "pbkdf2@>=3.0.3 <4.0.0", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.9.tgz", "dev": true }, "pify": { @@ -4058,6 +4267,12 @@ "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", "dev": true }, + "portfinder": { + "version": "1.0.13", + "from": "portfinder@>=1.0.9 <2.0.0", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz", + "dev": true + }, "postcss": { "version": "5.2.14", "from": "postcss@>=5.2.13 <6.0.0", @@ -4126,10 +4341,28 @@ "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz", "dev": true }, + "postcss-load-config": { + "version": "1.2.0", + "from": "postcss-load-config@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz", + "dev": true + }, + "postcss-load-options": { + "version": "1.2.0", + "from": "postcss-load-options@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz", + "dev": true + }, + "postcss-load-plugins": { + "version": "2.3.0", + "from": "postcss-load-plugins@>=2.3.0 <3.0.0", + "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz", + "dev": true + }, "postcss-loader": { - "version": "0.9.1", - "from": "postcss-loader@>=0.9.1 <0.10.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-0.9.1.tgz", + "version": "1.3.1", + "from": "postcss-loader@>=1.3.1 <2.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-1.3.1.tgz", "dev": true }, "postcss-merge-idents": { @@ -4362,6 +4595,12 @@ "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "dev": true }, + "public-encrypt": { + "version": "4.0.0", + "from": "public-encrypt@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", + "dev": true + }, "punycode": { "version": "1.4.1", "from": "punycode@^1.4.1", @@ -4410,6 +4649,12 @@ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.6.tgz", "dev": true }, + "randombytes": { + "version": "2.0.3", + "from": "randombytes@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.3.tgz", + "dev": true + }, "range-parser": { "version": "1.2.0", "from": "range-parser@>=1.0.3 <2.0.0", @@ -4609,6 +4854,12 @@ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "dev": true }, + "require-from-string": { + "version": "1.2.1", + "from": "require-from-string@^1.1.0", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", + "dev": true + }, "require-main-filename": { "version": "1.0.1", "from": "require-main-filename@^1.0.1", @@ -4655,15 +4906,15 @@ "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz" }, "rimraf": { - "version": "2.5.4", - "from": "rimraf@^2.2.8", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz", + "version": "2.6.0", + "from": "rimraf@>=2.2.8 <3.0.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.0.tgz", "dev": true }, "ripemd160": { - "version": "0.2.0", - "from": "ripemd160@0.2.0", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-0.2.0.tgz", + "version": "1.0.1", + "from": "ripemd160@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-1.0.1.tgz", "dev": true }, "run-async": { @@ -4682,13 +4933,41 @@ "version": "2.1.2", "from": "sass-graph@^2.1.1", "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.1.2.tgz", - "dev": true + "dev": true, + "dependencies": { + "cliui": { + "version": "3.2.0", + "from": "cliui@>=3.2.0 <4.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "dev": true + }, + "window-size": { + "version": "0.2.0", + "from": "window-size@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", + "dev": true + }, + "yargs": { + "version": "4.8.1", + "from": "yargs@>=4.7.1 <5.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", + "dev": true + } + } }, "sass-loader": { - "version": "3.2.3", - "from": "sass-loader@>=3.1.2 <4.0.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-3.2.3.tgz", - "dev": true + "version": "6.0.1", + "from": "sass-loader@>=6.0.1 <7.0.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-6.0.1.tgz", + "dev": true, + "dependencies": { + "async": { + "version": "2.1.5", + "from": "async@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.1.5.tgz", + "dev": true + } + } }, "sax": { "version": "1.2.2", @@ -4697,9 +4976,15 @@ "dev": true }, "script-loader": { - "version": "0.6.1", - "from": "script-loader@>=0.6.0 <0.7.0", - "resolved": "https://registry.npmjs.org/script-loader/-/script-loader-0.6.1.tgz", + "version": "0.7.0", + "from": "script-loader@>=0.7.0 <0.8.0", + "resolved": "https://registry.npmjs.org/script-loader/-/script-loader-0.7.0.tgz", + "dev": true + }, + "select-hose": { + "version": "2.0.0", + "from": "select-hose@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", "dev": true }, "semver": { @@ -4780,9 +5065,9 @@ "dev": true }, "sha.js": { - "version": "2.2.6", - "from": "sha.js@2.2.6", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.2.6.tgz", + "version": "2.4.8", + "from": "sha.js@>=2.3.6 <3.0.0", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.8.tgz", "dev": true }, "shelljs": { @@ -4908,7 +5193,7 @@ }, "sockjs": { "version": "0.3.18", - "from": "sockjs@>=0.3.15 <0.4.0", + "from": "sockjs@0.3.18", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.18.tgz", "dev": true, "dependencies": { @@ -4922,7 +5207,7 @@ }, "sockjs-client": { "version": "1.1.2", - "from": "sockjs-client@>=1.0.3 <2.0.0", + "from": "sockjs-client@1.1.2", "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.2.tgz", "dev": true, "dependencies": { @@ -4974,6 +5259,18 @@ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", "dev": true }, + "spdy": { + "version": "3.4.4", + "from": "spdy@>=3.4.1 <4.0.0", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.4.tgz", + "dev": true + }, + "spdy-transport": { + "version": "2.0.18", + "from": "spdy-transport@>=2.0.15 <3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.0.18.tgz", + "dev": true + }, "sprintf-js": { "version": "1.0.3", "from": "sprintf-js@>=1.0.3 <2.0.0", @@ -5005,18 +5302,18 @@ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", "dev": true }, + "stdout-stream": { + "version": "1.4.0", + "from": "stdout-stream@>=1.4.0 <2.0.0", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz", + "dev": true + }, "stream-browserify": { "version": "2.0.1", "from": "stream-browserify@>=2.0.1 <3.0.0", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", "dev": true }, - "stream-cache": { - "version": "0.0.2", - "from": "stream-cache@~0.0.1", - "resolved": "https://registry.npmjs.org/stream-cache/-/stream-cache-0.0.2.tgz", - "dev": true - }, "stream-http": { "version": "2.6.3", "from": "stream-http@>=2.3.1 <3.0.0", @@ -5078,7 +5375,7 @@ }, "style-loader": { "version": "0.13.1", - "from": "style-loader@>=0.13.0 <0.14.0", + "from": "style-loader@>=0.13.1 <0.14.0", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.13.1.tgz", "dev": true }, @@ -5088,18 +5385,10 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" }, "svg-url-loader": { - "version": "1.1.1", - "from": "svg-url-loader@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/svg-url-loader/-/svg-url-loader-1.1.1.tgz", - "dev": true, - "dependencies": { - "file-loader": { - "version": "0.9.0", - "from": "file-loader@0.9.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-0.9.0.tgz", - "dev": true - } - } + "version": "2.0.2", + "from": "svg-url-loader@>=2.0.2 <3.0.0", + "resolved": "https://registry.npmjs.org/svg-url-loader/-/svg-url-loader-2.0.2.tgz", + "dev": true }, "svgo": { "version": "0.7.2", @@ -5139,9 +5428,9 @@ } }, "tapable": { - "version": "0.1.10", - "from": "tapable@~0.1.8", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz", + "version": "0.2.6", + "from": "tapable@>=0.2.5 <0.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.6.tgz", "dev": true }, "tar": { @@ -5286,38 +5575,13 @@ }, "uglify-js": { "version": "2.7.5", - "from": "uglify-js@>=2.7.3 <2.8.0", + "from": "uglify-js@>=2.6.0 <3.0.0", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz", "dependencies": { "async": { "version": "0.2.10", "from": "async@>=0.2.6 <0.3.0", "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" - }, - "camelcase": { - "version": "1.2.1", - "from": "camelcase@^1.0.2", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz" - }, - "cliui": { - "version": "2.1.0", - "from": "cliui@^2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz" - }, - "window-size": { - "version": "0.1.0", - "from": "window-size@0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz" - }, - "wordwrap": { - "version": "0.0.2", - "from": "wordwrap@0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" - }, - "yargs": { - "version": "3.10.0", - "from": "yargs@~3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz" } } }, @@ -5490,19 +5754,25 @@ "dev": true }, "watchpack": { - "version": "0.2.9", - "from": "watchpack@^0.2.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-0.2.9.tgz", + "version": "1.2.1", + "from": "watchpack@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.2.1.tgz", "dev": true, "dependencies": { "async": { - "version": "0.9.2", - "from": "async@>=0.9.0 <0.10.0", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "version": "2.1.5", + "from": "async@>=2.1.2 <3.0.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.1.5.tgz", "dev": true } } }, + "wbuf": { + "version": "1.7.2", + "from": "wbuf@>=1.4.0 <2.0.0", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.2.tgz", + "dev": true + }, "webidl-conversions": { "version": "4.0.0", "from": "webidl-conversions@>=4.0.0 <5.0.0", @@ -5510,21 +5780,33 @@ "dev": true }, "webpack": { - "version": "1.14.0", - "from": "webpack@>=1.13.0 <2.0.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-1.14.0.tgz", + "version": "2.2.1", + "from": "webpack@>=2.2.1 <3.0.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-2.2.1.tgz", "dev": true, "dependencies": { - "interpret": { - "version": "0.6.6", - "from": "interpret@^0.6.4", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-0.6.6.tgz", + "acorn": { + "version": "4.0.11", + "from": "acorn@>=4.0.4 <5.0.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.11.tgz", "dev": true }, - "memory-fs": { - "version": "0.3.0", - "from": "memory-fs@~0.3.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz", + "async": { + "version": "2.1.5", + "from": "async@>=2.1.2 <3.0.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.1.5.tgz", + "dev": true + }, + "camelcase": { + "version": "3.0.0", + "from": "camelcase@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "from": "cliui@>=3.2.0 <4.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "dev": true }, "supports-color": { @@ -5532,19 +5814,17 @@ "from": "supports-color@^3.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true - } - } - }, - "webpack-core": { - "version": "0.6.9", - "from": "webpack-core@~0.6.9", - "resolved": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz", - "dev": true, - "dependencies": { - "source-map": { - "version": "0.4.4", - "from": "source-map@>=0.4.1 <0.5.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + }, + "yargs": { + "version": "6.6.0", + "from": "yargs@>=6.0.0 <7.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", + "dev": true + }, + "yargs-parser": { + "version": "4.2.1", + "from": "yargs-parser@>=4.2.0 <5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", "dev": true } } @@ -5556,28 +5836,52 @@ "dev": true }, "webpack-dev-server": { - "version": "1.16.3", - "from": "webpack-dev-server@>=1.14.1 <2.0.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-1.16.3.tgz", + "version": "2.4.0", + "from": "webpack-dev-server@>=2.3.0 <3.0.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.4.0.tgz", "dev": true, "dependencies": { + "camelcase": { + "version": "3.0.0", + "from": "camelcase@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "from": "cliui@>=3.2.0 <4.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "dev": true + }, "supports-color": { "version": "3.2.3", "from": "supports-color@^3.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true + }, + "yargs": { + "version": "6.6.0", + "from": "yargs@>=6.0.0 <7.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", + "dev": true + }, + "yargs-parser": { + "version": "4.2.1", + "from": "yargs-parser@>=4.2.0 <5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", + "dev": true } } }, "webpack-node-externals": { "version": "1.5.4", - "from": "webpack-node-externals@>=1.0.0 <2.0.0", + "from": "webpack-node-externals@>=1.5.4 <2.0.0", "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-1.5.4.tgz", "dev": true }, "webpack-notifier": { "version": "1.5.0", - "from": "webpack-notifier@>=1.3.0 <2.0.0", + "from": "webpack-notifier@>=1.5.0 <2.0.0", "resolved": "https://registry.npmjs.org/webpack-notifier/-/webpack-notifier-1.5.0.tgz", "dev": true }, @@ -5615,7 +5919,7 @@ }, "whatwg-fetch": { "version": "2.0.2", - "from": "whatwg-fetch@>=0.10.0", + "from": "whatwg-fetch@>=2.0.2 <3.0.0", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.2.tgz" }, "whatwg-url": { @@ -5657,10 +5961,9 @@ "dev": true }, "window-size": { - "version": "0.2.0", - "from": "window-size@>=0.2.0 <0.3.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "dev": true + "version": "0.1.0", + "from": "window-size@0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz" }, "with": { "version": "5.1.1", @@ -10053,10 +10356,9 @@ "dev": true }, "yargs": { - "version": "4.8.1", - "from": "yargs@>=4.7.1 <5.0.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", - "dev": true + "version": "3.10.0", + "from": "yargs@~3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz" }, "yargs-parser": { "version": "2.4.1", diff --git a/package.json b/package.json index d000e4901..af5bd96dd 100644 --- a/package.json +++ b/package.json @@ -28,15 +28,15 @@ "colors": "^1.1.2", "confirm-simple": "^1.0.3", "cross-env": "^1.0.7", - "css-loader": "^0.23.1", + "css-loader": "^0.26.1", "escape-string-regexp": "^1.0.5", "eslint": "2.11.1", - "eslint-loader": "^1.3.0", + "eslint-loader": "^1.6.1", "eslint-plugin-react": "^5.1.1", "exports-loader": "^0.6.3", - "extract-text-webpack-plugin": "^1.0.1", - "file-loader": "^0.8.5", - "imports-loader": "^0.6.5", + "extract-text-webpack-plugin": "^2.0.0-rc.3", + "file-loader": "^0.10.0", + "imports-loader": "^0.7.0", "isparta-loader": "^2.0.0", "istanbul": "^1.0.0-alpha.2", "jsdom": "^9.2.1", @@ -49,23 +49,23 @@ "karma-mocha": "^1.0.1", "karma-mocha-reporter": "^2.0.3", "karma-sourcemap-loader": "^0.3.7", - "karma-webpack": "^1.7.0", + "karma-webpack": "^2.0.2", "mocha": "^2.5.3", - "mocha-loader": "^0.7.1", - "node-sass": "^3.7.0", + "mocha-loader": "^1.1.0", + "node-sass": "^4.5.0", "null-loader": "^0.1.1", - "postcss-loader": "^0.9.1", + "postcss-loader": "^1.3.1", "react-addons-test-utils": "^15.1.0", "redbox-react": "^1.2.2", - "sass-loader": "^3.1.2", + "sass-loader": "^6.0.1", "shelljs": "^0.7.0", - "style-loader": "^0.13.0", - "svg-url-loader": "^1.1.0", + "style-loader": "^0.13.1", + "svg-url-loader": "^2.0.2", "url-loader": "^0.5.7", - "webpack": "^1.13.0", - "webpack-dev-server": "^1.14.1", - "webpack-node-externals": "^1.0.0", - "webpack-notifier": "^1.3.0", + "webpack": "^2.2.1", + "webpack-dev-server": "^2.3.0", + "webpack-node-externals": "^1.5.4", + "webpack-notifier": "^1.5.0", "xgettext-js": "^1.0.0" }, "dependencies": { @@ -94,6 +94,7 @@ "redux-thunk": "^2.1.0", "reselect": "^2.5.1", "sprintf-js": "^1.0.3", + "whatwg-fetch": "^2.0.2", "wp-calypso": "github:automattic/wp-calypso" } } diff --git a/webpack.config.js b/webpack.config.js index 5ac197270..cc3893772 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -7,7 +7,11 @@ const browsers = 'last 2 versions, not ie_mob 10, not ie 10'; const babelSettings = { presets: [ - [ 'env', { useBuiltIns: true, targets: { browsers } } ], + [ 'env', { + useBuiltIns: true, + targets: { browsers }, + modules: false, + } ], 'stage-1', 'react' ], @@ -19,7 +23,6 @@ const babelSettings = { }; const getConfig = () => ( { - babelSettings, cache: true, entry: { 'woocommerce-services': [ './client/main.js' ], @@ -36,39 +39,60 @@ const getConfig = () => ( { }, devtool: '#inline-source-map', module: { - preLoaders: [ + rules: [ { test: /\.jsx?$/, - loader: 'eslint', + enforce: 'pre', + use: 'eslint-loader', include: path.resolve( __dirname, 'client' ), }, - ], - loaders: [ - { - test: /\.json$/, - loader: 'json-loader' - }, { test: /\.scss$/, - loader: ExtractTextPlugin.extract( 'style', 'css!postcss!sass' ) + use: ExtractTextPlugin.extract( { + fallback: 'style-loader', + use: [ + 'css-loader', + { + loader: 'postcss-loader', + options: { + plugins: () => [ autoprefixer( { browsers } ) ], + }, + }, + { + loader: 'sass-loader', + options: { + includePaths: [ + path.resolve( __dirname, 'client' ), + path.resolve( __dirname, 'node_modules', 'wp-calypso', 'client' ), + path.resolve( __dirname, 'node_modules', 'wp-calypso', 'assets', 'stylesheets' ), + ], + }, + }, + ], + } ), }, { test: /\.html$/, - loader: 'html-loader' + use: 'html-loader', }, { test: /\.svg$/, - loader: 'svg-url-loader', + use: 'svg-url-loader', }, { test: /\.png$/, - loader: 'url-loader?limit=10000', - } - ], - postLoaders: [ + use: { + loader: 'url-loader', + options: { limit: 10000 }, + }, + }, { test: /\.jsx?$/, - loader: 'babel?' + JSON.stringify( babelSettings ), + enforce: 'post', + use: { + loader: 'babel-loader', + options: babelSettings, + }, include: [ path.resolve( __dirname, 'client' ), path.resolve( __dirname, 'node_modules', 'wp-calypso', 'client' ), @@ -78,31 +102,20 @@ const getConfig = () => ( { // google-libphonenumber is pre-compiled, suppress the warning for that module noParse: /.*google-libphonenumber.*/, }, - sassLoader: { - includePaths: [ - path.resolve( __dirname, 'client' ), - path.resolve( __dirname, 'node_modules', 'wp-calypso', 'client' ), - path.resolve( __dirname, 'node_modules', 'wp-calypso', 'assets', 'stylesheets' ), - ] - }, resolve: { - extensions: [ '', '.json', '.js', '.jsx' ], - root: [ + extensions: [ '.json', '.js', '.jsx' ], + modules: [ path.resolve( __dirname, 'client' ), path.resolve( __dirname, 'node_modules' ), path.resolve( __dirname, 'node_modules', 'wp-calypso', 'client' ), + path.resolve( __dirname, 'node_modules', 'wp-calypso', 'node_modules' ), ], }, - resolveLoader: { root: path.resolve( __dirname, 'node_modules' ) }, plugins: [ new webpack.ProvidePlugin( { - 'fetch': 'imports?this=>global!exports?global.fetch!whatwg-fetch' + 'fetch': 'imports-loader?this=>global!exports-loader?global.fetch!whatwg-fetch' } ), - new ExtractTextPlugin( '[name].css' ), ], - postcss: function () { - return [ autoprefixer( { browsers } ) ]; - }, } ); module.exports = getConfig(); diff --git a/webpack.production.config.js b/webpack.production.config.js index 0132b19d8..dfccef42a 100644 --- a/webpack.production.config.js +++ b/webpack.production.config.js @@ -1,5 +1,6 @@ const webpack = require( 'webpack' ); const devConfig = require( './webpack.config.js' ); +const ExtractTextPlugin = require( 'extract-text-webpack-plugin' ); devConfig.babelSettings.plugins.push( 'transform-react-remove-prop-types' ); @@ -8,12 +9,12 @@ const config = devConfig.getConfig(); delete config.output.publicPath; delete config.devtool; +config.plugins.push( new webpack.LoaderOptionsPlugin( { minimize: true } ) ); + config.plugins.push( new webpack.DefinePlugin( { 'process.env.NODE_ENV': '"production"' } ) ); -config.plugins.push( new webpack.optimize.OccurrenceOrderPlugin( false ) ); - config.plugins.push( new webpack.optimize.UglifyJsPlugin( { compress: { screw_ie8: true, @@ -29,6 +30,6 @@ config.plugins.push( new webpack.optimize.UglifyJsPlugin( { }, } ) ); -config.plugins.push( new webpack.optimize.DedupePlugin() ); +config.plugins.push( new ExtractTextPlugin( '[name].css' ) ); module.exports = config;