@ota-meshi/eslint-plugin 0.9.0 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,253 +1,248 @@
1
- "use strict"
1
+ "use strict";
2
2
 
3
3
  module.exports = {
4
- extends: [
5
- "eslint:recommended",
6
- require.resolve("./base-plugins/eslint-comments"),
7
- require.resolve("./base-plugins/regexp"),
8
- ],
9
- parserOptions: {
10
- sourceType: "module",
11
- ecmaVersion: 2020,
12
- },
13
- rules: {
14
- // warns
15
- "no-warning-comments": "warn",
16
- "no-console": "warn",
17
- "no-alert": "warn",
18
- //
19
- "no-extra-parens": "error",
20
- "accessor-pairs": "error",
21
- "consistent-return": "error",
22
- eqeqeq: ["error", "always", { null: "ignore" }],
23
- "no-eval": "error",
24
- "no-extend-native": "error",
25
- "no-extra-bind": "error",
26
- "no-extra-label": "error",
27
- "no-multi-str": "error",
28
- "no-new-wrappers": "error",
29
- "no-octal-escape": "error",
30
- "no-sequences": "error",
31
- "no-useless-call": "error",
32
- "no-useless-concat": "error",
33
- "no-new-object": "error",
34
- "no-tabs": "error",
35
- "require-jsdoc": "error",
36
- "prefer-template": "error",
37
- "object-shorthand": "error",
4
+ extends: [
5
+ "eslint:recommended",
6
+ require.resolve("./base-plugins/eslint-comments"),
7
+ require.resolve("./base-plugins/regexp"),
8
+ ],
9
+ parserOptions: {
10
+ sourceType: "module",
11
+ ecmaVersion: 2020,
12
+ },
13
+ rules: {
14
+ // warns
15
+ "no-warning-comments": "warn",
16
+ "no-console": "warn",
17
+ "no-alert": "warn",
18
+ //
19
+ "no-extra-parens": "error",
20
+ "accessor-pairs": "error",
21
+ "consistent-return": "error",
22
+ eqeqeq: ["error", "always", { null: "ignore" }],
23
+ "no-eval": "error",
24
+ "no-extend-native": "error",
25
+ "no-extra-bind": "error",
26
+ "no-extra-label": "error",
27
+ "no-multi-str": "error",
28
+ "no-new-wrappers": "error",
29
+ "no-octal-escape": "error",
30
+ "no-sequences": "error",
31
+ "no-useless-call": "error",
32
+ "no-useless-concat": "error",
33
+ "no-new-object": "error",
34
+ "no-tabs": "error",
35
+ "require-jsdoc": "error",
36
+ "prefer-template": "error",
37
+ "object-shorthand": "error",
38
38
 
39
- "array-callback-return": "error",
40
- camelcase: "error",
41
- curly: "error",
42
- "default-case": "error",
43
- "default-param-last": "error",
44
- "dot-notation": "error",
45
- "for-direction": "error",
46
- "func-style": ["error", "declaration"],
47
- "getter-return": "error",
48
- // "init-declarations": "error",
49
- "linebreak-style": ["error", "unix"],
50
- "lines-between-class-members": "error",
51
- "max-statements-per-line": ["error", { max: 1 }],
52
- "multiline-comment-style": ["error", "separate-lines"],
53
- "new-cap": "error",
54
- "no-array-constructor": "error",
55
- "no-async-promise-executor": "error",
56
- "no-caller": "error",
57
- "no-case-declarations": "error",
58
- "no-compare-neg-zero": "error",
59
- "no-cond-assign": "error",
60
- "no-constant-condition": "error",
61
- "no-control-regex": "error",
62
- "no-debugger": "error",
63
- "no-delete-var": "error",
64
- "no-div-regex": "error",
65
- "no-dupe-args": "error",
66
- "no-dupe-keys": "error",
67
- "no-duplicate-case": "error",
68
- "no-else-return": "error",
69
- "no-empty": "error",
70
- "no-empty-character-class": "error",
71
- "no-empty-function": "error",
72
- "no-empty-pattern": "error",
73
- "no-ex-assign": "error",
74
- "no-extra-boolean-cast": "error",
75
- "no-fallthrough": "error",
76
- "no-func-assign": "error",
77
- "no-global-assign": "error",
78
- "no-implicit-coercion": "error",
79
- "no-implicit-globals": "error",
80
- "no-implied-eval": "error",
81
- "no-import-assign": "error",
82
- "no-inner-declarations": ["error", "functions"],
83
- "no-invalid-regexp": "error",
84
- "no-invalid-this": "error",
85
- "no-irregular-whitespace": [
86
- "error",
87
- {
88
- skipComments: false,
89
- skipRegExps: false,
90
- skipStrings: false,
91
- skipTemplates: false,
92
- },
93
- ],
94
- "no-iterator": "error",
95
- "no-label-var": "error",
96
- "no-lone-blocks": "error",
97
- "no-lonely-if": "error",
98
- "no-loop-func": "error",
99
- "no-misleading-character-class": "error",
100
- "no-mixed-operators": [
101
- "error",
102
- {
103
- groups: [
104
- ["&", "|", "^", "~", "<<", ">>", ">>>"],
105
- ["&&", "||"],
106
- ],
107
- },
108
- ],
109
- "no-new": "error",
110
- "no-new-require": "error",
111
- "no-obj-calls": "error",
112
- "no-octal": "error",
113
- "no-param-reassign": ["error", { props: false }],
114
- "no-process-env": "error",
115
- "no-process-exit": "error",
116
- "no-prototype-builtins": "error",
117
- "no-redeclare": ["error", { builtinGlobals: true }],
118
- "no-regex-spaces": "error",
119
- "no-restricted-properties": [
120
- "error",
121
- { property: "__count__" },
122
- { property: "__noSuchMethod__" },
123
- { property: "__parent__" },
124
- { property: "__defineGetter__" },
125
- { property: "__defineSetter__" },
126
- { property: "__lookupGetter__" },
127
- { property: "__lookupSetter__" },
128
- ],
129
- "no-return-assign": "error",
130
- "no-return-await": "error",
131
- "no-script-url": "error",
132
- "no-self-assign": ["error", { props: true }],
133
- "no-self-compare": "error",
134
- "no-shadow": ["error", { builtinGlobals: true }],
135
- "no-shadow-restricted-names": "error",
136
- "no-sparse-arrays": "error",
137
- "no-throw-literal": "error",
138
- "no-undef": ["error", { typeof: true }],
139
- "no-unexpected-multiline": "error",
140
- "no-unmodified-loop-condition": "error",
141
- "no-unneeded-ternary": "error",
142
- "no-unreachable": "error",
143
- "no-unsafe-finally": "error",
144
- "no-unsafe-negation": ["error", { enforceForOrderingRelations: true }],
145
- "no-unused-expressions": "error",
146
- "no-unused-labels": "error",
147
- "no-unused-vars": [
148
- "error",
149
- {
150
- args: "all",
151
- argsIgnorePattern: "^_(?:[^_].*)?$",
152
- caughtErrors: "all",
153
- vars: "all",
154
- varsIgnorePattern: "^_(?:[^_].*)?$",
155
- },
156
- ],
157
- "no-use-before-define": ["error", "nofunc"],
158
- "no-useless-catch": "error",
159
- "no-useless-escape": "error",
160
- "no-useless-return": "error",
161
- "no-void": "error",
162
- "no-with": "error",
163
- "no-var": "error",
164
- "one-var": [
165
- "error",
166
- {
167
- initialized: "never",
168
- uninitialized: "always",
169
- },
170
- ],
171
- "padding-line-between-statements": [
172
- "error",
173
- { blankLine: "always", next: "*", prev: "directive" },
174
- { blankLine: "always", next: "function", prev: "*" },
175
- { blankLine: "always", next: "*", prev: "function" },
176
- ],
177
- "prefer-promise-reject-errors": "error",
178
- "prefer-regex-literals": "error",
179
- quotes: ["error", "double", { avoidEscape: true }],
180
- radix: "error",
181
- "require-atomic-updates": "error",
182
- "require-await": "error",
183
- "spaced-comment": [
184
- "error",
185
- "always",
186
- {
187
- block: {
188
- balanced: true,
189
- markers: [
190
- "eslint",
191
- "eslint-env",
192
- "eslint-disable",
193
- "eslint-enable",
194
- "exported",
195
- "globals",
196
- "istanbul",
197
- ],
198
- },
199
- line: {
200
- exceptions: ["-", "="],
201
- markers: [
202
- "eslint-disable-line",
203
- "eslint-disable-next-line",
204
- "istanbul",
205
- "TODO:",
206
- "FIXME:",
207
- ],
208
- },
209
- },
210
- ],
211
- strict: ["error", "global"],
212
- "use-isnan": [
213
- "error",
214
- { enforceForIndexOf: true, enforceForSwitchCase: true },
39
+ "array-callback-return": "error",
40
+ camelcase: "error",
41
+ curly: "error",
42
+ "default-case": "error",
43
+ "default-param-last": "error",
44
+ "dot-notation": "error",
45
+ "for-direction": "error",
46
+ "func-style": ["error", "declaration"],
47
+ "getter-return": "error",
48
+ // "init-declarations": "error",
49
+ "linebreak-style": ["error", "unix"],
50
+ "lines-between-class-members": "error",
51
+ "max-statements-per-line": ["error", { max: 1 }],
52
+ "multiline-comment-style": ["error", "separate-lines"],
53
+ "new-cap": "error",
54
+ "no-array-constructor": "error",
55
+ "no-async-promise-executor": "error",
56
+ "no-caller": "error",
57
+ "no-case-declarations": "error",
58
+ "no-compare-neg-zero": "error",
59
+ "no-cond-assign": "error",
60
+ "no-constant-condition": "error",
61
+ "no-control-regex": "error",
62
+ "no-debugger": "error",
63
+ "no-delete-var": "error",
64
+ "no-div-regex": "error",
65
+ "no-dupe-args": "error",
66
+ "no-dupe-keys": "error",
67
+ "no-duplicate-case": "error",
68
+ "no-else-return": "error",
69
+ "no-empty": "error",
70
+ "no-empty-character-class": "error",
71
+ "no-empty-function": "error",
72
+ "no-empty-pattern": "error",
73
+ "no-ex-assign": "error",
74
+ "no-extra-boolean-cast": "error",
75
+ "no-fallthrough": "error",
76
+ "no-func-assign": "error",
77
+ "no-global-assign": "error",
78
+ "no-implicit-coercion": "error",
79
+ "no-implicit-globals": "error",
80
+ "no-implied-eval": "error",
81
+ "no-import-assign": "error",
82
+ "no-inner-declarations": ["error", "functions"],
83
+ "no-invalid-regexp": "error",
84
+ "no-invalid-this": "error",
85
+ "no-irregular-whitespace": [
86
+ "error",
87
+ {
88
+ skipComments: false,
89
+ skipRegExps: false,
90
+ skipStrings: false,
91
+ skipTemplates: false,
92
+ },
93
+ ],
94
+ "no-iterator": "error",
95
+ "no-label-var": "error",
96
+ "no-lone-blocks": "error",
97
+ "no-lonely-if": "error",
98
+ "no-loop-func": "error",
99
+ "no-misleading-character-class": "error",
100
+ "no-mixed-operators": [
101
+ "error",
102
+ {
103
+ groups: [
104
+ ["&", "|", "^", "~", "<<", ">>", ">>>"],
105
+ ["&&", "||"],
215
106
  ],
216
- "valid-typeof": ["error", { requireStringLiterals: true }],
217
- yoda: ["error", "never", { exceptRange: true }],
218
-
219
- // Enabled rules as warnings.
220
- complexity: ["warn", { max: 16 }],
221
- "max-nested-callbacks": ["warn", { max: 4 }],
222
- "max-params": ["warn", { max: 8 }],
223
- },
224
- overrides: [
225
- {
226
- files: ["*.js"],
227
- extends: [require.resolve("./json-schema/config")],
107
+ },
108
+ ],
109
+ "no-new": "error",
110
+ "no-new-require": "error",
111
+ "no-obj-calls": "error",
112
+ "no-octal": "error",
113
+ "no-param-reassign": ["error", { props: false }],
114
+ "no-process-env": "error",
115
+ "no-process-exit": "error",
116
+ "no-prototype-builtins": "error",
117
+ "no-redeclare": ["error", { builtinGlobals: true }],
118
+ "no-regex-spaces": "error",
119
+ "no-restricted-properties": [
120
+ "error",
121
+ { property: "__count__" },
122
+ { property: "__noSuchMethod__" },
123
+ { property: "__parent__" },
124
+ { property: "__defineGetter__" },
125
+ { property: "__defineSetter__" },
126
+ { property: "__lookupGetter__" },
127
+ { property: "__lookupSetter__" },
128
+ ],
129
+ "no-return-assign": "error",
130
+ "no-return-await": "error",
131
+ "no-script-url": "error",
132
+ "no-self-assign": ["error", { props: true }],
133
+ "no-self-compare": "error",
134
+ "no-shadow": ["error", { builtinGlobals: true }],
135
+ "no-shadow-restricted-names": "error",
136
+ "no-sparse-arrays": "error",
137
+ "no-throw-literal": "error",
138
+ "no-undef": ["error", { typeof: true }],
139
+ "no-unexpected-multiline": "error",
140
+ "no-unmodified-loop-condition": "error",
141
+ "no-unneeded-ternary": "error",
142
+ "no-unreachable": "error",
143
+ "no-unsafe-finally": "error",
144
+ "no-unsafe-negation": ["error", { enforceForOrderingRelations: true }],
145
+ "no-unused-expressions": "error",
146
+ "no-unused-labels": "error",
147
+ "no-unused-vars": [
148
+ "error",
149
+ {
150
+ args: "all",
151
+ argsIgnorePattern: "^_(?:[^_].*)?$",
152
+ caughtErrors: "all",
153
+ vars: "all",
154
+ varsIgnorePattern: "^_(?:[^_].*)?$",
155
+ },
156
+ ],
157
+ "no-use-before-define": ["error", "nofunc"],
158
+ "no-useless-catch": "error",
159
+ "no-useless-escape": "error",
160
+ "no-useless-return": "error",
161
+ "no-void": "error",
162
+ "no-with": "error",
163
+ "no-var": "error",
164
+ "one-var": [
165
+ "error",
166
+ {
167
+ initialized: "never",
168
+ uninitialized: "always",
169
+ },
170
+ ],
171
+ "padding-line-between-statements": [
172
+ "error",
173
+ { blankLine: "always", next: "*", prev: "directive" },
174
+ { blankLine: "always", next: "function", prev: "*" },
175
+ { blankLine: "always", next: "*", prev: "function" },
176
+ ],
177
+ "prefer-promise-reject-errors": "error",
178
+ "prefer-regex-literals": "error",
179
+ quotes: ["error", "double", { avoidEscape: true }],
180
+ radix: "error",
181
+ "require-atomic-updates": "error",
182
+ "require-await": "error",
183
+ "spaced-comment": [
184
+ "error",
185
+ "always",
186
+ {
187
+ block: {
188
+ balanced: true,
189
+ markers: [
190
+ "eslint",
191
+ "eslint-env",
192
+ "eslint-disable",
193
+ "eslint-enable",
194
+ "exported",
195
+ "globals",
196
+ "istanbul",
197
+ ],
228
198
  },
229
- {
230
- files: [
231
- "test/**/*.js",
232
- "tests/**/*.js",
233
- "test/**/*.ts",
234
- "tests/**/*.ts",
235
- ],
236
- globals: {
237
- after: "readonly",
238
- afterEach: "readonly",
239
- before: "readonly",
240
- beforeEach: "readonly",
241
- describe: "readonly",
242
- it: "readonly",
243
- mocha: "readonly",
244
- xdescribe: "readonly",
245
- xit: "readonly",
246
- },
247
- rules: {
248
- "require-jsdoc": "off",
249
- "no-console": "off",
250
- },
199
+ line: {
200
+ exceptions: ["-", "="],
201
+ markers: [
202
+ "eslint-disable-line",
203
+ "eslint-disable-next-line",
204
+ "istanbul",
205
+ "TODO:",
206
+ "FIXME:",
207
+ ],
251
208
  },
209
+ },
210
+ ],
211
+ strict: ["error", "global"],
212
+ "use-isnan": [
213
+ "error",
214
+ { enforceForIndexOf: true, enforceForSwitchCase: true },
252
215
  ],
253
- }
216
+ "valid-typeof": ["error", { requireStringLiterals: true }],
217
+ yoda: ["error", "never", { exceptRange: true }],
218
+
219
+ // Enabled rules as warnings.
220
+ complexity: ["warn", { max: 16 }],
221
+ "max-nested-callbacks": ["warn", { max: 4 }],
222
+ "max-params": ["warn", { max: 8 }],
223
+ },
224
+ overrides: [
225
+ {
226
+ files: ["*.js"],
227
+ extends: [require.resolve("./json-schema/config")],
228
+ },
229
+ {
230
+ files: ["test/**/*.js", "tests/**/*.js", "test/**/*.ts", "tests/**/*.ts"],
231
+ globals: {
232
+ after: "readonly",
233
+ afterEach: "readonly",
234
+ before: "readonly",
235
+ beforeEach: "readonly",
236
+ describe: "readonly",
237
+ it: "readonly",
238
+ mocha: "readonly",
239
+ xdescribe: "readonly",
240
+ xit: "readonly",
241
+ },
242
+ rules: {
243
+ "require-jsdoc": "off",
244
+ "no-console": "off",
245
+ },
246
+ },
247
+ ],
248
+ };
@@ -1,17 +1,17 @@
1
- "use strict"
1
+ "use strict";
2
2
 
3
3
  module.exports = {
4
- getProject() {
5
- let project = undefined
6
- try {
7
- project = require("module")
8
- .createRequire(
9
- require("path").join(process.cwd(), "__placeholder__.js"),
10
- )
11
- .resolve("./tsconfig.json")
12
- } catch {
13
- // ignore
14
- }
15
- return project
16
- },
17
- }
4
+ getProject() {
5
+ let project = undefined;
6
+ try {
7
+ project = require("module")
8
+ .createRequire(
9
+ require("path").join(process.cwd(), "__placeholder__.js")
10
+ )
11
+ .resolve("./tsconfig.json");
12
+ } catch {
13
+ // ignore
14
+ }
15
+ return project;
16
+ },
17
+ };
package/lib/index.js CHANGED
@@ -1,34 +1,34 @@
1
- "use strict"
1
+ "use strict";
2
2
 
3
3
  module.exports = {
4
- configs: {
5
- recommended: require("./configs/recommended"),
6
- "+eslint-plugin": require("./configs/+eslint-plugin"),
7
- "+json": require("./configs/+json"),
8
- "+node": require("./configs/+node"),
9
- "+prettier": require("./configs/+prettier"),
10
- "+typescript": require("./configs/+typescript"),
11
- "+vue2": require("./configs/+vue2"),
12
- "+vue3": require("./configs/+vue3"),
13
- "+yaml": require("./configs/+yaml"),
14
- "+toml": require("./configs/+toml"),
15
- "+md": require("./configs/+md"),
16
- "+package-json": require("./configs/+package-json"),
17
- },
18
- rules: {
19
- "missing-module-for-config": require("./rules/missing-module-for-config"),
20
- },
4
+ configs: {
5
+ recommended: require("./configs/recommended"),
6
+ "+eslint-plugin": require("./configs/+eslint-plugin"),
7
+ "+json": require("./configs/+json"),
8
+ "+node": require("./configs/+node"),
9
+ "+prettier": require("./configs/+prettier"),
10
+ "+typescript": require("./configs/+typescript"),
11
+ "+vue2": require("./configs/+vue2"),
12
+ "+vue3": require("./configs/+vue3"),
13
+ "+yaml": require("./configs/+yaml"),
14
+ "+toml": require("./configs/+toml"),
15
+ "+md": require("./configs/+md"),
16
+ "+package-json": require("./configs/+package-json"),
17
+ },
18
+ rules: {
19
+ "missing-module-for-config": require("./rules/missing-module-for-config"),
20
+ },
21
21
 
22
- processors: {
23
- "missing-parser": {
24
- preprocess() {
25
- return ["/* missing parser */"]
26
- },
27
- postprocess(messages) {
28
- return [].concat(...messages)
29
- },
22
+ processors: {
23
+ "missing-parser": {
24
+ preprocess() {
25
+ return ["/* missing parser */"];
26
+ },
27
+ postprocess(messages) {
28
+ return [].concat(...messages);
29
+ },
30
30
 
31
- supportsAutofix: false,
32
- },
31
+ supportsAutofix: false,
33
32
  },
34
- }
33
+ },
34
+ };