From 453623c811cfddfc0e5bd641b2332135d5ad78f7 Mon Sep 17 00:00:00 2001 From: Chris Blossom Date: Mon, 20 May 2019 16:13:07 -0700 Subject: [PATCH 1/3] require webpack >= 3 --- README.md | 2 +- dev-utils/test-supported-webpack-versions.js | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 51b8a21..2a086c6 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ A webpack plugin to remove/clean your build folder(s). -> NOTE: Node v6+ and Webpack v2+ are supported and tested. +> NOTE: Node v6+ and webpack v3+ are supported and tested. ## About diff --git a/dev-utils/test-supported-webpack-versions.js b/dev-utils/test-supported-webpack-versions.js index bbdd694..1104c07 100755 --- a/dev-utils/test-supported-webpack-versions.js +++ b/dev-utils/test-supported-webpack-versions.js @@ -15,7 +15,6 @@ const ciEnabled = process.argv[process.argv.length - 1] === '--ci'; const supported = [ // - '2', '3', '4', 'next', From 5f7b3487b490627ec6e79807a9f32c6b7bfdf4f5 Mon Sep 17 00:00:00 2001 From: Chris Blossom Date: Mon, 20 May 2019 16:15:34 -0700 Subject: [PATCH 2/3] require node >= 8 --- .circleci/config.yml | 17 ---------------- .prettierrc.js | 15 -------------- README.md | 2 +- appveyor.yml | 1 - dev-utils/test-supported-webpack-versions.js | 21 ++++++++++---------- package.json | 2 +- wallaby.config.js | 4 ++-- 7 files changed, 14 insertions(+), 48 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9844e61..78f3e83 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -8,22 +8,6 @@ version: 2 jobs: - test-node6: - docker: - - image: circleci/node:6 - steps: - - checkout - - run: node --version > _node_version && npm --version > _npm_version && cat _node_version && cat _npm_version - - restore_cache: - keys: - - v1-dependencies-{{ checksum "_node_version" }}-{{ checksum "_npm_version" }} - - run: node --version && npm --version - - run: npm install - - save_cache: - paths: - - ~/.npm - key: v1-dependencies-{{ checksum "_node_version" }}-{{ checksum "_npm_version" }} - - run: npm run test.ci test-node8: docker: - image: circleci/node:8 @@ -77,7 +61,6 @@ workflows: version: 2 build_and_test: jobs: - - test-node6 - test-node8 - test-node10 - test-node12 diff --git a/.prettierrc.js b/.prettierrc.js index 59e0c1a..009e38e 100644 --- a/.prettierrc.js +++ b/.prettierrc.js @@ -6,21 +6,6 @@ const prettier = { singleQuote: true, trailingComma: 'all', arrowParens: 'always', - overrides: [ - { - files: ['*.js', '.*.js'], - excludeFiles: ['*/**', '*/.**'], - options: { - trailingComma: 'es5', - }, - }, - { - files: ['dev-utils/**/*.js', 'dev-utils/**/.*.js'], - options: { - trailingComma: 'es5', - }, - }, - ], }; module.exports = prettier; diff --git a/README.md b/README.md index 2a086c6..bc1261d 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ A webpack plugin to remove/clean your build folder(s). -> NOTE: Node v6+ and webpack v3+ are supported and tested. +> NOTE: Node v8+ and webpack v3+ are supported and tested. ## About diff --git a/appveyor.yml b/appveyor.yml index 721536b..b2c3b0b 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,6 +1,5 @@ environment: matrix: - - nodejs_version: '6' - nodejs_version: '8' - nodejs_version: '10' - nodejs_version: '12' diff --git a/dev-utils/test-supported-webpack-versions.js b/dev-utils/test-supported-webpack-versions.js index 1104c07..3843517 100755 --- a/dev-utils/test-supported-webpack-versions.js +++ b/dev-utils/test-supported-webpack-versions.js @@ -5,7 +5,6 @@ 'use strict'; const execa = require('execa'); -const semver = require('semver'); const Listr = require('listr'); const del = require('del'); const readPkgUp = require('read-pkg-up'); @@ -25,14 +24,14 @@ const webpackTestTasks = supported.map((version) => { /** * Webpack version 5 (currently @next) removed support for node 6. */ - if ( - (version === 'next' || version === '5') && - semver.lte(process.version, '8.0.0') === true - ) { - return `node ${ - process.version - } is not supported by webpack@${version}...node >=8 required`; - } + // if ( + // (version === 'next' || version === '5') && + // semver.lte(process.version, '8.0.0') === true + // ) { + // return `node ${ + // process.version + // } is not supported by webpack@${version}...node >=8 required`; + // } return false; }; @@ -119,12 +118,12 @@ tasks '--no-save', `webpack@${packageJsonWebpackVersion}`, ], - { env: { FORCE_COLOR: true } } + { env: { FORCE_COLOR: true } }, ), skip: () => ciEnabled === true, }, ], - listrOptions + listrOptions, ).run(); }) .catch((error) => { diff --git a/package.json b/package.json index f650187..cb572f0 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "dist/" ], "engines": { - "node": ">=6.9.0" + "node": ">=8.9.0" }, "keywords": [ "webpack", diff --git a/wallaby.config.js b/wallaby.config.js index 563ee13..fd70705 100644 --- a/wallaby.config.js +++ b/wallaby.config.js @@ -58,11 +58,11 @@ module.exports = (wallabyInitial) => { const path = require('path'); const realModules = path.join( wallabySetup.localProjectDir, - 'node_modules' + 'node_modules', ); const linkedModules = path.join( wallabySetup.projectCacheDir, - 'node_modules' + 'node_modules', ); try { From 514dac92a41b0a073898876f316bf914d4f35b34 Mon Sep 17 00:00:00 2001 From: Chris Blossom Date: Mon, 20 May 2019 16:32:19 -0700 Subject: [PATCH 3/3] package updates --- .eslintrc.js | 3 +++ dev-utils/get-webpack-version.js | 6 ++++-- dev-utils/get-webpack-version.test.js | 6 +++--- dev-utils/node-version.js | 6 +++--- dev-utils/node-version.test.js | 8 ++++---- dev-utils/test-supported-webpack-versions.js | 2 +- package.json | 20 ++++++++++---------- 7 files changed, 28 insertions(+), 23 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 01f31be..5070bb4 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -2,6 +2,9 @@ const eslint = { extends: '@chrisblossom/eslint-config', + rules: { + 'import/no-default-export': 'off', + }, overrides: [ { files: ['dev-utils/**/*.js', 'dev-utils/**/.*.js'], diff --git a/dev-utils/get-webpack-version.js b/dev-utils/get-webpack-version.js index 110ce26..cc6ff6a 100644 --- a/dev-utils/get-webpack-version.js +++ b/dev-utils/get-webpack-version.js @@ -9,9 +9,11 @@ function getWebpackVersion() { const webpackPath = require.resolve('webpack'); const { dir } = path.parse(webpackPath); - const webpackPkg = readPkgUp.sync({ cwd: dir, normalize: false }); + const webpackPackageJson = readPkgUp.sync({ cwd: dir, normalize: false }); - const version = webpackPkg.pkg.version ? webpackPkg.pkg.version : null; + const version = webpackPackageJson.package.version + ? webpackPackageJson.package.version + : null; return version; } diff --git a/dev-utils/get-webpack-version.test.js b/dev-utils/get-webpack-version.test.js index 70613bb..7ab294e 100644 --- a/dev-utils/get-webpack-version.test.js +++ b/dev-utils/get-webpack-version.test.js @@ -5,7 +5,7 @@ const getWebpackVersionTest = () => require('./get-webpack-version')(); describe('webpackVersion', () => { test('returns major only and is type number', () => { jest.doMock('read-pkg-up', () => ({ - sync: () => ({ pkg: { version: '4.29.0' } }), + sync: () => ({ package: { version: '4.29.0' } }), })); const version = getWebpackVersionTest(); @@ -14,7 +14,7 @@ describe('webpackVersion', () => { test('handles alpha', () => { jest.doMock('read-pkg-up', () => ({ - sync: () => ({ pkg: { version: '5.0.0-alpha.8' } }), + sync: () => ({ package: { version: '5.0.0-alpha.8' } }), })); const version = getWebpackVersionTest(); @@ -22,7 +22,7 @@ describe('webpackVersion', () => { }); test('returns null if no version found', () => { - jest.doMock('read-pkg-up', () => ({ sync: () => ({ pkg: {} }) })); + jest.doMock('read-pkg-up', () => ({ sync: () => ({ package: {} }) })); const version = getWebpackVersionTest(); expect(version).toEqual(null); diff --git a/dev-utils/node-version.js b/dev-utils/node-version.js index 6ee923c..f22805e 100644 --- a/dev-utils/node-version.js +++ b/dev-utils/node-version.js @@ -4,9 +4,9 @@ const readPkgUp = require('read-pkg-up'); const semver = require('semver'); function getNodeVersion() { - const pkg = - readPkgUp.sync({ cwd: process.cwd(), normalize: false }).pkg || {}; - const engines = pkg.engines || {}; + const packageJson = + readPkgUp.sync({ cwd: process.cwd(), normalize: false }).package || {}; + const engines = packageJson.engines || {}; const node = engines.node || '8.9.0'; const nodeVersion = semver.coerce(node).raw; diff --git a/dev-utils/node-version.test.js b/dev-utils/node-version.test.js index 3990a14..097d248 100644 --- a/dev-utils/node-version.test.js +++ b/dev-utils/node-version.test.js @@ -11,7 +11,7 @@ test('handles undefined pkg', () => { }); test('handles undefined engines', () => { - jest.doMock('read-pkg-up', () => ({ sync: () => ({ pkg: {} }) })); + jest.doMock('read-pkg-up', () => ({ sync: () => ({ package: {} }) })); const nodeVersion = require('./node-version'); @@ -20,7 +20,7 @@ test('handles undefined engines', () => { test('handles undefined node', () => { jest.doMock('read-pkg-up', () => ({ - sync: () => ({ pkg: { engines: { npm: '^5.0.0' } } }), + sync: () => ({ package: { engines: { npm: '^5.0.0' } } }), })); const nodeVersion = require('./node-version'); @@ -30,7 +30,7 @@ test('handles undefined node', () => { test('handles non-digit characters', () => { jest.doMock('read-pkg-up', () => ({ - sync: () => ({ pkg: { engines: { node: '>=10.0.0' } } }), + sync: () => ({ package: { engines: { node: '>=10.0.0' } } }), })); const nodeVersion = require('./node-version'); @@ -40,7 +40,7 @@ test('handles non-digit characters', () => { test('handles empty node', () => { jest.doMock('read-pkg-up', () => ({ - sync: () => ({ pkg: { engines: { node: '' } } }), + sync: () => ({ package: { engines: { node: '' } } }), })); const nodeVersion = require('./node-version'); diff --git a/dev-utils/test-supported-webpack-versions.js b/dev-utils/test-supported-webpack-versions.js index 3843517..4999d2f 100755 --- a/dev-utils/test-supported-webpack-versions.js +++ b/dev-utils/test-supported-webpack-versions.js @@ -104,7 +104,7 @@ tasks const packageJsonWebpackVersion = readPkgUp.sync({ cwd: process.cwd(), normalize: false, - }).pkg.devDependencies.webpack; + }).package.devDependencies.webpack; return new Listr( [ diff --git a/package.json b/package.json index cb572f0..f2939cf 100644 --- a/package.json +++ b/package.json @@ -53,27 +53,27 @@ "@babel/core": "^7.4.4", "@babel/preset-env": "^7.4.4", "@babel/preset-typescript": "^7.3.3", - "@chrisblossom/eslint-config": "^4.0.10", - "@types/jest": "^24.0.12", - "@types/node": "^12.0.0", + "@chrisblossom/eslint-config": "^5.0.0", + "@types/jest": "^24.0.13", + "@types/node": "^12.0.2", "@types/read-pkg-up": "^3.0.1", "babel-jest": "^24.8.0", "babel-plugin-add-module-exports": "^1.0.2", - "codecov": "^3.3.0", + "codecov": "^3.5.0", "cross-env": "^5.2.0", "del-cli": "^1.1.0", "eslint": "^5.16.0", "execa": "^1.0.0", - "husky": "^2.2.0", + "husky": "^2.3.0", "jest": "^24.8.0", - "lint-staged": "^8.1.6", + "lint-staged": "^8.1.7", "listr": "^0.14.3", - "prettier": "^1.17.0", - "read-pkg-up": "^4.0.0", + "prettier": "^1.17.1", + "read-pkg-up": "^6.0.0", "semver": "^6.0.0", - "temp-sandbox": "^2.0.0", + "temp-sandbox": "^3.0.0", "typescript": "^3.4.5", - "webpack": "^4.30.0" + "webpack": "^4.32.0" }, "dependencies": { "@types/webpack": "^4.4.31",