Skip to content

Commit 856ee89

Browse files
authored
Drop support for node<v14 (#107)
* Drop support for node<v14 * Create tame-walls-clap.md
1 parent e39d8f2 commit 856ee89

File tree

10 files changed

+50
-11
lines changed

10 files changed

+50
-11
lines changed

.changeset/tame-walls-clap.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"eslint-config-vue-preset": minor
3+
---
4+
5+
feat!: Drop support for node<v14

.github/workflows/NodeCI.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
runs-on: ubuntu-latest
2121
strategy:
2222
matrix:
23-
node-version: [12.x, 14.x, 16.x]
23+
node-version: [14.x, 16.x, 18.x, 20.x]
2424
steps:
2525
- uses: actions/checkout@v3
2626
- name: Use Node.js ${{ matrix.node-version }}

airbnb/fallback.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ module.exports = {
1919
"vue/no-empty-pattern": "error",
2020
"vue/no-multi-spaces": "error",
2121
"vue/no-useless-concat": "error",
22+
"vue/no-console": "warn",
2223
"vue/no-constant-condition": "warn",
2324
"vue/no-irregular-whitespace": "error",
2425
"vue/no-loss-of-precision": "error",

eslint/all/fallback.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ module.exports = {
55
"vue/camelcase": "error",
66
"vue/dot-notation": "error",
77
"vue/eqeqeq": "error",
8+
"vue/no-console": "error",
89
"vue/no-constant-condition": "error",
910
"vue/no-empty-pattern": "error",
1011
"vue/no-irregular-whitespace": "error",

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
},
3131
"homepage": "https://github.com/ota-meshi/eslint-config-vue-preset#readme",
3232
"engines": {
33-
"node": ">=12"
33+
"node": ">=14"
3434
},
3535
"peerDependencies": {
3636
"eslint": ">=7.30.0",
@@ -41,11 +41,11 @@
4141
"@ota-meshi/eslint-plugin": "^0.10.0",
4242
"@svitejs/changesets-changelog-github-compact": "^1.1.0",
4343
"@vue/eslint-config-standard": "^6.0.0",
44-
"eslint": "^8.11.0",
44+
"eslint": "^8.57.0",
4545
"eslint-config-airbnb": "^19.0.4",
4646
"eslint-config-google": "^0.14.0",
4747
"eslint-config-prettier": "^8.1.0",
48-
"eslint-config-standard": "^16.0.3",
48+
"eslint-config-standard": "^17.1.0",
4949
"eslint-plugin-eslint-comments": "^3.2.0",
5050
"eslint-plugin-import": "^2.20.2",
5151
"eslint-plugin-json-schema-validator": "^2.1.38",
@@ -58,7 +58,7 @@
5858
"eslint-plugin-react-hooks": "^4.0.2",
5959
"eslint-plugin-regexp": "^1.0.0",
6060
"eslint-plugin-standard": "^4.0.1",
61-
"eslint-plugin-vue": "^8.5.0",
61+
"eslint-plugin-vue": "^9.23.0",
6262
"eslint-plugin-vue-libs": "^4.0.0",
6363
"fs-extra": "^10.0.0",
6464
"glob": "^8.0.0",

standard/fallback.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
module.exports = {
44
rules: {
5+
"vue/object-shorthand": ["warn", "properties"],
56
"vue/array-bracket-spacing": ["error", "never"],
67
"vue/arrow-spacing": [
78
"error",
@@ -73,6 +74,7 @@ module.exports = {
7374
after: true,
7475
},
7576
],
77+
"vue/multiline-ternary": ["error", "always-multiline"],
7678
"vue/no-constant-condition": [
7779
"error",
7880
{

vue/recommended-e/fallback.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,21 @@ module.exports = {
44
rules: {
55
"vue/comment-directive": "error",
66
"vue/jsx-uses-vars": "error",
7-
"vue/script-setup-uses-vars": "error",
87
"vue/multi-word-component-names": "error",
98
"vue/no-arrow-functions-in-watch": "error",
109
"vue/no-async-in-computed-properties": "error",
10+
"vue/no-child-content": "error",
1111
"vue/no-computed-properties-in-data": "error",
1212
"vue/no-custom-modifiers-on-v-model": "error",
1313
"vue/no-dupe-keys": "error",
1414
"vue/no-dupe-v-else-if": "error",
1515
"vue/no-duplicate-attributes": "error",
16+
"vue/no-export-in-script-setup": "error",
1617
"vue/no-multiple-template-root": "error",
1718
"vue/no-mutating-props": "error",
1819
"vue/no-parsing-error": "error",
20+
"vue/no-ref-as-operand": "error",
21+
"vue/no-reserved-component-names": "error",
1922
"vue/no-reserved-keys": "error",
2023
"vue/no-reserved-props": "error",
2124
"vue/no-shared-component-data": "error",
@@ -24,17 +27,24 @@ module.exports = {
2427
"vue/no-textarea-mustache": "error",
2528
"vue/no-unused-components": "error",
2629
"vue/no-unused-vars": "error",
30+
"vue/no-use-computed-property-like-method": "error",
2731
"vue/no-use-v-if-with-v-for": "error",
2832
"vue/no-useless-template-attributes": "error",
2933
"vue/no-v-for-template-key": "error",
3034
"vue/no-v-model-argument": "error",
35+
"vue/no-v-text-v-html-on-component": "error",
3136
"vue/require-component-is": "error",
3237
"vue/require-prop-type-constructor": "error",
3338
"vue/require-render-return": "error",
3439
"vue/require-v-for-key": "error",
3540
"vue/require-valid-default-prop": "error",
3641
"vue/return-in-computed-property": "error",
42+
"vue/return-in-emits-validator": "error",
3743
"vue/use-v-on-exact": "error",
44+
"vue/valid-attribute-name": "error",
45+
"vue/valid-define-emits": "error",
46+
"vue/valid-define-props": "error",
47+
"vue/valid-model-definition": "error",
3848
"vue/valid-next-tick": "error",
3949
"vue/valid-template-root": "error",
4050
"vue/valid-v-bind-sync": "error",

vue/strongly-recommended-e/fallback.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,21 @@ module.exports = {
44
rules: {
55
"vue/comment-directive": "error",
66
"vue/jsx-uses-vars": "error",
7-
"vue/script-setup-uses-vars": "error",
87
"vue/multi-word-component-names": "error",
98
"vue/no-arrow-functions-in-watch": "error",
109
"vue/no-async-in-computed-properties": "error",
10+
"vue/no-child-content": "error",
1111
"vue/no-computed-properties-in-data": "error",
1212
"vue/no-custom-modifiers-on-v-model": "error",
1313
"vue/no-dupe-keys": "error",
1414
"vue/no-dupe-v-else-if": "error",
1515
"vue/no-duplicate-attributes": "error",
16+
"vue/no-export-in-script-setup": "error",
1617
"vue/no-multiple-template-root": "error",
1718
"vue/no-mutating-props": "error",
1819
"vue/no-parsing-error": "error",
20+
"vue/no-ref-as-operand": "error",
21+
"vue/no-reserved-component-names": "error",
1922
"vue/no-reserved-keys": "error",
2023
"vue/no-reserved-props": "error",
2124
"vue/no-shared-component-data": "error",
@@ -24,17 +27,24 @@ module.exports = {
2427
"vue/no-textarea-mustache": "error",
2528
"vue/no-unused-components": "error",
2629
"vue/no-unused-vars": "error",
30+
"vue/no-use-computed-property-like-method": "error",
2731
"vue/no-use-v-if-with-v-for": "error",
2832
"vue/no-useless-template-attributes": "error",
2933
"vue/no-v-for-template-key": "error",
3034
"vue/no-v-model-argument": "error",
35+
"vue/no-v-text-v-html-on-component": "error",
3136
"vue/require-component-is": "error",
3237
"vue/require-prop-type-constructor": "error",
3338
"vue/require-render-return": "error",
3439
"vue/require-v-for-key": "error",
3540
"vue/require-valid-default-prop": "error",
3641
"vue/return-in-computed-property": "error",
42+
"vue/return-in-emits-validator": "error",
3743
"vue/use-v-on-exact": "error",
44+
"vue/valid-attribute-name": "error",
45+
"vue/valid-define-emits": "error",
46+
"vue/valid-define-props": "error",
47+
"vue/valid-model-definition": "error",
3848
"vue/valid-next-tick": "error",
3949
"vue/valid-template-root": "error",
4050
"vue/valid-v-bind-sync": "error",

vue/vue3-recommended-e/fallback.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ module.exports = {
44
rules: {
55
"vue/comment-directive": "error",
66
"vue/jsx-uses-vars": "error",
7-
"vue/script-setup-uses-vars": "error",
87
"vue/multi-word-component-names": "error",
98
"vue/no-arrow-functions-in-watch": "error",
109
"vue/no-async-in-computed-properties": "error",
10+
"vue/no-child-content": "error",
1111
"vue/no-computed-properties-in-data": "error",
1212
"vue/no-deprecated-data-object-declaration": "error",
1313
"vue/no-deprecated-destroyed-lifecycle": "error",
@@ -32,23 +32,27 @@ module.exports = {
3232
"vue/no-dupe-v-else-if": "error",
3333
"vue/no-duplicate-attributes": "error",
3434
"vue/no-export-in-script-setup": "error",
35+
"vue/no-expose-after-await": "error",
3536
"vue/no-lifecycle-after-await": "error",
3637
"vue/no-mutating-props": "error",
3738
"vue/no-parsing-error": "error",
3839
"vue/no-ref-as-operand": "error",
40+
"vue/no-reserved-component-names": "error",
3941
"vue/no-reserved-keys": "error",
4042
"vue/no-reserved-props": "error",
41-
"vue/no-setup-props-destructure": "error",
4243
"vue/no-shared-component-data": "error",
4344
"vue/no-side-effects-in-computed-properties": "error",
4445
"vue/no-template-key": "error",
4546
"vue/no-textarea-mustache": "error",
4647
"vue/no-unused-components": "error",
4748
"vue/no-unused-vars": "error",
49+
"vue/no-use-computed-property-like-method": "error",
4850
"vue/no-use-v-if-with-v-for": "error",
4951
"vue/no-useless-template-attributes": "error",
5052
"vue/no-v-for-template-key-on-child": "error",
53+
"vue/no-v-text-v-html-on-component": "error",
5154
"vue/no-watch-after-await": "error",
55+
"vue/prefer-import-from-vue": "error",
5256
"vue/require-component-is": "error",
5357
"vue/require-prop-type-constructor": "error",
5458
"vue/require-render-return": "error",
@@ -59,6 +63,7 @@ module.exports = {
5963
"vue/return-in-computed-property": "error",
6064
"vue/return-in-emits-validator": "error",
6165
"vue/use-v-on-exact": "error",
66+
"vue/valid-attribute-name": "error",
6267
"vue/valid-define-emits": "error",
6368
"vue/valid-define-props": "error",
6469
"vue/valid-next-tick": "error",

vue/vue3-strongly-recommended-e/fallback.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ module.exports = {
44
rules: {
55
"vue/comment-directive": "error",
66
"vue/jsx-uses-vars": "error",
7-
"vue/script-setup-uses-vars": "error",
87
"vue/multi-word-component-names": "error",
98
"vue/no-arrow-functions-in-watch": "error",
109
"vue/no-async-in-computed-properties": "error",
10+
"vue/no-child-content": "error",
1111
"vue/no-computed-properties-in-data": "error",
1212
"vue/no-deprecated-data-object-declaration": "error",
1313
"vue/no-deprecated-destroyed-lifecycle": "error",
@@ -32,23 +32,27 @@ module.exports = {
3232
"vue/no-dupe-v-else-if": "error",
3333
"vue/no-duplicate-attributes": "error",
3434
"vue/no-export-in-script-setup": "error",
35+
"vue/no-expose-after-await": "error",
3536
"vue/no-lifecycle-after-await": "error",
3637
"vue/no-mutating-props": "error",
3738
"vue/no-parsing-error": "error",
3839
"vue/no-ref-as-operand": "error",
40+
"vue/no-reserved-component-names": "error",
3941
"vue/no-reserved-keys": "error",
4042
"vue/no-reserved-props": "error",
41-
"vue/no-setup-props-destructure": "error",
4243
"vue/no-shared-component-data": "error",
4344
"vue/no-side-effects-in-computed-properties": "error",
4445
"vue/no-template-key": "error",
4546
"vue/no-textarea-mustache": "error",
4647
"vue/no-unused-components": "error",
4748
"vue/no-unused-vars": "error",
49+
"vue/no-use-computed-property-like-method": "error",
4850
"vue/no-use-v-if-with-v-for": "error",
4951
"vue/no-useless-template-attributes": "error",
5052
"vue/no-v-for-template-key-on-child": "error",
53+
"vue/no-v-text-v-html-on-component": "error",
5154
"vue/no-watch-after-await": "error",
55+
"vue/prefer-import-from-vue": "error",
5256
"vue/require-component-is": "error",
5357
"vue/require-prop-type-constructor": "error",
5458
"vue/require-render-return": "error",
@@ -59,6 +63,7 @@ module.exports = {
5963
"vue/return-in-computed-property": "error",
6064
"vue/return-in-emits-validator": "error",
6165
"vue/use-v-on-exact": "error",
66+
"vue/valid-attribute-name": "error",
6267
"vue/valid-define-emits": "error",
6368
"vue/valid-define-props": "error",
6469
"vue/valid-next-tick": "error",

0 commit comments

Comments
 (0)