diff --git a/.babelrc b/.babelrc deleted file mode 100644 index 74bd4040..00000000 --- a/.babelrc +++ /dev/null @@ -1,48 +0,0 @@ -{ - "presets": [ - [ - "@babel/env", - { - "targets": { - "browsers": [ - /* benefit of C/S/FF/Edge only? */ - "> 1%", - "last 2 versions", - "Firefox ESR", - "not dead" - ] - }, - "useBuiltIns": "entry", - "corejs": "2" - } - ], - "@babel/preset-react" - ], - "plugins": [ - ["@babel/plugin-transform-runtime", { - "corejs": "2", - "absoluteRuntime": false, - "version": "7.10.4" - }], - "@babel/plugin-proposal-class-properties", - "@babel/plugin-proposal-optional-chaining", - ["transform-react-remove-prop-types", { - "additionalLibraries": ["react-immutable-proptypes"] - }], - [ - "babel-plugin-module-resolver", - { - "alias": { - "root": ".", - "components": "./src/core/components", - "containers": "./src/core/containers", - "core": "./src/core", - "plugins": "./src/plugins", - "img": "./src/img", - "corePlugins": "./src/core/plugins", - "less": "./src/less" - } - } - ] - ] -} diff --git a/babel.config.json b/babel.config.json new file mode 100644 index 00000000..5295dab2 --- /dev/null +++ b/babel.config.json @@ -0,0 +1,111 @@ +{ + "env": { + "development": { + "presets": [ + [ + "@babel/env", + { + "targets": { + "browsers": [ + /* benefit of C/S/FF/Edge only? */ + "> 1%", + "last 2 versions", + "Firefox ESR", + "not dead" + ] + }, + "useBuiltIns": "entry", + "corejs": "2" + } + ], + "@babel/preset-react" + ], + "plugins": [ + [ + "@babel/plugin-transform-runtime", + { + "corejs": "2", + "absoluteRuntime": false, + "version": "7.10.4" + } + ], + "@babel/plugin-proposal-class-properties", + "@babel/plugin-proposal-optional-chaining", + [ + "transform-react-remove-prop-types", + { + "additionalLibraries": [ + "react-immutable-proptypes" + ] + } + ], + [ + "babel-plugin-module-resolver", + { + "alias": { + "root": ".", + "components": "./src/core/components", + "containers": "./src/core/containers", + "core": "./src/core", + "plugins": "./src/plugins", + "img": "./src/img", + "corePlugins": "./src/core/plugins", + "less": "./src/less" + } + } + ] + ] + }, + "test": { + "presets": [ + [ + "@babel/env", + { + "targets": { + "node": "10" + }, + "useBuiltIns": "entry", + "corejs": "2" + } + ], + "@babel/preset-react" + ], + "plugins": [ + [ + "@babel/plugin-transform-runtime", + { + "corejs": "2", + "absoluteRuntime": false, + "version": "7.10.4" + } + ], + "@babel/plugin-proposal-class-properties", + "@babel/plugin-proposal-optional-chaining", + [ + "transform-react-remove-prop-types", + { + "additionalLibraries": [ + "react-immutable-proptypes" + ] + } + ], + [ + "babel-plugin-module-resolver", + { + "alias": { + "root": ".", + "components": "./src/core/components", + "containers": "./src/core/containers", + "core": "./src/core", + "plugins": "./src/plugins", + "img": "./src/img", + "corePlugins": "./src/core/plugins", + "less": "./src/less" + } + } + ] + ] + } + } +} + diff --git a/package-lock.json b/package-lock.json index 1acb33de..80ac4a38 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6851,6 +6851,58 @@ "object-assign": "^4.1.1" } }, + "cross-env": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.2.tgz", + "integrity": "sha512-KZP/bMEOJEDCkDQAyRhu3RL2ZO/SUVrxQVI0G3YEQ+OLbRA3c6zgixe8Mq8a/z7+HKlNEjo8oiLUs8iRijY2Rw==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.1" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, "cross-fetch": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.5.tgz", @@ -23386,6 +23438,12 @@ "source-map": "~0.6.1" } }, + "webpack-stats-plugin": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/webpack-stats-plugin/-/webpack-stats-plugin-0.3.2.tgz", + "integrity": "sha512-kxEtPQ6lBBik2qtJlsZkiaDMI6rGXe9w1kLH9ZCdt0wgCGVnbwwPlP60cMqG6tILNFYqXDxNt4+c4OIIuE+Fnw==", + "dev": true + }, "websocket-driver": { "version": "0.6.5", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", diff --git a/package.json b/package.json index 523026c8..b858b850 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "lint-fix": "eslint --cache --ext \".js,.jsx\" src test --fix", "test": "run-s just-test-in-node e2e-cypress lint-errors", "test-in-node": "run-s lint-errors just-test-in-node", - "just-test-in-node": "mocha \"test/mocha/**/*.{js,jsx}\"", + "just-test-in-node": "cross-env BABEL_ENV=test mocha \"test/mocha/**/*.{js,jsx}\"", "test-e2e-cypress": "cypress run", "test-e2e-selenium": "sleep 3 && nightwatch test/e2e-selenium/scenarios/ --config test/e2e-selenium/nightwatch.json", "e2e-initial-render": "nightwatch test/e2e-selenium/scenarios/ --config test/e2e-selenium/nightwatch.json --group initial-render", @@ -111,6 +111,7 @@ "chromedriver": "^80.0.2", "copy-webpack-plugin": "^6.0.0", "cors": "^2.8.5", + "cross-env": "=7.0.2", "css-loader": "^3.5.3", "cypress": "^3.8.3", "dedent": "^0.7.0", @@ -159,7 +160,8 @@ "webpack": "^4.43.0", "webpack-bundle-size-analyzer": "^3.1.0", "webpack-cli": "^3.3.11", - "webpack-dev-server": "^3.11.0" + "webpack-dev-server": "^3.11.0", + "webpack-stats-plugin": "=0.3.2" }, "config": { "deps_check_dir": ".deps_check"