@saasmakers/eslint 0.1.18 → 0.1.20

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,448 +1,472 @@
1
- import { g as getAugmentedNamespace, a as getDefaultExportFromCjs, r as requireEslintVisitorKeys, s as saasmakers } from './shared/eslint.poN7Ld_I.mjs';
1
+ import pluginJs from '@eslint/js';
2
+ import stylistic from '@stylistic/eslint-plugin';
2
3
  import unocss from '@unocss/eslint-config/flat';
4
+ import { mergeProcessors } from 'eslint-merge-processors';
5
+ import nodeEslint from 'eslint-plugin-n';
3
6
  import packageJson from 'eslint-plugin-package-json';
4
7
  import perfectionist from 'eslint-plugin-perfectionist';
5
8
  import { configs } from 'eslint-plugin-pnpm';
6
9
  import turbo from 'eslint-plugin-turbo';
10
+ import unicorn from 'eslint-plugin-unicorn';
11
+ import pluginVue from 'eslint-plugin-vue';
12
+ import vueAccessibility from 'eslint-plugin-vuejs-accessibility';
13
+ import processorVueBlocks from 'eslint-processor-vue-blocks';
7
14
  import tseslint from 'typescript-eslint';
8
- import require$$0$2 from 'path';
15
+ import require$$0$1 from 'path';
9
16
  import require$$2 from 'assert';
10
17
  import require$$1$1 from 'tty';
11
18
  import require$$1$2 from 'util';
12
- import require$$0$1 from 'os';
19
+ import require$$0 from 'os';
13
20
  import require$$6 from 'module';
14
21
  import require$$8 from 'events';
15
22
  import require$$9 from 'esquery';
16
- import require$$0$3 from 'eslint';
17
- import 'eslint/use-at-your-own-risk';
18
-
19
- const name$1 = "@eslint/js";
20
- const version$1 = "9.39.2";
21
- const description$1 = "ESLint JavaScript language implementation";
22
- const funding = "https://eslint.org/donate";
23
- const main$1 = "./src/index.js";
24
- const types = "./types/index.d.ts";
25
- const scripts$1 = {
26
- "test:types": "tsc -p tests/types/tsconfig.json"
27
- };
28
- const files = [
29
- "LICENSE",
30
- "README.md",
31
- "src",
32
- "types"
33
- ];
34
- const publishConfig = {
35
- access: "public"
36
- };
37
- const repository$1 = {
38
- type: "git",
39
- url: "https://github.com/eslint/eslint.git",
40
- directory: "packages/js"
41
- };
42
- const homepage$1 = "https://eslint.org";
43
- const bugs = "https://github.com/eslint/eslint/issues/";
44
- const keywords = [
45
- "javascript",
46
- "eslint-plugin",
47
- "eslint"
48
- ];
49
- const license$1 = "MIT";
50
- const engines$1 = {
51
- node: "^18.18.0 || ^20.9.0 || >=21.1.0"
52
- };
53
- const _package$2 = {
54
- name: name$1,
55
- version: version$1,
56
- description: description$1,
57
- funding: funding,
58
- main: main$1,
59
- types: types,
60
- scripts: scripts$1,
61
- files: files,
62
- publishConfig: publishConfig,
63
- repository: repository$1,
64
- homepage: homepage$1,
65
- bugs: bugs,
66
- keywords: keywords,
67
- license: license$1,
68
- engines: engines$1
69
- };
23
+ import require$$10 from 'eslint';
24
+ import saasmakers from './index.mjs';
25
+ import '@typescript-eslint/utils';
70
26
 
71
- const _package$3 = {
72
- __proto__: null,
73
- bugs: bugs,
74
- default: _package$2,
75
- description: description$1,
76
- engines: engines$1,
77
- files: files,
78
- funding: funding,
79
- homepage: homepage$1,
80
- keywords: keywords,
81
- license: license$1,
82
- main: main$1,
83
- name: name$1,
84
- publishConfig: publishConfig,
85
- repository: repository$1,
86
- scripts: scripts$1,
87
- types: types,
88
- version: version$1
89
- };
27
+ function getDefaultExportFromCjs (x) {
28
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
29
+ }
90
30
 
91
- const require$$0 = /*@__PURE__*/getAugmentedNamespace(_package$3);
31
+ function getAugmentedNamespace(n) {
32
+ if (Object.prototype.hasOwnProperty.call(n, '__esModule')) return n;
33
+ var f = n.default;
34
+ if (typeof f == "function") {
35
+ var a = function a () {
36
+ var isInstance = false;
37
+ try {
38
+ isInstance = this instanceof a;
39
+ } catch {}
40
+ if (isInstance) {
41
+ return Reflect.construct(f, arguments, this.constructor);
42
+ }
43
+ return f.apply(this, arguments);
44
+ };
45
+ a.prototype = f.prototype;
46
+ } else a = {};
47
+ Object.defineProperty(a, '__esModule', {value: true});
48
+ Object.keys(n).forEach(function (k) {
49
+ var d = Object.getOwnPropertyDescriptor(n, k);
50
+ Object.defineProperty(a, k, d.get ? d : {
51
+ enumerable: true,
52
+ get: function () {
53
+ return n[k];
54
+ }
55
+ });
56
+ });
57
+ return a;
58
+ }
92
59
 
93
- /*
94
- * WARNING: This file is autogenerated using the tools/update-eslint-all.js
95
- * script. Do not edit manually.
96
- */
60
+ function commonjsRequire(path) {
61
+ throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
62
+ }
97
63
 
98
- var eslintAll;
99
- var hasRequiredEslintAll;
64
+ var vueEslintParser = {};
100
65
 
101
- function requireEslintAll () {
102
- if (hasRequiredEslintAll) return eslintAll;
103
- hasRequiredEslintAll = 1;
66
+ var eslintVisitorKeys = {};
104
67
 
105
- /*
106
- * IMPORTANT!
107
- *
108
- * We cannot add a "name" property to this object because it's still used in eslintrc
109
- * which doesn't support the "name" property. If we add a "name" property, it will
110
- * cause an error.
68
+ var hasRequiredEslintVisitorKeys;
69
+
70
+ function requireEslintVisitorKeys () {
71
+ if (hasRequiredEslintVisitorKeys) return eslintVisitorKeys;
72
+ hasRequiredEslintVisitorKeys = 1;
73
+
74
+ /* eslint-disable jsdoc/valid-types -- doesn't allow `readonly`.
75
+ TODO: remove eslint-disable when https://github.com/jsdoc-type-pratt-parser/jsdoc-type-pratt-parser/issues/164 is fixed
76
+ */
77
+ /**
78
+ * @typedef {{ readonly [type: string]: ReadonlyArray<string> }} VisitorKeys
111
79
  */
80
+ /* eslint-enable jsdoc/valid-types -- doesn't allow `readonly string[]`. TODO: check why */
112
81
 
113
- eslintAll = Object.freeze({
114
- rules: Object.freeze({
115
- "accessor-pairs": "error",
116
- "array-callback-return": "error",
117
- "arrow-body-style": "error",
118
- "block-scoped-var": "error",
119
- "camelcase": "error",
120
- "capitalized-comments": "error",
121
- "class-methods-use-this": "error",
122
- "complexity": "error",
123
- "consistent-return": "error",
124
- "consistent-this": "error",
125
- "constructor-super": "error",
126
- "curly": "error",
127
- "default-case": "error",
128
- "default-case-last": "error",
129
- "default-param-last": "error",
130
- "dot-notation": "error",
131
- "eqeqeq": "error",
132
- "for-direction": "error",
133
- "func-name-matching": "error",
134
- "func-names": "error",
135
- "func-style": "error",
136
- "getter-return": "error",
137
- "grouped-accessor-pairs": "error",
138
- "guard-for-in": "error",
139
- "id-denylist": "error",
140
- "id-length": "error",
141
- "id-match": "error",
142
- "init-declarations": "error",
143
- "logical-assignment-operators": "error",
144
- "max-classes-per-file": "error",
145
- "max-depth": "error",
146
- "max-lines": "error",
147
- "max-lines-per-function": "error",
148
- "max-nested-callbacks": "error",
149
- "max-params": "error",
150
- "max-statements": "error",
151
- "new-cap": "error",
152
- "no-alert": "error",
153
- "no-array-constructor": "error",
154
- "no-async-promise-executor": "error",
155
- "no-await-in-loop": "error",
156
- "no-bitwise": "error",
157
- "no-caller": "error",
158
- "no-case-declarations": "error",
159
- "no-class-assign": "error",
160
- "no-compare-neg-zero": "error",
161
- "no-cond-assign": "error",
162
- "no-console": "error",
163
- "no-const-assign": "error",
164
- "no-constant-binary-expression": "error",
165
- "no-constant-condition": "error",
166
- "no-constructor-return": "error",
167
- "no-continue": "error",
168
- "no-control-regex": "error",
169
- "no-debugger": "error",
170
- "no-delete-var": "error",
171
- "no-div-regex": "error",
172
- "no-dupe-args": "error",
173
- "no-dupe-class-members": "error",
174
- "no-dupe-else-if": "error",
175
- "no-dupe-keys": "error",
176
- "no-duplicate-case": "error",
177
- "no-duplicate-imports": "error",
178
- "no-else-return": "error",
179
- "no-empty": "error",
180
- "no-empty-character-class": "error",
181
- "no-empty-function": "error",
182
- "no-empty-pattern": "error",
183
- "no-empty-static-block": "error",
184
- "no-eq-null": "error",
185
- "no-eval": "error",
186
- "no-ex-assign": "error",
187
- "no-extend-native": "error",
188
- "no-extra-bind": "error",
189
- "no-extra-boolean-cast": "error",
190
- "no-extra-label": "error",
191
- "no-fallthrough": "error",
192
- "no-func-assign": "error",
193
- "no-global-assign": "error",
194
- "no-implicit-coercion": "error",
195
- "no-implicit-globals": "error",
196
- "no-implied-eval": "error",
197
- "no-import-assign": "error",
198
- "no-inline-comments": "error",
199
- "no-inner-declarations": "error",
200
- "no-invalid-regexp": "error",
201
- "no-invalid-this": "error",
202
- "no-irregular-whitespace": "error",
203
- "no-iterator": "error",
204
- "no-label-var": "error",
205
- "no-labels": "error",
206
- "no-lone-blocks": "error",
207
- "no-lonely-if": "error",
208
- "no-loop-func": "error",
209
- "no-loss-of-precision": "error",
210
- "no-magic-numbers": "error",
211
- "no-misleading-character-class": "error",
212
- "no-multi-assign": "error",
213
- "no-multi-str": "error",
214
- "no-negated-condition": "error",
215
- "no-nested-ternary": "error",
216
- "no-new": "error",
217
- "no-new-func": "error",
218
- "no-new-native-nonconstructor": "error",
219
- "no-new-wrappers": "error",
220
- "no-nonoctal-decimal-escape": "error",
221
- "no-obj-calls": "error",
222
- "no-object-constructor": "error",
223
- "no-octal": "error",
224
- "no-octal-escape": "error",
225
- "no-param-reassign": "error",
226
- "no-plusplus": "error",
227
- "no-promise-executor-return": "error",
228
- "no-proto": "error",
229
- "no-prototype-builtins": "error",
230
- "no-redeclare": "error",
231
- "no-regex-spaces": "error",
232
- "no-restricted-exports": "error",
233
- "no-restricted-globals": "error",
234
- "no-restricted-imports": "error",
235
- "no-restricted-properties": "error",
236
- "no-restricted-syntax": "error",
237
- "no-return-assign": "error",
238
- "no-script-url": "error",
239
- "no-self-assign": "error",
240
- "no-self-compare": "error",
241
- "no-sequences": "error",
242
- "no-setter-return": "error",
243
- "no-shadow": "error",
244
- "no-shadow-restricted-names": "error",
245
- "no-sparse-arrays": "error",
246
- "no-template-curly-in-string": "error",
247
- "no-ternary": "error",
248
- "no-this-before-super": "error",
249
- "no-throw-literal": "error",
250
- "no-unassigned-vars": "error",
251
- "no-undef": "error",
252
- "no-undef-init": "error",
253
- "no-undefined": "error",
254
- "no-underscore-dangle": "error",
255
- "no-unexpected-multiline": "error",
256
- "no-unmodified-loop-condition": "error",
257
- "no-unneeded-ternary": "error",
258
- "no-unreachable": "error",
259
- "no-unreachable-loop": "error",
260
- "no-unsafe-finally": "error",
261
- "no-unsafe-negation": "error",
262
- "no-unsafe-optional-chaining": "error",
263
- "no-unused-expressions": "error",
264
- "no-unused-labels": "error",
265
- "no-unused-private-class-members": "error",
266
- "no-unused-vars": "error",
267
- "no-use-before-define": "error",
268
- "no-useless-assignment": "error",
269
- "no-useless-backreference": "error",
270
- "no-useless-call": "error",
271
- "no-useless-catch": "error",
272
- "no-useless-computed-key": "error",
273
- "no-useless-concat": "error",
274
- "no-useless-constructor": "error",
275
- "no-useless-escape": "error",
276
- "no-useless-rename": "error",
277
- "no-useless-return": "error",
278
- "no-var": "error",
279
- "no-void": "error",
280
- "no-warning-comments": "error",
281
- "no-with": "error",
282
- "object-shorthand": "error",
283
- "one-var": "error",
284
- "operator-assignment": "error",
285
- "prefer-arrow-callback": "error",
286
- "prefer-const": "error",
287
- "prefer-destructuring": "error",
288
- "prefer-exponentiation-operator": "error",
289
- "prefer-named-capture-group": "error",
290
- "prefer-numeric-literals": "error",
291
- "prefer-object-has-own": "error",
292
- "prefer-object-spread": "error",
293
- "prefer-promise-reject-errors": "error",
294
- "prefer-regex-literals": "error",
295
- "prefer-rest-params": "error",
296
- "prefer-spread": "error",
297
- "prefer-template": "error",
298
- "preserve-caught-error": "error",
299
- "radix": "error",
300
- "require-atomic-updates": "error",
301
- "require-await": "error",
302
- "require-unicode-regexp": "error",
303
- "require-yield": "error",
304
- "sort-imports": "error",
305
- "sort-keys": "error",
306
- "sort-vars": "error",
307
- "strict": "error",
308
- "symbol-description": "error",
309
- "unicode-bom": "error",
310
- "use-isnan": "error",
311
- "valid-typeof": "error",
312
- "vars-on-top": "error",
313
- "yoda": "error"
314
- })
315
- });
316
- return eslintAll;
317
- }
82
+ /**
83
+ * @type {VisitorKeys}
84
+ */
85
+ const KEYS = {
86
+ ArrayExpression: [
87
+ "elements"
88
+ ],
89
+ ArrayPattern: [
90
+ "elements"
91
+ ],
92
+ ArrowFunctionExpression: [
93
+ "params",
94
+ "body"
95
+ ],
96
+ AssignmentExpression: [
97
+ "left",
98
+ "right"
99
+ ],
100
+ AssignmentPattern: [
101
+ "left",
102
+ "right"
103
+ ],
104
+ AwaitExpression: [
105
+ "argument"
106
+ ],
107
+ BinaryExpression: [
108
+ "left",
109
+ "right"
110
+ ],
111
+ BlockStatement: [
112
+ "body"
113
+ ],
114
+ BreakStatement: [
115
+ "label"
116
+ ],
117
+ CallExpression: [
118
+ "callee",
119
+ "arguments"
120
+ ],
121
+ CatchClause: [
122
+ "param",
123
+ "body"
124
+ ],
125
+ ChainExpression: [
126
+ "expression"
127
+ ],
128
+ ClassBody: [
129
+ "body"
130
+ ],
131
+ ClassDeclaration: [
132
+ "id",
133
+ "superClass",
134
+ "body"
135
+ ],
136
+ ClassExpression: [
137
+ "id",
138
+ "superClass",
139
+ "body"
140
+ ],
141
+ ConditionalExpression: [
142
+ "test",
143
+ "consequent",
144
+ "alternate"
145
+ ],
146
+ ContinueStatement: [
147
+ "label"
148
+ ],
149
+ DebuggerStatement: [],
150
+ DoWhileStatement: [
151
+ "body",
152
+ "test"
153
+ ],
154
+ EmptyStatement: [],
155
+ ExperimentalRestProperty: [
156
+ "argument"
157
+ ],
158
+ ExperimentalSpreadProperty: [
159
+ "argument"
160
+ ],
161
+ ExportAllDeclaration: [
162
+ "exported",
163
+ "source",
164
+ "attributes"
165
+ ],
166
+ ExportDefaultDeclaration: [
167
+ "declaration"
168
+ ],
169
+ ExportNamedDeclaration: [
170
+ "declaration",
171
+ "specifiers",
172
+ "source",
173
+ "attributes"
174
+ ],
175
+ ExportSpecifier: [
176
+ "local",
177
+ "exported"
178
+ ],
179
+ ExpressionStatement: [
180
+ "expression"
181
+ ],
182
+ ForInStatement: [
183
+ "left",
184
+ "right",
185
+ "body"
186
+ ],
187
+ ForOfStatement: [
188
+ "left",
189
+ "right",
190
+ "body"
191
+ ],
192
+ ForStatement: [
193
+ "init",
194
+ "test",
195
+ "update",
196
+ "body"
197
+ ],
198
+ FunctionDeclaration: [
199
+ "id",
200
+ "params",
201
+ "body"
202
+ ],
203
+ FunctionExpression: [
204
+ "id",
205
+ "params",
206
+ "body"
207
+ ],
208
+ Identifier: [],
209
+ IfStatement: [
210
+ "test",
211
+ "consequent",
212
+ "alternate"
213
+ ],
214
+ ImportAttribute: [
215
+ "key",
216
+ "value"
217
+ ],
218
+ ImportDeclaration: [
219
+ "specifiers",
220
+ "source",
221
+ "attributes"
222
+ ],
223
+ ImportDefaultSpecifier: [
224
+ "local"
225
+ ],
226
+ ImportExpression: [
227
+ "source",
228
+ "options"
229
+ ],
230
+ ImportNamespaceSpecifier: [
231
+ "local"
232
+ ],
233
+ ImportSpecifier: [
234
+ "imported",
235
+ "local"
236
+ ],
237
+ JSXAttribute: [
238
+ "name",
239
+ "value"
240
+ ],
241
+ JSXClosingElement: [
242
+ "name"
243
+ ],
244
+ JSXClosingFragment: [],
245
+ JSXElement: [
246
+ "openingElement",
247
+ "children",
248
+ "closingElement"
249
+ ],
250
+ JSXEmptyExpression: [],
251
+ JSXExpressionContainer: [
252
+ "expression"
253
+ ],
254
+ JSXFragment: [
255
+ "openingFragment",
256
+ "children",
257
+ "closingFragment"
258
+ ],
259
+ JSXIdentifier: [],
260
+ JSXMemberExpression: [
261
+ "object",
262
+ "property"
263
+ ],
264
+ JSXNamespacedName: [
265
+ "namespace",
266
+ "name"
267
+ ],
268
+ JSXOpeningElement: [
269
+ "name",
270
+ "attributes"
271
+ ],
272
+ JSXOpeningFragment: [],
273
+ JSXSpreadAttribute: [
274
+ "argument"
275
+ ],
276
+ JSXSpreadChild: [
277
+ "expression"
278
+ ],
279
+ JSXText: [],
280
+ LabeledStatement: [
281
+ "label",
282
+ "body"
283
+ ],
284
+ Literal: [],
285
+ LogicalExpression: [
286
+ "left",
287
+ "right"
288
+ ],
289
+ MemberExpression: [
290
+ "object",
291
+ "property"
292
+ ],
293
+ MetaProperty: [
294
+ "meta",
295
+ "property"
296
+ ],
297
+ MethodDefinition: [
298
+ "key",
299
+ "value"
300
+ ],
301
+ NewExpression: [
302
+ "callee",
303
+ "arguments"
304
+ ],
305
+ ObjectExpression: [
306
+ "properties"
307
+ ],
308
+ ObjectPattern: [
309
+ "properties"
310
+ ],
311
+ PrivateIdentifier: [],
312
+ Program: [
313
+ "body"
314
+ ],
315
+ Property: [
316
+ "key",
317
+ "value"
318
+ ],
319
+ PropertyDefinition: [
320
+ "key",
321
+ "value"
322
+ ],
323
+ RestElement: [
324
+ "argument"
325
+ ],
326
+ ReturnStatement: [
327
+ "argument"
328
+ ],
329
+ SequenceExpression: [
330
+ "expressions"
331
+ ],
332
+ SpreadElement: [
333
+ "argument"
334
+ ],
335
+ StaticBlock: [
336
+ "body"
337
+ ],
338
+ Super: [],
339
+ SwitchCase: [
340
+ "test",
341
+ "consequent"
342
+ ],
343
+ SwitchStatement: [
344
+ "discriminant",
345
+ "cases"
346
+ ],
347
+ TaggedTemplateExpression: [
348
+ "tag",
349
+ "quasi"
350
+ ],
351
+ TemplateElement: [],
352
+ TemplateLiteral: [
353
+ "quasis",
354
+ "expressions"
355
+ ],
356
+ ThisExpression: [],
357
+ ThrowStatement: [
358
+ "argument"
359
+ ],
360
+ TryStatement: [
361
+ "block",
362
+ "handler",
363
+ "finalizer"
364
+ ],
365
+ UnaryExpression: [
366
+ "argument"
367
+ ],
368
+ UpdateExpression: [
369
+ "argument"
370
+ ],
371
+ VariableDeclaration: [
372
+ "declarations"
373
+ ],
374
+ VariableDeclarator: [
375
+ "id",
376
+ "init"
377
+ ],
378
+ WhileStatement: [
379
+ "test",
380
+ "body"
381
+ ],
382
+ WithStatement: [
383
+ "object",
384
+ "body"
385
+ ],
386
+ YieldExpression: [
387
+ "argument"
388
+ ]
389
+ };
318
390
 
319
- /*
320
- * WARNING: This file is autogenerated using the tools/update-eslint-recommended.js
321
- * script. Do not edit manually.
322
- */
391
+ // Types.
392
+ const NODE_TYPES = Object.keys(KEYS);
323
393
 
324
- var eslintRecommended;
325
- var hasRequiredEslintRecommended;
394
+ // Freeze the keys.
395
+ for (const type of NODE_TYPES) {
396
+ Object.freeze(KEYS[type]);
397
+ }
398
+ Object.freeze(KEYS);
326
399
 
327
- function requireEslintRecommended () {
328
- if (hasRequiredEslintRecommended) return eslintRecommended;
329
- hasRequiredEslintRecommended = 1;
400
+ /**
401
+ * @author Toru Nagashima <https://github.com/mysticatea>
402
+ * See LICENSE file in root directory for full license.
403
+ */
330
404
 
331
- /*
332
- * IMPORTANT!
333
- *
334
- * We cannot add a "name" property to this object because it's still used in eslintrc
335
- * which doesn't support the "name" property. If we add a "name" property, it will
336
- * cause an error.
405
+ /**
406
+ * @typedef {import('./visitor-keys.js').VisitorKeys} VisitorKeys
337
407
  */
338
408
 
339
- eslintRecommended = Object.freeze({
340
- rules: Object.freeze({
341
- "constructor-super": "error",
342
- "for-direction": "error",
343
- "getter-return": "error",
344
- "no-async-promise-executor": "error",
345
- "no-case-declarations": "error",
346
- "no-class-assign": "error",
347
- "no-compare-neg-zero": "error",
348
- "no-cond-assign": "error",
349
- "no-const-assign": "error",
350
- "no-constant-binary-expression": "error",
351
- "no-constant-condition": "error",
352
- "no-control-regex": "error",
353
- "no-debugger": "error",
354
- "no-delete-var": "error",
355
- "no-dupe-args": "error",
356
- "no-dupe-class-members": "error",
357
- "no-dupe-else-if": "error",
358
- "no-dupe-keys": "error",
359
- "no-duplicate-case": "error",
360
- "no-empty": "error",
361
- "no-empty-character-class": "error",
362
- "no-empty-pattern": "error",
363
- "no-empty-static-block": "error",
364
- "no-ex-assign": "error",
365
- "no-extra-boolean-cast": "error",
366
- "no-fallthrough": "error",
367
- "no-func-assign": "error",
368
- "no-global-assign": "error",
369
- "no-import-assign": "error",
370
- "no-invalid-regexp": "error",
371
- "no-irregular-whitespace": "error",
372
- "no-loss-of-precision": "error",
373
- "no-misleading-character-class": "error",
374
- "no-new-native-nonconstructor": "error",
375
- "no-nonoctal-decimal-escape": "error",
376
- "no-obj-calls": "error",
377
- "no-octal": "error",
378
- "no-prototype-builtins": "error",
379
- "no-redeclare": "error",
380
- "no-regex-spaces": "error",
381
- "no-self-assign": "error",
382
- "no-setter-return": "error",
383
- "no-shadow-restricted-names": "error",
384
- "no-sparse-arrays": "error",
385
- "no-this-before-super": "error",
386
- "no-undef": "error",
387
- "no-unexpected-multiline": "error",
388
- "no-unreachable": "error",
389
- "no-unsafe-finally": "error",
390
- "no-unsafe-negation": "error",
391
- "no-unsafe-optional-chaining": "error",
392
- "no-unused-labels": "error",
393
- "no-unused-private-class-members": "error",
394
- "no-unused-vars": "error",
395
- "no-useless-backreference": "error",
396
- "no-useless-catch": "error",
397
- "no-useless-escape": "error",
398
- "no-with": "error",
399
- "require-yield": "error",
400
- "use-isnan": "error",
401
- "valid-typeof": "error"
402
- }),
403
- });
404
- return eslintRecommended;
405
- }
409
+ // List to ignore keys.
410
+ const KEY_BLACKLIST = new Set([
411
+ "parent",
412
+ "leadingComments",
413
+ "trailingComments"
414
+ ]);
406
415
 
407
- /**
408
- * @fileoverview Main package entrypoint.
409
- * @author Nicholas C. Zakas
410
- */
416
+ /**
417
+ * Check whether a given key should be used or not.
418
+ * @param {string} key The key to check.
419
+ * @returns {boolean} `true` if the key should be used.
420
+ */
421
+ function filterKey(key) {
422
+ return !KEY_BLACKLIST.has(key) && key[0] !== "_";
423
+ }
411
424
 
412
- var src$1;
413
- var hasRequiredSrc$1;
414
425
 
415
- function requireSrc$1 () {
416
- if (hasRequiredSrc$1) return src$1;
417
- hasRequiredSrc$1 = 1;
426
+ /* eslint-disable jsdoc/valid-types -- doesn't allow `readonly`.
427
+ TODO: remove eslint-disable when https://github.com/jsdoc-type-pratt-parser/jsdoc-type-pratt-parser/issues/164 is fixed
428
+ */
429
+ /**
430
+ * Get visitor keys of a given node.
431
+ * @param {Object} node The AST node to get keys.
432
+ * @returns {readonly string[]} Visitor keys of the node.
433
+ */
434
+ function getKeys(node) {
435
+ return Object.keys(node).filter(filterKey);
436
+ }
437
+ /* eslint-enable jsdoc/valid-types -- doesn't allow `readonly` */
418
438
 
419
- const { name, version } = require$$0;
439
+ /**
440
+ * Make the union set with `KEYS` and given keys.
441
+ * @param {VisitorKeys} additionalKeys The additional keys.
442
+ * @returns {VisitorKeys} The union set.
443
+ */
444
+ function unionWith(additionalKeys) {
445
+ const retv = /** @type {{ [type: string]: ReadonlyArray<string> }} */
446
+ (Object.assign({}, KEYS));
420
447
 
421
- //------------------------------------------------------------------------------
422
- // Public Interface
423
- //------------------------------------------------------------------------------
448
+ for (const type of Object.keys(additionalKeys)) {
449
+ if (Object.hasOwn(retv, type)) {
450
+ const keys = new Set(additionalKeys[type]);
424
451
 
425
- src$1 = {
426
- meta: {
427
- name,
428
- version,
429
- },
430
- configs: {
431
- all: requireEslintAll(),
432
- recommended: requireEslintRecommended(),
433
- },
434
- };
435
- return src$1;
436
- }
452
+ for (const key of retv[type]) {
453
+ keys.add(key);
454
+ }
437
455
 
438
- var srcExports = requireSrc$1();
439
- const pluginJs = /*@__PURE__*/getDefaultExportFromCjs(srcExports);
456
+ retv[type] = Object.freeze(Array.from(keys));
457
+ } else {
458
+ retv[type] = Object.freeze(Array.from(additionalKeys[type]));
459
+ }
460
+ }
440
461
 
441
- function commonjsRequire(path) {
442
- throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
443
- }
462
+ return Object.freeze(retv);
463
+ }
444
464
 
445
- var vueEslintParser = {};
465
+ eslintVisitorKeys.KEYS = KEYS;
466
+ eslintVisitorKeys.getKeys = getKeys;
467
+ eslintVisitorKeys.unionWith = unionWith;
468
+ return eslintVisitorKeys;
469
+ }
446
470
 
447
471
  var src = {exports: {}};
448
472
 
@@ -1225,7 +1249,7 @@ var hasRequiredSupportsColor;
1225
1249
  function requireSupportsColor () {
1226
1250
  if (hasRequiredSupportsColor) return supportsColor_1;
1227
1251
  hasRequiredSupportsColor = 1;
1228
- const os = require$$0$1;
1252
+ const os = require$$0;
1229
1253
  const tty = require$$1$1;
1230
1254
  const hasFlag = requireHasFlag();
1231
1255
 
@@ -2541,21 +2565,21 @@ const _package = {
2541
2565
  };
2542
2566
 
2543
2567
  const _package$1 = {
2544
- __proto__: null,
2545
- babel: babel,
2546
- default: _package,
2547
- dependencies: dependencies,
2548
- description: description,
2549
- devDependencies: devDependencies,
2550
- engines: engines,
2551
- homepage: homepage,
2552
- license: license,
2553
- main: main,
2554
- maintainers: maintainers,
2555
- name: name,
2556
- repository: repository,
2557
- scripts: scripts,
2558
- version: version
2568
+ __proto__: null,
2569
+ babel: babel,
2570
+ default: _package,
2571
+ dependencies: dependencies,
2572
+ description: description,
2573
+ devDependencies: devDependencies,
2574
+ engines: engines,
2575
+ homepage: homepage,
2576
+ license: license,
2577
+ main: main,
2578
+ maintainers: maintainers,
2579
+ name: name,
2580
+ repository: repository,
2581
+ scripts: scripts,
2582
+ version: version
2559
2583
  };
2560
2584
 
2561
2585
  const require$$1 = /*@__PURE__*/getAugmentedNamespace(_package$1);
@@ -15746,7 +15770,7 @@ function requireVueEslintParser () {
15746
15770
 
15747
15771
  Object.defineProperty(vueEslintParser, '__esModule', { value: true });
15748
15772
 
15749
- var path = require$$0$2;
15773
+ var path = require$$0$1;
15750
15774
  var Evk = requireEslintVisitorKeys();
15751
15775
  var assert = require$$2;
15752
15776
  var debugFactory = requireSrc();
@@ -20774,7 +20798,7 @@ function requireVueEslintParser () {
20774
20798
  return sourceCode;
20775
20799
  }
20776
20800
  const scopeManager = getScopeManager();
20777
- const originalSourceCode = new (require$$0$3.SourceCode)({
20801
+ const originalSourceCode = new (require$$10.SourceCode)({
20778
20802
  text,
20779
20803
  ast: parsedResult.ast,
20780
20804
  parserServices: {
@@ -22428,15 +22452,41 @@ const config = [
22428
22452
  "@typescript-eslint/no-non-null-assertion": "off",
22429
22453
  "@typescript-eslint/no-unused-vars": ["error", { argsIgnorePattern: "^_" }],
22430
22454
  "array-bracket-newline": ["error", { minItems: 3, multiline: true }],
22431
- "id-length": ["error", { exceptions: ["_", "t", "x", "y"], min: 2 }],
22455
+ "id-length": ["error", { exceptions: ["_", "n", "t", "x", "y"], min: 2 }],
22432
22456
  "no-undef": "off"
22433
22457
  }
22434
22458
  },
22459
+ // Stylistic
22460
+ stylistic.configs.customize({
22461
+ arrowParens: true,
22462
+ blockSpacing: true,
22463
+ braceStyle: "stroustrup",
22464
+ commaDangle: "always-multiline",
22465
+ indent: 2,
22466
+ quoteProps: "consistent-as-needed",
22467
+ quotes: "single",
22468
+ semi: false,
22469
+ severity: "error"
22470
+ }),
22435
22471
  // Plugins
22436
22472
  ...configs.json,
22437
22473
  ...configs.yaml,
22438
22474
  unocss,
22439
22475
  turbo.configs["flat/recommended"],
22476
+ // Node
22477
+ nodeEslint.configs["flat/recommended"],
22478
+ {
22479
+ files: ["**/*.{js,mjs,ts,mts,vue}"],
22480
+ rules: {
22481
+ "n/no-missing-import": "off",
22482
+ "n/no-sync": "error",
22483
+ "n/no-unsupported-features/es-syntax": ["error", { ignores: ["modules"] }],
22484
+ "n/prefer-global/process": ["error", "always"],
22485
+ "n/prefer-node-protocol": "error",
22486
+ "n/prefer-promises/fs": "error"
22487
+ },
22488
+ settings: { n: { version: "22.21.1" } }
22489
+ },
22440
22490
  // Package JSON
22441
22491
  packageJson.configs["recommended-publishable"],
22442
22492
  packageJson.configs.stylistic,
@@ -22479,6 +22529,38 @@ const config = [
22479
22529
  "saasmakers/vue-template-remove-comments": "error",
22480
22530
  "saasmakers/vue-template-remove-true-attributes": "error"
22481
22531
  }
22532
+ },
22533
+ // Unicorn
22534
+ unicorn.configs["recommended"],
22535
+ {
22536
+ rules: {
22537
+ "unicorn/filename-case": "off",
22538
+ "unicorn/prevent-abbreviations": "off"
22539
+ }
22540
+ },
22541
+ // Vue & Vue Accessibility
22542
+ ...pluginVue.configs["flat/recommended"],
22543
+ ...vueAccessibility.configs["flat/recommended"],
22544
+ {
22545
+ files: ["**/*.vue"],
22546
+ plugins: {
22547
+ "vue": pluginVue,
22548
+ "vuejs-accessibility": vueAccessibility
22549
+ },
22550
+ processor: mergeProcessors([
22551
+ pluginVue.processors[".vue"],
22552
+ processorVueBlocks({
22553
+ blocks: {
22554
+ customBlocks: true,
22555
+ script: false,
22556
+ styles: true,
22557
+ template: false
22558
+ }
22559
+ })
22560
+ ]),
22561
+ rules: {
22562
+ "n/no-unsupported-features/node-builtins": "off"
22563
+ }
22482
22564
  }
22483
22565
  ];
22484
22566