@pobammer-ts/eslint-cease-nonsense-rules 1.0.0 → 1.1.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.
Files changed (33) hide show
  1. package/README.md +268 -1
  2. package/dist/configure-utilities.d.ts +68 -0
  3. package/dist/configure-utilities.js +115 -0
  4. package/dist/configure-utilities.js.map +1 -0
  5. package/dist/index.d.ts +8 -0
  6. package/dist/index.js +4 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/rules/ban-react-fc.js.map +1 -1
  9. package/dist/rules/enforce-ianitor-check-type.js +5 -5
  10. package/dist/rules/enforce-ianitor-check-type.js.map +1 -1
  11. package/dist/rules/no-color3-constructor.js.map +1 -1
  12. package/dist/rules/no-instance-methods-without-this.d.ts +2 -2
  13. package/dist/rules/no-instance-methods-without-this.js.map +1 -1
  14. package/dist/rules/no-print.js.map +1 -1
  15. package/dist/rules/no-shorthand-names.d.ts +4 -0
  16. package/dist/rules/no-shorthand-names.js.map +1 -1
  17. package/dist/rules/no-warn.js.map +1 -1
  18. package/dist/rules/prefer-sequence-overloads.js.map +1 -1
  19. package/dist/rules/prefer-udim2-shorthand.js +44 -70
  20. package/dist/rules/prefer-udim2-shorthand.js.map +1 -1
  21. package/dist/rules/require-named-effect-functions.d.ts +11 -0
  22. package/dist/rules/require-named-effect-functions.js +2 -1
  23. package/dist/rules/require-named-effect-functions.js.map +1 -1
  24. package/dist/rules/require-paired-calls.d.ts +34 -0
  25. package/dist/rules/require-paired-calls.js +690 -0
  26. package/dist/rules/require-paired-calls.js.map +1 -0
  27. package/dist/rules/require-react-component-keys.d.ts +2 -2
  28. package/dist/rules/require-react-component-keys.js +1 -1
  29. package/dist/rules/require-react-component-keys.js.map +1 -1
  30. package/dist/rules/use-exhaustive-dependencies.d.ts +16 -1
  31. package/dist/rules/use-exhaustive-dependencies.js.map +1 -1
  32. package/dist/rules/use-hook-at-top-level.js.map +1 -1
  33. package/package.json +27 -18
package/README.md CHANGED
@@ -34,6 +34,7 @@ export default [
34
34
  "cease-nonsense/prefer-sequence-overloads": "error",
35
35
  "cease-nonsense/prefer-udim2-shorthand": "error",
36
36
  "cease-nonsense/require-named-effect-functions": "error",
37
+ "cease-nonsense/require-paired-calls": "error",
37
38
  "cease-nonsense/require-react-component-keys": "error",
38
39
  "cease-nonsense/use-exhaustive-dependencies": "error",
39
40
  "cease-nonsense/use-hook-at-top-level": "error",
@@ -349,13 +350,279 @@ warn("Warning message");
349
350
  Log.warn("Warning message");
350
351
  ```
351
352
 
353
+ ### Resource Management
354
+
355
+ #### `require-paired-calls`
356
+
357
+ Enforces that paired function calls (opener/closer) are properly balanced across all execution paths with LIFO ordering. Prevents resource leaks, unbalanced operations, and control flow errors.
358
+
359
+ **Key features:**
360
+
361
+ - Control flow analysis across all paths (if/else, switch, try/catch, loops)
362
+ - Early exit detection (return, throw, break, continue)
363
+ - LIFO validation for nested pairs
364
+ - Async operation detection (await/yield) with `requireSync`
365
+ - Roblox-specific auto-close detection for yielding functions
366
+
367
+ **❌ Bad:**
368
+
369
+ ```typescript
370
+ // Missing closer on early return
371
+ function test() {
372
+ debug.profilebegin("task");
373
+ if (error) return; // profilebegin never closed on this path
374
+ debug.profileend();
375
+ }
376
+
377
+ // Unpaired closer (no matching opener)
378
+ function test() {
379
+ doWork();
380
+ debug.profileend(); // No matching profilebegin
381
+ }
382
+
383
+ // Wrong LIFO order
384
+ function test() {
385
+ debug.profilebegin("outer");
386
+ debug.profilebegin("inner");
387
+ debug.profileend(); // closes inner
388
+ // outer is never closed
389
+ }
390
+
391
+ // Async operation with requireSync: true
392
+ async function test() {
393
+ debug.profilebegin("task");
394
+ await fetch("/api"); // Cannot await between profilebegin/end
395
+ debug.profileend();
396
+ }
397
+
398
+ // Roblox yielding function auto-closes
399
+ function test() {
400
+ debug.profilebegin("task");
401
+ task.wait(1); // Auto-closes all profiles
402
+ debug.profileend(); // This will error - already closed
403
+ }
404
+
405
+ // Conditional branch missing closer
406
+ function test() {
407
+ debug.profilebegin("task");
408
+ if (condition) {
409
+ debug.profileend();
410
+ } else {
411
+ return; // Missing closer on this path
412
+ }
413
+ }
414
+
415
+ // Break/continue skip closer
416
+ function test() {
417
+ debug.profilebegin("loop");
418
+ for (const item of items) {
419
+ if (item.stop) break; // Skips closer
420
+ }
421
+ debug.profileend();
422
+ }
423
+ ```
424
+
425
+ **✅ Good:**
426
+
427
+ ```typescript
428
+ // Simple pairing
429
+ function test() {
430
+ debug.profilebegin("task");
431
+ doWork();
432
+ debug.profileend();
433
+ }
434
+
435
+ // Proper LIFO nesting
436
+ function test() {
437
+ debug.profilebegin("outer");
438
+ debug.profilebegin("inner");
439
+ debug.profileend(); // closes inner
440
+ debug.profileend(); // closes outer
441
+ }
442
+
443
+ // Try-finally ensures closer on all paths
444
+ function test() {
445
+ debug.profilebegin("task");
446
+ try {
447
+ riskyOperation();
448
+ } finally {
449
+ debug.profileend();
450
+ }
451
+ }
452
+
453
+ // Try-catch with alternative closers
454
+ function test() {
455
+ db.transaction();
456
+ try {
457
+ db.users.insert({ name: "test" });
458
+ db.commit(); // Normal closer
459
+ } catch (err) {
460
+ db.rollback(); // Alternative closer
461
+ throw err;
462
+ }
463
+ }
464
+
465
+ // Closer in all branches
466
+ function test() {
467
+ debug.profilebegin("task");
468
+ if (condition) {
469
+ debug.profileend();
470
+ } else {
471
+ debug.profileend();
472
+ }
473
+ }
474
+
475
+ // Pairs inside loop iterations (not across)
476
+ function test() {
477
+ for (const item of items) {
478
+ debug.profilebegin("item");
479
+ process(item);
480
+ debug.profileend();
481
+ }
482
+ }
483
+
484
+ // Multiple closers with requireAll
485
+ function test() {
486
+ resource.init();
487
+ resource.setup();
488
+ // Both cleanup1 and cleanup2 must be called
489
+ resource.cleanup1();
490
+ resource.cleanup2();
491
+ }
492
+ ```
493
+
494
+ **Configuration:**
495
+
496
+ ```typescript
497
+ {
498
+ "cease-nonsense/require-paired-calls": ["error", {
499
+ "pairs": [{
500
+ "opener": "debug.profilebegin", // Opener function name
501
+ "closer": "debug.profileend", // Closer function name(s)
502
+ "alternatives": ["db.rollback"], // Alternative closers (any one)
503
+ "requireSync": true, // Disallow await/yield
504
+ "platform": "roblox", // Platform-specific behavior
505
+ "yieldingFunctions": [ // Custom yielding patterns
506
+ "task.wait",
507
+ "*.WaitForChild" // Supports wildcards
508
+ ]
509
+ }],
510
+ "allowConditionalClosers": false, // Allow closers in some branches
511
+ "allowMultipleOpeners": true, // Allow consecutive openers
512
+ "maxNestingDepth": 0 // Nesting limit (0 = unlimited)
513
+ }]
514
+ }
515
+ ```
516
+
517
+ **Configuration Options:**
518
+
519
+ **Pair Configuration** (per-pair settings in the `pairs` array):
520
+
521
+ - `opener` (required, string) - Function name that starts the paired operation (e.g., `"debug.profilebegin"`). Must be an exact function name including member access (e.g., `"obj.method"`).
522
+
523
+ - `closer` (required, string | string[]) - Function name(s) that close the paired operation. Can be:
524
+ - Single string: `"debug.profileend"` - only this function can close
525
+ - Array of strings: `["lock.release", "lock.free"]` - ANY of these functions can close (alternatives within closer)
526
+
527
+ - `alternatives` (optional, string[]) - Alternative closer function names used for error paths. When present, ANY ONE of the `closer` or `alternatives` satisfies the requirement. Example: `"closer": "db.commit", "alternatives": ["db.rollback"]` means either commit OR rollback closes the transaction.
528
+
529
+ - `requireSync` (optional, boolean, default: `false`) - When `true`, disallows `await` or `yield` expressions between opener and closer. Reports error if async operations occur within the paired scope.
530
+
531
+ - `platform` (optional, `"roblox"`) - Enables Roblox-specific behavior:
532
+ - Auto-detects yielding function calls (configured via `yieldingFunctions`)
533
+ - When a yielding function is called, ALL open profiles are automatically closed
534
+ - Subsequent closer calls after yielding will report errors (already closed)
535
+
536
+ - `yieldingFunctions` (optional, string[], only with `platform: "roblox"`) - Custom patterns for Roblox yielding functions. Supports wildcards:
537
+ - Exact match: `"task.wait"` matches only `task.wait()`
538
+ - Wildcard method: `"*.WaitForChild"` matches `instance.WaitForChild()`, `player.WaitForChild()`, etc.
539
+ - Default: `["task.wait", "wait", "*.WaitForChild"]`
540
+
541
+ **Top-Level Options:**
542
+
543
+ - `pairs` (required, array) - Array of pair configurations to enforce. Rule checks all configured pairs simultaneously.
544
+
545
+ - `allowConditionalClosers` (optional, boolean, default: `false`) - Controls whether closers must be called on ALL execution paths:
546
+ - `false` (strict): Requires closer on every path (if/else both branches, all switch cases, etc.)
547
+ - `true` (permissive): Allows closers in some but not all branches
548
+
549
+ - `allowMultipleOpeners` (optional, boolean, default: `true`) - Controls consecutive opener calls:
550
+ - `true`: Allows multiple opener calls before closers (nesting)
551
+ - `false`: Reports error if opener is called again before closer
552
+
553
+ - `maxNestingDepth` (optional, number, default: `0`) - Maximum nesting depth for paired calls:
554
+ - `0`: Unlimited nesting
555
+ - `> 0`: Reports error if nesting exceeds this depth
556
+
557
+ **Default configuration (Roblox profiling):**
558
+
559
+ ```typescript
560
+ {
561
+ "cease-nonsense/require-paired-calls": ["error", {
562
+ "pairs": [{
563
+ "opener": "debug.profilebegin",
564
+ "closer": "debug.profileend",
565
+ "platform": "roblox",
566
+ "requireSync": true,
567
+ "yieldingFunctions": ["task.wait", "wait", "*.WaitForChild"]
568
+ }]
569
+ }]
570
+ }
571
+ ```
572
+
573
+ **Real-world examples:**
574
+
575
+ ```typescript
576
+ // Database transactions
577
+ {
578
+ "pairs": [{
579
+ "opener": "db.transaction",
580
+ "closer": "db.commit",
581
+ "alternatives": ["db.rollback"]
582
+ }]
583
+ }
584
+
585
+ // Lock acquire/release
586
+ {
587
+ "pairs": [{
588
+ "opener": "lock.acquire",
589
+ "closer": ["lock.release", "lock.free"]
590
+ }]
591
+ }
592
+
593
+ // Multiple pairs
594
+ {
595
+ "pairs": [
596
+ { "opener": "debug.profilebegin", "closer": "debug.profileend" },
597
+ { "opener": "db.transaction", "closer": "db.commit", "alternatives": ["db.rollback"] },
598
+ { "opener": "file.open", "closer": "file.close" }
599
+ ]
600
+ }
601
+
602
+ // Strict nesting
603
+ {
604
+ "pairs": [{ "opener": "begin", "closer": "end" }],
605
+ "maxNestingDepth": 2,
606
+ "allowMultipleOpeners": false
607
+ }
608
+ ```
609
+
610
+ **Use cases:**
611
+
612
+ - Roblox/Luau profiling (debug.profilebegin/end)
613
+ - Database transactions (transaction/commit/rollback)
614
+ - Resource locks (acquire/release)
615
+ - File handles (open/close)
616
+ - Network connections (connect/disconnect)
617
+ - Any begin/end API pattern
618
+
352
619
  ### Code Quality
353
620
 
354
621
  #### `no-color3-constructor`
355
622
 
356
623
  Bans `new Color3(...)` except for `new Color3()` or `new Color3(0, 0, 0)`. Use `Color3.fromRGB()` instead for better performance.
357
624
 
358
- **✨ Has auto-fix**
625
+ ##### Has auto-fix
359
626
 
360
627
  **❌ Bad:**
361
628
 
@@ -0,0 +1,68 @@
1
+ import type { ComplexityConfiguration } from "./rules/enforce-ianitor-check-type";
2
+ import type { NoInstanceMethodsOptions } from "./rules/no-instance-methods-without-this";
3
+ import type { NoShorthandOptions } from "./rules/no-shorthand-names";
4
+ import type { EffectFunctionOptions, HookConfiguration } from "./rules/require-named-effect-functions";
5
+ import type { PairConfiguration, RequirePairedCallsOptions } from "./rules/require-paired-calls";
6
+ import type { ReactKeysOptions } from "./rules/require-react-component-keys";
7
+ import type { UseExhaustiveDependenciesOptions } from "./rules/use-exhaustive-dependencies";
8
+ /**
9
+ * Creates a pair configuration for require-paired-calls rule
10
+ * @param opener - The opener function name
11
+ * @param closer - The closer function name(s)
12
+ * @param options - Additional options
13
+ * @returns The pair configuration
14
+ */
15
+ export declare function createPairConfiguration(opener: string, closer: string | ReadonlyArray<string>, options?: Partial<Omit<PairConfiguration, "opener" | "closer">>): PairConfiguration;
16
+ /**
17
+ * Default Roblox profiling pair configuration
18
+ */
19
+ export declare const defaultRobloxProfilePair: PairConfiguration;
20
+ /**
21
+ * Creates a complexity configuration for enforce-ianitor-check-type rule
22
+ * @param options - Partial configuration options
23
+ * @returns The full complexity configuration
24
+ */
25
+ export declare function createComplexityConfiguration(options?: Partial<ComplexityConfiguration>): ComplexityConfiguration;
26
+ /**
27
+ * Creates a no-instance-methods options for no-instance-methods-without-this rule
28
+ * @param options - Partial configuration options
29
+ * @returns The full options
30
+ */
31
+ export declare function createNoInstanceMethodsOptions(options?: Partial<NoInstanceMethodsOptions>): NoInstanceMethodsOptions;
32
+ /**
33
+ * Creates a no-shorthand options for no-shorthand-names rule
34
+ * @param options - Partial configuration options
35
+ * @returns The full options
36
+ */
37
+ export declare function createNoShorthandOptions(options?: Partial<NoShorthandOptions>): NoShorthandOptions;
38
+ /**
39
+ * Creates an effect function options for require-named-effect-functions rule
40
+ * @param options - Partial configuration options
41
+ * @returns The full options
42
+ */
43
+ export declare function createEffectFunctionOptions(options?: Partial<EffectFunctionOptions>): EffectFunctionOptions;
44
+ /**
45
+ * Creates a hook configuration for require-named-effect-functions rule
46
+ * @param name - The hook name
47
+ * @param options - Partial configuration options
48
+ * @returns The full hook configuration
49
+ */
50
+ export declare function createHookConfiguration(name: string, options?: Partial<Omit<HookConfiguration, "name">>): HookConfiguration;
51
+ /**
52
+ * Creates a require-paired-calls options for require-paired-calls rule
53
+ * @param options - Partial configuration options
54
+ * @returns The full options
55
+ */
56
+ export declare function createRequirePairedCallsOptions(options?: Partial<RequirePairedCallsOptions>): RequirePairedCallsOptions;
57
+ /**
58
+ * Creates a react keys options for require-react-component-keys rule
59
+ * @param options - Partial configuration options
60
+ * @returns The full options
61
+ */
62
+ export declare function createReactKeysOptions(options?: Partial<ReactKeysOptions>): ReactKeysOptions;
63
+ /**
64
+ * Creates a use-exhaustive-dependencies options for use-exhaustive-dependencies rule
65
+ * @param options - Partial configuration options
66
+ * @returns The full options
67
+ */
68
+ export declare function createUseExhaustiveDependenciesOptions(options?: Partial<UseExhaustiveDependenciesOptions>): UseExhaustiveDependenciesOptions;
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Creates a pair configuration for require-paired-calls rule
3
+ * @param opener - The opener function name
4
+ * @param closer - The closer function name(s)
5
+ * @param options - Additional options
6
+ * @returns The pair configuration
7
+ */
8
+ export function createPairConfiguration(opener, closer, options = {}) {
9
+ return { closer, opener, ...options };
10
+ }
11
+ /**
12
+ * Default Roblox profiling pair configuration
13
+ */
14
+ export const defaultRobloxProfilePair = {
15
+ closer: "debug.profileend",
16
+ opener: "debug.profilebegin",
17
+ platform: "roblox",
18
+ requireSync: true,
19
+ yieldingFunctions: ["task.wait", "wait", "*.WaitForChild"],
20
+ };
21
+ /**
22
+ * Creates a complexity configuration for enforce-ianitor-check-type rule
23
+ * @param options - Partial configuration options
24
+ * @returns The full complexity configuration
25
+ */
26
+ export function createComplexityConfiguration(options = {}) {
27
+ return {
28
+ baseThreshold: 10,
29
+ errorThreshold: 25,
30
+ interfacePenalty: 20,
31
+ performanceMode: true,
32
+ warnThreshold: 15,
33
+ ...options,
34
+ };
35
+ }
36
+ /**
37
+ * Creates a no-instance-methods options for no-instance-methods-without-this rule
38
+ * @param options - Partial configuration options
39
+ * @returns The full options
40
+ */
41
+ export function createNoInstanceMethodsOptions(options = {}) {
42
+ return {
43
+ checkPrivate: false,
44
+ checkProtected: false,
45
+ checkPublic: false,
46
+ ...options,
47
+ };
48
+ }
49
+ /**
50
+ * Creates a no-shorthand options for no-shorthand-names rule
51
+ * @param options - Partial configuration options
52
+ * @returns The full options
53
+ */
54
+ export function createNoShorthandOptions(options = {}) {
55
+ return { allowPropertyAccess: [], shorthands: {}, ...options };
56
+ }
57
+ /**
58
+ * Creates an effect function options for require-named-effect-functions rule
59
+ * @param options - Partial configuration options
60
+ * @returns The full options
61
+ */
62
+ export function createEffectFunctionOptions(options = {}) {
63
+ return { environment: "standard", hooks: [], ...options };
64
+ }
65
+ /**
66
+ * Creates a hook configuration for require-named-effect-functions rule
67
+ * @param name - The hook name
68
+ * @param options - Partial configuration options
69
+ * @returns The full hook configuration
70
+ */
71
+ export function createHookConfiguration(name, options = {}) {
72
+ return { allowAsync: false, name, ...options };
73
+ }
74
+ /**
75
+ * Creates a require-paired-calls options for require-paired-calls rule
76
+ * @param options - Partial configuration options
77
+ * @returns The full options
78
+ */
79
+ export function createRequirePairedCallsOptions(options = {}) {
80
+ return {
81
+ allowConditionalClosers: false,
82
+ allowMultipleOpeners: true,
83
+ maxNestingDepth: 0,
84
+ pairs: [],
85
+ ...options,
86
+ };
87
+ }
88
+ /**
89
+ * Creates a react keys options for require-react-component-keys rule
90
+ * @param options - Partial configuration options
91
+ * @returns The full options
92
+ */
93
+ export function createReactKeysOptions(options = {}) {
94
+ return {
95
+ allowRootKeys: false,
96
+ ignoreCallExpressions: [],
97
+ iterationMethods: ["map", "forEach", "filter"],
98
+ memoizationHooks: ["useMemo", "useCallback"],
99
+ ...options,
100
+ };
101
+ }
102
+ /**
103
+ * Creates a use-exhaustive-dependencies options for use-exhaustive-dependencies rule
104
+ * @param options - Partial configuration options
105
+ * @returns The full options
106
+ */
107
+ export function createUseExhaustiveDependenciesOptions(options = {}) {
108
+ return {
109
+ hooks: [],
110
+ reportMissingDependenciesArray: false,
111
+ reportUnnecessaryDependencies: false,
112
+ ...options,
113
+ };
114
+ }
115
+ //# sourceMappingURL=configure-utilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure-utilities.js","sourceRoot":"","sources":["../src/configure-utilities.ts"],"names":[],"mappings":"AAQA;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACtC,MAAc,EACd,MAAsC,EACtC,OAAO,GAA0D,EAAE,EAC/C;IACpB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;AAAA,CACtC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAsB;IAC1D,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,oBAAoB;IAC5B,QAAQ,EAAE,QAAQ;IAClB,WAAW,EAAE,IAAI;IACjB,iBAAiB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,CAAC;CAC1D,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAAC,OAAO,GAAqC,EAAE,EAA2B;IACtH,OAAO;QACN,aAAa,EAAE,EAAE;QACjB,cAAc,EAAE,EAAE;QAClB,gBAAgB,EAAE,EAAE;QACpB,eAAe,EAAE,IAAI;QACrB,aAAa,EAAE,EAAE;QACjB,GAAG,OAAO;KACV,CAAC;AAAA,CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAC7C,OAAO,GAAsC,EAAE,EACpB;IAC3B,OAAO;QACN,YAAY,EAAE,KAAK;QACnB,cAAc,EAAE,KAAK;QACrB,WAAW,EAAE,KAAK;QAClB,GAAG,OAAO;KACV,CAAC;AAAA,CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAO,GAAgC,EAAE,EAAsB;IACvG,OAAO,EAAE,mBAAmB,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC;AAAA,CAC/D;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAAO,GAAmC,EAAE,EAAyB;IAChH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC;AAAA,CAC1D;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACtC,IAAY,EACZ,OAAO,GAA6C,EAAE,EAClC;IACpB,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC;AAAA,CAC/C;AAED;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAC9C,OAAO,GAAuC,EAAE,EACpB;IAC5B,OAAO;QACN,uBAAuB,EAAE,KAAK;QAC9B,oBAAoB,EAAE,IAAI;QAC1B,eAAe,EAAE,CAAC;QAClB,KAAK,EAAE,EAAE;QACT,GAAG,OAAO;KACV,CAAC;AAAA,CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAO,GAA8B,EAAE,EAAoB;IACjG,OAAO;QACN,aAAa,EAAE,KAAK;QACpB,qBAAqB,EAAE,EAAE;QACzB,gBAAgB,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC9C,gBAAgB,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;QAC5C,GAAG,OAAO;KACV,CAAC;AAAA,CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,sCAAsC,CACrD,OAAO,GAA8C,EAAE,EACpB;IACnC,OAAO;QACN,KAAK,EAAE,EAAE;QACT,8BAA8B,EAAE,KAAK;QACrC,6BAA6B,EAAE,KAAK;QACpC,GAAG,OAAO;KACV,CAAC;AAAA,CACF"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,14 @@
1
1
  import type { TSESLint } from "@typescript-eslint/utils";
2
2
  import type { Rule } from "eslint";
3
3
  type AnyRuleModule = Rule.RuleModule | TSESLint.AnyRuleModuleWithMetaDocs;
4
+ export { createComplexityConfiguration, createEffectFunctionOptions, createHookConfiguration, createNoInstanceMethodsOptions, createNoShorthandOptions, createPairConfiguration, createReactKeysOptions, createRequirePairedCallsOptions, createUseExhaustiveDependenciesOptions, defaultRobloxProfilePair, } from "./configure-utilities";
5
+ export type { ComplexityConfiguration } from "./rules/enforce-ianitor-check-type";
6
+ export type { NoInstanceMethodsOptions } from "./rules/no-instance-methods-without-this";
7
+ export type { NoShorthandOptions } from "./rules/no-shorthand-names";
8
+ export type { EffectFunctionOptions, EnvironmentMode, HookConfiguration } from "./rules/require-named-effect-functions";
9
+ export type { PairConfiguration, RequirePairedCallsOptions } from "./rules/require-paired-calls";
10
+ export type { ReactKeysOptions } from "./rules/require-react-component-keys";
11
+ export type { HookEntry, UseExhaustiveDependenciesOptions } from "./rules/use-exhaustive-dependencies";
4
12
  /**
5
13
  * Recommended configuration for ESLint flat config.
6
14
  *
package/dist/index.js CHANGED
@@ -8,9 +8,12 @@ import noWarn from "./rules/no-warn";
8
8
  import preferSequenceOverloads from "./rules/prefer-sequence-overloads";
9
9
  import preferUDim2Shorthand from "./rules/prefer-udim2-shorthand";
10
10
  import requireNamedEffectFunctions from "./rules/require-named-effect-functions";
11
+ import requirePairedCalls from "./rules/require-paired-calls";
11
12
  import requireReactComponentKeys from "./rules/require-react-component-keys";
12
13
  import useExhaustiveDependencies from "./rules/use-exhaustive-dependencies";
13
14
  import useHookAtTopLevel from "./rules/use-hook-at-top-level";
15
+ // Export utilities
16
+ export { createComplexityConfiguration, createEffectFunctionOptions, createHookConfiguration, createNoInstanceMethodsOptions, createNoShorthandOptions, createPairConfiguration, createReactKeysOptions, createRequirePairedCallsOptions, createUseExhaustiveDependenciesOptions, defaultRobloxProfilePair, } from "./configure-utilities";
14
17
  /**
15
18
  * ESLint plugin entry for eslint-cease-nonsense-rules.
16
19
  *
@@ -27,6 +30,7 @@ const rules = {
27
30
  "prefer-sequence-overloads": preferSequenceOverloads,
28
31
  "prefer-udim2-shorthand": preferUDim2Shorthand,
29
32
  "require-named-effect-functions": requireNamedEffectFunctions,
33
+ "require-paired-calls": requirePairedCalls,
30
34
  "require-react-component-keys": requireReactComponentKeys,
31
35
  "use-exhaustive-dependencies": useExhaustiveDependencies,
32
36
  "use-hook-at-top-level": useHookAtTopLevel,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,uBAAuB,MAAM,oCAAoC,CAAC;AACzE,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,4BAA4B,MAAM,0CAA0C,CAAC;AACpF,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,uBAAuB,MAAM,mCAAmC,CAAC;AACxE,OAAO,oBAAoB,MAAM,gCAAgC,CAAC;AAClE,OAAO,2BAA2B,MAAM,wCAAwC,CAAC;AACjF,OAAO,yBAAyB,MAAM,sCAAsC,CAAC;AAC7E,OAAO,yBAAyB,MAAM,qCAAqC,CAAC;AAC5E,OAAO,iBAAiB,MAAM,+BAA+B,CAAC;AAI9D;;;;GAIG;AACH,MAAM,KAAK,GAA4C;IACtD,cAAc,EAAE,UAAU;IAC1B,4BAA4B,EAAE,uBAAuB;IACrD,uBAAuB,EAAE,mBAAmB;IAC5C,kCAAkC,EAAE,4BAA4B;IAChE,UAAU,EAAE,OAAO;IACnB,oBAAoB,EAAE,gBAAgB;IACtC,SAAS,EAAE,MAAM;IACjB,2BAA2B,EAAE,uBAAuB;IACpD,wBAAwB,EAAE,oBAAoB;IAC9C,gCAAgC,EAAE,2BAA2B;IAC7D,8BAA8B,EAAE,yBAAyB;IACzD,6BAA6B,EAAE,yBAAyB;IACxD,uBAAuB,EAAE,iBAAiB;CACjC,CAAC;AAEX;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,GAAG;IACnB,OAAO,EAAE;QACR,gBAAgB,EAAE;YACjB,KAAK;SACL;KACD;IACD,KAAK,EAAE;QACN,6BAA6B,EAAE,OAAO;QACtC,2CAA2C,EAAE,OAAO;QACpD,sCAAsC,EAAE,OAAO;QAC/C,iDAAiD,EAAE,OAAO;QAC1D,yBAAyB,EAAE,OAAO;QAClC,mCAAmC,EAAE,OAAO;QAC5C,wBAAwB,EAAE,OAAO;QACjC,0CAA0C,EAAE,OAAO;QACnD,uCAAuC,EAAE,OAAO;QAChD,+CAA+C,EAAE,OAAO;QACxD,6CAA6C,EAAE,OAAO;QACtD,4CAA4C,EAAE,OAAO;QACrD,sCAAsC,EAAE,OAAO;KAC/C;CACQ,CAAC;AAWX,MAAM,MAAM,GAAW;IACtB,OAAO,EAAE,EAAE,WAAW,EAAE;IACxB,KAAK;CACI,CAAC;AAEX,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,uBAAuB,MAAM,oCAAoC,CAAC;AACzE,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,4BAA4B,MAAM,0CAA0C,CAAC;AACpF,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,uBAAuB,MAAM,mCAAmC,CAAC;AACxE,OAAO,oBAAoB,MAAM,gCAAgC,CAAC;AAClE,OAAO,2BAA2B,MAAM,wCAAwC,CAAC;AACjF,OAAO,kBAAkB,MAAM,8BAA8B,CAAC;AAC9D,OAAO,yBAAyB,MAAM,sCAAsC,CAAC;AAC7E,OAAO,yBAAyB,MAAM,qCAAqC,CAAC;AAC5E,OAAO,iBAAiB,MAAM,+BAA+B,CAAC;AAI9D,mBAAmB;AACnB,OAAO,EACN,6BAA6B,EAC7B,2BAA2B,EAC3B,uBAAuB,EACvB,8BAA8B,EAC9B,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,+BAA+B,EAC/B,sCAAsC,EACtC,wBAAwB,GACxB,MAAM,uBAAuB,CAAC;AAU/B;;;;GAIG;AACH,MAAM,KAAK,GAA4C;IACtD,cAAc,EAAE,UAAU;IAC1B,4BAA4B,EAAE,uBAAuB;IACrD,uBAAuB,EAAE,mBAAmB;IAC5C,kCAAkC,EAAE,4BAA4B;IAChE,UAAU,EAAE,OAAO;IACnB,oBAAoB,EAAE,gBAAgB;IACtC,SAAS,EAAE,MAAM;IACjB,2BAA2B,EAAE,uBAAuB;IACpD,wBAAwB,EAAE,oBAAoB;IAC9C,gCAAgC,EAAE,2BAA2B;IAC7D,sBAAsB,EAAE,kBAAkB;IAC1C,8BAA8B,EAAE,yBAAyB;IACzD,6BAA6B,EAAE,yBAAyB;IACxD,uBAAuB,EAAE,iBAAiB;CACjC,CAAC;AAEX;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,GAAG;IACnB,OAAO,EAAE;QACR,gBAAgB,EAAE;YACjB,KAAK;SACL;KACD;IACD,KAAK,EAAE;QACN,6BAA6B,EAAE,OAAO;QACtC,2CAA2C,EAAE,OAAO;QACpD,sCAAsC,EAAE,OAAO;QAC/C,iDAAiD,EAAE,OAAO;QAC1D,yBAAyB,EAAE,OAAO;QAClC,mCAAmC,EAAE,OAAO;QAC5C,wBAAwB,EAAE,OAAO;QACjC,0CAA0C,EAAE,OAAO;QACnD,uCAAuC,EAAE,OAAO;QAChD,+CAA+C,EAAE,OAAO;QACxD,6CAA6C,EAAE,OAAO;QACtD,4CAA4C,EAAE,OAAO;QACrD,sCAAsC,EAAE,OAAO;KAC/C;CACQ,CAAC;AAWX,MAAM,MAAM,GAAW;IACtB,OAAO,EAAE,EAAE,WAAW,EAAE;IACxB,KAAK;CACI,CAAC;AAEX,eAAe,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ban-react-fc.js","sourceRoot":"","sources":["../../src/rules/ban-react-fc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AASpD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC;AAE7F,MAAM,UAAU,GAA6E;IAC5F,MAAM,CAAC,OAAO;QACb,OAAO;YACN,kBAAkB,CAAC,IAAiC;gBACnD,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,cAAc;oBAAE,OAAO;gBAE5B,MAAM,KAAK,GAAG,cAAc,CAAC,cAAc,CAAC;gBAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,cAAc,CAAC,eAAe;oBAAE,OAAO;gBAEnE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;gBAE3B,IAAI,UAAU,GAAG,KAAK,CAAC;gBACvB,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,cAAc,CAAC,UAAU;oBACvD,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;qBAC5C,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,cAAc,CAAC,eAAe;oBACjE,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEvD,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,cAAc,CAAC,uBAAuB;oBAAE,OAAO;gBAE/F,OAAO,CAAC,MAAM,CAAC;oBACd,SAAS,EAAE,YAAY;oBACvB,IAAI;iBACJ,CAAC,CAAC;YACJ,CAAC;SACD,CAAC;IACH,CAAC;IACD,cAAc,EAAE,EAAE;IAClB,IAAI,EAAE;QACL,IAAI,EAAE;YACL,WAAW,EACV,kGAAkG;YACnG,WAAW,EAAE,IAAI;SACjB;QACD,QAAQ,EAAE;YACT,UAAU,EACT,sMAAsM;SACvM;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,SAAS;KACf;CACD,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"ban-react-fc.js","sourceRoot":"","sources":["../../src/rules/ban-react-fc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AASpD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC;AAE7F,MAAM,UAAU,GAA6E;IAC5F,MAAM,CAAC,OAAO,EAAE;QACf,OAAO;YACN,kBAAkB,CAAC,IAAiC,EAAE;gBACrD,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,cAAc;oBAAE,OAAO;gBAE5B,MAAM,KAAK,GAAG,cAAc,CAAC,cAAc,CAAC;gBAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,cAAc,CAAC,eAAe;oBAAE,OAAO;gBAEnE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;gBAE3B,IAAI,UAAU,GAAG,KAAK,CAAC;gBACvB,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,cAAc,CAAC,UAAU;oBACvD,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;qBAC5C,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,cAAc,CAAC,eAAe;oBACjE,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEvD,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,cAAc,CAAC,uBAAuB;oBAAE,OAAO;gBAE/F,OAAO,CAAC,MAAM,CAAC;oBACd,SAAS,EAAE,YAAY;oBACvB,IAAI;iBACJ,CAAC,CAAC;YAAA,CACH;SACD,CAAC;IAAA,CACF;IACD,cAAc,EAAE,EAAE;IAClB,IAAI,EAAE;QACL,IAAI,EAAE;YACL,WAAW,EACV,kGAAkG;YACnG,WAAW,EAAE,IAAI;SACjB;QACD,QAAQ,EAAE;YACT,UAAU,EACT,sMAAsM;SACvM;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,SAAS;KACf;CACD,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -40,7 +40,7 @@ function extractIanitorStaticVariable(typeAnnotation) {
40
40
  currentType.typeArguments?.params[0])
41
41
  currentType = currentType.typeArguments.params[0];
42
42
  if (currentType.type !== TSESTree.AST_NODE_TYPES.TSTypeReference)
43
- return null;
43
+ return undefined;
44
44
  const { typeName, typeArguments } = currentType;
45
45
  const firstParam = typeArguments?.params[0];
46
46
  if (typeName.type === TSESTree.AST_NODE_TYPES.TSQualifiedName &&
@@ -51,7 +51,7 @@ function extractIanitorStaticVariable(typeAnnotation) {
51
51
  firstParam?.type === TSESTree.AST_NODE_TYPES.TSTypeQuery &&
52
52
  firstParam.exprName.type === TSESTree.AST_NODE_TYPES.Identifier)
53
53
  return firstParam.exprName.name;
54
- return null;
54
+ return undefined;
55
55
  }
56
56
  function hasIanitorStaticType(typeAnnotation) {
57
57
  let currentType = typeAnnotation;
@@ -277,9 +277,9 @@ const enforceIanitorCheckType = {
277
277
  }
278
278
  },
279
279
  TSTypeAliasDeclaration(node) {
280
- const varName = extractIanitorStaticVariable(node.typeAnnotation);
281
- if (varName)
282
- ianitorStaticVariables.add(varName);
280
+ const variableName = extractIanitorStaticVariable(node.typeAnnotation);
281
+ if (variableName)
282
+ ianitorStaticVariables.add(variableName);
283
283
  if (hasIanitorStaticType(node.typeAnnotation))
284
284
  return;
285
285
  const complexity = calculateStructuralComplexity(node.typeAnnotation);
@@ -1 +1 @@
1
- {"version":3,"file":"enforce-ianitor-check-type.js","sourceRoot":"","sources":["../../src/rules/enforce-ianitor-check-type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enforce-ianitor-check-type.js","sourceRoot":"","sources":["../../src/rules/enforce-ianitor-check-type.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"no-color3-constructor.js","sourceRoot":"","sources":["../../src/rules/no-color3-constructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,MAAM,oBAAoB,GAAG,OAAO,CACnC,IAAI,CAAC,MAAM,CAAC;IACX,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC;IACnD,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;CACpB,CAAC,CACF,CAAC;AAEF,SAAS,sBAAsB,CAAC,KAAa;IAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;AACpD,CAAC;AAOD,SAAS,wBAAwB,CAAC,UAAkC;IACnE,MAAM,UAAU,GAAG,IAAI,KAAK,EAAU,CAAC;IACvC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,OAAO,GAAG,IAAI,CAAC;IAEnB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACpC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QAE7D,MAAM,MAAM,GAAG,sBAAsB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvD,UAAU,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC;QAC5B,IAAI,MAAM,KAAK,CAAC;YAAE,OAAO,GAAG,KAAK,CAAC;IACnC,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,mBAAmB,GAAoB;IAC5C,MAAM,CAAC,OAAO;QACb,OAAO;YACN,aAAa,CAAC,IAAI;gBACjB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,cAAc,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;oBAAE,OAAO;gBAErG,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;gBAClC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO;gBAEpC,MAAM,SAAS,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;gBACvD,IAAI,CAAC,SAAS,EAAE,CAAC;oBAChB,OAAO,CAAC,MAAM,CAAC;wBACd,SAAS,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc;wBAChE,IAAI;qBACJ,CAAC,CAAC;oBACH,OAAO;gBACR,CAAC;gBAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,MAAM,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC;oBAC9C,OAAO,CAAC,MAAM,CAAC;wBACd,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,KAAK,KAAK,MAAM,CAAC;wBAC9E,SAAS,EAAE,YAAY;wBACvB,IAAI;qBACJ,CAAC,CAAC;oBACH,OAAO;gBACR,CAAC;gBAED,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;oBACxB,OAAO,CAAC,MAAM,CAAC;wBACd,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,kBAAkB,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;wBAC7F,SAAS,EAAE,cAAc;wBACzB,IAAI;qBACJ,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;SACD,CAAC;IACH,CAAC;IACD,IAAI,EAAE;QACL,IAAI,EAAE;YACL,WAAW,EACV,+FAA+F;YAChG,WAAW,EAAE,IAAI;SACjB;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACT,YAAY,EACX,qMAAqM;YACtM,UAAU,EACT,2IAA2I;SAC5I;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,SAAS;KACf;CACD,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"no-color3-constructor.js","sourceRoot":"","sources":["../../src/rules/no-color3-constructor.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { TSESLint } from "@typescript-eslint/utils";
2
2
  type MessageIds = "noInstanceMethodWithoutThis";
3
- interface RuleOptions {
3
+ export interface NoInstanceMethodsOptions {
4
4
  checkPrivate?: boolean;
5
5
  checkProtected?: boolean;
6
6
  checkPublic?: boolean;
@@ -9,6 +9,6 @@ interface RuleDocsWithRecommended extends TSESLint.RuleMetaDataDocs {
9
9
  readonly recommended?: boolean;
10
10
  }
11
11
  declare const noInstanceMethodsWithoutThis: TSESLint.RuleModuleWithMetaDocs<MessageIds, [
12
- RuleOptions | undefined
12
+ NoInstanceMethodsOptions | undefined
13
13
  ], RuleDocsWithRecommended>;
14
14
  export default noInstanceMethodsWithoutThis;