From ff1415f5937fcfdacd755085676b0e86f3d7db07 Mon Sep 17 00:00:00 2001 From: Steven Farthing Date: Wed, 4 Mar 2020 12:01:39 -0500 Subject: [PATCH 1/3] Upgrade babel Update to babel 7's scoped packages and remove unneeded transform-object-rest-spread plugin --- .babelrc | 8 -------- babel.config.json | 3 +++ package.json | 30 +++++++++++++----------------- 3 files changed, 16 insertions(+), 25 deletions(-) delete mode 100644 .babelrc create mode 100644 babel.config.json diff --git a/.babelrc b/.babelrc deleted file mode 100644 index f91ebace..00000000 --- a/.babelrc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "presets": [ - "env" - ], - "plugins": [ - "transform-object-rest-spread" - ] -} diff --git a/babel.config.json b/babel.config.json new file mode 100644 index 00000000..1320b9a3 --- /dev/null +++ b/babel.config.json @@ -0,0 +1,3 @@ +{ + "presets": ["@babel/preset-env"] +} diff --git a/package.json b/package.json index 1ec0f8e0..579e8a4d 100644 --- a/package.json +++ b/package.json @@ -6,13 +6,13 @@ "scripts": { "build": "webpack", "danger": "duti", - "test": "babel-node ./node_modules/mocha/bin/_mocha --require ./test/init.js", + "test": "mocha --require @babel/register --require @babel/polyfill --require ./test/init.js", "test:watch": "chokidar 'src/*.js' 'test/*.js' -c 'npm t'", "browser": "TEST_ENV=browser karma start karma.conf.js", "browser:local": "karma start karma.conf.js", - "coverage": "nyc --require babel-core/register --require babel-polyfill --require ./test/init.js mocha test", - "cicoveralls": "nyc report --reporter=text-lcov --require babel-core/register --require babel-polyfill --require ./test/init.js mocha test | coveralls", - "cicoverage": "nyc --reporter=lcov --require babel-core/register --require babel-polyfill --require ./test/init.js mocha test --reporter json > test-results.json", + "coverage": "nyc --require @babel/register --require @babel/polyfill --require ./test/init.js mocha test", + "cicoveralls": "nyc report --reporter=text-lcov --require @babel/register --require @babel/polyfill --require ./test/init.js mocha test | coveralls", + "cicoverage": "nyc --reporter=lcov --require @babel/register --require @babel/polyfill --require ./test/init.js mocha test --reporter json > test-results.json", "lint": "eslint dangerfile.js src/*.js test/*.js", "lint:ci": "npm run lint -- -o lint-results.json -f json", "lint-fix": "eslint dangerfile.js src/*.js test/*.js --fix", @@ -27,26 +27,22 @@ }, "license": "MIT", "dependencies": { - "babel-polyfill": "^6.23.0", + "@babel/polyfill": "^7.8.3", "lodash": "^4.17.4" }, - "babel": { - "presets": [ - "env" - ] - }, "prettier": { "singleQuote": true, "semi": false, "trailingComma": "es5" }, "devDependencies": { - "babel": "^6.5.2", - "babel-cli": "^6.22.2", - "babel-core": "^6.22.1", - "babel-eslint": "^8.0.0", - "babel-loader": "^7.0.0", - "babel-plugin-transform-object-rest-spread": "^6.26.0", + "@babel/cli": "^7.8.4", + "@babel/core": "^7.8.6", + "@babel/node": "^7.8.4", + "@babel/preset-env": "^7.8.6", + "@babel/register": "^7.8.6", + "babel-eslint": "^10.1.0", + "babel-loader": "^8.0.6", "babel-preset-env": "^1.6.1", "bluebird": "^3.5.0", "chai": "^4.1.0", @@ -70,7 +66,7 @@ "karma-webpack": "^3.0.0", "mocha": "^6.2.2", "mocha-lcov-reporter": "^1.2.0", - "nyc": "^12.0.1", + "nyc": "^15.0.0", "prettier": "^1.7.4", "read-pkg": "^5.2.0", "sinon": "^7.5.0", From c969ef8ddb03106073f2762e7ddddb34d0a6fc5d Mon Sep 17 00:00:00 2001 From: Steven Farthing Date: Wed, 4 Mar 2020 12:10:14 -0500 Subject: [PATCH 2/3] old present was left-over --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index 579e8a4d..c38b1500 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,6 @@ "@babel/register": "^7.8.6", "babel-eslint": "^10.1.0", "babel-loader": "^8.0.6", - "babel-preset-env": "^1.6.1", "bluebird": "^3.5.0", "chai": "^4.1.0", "chai-as-promised": "^7.1.1", From 379236a26fdd87143fa0ec5e5977ca243e33dedc Mon Sep 17 00:00:00 2001 From: Steven Farthing Date: Wed, 4 Mar 2020 13:39:51 -0500 Subject: [PATCH 3/3] Stop depending on babel-polyfill and set useBuiltIns: usage Remove compatibly issues with babel-polyfill, stop side-effects related to polluting global scope --- babel.config.json | 2 +- karma.conf.js | 8 +++----- package.json | 10 +++++----- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/babel.config.json b/babel.config.json index 1320b9a3..dcaeba7b 100644 --- a/babel.config.json +++ b/babel.config.json @@ -1,3 +1,3 @@ { - "presets": ["@babel/preset-env"] + "presets": [["@babel/preset-env", { "corejs": "2", "useBuiltIns": "usage" }]] } diff --git a/karma.conf.js b/karma.conf.js index 3f893886..e86e0db3 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -35,8 +35,6 @@ module.exports = function(config) { // list of files / patterns to load in the browser files: [ - // Load the babel polyfill - 'node_modules/babel-polyfill/dist/polyfill.js', // We need to use singl entry file to avoid circular import error between // `aspect.js` and `conversion.js` 'src/index.js', @@ -80,9 +78,9 @@ module.exports = function(config) { // test results reporter to use // possible values: 'dots', 'progress' // available reporters: https://npmjs.org/browse/keyword/karma-reporter - reporters: reporters, + reporters, // Write testing results to json file. - jsonReporter: jsonReporter, + jsonReporter, // web server port port: 9876, @@ -109,7 +107,7 @@ module.exports = function(config) { browserNoActivityTimeout: 600 * 1000, browserDisconnectTimeout: 60 * 1000, browserDisconnectTolerance: 3, - browsers: browsers, + browsers, customLaunchers: !local && customLaunchers, // Continuous Integration mode diff --git a/package.json b/package.json index c38b1500..b90b13de 100644 --- a/package.json +++ b/package.json @@ -6,13 +6,13 @@ "scripts": { "build": "webpack", "danger": "duti", - "test": "mocha --require @babel/register --require @babel/polyfill --require ./test/init.js", + "test": "mocha --require @babel/register --require ./test/init.js", "test:watch": "chokidar 'src/*.js' 'test/*.js' -c 'npm t'", "browser": "TEST_ENV=browser karma start karma.conf.js", "browser:local": "karma start karma.conf.js", - "coverage": "nyc --require @babel/register --require @babel/polyfill --require ./test/init.js mocha test", - "cicoveralls": "nyc report --reporter=text-lcov --require @babel/register --require @babel/polyfill --require ./test/init.js mocha test | coveralls", - "cicoverage": "nyc --reporter=lcov --require @babel/register --require @babel/polyfill --require ./test/init.js mocha test --reporter json > test-results.json", + "coverage": "nyc --require @babel/register --require ./test/init.js mocha test", + "cicoveralls": "nyc report --reporter=text-lcov --require @babel/register --require ./test/init.js mocha test | coveralls", + "cicoverage": "nyc --reporter=lcov --require @babel/register --require ./test/init.js mocha test --reporter json > test-results.json", "lint": "eslint dangerfile.js src/*.js test/*.js", "lint:ci": "npm run lint -- -o lint-results.json -f json", "lint-fix": "eslint dangerfile.js src/*.js test/*.js --fix", @@ -27,7 +27,7 @@ }, "license": "MIT", "dependencies": { - "@babel/polyfill": "^7.8.3", + "core-js": "^2.6.11", "lodash": "^4.17.4" }, "prettier": {