diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml
index 95a6301..5aa64a7 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,47 @@ 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: 10
+ 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
- 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
+ run: npm install
+ - 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 661a97f..cd61e9b 100644
--- a/package.json
+++ b/package.json
@@ -3,7 +3,7 @@
"version": "2.1.0",
"description": "Utilities for ESLint plugins.",
"engines": {
- "node": ">=6"
+ "node": ">=10"
},
"sideEffects": false,
"main": "index",
@@ -12,15 +12,15 @@
"index.*"
],
"dependencies": {
- "eslint-visitor-keys": "^1.1.0"
+ "eslint-visitor-keys": "^2.0.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.9.0",
"esm": "^3.2.25",
- "espree": "^6.1.1",
+ "espree": "^7.3.0",
"mocha": "^6.2.2",
"npm-run-all": "^4.1.5",
"nyc": "^14.1.1",
@@ -32,6 +32,9 @@
"vuepress": "^1.2.0",
"warun": "^1.0.0"
},
+ "peerDependencies": {
+ "eslint": ">=5"
+ },
"scripts": {
"prebuild": "npm run -s clean",
"build": "rollup -c",
diff --git a/test/pattern-matcher.js b/test/pattern-matcher.js
index 717867f..f679397 100644
--- a/test/pattern-matcher.js
+++ b/test/pattern-matcher.js
@@ -3,7 +3,7 @@ import { PatternMatcher } from "../src/"
const NAMED_CAPTURE_GROUP_SUPPORTED = (() => {
try {
- new RegExp("(?)", "u") //eslint-disable-line no-new, prefer-regex-literals, @mysticatea/node/no-unsupported-features/es-syntax
+ new RegExp("(?)", "u") //eslint-disable-line no-new, prefer-regex-literals
return true
} catch (_error) {
return false