@saasmakers/eslint 0.1.18 → 0.1.19

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,467 @@
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
2
  import unocss from '@unocss/eslint-config/flat';
3
+ import nodeEslint from 'eslint-plugin-n';
3
4
  import packageJson from 'eslint-plugin-package-json';
4
5
  import perfectionist from 'eslint-plugin-perfectionist';
5
6
  import { configs } from 'eslint-plugin-pnpm';
6
7
  import turbo from 'eslint-plugin-turbo';
8
+ import unicorn from 'eslint-plugin-unicorn';
7
9
  import tseslint from 'typescript-eslint';
8
- import require$$0$2 from 'path';
10
+ import require$$0$1 from 'path';
9
11
  import require$$2 from 'assert';
10
12
  import require$$1$1 from 'tty';
11
13
  import require$$1$2 from 'util';
12
- import require$$0$1 from 'os';
14
+ import require$$0 from 'os';
13
15
  import require$$6 from 'module';
14
16
  import require$$8 from 'events';
15
17
  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
- };
18
+ import require$$10 from 'eslint';
19
+ import saasmakers from './index.mjs';
20
+ import '@typescript-eslint/utils';
70
21
 
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
- };
22
+ function getDefaultExportFromCjs (x) {
23
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
24
+ }
90
25
 
91
- const require$$0 = /*@__PURE__*/getAugmentedNamespace(_package$3);
26
+ function getAugmentedNamespace(n) {
27
+ if (Object.prototype.hasOwnProperty.call(n, '__esModule')) return n;
28
+ var f = n.default;
29
+ if (typeof f == "function") {
30
+ var a = function a () {
31
+ var isInstance = false;
32
+ try {
33
+ isInstance = this instanceof a;
34
+ } catch {}
35
+ if (isInstance) {
36
+ return Reflect.construct(f, arguments, this.constructor);
37
+ }
38
+ return f.apply(this, arguments);
39
+ };
40
+ a.prototype = f.prototype;
41
+ } else a = {};
42
+ Object.defineProperty(a, '__esModule', {value: true});
43
+ Object.keys(n).forEach(function (k) {
44
+ var d = Object.getOwnPropertyDescriptor(n, k);
45
+ Object.defineProperty(a, k, d.get ? d : {
46
+ enumerable: true,
47
+ get: function () {
48
+ return n[k];
49
+ }
50
+ });
51
+ });
52
+ return a;
53
+ }
92
54
 
93
- /*
94
- * WARNING: This file is autogenerated using the tools/update-eslint-all.js
95
- * script. Do not edit manually.
96
- */
55
+ function commonjsRequire(path) {
56
+ 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.');
57
+ }
97
58
 
98
- var eslintAll;
99
- var hasRequiredEslintAll;
59
+ var vueEslintParser = {};
100
60
 
101
- function requireEslintAll () {
102
- if (hasRequiredEslintAll) return eslintAll;
103
- hasRequiredEslintAll = 1;
61
+ var eslintVisitorKeys = {};
104
62
 
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.
63
+ var hasRequiredEslintVisitorKeys;
64
+
65
+ function requireEslintVisitorKeys () {
66
+ if (hasRequiredEslintVisitorKeys) return eslintVisitorKeys;
67
+ hasRequiredEslintVisitorKeys = 1;
68
+
69
+ /* eslint-disable jsdoc/valid-types -- doesn't allow `readonly`.
70
+ TODO: remove eslint-disable when https://github.com/jsdoc-type-pratt-parser/jsdoc-type-pratt-parser/issues/164 is fixed
71
+ */
72
+ /**
73
+ * @typedef {{ readonly [type: string]: ReadonlyArray<string> }} VisitorKeys
111
74
  */
75
+ /* eslint-enable jsdoc/valid-types -- doesn't allow `readonly string[]`. TODO: check why */
112
76
 
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
- }
77
+ /**
78
+ * @type {VisitorKeys}
79
+ */
80
+ const KEYS = {
81
+ ArrayExpression: [
82
+ "elements"
83
+ ],
84
+ ArrayPattern: [
85
+ "elements"
86
+ ],
87
+ ArrowFunctionExpression: [
88
+ "params",
89
+ "body"
90
+ ],
91
+ AssignmentExpression: [
92
+ "left",
93
+ "right"
94
+ ],
95
+ AssignmentPattern: [
96
+ "left",
97
+ "right"
98
+ ],
99
+ AwaitExpression: [
100
+ "argument"
101
+ ],
102
+ BinaryExpression: [
103
+ "left",
104
+ "right"
105
+ ],
106
+ BlockStatement: [
107
+ "body"
108
+ ],
109
+ BreakStatement: [
110
+ "label"
111
+ ],
112
+ CallExpression: [
113
+ "callee",
114
+ "arguments"
115
+ ],
116
+ CatchClause: [
117
+ "param",
118
+ "body"
119
+ ],
120
+ ChainExpression: [
121
+ "expression"
122
+ ],
123
+ ClassBody: [
124
+ "body"
125
+ ],
126
+ ClassDeclaration: [
127
+ "id",
128
+ "superClass",
129
+ "body"
130
+ ],
131
+ ClassExpression: [
132
+ "id",
133
+ "superClass",
134
+ "body"
135
+ ],
136
+ ConditionalExpression: [
137
+ "test",
138
+ "consequent",
139
+ "alternate"
140
+ ],
141
+ ContinueStatement: [
142
+ "label"
143
+ ],
144
+ DebuggerStatement: [],
145
+ DoWhileStatement: [
146
+ "body",
147
+ "test"
148
+ ],
149
+ EmptyStatement: [],
150
+ ExperimentalRestProperty: [
151
+ "argument"
152
+ ],
153
+ ExperimentalSpreadProperty: [
154
+ "argument"
155
+ ],
156
+ ExportAllDeclaration: [
157
+ "exported",
158
+ "source",
159
+ "attributes"
160
+ ],
161
+ ExportDefaultDeclaration: [
162
+ "declaration"
163
+ ],
164
+ ExportNamedDeclaration: [
165
+ "declaration",
166
+ "specifiers",
167
+ "source",
168
+ "attributes"
169
+ ],
170
+ ExportSpecifier: [
171
+ "local",
172
+ "exported"
173
+ ],
174
+ ExpressionStatement: [
175
+ "expression"
176
+ ],
177
+ ForInStatement: [
178
+ "left",
179
+ "right",
180
+ "body"
181
+ ],
182
+ ForOfStatement: [
183
+ "left",
184
+ "right",
185
+ "body"
186
+ ],
187
+ ForStatement: [
188
+ "init",
189
+ "test",
190
+ "update",
191
+ "body"
192
+ ],
193
+ FunctionDeclaration: [
194
+ "id",
195
+ "params",
196
+ "body"
197
+ ],
198
+ FunctionExpression: [
199
+ "id",
200
+ "params",
201
+ "body"
202
+ ],
203
+ Identifier: [],
204
+ IfStatement: [
205
+ "test",
206
+ "consequent",
207
+ "alternate"
208
+ ],
209
+ ImportAttribute: [
210
+ "key",
211
+ "value"
212
+ ],
213
+ ImportDeclaration: [
214
+ "specifiers",
215
+ "source",
216
+ "attributes"
217
+ ],
218
+ ImportDefaultSpecifier: [
219
+ "local"
220
+ ],
221
+ ImportExpression: [
222
+ "source",
223
+ "options"
224
+ ],
225
+ ImportNamespaceSpecifier: [
226
+ "local"
227
+ ],
228
+ ImportSpecifier: [
229
+ "imported",
230
+ "local"
231
+ ],
232
+ JSXAttribute: [
233
+ "name",
234
+ "value"
235
+ ],
236
+ JSXClosingElement: [
237
+ "name"
238
+ ],
239
+ JSXClosingFragment: [],
240
+ JSXElement: [
241
+ "openingElement",
242
+ "children",
243
+ "closingElement"
244
+ ],
245
+ JSXEmptyExpression: [],
246
+ JSXExpressionContainer: [
247
+ "expression"
248
+ ],
249
+ JSXFragment: [
250
+ "openingFragment",
251
+ "children",
252
+ "closingFragment"
253
+ ],
254
+ JSXIdentifier: [],
255
+ JSXMemberExpression: [
256
+ "object",
257
+ "property"
258
+ ],
259
+ JSXNamespacedName: [
260
+ "namespace",
261
+ "name"
262
+ ],
263
+ JSXOpeningElement: [
264
+ "name",
265
+ "attributes"
266
+ ],
267
+ JSXOpeningFragment: [],
268
+ JSXSpreadAttribute: [
269
+ "argument"
270
+ ],
271
+ JSXSpreadChild: [
272
+ "expression"
273
+ ],
274
+ JSXText: [],
275
+ LabeledStatement: [
276
+ "label",
277
+ "body"
278
+ ],
279
+ Literal: [],
280
+ LogicalExpression: [
281
+ "left",
282
+ "right"
283
+ ],
284
+ MemberExpression: [
285
+ "object",
286
+ "property"
287
+ ],
288
+ MetaProperty: [
289
+ "meta",
290
+ "property"
291
+ ],
292
+ MethodDefinition: [
293
+ "key",
294
+ "value"
295
+ ],
296
+ NewExpression: [
297
+ "callee",
298
+ "arguments"
299
+ ],
300
+ ObjectExpression: [
301
+ "properties"
302
+ ],
303
+ ObjectPattern: [
304
+ "properties"
305
+ ],
306
+ PrivateIdentifier: [],
307
+ Program: [
308
+ "body"
309
+ ],
310
+ Property: [
311
+ "key",
312
+ "value"
313
+ ],
314
+ PropertyDefinition: [
315
+ "key",
316
+ "value"
317
+ ],
318
+ RestElement: [
319
+ "argument"
320
+ ],
321
+ ReturnStatement: [
322
+ "argument"
323
+ ],
324
+ SequenceExpression: [
325
+ "expressions"
326
+ ],
327
+ SpreadElement: [
328
+ "argument"
329
+ ],
330
+ StaticBlock: [
331
+ "body"
332
+ ],
333
+ Super: [],
334
+ SwitchCase: [
335
+ "test",
336
+ "consequent"
337
+ ],
338
+ SwitchStatement: [
339
+ "discriminant",
340
+ "cases"
341
+ ],
342
+ TaggedTemplateExpression: [
343
+ "tag",
344
+ "quasi"
345
+ ],
346
+ TemplateElement: [],
347
+ TemplateLiteral: [
348
+ "quasis",
349
+ "expressions"
350
+ ],
351
+ ThisExpression: [],
352
+ ThrowStatement: [
353
+ "argument"
354
+ ],
355
+ TryStatement: [
356
+ "block",
357
+ "handler",
358
+ "finalizer"
359
+ ],
360
+ UnaryExpression: [
361
+ "argument"
362
+ ],
363
+ UpdateExpression: [
364
+ "argument"
365
+ ],
366
+ VariableDeclaration: [
367
+ "declarations"
368
+ ],
369
+ VariableDeclarator: [
370
+ "id",
371
+ "init"
372
+ ],
373
+ WhileStatement: [
374
+ "test",
375
+ "body"
376
+ ],
377
+ WithStatement: [
378
+ "object",
379
+ "body"
380
+ ],
381
+ YieldExpression: [
382
+ "argument"
383
+ ]
384
+ };
318
385
 
319
- /*
320
- * WARNING: This file is autogenerated using the tools/update-eslint-recommended.js
321
- * script. Do not edit manually.
322
- */
386
+ // Types.
387
+ const NODE_TYPES = Object.keys(KEYS);
323
388
 
324
- var eslintRecommended;
325
- var hasRequiredEslintRecommended;
389
+ // Freeze the keys.
390
+ for (const type of NODE_TYPES) {
391
+ Object.freeze(KEYS[type]);
392
+ }
393
+ Object.freeze(KEYS);
326
394
 
327
- function requireEslintRecommended () {
328
- if (hasRequiredEslintRecommended) return eslintRecommended;
329
- hasRequiredEslintRecommended = 1;
395
+ /**
396
+ * @author Toru Nagashima <https://github.com/mysticatea>
397
+ * See LICENSE file in root directory for full license.
398
+ */
330
399
 
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.
400
+ /**
401
+ * @typedef {import('./visitor-keys.js').VisitorKeys} VisitorKeys
337
402
  */
338
403
 
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
- }
404
+ // List to ignore keys.
405
+ const KEY_BLACKLIST = new Set([
406
+ "parent",
407
+ "leadingComments",
408
+ "trailingComments"
409
+ ]);
406
410
 
407
- /**
408
- * @fileoverview Main package entrypoint.
409
- * @author Nicholas C. Zakas
410
- */
411
+ /**
412
+ * Check whether a given key should be used or not.
413
+ * @param {string} key The key to check.
414
+ * @returns {boolean} `true` if the key should be used.
415
+ */
416
+ function filterKey(key) {
417
+ return !KEY_BLACKLIST.has(key) && key[0] !== "_";
418
+ }
411
419
 
412
- var src$1;
413
- var hasRequiredSrc$1;
414
420
 
415
- function requireSrc$1 () {
416
- if (hasRequiredSrc$1) return src$1;
417
- hasRequiredSrc$1 = 1;
421
+ /* eslint-disable jsdoc/valid-types -- doesn't allow `readonly`.
422
+ TODO: remove eslint-disable when https://github.com/jsdoc-type-pratt-parser/jsdoc-type-pratt-parser/issues/164 is fixed
423
+ */
424
+ /**
425
+ * Get visitor keys of a given node.
426
+ * @param {Object} node The AST node to get keys.
427
+ * @returns {readonly string[]} Visitor keys of the node.
428
+ */
429
+ function getKeys(node) {
430
+ return Object.keys(node).filter(filterKey);
431
+ }
432
+ /* eslint-enable jsdoc/valid-types -- doesn't allow `readonly` */
418
433
 
419
- const { name, version } = require$$0;
434
+ /**
435
+ * Make the union set with `KEYS` and given keys.
436
+ * @param {VisitorKeys} additionalKeys The additional keys.
437
+ * @returns {VisitorKeys} The union set.
438
+ */
439
+ function unionWith(additionalKeys) {
440
+ const retv = /** @type {{ [type: string]: ReadonlyArray<string> }} */
441
+ (Object.assign({}, KEYS));
420
442
 
421
- //------------------------------------------------------------------------------
422
- // Public Interface
423
- //------------------------------------------------------------------------------
443
+ for (const type of Object.keys(additionalKeys)) {
444
+ if (Object.hasOwn(retv, type)) {
445
+ const keys = new Set(additionalKeys[type]);
424
446
 
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
- }
447
+ for (const key of retv[type]) {
448
+ keys.add(key);
449
+ }
437
450
 
438
- var srcExports = requireSrc$1();
439
- const pluginJs = /*@__PURE__*/getDefaultExportFromCjs(srcExports);
451
+ retv[type] = Object.freeze(Array.from(keys));
452
+ } else {
453
+ retv[type] = Object.freeze(Array.from(additionalKeys[type]));
454
+ }
455
+ }
440
456
 
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
- }
457
+ return Object.freeze(retv);
458
+ }
444
459
 
445
- var vueEslintParser = {};
460
+ eslintVisitorKeys.KEYS = KEYS;
461
+ eslintVisitorKeys.getKeys = getKeys;
462
+ eslintVisitorKeys.unionWith = unionWith;
463
+ return eslintVisitorKeys;
464
+ }
446
465
 
447
466
  var src = {exports: {}};
448
467
 
@@ -1225,7 +1244,7 @@ var hasRequiredSupportsColor;
1225
1244
  function requireSupportsColor () {
1226
1245
  if (hasRequiredSupportsColor) return supportsColor_1;
1227
1246
  hasRequiredSupportsColor = 1;
1228
- const os = require$$0$1;
1247
+ const os = require$$0;
1229
1248
  const tty = require$$1$1;
1230
1249
  const hasFlag = requireHasFlag();
1231
1250
 
@@ -2541,21 +2560,21 @@ const _package = {
2541
2560
  };
2542
2561
 
2543
2562
  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
2563
+ __proto__: null,
2564
+ babel: babel,
2565
+ default: _package,
2566
+ dependencies: dependencies,
2567
+ description: description,
2568
+ devDependencies: devDependencies,
2569
+ engines: engines,
2570
+ homepage: homepage,
2571
+ license: license,
2572
+ main: main,
2573
+ maintainers: maintainers,
2574
+ name: name,
2575
+ repository: repository,
2576
+ scripts: scripts,
2577
+ version: version
2559
2578
  };
2560
2579
 
2561
2580
  const require$$1 = /*@__PURE__*/getAugmentedNamespace(_package$1);
@@ -15746,7 +15765,7 @@ function requireVueEslintParser () {
15746
15765
 
15747
15766
  Object.defineProperty(vueEslintParser, '__esModule', { value: true });
15748
15767
 
15749
- var path = require$$0$2;
15768
+ var path = require$$0$1;
15750
15769
  var Evk = requireEslintVisitorKeys();
15751
15770
  var assert = require$$2;
15752
15771
  var debugFactory = requireSrc();
@@ -20774,7 +20793,7 @@ function requireVueEslintParser () {
20774
20793
  return sourceCode;
20775
20794
  }
20776
20795
  const scopeManager = getScopeManager();
20777
- const originalSourceCode = new (require$$0$3.SourceCode)({
20796
+ const originalSourceCode = new (require$$10.SourceCode)({
20778
20797
  text,
20779
20798
  ast: parsedResult.ast,
20780
20799
  parserServices: {
@@ -22428,7 +22447,7 @@ const config = [
22428
22447
  "@typescript-eslint/no-non-null-assertion": "off",
22429
22448
  "@typescript-eslint/no-unused-vars": ["error", { argsIgnorePattern: "^_" }],
22430
22449
  "array-bracket-newline": ["error", { minItems: 3, multiline: true }],
22431
- "id-length": ["error", { exceptions: ["_", "t", "x", "y"], min: 2 }],
22450
+ "id-length": ["error", { exceptions: ["_", "n", "t", "x", "y"], min: 2 }],
22432
22451
  "no-undef": "off"
22433
22452
  }
22434
22453
  },
@@ -22437,6 +22456,20 @@ const config = [
22437
22456
  ...configs.yaml,
22438
22457
  unocss,
22439
22458
  turbo.configs["flat/recommended"],
22459
+ // Node
22460
+ nodeEslint.configs["flat/recommended"],
22461
+ {
22462
+ files: ["**/*.{js,mjs,ts,mts,vue}"],
22463
+ rules: {
22464
+ "n/no-missing-import": "off",
22465
+ "n/no-sync": "error",
22466
+ "n/no-unsupported-features/es-syntax": ["error", { ignores: ["modules"] }],
22467
+ "n/prefer-global/process": ["error", "always"],
22468
+ "n/prefer-node-protocol": "error",
22469
+ "n/prefer-promises/fs": "error"
22470
+ },
22471
+ settings: { n: { version: "22.21.1" } }
22472
+ },
22440
22473
  // Package JSON
22441
22474
  packageJson.configs["recommended-publishable"],
22442
22475
  packageJson.configs.stylistic,
@@ -22479,6 +22512,14 @@ const config = [
22479
22512
  "saasmakers/vue-template-remove-comments": "error",
22480
22513
  "saasmakers/vue-template-remove-true-attributes": "error"
22481
22514
  }
22515
+ },
22516
+ // Unicorn
22517
+ unicorn.configs["recommended"],
22518
+ {
22519
+ rules: {
22520
+ "unicorn/filename-case": "off",
22521
+ "unicorn/prevent-abbreviations": "off"
22522
+ }
22482
22523
  }
22483
22524
  ];
22484
22525