@isentinel/eslint-config 1.1.2 → 1.2.2

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.
package/dist/index.js CHANGED
@@ -2,809 +2,3019 @@ import {
2
2
  __commonJS,
3
3
  __toESM,
4
4
  init_esm_shims
5
- } from "./chunk-VXR6SE7R.js";
5
+ } from "./chunk-2HV5XKT7.js";
6
6
 
7
- // node_modules/.pnpm/eslint-plugin-simple-import-sort@12.1.1_eslint@9.25.1_jiti@2.4.2_/node_modules/eslint-plugin-simple-import-sort/shared.js
8
- var require_shared = __commonJS({
9
- "node_modules/.pnpm/eslint-plugin-simple-import-sort@12.1.1_eslint@9.25.1_jiti@2.4.2_/node_modules/eslint-plugin-simple-import-sort/shared.js"(exports, module) {
10
- "use strict";
11
- init_esm_shims();
12
- function extractChunks(parentNode, isPartOfChunk) {
13
- const chunks = [];
14
- let chunk = [];
15
- let lastNode = void 0;
16
- for (const node of parentNode.body) {
17
- const result = isPartOfChunk(node, lastNode);
18
- switch (result) {
19
- case "PartOfChunk":
20
- chunk.push(node);
21
- break;
22
- case "PartOfNewChunk":
23
- if (chunk.length > 0) {
24
- chunks.push(chunk);
25
- }
26
- chunk = [node];
27
- break;
28
- case "NotPartOfChunk":
29
- if (chunk.length > 0) {
30
- chunks.push(chunk);
31
- chunk = [];
32
- }
33
- break;
34
- /* v8 ignore start */
35
- default:
36
- throw new Error(`Unknown chunk result: ${result}`);
37
- }
38
- lastNode = node;
39
- }
40
- if (chunk.length > 0) {
41
- chunks.push(chunk);
42
- }
43
- return chunks;
44
- }
45
- function maybeReportSorting(context, sorted, start, end) {
46
- const sourceCode = getSourceCode(context);
47
- const original = sourceCode.getText().slice(start, end);
48
- if (original !== sorted) {
49
- context.report({
50
- messageId: "sort",
51
- loc: {
52
- start: sourceCode.getLocFromIndex(start),
53
- end: sourceCode.getLocFromIndex(end)
54
- },
55
- fix: (fixer) => fixer.replaceTextRange([start, end], sorted)
56
- });
57
- }
58
- }
59
- function printSortedItems(sortedItems, originalItems, sourceCode) {
60
- const newline = guessNewline(sourceCode);
61
- const sorted = sortedItems.map(
62
- (groups) => groups.map((groupItems) => groupItems.map((item) => item.code).join(newline)).join(newline)
63
- ).join(newline + newline);
64
- const flattened = flatMap(sortedItems, (groups) => [].concat(...groups));
65
- const lastSortedItem = flattened[flattened.length - 1];
66
- const lastOriginalItem = originalItems[originalItems.length - 1];
67
- const nextToken = lastSortedItem.needsNewline ? sourceCode.getTokenAfter(lastOriginalItem.node, {
68
- includeComments: true,
69
- filter: (token) => !isLineComment(token) && !(isBlockComment(token) && token.loc.end.line === lastOriginalItem.node.loc.end.line)
70
- }) : void 0;
71
- const maybeNewline = nextToken != null && nextToken.loc.start.line === lastOriginalItem.node.loc.end.line ? newline : "";
72
- return sorted + maybeNewline;
73
- }
74
- function getImportExportItems(passedChunk, sourceCode, isSideEffectImport, getSpecifiers) {
75
- const chunk = handleLastSemicolon(passedChunk, sourceCode);
76
- return chunk.map((node, nodeIndex) => {
77
- const lastLine = nodeIndex === 0 ? node.loc.start.line - 1 : chunk[nodeIndex - 1].loc.end.line;
78
- const commentsBefore = sourceCode.getCommentsBefore(node).filter(
79
- (comment) => comment.loc.start.line <= node.loc.start.line && comment.loc.end.line > lastLine && (nodeIndex > 0 || comment.loc.start.line > lastLine)
80
- );
81
- const commentsAfter = sourceCode.getCommentsAfter(node).filter((comment) => comment.loc.end.line === node.loc.end.line);
82
- const before = printCommentsBefore(node, commentsBefore, sourceCode);
83
- const after = printCommentsAfter(node, commentsAfter, sourceCode);
84
- const indentation = getIndentation(
85
- commentsBefore.length > 0 ? commentsBefore[0] : node,
86
- sourceCode
87
- );
88
- const trailingSpaces = getTrailingSpaces(
89
- commentsAfter.length > 0 ? commentsAfter[commentsAfter.length - 1] : node,
90
- sourceCode
91
- );
92
- const code = indentation + before + printWithSortedSpecifiers(node, sourceCode, getSpecifiers) + after + trailingSpaces;
93
- const all = [...commentsBefore, node, ...commentsAfter];
94
- const [start] = all[0].range;
95
- const [, end] = all[all.length - 1].range;
96
- const source = getSource(node);
97
- return {
98
- node,
99
- code,
100
- start: start - indentation.length,
101
- end: end + trailingSpaces.length,
102
- isSideEffectImport: isSideEffectImport(node, sourceCode),
103
- source,
104
- index: nodeIndex,
105
- needsNewline: commentsAfter.length > 0 && isLineComment(commentsAfter[commentsAfter.length - 1])
106
- };
107
- });
108
- }
109
- function handleLastSemicolon(chunk, sourceCode) {
110
- const lastIndex = chunk.length - 1;
111
- const lastNode = chunk[lastIndex];
112
- const [nextToLastToken, lastToken] = sourceCode.getLastTokens(lastNode, {
113
- count: 2
114
- });
115
- const lastIsSemicolon = isPunctuator(lastToken, ";");
116
- if (!lastIsSemicolon) {
117
- return chunk;
118
- }
119
- const semicolonBelongsToNode = nextToLastToken.loc.end.line === lastToken.loc.start.line || // If there’s no more code after the last import/export the semicolon has to
120
- // belong to the import/export, even if it is not on the same line.
121
- sourceCode.getTokenAfter(lastToken) == null;
122
- if (semicolonBelongsToNode) {
123
- return chunk;
124
- }
125
- const newLastNode = {
126
- ...lastNode,
127
- range: [lastNode.range[0], nextToLastToken.range[1]],
128
- loc: {
129
- start: lastNode.loc.start,
130
- end: nextToLastToken.loc.end
131
- }
132
- };
133
- return chunk.slice(0, lastIndex).concat(newLastNode);
134
- }
135
- function printWithSortedSpecifiers(node, sourceCode, getSpecifiers) {
136
- const allTokens = getAllTokens(node, sourceCode);
137
- const openBraceIndex = allTokens.findIndex(
138
- (token) => isPunctuator(token, "{")
139
- );
140
- const closeBraceIndex = allTokens.findIndex(
141
- (token) => isPunctuator(token, "}")
142
- );
143
- const specifiers = getSpecifiers(node);
144
- if (openBraceIndex === -1 || closeBraceIndex === -1 || specifiers.length <= 1) {
145
- return printTokens(allTokens);
146
- }
147
- const specifierTokens = allTokens.slice(openBraceIndex + 1, closeBraceIndex);
148
- const itemsResult = getSpecifierItems(specifierTokens, sourceCode);
149
- const items = itemsResult.items.map((originalItem, index) => ({
150
- ...originalItem,
151
- node: specifiers[index]
152
- }));
153
- const sortedItems = sortSpecifierItems(items);
154
- const newline = guessNewline(sourceCode);
155
- const hasTrailingComma = isPunctuator(
156
- sourceCode.getTokenBefore(allTokens[closeBraceIndex]),
157
- ","
158
- );
159
- const lastIndex = sortedItems.length - 1;
160
- const sorted = flatMap(sortedItems, (item, index) => {
161
- const previous = index === 0 ? void 0 : sortedItems[index - 1];
162
- const maybeNewline2 = previous != null && needsStartingNewline(item.before) && !(previous.after.length > 0 && isNewline(previous.after[previous.after.length - 1])) ? [{ type: "Newline", code: newline }] : [];
163
- if (index < lastIndex || hasTrailingComma) {
164
- return [
165
- ...maybeNewline2,
166
- ...item.before,
167
- ...item.specifier,
168
- { type: "Comma", code: "," },
169
- ...item.after
170
- ];
171
- }
172
- const nonBlankIndex = item.after.findIndex(
173
- (token) => !isNewline(token) && !isSpaces(token)
174
- );
175
- const after = !item.hadComma ? item.after : nonBlankIndex === -1 ? [] : item.after.slice(nonBlankIndex);
176
- return [...maybeNewline2, ...item.before, ...item.specifier, ...after];
177
- });
178
- const maybeNewline = needsStartingNewline(itemsResult.after) && !isNewline(sorted[sorted.length - 1]) ? [{ type: "Newline", code: newline }] : [];
179
- return printTokens([
180
- ...allTokens.slice(0, openBraceIndex + 1),
181
- ...itemsResult.before,
182
- ...sorted,
183
- ...maybeNewline,
184
- ...itemsResult.after,
185
- ...allTokens.slice(closeBraceIndex)
186
- ]);
187
- }
188
- function getSpecifierItems(tokens) {
189
- const result = {
190
- before: [],
191
- after: [],
192
- items: []
193
- };
194
- let current = makeEmptyItem();
195
- for (const token of tokens) {
196
- switch (current.state) {
197
- case "before":
198
- switch (token.type) {
199
- case "Newline":
200
- current.before.push(token);
201
- if (result.before.length === 0 && result.items.length === 0) {
202
- result.before = current.before;
203
- current = makeEmptyItem();
204
- }
205
- break;
206
- case "Spaces":
207
- case "Block":
208
- case "Line":
209
- current.before.push(token);
210
- break;
211
- // We’ve reached an identifier.
212
- default:
213
- if (result.before.length === 0 && result.items.length === 0) {
214
- result.before = current.before;
215
- current = makeEmptyItem();
216
- }
217
- current.state = "specifier";
218
- current.specifier.push(token);
219
- }
220
- break;
221
- case "specifier":
222
- switch (token.type) {
223
- case "Punctuator":
224
- if (isPunctuator(token, ",")) {
225
- current.hadComma = true;
226
- current.state = "after";
227
- } else {
228
- current.specifier.push(token);
229
- }
230
- break;
231
- // When consuming the specifier part, we eat every token until a comma
232
- // or to the end, basically.
233
- default:
234
- current.specifier.push(token);
235
- }
236
- break;
237
- case "after":
238
- switch (token.type) {
239
- // Only whitespace and comments after a specifier that are on the same
240
- // belong to the specifier.
241
- case "Newline":
242
- current.after.push(token);
243
- result.items.push(current);
244
- current = makeEmptyItem();
245
- break;
246
- case "Spaces":
247
- case "Line":
248
- current.after.push(token);
249
- break;
250
- case "Block":
251
- if (hasNewline(token.code)) {
252
- result.items.push(current);
253
- current = makeEmptyItem();
254
- current.before.push(token);
255
- } else {
256
- current.after.push(token);
257
- }
258
- break;
259
- // We’ve reached another specifier – time to process that one.
260
- default:
261
- result.items.push(current);
262
- current = makeEmptyItem();
263
- current.state = "specifier";
264
- current.specifier.push(token);
265
- }
266
- break;
267
- /* v8 ignore start */
268
- default:
269
- throw new Error(`Unknown state: ${current.state}`);
270
- }
271
- }
272
- switch (current.state) {
273
- // If the last specifier has a trailing comma and some of the remaining
274
- // whitespace and comments are on the same line we end up here. If so we
275
- // want to put that whitespace and comments in `result.after`.
276
- case "before":
277
- result.after = current.before;
278
- break;
279
- // If the last specifier has no trailing comma we end up here. Move all
280
- // trailing comments and whitespace from `.specifier` to `.after`, and
281
- // comments and whitespace that don’t belong to the specifier to
282
- // `result.after`. The last non-comment and non-whitespace token is usually
283
- // an identifier, but in this case it’s a keyword:
284
- //
285
- // export { z, d as default } from "a"
286
- case "specifier": {
287
- const lastIdentifierIndex = findLastIndex(
288
- current.specifier,
289
- (token2) => isIdentifier(token2) || isKeyword(token2)
290
- );
291
- const specifier = current.specifier.slice(0, lastIdentifierIndex + 1);
292
- const after = current.specifier.slice(lastIdentifierIndex + 1);
293
- const newlineIndexRaw = after.findIndex((token2) => isNewline(token2));
294
- const newlineIndex = newlineIndexRaw === -1 ? -1 : newlineIndexRaw + 1;
295
- const multilineBlockCommentIndex = after.findIndex(
296
- (token2) => isBlockComment(token2) && hasNewline(token2.code)
297
- );
298
- const sliceIndex = (
299
- // If both a newline and a multiline block comment exists, choose the
300
- // earlier one.
301
- newlineIndex >= 0 && multilineBlockCommentIndex >= 0 ? Math.min(newlineIndex, multilineBlockCommentIndex) : newlineIndex >= 0 ? newlineIndex : multilineBlockCommentIndex >= 0 ? multilineBlockCommentIndex : (
302
- // If there are no newlines, move the last whitespace into `result.after`.
303
- endsWithSpaces(after) ? after.length - 1 : -1
304
- )
305
- );
306
- current.specifier = specifier;
307
- current.after = sliceIndex === -1 ? after : after.slice(0, sliceIndex);
308
- result.items.push(current);
309
- result.after = sliceIndex === -1 ? [] : after.slice(sliceIndex);
310
- break;
311
- }
312
- // If the last specifier has a trailing comma and all remaining whitespace
313
- // and comments are on the same line we end up here. If so we want to move
314
- // the final whitespace to `result.after`.
315
- case "after":
316
- if (endsWithSpaces(current.after)) {
317
- const last = current.after.pop();
318
- result.after = [last];
319
- }
320
- result.items.push(current);
321
- break;
322
- /* v8 ignore start */
323
- default:
324
- throw new Error(`Unknown state: ${current.state}`);
325
- }
326
- return result;
327
- }
328
- function makeEmptyItem() {
329
- return {
330
- // "before" | "specifier" | "after"
331
- state: "before",
332
- before: [],
333
- after: [],
334
- specifier: [],
335
- hadComma: false
336
- };
337
- }
338
- function needsStartingNewline(tokens) {
339
- const before = tokens.filter((token) => !isSpaces(token));
340
- if (before.length === 0) {
341
- return false;
342
- }
343
- const firstToken = before[0];
344
- return isLineComment(firstToken) || isBlockComment(firstToken) && !hasNewline(firstToken.code);
345
- }
346
- function endsWithSpaces(tokens) {
347
- const last = tokens.length > 0 ? tokens[tokens.length - 1] : void 0;
348
- return last == null ? false : isSpaces(last);
349
- }
350
- var NEWLINE = /(\r?\n)/;
351
- function hasNewline(string) {
352
- return NEWLINE.test(string);
353
- }
354
- function guessNewline(sourceCode) {
355
- const match = NEWLINE.exec(sourceCode.text);
356
- return match == null ? "\n" : match[0];
357
- }
358
- function parseWhitespace(whitespace) {
359
- const allItems = whitespace.split(NEWLINE);
360
- const items = allItems.length >= 5 ? allItems.slice(0, 2).concat(allItems.slice(-1)) : allItems;
361
- return items.map(
362
- (spacesOrNewline, index) => index % 2 === 0 ? { type: "Spaces", code: spacesOrNewline } : { type: "Newline", code: spacesOrNewline }
363
- ).filter((token) => token.code !== "");
364
- }
365
- function removeBlankLines(whitespace) {
366
- return printTokens(parseWhitespace(whitespace));
367
- }
368
- function getAllTokens(node, sourceCode) {
369
- const tokens = sourceCode.getTokens(node);
370
- const lastTokenIndex = tokens.length - 1;
371
- return flatMap(tokens, (token, tokenIndex) => {
372
- const newToken = { ...token, code: sourceCode.getText(token) };
373
- if (tokenIndex === lastTokenIndex) {
374
- return [newToken];
375
- }
376
- const comments2 = sourceCode.getCommentsAfter(token);
377
- const last = comments2.length > 0 ? comments2[comments2.length - 1] : token;
378
- const nextToken = tokens[tokenIndex + 1];
379
- return [
380
- newToken,
381
- ...flatMap(comments2, (comment, commentIndex) => {
382
- const previous = commentIndex === 0 ? token : comments2[commentIndex - 1];
383
- return [
384
- ...parseWhitespace(
385
- sourceCode.text.slice(previous.range[1], comment.range[0])
386
- ),
387
- { ...comment, code: sourceCode.getText(comment) }
388
- ];
389
- }),
390
- ...parseWhitespace(
391
- sourceCode.text.slice(last.range[1], nextToken.range[0])
392
- )
393
- ];
394
- });
395
- }
396
- function printTokens(tokens) {
397
- return tokens.map((token) => token.code).join("");
398
- }
399
- function printCommentsBefore(node, comments2, sourceCode) {
400
- const lastIndex = comments2.length - 1;
401
- return comments2.map((comment, index) => {
402
- const next = index === lastIndex ? node : comments2[index + 1];
403
- return sourceCode.getText(comment) + removeBlankLines(sourceCode.text.slice(comment.range[1], next.range[0]));
404
- }).join("");
405
- }
406
- function printCommentsAfter(node, comments2, sourceCode) {
407
- return comments2.map((comment, index) => {
408
- const previous = index === 0 ? node : comments2[index - 1];
409
- return removeBlankLines(
410
- sourceCode.text.slice(previous.range[1], comment.range[0])
411
- ) + sourceCode.getText(comment);
412
- }).join("");
413
- }
414
- function getIndentation(node, sourceCode) {
415
- const tokenBefore = sourceCode.getTokenBefore(node, {
416
- includeComments: true
417
- });
418
- if (tokenBefore == null) {
419
- const text2 = sourceCode.text.slice(0, node.range[0]);
420
- const lines2 = text2.split(NEWLINE);
421
- return lines2[lines2.length - 1];
422
- }
423
- const text = sourceCode.text.slice(tokenBefore.range[1], node.range[0]);
424
- const lines = text.split(NEWLINE);
425
- return lines.length > 1 ? lines[lines.length - 1] : "";
426
- }
427
- function getTrailingSpaces(node, sourceCode) {
428
- const tokenAfter = sourceCode.getTokenAfter(node, {
429
- includeComments: true
430
- });
431
- if (tokenAfter == null) {
432
- const text2 = sourceCode.text.slice(node.range[1]);
433
- const lines2 = text2.split(NEWLINE);
434
- return lines2[0];
435
- }
436
- const text = sourceCode.text.slice(node.range[1], tokenAfter.range[0]);
437
- const lines = text.split(NEWLINE);
438
- return lines[0];
439
- }
440
- function sortImportExportItems(items) {
441
- return items.slice().sort(
442
- (itemA, itemB) => (
443
- // If both items are side effect imports, keep their original order.
444
- itemA.isSideEffectImport && itemB.isSideEffectImport ? itemA.index - itemB.index : (
445
- // If one of the items is a side effect import, move it first.
446
- itemA.isSideEffectImport ? -1 : itemB.isSideEffectImport ? 1 : (
447
- // Compare the `from` part.
448
- compare(itemA.source.source, itemB.source.source) || // The `.source` has been slightly tweaked. To stay fully deterministic,
449
- // also sort on the original value.
450
- compare(itemA.source.originalSource, itemB.source.originalSource) || // Then put type imports/exports before regular ones.
451
- compare(itemA.source.kind, itemB.source.kind) || // Keep the original order if the sources are the same. It’s not worth
452
- // trying to compare anything else, and you can use `import/no-duplicates`
453
- // to get rid of the problem anyway.
454
- itemA.index - itemB.index
455
- )
456
- )
457
- )
458
- );
459
- }
460
- function sortSpecifierItems(items) {
461
- return items.slice().sort(
462
- (itemA, itemB) => (
463
- // Compare by imported or exported name (external interface name).
464
- // import { a as b } from "a"
465
- // ^
466
- // export { b as a }
467
- // ^
468
- compare(
469
- (itemA.node.imported || itemA.node.exported).name,
470
- (itemB.node.imported || itemB.node.exported).name
471
- ) || // Then compare by the file-local name.
472
- // import { a as b } from "a"
473
- // ^
474
- // export { b as a }
475
- // ^
476
- compare(itemA.node.local.name, itemB.node.local.name) || // Then put type specifiers before regular ones.
477
- compare(
478
- getImportExportKind(itemA.node),
479
- getImportExportKind(itemB.node)
480
- /* v8 ignore start */
481
- ) || // Keep the original order if the names are the same. It’s not worth
482
- // trying to compare anything else, `import {a, a} from "mod"` is a syntax
483
- // error anyway (but @babel/eslint-parser kind of supports it).
484
- itemA.index - itemB.index
485
- )
486
- /* v8 ignore stop */
487
- );
488
- }
489
- var collator = new Intl.Collator("en", {
490
- sensitivity: "base",
491
- numeric: true
492
- });
493
- function compare(a, b) {
494
- return collator.compare(a, b) || (a < b ? -1 : a > b ? 1 : 0);
495
- }
496
- function isIdentifier(node) {
497
- return node.type === "Identifier";
498
- }
499
- function isKeyword(node) {
500
- return node.type === "Keyword";
501
- }
502
- function isPunctuator(node, value) {
503
- return node.type === "Punctuator" && node.value === value;
504
- }
505
- function isBlockComment(node) {
506
- return node.type === "Block";
507
- }
508
- function isLineComment(node) {
509
- return node.type === "Line";
510
- }
511
- function isSpaces(node) {
512
- return node.type === "Spaces";
513
- }
514
- function isNewline(node) {
515
- return node.type === "Newline";
516
- }
517
- function getSource(node) {
518
- const source = node.source.value;
519
- return {
520
- // Sort by directory level rather than by string length.
521
- source: source.replace(/^[./]*\.$/, "$&/").replace(/^[./]*\/$/, "$&,").replace(/[./_-]/g, (char) => {
522
- switch (char) {
523
- case ".":
524
- return "_";
525
- case "/":
526
- return "-";
527
- case "_":
528
- return ".";
529
- case "-":
530
- return "/";
531
- /* v8 ignore start */
532
- default:
533
- throw new Error(`Unknown source substitution character: ${char}`);
534
- }
535
- }),
536
- originalSource: source,
537
- kind: getImportExportKind(node)
538
- };
539
- }
540
- function getImportExportKind(node) {
541
- return node.importKind || node.exportKind || "value";
542
- }
543
- function findLastIndex(array, fn) {
544
- for (let index = array.length - 1; index >= 0; index--) {
545
- if (fn(array[index], index, array)) {
546
- return index;
547
- }
548
- }
549
- return -1;
550
- }
551
- function flatMap(array, fn) {
552
- return [].concat(...array.map(fn));
553
- }
554
- function getSourceCode(context) {
555
- return context.sourceCode || context.getSourceCode();
556
- }
557
- module.exports = {
558
- extractChunks,
559
- flatMap,
560
- getImportExportItems,
561
- getSourceCode,
562
- isPunctuator,
563
- maybeReportSorting,
564
- printSortedItems,
565
- printWithSortedSpecifiers,
566
- sortImportExportItems
567
- };
568
- }
569
- });
570
-
571
- // node_modules/.pnpm/eslint-plugin-simple-import-sort@12.1.1_eslint@9.25.1_jiti@2.4.2_/node_modules/eslint-plugin-simple-import-sort/imports.js
572
- var require_imports = __commonJS({
573
- "node_modules/.pnpm/eslint-plugin-simple-import-sort@12.1.1_eslint@9.25.1_jiti@2.4.2_/node_modules/eslint-plugin-simple-import-sort/imports.js"(exports, module) {
574
- "use strict";
575
- init_esm_shims();
576
- var shared = require_shared();
577
- var defaultGroups = [
578
- // Side effect imports.
579
- ["^\\u0000"],
580
- // Node.js builtins prefixed with `node:`.
581
- ["^node:"],
582
- // Packages.
583
- // Things that start with a letter (or digit or underscore), or `@` followed by a letter.
584
- ["^@?\\w"],
585
- // Absolute imports and other imports such as Vue-style `@/foo`.
586
- // Anything not matched in another group.
587
- ["^"],
588
- // Relative imports.
589
- // Anything that starts with a dot.
590
- ["^\\."]
591
- ];
7
+ // node_modules/.pnpm/globals@15.15.0/node_modules/globals/globals.json
8
+ var require_globals = __commonJS({
9
+ "node_modules/.pnpm/globals@15.15.0/node_modules/globals/globals.json"(exports, module) {
592
10
  module.exports = {
593
- meta: {
594
- type: "layout",
595
- fixable: "code",
596
- schema: [
597
- {
598
- type: "object",
599
- properties: {
600
- groups: {
601
- type: "array",
602
- items: {
603
- type: "array",
604
- items: {
605
- type: "string"
606
- }
607
- }
608
- }
609
- },
610
- additionalProperties: false
611
- }
612
- ],
613
- docs: {
614
- url: "https://github.com/lydell/eslint-plugin-simple-import-sort#sort-order",
615
- description: "Automatically sort imports."
616
- },
617
- messages: {
618
- sort: "Run autofix to sort these imports!"
619
- }
11
+ amd: {
12
+ define: false,
13
+ require: false
620
14
  },
621
- create: (context) => {
622
- const { groups: rawGroups = defaultGroups } = context.options[0] || {};
623
- const outerGroups = rawGroups.map(
624
- (groups) => groups.map((item) => RegExp(item, "u"))
625
- );
626
- const parents = /* @__PURE__ */ new Set();
627
- return {
628
- ImportDeclaration: (node) => {
629
- parents.add(node.parent);
630
- },
631
- "Program:exit": () => {
632
- for (const parent of parents) {
633
- for (const chunk of shared.extractChunks(
634
- parent,
635
- (node) => isImport(node) ? "PartOfChunk" : "NotPartOfChunk"
636
- )) {
637
- maybeReportChunkSorting(chunk, context, outerGroups);
638
- }
639
- }
640
- parents.clear();
641
- }
642
- };
643
- }
644
- };
645
- function maybeReportChunkSorting(chunk, context, outerGroups) {
646
- const sourceCode = shared.getSourceCode(context);
647
- const items = shared.getImportExportItems(
648
- chunk,
649
- sourceCode,
650
- isSideEffectImport,
651
- getSpecifiers
652
- );
653
- const sortedItems = makeSortedItems(items, outerGroups);
654
- const sorted = shared.printSortedItems(sortedItems, items, sourceCode);
655
- const { start } = items[0];
656
- const { end } = items[items.length - 1];
657
- shared.maybeReportSorting(context, sorted, start, end);
658
- }
659
- function makeSortedItems(items, outerGroups) {
660
- const itemGroups = outerGroups.map(
661
- (groups) => groups.map((regex) => ({ regex, items: [] }))
662
- );
663
- const rest = [];
664
- for (const item of items) {
665
- const { originalSource } = item.source;
666
- const source = item.isSideEffectImport ? `\0${originalSource}` : item.source.kind !== "value" ? `${originalSource}\0` : originalSource;
667
- const [matchedGroup] = shared.flatMap(
668
- itemGroups,
669
- (groups) => groups.map((group) => [group, group.regex.exec(source)])
670
- ).reduce(
671
- ([group, longestMatch], [nextGroup, nextMatch]) => nextMatch != null && (longestMatch == null || nextMatch[0].length > longestMatch[0].length) ? [nextGroup, nextMatch] : [group, longestMatch],
672
- [void 0, void 0]
673
- );
674
- if (matchedGroup == null) {
675
- rest.push(item);
676
- } else {
677
- matchedGroup.items.push(item);
678
- }
679
- }
680
- return itemGroups.concat([[{ regex: /^/, items: rest }]]).map((groups) => groups.filter((group) => group.items.length > 0)).filter((groups) => groups.length > 0).map(
681
- (groups) => groups.map((group) => shared.sortImportExportItems(group.items))
682
- );
683
- }
684
- function getSpecifiers(importNode) {
685
- return importNode.specifiers.filter((node) => isImportSpecifier(node));
686
- }
687
- function isImport(node) {
688
- return node.type === "ImportDeclaration";
689
- }
690
- function isImportSpecifier(node) {
691
- return node.type === "ImportSpecifier";
692
- }
693
- function isSideEffectImport(importNode, sourceCode) {
694
- return importNode.specifiers.length === 0 && (!importNode.importKind || importNode.importKind === "value") && !shared.isPunctuator(sourceCode.getFirstToken(importNode, { skip: 1 }), "{");
695
- }
696
- }
697
- });
698
-
699
- // node_modules/.pnpm/eslint-plugin-simple-import-sort@12.1.1_eslint@9.25.1_jiti@2.4.2_/node_modules/eslint-plugin-simple-import-sort/exports.js
700
- var require_exports = __commonJS({
701
- "node_modules/.pnpm/eslint-plugin-simple-import-sort@12.1.1_eslint@9.25.1_jiti@2.4.2_/node_modules/eslint-plugin-simple-import-sort/exports.js"(exports, module) {
702
- "use strict";
703
- init_esm_shims();
704
- var shared = require_shared();
705
- module.exports = {
706
- meta: {
707
- type: "layout",
708
- fixable: "code",
709
- schema: [],
710
- docs: {
711
- url: "https://github.com/lydell/eslint-plugin-simple-import-sort#sort-order",
712
- description: "Automatically sort exports."
713
- },
714
- messages: {
715
- sort: "Run autofix to sort these exports!"
716
- }
15
+ applescript: {
16
+ $: false,
17
+ Application: false,
18
+ Automation: false,
19
+ console: false,
20
+ delay: false,
21
+ Library: false,
22
+ ObjC: false,
23
+ ObjectSpecifier: false,
24
+ Path: false,
25
+ Progress: false,
26
+ Ref: false
717
27
  },
718
- create: (context) => {
719
- const parents = /* @__PURE__ */ new Set();
720
- const addParent = (node) => {
721
- if (isExportFrom(node)) {
722
- parents.add(node.parent);
723
- }
724
- };
725
- return {
726
- ExportNamedDeclaration: (node) => {
727
- if (node.source == null && node.declaration == null) {
728
- maybeReportExportSpecifierSorting(node, context);
729
- } else {
730
- addParent(node);
731
- }
732
- },
733
- ExportAllDeclaration: addParent,
734
- "Program:exit": () => {
735
- const sourceCode = shared.getSourceCode(context);
736
- for (const parent of parents) {
737
- for (const chunk of shared.extractChunks(
738
- parent,
739
- (node, lastNode) => isPartOfChunk(node, lastNode, sourceCode)
740
- )) {
741
- maybeReportChunkSorting(chunk, context);
742
- }
743
- }
744
- parents.clear();
745
- }
746
- };
28
+ atomtest: {
29
+ advanceClock: false,
30
+ atom: false,
31
+ fakeClearInterval: false,
32
+ fakeClearTimeout: false,
33
+ fakeSetInterval: false,
34
+ fakeSetTimeout: false,
35
+ resetTimeouts: false,
36
+ waitsForPromise: false
37
+ },
38
+ browser: {
39
+ AbortController: false,
40
+ AbortSignal: false,
41
+ AbsoluteOrientationSensor: false,
42
+ AbstractRange: false,
43
+ Accelerometer: false,
44
+ addEventListener: false,
45
+ ai: false,
46
+ AI: false,
47
+ AITextSession: false,
48
+ alert: false,
49
+ AnalyserNode: false,
50
+ Animation: false,
51
+ AnimationEffect: false,
52
+ AnimationEvent: false,
53
+ AnimationPlaybackEvent: false,
54
+ AnimationTimeline: false,
55
+ atob: false,
56
+ Attr: false,
57
+ Audio: false,
58
+ AudioBuffer: false,
59
+ AudioBufferSourceNode: false,
60
+ AudioContext: false,
61
+ AudioData: false,
62
+ AudioDecoder: false,
63
+ AudioDestinationNode: false,
64
+ AudioEncoder: false,
65
+ AudioListener: false,
66
+ AudioNode: false,
67
+ AudioParam: false,
68
+ AudioParamMap: false,
69
+ AudioProcessingEvent: false,
70
+ AudioScheduledSourceNode: false,
71
+ AudioSinkInfo: false,
72
+ AudioWorklet: false,
73
+ AudioWorkletGlobalScope: false,
74
+ AudioWorkletNode: false,
75
+ AudioWorkletProcessor: false,
76
+ AuthenticatorAssertionResponse: false,
77
+ AuthenticatorAttestationResponse: false,
78
+ AuthenticatorResponse: false,
79
+ BackgroundFetchManager: false,
80
+ BackgroundFetchRecord: false,
81
+ BackgroundFetchRegistration: false,
82
+ BarcodeDetector: false,
83
+ BarProp: false,
84
+ BaseAudioContext: false,
85
+ BatteryManager: false,
86
+ BeforeUnloadEvent: false,
87
+ BiquadFilterNode: false,
88
+ Blob: false,
89
+ BlobEvent: false,
90
+ Bluetooth: false,
91
+ BluetoothCharacteristicProperties: false,
92
+ BluetoothDevice: false,
93
+ BluetoothRemoteGATTCharacteristic: false,
94
+ BluetoothRemoteGATTDescriptor: false,
95
+ BluetoothRemoteGATTServer: false,
96
+ BluetoothRemoteGATTService: false,
97
+ BluetoothUUID: false,
98
+ blur: false,
99
+ BroadcastChannel: false,
100
+ BrowserCaptureMediaStreamTrack: false,
101
+ btoa: false,
102
+ ByteLengthQueuingStrategy: false,
103
+ Cache: false,
104
+ caches: false,
105
+ CacheStorage: false,
106
+ cancelAnimationFrame: false,
107
+ cancelIdleCallback: false,
108
+ CanvasCaptureMediaStream: false,
109
+ CanvasCaptureMediaStreamTrack: false,
110
+ CanvasGradient: false,
111
+ CanvasPattern: false,
112
+ CanvasRenderingContext2D: false,
113
+ CaptureController: false,
114
+ CaretPosition: false,
115
+ CDATASection: false,
116
+ ChannelMergerNode: false,
117
+ ChannelSplitterNode: false,
118
+ ChapterInformation: false,
119
+ CharacterBoundsUpdateEvent: false,
120
+ CharacterData: false,
121
+ clearInterval: false,
122
+ clearTimeout: false,
123
+ clientInformation: false,
124
+ Clipboard: false,
125
+ ClipboardEvent: false,
126
+ ClipboardItem: false,
127
+ close: false,
128
+ closed: false,
129
+ CloseEvent: false,
130
+ CloseWatcher: false,
131
+ Comment: false,
132
+ CompositionEvent: false,
133
+ CompressionStream: false,
134
+ confirm: false,
135
+ console: false,
136
+ ConstantSourceNode: false,
137
+ ContentVisibilityAutoStateChangeEvent: false,
138
+ ConvolverNode: false,
139
+ CookieChangeEvent: false,
140
+ CookieDeprecationLabel: false,
141
+ cookieStore: false,
142
+ CookieStore: false,
143
+ CookieStoreManager: false,
144
+ CountQueuingStrategy: false,
145
+ createImageBitmap: false,
146
+ Credential: false,
147
+ credentialless: false,
148
+ CredentialsContainer: false,
149
+ CropTarget: false,
150
+ crossOriginIsolated: false,
151
+ crypto: false,
152
+ Crypto: false,
153
+ CryptoKey: false,
154
+ CSS: false,
155
+ CSSAnimation: false,
156
+ CSSConditionRule: false,
157
+ CSSContainerRule: false,
158
+ CSSCounterStyleRule: false,
159
+ CSSFontFaceRule: false,
160
+ CSSFontFeatureValuesRule: false,
161
+ CSSFontPaletteValuesRule: false,
162
+ CSSGroupingRule: false,
163
+ CSSImageValue: false,
164
+ CSSImportRule: false,
165
+ CSSKeyframeRule: false,
166
+ CSSKeyframesRule: false,
167
+ CSSKeywordValue: false,
168
+ CSSLayerBlockRule: false,
169
+ CSSLayerStatementRule: false,
170
+ CSSMarginRule: false,
171
+ CSSMathClamp: false,
172
+ CSSMathInvert: false,
173
+ CSSMathMax: false,
174
+ CSSMathMin: false,
175
+ CSSMathNegate: false,
176
+ CSSMathProduct: false,
177
+ CSSMathSum: false,
178
+ CSSMathValue: false,
179
+ CSSMatrixComponent: false,
180
+ CSSMediaRule: false,
181
+ CSSNamespaceRule: false,
182
+ CSSNestedDeclarations: false,
183
+ CSSNumericArray: false,
184
+ CSSNumericValue: false,
185
+ CSSPageDescriptors: false,
186
+ CSSPageRule: false,
187
+ CSSPerspective: false,
188
+ CSSPositionTryDescriptors: false,
189
+ CSSPositionTryRule: false,
190
+ CSSPositionValue: false,
191
+ CSSPropertyRule: false,
192
+ CSSRotate: false,
193
+ CSSRule: false,
194
+ CSSRuleList: false,
195
+ CSSScale: false,
196
+ CSSScopeRule: false,
197
+ CSSSkew: false,
198
+ CSSSkewX: false,
199
+ CSSSkewY: false,
200
+ CSSStartingStyleRule: false,
201
+ CSSStyleDeclaration: false,
202
+ CSSStyleRule: false,
203
+ CSSStyleSheet: false,
204
+ CSSStyleValue: false,
205
+ CSSSupportsRule: false,
206
+ CSSTransformComponent: false,
207
+ CSSTransformValue: false,
208
+ CSSTransition: false,
209
+ CSSTranslate: false,
210
+ CSSUnitValue: false,
211
+ CSSUnparsedValue: false,
212
+ CSSVariableReferenceValue: false,
213
+ CSSViewTransitionRule: false,
214
+ currentFrame: false,
215
+ currentTime: false,
216
+ CustomElementRegistry: false,
217
+ customElements: false,
218
+ CustomEvent: false,
219
+ CustomStateSet: false,
220
+ DataTransfer: false,
221
+ DataTransferItem: false,
222
+ DataTransferItemList: false,
223
+ DecompressionStream: false,
224
+ DelayNode: false,
225
+ DelegatedInkTrailPresenter: false,
226
+ DeviceMotionEvent: false,
227
+ DeviceMotionEventAcceleration: false,
228
+ DeviceMotionEventRotationRate: false,
229
+ DeviceOrientationEvent: false,
230
+ devicePixelRatio: false,
231
+ dispatchEvent: false,
232
+ document: false,
233
+ Document: false,
234
+ DocumentFragment: false,
235
+ documentPictureInPicture: false,
236
+ DocumentPictureInPicture: false,
237
+ DocumentPictureInPictureEvent: false,
238
+ DocumentTimeline: false,
239
+ DocumentType: false,
240
+ DOMError: false,
241
+ DOMException: false,
242
+ DOMImplementation: false,
243
+ DOMMatrix: false,
244
+ DOMMatrixReadOnly: false,
245
+ DOMParser: false,
246
+ DOMPoint: false,
247
+ DOMPointReadOnly: false,
248
+ DOMQuad: false,
249
+ DOMRect: false,
250
+ DOMRectList: false,
251
+ DOMRectReadOnly: false,
252
+ DOMStringList: false,
253
+ DOMStringMap: false,
254
+ DOMTokenList: false,
255
+ DragEvent: false,
256
+ DynamicsCompressorNode: false,
257
+ EditContext: false,
258
+ Element: false,
259
+ ElementInternals: false,
260
+ EncodedAudioChunk: false,
261
+ EncodedVideoChunk: false,
262
+ ErrorEvent: false,
263
+ event: false,
264
+ Event: false,
265
+ EventCounts: false,
266
+ EventSource: false,
267
+ EventTarget: false,
268
+ external: false,
269
+ External: false,
270
+ EyeDropper: false,
271
+ FeaturePolicy: false,
272
+ FederatedCredential: false,
273
+ fence: false,
274
+ Fence: false,
275
+ FencedFrameConfig: false,
276
+ fetch: false,
277
+ fetchLater: false,
278
+ FetchLaterResult: false,
279
+ File: false,
280
+ FileList: false,
281
+ FileReader: false,
282
+ FileSystem: false,
283
+ FileSystemDirectoryEntry: false,
284
+ FileSystemDirectoryHandle: false,
285
+ FileSystemDirectoryReader: false,
286
+ FileSystemEntry: false,
287
+ FileSystemFileEntry: false,
288
+ FileSystemFileHandle: false,
289
+ FileSystemHandle: false,
290
+ FileSystemWritableFileStream: false,
291
+ find: false,
292
+ Float16Array: false,
293
+ focus: false,
294
+ FocusEvent: false,
295
+ FontData: false,
296
+ FontFace: false,
297
+ FontFaceSet: false,
298
+ FontFaceSetLoadEvent: false,
299
+ FormData: false,
300
+ FormDataEvent: false,
301
+ FragmentDirective: false,
302
+ frameElement: false,
303
+ frames: false,
304
+ GainNode: false,
305
+ Gamepad: false,
306
+ GamepadAxisMoveEvent: false,
307
+ GamepadButton: false,
308
+ GamepadButtonEvent: false,
309
+ GamepadEvent: false,
310
+ GamepadHapticActuator: false,
311
+ GamepadPose: false,
312
+ Geolocation: false,
313
+ GeolocationCoordinates: false,
314
+ GeolocationPosition: false,
315
+ GeolocationPositionError: false,
316
+ getComputedStyle: false,
317
+ getScreenDetails: false,
318
+ getSelection: false,
319
+ GPU: false,
320
+ GPUAdapter: false,
321
+ GPUAdapterInfo: false,
322
+ GPUBindGroup: false,
323
+ GPUBindGroupLayout: false,
324
+ GPUBuffer: false,
325
+ GPUBufferUsage: false,
326
+ GPUCanvasContext: false,
327
+ GPUColorWrite: false,
328
+ GPUCommandBuffer: false,
329
+ GPUCommandEncoder: false,
330
+ GPUCompilationInfo: false,
331
+ GPUCompilationMessage: false,
332
+ GPUComputePassEncoder: false,
333
+ GPUComputePipeline: false,
334
+ GPUDevice: false,
335
+ GPUDeviceLostInfo: false,
336
+ GPUError: false,
337
+ GPUExternalTexture: false,
338
+ GPUInternalError: false,
339
+ GPUMapMode: false,
340
+ GPUOutOfMemoryError: false,
341
+ GPUPipelineError: false,
342
+ GPUPipelineLayout: false,
343
+ GPUQuerySet: false,
344
+ GPUQueue: false,
345
+ GPURenderBundle: false,
346
+ GPURenderBundleEncoder: false,
347
+ GPURenderPassEncoder: false,
348
+ GPURenderPipeline: false,
349
+ GPUSampler: false,
350
+ GPUShaderModule: false,
351
+ GPUShaderStage: false,
352
+ GPUSupportedFeatures: false,
353
+ GPUSupportedLimits: false,
354
+ GPUTexture: false,
355
+ GPUTextureUsage: false,
356
+ GPUTextureView: false,
357
+ GPUUncapturedErrorEvent: false,
358
+ GPUValidationError: false,
359
+ GravitySensor: false,
360
+ Gyroscope: false,
361
+ HashChangeEvent: false,
362
+ Headers: false,
363
+ HID: false,
364
+ HIDConnectionEvent: false,
365
+ HIDDevice: false,
366
+ HIDInputReportEvent: false,
367
+ Highlight: false,
368
+ HighlightRegistry: false,
369
+ history: false,
370
+ History: false,
371
+ HTMLAllCollection: false,
372
+ HTMLAnchorElement: false,
373
+ HTMLAreaElement: false,
374
+ HTMLAudioElement: false,
375
+ HTMLBaseElement: false,
376
+ HTMLBodyElement: false,
377
+ HTMLBRElement: false,
378
+ HTMLButtonElement: false,
379
+ HTMLCanvasElement: false,
380
+ HTMLCollection: false,
381
+ HTMLDataElement: false,
382
+ HTMLDataListElement: false,
383
+ HTMLDetailsElement: false,
384
+ HTMLDialogElement: false,
385
+ HTMLDirectoryElement: false,
386
+ HTMLDivElement: false,
387
+ HTMLDListElement: false,
388
+ HTMLDocument: false,
389
+ HTMLElement: false,
390
+ HTMLEmbedElement: false,
391
+ HTMLFencedFrameElement: false,
392
+ HTMLFieldSetElement: false,
393
+ HTMLFontElement: false,
394
+ HTMLFormControlsCollection: false,
395
+ HTMLFormElement: false,
396
+ HTMLFrameElement: false,
397
+ HTMLFrameSetElement: false,
398
+ HTMLHeadElement: false,
399
+ HTMLHeadingElement: false,
400
+ HTMLHRElement: false,
401
+ HTMLHtmlElement: false,
402
+ HTMLIFrameElement: false,
403
+ HTMLImageElement: false,
404
+ HTMLInputElement: false,
405
+ HTMLLabelElement: false,
406
+ HTMLLegendElement: false,
407
+ HTMLLIElement: false,
408
+ HTMLLinkElement: false,
409
+ HTMLMapElement: false,
410
+ HTMLMarqueeElement: false,
411
+ HTMLMediaElement: false,
412
+ HTMLMenuElement: false,
413
+ HTMLMetaElement: false,
414
+ HTMLMeterElement: false,
415
+ HTMLModElement: false,
416
+ HTMLObjectElement: false,
417
+ HTMLOListElement: false,
418
+ HTMLOptGroupElement: false,
419
+ HTMLOptionElement: false,
420
+ HTMLOptionsCollection: false,
421
+ HTMLOutputElement: false,
422
+ HTMLParagraphElement: false,
423
+ HTMLParamElement: false,
424
+ HTMLPictureElement: false,
425
+ HTMLPreElement: false,
426
+ HTMLProgressElement: false,
427
+ HTMLQuoteElement: false,
428
+ HTMLScriptElement: false,
429
+ HTMLSelectElement: false,
430
+ HTMLSlotElement: false,
431
+ HTMLSourceElement: false,
432
+ HTMLSpanElement: false,
433
+ HTMLStyleElement: false,
434
+ HTMLTableCaptionElement: false,
435
+ HTMLTableCellElement: false,
436
+ HTMLTableColElement: false,
437
+ HTMLTableElement: false,
438
+ HTMLTableRowElement: false,
439
+ HTMLTableSectionElement: false,
440
+ HTMLTemplateElement: false,
441
+ HTMLTextAreaElement: false,
442
+ HTMLTimeElement: false,
443
+ HTMLTitleElement: false,
444
+ HTMLTrackElement: false,
445
+ HTMLUListElement: false,
446
+ HTMLUnknownElement: false,
447
+ HTMLVideoElement: false,
448
+ IDBCursor: false,
449
+ IDBCursorWithValue: false,
450
+ IDBDatabase: false,
451
+ IDBFactory: false,
452
+ IDBIndex: false,
453
+ IDBKeyRange: false,
454
+ IDBObjectStore: false,
455
+ IDBOpenDBRequest: false,
456
+ IDBRequest: false,
457
+ IDBTransaction: false,
458
+ IDBVersionChangeEvent: false,
459
+ IdentityCredential: false,
460
+ IdentityCredentialError: false,
461
+ IdentityProvider: false,
462
+ IdleDeadline: false,
463
+ IdleDetector: false,
464
+ IIRFilterNode: false,
465
+ Image: false,
466
+ ImageBitmap: false,
467
+ ImageBitmapRenderingContext: false,
468
+ ImageCapture: false,
469
+ ImageData: false,
470
+ ImageDecoder: false,
471
+ ImageTrack: false,
472
+ ImageTrackList: false,
473
+ indexedDB: false,
474
+ Ink: false,
475
+ innerHeight: false,
476
+ innerWidth: false,
477
+ InputDeviceCapabilities: false,
478
+ InputDeviceInfo: false,
479
+ InputEvent: false,
480
+ IntersectionObserver: false,
481
+ IntersectionObserverEntry: false,
482
+ isSecureContext: false,
483
+ Keyboard: false,
484
+ KeyboardEvent: false,
485
+ KeyboardLayoutMap: false,
486
+ KeyframeEffect: false,
487
+ LargestContentfulPaint: false,
488
+ LaunchParams: false,
489
+ launchQueue: false,
490
+ LaunchQueue: false,
491
+ LayoutShift: false,
492
+ LayoutShiftAttribution: false,
493
+ length: false,
494
+ LinearAccelerationSensor: false,
495
+ localStorage: false,
496
+ location: true,
497
+ Location: false,
498
+ locationbar: false,
499
+ Lock: false,
500
+ LockManager: false,
501
+ matchMedia: false,
502
+ MathMLElement: false,
503
+ MediaCapabilities: false,
504
+ MediaCapabilitiesInfo: false,
505
+ MediaDeviceInfo: false,
506
+ MediaDevices: false,
507
+ MediaElementAudioSourceNode: false,
508
+ MediaEncryptedEvent: false,
509
+ MediaError: false,
510
+ MediaKeyError: false,
511
+ MediaKeyMessageEvent: false,
512
+ MediaKeys: false,
513
+ MediaKeySession: false,
514
+ MediaKeyStatusMap: false,
515
+ MediaKeySystemAccess: false,
516
+ MediaList: false,
517
+ MediaMetadata: false,
518
+ MediaQueryList: false,
519
+ MediaQueryListEvent: false,
520
+ MediaRecorder: false,
521
+ MediaRecorderErrorEvent: false,
522
+ MediaSession: false,
523
+ MediaSource: false,
524
+ MediaSourceHandle: false,
525
+ MediaStream: false,
526
+ MediaStreamAudioDestinationNode: false,
527
+ MediaStreamAudioSourceNode: false,
528
+ MediaStreamEvent: false,
529
+ MediaStreamTrack: false,
530
+ MediaStreamTrackAudioSourceNode: false,
531
+ MediaStreamTrackAudioStats: false,
532
+ MediaStreamTrackEvent: false,
533
+ MediaStreamTrackGenerator: false,
534
+ MediaStreamTrackProcessor: false,
535
+ MediaStreamTrackVideoStats: false,
536
+ menubar: false,
537
+ MessageChannel: false,
538
+ MessageEvent: false,
539
+ MessagePort: false,
540
+ MIDIAccess: false,
541
+ MIDIConnectionEvent: false,
542
+ MIDIInput: false,
543
+ MIDIInputMap: false,
544
+ MIDIMessageEvent: false,
545
+ MIDIOutput: false,
546
+ MIDIOutputMap: false,
547
+ MIDIPort: false,
548
+ MimeType: false,
549
+ MimeTypeArray: false,
550
+ model: false,
551
+ ModelGenericSession: false,
552
+ ModelManager: false,
553
+ MouseEvent: false,
554
+ moveBy: false,
555
+ moveTo: false,
556
+ MutationEvent: false,
557
+ MutationObserver: false,
558
+ MutationRecord: false,
559
+ name: false,
560
+ NamedNodeMap: false,
561
+ NavigateEvent: false,
562
+ navigation: false,
563
+ Navigation: false,
564
+ NavigationActivation: false,
565
+ NavigationCurrentEntryChangeEvent: false,
566
+ NavigationDestination: false,
567
+ NavigationHistoryEntry: false,
568
+ NavigationPreloadManager: false,
569
+ NavigationTransition: false,
570
+ navigator: false,
571
+ Navigator: false,
572
+ NavigatorLogin: false,
573
+ NavigatorManagedData: false,
574
+ NavigatorUAData: false,
575
+ NetworkInformation: false,
576
+ Node: false,
577
+ NodeFilter: false,
578
+ NodeIterator: false,
579
+ NodeList: false,
580
+ Notification: false,
581
+ NotifyPaintEvent: false,
582
+ NotRestoredReasonDetails: false,
583
+ NotRestoredReasons: false,
584
+ OfflineAudioCompletionEvent: false,
585
+ OfflineAudioContext: false,
586
+ offscreenBuffering: false,
587
+ OffscreenCanvas: false,
588
+ OffscreenCanvasRenderingContext2D: false,
589
+ onabort: true,
590
+ onafterprint: true,
591
+ onanimationcancel: true,
592
+ onanimationend: true,
593
+ onanimationiteration: true,
594
+ onanimationstart: true,
595
+ onappinstalled: true,
596
+ onauxclick: true,
597
+ onbeforeinput: true,
598
+ onbeforeinstallprompt: true,
599
+ onbeforematch: true,
600
+ onbeforeprint: true,
601
+ onbeforetoggle: true,
602
+ onbeforeunload: true,
603
+ onbeforexrselect: true,
604
+ onblur: true,
605
+ oncancel: true,
606
+ oncanplay: true,
607
+ oncanplaythrough: true,
608
+ onchange: true,
609
+ onclick: true,
610
+ onclose: true,
611
+ oncontentvisibilityautostatechange: true,
612
+ oncontextlost: true,
613
+ oncontextmenu: true,
614
+ oncontextrestored: true,
615
+ oncopy: true,
616
+ oncuechange: true,
617
+ oncut: true,
618
+ ondblclick: true,
619
+ ondevicemotion: true,
620
+ ondeviceorientation: true,
621
+ ondeviceorientationabsolute: true,
622
+ ondrag: true,
623
+ ondragend: true,
624
+ ondragenter: true,
625
+ ondragleave: true,
626
+ ondragover: true,
627
+ ondragstart: true,
628
+ ondrop: true,
629
+ ondurationchange: true,
630
+ onemptied: true,
631
+ onended: true,
632
+ onerror: true,
633
+ onfocus: true,
634
+ onformdata: true,
635
+ ongamepadconnected: true,
636
+ ongamepaddisconnected: true,
637
+ ongotpointercapture: true,
638
+ onhashchange: true,
639
+ oninput: true,
640
+ oninvalid: true,
641
+ onkeydown: true,
642
+ onkeypress: true,
643
+ onkeyup: true,
644
+ onlanguagechange: true,
645
+ onload: true,
646
+ onloadeddata: true,
647
+ onloadedmetadata: true,
648
+ onloadstart: true,
649
+ onlostpointercapture: true,
650
+ onmessage: true,
651
+ onmessageerror: true,
652
+ onmousedown: true,
653
+ onmouseenter: true,
654
+ onmouseleave: true,
655
+ onmousemove: true,
656
+ onmouseout: true,
657
+ onmouseover: true,
658
+ onmouseup: true,
659
+ onmousewheel: true,
660
+ onoffline: true,
661
+ ononline: true,
662
+ onpagehide: true,
663
+ onpagereveal: true,
664
+ onpageshow: true,
665
+ onpageswap: true,
666
+ onpaste: true,
667
+ onpause: true,
668
+ onplay: true,
669
+ onplaying: true,
670
+ onpointercancel: true,
671
+ onpointerdown: true,
672
+ onpointerenter: true,
673
+ onpointerleave: true,
674
+ onpointermove: true,
675
+ onpointerout: true,
676
+ onpointerover: true,
677
+ onpointerrawupdate: true,
678
+ onpointerup: true,
679
+ onpopstate: true,
680
+ onprogress: true,
681
+ onratechange: true,
682
+ onrejectionhandled: true,
683
+ onreset: true,
684
+ onresize: true,
685
+ onscroll: true,
686
+ onscrollend: true,
687
+ onscrollsnapchange: true,
688
+ onscrollsnapchanging: true,
689
+ onsearch: true,
690
+ onsecuritypolicyviolation: true,
691
+ onseeked: true,
692
+ onseeking: true,
693
+ onselect: true,
694
+ onselectionchange: true,
695
+ onselectstart: true,
696
+ onslotchange: true,
697
+ onstalled: true,
698
+ onstorage: true,
699
+ onsubmit: true,
700
+ onsuspend: true,
701
+ ontimeupdate: true,
702
+ ontoggle: true,
703
+ ontransitioncancel: true,
704
+ ontransitionend: true,
705
+ ontransitionrun: true,
706
+ ontransitionstart: true,
707
+ onunhandledrejection: true,
708
+ onunload: true,
709
+ onvolumechange: true,
710
+ onwaiting: true,
711
+ onwheel: true,
712
+ open: false,
713
+ opener: false,
714
+ Option: false,
715
+ OrientationSensor: false,
716
+ origin: false,
717
+ originAgentCluster: false,
718
+ OscillatorNode: false,
719
+ OTPCredential: false,
720
+ outerHeight: false,
721
+ outerWidth: false,
722
+ OverconstrainedError: false,
723
+ PageRevealEvent: false,
724
+ PageSwapEvent: false,
725
+ PageTransitionEvent: false,
726
+ pageXOffset: false,
727
+ pageYOffset: false,
728
+ PannerNode: false,
729
+ parent: false,
730
+ PasswordCredential: false,
731
+ Path2D: false,
732
+ PaymentAddress: false,
733
+ PaymentManager: false,
734
+ PaymentMethodChangeEvent: false,
735
+ PaymentRequest: false,
736
+ PaymentRequestUpdateEvent: false,
737
+ PaymentResponse: false,
738
+ performance: false,
739
+ Performance: false,
740
+ PerformanceElementTiming: false,
741
+ PerformanceEntry: false,
742
+ PerformanceEventTiming: false,
743
+ PerformanceLongAnimationFrameTiming: false,
744
+ PerformanceLongTaskTiming: false,
745
+ PerformanceMark: false,
746
+ PerformanceMeasure: false,
747
+ PerformanceNavigation: false,
748
+ PerformanceNavigationTiming: false,
749
+ PerformanceObserver: false,
750
+ PerformanceObserverEntryList: false,
751
+ PerformancePaintTiming: false,
752
+ PerformanceResourceTiming: false,
753
+ PerformanceScriptTiming: false,
754
+ PerformanceServerTiming: false,
755
+ PerformanceTiming: false,
756
+ PeriodicSyncManager: false,
757
+ PeriodicWave: false,
758
+ Permissions: false,
759
+ PermissionStatus: false,
760
+ PERSISTENT: false,
761
+ personalbar: false,
762
+ PictureInPictureEvent: false,
763
+ PictureInPictureWindow: false,
764
+ Plugin: false,
765
+ PluginArray: false,
766
+ PointerEvent: false,
767
+ PopStateEvent: false,
768
+ postMessage: false,
769
+ Presentation: false,
770
+ PresentationAvailability: false,
771
+ PresentationConnection: false,
772
+ PresentationConnectionAvailableEvent: false,
773
+ PresentationConnectionCloseEvent: false,
774
+ PresentationConnectionList: false,
775
+ PresentationReceiver: false,
776
+ PresentationRequest: false,
777
+ PressureObserver: false,
778
+ PressureRecord: false,
779
+ print: false,
780
+ ProcessingInstruction: false,
781
+ Profiler: false,
782
+ ProgressEvent: false,
783
+ PromiseRejectionEvent: false,
784
+ prompt: false,
785
+ ProtectedAudience: false,
786
+ PublicKeyCredential: false,
787
+ PushManager: false,
788
+ PushSubscription: false,
789
+ PushSubscriptionOptions: false,
790
+ queryLocalFonts: false,
791
+ queueMicrotask: false,
792
+ RadioNodeList: false,
793
+ Range: false,
794
+ ReadableByteStreamController: false,
795
+ ReadableStream: false,
796
+ ReadableStreamBYOBReader: false,
797
+ ReadableStreamBYOBRequest: false,
798
+ ReadableStreamDefaultController: false,
799
+ ReadableStreamDefaultReader: false,
800
+ registerProcessor: false,
801
+ RelativeOrientationSensor: false,
802
+ RemotePlayback: false,
803
+ removeEventListener: false,
804
+ reportError: false,
805
+ ReportingObserver: false,
806
+ Request: false,
807
+ requestAnimationFrame: false,
808
+ requestIdleCallback: false,
809
+ resizeBy: false,
810
+ ResizeObserver: false,
811
+ ResizeObserverEntry: false,
812
+ ResizeObserverSize: false,
813
+ resizeTo: false,
814
+ Response: false,
815
+ RTCCertificate: false,
816
+ RTCDataChannel: false,
817
+ RTCDataChannelEvent: false,
818
+ RTCDtlsTransport: false,
819
+ RTCDTMFSender: false,
820
+ RTCDTMFToneChangeEvent: false,
821
+ RTCEncodedAudioFrame: false,
822
+ RTCEncodedVideoFrame: false,
823
+ RTCError: false,
824
+ RTCErrorEvent: false,
825
+ RTCIceCandidate: false,
826
+ RTCIceTransport: false,
827
+ RTCPeerConnection: false,
828
+ RTCPeerConnectionIceErrorEvent: false,
829
+ RTCPeerConnectionIceEvent: false,
830
+ RTCRtpReceiver: false,
831
+ RTCRtpScriptTransform: false,
832
+ RTCRtpSender: false,
833
+ RTCRtpTransceiver: false,
834
+ RTCSctpTransport: false,
835
+ RTCSessionDescription: false,
836
+ RTCStatsReport: false,
837
+ RTCTrackEvent: false,
838
+ sampleRate: false,
839
+ scheduler: false,
840
+ Scheduler: false,
841
+ Scheduling: false,
842
+ screen: false,
843
+ Screen: false,
844
+ ScreenDetailed: false,
845
+ ScreenDetails: false,
846
+ screenLeft: false,
847
+ ScreenOrientation: false,
848
+ screenTop: false,
849
+ screenX: false,
850
+ screenY: false,
851
+ ScriptProcessorNode: false,
852
+ scroll: false,
853
+ scrollbars: false,
854
+ scrollBy: false,
855
+ ScrollTimeline: false,
856
+ scrollTo: false,
857
+ scrollX: false,
858
+ scrollY: false,
859
+ SecurityPolicyViolationEvent: false,
860
+ Selection: false,
861
+ self: false,
862
+ Sensor: false,
863
+ SensorErrorEvent: false,
864
+ Serial: false,
865
+ SerialPort: false,
866
+ ServiceWorker: false,
867
+ ServiceWorkerContainer: false,
868
+ ServiceWorkerRegistration: false,
869
+ sessionStorage: false,
870
+ setInterval: false,
871
+ setTimeout: false,
872
+ ShadowRoot: false,
873
+ sharedStorage: false,
874
+ SharedStorage: false,
875
+ SharedStorageWorklet: false,
876
+ SharedWorker: false,
877
+ showDirectoryPicker: false,
878
+ showOpenFilePicker: false,
879
+ showSaveFilePicker: false,
880
+ SnapEvent: false,
881
+ SourceBuffer: false,
882
+ SourceBufferList: false,
883
+ speechSynthesis: false,
884
+ SpeechSynthesis: false,
885
+ SpeechSynthesisErrorEvent: false,
886
+ SpeechSynthesisEvent: false,
887
+ SpeechSynthesisUtterance: false,
888
+ SpeechSynthesisVoice: false,
889
+ StaticRange: false,
890
+ status: false,
891
+ statusbar: false,
892
+ StereoPannerNode: false,
893
+ stop: false,
894
+ Storage: false,
895
+ StorageBucket: false,
896
+ StorageBucketManager: false,
897
+ StorageEvent: false,
898
+ StorageManager: false,
899
+ structuredClone: false,
900
+ styleMedia: false,
901
+ StylePropertyMap: false,
902
+ StylePropertyMapReadOnly: false,
903
+ StyleSheet: false,
904
+ StyleSheetList: false,
905
+ SubmitEvent: false,
906
+ SubtleCrypto: false,
907
+ SVGAElement: false,
908
+ SVGAngle: false,
909
+ SVGAnimatedAngle: false,
910
+ SVGAnimatedBoolean: false,
911
+ SVGAnimatedEnumeration: false,
912
+ SVGAnimatedInteger: false,
913
+ SVGAnimatedLength: false,
914
+ SVGAnimatedLengthList: false,
915
+ SVGAnimatedNumber: false,
916
+ SVGAnimatedNumberList: false,
917
+ SVGAnimatedPreserveAspectRatio: false,
918
+ SVGAnimatedRect: false,
919
+ SVGAnimatedString: false,
920
+ SVGAnimatedTransformList: false,
921
+ SVGAnimateElement: false,
922
+ SVGAnimateMotionElement: false,
923
+ SVGAnimateTransformElement: false,
924
+ SVGAnimationElement: false,
925
+ SVGCircleElement: false,
926
+ SVGClipPathElement: false,
927
+ SVGComponentTransferFunctionElement: false,
928
+ SVGDefsElement: false,
929
+ SVGDescElement: false,
930
+ SVGElement: false,
931
+ SVGEllipseElement: false,
932
+ SVGFEBlendElement: false,
933
+ SVGFEColorMatrixElement: false,
934
+ SVGFEComponentTransferElement: false,
935
+ SVGFECompositeElement: false,
936
+ SVGFEConvolveMatrixElement: false,
937
+ SVGFEDiffuseLightingElement: false,
938
+ SVGFEDisplacementMapElement: false,
939
+ SVGFEDistantLightElement: false,
940
+ SVGFEDropShadowElement: false,
941
+ SVGFEFloodElement: false,
942
+ SVGFEFuncAElement: false,
943
+ SVGFEFuncBElement: false,
944
+ SVGFEFuncGElement: false,
945
+ SVGFEFuncRElement: false,
946
+ SVGFEGaussianBlurElement: false,
947
+ SVGFEImageElement: false,
948
+ SVGFEMergeElement: false,
949
+ SVGFEMergeNodeElement: false,
950
+ SVGFEMorphologyElement: false,
951
+ SVGFEOffsetElement: false,
952
+ SVGFEPointLightElement: false,
953
+ SVGFESpecularLightingElement: false,
954
+ SVGFESpotLightElement: false,
955
+ SVGFETileElement: false,
956
+ SVGFETurbulenceElement: false,
957
+ SVGFilterElement: false,
958
+ SVGForeignObjectElement: false,
959
+ SVGGElement: false,
960
+ SVGGeometryElement: false,
961
+ SVGGradientElement: false,
962
+ SVGGraphicsElement: false,
963
+ SVGImageElement: false,
964
+ SVGLength: false,
965
+ SVGLengthList: false,
966
+ SVGLinearGradientElement: false,
967
+ SVGLineElement: false,
968
+ SVGMarkerElement: false,
969
+ SVGMaskElement: false,
970
+ SVGMatrix: false,
971
+ SVGMetadataElement: false,
972
+ SVGMPathElement: false,
973
+ SVGNumber: false,
974
+ SVGNumberList: false,
975
+ SVGPathElement: false,
976
+ SVGPatternElement: false,
977
+ SVGPoint: false,
978
+ SVGPointList: false,
979
+ SVGPolygonElement: false,
980
+ SVGPolylineElement: false,
981
+ SVGPreserveAspectRatio: false,
982
+ SVGRadialGradientElement: false,
983
+ SVGRect: false,
984
+ SVGRectElement: false,
985
+ SVGScriptElement: false,
986
+ SVGSetElement: false,
987
+ SVGStopElement: false,
988
+ SVGStringList: false,
989
+ SVGStyleElement: false,
990
+ SVGSVGElement: false,
991
+ SVGSwitchElement: false,
992
+ SVGSymbolElement: false,
993
+ SVGTextContentElement: false,
994
+ SVGTextElement: false,
995
+ SVGTextPathElement: false,
996
+ SVGTextPositioningElement: false,
997
+ SVGTitleElement: false,
998
+ SVGTransform: false,
999
+ SVGTransformList: false,
1000
+ SVGTSpanElement: false,
1001
+ SVGUnitTypes: false,
1002
+ SVGUseElement: false,
1003
+ SVGViewElement: false,
1004
+ SyncManager: false,
1005
+ TaskAttributionTiming: false,
1006
+ TaskController: false,
1007
+ TaskPriorityChangeEvent: false,
1008
+ TaskSignal: false,
1009
+ TEMPORARY: false,
1010
+ Text: false,
1011
+ TextDecoder: false,
1012
+ TextDecoderStream: false,
1013
+ TextEncoder: false,
1014
+ TextEncoderStream: false,
1015
+ TextEvent: false,
1016
+ TextFormat: false,
1017
+ TextFormatUpdateEvent: false,
1018
+ TextMetrics: false,
1019
+ TextTrack: false,
1020
+ TextTrackCue: false,
1021
+ TextTrackCueList: false,
1022
+ TextTrackList: false,
1023
+ TextUpdateEvent: false,
1024
+ TimeEvent: false,
1025
+ TimeRanges: false,
1026
+ ToggleEvent: false,
1027
+ toolbar: false,
1028
+ top: false,
1029
+ Touch: false,
1030
+ TouchEvent: false,
1031
+ TouchList: false,
1032
+ TrackEvent: false,
1033
+ TransformStream: false,
1034
+ TransformStreamDefaultController: false,
1035
+ TransitionEvent: false,
1036
+ TreeWalker: false,
1037
+ TrustedHTML: false,
1038
+ TrustedScript: false,
1039
+ TrustedScriptURL: false,
1040
+ TrustedTypePolicy: false,
1041
+ TrustedTypePolicyFactory: false,
1042
+ trustedTypes: false,
1043
+ UIEvent: false,
1044
+ URL: false,
1045
+ URLPattern: false,
1046
+ URLSearchParams: false,
1047
+ USB: false,
1048
+ USBAlternateInterface: false,
1049
+ USBConfiguration: false,
1050
+ USBConnectionEvent: false,
1051
+ USBDevice: false,
1052
+ USBEndpoint: false,
1053
+ USBInterface: false,
1054
+ USBInTransferResult: false,
1055
+ USBIsochronousInTransferPacket: false,
1056
+ USBIsochronousInTransferResult: false,
1057
+ USBIsochronousOutTransferPacket: false,
1058
+ USBIsochronousOutTransferResult: false,
1059
+ USBOutTransferResult: false,
1060
+ UserActivation: false,
1061
+ ValidityState: false,
1062
+ VideoColorSpace: false,
1063
+ VideoDecoder: false,
1064
+ VideoEncoder: false,
1065
+ VideoFrame: false,
1066
+ VideoPlaybackQuality: false,
1067
+ ViewTimeline: false,
1068
+ ViewTransition: false,
1069
+ ViewTransitionTypeSet: false,
1070
+ VirtualKeyboard: false,
1071
+ VirtualKeyboardGeometryChangeEvent: false,
1072
+ VisibilityStateEntry: false,
1073
+ visualViewport: false,
1074
+ VisualViewport: false,
1075
+ VTTCue: false,
1076
+ VTTRegion: false,
1077
+ WakeLock: false,
1078
+ WakeLockSentinel: false,
1079
+ WaveShaperNode: false,
1080
+ WebAssembly: false,
1081
+ WebGL2RenderingContext: false,
1082
+ WebGLActiveInfo: false,
1083
+ WebGLBuffer: false,
1084
+ WebGLContextEvent: false,
1085
+ WebGLFramebuffer: false,
1086
+ WebGLObject: false,
1087
+ WebGLProgram: false,
1088
+ WebGLQuery: false,
1089
+ WebGLRenderbuffer: false,
1090
+ WebGLRenderingContext: false,
1091
+ WebGLSampler: false,
1092
+ WebGLShader: false,
1093
+ WebGLShaderPrecisionFormat: false,
1094
+ WebGLSync: false,
1095
+ WebGLTexture: false,
1096
+ WebGLTransformFeedback: false,
1097
+ WebGLUniformLocation: false,
1098
+ WebGLVertexArrayObject: false,
1099
+ WebSocket: false,
1100
+ WebSocketError: false,
1101
+ WebSocketStream: false,
1102
+ WebTransport: false,
1103
+ WebTransportBidirectionalStream: false,
1104
+ WebTransportDatagramDuplexStream: false,
1105
+ WebTransportError: false,
1106
+ WebTransportReceiveStream: false,
1107
+ WebTransportSendStream: false,
1108
+ WGSLLanguageFeatures: false,
1109
+ WheelEvent: false,
1110
+ window: false,
1111
+ Window: false,
1112
+ WindowControlsOverlay: false,
1113
+ WindowControlsOverlayGeometryChangeEvent: false,
1114
+ Worker: false,
1115
+ Worklet: false,
1116
+ WorkletGlobalScope: false,
1117
+ WritableStream: false,
1118
+ WritableStreamDefaultController: false,
1119
+ WritableStreamDefaultWriter: false,
1120
+ XMLDocument: false,
1121
+ XMLHttpRequest: false,
1122
+ XMLHttpRequestEventTarget: false,
1123
+ XMLHttpRequestUpload: false,
1124
+ XMLSerializer: false,
1125
+ XPathEvaluator: false,
1126
+ XPathExpression: false,
1127
+ XPathResult: false,
1128
+ XRAnchor: false,
1129
+ XRAnchorSet: false,
1130
+ XRBoundedReferenceSpace: false,
1131
+ XRCamera: false,
1132
+ XRCPUDepthInformation: false,
1133
+ XRDepthInformation: false,
1134
+ XRDOMOverlayState: false,
1135
+ XRFrame: false,
1136
+ XRHand: false,
1137
+ XRHitTestResult: false,
1138
+ XRHitTestSource: false,
1139
+ XRInputSource: false,
1140
+ XRInputSourceArray: false,
1141
+ XRInputSourceEvent: false,
1142
+ XRInputSourcesChangeEvent: false,
1143
+ XRJointPose: false,
1144
+ XRJointSpace: false,
1145
+ XRLayer: false,
1146
+ XRLightEstimate: false,
1147
+ XRLightProbe: false,
1148
+ XRPose: false,
1149
+ XRRay: false,
1150
+ XRReferenceSpace: false,
1151
+ XRReferenceSpaceEvent: false,
1152
+ XRRenderState: false,
1153
+ XRRigidTransform: false,
1154
+ XRSession: false,
1155
+ XRSessionEvent: false,
1156
+ XRSpace: false,
1157
+ XRSystem: false,
1158
+ XRTransientInputHitTestResult: false,
1159
+ XRTransientInputHitTestSource: false,
1160
+ XRView: false,
1161
+ XRViewerPose: false,
1162
+ XRViewport: false,
1163
+ XRWebGLBinding: false,
1164
+ XRWebGLDepthInformation: false,
1165
+ XRWebGLLayer: false,
1166
+ XSLTProcessor: false
1167
+ },
1168
+ builtin: {
1169
+ AggregateError: false,
1170
+ Array: false,
1171
+ ArrayBuffer: false,
1172
+ Atomics: false,
1173
+ BigInt: false,
1174
+ BigInt64Array: false,
1175
+ BigUint64Array: false,
1176
+ Boolean: false,
1177
+ DataView: false,
1178
+ Date: false,
1179
+ decodeURI: false,
1180
+ decodeURIComponent: false,
1181
+ encodeURI: false,
1182
+ encodeURIComponent: false,
1183
+ Error: false,
1184
+ escape: false,
1185
+ eval: false,
1186
+ EvalError: false,
1187
+ FinalizationRegistry: false,
1188
+ Float32Array: false,
1189
+ Float64Array: false,
1190
+ Function: false,
1191
+ globalThis: false,
1192
+ Infinity: false,
1193
+ Int16Array: false,
1194
+ Int32Array: false,
1195
+ Int8Array: false,
1196
+ Intl: false,
1197
+ isFinite: false,
1198
+ isNaN: false,
1199
+ Iterator: false,
1200
+ JSON: false,
1201
+ Map: false,
1202
+ Math: false,
1203
+ NaN: false,
1204
+ Number: false,
1205
+ Object: false,
1206
+ parseFloat: false,
1207
+ parseInt: false,
1208
+ Promise: false,
1209
+ Proxy: false,
1210
+ RangeError: false,
1211
+ ReferenceError: false,
1212
+ Reflect: false,
1213
+ RegExp: false,
1214
+ Set: false,
1215
+ SharedArrayBuffer: false,
1216
+ String: false,
1217
+ Symbol: false,
1218
+ SyntaxError: false,
1219
+ TypeError: false,
1220
+ Uint16Array: false,
1221
+ Uint32Array: false,
1222
+ Uint8Array: false,
1223
+ Uint8ClampedArray: false,
1224
+ undefined: false,
1225
+ unescape: false,
1226
+ URIError: false,
1227
+ WeakMap: false,
1228
+ WeakRef: false,
1229
+ WeakSet: false
1230
+ },
1231
+ chai: {
1232
+ assert: true,
1233
+ expect: true,
1234
+ should: true
1235
+ },
1236
+ commonjs: {
1237
+ exports: true,
1238
+ global: false,
1239
+ module: false,
1240
+ require: false
1241
+ },
1242
+ couch: {
1243
+ emit: false,
1244
+ exports: false,
1245
+ getRow: false,
1246
+ log: false,
1247
+ module: false,
1248
+ provides: false,
1249
+ require: false,
1250
+ respond: false,
1251
+ send: false,
1252
+ start: false,
1253
+ sum: false
1254
+ },
1255
+ devtools: {
1256
+ $: false,
1257
+ $_: false,
1258
+ $$: false,
1259
+ $0: false,
1260
+ $1: false,
1261
+ $2: false,
1262
+ $3: false,
1263
+ $4: false,
1264
+ $x: false,
1265
+ chrome: false,
1266
+ clear: false,
1267
+ copy: false,
1268
+ debug: false,
1269
+ dir: false,
1270
+ dirxml: false,
1271
+ getEventListeners: false,
1272
+ inspect: false,
1273
+ keys: false,
1274
+ monitor: false,
1275
+ monitorEvents: false,
1276
+ profile: false,
1277
+ profileEnd: false,
1278
+ queryObjects: false,
1279
+ table: false,
1280
+ undebug: false,
1281
+ unmonitor: false,
1282
+ unmonitorEvents: false,
1283
+ values: false
1284
+ },
1285
+ embertest: {
1286
+ andThen: false,
1287
+ click: false,
1288
+ currentPath: false,
1289
+ currentRouteName: false,
1290
+ currentURL: false,
1291
+ fillIn: false,
1292
+ find: false,
1293
+ findAll: false,
1294
+ findWithAssert: false,
1295
+ keyEvent: false,
1296
+ pauseTest: false,
1297
+ resumeTest: false,
1298
+ triggerEvent: false,
1299
+ visit: false,
1300
+ wait: false
1301
+ },
1302
+ es2015: {
1303
+ Array: false,
1304
+ ArrayBuffer: false,
1305
+ Boolean: false,
1306
+ DataView: false,
1307
+ Date: false,
1308
+ decodeURI: false,
1309
+ decodeURIComponent: false,
1310
+ encodeURI: false,
1311
+ encodeURIComponent: false,
1312
+ Error: false,
1313
+ escape: false,
1314
+ eval: false,
1315
+ EvalError: false,
1316
+ Float32Array: false,
1317
+ Float64Array: false,
1318
+ Function: false,
1319
+ Infinity: false,
1320
+ Int16Array: false,
1321
+ Int32Array: false,
1322
+ Int8Array: false,
1323
+ Intl: false,
1324
+ isFinite: false,
1325
+ isNaN: false,
1326
+ JSON: false,
1327
+ Map: false,
1328
+ Math: false,
1329
+ NaN: false,
1330
+ Number: false,
1331
+ Object: false,
1332
+ parseFloat: false,
1333
+ parseInt: false,
1334
+ Promise: false,
1335
+ Proxy: false,
1336
+ RangeError: false,
1337
+ ReferenceError: false,
1338
+ Reflect: false,
1339
+ RegExp: false,
1340
+ Set: false,
1341
+ String: false,
1342
+ Symbol: false,
1343
+ SyntaxError: false,
1344
+ TypeError: false,
1345
+ Uint16Array: false,
1346
+ Uint32Array: false,
1347
+ Uint8Array: false,
1348
+ Uint8ClampedArray: false,
1349
+ undefined: false,
1350
+ unescape: false,
1351
+ URIError: false,
1352
+ WeakMap: false,
1353
+ WeakSet: false
1354
+ },
1355
+ es2016: {
1356
+ Array: false,
1357
+ ArrayBuffer: false,
1358
+ Boolean: false,
1359
+ DataView: false,
1360
+ Date: false,
1361
+ decodeURI: false,
1362
+ decodeURIComponent: false,
1363
+ encodeURI: false,
1364
+ encodeURIComponent: false,
1365
+ Error: false,
1366
+ escape: false,
1367
+ eval: false,
1368
+ EvalError: false,
1369
+ Float32Array: false,
1370
+ Float64Array: false,
1371
+ Function: false,
1372
+ Infinity: false,
1373
+ Int16Array: false,
1374
+ Int32Array: false,
1375
+ Int8Array: false,
1376
+ Intl: false,
1377
+ isFinite: false,
1378
+ isNaN: false,
1379
+ JSON: false,
1380
+ Map: false,
1381
+ Math: false,
1382
+ NaN: false,
1383
+ Number: false,
1384
+ Object: false,
1385
+ parseFloat: false,
1386
+ parseInt: false,
1387
+ Promise: false,
1388
+ Proxy: false,
1389
+ RangeError: false,
1390
+ ReferenceError: false,
1391
+ Reflect: false,
1392
+ RegExp: false,
1393
+ Set: false,
1394
+ String: false,
1395
+ Symbol: false,
1396
+ SyntaxError: false,
1397
+ TypeError: false,
1398
+ Uint16Array: false,
1399
+ Uint32Array: false,
1400
+ Uint8Array: false,
1401
+ Uint8ClampedArray: false,
1402
+ undefined: false,
1403
+ unescape: false,
1404
+ URIError: false,
1405
+ WeakMap: false,
1406
+ WeakSet: false
1407
+ },
1408
+ es2017: {
1409
+ Array: false,
1410
+ ArrayBuffer: false,
1411
+ Atomics: false,
1412
+ Boolean: false,
1413
+ DataView: false,
1414
+ Date: false,
1415
+ decodeURI: false,
1416
+ decodeURIComponent: false,
1417
+ encodeURI: false,
1418
+ encodeURIComponent: false,
1419
+ Error: false,
1420
+ escape: false,
1421
+ eval: false,
1422
+ EvalError: false,
1423
+ Float32Array: false,
1424
+ Float64Array: false,
1425
+ Function: false,
1426
+ Infinity: false,
1427
+ Int16Array: false,
1428
+ Int32Array: false,
1429
+ Int8Array: false,
1430
+ Intl: false,
1431
+ isFinite: false,
1432
+ isNaN: false,
1433
+ JSON: false,
1434
+ Map: false,
1435
+ Math: false,
1436
+ NaN: false,
1437
+ Number: false,
1438
+ Object: false,
1439
+ parseFloat: false,
1440
+ parseInt: false,
1441
+ Promise: false,
1442
+ Proxy: false,
1443
+ RangeError: false,
1444
+ ReferenceError: false,
1445
+ Reflect: false,
1446
+ RegExp: false,
1447
+ Set: false,
1448
+ SharedArrayBuffer: false,
1449
+ String: false,
1450
+ Symbol: false,
1451
+ SyntaxError: false,
1452
+ TypeError: false,
1453
+ Uint16Array: false,
1454
+ Uint32Array: false,
1455
+ Uint8Array: false,
1456
+ Uint8ClampedArray: false,
1457
+ undefined: false,
1458
+ unescape: false,
1459
+ URIError: false,
1460
+ WeakMap: false,
1461
+ WeakSet: false
1462
+ },
1463
+ es2018: {
1464
+ Array: false,
1465
+ ArrayBuffer: false,
1466
+ Atomics: false,
1467
+ Boolean: false,
1468
+ DataView: false,
1469
+ Date: false,
1470
+ decodeURI: false,
1471
+ decodeURIComponent: false,
1472
+ encodeURI: false,
1473
+ encodeURIComponent: false,
1474
+ Error: false,
1475
+ escape: false,
1476
+ eval: false,
1477
+ EvalError: false,
1478
+ Float32Array: false,
1479
+ Float64Array: false,
1480
+ Function: false,
1481
+ Infinity: false,
1482
+ Int16Array: false,
1483
+ Int32Array: false,
1484
+ Int8Array: false,
1485
+ Intl: false,
1486
+ isFinite: false,
1487
+ isNaN: false,
1488
+ JSON: false,
1489
+ Map: false,
1490
+ Math: false,
1491
+ NaN: false,
1492
+ Number: false,
1493
+ Object: false,
1494
+ parseFloat: false,
1495
+ parseInt: false,
1496
+ Promise: false,
1497
+ Proxy: false,
1498
+ RangeError: false,
1499
+ ReferenceError: false,
1500
+ Reflect: false,
1501
+ RegExp: false,
1502
+ Set: false,
1503
+ SharedArrayBuffer: false,
1504
+ String: false,
1505
+ Symbol: false,
1506
+ SyntaxError: false,
1507
+ TypeError: false,
1508
+ Uint16Array: false,
1509
+ Uint32Array: false,
1510
+ Uint8Array: false,
1511
+ Uint8ClampedArray: false,
1512
+ undefined: false,
1513
+ unescape: false,
1514
+ URIError: false,
1515
+ WeakMap: false,
1516
+ WeakSet: false
1517
+ },
1518
+ es2019: {
1519
+ Array: false,
1520
+ ArrayBuffer: false,
1521
+ Atomics: false,
1522
+ Boolean: false,
1523
+ DataView: false,
1524
+ Date: false,
1525
+ decodeURI: false,
1526
+ decodeURIComponent: false,
1527
+ encodeURI: false,
1528
+ encodeURIComponent: false,
1529
+ Error: false,
1530
+ escape: false,
1531
+ eval: false,
1532
+ EvalError: false,
1533
+ Float32Array: false,
1534
+ Float64Array: false,
1535
+ Function: false,
1536
+ Infinity: false,
1537
+ Int16Array: false,
1538
+ Int32Array: false,
1539
+ Int8Array: false,
1540
+ Intl: false,
1541
+ isFinite: false,
1542
+ isNaN: false,
1543
+ JSON: false,
1544
+ Map: false,
1545
+ Math: false,
1546
+ NaN: false,
1547
+ Number: false,
1548
+ Object: false,
1549
+ parseFloat: false,
1550
+ parseInt: false,
1551
+ Promise: false,
1552
+ Proxy: false,
1553
+ RangeError: false,
1554
+ ReferenceError: false,
1555
+ Reflect: false,
1556
+ RegExp: false,
1557
+ Set: false,
1558
+ SharedArrayBuffer: false,
1559
+ String: false,
1560
+ Symbol: false,
1561
+ SyntaxError: false,
1562
+ TypeError: false,
1563
+ Uint16Array: false,
1564
+ Uint32Array: false,
1565
+ Uint8Array: false,
1566
+ Uint8ClampedArray: false,
1567
+ undefined: false,
1568
+ unescape: false,
1569
+ URIError: false,
1570
+ WeakMap: false,
1571
+ WeakSet: false
1572
+ },
1573
+ es2020: {
1574
+ Array: false,
1575
+ ArrayBuffer: false,
1576
+ Atomics: false,
1577
+ BigInt: false,
1578
+ BigInt64Array: false,
1579
+ BigUint64Array: false,
1580
+ Boolean: false,
1581
+ DataView: false,
1582
+ Date: false,
1583
+ decodeURI: false,
1584
+ decodeURIComponent: false,
1585
+ encodeURI: false,
1586
+ encodeURIComponent: false,
1587
+ Error: false,
1588
+ escape: false,
1589
+ eval: false,
1590
+ EvalError: false,
1591
+ Float32Array: false,
1592
+ Float64Array: false,
1593
+ Function: false,
1594
+ globalThis: false,
1595
+ Infinity: false,
1596
+ Int16Array: false,
1597
+ Int32Array: false,
1598
+ Int8Array: false,
1599
+ Intl: false,
1600
+ isFinite: false,
1601
+ isNaN: false,
1602
+ JSON: false,
1603
+ Map: false,
1604
+ Math: false,
1605
+ NaN: false,
1606
+ Number: false,
1607
+ Object: false,
1608
+ parseFloat: false,
1609
+ parseInt: false,
1610
+ Promise: false,
1611
+ Proxy: false,
1612
+ RangeError: false,
1613
+ ReferenceError: false,
1614
+ Reflect: false,
1615
+ RegExp: false,
1616
+ Set: false,
1617
+ SharedArrayBuffer: false,
1618
+ String: false,
1619
+ Symbol: false,
1620
+ SyntaxError: false,
1621
+ TypeError: false,
1622
+ Uint16Array: false,
1623
+ Uint32Array: false,
1624
+ Uint8Array: false,
1625
+ Uint8ClampedArray: false,
1626
+ undefined: false,
1627
+ unescape: false,
1628
+ URIError: false,
1629
+ WeakMap: false,
1630
+ WeakSet: false
1631
+ },
1632
+ es2021: {
1633
+ AggregateError: false,
1634
+ Array: false,
1635
+ ArrayBuffer: false,
1636
+ Atomics: false,
1637
+ BigInt: false,
1638
+ BigInt64Array: false,
1639
+ BigUint64Array: false,
1640
+ Boolean: false,
1641
+ DataView: false,
1642
+ Date: false,
1643
+ decodeURI: false,
1644
+ decodeURIComponent: false,
1645
+ encodeURI: false,
1646
+ encodeURIComponent: false,
1647
+ Error: false,
1648
+ escape: false,
1649
+ eval: false,
1650
+ EvalError: false,
1651
+ FinalizationRegistry: false,
1652
+ Float32Array: false,
1653
+ Float64Array: false,
1654
+ Function: false,
1655
+ globalThis: false,
1656
+ Infinity: false,
1657
+ Int16Array: false,
1658
+ Int32Array: false,
1659
+ Int8Array: false,
1660
+ Intl: false,
1661
+ isFinite: false,
1662
+ isNaN: false,
1663
+ JSON: false,
1664
+ Map: false,
1665
+ Math: false,
1666
+ NaN: false,
1667
+ Number: false,
1668
+ Object: false,
1669
+ parseFloat: false,
1670
+ parseInt: false,
1671
+ Promise: false,
1672
+ Proxy: false,
1673
+ RangeError: false,
1674
+ ReferenceError: false,
1675
+ Reflect: false,
1676
+ RegExp: false,
1677
+ Set: false,
1678
+ SharedArrayBuffer: false,
1679
+ String: false,
1680
+ Symbol: false,
1681
+ SyntaxError: false,
1682
+ TypeError: false,
1683
+ Uint16Array: false,
1684
+ Uint32Array: false,
1685
+ Uint8Array: false,
1686
+ Uint8ClampedArray: false,
1687
+ undefined: false,
1688
+ unescape: false,
1689
+ URIError: false,
1690
+ WeakMap: false,
1691
+ WeakRef: false,
1692
+ WeakSet: false
1693
+ },
1694
+ es2022: {
1695
+ AggregateError: false,
1696
+ Array: false,
1697
+ ArrayBuffer: false,
1698
+ Atomics: false,
1699
+ BigInt: false,
1700
+ BigInt64Array: false,
1701
+ BigUint64Array: false,
1702
+ Boolean: false,
1703
+ DataView: false,
1704
+ Date: false,
1705
+ decodeURI: false,
1706
+ decodeURIComponent: false,
1707
+ encodeURI: false,
1708
+ encodeURIComponent: false,
1709
+ Error: false,
1710
+ escape: false,
1711
+ eval: false,
1712
+ EvalError: false,
1713
+ FinalizationRegistry: false,
1714
+ Float32Array: false,
1715
+ Float64Array: false,
1716
+ Function: false,
1717
+ globalThis: false,
1718
+ Infinity: false,
1719
+ Int16Array: false,
1720
+ Int32Array: false,
1721
+ Int8Array: false,
1722
+ Intl: false,
1723
+ isFinite: false,
1724
+ isNaN: false,
1725
+ JSON: false,
1726
+ Map: false,
1727
+ Math: false,
1728
+ NaN: false,
1729
+ Number: false,
1730
+ Object: false,
1731
+ parseFloat: false,
1732
+ parseInt: false,
1733
+ Promise: false,
1734
+ Proxy: false,
1735
+ RangeError: false,
1736
+ ReferenceError: false,
1737
+ Reflect: false,
1738
+ RegExp: false,
1739
+ Set: false,
1740
+ SharedArrayBuffer: false,
1741
+ String: false,
1742
+ Symbol: false,
1743
+ SyntaxError: false,
1744
+ TypeError: false,
1745
+ Uint16Array: false,
1746
+ Uint32Array: false,
1747
+ Uint8Array: false,
1748
+ Uint8ClampedArray: false,
1749
+ undefined: false,
1750
+ unescape: false,
1751
+ URIError: false,
1752
+ WeakMap: false,
1753
+ WeakRef: false,
1754
+ WeakSet: false
1755
+ },
1756
+ es2023: {
1757
+ AggregateError: false,
1758
+ Array: false,
1759
+ ArrayBuffer: false,
1760
+ Atomics: false,
1761
+ BigInt: false,
1762
+ BigInt64Array: false,
1763
+ BigUint64Array: false,
1764
+ Boolean: false,
1765
+ DataView: false,
1766
+ Date: false,
1767
+ decodeURI: false,
1768
+ decodeURIComponent: false,
1769
+ encodeURI: false,
1770
+ encodeURIComponent: false,
1771
+ Error: false,
1772
+ escape: false,
1773
+ eval: false,
1774
+ EvalError: false,
1775
+ FinalizationRegistry: false,
1776
+ Float32Array: false,
1777
+ Float64Array: false,
1778
+ Function: false,
1779
+ globalThis: false,
1780
+ Infinity: false,
1781
+ Int16Array: false,
1782
+ Int32Array: false,
1783
+ Int8Array: false,
1784
+ Intl: false,
1785
+ isFinite: false,
1786
+ isNaN: false,
1787
+ JSON: false,
1788
+ Map: false,
1789
+ Math: false,
1790
+ NaN: false,
1791
+ Number: false,
1792
+ Object: false,
1793
+ parseFloat: false,
1794
+ parseInt: false,
1795
+ Promise: false,
1796
+ Proxy: false,
1797
+ RangeError: false,
1798
+ ReferenceError: false,
1799
+ Reflect: false,
1800
+ RegExp: false,
1801
+ Set: false,
1802
+ SharedArrayBuffer: false,
1803
+ String: false,
1804
+ Symbol: false,
1805
+ SyntaxError: false,
1806
+ TypeError: false,
1807
+ Uint16Array: false,
1808
+ Uint32Array: false,
1809
+ Uint8Array: false,
1810
+ Uint8ClampedArray: false,
1811
+ undefined: false,
1812
+ unescape: false,
1813
+ URIError: false,
1814
+ WeakMap: false,
1815
+ WeakRef: false,
1816
+ WeakSet: false
1817
+ },
1818
+ es2024: {
1819
+ AggregateError: false,
1820
+ Array: false,
1821
+ ArrayBuffer: false,
1822
+ Atomics: false,
1823
+ BigInt: false,
1824
+ BigInt64Array: false,
1825
+ BigUint64Array: false,
1826
+ Boolean: false,
1827
+ DataView: false,
1828
+ Date: false,
1829
+ decodeURI: false,
1830
+ decodeURIComponent: false,
1831
+ encodeURI: false,
1832
+ encodeURIComponent: false,
1833
+ Error: false,
1834
+ escape: false,
1835
+ eval: false,
1836
+ EvalError: false,
1837
+ FinalizationRegistry: false,
1838
+ Float32Array: false,
1839
+ Float64Array: false,
1840
+ Function: false,
1841
+ globalThis: false,
1842
+ Infinity: false,
1843
+ Int16Array: false,
1844
+ Int32Array: false,
1845
+ Int8Array: false,
1846
+ Intl: false,
1847
+ isFinite: false,
1848
+ isNaN: false,
1849
+ JSON: false,
1850
+ Map: false,
1851
+ Math: false,
1852
+ NaN: false,
1853
+ Number: false,
1854
+ Object: false,
1855
+ parseFloat: false,
1856
+ parseInt: false,
1857
+ Promise: false,
1858
+ Proxy: false,
1859
+ RangeError: false,
1860
+ ReferenceError: false,
1861
+ Reflect: false,
1862
+ RegExp: false,
1863
+ Set: false,
1864
+ SharedArrayBuffer: false,
1865
+ String: false,
1866
+ Symbol: false,
1867
+ SyntaxError: false,
1868
+ TypeError: false,
1869
+ Uint16Array: false,
1870
+ Uint32Array: false,
1871
+ Uint8Array: false,
1872
+ Uint8ClampedArray: false,
1873
+ undefined: false,
1874
+ unescape: false,
1875
+ URIError: false,
1876
+ WeakMap: false,
1877
+ WeakRef: false,
1878
+ WeakSet: false
1879
+ },
1880
+ es2025: {
1881
+ AggregateError: false,
1882
+ Array: false,
1883
+ ArrayBuffer: false,
1884
+ Atomics: false,
1885
+ BigInt: false,
1886
+ BigInt64Array: false,
1887
+ BigUint64Array: false,
1888
+ Boolean: false,
1889
+ DataView: false,
1890
+ Date: false,
1891
+ decodeURI: false,
1892
+ decodeURIComponent: false,
1893
+ encodeURI: false,
1894
+ encodeURIComponent: false,
1895
+ Error: false,
1896
+ escape: false,
1897
+ eval: false,
1898
+ EvalError: false,
1899
+ FinalizationRegistry: false,
1900
+ Float32Array: false,
1901
+ Float64Array: false,
1902
+ Function: false,
1903
+ globalThis: false,
1904
+ Infinity: false,
1905
+ Int16Array: false,
1906
+ Int32Array: false,
1907
+ Int8Array: false,
1908
+ Intl: false,
1909
+ isFinite: false,
1910
+ isNaN: false,
1911
+ Iterator: false,
1912
+ JSON: false,
1913
+ Map: false,
1914
+ Math: false,
1915
+ NaN: false,
1916
+ Number: false,
1917
+ Object: false,
1918
+ parseFloat: false,
1919
+ parseInt: false,
1920
+ Promise: false,
1921
+ Proxy: false,
1922
+ RangeError: false,
1923
+ ReferenceError: false,
1924
+ Reflect: false,
1925
+ RegExp: false,
1926
+ Set: false,
1927
+ SharedArrayBuffer: false,
1928
+ String: false,
1929
+ Symbol: false,
1930
+ SyntaxError: false,
1931
+ TypeError: false,
1932
+ Uint16Array: false,
1933
+ Uint32Array: false,
1934
+ Uint8Array: false,
1935
+ Uint8ClampedArray: false,
1936
+ undefined: false,
1937
+ unescape: false,
1938
+ URIError: false,
1939
+ WeakMap: false,
1940
+ WeakRef: false,
1941
+ WeakSet: false
1942
+ },
1943
+ es3: {
1944
+ Array: false,
1945
+ Boolean: false,
1946
+ Date: false,
1947
+ decodeURI: false,
1948
+ decodeURIComponent: false,
1949
+ encodeURI: false,
1950
+ encodeURIComponent: false,
1951
+ Error: false,
1952
+ escape: false,
1953
+ eval: false,
1954
+ EvalError: false,
1955
+ Function: false,
1956
+ Infinity: false,
1957
+ isFinite: false,
1958
+ isNaN: false,
1959
+ Math: false,
1960
+ NaN: false,
1961
+ Number: false,
1962
+ Object: false,
1963
+ parseFloat: false,
1964
+ parseInt: false,
1965
+ RangeError: false,
1966
+ ReferenceError: false,
1967
+ RegExp: false,
1968
+ String: false,
1969
+ SyntaxError: false,
1970
+ TypeError: false,
1971
+ undefined: false,
1972
+ unescape: false,
1973
+ URIError: false
1974
+ },
1975
+ es5: {
1976
+ Array: false,
1977
+ Boolean: false,
1978
+ Date: false,
1979
+ decodeURI: false,
1980
+ decodeURIComponent: false,
1981
+ encodeURI: false,
1982
+ encodeURIComponent: false,
1983
+ Error: false,
1984
+ escape: false,
1985
+ eval: false,
1986
+ EvalError: false,
1987
+ Function: false,
1988
+ Infinity: false,
1989
+ isFinite: false,
1990
+ isNaN: false,
1991
+ JSON: false,
1992
+ Math: false,
1993
+ NaN: false,
1994
+ Number: false,
1995
+ Object: false,
1996
+ parseFloat: false,
1997
+ parseInt: false,
1998
+ RangeError: false,
1999
+ ReferenceError: false,
2000
+ RegExp: false,
2001
+ String: false,
2002
+ SyntaxError: false,
2003
+ TypeError: false,
2004
+ undefined: false,
2005
+ unescape: false,
2006
+ URIError: false
2007
+ },
2008
+ greasemonkey: {
2009
+ cloneInto: false,
2010
+ createObjectIn: false,
2011
+ exportFunction: false,
2012
+ GM: false,
2013
+ GM_addElement: false,
2014
+ GM_addStyle: false,
2015
+ GM_addValueChangeListener: false,
2016
+ GM_deleteValue: false,
2017
+ GM_download: false,
2018
+ GM_getResourceText: false,
2019
+ GM_getResourceURL: false,
2020
+ GM_getTab: false,
2021
+ GM_getTabs: false,
2022
+ GM_getValue: false,
2023
+ GM_info: false,
2024
+ GM_listValues: false,
2025
+ GM_log: false,
2026
+ GM_notification: false,
2027
+ GM_openInTab: false,
2028
+ GM_registerMenuCommand: false,
2029
+ GM_removeValueChangeListener: false,
2030
+ GM_saveTab: false,
2031
+ GM_setClipboard: false,
2032
+ GM_setValue: false,
2033
+ GM_unregisterMenuCommand: false,
2034
+ GM_xmlhttpRequest: false,
2035
+ unsafeWindow: false
2036
+ },
2037
+ jasmine: {
2038
+ afterAll: false,
2039
+ afterEach: false,
2040
+ beforeAll: false,
2041
+ beforeEach: false,
2042
+ describe: false,
2043
+ expect: false,
2044
+ expectAsync: false,
2045
+ fail: false,
2046
+ fdescribe: false,
2047
+ fit: false,
2048
+ it: false,
2049
+ jasmine: false,
2050
+ pending: false,
2051
+ runs: false,
2052
+ spyOn: false,
2053
+ spyOnAllFunctions: false,
2054
+ spyOnProperty: false,
2055
+ waits: false,
2056
+ waitsFor: false,
2057
+ xdescribe: false,
2058
+ xit: false
2059
+ },
2060
+ jest: {
2061
+ afterAll: false,
2062
+ afterEach: false,
2063
+ beforeAll: false,
2064
+ beforeEach: false,
2065
+ describe: false,
2066
+ expect: false,
2067
+ fit: false,
2068
+ it: false,
2069
+ jest: false,
2070
+ test: false,
2071
+ xdescribe: false,
2072
+ xit: false,
2073
+ xtest: false
2074
+ },
2075
+ jquery: {
2076
+ $: false,
2077
+ jQuery: false
2078
+ },
2079
+ meteor: {
2080
+ $: false,
2081
+ Accounts: false,
2082
+ AccountsClient: false,
2083
+ AccountsCommon: false,
2084
+ AccountsServer: false,
2085
+ App: false,
2086
+ Assets: false,
2087
+ Blaze: false,
2088
+ check: false,
2089
+ Cordova: false,
2090
+ DDP: false,
2091
+ DDPRateLimiter: false,
2092
+ DDPServer: false,
2093
+ Deps: false,
2094
+ EJSON: false,
2095
+ Email: false,
2096
+ HTTP: false,
2097
+ Log: false,
2098
+ Match: false,
2099
+ Meteor: false,
2100
+ Mongo: false,
2101
+ MongoInternals: false,
2102
+ Npm: false,
2103
+ Package: false,
2104
+ Plugin: false,
2105
+ process: false,
2106
+ Random: false,
2107
+ ReactiveDict: false,
2108
+ ReactiveVar: false,
2109
+ Router: false,
2110
+ ServiceConfiguration: false,
2111
+ Session: false,
2112
+ share: false,
2113
+ Spacebars: false,
2114
+ Template: false,
2115
+ Tinytest: false,
2116
+ Tracker: false,
2117
+ UI: false,
2118
+ Utils: false,
2119
+ WebApp: false,
2120
+ WebAppInternals: false
2121
+ },
2122
+ mocha: {
2123
+ after: false,
2124
+ afterEach: false,
2125
+ before: false,
2126
+ beforeEach: false,
2127
+ context: false,
2128
+ describe: false,
2129
+ it: false,
2130
+ mocha: false,
2131
+ run: false,
2132
+ setup: false,
2133
+ specify: false,
2134
+ suite: false,
2135
+ suiteSetup: false,
2136
+ suiteTeardown: false,
2137
+ teardown: false,
2138
+ test: false,
2139
+ xcontext: false,
2140
+ xdescribe: false,
2141
+ xit: false,
2142
+ xspecify: false
2143
+ },
2144
+ mongo: {
2145
+ _isWindows: false,
2146
+ _rand: false,
2147
+ BulkWriteResult: false,
2148
+ cat: false,
2149
+ cd: false,
2150
+ connect: false,
2151
+ db: false,
2152
+ getHostName: false,
2153
+ getMemInfo: false,
2154
+ hostname: false,
2155
+ ISODate: false,
2156
+ listFiles: false,
2157
+ load: false,
2158
+ ls: false,
2159
+ md5sumFile: false,
2160
+ mkdir: false,
2161
+ Mongo: false,
2162
+ NumberInt: false,
2163
+ NumberLong: false,
2164
+ ObjectId: false,
2165
+ PlanCache: false,
2166
+ print: false,
2167
+ printjson: false,
2168
+ pwd: false,
2169
+ quit: false,
2170
+ removeFile: false,
2171
+ rs: false,
2172
+ sh: false,
2173
+ UUID: false,
2174
+ version: false,
2175
+ WriteResult: false
2176
+ },
2177
+ nashorn: {
2178
+ __DIR__: false,
2179
+ __FILE__: false,
2180
+ __LINE__: false,
2181
+ com: false,
2182
+ edu: false,
2183
+ exit: false,
2184
+ java: false,
2185
+ Java: false,
2186
+ javafx: false,
2187
+ JavaImporter: false,
2188
+ javax: false,
2189
+ JSAdapter: false,
2190
+ load: false,
2191
+ loadWithNewGlobal: false,
2192
+ org: false,
2193
+ Packages: false,
2194
+ print: false,
2195
+ quit: false
2196
+ },
2197
+ node: {
2198
+ __dirname: false,
2199
+ __filename: false,
2200
+ AbortController: false,
2201
+ AbortSignal: false,
2202
+ atob: false,
2203
+ Blob: false,
2204
+ BroadcastChannel: false,
2205
+ btoa: false,
2206
+ Buffer: false,
2207
+ ByteLengthQueuingStrategy: false,
2208
+ clearImmediate: false,
2209
+ clearInterval: false,
2210
+ clearTimeout: false,
2211
+ CloseEvent: false,
2212
+ CompressionStream: false,
2213
+ console: false,
2214
+ CountQueuingStrategy: false,
2215
+ crypto: false,
2216
+ Crypto: false,
2217
+ CryptoKey: false,
2218
+ CustomEvent: false,
2219
+ DecompressionStream: false,
2220
+ DOMException: false,
2221
+ Event: false,
2222
+ EventTarget: false,
2223
+ exports: true,
2224
+ fetch: false,
2225
+ File: false,
2226
+ FormData: false,
2227
+ global: false,
2228
+ Headers: false,
2229
+ MessageChannel: false,
2230
+ MessageEvent: false,
2231
+ MessagePort: false,
2232
+ module: false,
2233
+ navigator: false,
2234
+ Navigator: false,
2235
+ performance: false,
2236
+ Performance: false,
2237
+ PerformanceEntry: false,
2238
+ PerformanceMark: false,
2239
+ PerformanceMeasure: false,
2240
+ PerformanceObserver: false,
2241
+ PerformanceObserverEntryList: false,
2242
+ PerformanceResourceTiming: false,
2243
+ process: false,
2244
+ queueMicrotask: false,
2245
+ ReadableByteStreamController: false,
2246
+ ReadableStream: false,
2247
+ ReadableStreamBYOBReader: false,
2248
+ ReadableStreamBYOBRequest: false,
2249
+ ReadableStreamDefaultController: false,
2250
+ ReadableStreamDefaultReader: false,
2251
+ Request: false,
2252
+ require: false,
2253
+ Response: false,
2254
+ setImmediate: false,
2255
+ setInterval: false,
2256
+ setTimeout: false,
2257
+ structuredClone: false,
2258
+ SubtleCrypto: false,
2259
+ TextDecoder: false,
2260
+ TextDecoderStream: false,
2261
+ TextEncoder: false,
2262
+ TextEncoderStream: false,
2263
+ TransformStream: false,
2264
+ TransformStreamDefaultController: false,
2265
+ URL: false,
2266
+ URLSearchParams: false,
2267
+ WebAssembly: false,
2268
+ WebSocket: false,
2269
+ WritableStream: false,
2270
+ WritableStreamDefaultController: false,
2271
+ WritableStreamDefaultWriter: false
2272
+ },
2273
+ nodeBuiltin: {
2274
+ AbortController: false,
2275
+ AbortSignal: false,
2276
+ atob: false,
2277
+ Blob: false,
2278
+ BroadcastChannel: false,
2279
+ btoa: false,
2280
+ Buffer: false,
2281
+ ByteLengthQueuingStrategy: false,
2282
+ clearImmediate: false,
2283
+ clearInterval: false,
2284
+ clearTimeout: false,
2285
+ CloseEvent: false,
2286
+ CompressionStream: false,
2287
+ console: false,
2288
+ CountQueuingStrategy: false,
2289
+ crypto: false,
2290
+ Crypto: false,
2291
+ CryptoKey: false,
2292
+ CustomEvent: false,
2293
+ DecompressionStream: false,
2294
+ DOMException: false,
2295
+ Event: false,
2296
+ EventTarget: false,
2297
+ fetch: false,
2298
+ File: false,
2299
+ FormData: false,
2300
+ global: false,
2301
+ Headers: false,
2302
+ MessageChannel: false,
2303
+ MessageEvent: false,
2304
+ MessagePort: false,
2305
+ navigator: false,
2306
+ Navigator: false,
2307
+ performance: false,
2308
+ Performance: false,
2309
+ PerformanceEntry: false,
2310
+ PerformanceMark: false,
2311
+ PerformanceMeasure: false,
2312
+ PerformanceObserver: false,
2313
+ PerformanceObserverEntryList: false,
2314
+ PerformanceResourceTiming: false,
2315
+ process: false,
2316
+ queueMicrotask: false,
2317
+ ReadableByteStreamController: false,
2318
+ ReadableStream: false,
2319
+ ReadableStreamBYOBReader: false,
2320
+ ReadableStreamBYOBRequest: false,
2321
+ ReadableStreamDefaultController: false,
2322
+ ReadableStreamDefaultReader: false,
2323
+ Request: false,
2324
+ Response: false,
2325
+ setImmediate: false,
2326
+ setInterval: false,
2327
+ setTimeout: false,
2328
+ structuredClone: false,
2329
+ SubtleCrypto: false,
2330
+ TextDecoder: false,
2331
+ TextDecoderStream: false,
2332
+ TextEncoder: false,
2333
+ TextEncoderStream: false,
2334
+ TransformStream: false,
2335
+ TransformStreamDefaultController: false,
2336
+ URL: false,
2337
+ URLSearchParams: false,
2338
+ WebAssembly: false,
2339
+ WebSocket: false,
2340
+ WritableStream: false,
2341
+ WritableStreamDefaultController: false,
2342
+ WritableStreamDefaultWriter: false
2343
+ },
2344
+ phantomjs: {
2345
+ console: true,
2346
+ exports: true,
2347
+ phantom: true,
2348
+ require: true,
2349
+ WebPage: true
2350
+ },
2351
+ prototypejs: {
2352
+ $: false,
2353
+ $$: false,
2354
+ $A: false,
2355
+ $break: false,
2356
+ $continue: false,
2357
+ $F: false,
2358
+ $H: false,
2359
+ $R: false,
2360
+ $w: false,
2361
+ Abstract: false,
2362
+ Ajax: false,
2363
+ Autocompleter: false,
2364
+ Builder: false,
2365
+ Class: false,
2366
+ Control: false,
2367
+ Draggable: false,
2368
+ Draggables: false,
2369
+ Droppables: false,
2370
+ Effect: false,
2371
+ Element: false,
2372
+ Enumerable: false,
2373
+ Event: false,
2374
+ Field: false,
2375
+ Form: false,
2376
+ Hash: false,
2377
+ Insertion: false,
2378
+ ObjectRange: false,
2379
+ PeriodicalExecuter: false,
2380
+ Position: false,
2381
+ Prototype: false,
2382
+ Scriptaculous: false,
2383
+ Selector: false,
2384
+ Sortable: false,
2385
+ SortableObserver: false,
2386
+ Sound: false,
2387
+ Template: false,
2388
+ Toggle: false,
2389
+ Try: false
2390
+ },
2391
+ protractor: {
2392
+ $: false,
2393
+ $$: false,
2394
+ browser: false,
2395
+ by: false,
2396
+ By: false,
2397
+ DartObject: false,
2398
+ element: false,
2399
+ protractor: false
2400
+ },
2401
+ qunit: {
2402
+ asyncTest: false,
2403
+ deepEqual: false,
2404
+ equal: false,
2405
+ expect: false,
2406
+ module: false,
2407
+ notDeepEqual: false,
2408
+ notEqual: false,
2409
+ notOk: false,
2410
+ notPropEqual: false,
2411
+ notStrictEqual: false,
2412
+ ok: false,
2413
+ propEqual: false,
2414
+ QUnit: false,
2415
+ raises: false,
2416
+ start: false,
2417
+ stop: false,
2418
+ strictEqual: false,
2419
+ test: false,
2420
+ throws: false
2421
+ },
2422
+ rhino: {
2423
+ defineClass: false,
2424
+ deserialize: false,
2425
+ gc: false,
2426
+ help: false,
2427
+ importClass: false,
2428
+ importPackage: false,
2429
+ java: false,
2430
+ load: false,
2431
+ loadClass: false,
2432
+ Packages: false,
2433
+ print: false,
2434
+ quit: false,
2435
+ readFile: false,
2436
+ readUrl: false,
2437
+ runCommand: false,
2438
+ seal: false,
2439
+ serialize: false,
2440
+ spawn: false,
2441
+ sync: false,
2442
+ toint32: false,
2443
+ version: false
2444
+ },
2445
+ serviceworker: {
2446
+ addEventListener: false,
2447
+ applicationCache: false,
2448
+ atob: false,
2449
+ Blob: false,
2450
+ BroadcastChannel: false,
2451
+ btoa: false,
2452
+ ByteLengthQueuingStrategy: false,
2453
+ Cache: false,
2454
+ caches: false,
2455
+ CacheStorage: false,
2456
+ clearInterval: false,
2457
+ clearTimeout: false,
2458
+ Client: false,
2459
+ clients: false,
2460
+ Clients: false,
2461
+ close: true,
2462
+ CompressionStream: false,
2463
+ console: false,
2464
+ CountQueuingStrategy: false,
2465
+ crypto: false,
2466
+ Crypto: false,
2467
+ CryptoKey: false,
2468
+ CustomEvent: false,
2469
+ DecompressionStream: false,
2470
+ ErrorEvent: false,
2471
+ Event: false,
2472
+ ExtendableEvent: false,
2473
+ ExtendableMessageEvent: false,
2474
+ fetch: false,
2475
+ FetchEvent: false,
2476
+ File: false,
2477
+ FileReaderSync: false,
2478
+ FormData: false,
2479
+ Headers: false,
2480
+ IDBCursor: false,
2481
+ IDBCursorWithValue: false,
2482
+ IDBDatabase: false,
2483
+ IDBFactory: false,
2484
+ IDBIndex: false,
2485
+ IDBKeyRange: false,
2486
+ IDBObjectStore: false,
2487
+ IDBOpenDBRequest: false,
2488
+ IDBRequest: false,
2489
+ IDBTransaction: false,
2490
+ IDBVersionChangeEvent: false,
2491
+ ImageData: false,
2492
+ importScripts: false,
2493
+ indexedDB: false,
2494
+ location: false,
2495
+ MessageChannel: false,
2496
+ MessageEvent: false,
2497
+ MessagePort: false,
2498
+ name: false,
2499
+ navigator: false,
2500
+ Notification: false,
2501
+ onclose: true,
2502
+ onconnect: true,
2503
+ onerror: true,
2504
+ onfetch: true,
2505
+ oninstall: true,
2506
+ onlanguagechange: true,
2507
+ onmessage: true,
2508
+ onmessageerror: true,
2509
+ onnotificationclick: true,
2510
+ onnotificationclose: true,
2511
+ onoffline: true,
2512
+ ononline: true,
2513
+ onpush: true,
2514
+ onpushsubscriptionchange: true,
2515
+ onrejectionhandled: true,
2516
+ onsync: true,
2517
+ onunhandledrejection: true,
2518
+ performance: false,
2519
+ Performance: false,
2520
+ PerformanceEntry: false,
2521
+ PerformanceMark: false,
2522
+ PerformanceMeasure: false,
2523
+ PerformanceNavigation: false,
2524
+ PerformanceObserver: false,
2525
+ PerformanceObserverEntryList: false,
2526
+ PerformanceResourceTiming: false,
2527
+ PerformanceTiming: false,
2528
+ postMessage: true,
2529
+ queueMicrotask: false,
2530
+ ReadableByteStreamController: false,
2531
+ ReadableStream: false,
2532
+ ReadableStreamBYOBReader: false,
2533
+ ReadableStreamBYOBRequest: false,
2534
+ ReadableStreamDefaultController: false,
2535
+ ReadableStreamDefaultReader: false,
2536
+ registration: false,
2537
+ removeEventListener: false,
2538
+ Request: false,
2539
+ Response: false,
2540
+ self: false,
2541
+ ServiceWorker: false,
2542
+ ServiceWorkerContainer: false,
2543
+ ServiceWorkerGlobalScope: false,
2544
+ ServiceWorkerMessageEvent: false,
2545
+ ServiceWorkerRegistration: false,
2546
+ setInterval: false,
2547
+ setTimeout: false,
2548
+ skipWaiting: false,
2549
+ SubtleCrypto: false,
2550
+ TextDecoder: false,
2551
+ TextDecoderStream: false,
2552
+ TextEncoder: false,
2553
+ TextEncoderStream: false,
2554
+ TransformStream: false,
2555
+ TransformStreamDefaultController: false,
2556
+ URL: false,
2557
+ URLSearchParams: false,
2558
+ WebAssembly: false,
2559
+ WebSocket: false,
2560
+ WindowClient: false,
2561
+ Worker: false,
2562
+ WorkerGlobalScope: false,
2563
+ WritableStream: false,
2564
+ WritableStreamDefaultController: false,
2565
+ WritableStreamDefaultWriter: false,
2566
+ XMLHttpRequest: false
2567
+ },
2568
+ "shared-node-browser": {
2569
+ AbortController: false,
2570
+ AbortSignal: false,
2571
+ atob: false,
2572
+ Blob: false,
2573
+ BroadcastChannel: false,
2574
+ btoa: false,
2575
+ ByteLengthQueuingStrategy: false,
2576
+ clearInterval: false,
2577
+ clearTimeout: false,
2578
+ CloseEvent: false,
2579
+ CompressionStream: false,
2580
+ console: false,
2581
+ CountQueuingStrategy: false,
2582
+ crypto: false,
2583
+ Crypto: false,
2584
+ CryptoKey: false,
2585
+ CustomEvent: false,
2586
+ DecompressionStream: false,
2587
+ DOMException: false,
2588
+ Event: false,
2589
+ EventTarget: false,
2590
+ fetch: false,
2591
+ File: false,
2592
+ FormData: false,
2593
+ Headers: false,
2594
+ MessageChannel: false,
2595
+ MessageEvent: false,
2596
+ MessagePort: false,
2597
+ navigator: false,
2598
+ Navigator: false,
2599
+ performance: false,
2600
+ Performance: false,
2601
+ PerformanceEntry: false,
2602
+ PerformanceMark: false,
2603
+ PerformanceMeasure: false,
2604
+ PerformanceObserver: false,
2605
+ PerformanceObserverEntryList: false,
2606
+ PerformanceResourceTiming: false,
2607
+ queueMicrotask: false,
2608
+ ReadableByteStreamController: false,
2609
+ ReadableStream: false,
2610
+ ReadableStreamBYOBReader: false,
2611
+ ReadableStreamBYOBRequest: false,
2612
+ ReadableStreamDefaultController: false,
2613
+ ReadableStreamDefaultReader: false,
2614
+ Request: false,
2615
+ Response: false,
2616
+ setInterval: false,
2617
+ setTimeout: false,
2618
+ structuredClone: false,
2619
+ SubtleCrypto: false,
2620
+ TextDecoder: false,
2621
+ TextDecoderStream: false,
2622
+ TextEncoder: false,
2623
+ TextEncoderStream: false,
2624
+ TransformStream: false,
2625
+ TransformStreamDefaultController: false,
2626
+ URL: false,
2627
+ URLSearchParams: false,
2628
+ WebAssembly: false,
2629
+ WebSocket: false,
2630
+ WritableStream: false,
2631
+ WritableStreamDefaultController: false,
2632
+ WritableStreamDefaultWriter: false
2633
+ },
2634
+ shelljs: {
2635
+ cat: false,
2636
+ cd: false,
2637
+ chmod: false,
2638
+ config: false,
2639
+ cp: false,
2640
+ dirs: false,
2641
+ echo: false,
2642
+ env: false,
2643
+ error: false,
2644
+ exec: false,
2645
+ exit: false,
2646
+ find: false,
2647
+ grep: false,
2648
+ head: false,
2649
+ ln: false,
2650
+ ls: false,
2651
+ mkdir: false,
2652
+ mv: false,
2653
+ popd: false,
2654
+ pushd: false,
2655
+ pwd: false,
2656
+ rm: false,
2657
+ sed: false,
2658
+ set: false,
2659
+ ShellString: false,
2660
+ sort: false,
2661
+ tail: false,
2662
+ tempdir: false,
2663
+ test: false,
2664
+ touch: false,
2665
+ uniq: false,
2666
+ which: false
2667
+ },
2668
+ vitest: {
2669
+ afterAll: false,
2670
+ afterEach: false,
2671
+ assert: false,
2672
+ assertType: false,
2673
+ beforeAll: false,
2674
+ beforeEach: false,
2675
+ chai: false,
2676
+ describe: false,
2677
+ expect: false,
2678
+ expectTypeOf: false,
2679
+ it: false,
2680
+ onTestFailed: false,
2681
+ onTestFinished: false,
2682
+ suite: false,
2683
+ test: false,
2684
+ vi: false,
2685
+ vitest: false
2686
+ },
2687
+ webextensions: {
2688
+ browser: false,
2689
+ chrome: false,
2690
+ opr: false
2691
+ },
2692
+ worker: {
2693
+ AbortController: false,
2694
+ AbortSignal: false,
2695
+ addEventListener: false,
2696
+ ai: false,
2697
+ atob: false,
2698
+ AudioData: false,
2699
+ AudioDecoder: false,
2700
+ AudioEncoder: false,
2701
+ BackgroundFetchManager: false,
2702
+ BackgroundFetchRecord: false,
2703
+ BackgroundFetchRegistration: false,
2704
+ BarcodeDetector: false,
2705
+ Blob: false,
2706
+ BroadcastChannel: false,
2707
+ btoa: false,
2708
+ ByteLengthQueuingStrategy: false,
2709
+ Cache: false,
2710
+ caches: false,
2711
+ CacheStorage: false,
2712
+ cancelAnimationFrame: false,
2713
+ CanvasGradient: false,
2714
+ CanvasPattern: false,
2715
+ clearInterval: false,
2716
+ clearTimeout: false,
2717
+ close: false,
2718
+ CloseEvent: false,
2719
+ CompressionStream: false,
2720
+ console: false,
2721
+ CountQueuingStrategy: false,
2722
+ createImageBitmap: false,
2723
+ CropTarget: false,
2724
+ crossOriginIsolated: false,
2725
+ crypto: false,
2726
+ Crypto: false,
2727
+ CryptoKey: false,
2728
+ CSSSkewX: false,
2729
+ CSSSkewY: false,
2730
+ CustomEvent: false,
2731
+ DecompressionStream: false,
2732
+ DedicatedWorkerGlobalScope: false,
2733
+ dispatchEvent: false,
2734
+ DOMException: false,
2735
+ DOMMatrix: false,
2736
+ DOMMatrixReadOnly: false,
2737
+ DOMPoint: false,
2738
+ DOMPointReadOnly: false,
2739
+ DOMQuad: false,
2740
+ DOMRect: false,
2741
+ DOMRectReadOnly: false,
2742
+ DOMStringList: false,
2743
+ EncodedAudioChunk: false,
2744
+ EncodedVideoChunk: false,
2745
+ ErrorEvent: false,
2746
+ Event: false,
2747
+ EventSource: false,
2748
+ EventTarget: false,
2749
+ fetch: false,
2750
+ File: false,
2751
+ FileList: false,
2752
+ FileReader: false,
2753
+ FileReaderSync: false,
2754
+ FileSystemDirectoryHandle: false,
2755
+ FileSystemFileHandle: false,
2756
+ FileSystemHandle: false,
2757
+ FileSystemSyncAccessHandle: false,
2758
+ FileSystemWritableFileStream: false,
2759
+ FontFace: false,
2760
+ fonts: false,
2761
+ FormData: false,
2762
+ GPU: false,
2763
+ GPUAdapter: false,
2764
+ GPUAdapterInfo: false,
2765
+ GPUBindGroup: false,
2766
+ GPUBindGroupLayout: false,
2767
+ GPUBuffer: false,
2768
+ GPUBufferUsage: false,
2769
+ GPUCanvasContext: false,
2770
+ GPUColorWrite: false,
2771
+ GPUCommandBuffer: false,
2772
+ GPUCommandEncoder: false,
2773
+ GPUCompilationInfo: false,
2774
+ GPUCompilationMessage: false,
2775
+ GPUComputePassEncoder: false,
2776
+ GPUComputePipeline: false,
2777
+ GPUDevice: false,
2778
+ GPUDeviceLostInfo: false,
2779
+ GPUError: false,
2780
+ GPUExternalTexture: false,
2781
+ GPUInternalError: false,
2782
+ GPUMapMode: false,
2783
+ GPUOutOfMemoryError: false,
2784
+ GPUPipelineError: false,
2785
+ GPUPipelineLayout: false,
2786
+ GPUQuerySet: false,
2787
+ GPUQueue: false,
2788
+ GPURenderBundle: false,
2789
+ GPURenderBundleEncoder: false,
2790
+ GPURenderPassEncoder: false,
2791
+ GPURenderPipeline: false,
2792
+ GPUSampler: false,
2793
+ GPUShaderModule: false,
2794
+ GPUShaderStage: false,
2795
+ GPUSupportedFeatures: false,
2796
+ GPUSupportedLimits: false,
2797
+ GPUTexture: false,
2798
+ GPUTextureUsage: false,
2799
+ GPUTextureView: false,
2800
+ GPUUncapturedErrorEvent: false,
2801
+ GPUValidationError: false,
2802
+ Headers: false,
2803
+ HID: false,
2804
+ HIDConnectionEvent: false,
2805
+ HIDDevice: false,
2806
+ HIDInputReportEvent: false,
2807
+ IDBCursor: false,
2808
+ IDBCursorWithValue: false,
2809
+ IDBDatabase: false,
2810
+ IDBFactory: false,
2811
+ IDBIndex: false,
2812
+ IDBKeyRange: false,
2813
+ IDBObjectStore: false,
2814
+ IDBOpenDBRequest: false,
2815
+ IDBRequest: false,
2816
+ IDBTransaction: false,
2817
+ IDBVersionChangeEvent: false,
2818
+ IdleDetector: false,
2819
+ ImageBitmap: false,
2820
+ ImageBitmapRenderingContext: false,
2821
+ ImageData: false,
2822
+ ImageDecoder: false,
2823
+ ImageTrack: false,
2824
+ ImageTrackList: false,
2825
+ importScripts: false,
2826
+ indexedDB: false,
2827
+ isSecureContext: false,
2828
+ location: false,
2829
+ Lock: false,
2830
+ LockManager: false,
2831
+ MediaCapabilities: false,
2832
+ MediaSource: false,
2833
+ MediaSourceHandle: false,
2834
+ MessageChannel: false,
2835
+ MessageEvent: false,
2836
+ MessagePort: false,
2837
+ name: false,
2838
+ NavigationPreloadManager: false,
2839
+ navigator: false,
2840
+ NavigatorUAData: false,
2841
+ NetworkInformation: false,
2842
+ Notification: false,
2843
+ OffscreenCanvas: false,
2844
+ OffscreenCanvasRenderingContext2D: false,
2845
+ onerror: true,
2846
+ onlanguagechange: true,
2847
+ onmessage: true,
2848
+ onmessageerror: true,
2849
+ onrejectionhandled: true,
2850
+ onunhandledrejection: true,
2851
+ origin: false,
2852
+ Path2D: false,
2853
+ performance: false,
2854
+ Performance: false,
2855
+ PerformanceEntry: false,
2856
+ PerformanceMark: false,
2857
+ PerformanceMeasure: false,
2858
+ PerformanceObserver: false,
2859
+ PerformanceObserverEntryList: false,
2860
+ PerformanceResourceTiming: false,
2861
+ PerformanceServerTiming: false,
2862
+ PeriodicSyncManager: false,
2863
+ Permissions: false,
2864
+ PermissionStatus: false,
2865
+ PERSISTENT: false,
2866
+ postMessage: false,
2867
+ PressureObserver: false,
2868
+ PressureRecord: false,
2869
+ ProgressEvent: false,
2870
+ PromiseRejectionEvent: false,
2871
+ PushManager: false,
2872
+ PushSubscription: false,
2873
+ PushSubscriptionOptions: false,
2874
+ queueMicrotask: false,
2875
+ ReadableByteStreamController: false,
2876
+ ReadableStream: false,
2877
+ ReadableStreamBYOBReader: false,
2878
+ ReadableStreamBYOBRequest: false,
2879
+ ReadableStreamDefaultController: false,
2880
+ ReadableStreamDefaultReader: false,
2881
+ removeEventListener: false,
2882
+ reportError: false,
2883
+ ReportingObserver: false,
2884
+ Request: false,
2885
+ requestAnimationFrame: false,
2886
+ Response: false,
2887
+ RTCDataChannel: false,
2888
+ RTCEncodedAudioFrame: false,
2889
+ RTCEncodedVideoFrame: false,
2890
+ scheduler: false,
2891
+ Scheduler: false,
2892
+ SecurityPolicyViolationEvent: false,
2893
+ self: false,
2894
+ Serial: false,
2895
+ SerialPort: false,
2896
+ ServiceWorkerRegistration: false,
2897
+ setInterval: false,
2898
+ setTimeout: false,
2899
+ SourceBuffer: false,
2900
+ SourceBufferList: false,
2901
+ StorageBucket: false,
2902
+ StorageBucketManager: false,
2903
+ StorageManager: false,
2904
+ structuredClone: false,
2905
+ SubtleCrypto: false,
2906
+ SyncManager: false,
2907
+ TaskController: false,
2908
+ TaskPriorityChangeEvent: false,
2909
+ TaskSignal: false,
2910
+ TEMPORARY: false,
2911
+ TextDecoder: false,
2912
+ TextDecoderStream: false,
2913
+ TextEncoder: false,
2914
+ TextEncoderStream: false,
2915
+ TextMetrics: false,
2916
+ TransformStream: false,
2917
+ TransformStreamDefaultController: false,
2918
+ TrustedHTML: false,
2919
+ TrustedScript: false,
2920
+ TrustedScriptURL: false,
2921
+ TrustedTypePolicy: false,
2922
+ TrustedTypePolicyFactory: false,
2923
+ trustedTypes: false,
2924
+ URL: false,
2925
+ URLPattern: false,
2926
+ URLSearchParams: false,
2927
+ USB: false,
2928
+ USBAlternateInterface: false,
2929
+ USBConfiguration: false,
2930
+ USBConnectionEvent: false,
2931
+ USBDevice: false,
2932
+ USBEndpoint: false,
2933
+ USBInterface: false,
2934
+ USBInTransferResult: false,
2935
+ USBIsochronousInTransferPacket: false,
2936
+ USBIsochronousInTransferResult: false,
2937
+ USBIsochronousOutTransferPacket: false,
2938
+ USBIsochronousOutTransferResult: false,
2939
+ USBOutTransferResult: false,
2940
+ UserActivation: false,
2941
+ VideoColorSpace: false,
2942
+ VideoDecoder: false,
2943
+ VideoEncoder: false,
2944
+ VideoFrame: false,
2945
+ WebAssembly: false,
2946
+ WebGL2RenderingContext: false,
2947
+ WebGLActiveInfo: false,
2948
+ WebGLBuffer: false,
2949
+ WebGLContextEvent: false,
2950
+ WebGLFramebuffer: false,
2951
+ WebGLObject: false,
2952
+ WebGLProgram: false,
2953
+ WebGLQuery: false,
2954
+ WebGLRenderbuffer: false,
2955
+ WebGLRenderingContext: false,
2956
+ WebGLSampler: false,
2957
+ WebGLShader: false,
2958
+ WebGLShaderPrecisionFormat: false,
2959
+ WebGLSync: false,
2960
+ WebGLTexture: false,
2961
+ WebGLTransformFeedback: false,
2962
+ WebGLUniformLocation: false,
2963
+ WebGLVertexArrayObject: false,
2964
+ webkitRequestFileSystem: false,
2965
+ webkitRequestFileSystemSync: false,
2966
+ webkitResolveLocalFileSystemSyncURL: false,
2967
+ webkitResolveLocalFileSystemURL: false,
2968
+ WebSocket: false,
2969
+ WebSocketError: false,
2970
+ WebSocketStream: false,
2971
+ WebTransport: false,
2972
+ WebTransportBidirectionalStream: false,
2973
+ WebTransportDatagramDuplexStream: false,
2974
+ WebTransportError: false,
2975
+ WGSLLanguageFeatures: false,
2976
+ Worker: false,
2977
+ WorkerGlobalScope: false,
2978
+ WorkerLocation: false,
2979
+ WorkerNavigator: false,
2980
+ WritableStream: false,
2981
+ WritableStreamDefaultController: false,
2982
+ WritableStreamDefaultWriter: false,
2983
+ XMLHttpRequest: false,
2984
+ XMLHttpRequestEventTarget: false,
2985
+ XMLHttpRequestUpload: false
2986
+ },
2987
+ wsh: {
2988
+ ActiveXObject: false,
2989
+ CollectGarbage: false,
2990
+ Debug: false,
2991
+ Enumerator: false,
2992
+ GetObject: false,
2993
+ RuntimeObject: false,
2994
+ ScriptEngine: false,
2995
+ ScriptEngineBuildVersion: false,
2996
+ ScriptEngineMajorVersion: false,
2997
+ ScriptEngineMinorVersion: false,
2998
+ VBArray: false,
2999
+ WScript: false,
3000
+ WSH: false
3001
+ },
3002
+ yui: {
3003
+ YAHOO: false,
3004
+ YAHOO_config: false,
3005
+ YUI: false,
3006
+ YUI_config: false
747
3007
  }
748
3008
  };
749
- function maybeReportChunkSorting(chunk, context) {
750
- const sourceCode = shared.getSourceCode(context);
751
- const items = shared.getImportExportItems(
752
- chunk,
753
- sourceCode,
754
- () => false,
755
- // isSideEffectImport
756
- getSpecifiers
757
- );
758
- const sortedItems = [[shared.sortImportExportItems(items)]];
759
- const sorted = shared.printSortedItems(sortedItems, items, sourceCode);
760
- const { start } = items[0];
761
- const { end } = items[items.length - 1];
762
- shared.maybeReportSorting(context, sorted, start, end);
763
- }
764
- function maybeReportExportSpecifierSorting(node, context) {
765
- const sorted = shared.printWithSortedSpecifiers(
766
- node,
767
- shared.getSourceCode(context),
768
- getSpecifiers
769
- );
770
- const [start, end] = node.range;
771
- shared.maybeReportSorting(context, sorted, start, end);
772
- }
773
- function getSpecifiers(exportNode) {
774
- return exportNode.specifiers || [];
775
- }
776
- function isPartOfChunk(node, lastNode, sourceCode) {
777
- if (!isExportFrom(node)) {
778
- return "NotPartOfChunk";
779
- }
780
- const hasGroupingComment = sourceCode.getCommentsBefore(node).some(
781
- (comment) => (lastNode == null || comment.loc.start.line > lastNode.loc.end.line) && comment.loc.end.line < node.loc.start.line
782
- );
783
- return hasGroupingComment ? "PartOfNewChunk" : "PartOfChunk";
784
- }
785
- function isExportFrom(node) {
786
- return (node.type === "ExportNamedDeclaration" || node.type === "ExportAllDeclaration") && node.source != null;
787
- }
788
3009
  }
789
3010
  });
790
3011
 
791
- // node_modules/.pnpm/eslint-plugin-simple-import-sort@12.1.1_eslint@9.25.1_jiti@2.4.2_/node_modules/eslint-plugin-simple-import-sort/index.js
792
- var require_eslint_plugin_simple_import_sort = __commonJS({
793
- "node_modules/.pnpm/eslint-plugin-simple-import-sort@12.1.1_eslint@9.25.1_jiti@2.4.2_/node_modules/eslint-plugin-simple-import-sort/index.js"(exports, module) {
3012
+ // node_modules/.pnpm/globals@15.15.0/node_modules/globals/index.js
3013
+ var require_globals2 = __commonJS({
3014
+ "node_modules/.pnpm/globals@15.15.0/node_modules/globals/index.js"(exports, module) {
794
3015
  "use strict";
795
3016
  init_esm_shims();
796
- var importsRule = require_imports();
797
- var exportsRule = require_exports();
798
- module.exports = {
799
- meta: {
800
- name: "eslint-plugin-simple-import-sort",
801
- version: "12.1.1"
802
- },
803
- rules: {
804
- imports: importsRule,
805
- exports: exportsRule
806
- }
807
- };
3017
+ module.exports = require_globals();
808
3018
  }
809
3019
  });
810
3020
 
@@ -880,38 +3090,184 @@ var GLOB_EXCLUDE = [
880
3090
  "**/roblox.yml"
881
3091
  ];
882
3092
 
883
- // src/plugins.ts
3093
+ // src/utils.ts
884
3094
  init_esm_shims();
885
- var import_eslint_plugin_simple_import_sort = __toESM(require_eslint_plugin_simple_import_sort(), 1);
886
- import { default as default2 } from "@cspell/eslint-plugin";
887
- import { default as default3 } from "@eslint-community/eslint-plugin-eslint-comments";
888
- import { default as default4 } from "@shopify/eslint-plugin";
889
- import { default as default5 } from "eslint-config-prettier/flat";
890
- import { default as default6 } from "eslint-plugin-antfu";
891
- import { default as default7 } from "eslint-plugin-arrow-return-style";
892
- import { default as default8 } from "eslint-plugin-better-max-params";
893
- import { default as default9 } from "eslint-plugin-comment-length";
894
- import { default as default10 } from "eslint-plugin-de-morgan";
895
- import { default as default11 } from "eslint-plugin-format";
896
- import { default as default12 } from "eslint-plugin-format-lua";
897
- import { default as default13 } from "eslint-plugin-import-x";
898
- import * as pluginPackageJson from "eslint-plugin-package-json";
899
- import { default as default14 } from "eslint-plugin-perfectionist";
900
- import { default as default15 } from "eslint-plugin-promise";
901
- import { default as default16 } from "eslint-plugin-sentinel";
902
- import { default as default18 } from "eslint-plugin-sonarjs";
903
- import { default as default19 } from "eslint-plugin-unicorn";
904
- import { default as default20 } from "isentinel-eslint-plugin-roblox-ts";
3095
+ import { isPackageExists } from "local-pkg";
3096
+ import fs from "node:fs";
3097
+ import path from "node:path";
3098
+ import process from "node:process";
3099
+ var parserPlain = {
3100
+ meta: {
3101
+ name: "parser-plain"
3102
+ },
3103
+ parseForESLint: (code) => {
3104
+ return {
3105
+ ast: {
3106
+ body: [],
3107
+ comments: [],
3108
+ loc: { end: code.length, start: 0 },
3109
+ range: [0, code.length],
3110
+ tokens: [],
3111
+ type: "Program"
3112
+ },
3113
+ scopeManager: null,
3114
+ services: { isPlain: true },
3115
+ visitorKeys: {
3116
+ Program: []
3117
+ }
3118
+ };
3119
+ }
3120
+ };
3121
+ async function combine(...configs) {
3122
+ const resolved = await Promise.all(configs);
3123
+ return resolved.flat();
3124
+ }
3125
+ function createTsParser(options) {
3126
+ const {
3127
+ componentExtensions = [],
3128
+ configName,
3129
+ files,
3130
+ ignores: ignores2,
3131
+ parser,
3132
+ parserOptions = {},
3133
+ tsconfigPath,
3134
+ typeAware
3135
+ } = options;
3136
+ return {
3137
+ files,
3138
+ ignores: ignores2 ?? [],
3139
+ languageOptions: {
3140
+ parser,
3141
+ parserOptions: {
3142
+ ecmaVersion: 2018,
3143
+ extraFileExtensions: componentExtensions.map((extension) => `.${extension}`),
3144
+ sourceType: "module",
3145
+ useJSXTextNode: true,
3146
+ ...typeAware ? {
3147
+ projectService: {
3148
+ allowDefaultProject: ["*.js", "*.ts"],
3149
+ defaultProject: tsconfigPath
3150
+ },
3151
+ tsconfigRootDir: process.cwd()
3152
+ } : {},
3153
+ ...parserOptions
3154
+ }
3155
+ },
3156
+ name: `style/${configName}/${typeAware ? "type-aware-parser" : "parser"}`
3157
+ };
3158
+ }
3159
+ async function ensurePackages(packages) {
3160
+ if (process.env.CI || process.stdout.isTTY === false) {
3161
+ return;
3162
+ }
3163
+ const nonExistingPackages = packages.filter(
3164
+ (index) => index && !isPackageExists(index)
3165
+ );
3166
+ if (nonExistingPackages.length === 0) {
3167
+ return;
3168
+ }
3169
+ const prompts = await import("@clack/prompts");
3170
+ const result = await prompts.confirm({
3171
+ message: `${nonExistingPackages.length === 1 ? "Package is" : "Packages are"} required for this config: ${nonExistingPackages.join(", ")}. Do you want to install them?`
3172
+ });
3173
+ if (result) {
3174
+ await import("@antfu/install-pkg").then(
3175
+ (index) => index.installPackage(nonExistingPackages, { dev: true })
3176
+ );
3177
+ }
3178
+ }
3179
+ function getOverrides(options, key) {
3180
+ const sub = resolveSubOptions(options, key);
3181
+ return {
3182
+ ..."overrides" in sub ? sub.overrides : {}
3183
+ };
3184
+ }
3185
+ function getTsConfig(tsconfigPath) {
3186
+ if (tsconfigPath !== void 0) {
3187
+ return tsconfigPath;
3188
+ }
3189
+ const rootTsConfig = path.join(process.cwd(), "tsconfig.json");
3190
+ if (fs.existsSync(rootTsConfig)) {
3191
+ return rootTsConfig;
3192
+ }
3193
+ return void 0;
3194
+ }
3195
+ async function interopDefault(dynamicImport) {
3196
+ const resolved = await dynamicImport;
3197
+ return resolved.default || resolved;
3198
+ }
3199
+ function isInEditorEnvironment() {
3200
+ if (process.env.CI) {
3201
+ return false;
3202
+ }
3203
+ if (isInGitHooksOrLintStaged()) {
3204
+ return false;
3205
+ }
3206
+ return [
3207
+ process.env.VSCODE_PID,
3208
+ process.env.VSCODE_CWD,
3209
+ process.env.JETBRAINS_IDE,
3210
+ process.env.VIM,
3211
+ process.env.NVIM
3212
+ ].some(Boolean);
3213
+ }
3214
+ function isInGitHooksOrLintStaged() {
3215
+ return [
3216
+ process.env.GIT_PARAMS || process.env.VSCODE_GIT_COMMAND || process.env.npm_lifecycle_script?.startsWith("lint-staged")
3217
+ ].some(Boolean);
3218
+ }
3219
+ function renamePluginInConfigs(configs, map) {
3220
+ return configs.map((index) => {
3221
+ const clone = { ...index };
3222
+ if (clone.rules) {
3223
+ clone.rules = renameRules(clone.rules, map);
3224
+ }
3225
+ if (clone.plugins) {
3226
+ clone.plugins = Object.fromEntries(
3227
+ Object.entries(clone.plugins).map(([key, value]) => {
3228
+ if (key in map) {
3229
+ return [map[key], value];
3230
+ }
3231
+ return [key, value];
3232
+ })
3233
+ );
3234
+ }
3235
+ return clone;
3236
+ });
3237
+ }
3238
+ function renameRules(rules, map) {
3239
+ return Object.fromEntries(
3240
+ Object.entries(rules).map(([key, value]) => {
3241
+ for (const [from, to] of Object.entries(map)) {
3242
+ if (key.startsWith(`${from}/`)) {
3243
+ return [to + key.slice(from.length), value];
3244
+ }
3245
+ }
3246
+ return [key, value];
3247
+ })
3248
+ );
3249
+ }
3250
+ function resolveSubOptions(options, key) {
3251
+ return typeof options[key] === "boolean" ? {} : options[key] || {};
3252
+ }
3253
+ function toArray(value) {
3254
+ return Array.isArray(value) ? value : [value];
3255
+ }
905
3256
 
906
3257
  // src/configs/comments.ts
907
3258
  async function comments(options = {}) {
908
3259
  const { stylistic: stylistic2 = true } = options;
3260
+ const [pluginCommentLength, pluginComments] = await Promise.all([
3261
+ interopDefault(import("eslint-plugin-comment-length")),
3262
+ // @ts-expect-error -- No types
3263
+ interopDefault(import("@eslint-community/eslint-plugin-eslint-comments"))
3264
+ ]);
909
3265
  return [
910
3266
  {
911
3267
  name: "style/eslint/comments",
912
3268
  plugins: {
913
- "comment-length": default9,
914
- "eslint-comments": default3
3269
+ "comment-length": pluginCommentLength,
3270
+ "eslint-comments": pluginComments
915
3271
  },
916
3272
  rules: {
917
3273
  // We cover these with prettier
@@ -1014,126 +3370,6 @@ init_esm_shims();
1014
3370
 
1015
3371
  // src/configs/stylistic.ts
1016
3372
  init_esm_shims();
1017
-
1018
- // src/utils.ts
1019
- init_esm_shims();
1020
- import { isPackageExists } from "local-pkg";
1021
- import process from "node:process";
1022
- var parserPlain = {
1023
- meta: {
1024
- name: "parser-plain"
1025
- },
1026
- parseForESLint: (code) => {
1027
- return {
1028
- ast: {
1029
- body: [],
1030
- comments: [],
1031
- loc: { end: code.length, start: 0 },
1032
- range: [0, code.length],
1033
- tokens: [],
1034
- type: "Program"
1035
- },
1036
- scopeManager: null,
1037
- services: { isPlain: true },
1038
- visitorKeys: {
1039
- Program: []
1040
- }
1041
- };
1042
- }
1043
- };
1044
- async function combine(...configs) {
1045
- const resolved = await Promise.all(configs);
1046
- return resolved.flat();
1047
- }
1048
- async function ensurePackages(packages) {
1049
- if (process.env.CI || process.stdout.isTTY === false) {
1050
- return;
1051
- }
1052
- const nonExistingPackages = packages.filter(
1053
- (index) => index && !isPackageExists(index)
1054
- );
1055
- if (nonExistingPackages.length === 0) {
1056
- return;
1057
- }
1058
- const prompts = await import("@clack/prompts");
1059
- const result = await prompts.confirm({
1060
- message: `${nonExistingPackages.length === 1 ? "Package is" : "Packages are"} required for this config: ${nonExistingPackages.join(", ")}. Do you want to install them?`
1061
- });
1062
- if (result) {
1063
- await import("@antfu/install-pkg").then(
1064
- (index) => index.installPackage(nonExistingPackages, { dev: true })
1065
- );
1066
- }
1067
- }
1068
- function getOverrides(options, key) {
1069
- const sub = resolveSubOptions(options, key);
1070
- return {
1071
- ..."overrides" in sub ? sub.overrides : {}
1072
- };
1073
- }
1074
- async function interopDefault(dynamicImport) {
1075
- const resolved = await dynamicImport;
1076
- return resolved.default || resolved;
1077
- }
1078
- function isInEditorEnvironment() {
1079
- if (process.env.CI) {
1080
- return false;
1081
- }
1082
- if (isInGitHooksOrLintStaged()) {
1083
- return false;
1084
- }
1085
- return [
1086
- process.env.VSCODE_PID,
1087
- process.env.VSCODE_CWD,
1088
- process.env.JETBRAINS_IDE,
1089
- process.env.VIM,
1090
- process.env.NVIM
1091
- ].some(Boolean);
1092
- }
1093
- function isInGitHooksOrLintStaged() {
1094
- return [
1095
- process.env.GIT_PARAMS || process.env.VSCODE_GIT_COMMAND || process.env.npm_lifecycle_script?.startsWith("lint-staged")
1096
- ].some(Boolean);
1097
- }
1098
- function renamePluginInConfigs(configs, map) {
1099
- return configs.map((index) => {
1100
- const clone = { ...index };
1101
- if (clone.rules) {
1102
- clone.rules = renameRules(clone.rules, map);
1103
- }
1104
- if (clone.plugins) {
1105
- clone.plugins = Object.fromEntries(
1106
- Object.entries(clone.plugins).map(([key, value]) => {
1107
- if (key in map) {
1108
- return [map[key], value];
1109
- }
1110
- return [key, value];
1111
- })
1112
- );
1113
- }
1114
- return clone;
1115
- });
1116
- }
1117
- function renameRules(rules, map) {
1118
- return Object.fromEntries(
1119
- Object.entries(rules).map(([key, value]) => {
1120
- for (const [from, to] of Object.entries(map)) {
1121
- if (key.startsWith(`${from}/`)) {
1122
- return [to + key.slice(from.length), value];
1123
- }
1124
- }
1125
- return [key, value];
1126
- })
1127
- );
1128
- }
1129
- function resolveSubOptions(options, key) {
1130
- return typeof options[key] === "boolean" ? {} : options[key] || {};
1131
- }
1132
- function toArray(value) {
1133
- return Array.isArray(value) ? value : [value];
1134
- }
1135
-
1136
- // src/configs/stylistic.ts
1137
3373
  var StylisticConfigDefaults = {
1138
3374
  indent: "tab",
1139
3375
  jsx: true,
@@ -1145,7 +3381,11 @@ async function stylistic(options = {}) {
1145
3381
  ...StylisticConfigDefaults,
1146
3382
  ...options
1147
3383
  };
1148
- const pluginStylistic = await interopDefault(import("@stylistic/eslint-plugin"));
3384
+ const [pluginArrowReturnStyle, pluginStylistic, pluginAntfu] = await Promise.all([
3385
+ interopDefault(import("eslint-plugin-arrow-return-style")),
3386
+ interopDefault(import("@stylistic/eslint-plugin")),
3387
+ interopDefault(import("eslint-plugin-antfu"))
3388
+ ]);
1149
3389
  const config = pluginStylistic.configs.customize({
1150
3390
  indent,
1151
3391
  jsx: jsx2,
@@ -1157,8 +3397,8 @@ async function stylistic(options = {}) {
1157
3397
  {
1158
3398
  name: "style/stylistic",
1159
3399
  plugins: {
1160
- "antfu": default6,
1161
- "arrow-style": default7,
3400
+ "antfu": pluginAntfu,
3401
+ "arrow-style": pluginArrowReturnStyle,
1162
3402
  "style": pluginStylistic
1163
3403
  },
1164
3404
  rules: {
@@ -1252,11 +3492,12 @@ async function formatters(options = {}, stylistic2 = {}, markdownEnabled = true)
1252
3492
  },
1253
3493
  formattingOptions.dprintOptions ?? {}
1254
3494
  );
3495
+ const pluginFormat = await interopDefault(import("eslint-plugin-format"));
1255
3496
  const configs = [
1256
3497
  {
1257
3498
  name: "style/formatters/setup",
1258
3499
  plugins: {
1259
- format: default11
3500
+ format: pluginFormat
1260
3501
  }
1261
3502
  }
1262
3503
  ];
@@ -1265,7 +3506,7 @@ async function formatters(options = {}, stylistic2 = {}, markdownEnabled = true)
1265
3506
  {
1266
3507
  files: [GLOB_CSS, GLOB_POSTCSS],
1267
3508
  languageOptions: {
1268
- parser: default11.parserPlain
3509
+ parser: pluginFormat.parserPlain
1269
3510
  },
1270
3511
  name: "style/formatter/css",
1271
3512
  rules: {
@@ -1281,7 +3522,7 @@ async function formatters(options = {}, stylistic2 = {}, markdownEnabled = true)
1281
3522
  {
1282
3523
  files: [GLOB_SCSS],
1283
3524
  languageOptions: {
1284
- parser: default11.parserPlain
3525
+ parser: pluginFormat.parserPlain
1285
3526
  },
1286
3527
  name: "style/formatter/scss",
1287
3528
  rules: {
@@ -1297,7 +3538,7 @@ async function formatters(options = {}, stylistic2 = {}, markdownEnabled = true)
1297
3538
  {
1298
3539
  files: [GLOB_LESS],
1299
3540
  languageOptions: {
1300
- parser: default11.parserPlain
3541
+ parser: pluginFormat.parserPlain
1301
3542
  },
1302
3543
  name: "style/formatter/less",
1303
3544
  rules: {
@@ -1316,7 +3557,7 @@ async function formatters(options = {}, stylistic2 = {}, markdownEnabled = true)
1316
3557
  configs.push({
1317
3558
  files: ["**/*.html"],
1318
3559
  languageOptions: {
1319
- parser: default11.parserPlain
3560
+ parser: pluginFormat.parserPlain
1320
3561
  },
1321
3562
  name: "style/formatter/html",
1322
3563
  rules: {
@@ -1335,7 +3576,7 @@ async function formatters(options = {}, stylistic2 = {}, markdownEnabled = true)
1335
3576
  configs.push({
1336
3577
  files: markdownEnabled ? ["**/*.__markdown_content__"] : [GLOB_MARKDOWN],
1337
3578
  languageOptions: {
1338
- parser: default11.parserPlain
3579
+ parser: pluginFormat.parserPlain
1339
3580
  },
1340
3581
  name: "style/formatter/markdown",
1341
3582
  rules: {
@@ -1357,7 +3598,7 @@ async function formatters(options = {}, stylistic2 = {}, markdownEnabled = true)
1357
3598
  configs.push({
1358
3599
  files: ["**/*.graphql"],
1359
3600
  languageOptions: {
1360
- parser: default11.parserPlain
3601
+ parser: pluginFormat.parserPlain
1361
3602
  },
1362
3603
  name: "style/formatter/graphql",
1363
3604
  rules: {
@@ -1379,7 +3620,7 @@ init_esm_shims();
1379
3620
  async function ignores() {
1380
3621
  return [
1381
3622
  {
1382
- ignores: [...GLOB_EXCLUDE, GLOB_JS],
3623
+ ignores: [...GLOB_EXCLUDE],
1383
3624
  name: "style/ignores"
1384
3625
  }
1385
3626
  ];
@@ -1389,12 +3630,17 @@ async function ignores() {
1389
3630
  init_esm_shims();
1390
3631
  async function imports(options = {}) {
1391
3632
  const { stylistic: stylistic2 = true, type = "game" } = options;
3633
+ const [pluginImport, pluginSimpleImportSort, pluginAntfu] = await Promise.all([
3634
+ interopDefault(import("eslint-plugin-import-x")),
3635
+ interopDefault(import("./eslint-plugin-simple-import-sort-FWMVSWU4.js")),
3636
+ interopDefault(import("eslint-plugin-antfu"))
3637
+ ]);
1392
3638
  return [
1393
3639
  {
1394
3640
  name: "style/imports",
1395
3641
  plugins: {
1396
- antfu: default6,
1397
- import: default13
3642
+ antfu: pluginAntfu,
3643
+ import: pluginImport
1398
3644
  },
1399
3645
  rules: {
1400
3646
  "antfu/import-dedupe": "error",
@@ -1424,7 +3670,7 @@ async function imports(options = {}) {
1424
3670
  },
1425
3671
  name: "style/import-sort",
1426
3672
  plugins: {
1427
- "simple-import-sort": import_eslint_plugin_simple_import_sort.default
3673
+ "simple-import-sort": pluginSimpleImportSort
1428
3674
  },
1429
3675
  rules: {
1430
3676
  "simple-import-sort/exports": "error",
@@ -1454,6 +3700,226 @@ async function imports(options = {}) {
1454
3700
  ];
1455
3701
  }
1456
3702
 
3703
+ // src/configs/javascript.ts
3704
+ init_esm_shims();
3705
+ var import_globals = __toESM(require_globals2(), 1);
3706
+ async function javascript(options = {}) {
3707
+ const { isInEditor = false, overrides = {} } = options;
3708
+ const [pluginAntfu] = await Promise.all([
3709
+ interopDefault(import("eslint-plugin-antfu"))
3710
+ ]);
3711
+ return [
3712
+ {
3713
+ languageOptions: {
3714
+ ecmaVersion: 2022,
3715
+ globals: {
3716
+ ...import_globals.default.browser,
3717
+ ...import_globals.default.es2021,
3718
+ ...import_globals.default.node,
3719
+ document: "readonly",
3720
+ navigator: "readonly",
3721
+ window: "readonly"
3722
+ },
3723
+ parserOptions: {
3724
+ ecmaFeatures: {
3725
+ jsx: true
3726
+ },
3727
+ ecmaVersion: 2022,
3728
+ sourceType: "module"
3729
+ },
3730
+ sourceType: "module"
3731
+ },
3732
+ linterOptions: {
3733
+ reportUnusedDisableDirectives: true
3734
+ },
3735
+ name: "style/javascript/setup"
3736
+ },
3737
+ {
3738
+ name: "style/javascript/rules",
3739
+ plugins: {
3740
+ antfu: pluginAntfu
3741
+ },
3742
+ rules: {
3743
+ "accessor-pairs": ["error", { enforceForClassMembers: true, setWithoutGet: true }],
3744
+ "antfu/no-top-level-await": "error",
3745
+ "array-callback-return": "error",
3746
+ "block-scoped-var": "error",
3747
+ "constructor-super": "error",
3748
+ "default-case-last": "error",
3749
+ "dot-notation": ["error", { allowKeywords: true }],
3750
+ "eqeqeq": ["error", "smart"],
3751
+ // eslint-disable-next-line unicorn/no-keyword-prefix -- External
3752
+ "new-cap": ["error", { capIsNew: false, newIsCap: true, properties: true }],
3753
+ "no-alert": "error",
3754
+ "no-array-constructor": "error",
3755
+ "no-async-promise-executor": "error",
3756
+ "no-caller": "error",
3757
+ "no-case-declarations": "error",
3758
+ "no-class-assign": "error",
3759
+ "no-compare-neg-zero": "error",
3760
+ "no-cond-assign": ["error", "always"],
3761
+ "no-console": ["error", { allow: ["warn", "error"] }],
3762
+ "no-const-assign": "error",
3763
+ "no-control-regex": "error",
3764
+ "no-debugger": "error",
3765
+ "no-delete-var": "error",
3766
+ "no-dupe-args": "error",
3767
+ "no-dupe-class-members": "error",
3768
+ "no-dupe-keys": "error",
3769
+ "no-duplicate-case": "error",
3770
+ "no-empty": ["error", { allowEmptyCatch: true }],
3771
+ "no-empty-character-class": "error",
3772
+ "no-empty-pattern": "error",
3773
+ "no-eval": "error",
3774
+ "no-ex-assign": "error",
3775
+ "no-extend-native": "error",
3776
+ "no-extra-bind": "error",
3777
+ "no-extra-boolean-cast": "error",
3778
+ "no-fallthrough": "error",
3779
+ "no-func-assign": "error",
3780
+ "no-global-assign": "error",
3781
+ "no-implied-eval": "error",
3782
+ "no-import-assign": "error",
3783
+ "no-invalid-regexp": "error",
3784
+ "no-irregular-whitespace": "error",
3785
+ "no-iterator": "error",
3786
+ "no-labels": ["error", { allowLoop: false, allowSwitch: false }],
3787
+ "no-lone-blocks": "error",
3788
+ "no-loss-of-precision": "error",
3789
+ "no-misleading-character-class": "error",
3790
+ "no-multi-str": "error",
3791
+ "no-new": "error",
3792
+ "no-new-func": "error",
3793
+ "no-new-native-nonconstructor": "error",
3794
+ "no-new-wrappers": "error",
3795
+ "no-obj-calls": "error",
3796
+ "no-octal": "error",
3797
+ "no-octal-escape": "error",
3798
+ "no-proto": "error",
3799
+ "no-prototype-builtins": "error",
3800
+ "no-redeclare": ["error", { builtinGlobals: false }],
3801
+ "no-regex-spaces": "error",
3802
+ "no-restricted-globals": [
3803
+ "error",
3804
+ { message: "Use `globalThis` instead.", name: "global" },
3805
+ { message: "Use `globalThis` instead.", name: "self" }
3806
+ ],
3807
+ "no-restricted-properties": [
3808
+ "error",
3809
+ {
3810
+ message: "Use `Object.getPrototypeOf` or `Object.setPrototypeOf` instead.",
3811
+ property: "__proto__"
3812
+ },
3813
+ {
3814
+ message: "Use `Object.defineProperty` instead.",
3815
+ property: "__defineGetter__"
3816
+ },
3817
+ {
3818
+ message: "Use `Object.defineProperty` instead.",
3819
+ property: "__defineSetter__"
3820
+ },
3821
+ {
3822
+ message: "Use `Object.getOwnPropertyDescriptor` instead.",
3823
+ property: "__lookupGetter__"
3824
+ },
3825
+ {
3826
+ message: "Use `Object.getOwnPropertyDescriptor` instead.",
3827
+ property: "__lookupSetter__"
3828
+ }
3829
+ ],
3830
+ "no-restricted-syntax": [
3831
+ "error",
3832
+ "TSEnumDeclaration[const=true]",
3833
+ "TSExportAssignment"
3834
+ ],
3835
+ "no-self-assign": ["error", { props: true }],
3836
+ "no-self-compare": "error",
3837
+ "no-sequences": "error",
3838
+ "no-shadow-restricted-names": "error",
3839
+ "no-sparse-arrays": "error",
3840
+ "no-template-curly-in-string": "error",
3841
+ "no-this-before-super": "error",
3842
+ "no-throw-literal": "error",
3843
+ "no-undef": "error",
3844
+ "no-undef-init": "error",
3845
+ "no-unexpected-multiline": "error",
3846
+ "no-unmodified-loop-condition": "error",
3847
+ "no-unneeded-ternary": ["error", { defaultAssignment: false }],
3848
+ "no-unreachable": "error",
3849
+ "no-unreachable-loop": "error",
3850
+ "no-unsafe-finally": "error",
3851
+ "no-unsafe-negation": "error",
3852
+ "no-unused-expressions": [
3853
+ "error",
3854
+ {
3855
+ allowShortCircuit: true,
3856
+ allowTaggedTemplates: true,
3857
+ allowTernary: true
3858
+ }
3859
+ ],
3860
+ "no-unused-vars": [
3861
+ "error",
3862
+ {
3863
+ args: "none",
3864
+ caughtErrors: "none",
3865
+ ignoreRestSiblings: true,
3866
+ vars: "all"
3867
+ }
3868
+ ],
3869
+ "no-use-before-define": [
3870
+ "error",
3871
+ { classes: false, functions: false, variables: true }
3872
+ ],
3873
+ "no-useless-backreference": "error",
3874
+ "no-useless-call": "error",
3875
+ "no-useless-catch": "error",
3876
+ "no-useless-computed-key": "error",
3877
+ "no-useless-constructor": "error",
3878
+ "no-useless-rename": "error",
3879
+ "no-useless-return": "error",
3880
+ "no-var": "error",
3881
+ "no-with": "error",
3882
+ "object-shorthand": [
3883
+ "error",
3884
+ "always",
3885
+ {
3886
+ avoidQuotes: true,
3887
+ ignoreConstructors: false
3888
+ }
3889
+ ],
3890
+ "one-var": ["error", { initialized: "never" }],
3891
+ "prefer-arrow-callback": [
3892
+ "error",
3893
+ {
3894
+ allowNamedFunctions: false,
3895
+ allowUnboundThis: true
3896
+ }
3897
+ ],
3898
+ "prefer-const": [
3899
+ isInEditor ? "warn" : "error",
3900
+ {
3901
+ destructuring: "all",
3902
+ ignoreReadBeforeAssign: true
3903
+ }
3904
+ ],
3905
+ "prefer-exponentiation-operator": "error",
3906
+ "prefer-promise-reject-errors": "error",
3907
+ "prefer-regex-literals": ["error", { disallowRedundantWrapping: true }],
3908
+ "prefer-rest-params": "error",
3909
+ "prefer-spread": "error",
3910
+ "prefer-template": "error",
3911
+ "symbol-description": "error",
3912
+ "unicode-bom": ["error", "never"],
3913
+ "use-isnan": ["error", { enforceForIndexOf: true, enforceForSwitchCase: true }],
3914
+ "valid-typeof": ["error", { requireStringLiterals: true }],
3915
+ "vars-on-top": "error",
3916
+ "yoda": ["error", "never"],
3917
+ ...overrides
3918
+ }
3919
+ }
3920
+ ];
3921
+ }
3922
+
1457
3923
  // src/configs/jsdoc.ts
1458
3924
  init_esm_shims();
1459
3925
  async function jsdoc(options = {}) {
@@ -1672,11 +4138,15 @@ async function markdown(options = {}) {
1672
4138
  init_esm_shims();
1673
4139
  async function packageJson(options = {}) {
1674
4140
  const { type = "game" } = options;
4141
+ const [jsoncEslintParser, pluginPackageJson] = await Promise.all([
4142
+ interopDefault(import("jsonc-eslint-parser")),
4143
+ interopDefault(import("eslint-plugin-package-json"))
4144
+ ]);
1675
4145
  return [
1676
4146
  {
1677
4147
  files: ["**/package.json"],
1678
4148
  languageOptions: {
1679
- parser: await interopDefault(import("jsonc-eslint-parser"))
4149
+ parser: jsoncEslintParser
1680
4150
  },
1681
4151
  name: "style/package-json",
1682
4152
  plugins: {
@@ -1737,11 +4207,12 @@ async function perfectionist(config) {
1737
4207
  createUnsortedMethod("protected"),
1738
4208
  createUnsortedMethod("public")
1739
4209
  );
4210
+ const pluginPerfectionist = await interopDefault(import("eslint-plugin-perfectionist"));
1740
4211
  return [
1741
4212
  {
1742
4213
  name: "style/perfectionist",
1743
4214
  plugins: {
1744
- perfectionist: default14
4215
+ perfectionist: pluginPerfectionist
1745
4216
  },
1746
4217
  rules: {
1747
4218
  "perfectionist/sort-array-includes": ["error", { type: "natural" }],
@@ -1886,6 +4357,10 @@ async function prettier(options) {
1886
4357
  GLOB_SRC,
1887
4358
  ...componentExtensions.map((extension) => `**/*.${extension}`)
1888
4359
  ];
4360
+ const [configPrettier, pluginFormat] = await Promise.all([
4361
+ interopDefault(import("eslint-config-prettier/flat")),
4362
+ interopDefault(import("eslint-plugin-format"))
4363
+ ]);
1889
4364
  const defaultPrettierOptions = {
1890
4365
  arrowParens: "avoid",
1891
4366
  jsdocPreferCodeFences: true,
@@ -1902,7 +4377,7 @@ async function prettier(options) {
1902
4377
  ...prettierOptions
1903
4378
  };
1904
4379
  const rulesToIgnore = ["curly", "style/quotes"];
1905
- const rules = renameRules(default5.rules, defaultPluginRenaming);
4380
+ const rules = renameRules(configPrettier.rules, defaultPluginRenaming);
1906
4381
  for (const rule of rulesToIgnore) {
1907
4382
  delete rules[rule];
1908
4383
  }
@@ -1911,7 +4386,7 @@ async function prettier(options) {
1911
4386
  files,
1912
4387
  name: "style/prettier",
1913
4388
  plugins: {
1914
- format: default11
4389
+ format: pluginFormat
1915
4390
  },
1916
4391
  rules: {
1917
4392
  ...rules,
@@ -1932,11 +4407,12 @@ async function prettier(options) {
1932
4407
  // src/configs/promise.ts
1933
4408
  init_esm_shims();
1934
4409
  async function promise() {
4410
+ const pluginPromise = await interopDefault(import("eslint-plugin-promise"));
1935
4411
  return [
1936
4412
  {
1937
4413
  name: "style/promise",
1938
4414
  plugins: {
1939
- promise: default15
4415
+ promise: pluginPromise
1940
4416
  },
1941
4417
  rules: {
1942
4418
  "promise/always-return": [
@@ -1976,6 +4452,7 @@ async function react(options = {}) {
1976
4452
  const {
1977
4453
  additionalComponents,
1978
4454
  additionalHooks,
4455
+ componentExts: componentExtensions = [],
1979
4456
  filenameCase = "kebabCase",
1980
4457
  files = [GLOB_SRC],
1981
4458
  filesTypeAware = [GLOB_TS, GLOB_TSX],
@@ -1983,20 +4460,23 @@ async function react(options = {}) {
1983
4460
  importSource,
1984
4461
  jsxPragma,
1985
4462
  overrides = {},
4463
+ parserOptions,
1986
4464
  skipImportCheck,
1987
- stylistic: stylistic2 = true
4465
+ stylistic: stylistic2 = true,
4466
+ typeAware = true
1988
4467
  } = options;
1989
4468
  await ensurePackages(["@eslint-react/eslint-plugin", "eslint-plugin-react-roblox-hooks"]);
1990
- const [pluginReact, pluginReactHooks, pluginStylistic, parserTs, pluginTs] = await Promise.all([
4469
+ const [pluginReact, pluginReactHooks, pluginStylistic, parserTs, pluginTs, pluginUnicorn] = await Promise.all([
1991
4470
  interopDefault(import("@eslint-react/eslint-plugin")),
1992
4471
  interopDefault(import("eslint-plugin-react-roblox-hooks")),
1993
4472
  interopDefault(import("@stylistic/eslint-plugin")),
1994
4473
  interopDefault(import("@typescript-eslint/parser")),
1995
- interopDefault(import("@typescript-eslint/eslint-plugin"))
4474
+ interopDefault(import("@typescript-eslint/eslint-plugin")),
4475
+ interopDefault(import("eslint-plugin-unicorn"))
1996
4476
  ]);
1997
4477
  const plugins = pluginReact.configs.all.plugins;
1998
- const tsconfigPath = options?.tsconfigPath ? toArray(options.tsconfigPath) : void 0;
1999
- const isTypeAware = !!tsconfigPath;
4478
+ const tsconfigPath = typeAware ? getTsConfig(options.tsconfigPath) : void 0;
4479
+ const isTypeAware = tsconfigPath !== void 0;
2000
4480
  const reactSettings = {
2001
4481
  additionalComponents,
2002
4482
  additionalHooks,
@@ -2015,21 +4495,19 @@ async function react(options = {}) {
2015
4495
  "react-naming-convention": plugins["@eslint-react/naming-convention"],
2016
4496
  "style": pluginStylistic,
2017
4497
  "ts": pluginTs,
2018
- "unicorn": default19
4498
+ "unicorn": pluginUnicorn
2019
4499
  }
2020
4500
  },
2021
4501
  {
2022
- files,
2023
- languageOptions: {
4502
+ ...createTsParser({
4503
+ componentExtensions,
4504
+ configName: "roblox",
4505
+ files,
2024
4506
  parser: parserTs,
2025
- parserOptions: {
2026
- ecmaFeatures: {
2027
- jsx: true
2028
- },
2029
- ...isTypeAware ? { project: tsconfigPath } : {}
2030
- },
2031
- sourceType: "module"
2032
- },
4507
+ parserOptions,
4508
+ tsconfigPath,
4509
+ typeAware: isTypeAware
4510
+ }),
2033
4511
  name: "style/react/rules",
2034
4512
  rules: {
2035
4513
  // recommended rules from @eslint-react/hooks-extra
@@ -2161,72 +4639,67 @@ async function react(options = {}) {
2161
4639
 
2162
4640
  // src/configs/roblox.ts
2163
4641
  init_esm_shims();
2164
- import process2 from "node:process";
2165
4642
  async function roblox(options = {}, formatLua = true) {
2166
4643
  const {
2167
4644
  componentExts: componentExtensions = [],
2168
4645
  parserOptions = {},
2169
- stylistic: stylistic2 = true
4646
+ stylistic: stylistic2 = true,
4647
+ typeAware = true
2170
4648
  } = options;
2171
- const tsconfigPath = options?.tsconfigPath ? toArray(options.tsconfigPath) : void 0;
2172
- const [parserTs] = await Promise.all([
2173
- interopDefault(import("@typescript-eslint/parser"))
4649
+ const tsconfigPath = typeAware ? getTsConfig(options.tsconfigPath) : void 0;
4650
+ const isTypeAware = tsconfigPath !== void 0;
4651
+ const [parserTs, pluginRobloxTs, pluginSentinel, pluginFormatLua] = await Promise.all([
4652
+ interopDefault(import("@typescript-eslint/parser")),
4653
+ interopDefault(import("eslint-plugin-roblox-ts-x")),
4654
+ interopDefault(import("eslint-plugin-sentinel")),
4655
+ interopDefault(import("eslint-plugin-format-lua"))
2174
4656
  ]);
2175
4657
  const files = options.files ?? [
2176
- GLOB_SRC,
2177
- ...componentExtensions.map((extension) => `**/*.${extension}`)
4658
+ "**/*/*.?([cm])ts",
4659
+ "**/*/*.?([cm])tsx",
4660
+ ...componentExtensions.map((extension) => `**/*/*.${extension}`)
2178
4661
  ];
2179
4662
  const configs = [];
2180
4663
  configs.push({
2181
- files,
2182
- languageOptions: {
4664
+ ...createTsParser({
4665
+ componentExtensions,
4666
+ configName: "roblox",
4667
+ files,
2183
4668
  parser: parserTs,
2184
- parserOptions: {
2185
- ecmaVersion: 2018,
2186
- sourceType: "script",
2187
- ...tsconfigPath ? {
2188
- project: tsconfigPath,
2189
- tsconfigRootDir: process2.cwd()
2190
- } : {},
2191
- ...parserOptions
2192
- }
2193
- },
4669
+ parserOptions,
4670
+ tsconfigPath,
4671
+ typeAware: isTypeAware
4672
+ }),
2194
4673
  name: "style/roblox",
2195
4674
  plugins: {
2196
- roblox: default20,
2197
- sentinel: default16
4675
+ roblox: pluginRobloxTs,
4676
+ sentinel: pluginSentinel
2198
4677
  },
2199
- /* eslint-disable no-inline-comments -- For replacements */
2200
4678
  rules: {
2201
4679
  "roblox/lua-truthiness": "warn",
2202
- "roblox/misleading-luatuple-checks": "warn",
4680
+ "roblox/misleading-lua-tuple-checks": "error",
4681
+ "roblox/no-any": "error",
2203
4682
  "roblox/no-array-pairs": "warn",
2204
4683
  "roblox/no-enum-merging": "error",
4684
+ "roblox/no-export-assignment-let": "error",
2205
4685
  "roblox/no-for-in": "error",
2206
- "roblox/no-function-expression-id": "error",
2207
- "roblox/no-getters-or-setters": "error",
4686
+ "roblox/no-function-expression-name": "error",
4687
+ "roblox/no-get-set": "error",
2208
4688
  "roblox/no-namespace-merging": "error",
2209
4689
  "roblox/no-null": "error",
2210
4690
  "roblox/no-object-math": "error",
4691
+ "roblox/no-post-fix-new": "error",
2211
4692
  "roblox/no-preceding-spread-element": "error",
2212
4693
  "roblox/no-private-identifier": "error",
2213
- "roblox/no-prototype": "error",
2214
- "roblox/no-rbx-postfix-new": "error",
2215
- "roblox/no-regex": "error",
2216
- "roblox/no-spread-destructuring": "error",
4694
+ "roblox/no-unsupported-syntax": "error",
2217
4695
  "roblox/no-value-typeof": "error",
4696
+ "roblox/prefer-task-library": "error",
4697
+ "roblox/size-method": "error",
2218
4698
  "sentinel/explicit-size-check": "error",
2219
- "ts/no-explicit-any": "error",
2220
- // Part: Replacements
2221
- "roblox/no-any": "off",
2222
- // -> @typescript-eslint/no-explicit-any
2223
- "roblox/no-export-assignment-let": "off",
2224
- // -> import/no-mutable-exports
2225
4699
  ...stylistic2 ? {
2226
4700
  "sentinel/prefer-math-min-max": "error"
2227
4701
  } : {}
2228
4702
  }
2229
- /* eslint-enable no-inline-comments */
2230
4703
  });
2231
4704
  if (formatLua) {
2232
4705
  configs.push({
@@ -2235,7 +4708,7 @@ async function roblox(options = {}, formatLua = true) {
2235
4708
  parser: parserPlain
2236
4709
  },
2237
4710
  plugins: {
2238
- "format-lua": default12
4711
+ "format-lua": pluginFormatLua
2239
4712
  },
2240
4713
  rules: {
2241
4714
  "format-lua/stylua": "error"
@@ -2249,11 +4722,12 @@ async function roblox(options = {}, formatLua = true) {
2249
4722
  init_esm_shims();
2250
4723
  async function shopify(options = {}) {
2251
4724
  const { stylistic: stylistic2 = true } = options;
4725
+ const eslintPluginShopify = await interopDefault(import("@shopify/eslint-plugin"));
2252
4726
  return [
2253
4727
  {
2254
4728
  name: "style/shopify",
2255
4729
  plugins: {
2256
- shopify: default4
4730
+ shopify: eslintPluginShopify
2257
4731
  },
2258
4732
  rules: {
2259
4733
  "shopify/prefer-class-properties": "error",
@@ -2281,11 +4755,12 @@ async function shopify(options = {}) {
2281
4755
  init_esm_shims();
2282
4756
  async function sonarjs(options = {}) {
2283
4757
  const { isInEditor } = options;
4758
+ const pluginSonar = await interopDefault(import("eslint-plugin-sonarjs"));
2284
4759
  return [
2285
4760
  {
2286
4761
  name: "style/sonarjs",
2287
4762
  plugins: {
2288
- sonar: default18
4763
+ sonar: pluginSonar
2289
4764
  },
2290
4765
  rules: {
2291
4766
  "sonar/bool-param-default": "error",
@@ -2492,12 +4967,13 @@ async function spelling(options = {}) {
2492
4967
  const rbxtsDictionary = require3.resolve("@isentinel/dict-rbxts");
2493
4968
  const urlRbxtsDictionary = pathToFileURL(rbxtsDictionary);
2494
4969
  const urlRbxts = new URL("dict/rbxts.txt", urlRbxtsDictionary);
4970
+ const pluginCspell = await interopDefault(import("@cspell/eslint-plugin"));
2495
4971
  return [
2496
4972
  {
2497
4973
  files,
2498
4974
  name: "style/spelling",
2499
4975
  plugins: {
2500
- "@cspell": default2
4976
+ "@cspell": pluginCspell
2501
4977
  },
2502
4978
  rules: {
2503
4979
  "@cspell/spellchecker": [
@@ -2581,19 +5057,24 @@ async function toml(options = {}) {
2581
5057
 
2582
5058
  // src/configs/typescript.ts
2583
5059
  init_esm_shims();
2584
- import process3 from "node:process";
2585
5060
  async function typescript(options = {}) {
2586
5061
  const {
2587
5062
  componentExts: componentExtensions = [],
2588
5063
  isInEditor = false,
2589
5064
  overrides = {},
2590
5065
  parserOptions = {},
2591
- stylistic: stylistic2 = true
5066
+ stylistic: stylistic2 = true,
5067
+ typeAware = true
2592
5068
  } = options;
2593
5069
  const files = options.files ?? [
2594
- GLOB_SRC,
5070
+ GLOB_TS,
5071
+ GLOB_TSX,
2595
5072
  ...componentExtensions.map((extension) => `**/*.${extension}`)
2596
5073
  ];
5074
+ const filesTypeAware = options.filesTypeAware ?? [GLOB_TS, GLOB_TSX];
5075
+ const ignoresTypeAware = options.ignoresTypeAware ?? [`${GLOB_MARKDOWN}/**`];
5076
+ const tsconfigPath = typeAware ? getTsConfig(options.tsconfigPath) : void 0;
5077
+ const isTypeAware = tsconfigPath !== void 0;
2597
5078
  const typeAwareRules = {
2598
5079
  "dot-notation": "off",
2599
5080
  "no-implied-eval": "off",
@@ -2669,39 +5150,42 @@ async function typescript(options = {}) {
2669
5150
  "ts/unbound-method": "error",
2670
5151
  "ts/use-unknown-in-catch-callback-variable": "error"
2671
5152
  };
2672
- const tsconfigPath = options?.tsconfigPath ? toArray(options.tsconfigPath) : void 0;
2673
- const [pluginTs, parserTs] = await Promise.all([
5153
+ const [parserTs, pluginTs, pluginDeMorgan, pluginAntfu, pluginMaxParameters] = await Promise.all([
5154
+ interopDefault(import("@typescript-eslint/parser")),
2674
5155
  interopDefault(import("@typescript-eslint/eslint-plugin")),
2675
- interopDefault(import("@typescript-eslint/parser"))
5156
+ interopDefault(import("eslint-plugin-de-morgan")),
5157
+ interopDefault(import("eslint-plugin-antfu")),
5158
+ // @ts-expect-error -- No types
5159
+ interopDefault(import("eslint-plugin-better-max-params"))
2676
5160
  ]);
5161
+ function makeParser(usesTypeInformation, parserFiles, ignores2) {
5162
+ return createTsParser({
5163
+ componentExtensions: [GLOB_TS],
5164
+ configName: "typescript",
5165
+ files: parserFiles,
5166
+ ignores: ignores2,
5167
+ parser: parserTs,
5168
+ parserOptions,
5169
+ tsconfigPath,
5170
+ typeAware: usesTypeInformation
5171
+ });
5172
+ }
2677
5173
  return [
2678
5174
  {
2679
5175
  // Install the plugins without globs, so they can be configured
2680
5176
  // separately.
2681
5177
  name: "style/typescript/setup",
2682
5178
  plugins: {
2683
- "antfu": default6,
2684
- "better-max-params": default8,
2685
- "de-morgan": default10,
5179
+ "antfu": pluginAntfu,
5180
+ "better-max-params": pluginMaxParameters,
5181
+ "de-morgan": pluginDeMorgan,
2686
5182
  "ts": pluginTs
2687
5183
  }
2688
5184
  },
5185
+ // assign type-aware parser for type-aware files and type-unaware parser for the rest
5186
+ ...isTypeAware ? [makeParser(false, files), makeParser(true, filesTypeAware, ignoresTypeAware)] : [makeParser(false, files)],
2689
5187
  {
2690
5188
  files,
2691
- languageOptions: {
2692
- parser: parserTs,
2693
- parserOptions: {
2694
- ecmaVersion: 2018,
2695
- extraFileExtensions: componentExtensions.map((extension) => `.${extension}`),
2696
- sourceType: "module",
2697
- useJSXTextNode: true,
2698
- ...tsconfigPath ? {
2699
- project: tsconfigPath,
2700
- tsconfigRootDir: process3.cwd()
2701
- } : {},
2702
- ...parserOptions
2703
- }
2704
- },
2705
5189
  name: "style/typescript/rules",
2706
5190
  rules: {
2707
5191
  ...renameRules(pluginTs.configs["eslint-recommended"].overrides?.[0].rules ?? {}, {
@@ -2886,11 +5370,12 @@ async function typescript(options = {}) {
2886
5370
  init_esm_shims();
2887
5371
  async function unicorn(options = {}) {
2888
5372
  const { stylistic: stylistic2 = true } = options;
5373
+ const pluginUnicorn = await interopDefault(import("eslint-plugin-unicorn"));
2889
5374
  return [
2890
5375
  {
2891
5376
  name: "style/unicorn",
2892
5377
  plugins: {
2893
- unicorn: default19
5378
+ unicorn: pluginUnicorn
2894
5379
  },
2895
5380
  rules: {
2896
5381
  "unicorn/catch-error-name": [
@@ -3045,7 +5530,7 @@ async function yaml(options = {}) {
3045
5530
  // src/factory.ts
3046
5531
  init_esm_shims();
3047
5532
  import { FlatConfigComposer } from "eslint-flat-config-utils";
3048
- import fs from "node:fs";
5533
+ import fs2 from "node:fs";
3049
5534
 
3050
5535
  // src/configs/jsx.ts
3051
5536
  init_esm_shims();
@@ -3195,15 +5680,15 @@ function style(options = {}, ...userConfigs) {
3195
5680
  if (enableGitignore) {
3196
5681
  if (typeof enableGitignore !== "boolean") {
3197
5682
  configs.push(
3198
- interopDefault(import("eslint-config-flat-gitignore")).then((resolved) => {
3199
- return [resolved(enableGitignore)];
3200
- })
5683
+ interopDefault(import("eslint-config-flat-gitignore")).then((resolved) => [
5684
+ resolved(enableGitignore)
5685
+ ])
3201
5686
  );
3202
- } else if (fs.existsSync(".gitignore")) {
5687
+ } else if (fs2.existsSync(".gitignore")) {
3203
5688
  configs.push(
3204
- interopDefault(import("eslint-config-flat-gitignore")).then((resolved) => {
3205
- return [resolved()];
3206
- })
5689
+ interopDefault(import("eslint-config-flat-gitignore")).then((resolved) => [
5690
+ resolved()
5691
+ ])
3207
5692
  );
3208
5693
  } else {
3209
5694
  throw new Error(
@@ -3397,17 +5882,20 @@ export {
3397
5882
  StylisticConfigDefaults,
3398
5883
  combine,
3399
5884
  comments,
5885
+ createTsParser,
3400
5886
  style as default,
3401
5887
  defaultPluginRenaming,
3402
5888
  disables,
3403
5889
  ensurePackages,
3404
5890
  formatters,
3405
5891
  getOverrides,
5892
+ getTsConfig,
3406
5893
  ignores,
3407
5894
  imports,
3408
5895
  interopDefault,
3409
5896
  isInEditorEnvironment,
3410
5897
  isInGitHooksOrLintStaged,
5898
+ javascript,
3411
5899
  jsdoc,
3412
5900
  jsonc,
3413
5901
  markdown,