From 66dbccde1a5ebe6100318c70a94b2d2b3ee08f78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20De=20Boey?= Date: Sat, 16 May 2020 19:15:16 +0200 Subject: [PATCH] feat: Support ESLint 7.x --- .github/workflows/CI.yml | 58 +++++++++++++++++++++++++--------------- package.json | 13 +++++---- 2 files changed, 44 insertions(+), 27 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 95a6301..8e72099 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -13,13 +13,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v1 - with: - fetch-depth: 1 + uses: actions/checkout@v2 - name: Install Node.js uses: actions/setup-node@v1 with: - node-version: 12 + node-version: 14 - name: Install Packages run: npm install - name: Lint @@ -29,35 +27,51 @@ jobs: name: Test strategy: matrix: - node: [12, 10, 8, 6] - eslint: [6, 5] - exclude: - # ESLint 6 doesn't support Node 6. - - node: 6 - eslint: 6 - # Run ESLint 5 on only the newest and oldest Node. - - node: 10 - eslint: 5 - - node: 8 - eslint: 5 - runs-on: ubuntu-latest + os: [ubuntu-latest] + eslint: [7] + node: [14] + include: + # On other platforms + - eslint: 7 + node: 14 + os: windows-latest + - eslint: 7 + node: 14 + os: macos-latest + # On old Node.js versions + - eslint: 7 + node: 12 + os: ubuntu-latest + - eslint: 7 + node: 10 + os: ubuntu-latest + # On old ESLint versions + - eslint: 6 + node: 14 + os: ubuntu-latest + - eslint: 5 + node: 14 + os: ubuntu-latest + # On the minimum supported ESLint/Node.js version + - eslint: 5 + node: 6.14 + os: ubuntu-latest + runs-on: ${{ matrix.os }} steps: - name: Checkout - uses: actions/checkout@v1 - with: - fetch-depth: 1 + uses: actions/checkout@v2 - name: Install Node.js v${{ matrix.node }} uses: actions/setup-node@v1 with: node-version: ${{ matrix.node }} - name: Install Packages run: | - if [ ${{ matrix.node }} -eq 6 ]; then + if (( ${{ matrix.node }} == 6 )); then npm install --global npm@^6.0.0 fi npm install - - name: Install ESLint v${{ matrix.eslint }} - run: npm install --no-save eslint@^${{ matrix.eslint }}.0.0 + - name: Install ESLint ${{ matrix.eslint }} + run: npm install --no-save eslint@${{ matrix.eslint }} - name: Build run: npm run -s build - name: Test diff --git a/package.json b/package.json index a119886..ed794fc 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "2.0.0", "description": "Utilities for ESLint plugins.", "engines": { - "node": ">=6" + "node": ">=6.14" }, "sideEffects": false, "main": "index", @@ -12,15 +12,15 @@ "index.*" ], "dependencies": { - "eslint-visitor-keys": "^1.1.0" + "eslint-visitor-keys": "^1.2.0" }, "devDependencies": { - "@mysticatea/eslint-plugin": "^12.0.0", + "@mysticatea/eslint-plugin": "^13.0.0", "codecov": "^3.6.1", "dot-prop": "^4.2.0", - "eslint": "^6.5.1", + "eslint": "^7.2.0", "esm": "^3.2.25", - "espree": "^6.1.1", + "espree": "^7.1.0", "mocha": "^6.2.2", "npm-run-all": "^4.1.5", "nyc": "^14.1.1", @@ -31,6 +31,9 @@ "vuepress": "^1.2.0", "warun": "^1.0.0" }, + "peerDependencies": { + "eslint": ">=5" + }, "scripts": { "prebuild": "npm run -s clean", "build": "rollup -c",