Skip to content

Commit caac5e8

Browse files
authored
Drop support for Node.js v12 (#149)
* Drop support for Node.js v12 * update * fix core tests
1 parent 9448a78 commit caac5e8

File tree

5 files changed

+39
-35
lines changed

5 files changed

+39
-35
lines changed

Diff for: .github/workflows/CI.yml

+17-17
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ jobs:
1313
runs-on: ubuntu-latest
1414
steps:
1515
- name: Checkout
16-
uses: actions/checkout@v2
16+
uses: actions/checkout@v3
1717
- name: Checkout submodules
1818
run: git submodule update --init
1919
- name: Install Node.js
20-
uses: actions/setup-node@v1
20+
uses: actions/setup-node@v3
2121
with:
22-
node-version: 14
22+
node-version: 16
2323
- name: Install Packages
2424
run: npm install && cd test/fixtures/eslint && npm install
2525
- name: Lint
@@ -30,37 +30,37 @@ jobs:
3030
strategy:
3131
matrix:
3232
eslint: [7, 8]
33-
node: [14, 16]
33+
node: [16, 17]
3434
os: [ubuntu-latest]
3535
include:
3636
# On other platforms
3737
- eslint: 7
38-
node: 14
38+
node: 16
3939
os: windows-latest
4040
- eslint: 7
41-
node: 14
41+
node: 16
4242
os: macos-latest
4343
# On old Node.js versions
4444
- eslint: 7
45-
node: 12
45+
node: 14
4646
os: ubuntu-latest
4747
# On old ESLint versions
4848
- eslint: 6
49-
node: 14
49+
node: 16
5050
os: ubuntu-latest
5151
# On the minimum supported ESLint/Node.js version
5252
- eslint: 6
53-
node: 12
53+
node: 14
5454
os: ubuntu-latest
5555

5656
runs-on: ${{ matrix.os }}
5757
steps:
5858
- name: Checkout
59-
uses: actions/checkout@v2
59+
uses: actions/checkout@v3
6060
- name: Checkout submodules
6161
run: git submodule update --init
6262
- name: Install Node.js v${{ matrix.node }}
63-
uses: actions/setup-node@v1
63+
uses: actions/setup-node@v3
6464
with:
6565
node-version: ${{ matrix.node }}
6666
- name: Install Packages
@@ -77,17 +77,17 @@ jobs:
7777
runs-on: ubuntu-latest
7878
steps:
7979
- name: Checkout
80-
uses: actions/checkout@v2
80+
uses: actions/checkout@v3
8181
- name: Checkout submodules
8282
run: git submodule update --init
83-
- name: Install Node.js v14
84-
uses: actions/setup-node@v1
83+
- name: Install Node.js v16
84+
uses: actions/setup-node@v3
8585
with:
86-
node-version: 14
86+
node-version: 16
8787
- name: Install Packages
8888
run: npm install
89-
- name: Install ESLint v7
90-
run: node scripts/ci-install-eslint 7
89+
- name: Install ESLint v8
90+
run: node scripts/ci-install-eslint 8.12.0
9191
- name: Build
9292
run: npm run -s build
9393
- name: Test

Diff for: README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ This parser allows us to lint the `<template>` of `.vue` files. We can make mist
1818
npm install --save-dev eslint vue-eslint-parser
1919
```
2020

21-
- Requires Node.js ^12.22.0, ^14.17.0, 16.0.0 or later.
21+
- Requires Node.js ^14.17.0, 16.0.0 or later.
2222
- Requires ESLint 6.0.0 or later.
2323

2424
## 📖 Usage

Diff for: package.json

+11-11
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"version": "8.3.0",
44
"description": "The ESLint custom parser for `.vue` files.",
55
"engines": {
6-
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
6+
"node": "^14.17.0 || >=16.0.0"
77
},
88
"main": "index.js",
99
"files": [
@@ -13,13 +13,13 @@
1313
"eslint": ">=6.0.0"
1414
},
1515
"dependencies": {
16-
"debug": "^4.3.2",
17-
"eslint-scope": "^7.0.0",
18-
"eslint-visitor-keys": "^3.1.0",
19-
"espree": "^9.0.0",
16+
"debug": "^4.3.4",
17+
"eslint-scope": "^7.1.1",
18+
"eslint-visitor-keys": "^3.3.0",
19+
"espree": "^9.3.1",
2020
"esquery": "^1.4.0",
2121
"lodash": "^4.17.21",
22-
"semver": "^7.3.5"
22+
"semver": "^7.3.6"
2323
},
2424
"devDependencies": {
2525
"@babel/core": "^7.16.0",
@@ -34,17 +34,17 @@
3434
"@types/mocha": "^9.0.0",
3535
"@types/node": "^16.11.7",
3636
"@types/semver": "^7.3.9",
37-
"@typescript-eslint/eslint-plugin": "^5.4.0",
38-
"@typescript-eslint/parser": "^5.4.0",
37+
"@typescript-eslint/eslint-plugin": "^5.18.0",
38+
"@typescript-eslint/parser": "^5.18.0",
3939
"chokidar": "^3.5.2",
4040
"codecov": "^3.8.3",
4141
"cross-spawn": "^7.0.3",
4242
"dts-bundle": "^0.7.3",
43-
"eslint": "^8.2.0",
43+
"eslint": "^8.12.0",
4444
"eslint-plugin-eslint-comments": "^3.2.0",
45-
"eslint-plugin-jsonc": "^2.0.0",
45+
"eslint-plugin-jsonc": "^2.2.1",
4646
"eslint-plugin-node": "^11.1.0",
47-
"eslint-plugin-node-dependencies": "^0.6.0",
47+
"eslint-plugin-node-dependencies": "^0.8.0",
4848
"eslint-plugin-prettier": "^4.0.0",
4949
"fs-extra": "^10.0.0",
5050
"jsonc-eslint-parser": "^2.0.3",

Diff for: test/core-rules.js

+9-5
Original file line numberDiff line numberDiff line change
@@ -60,15 +60,19 @@ function codeShouldBeSkipped(code) {
6060
/**
6161
* Wrap the given code with a `<script>` tag.
6262
*
63+
* @param {string} ruleId The rule ID.
6364
* @param {string} code - The code to be wrapped.
6465
* @returns {string} The wrapped code.
6566
*/
66-
function wrapCode(code) {
67+
function wrapCode(ruleId, code) {
6768
const eol = "\n"
6869

6970
if (code.charCodeAt(0) === 0xfeff) {
7071
return `\uFEFF<script>${eol}${code.slice(1)}${eol}</script>`
7172
}
73+
if (ruleId === "prefer-regex-literals") {
74+
return `<script>;${eol}${code}${eol}</script>`
75+
}
7276
return `<script>${eol}${code}${eol}</script>`
7377
}
7478

@@ -86,7 +90,7 @@ function modifyPattern(ruleId, pattern) {
8690
return null
8791
}
8892
return {
89-
code: wrapCode(pattern),
93+
code: wrapCode(ruleId, pattern),
9094
filename: "test.vue",
9195
parser: PARSER_PATH,
9296
}
@@ -120,9 +124,9 @@ function modifyPattern(ruleId, pattern) {
120124
// Wrap the code by `<script>` tag.
121125
pattern.filename = "test.vue"
122126
pattern.parser = PARSER_PATH
123-
pattern.code = wrapCode(pattern.code)
127+
pattern.code = wrapCode(ruleId, pattern.code)
124128
if (pattern.output != null) {
125-
pattern.output = wrapCode(pattern.output)
129+
pattern.output = wrapCode(ruleId, pattern.output)
126130
}
127131

128132
if (Array.isArray(pattern.errors)) {
@@ -177,7 +181,7 @@ function modifyPattern(ruleId, pattern) {
177181
// Wrap the code by `<script>` tag.
178182
if (Array.isArray(error.suggestions)) {
179183
for (const suggestion of error.suggestions) {
180-
suggestion.output = wrapCode(suggestion.output)
184+
suggestion.output = wrapCode(ruleId, suggestion.output)
181185
}
182186
}
183187
}

Diff for: test/fixtures/eslint

Submodule eslint updated 770 files

0 commit comments

Comments
 (0)