Skip to content

Commit a3bc120

Browse files
authored
Require Node.js 16, enable prefer-at, prefer-event-target, and prefer-string-replace-all in recommended config (#2073)
1 parent a9337e8 commit a3bc120

File tree

7 files changed

+13
-17
lines changed

7 files changed

+13
-17
lines changed

.github/workflows/main.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,14 @@ jobs:
1515
fail-fast: false
1616
matrix:
1717
node-version:
18-
- 18
18+
- 20
1919
- 16
20-
- 14
2120
os:
2221
- ubuntu-latest
2322
- windows-latest
24-
exclude:
23+
include:
2524
- os: ubuntu-latest
26-
node-version: 16
25+
node-version: 18
2726
steps:
2827
- uses: actions/checkout@v3
2928
- uses: actions/setup-node@v3

configs/recommended.js

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,7 @@ module.exports = {
7373
'unicorn/prefer-array-flat-map': 'error',
7474
'unicorn/prefer-array-index-of': 'error',
7575
'unicorn/prefer-array-some': 'error',
76-
// TODO: Enable this by default when targeting a Node.js version that supports `Array#at`.
77-
'unicorn/prefer-at': 'off',
76+
'unicorn/prefer-at': 'error',
7877
'unicorn/prefer-blob-reading-methods': 'error',
7978
'unicorn/prefer-code-point': 'error',
8079
'unicorn/prefer-date-now': 'error',
@@ -83,8 +82,7 @@ module.exports = {
8382
'unicorn/prefer-dom-node-dataset': 'error',
8483
'unicorn/prefer-dom-node-remove': 'error',
8584
'unicorn/prefer-dom-node-text-content': 'error',
86-
// TODO: Enable this by default when targeting Node.js 16.
87-
'unicorn/prefer-event-target': 'off',
85+
'unicorn/prefer-event-target': 'error',
8886
'unicorn/prefer-export-from': 'error',
8987
'unicorn/prefer-includes': 'error',
9088
'unicorn/prefer-json-parse-buffer': 'off',
@@ -107,8 +105,7 @@ module.exports = {
107105
'unicorn/prefer-set-has': 'error',
108106
'unicorn/prefer-set-size': 'error',
109107
'unicorn/prefer-spread': 'error',
110-
// TODO: Enable this by default when targeting Node.js 16.
111-
'unicorn/prefer-string-replace-all': 'off',
108+
'unicorn/prefer-string-replace-all': 'error',
112109
'unicorn/prefer-string-slice': 'error',
113110
'unicorn/prefer-string-starts-ends-with': 'error',
114111
'unicorn/prefer-string-trim-start-end': 'error',

docs/rules/prefer-at.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Prefer `.at()` method for index access and `String#charAt()`
22

3-
🚫 This rule is _disabled_ in the ✅ `recommended` [config](https://github.com/sindresorhus/eslint-plugin-unicorn#preset-configs).
3+
💼 This rule is enabled in the ✅ `recommended` [config](https://github.com/sindresorhus/eslint-plugin-unicorn#preset-configs).
44

55
🔧💡 This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix) and manually fixable by [editor suggestions](https://eslint.org/docs/developer-guide/working-with-rules#providing-suggestions).
66

docs/rules/prefer-event-target.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Prefer `EventTarget` over `EventEmitter`
22

3-
🚫 This rule is _disabled_ in the ✅ `recommended` [config](https://github.com/sindresorhus/eslint-plugin-unicorn#preset-configs).
3+
💼 This rule is enabled in the ✅ `recommended` [config](https://github.com/sindresorhus/eslint-plugin-unicorn#preset-configs).
44

55
<!-- end auto-generated rule header -->
66
<!-- Do not manually modify this header. Run: `npm run fix:eslint-docs` -->

docs/rules/prefer-string-replace-all.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Prefer `String#replaceAll()` over regex searches with the global flag
22

3-
🚫 This rule is _disabled_ in the ✅ `recommended` [config](https://github.com/sindresorhus/eslint-plugin-unicorn#preset-configs).
3+
💼 This rule is enabled in the ✅ `recommended` [config](https://github.com/sindresorhus/eslint-plugin-unicorn#preset-configs).
44

55
🔧 This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix).
66

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"url": "https://sindresorhus.com"
1212
},
1313
"engines": {
14-
"node": ">=14.18"
14+
"node": ">=16"
1515
},
1616
"scripts": {
1717
"create-rule": "node ./scripts/create-rule.mjs && npm run fix:eslint-docs",

readme.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ If you don't use the preset, ensure you use the same `env` and `parserOptions` c
115115
| [prefer-array-flat-map](docs/rules/prefer-array-flat-map.md) | Prefer `.flatMap(…)` over `.map(…).flat()`. || 🔧 | |
116116
| [prefer-array-index-of](docs/rules/prefer-array-index-of.md) | Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item. || 🔧 | 💡 |
117117
| [prefer-array-some](docs/rules/prefer-array-some.md) | Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast}(…)`. || 🔧 | 💡 |
118-
| [prefer-at](docs/rules/prefer-at.md) | Prefer `.at()` method for index access and `String#charAt()`. | | 🔧 | 💡 |
118+
| [prefer-at](docs/rules/prefer-at.md) | Prefer `.at()` method for index access and `String#charAt()`. | | 🔧 | 💡 |
119119
| [prefer-blob-reading-methods](docs/rules/prefer-blob-reading-methods.md) | Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`. || | |
120120
| [prefer-code-point](docs/rules/prefer-code-point.md) | Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`. || | 💡 |
121121
| [prefer-date-now](docs/rules/prefer-date-now.md) | Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch. || 🔧 | |
@@ -124,7 +124,7 @@ If you don't use the preset, ensure you use the same `env` and `parserOptions` c
124124
| [prefer-dom-node-dataset](docs/rules/prefer-dom-node-dataset.md) | Prefer using `.dataset` on DOM elements over calling attribute methods. || 🔧 | |
125125
| [prefer-dom-node-remove](docs/rules/prefer-dom-node-remove.md) | Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`. || 🔧 | 💡 |
126126
| [prefer-dom-node-text-content](docs/rules/prefer-dom-node-text-content.md) | Prefer `.textContent` over `.innerText`. || | 💡 |
127-
| [prefer-event-target](docs/rules/prefer-event-target.md) | Prefer `EventTarget` over `EventEmitter`. | | | |
127+
| [prefer-event-target](docs/rules/prefer-event-target.md) | Prefer `EventTarget` over `EventEmitter`. | | | |
128128
| [prefer-export-from](docs/rules/prefer-export-from.md) | Prefer `export…from` when re-exporting. || 🔧 | 💡 |
129129
| [prefer-includes](docs/rules/prefer-includes.md) | Prefer `.includes()` over `.indexOf()` and `Array#some()` when checking for existence or non-existence. || 🔧 | 💡 |
130130
| [prefer-json-parse-buffer](docs/rules/prefer-json-parse-buffer.md) | Prefer reading a JSON file as a buffer. | | 🔧 | |
@@ -147,7 +147,7 @@ If you don't use the preset, ensure you use the same `env` and `parserOptions` c
147147
| [prefer-set-has](docs/rules/prefer-set-has.md) | Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence. || 🔧 | 💡 |
148148
| [prefer-set-size](docs/rules/prefer-set-size.md) | Prefer using `Set#size` instead of `Array#length`. || 🔧 | |
149149
| [prefer-spread](docs/rules/prefer-spread.md) | Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`. || 🔧 | 💡 |
150-
| [prefer-string-replace-all](docs/rules/prefer-string-replace-all.md) | Prefer `String#replaceAll()` over regex searches with the global flag. | | 🔧 | |
150+
| [prefer-string-replace-all](docs/rules/prefer-string-replace-all.md) | Prefer `String#replaceAll()` over regex searches with the global flag. | | 🔧 | |
151151
| [prefer-string-slice](docs/rules/prefer-string-slice.md) | Prefer `String#slice()` over `String#substr()` and `String#substring()`. || 🔧 | |
152152
| [prefer-string-starts-ends-with](docs/rules/prefer-string-starts-ends-with.md) | Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`. || 🔧 | 💡 |
153153
| [prefer-string-trim-start-end](docs/rules/prefer-string-trim-start-end.md) | Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`. || 🔧 | |

0 commit comments

Comments
 (0)