diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 95a6301..08318c7 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,23 +27,39 @@ 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: @@ -56,8 +70,8 @@ jobs: 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..f9d4c76 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", @@ -18,9 +18,9 @@ "@mysticatea/eslint-plugin": "^12.0.0", "codecov": "^3.6.1", "dot-prop": "^4.2.0", - "eslint": "^6.5.1", + "eslint": "^7.0.0", "esm": "^3.2.25", - "espree": "^6.1.1", + "espree": "^7.0.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",