@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.
- package/README.md +268 -1
- package/dist/configure-utilities.d.ts +68 -0
- package/dist/configure-utilities.js +115 -0
- package/dist/configure-utilities.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/rules/ban-react-fc.js.map +1 -1
- package/dist/rules/enforce-ianitor-check-type.js +5 -5
- package/dist/rules/enforce-ianitor-check-type.js.map +1 -1
- package/dist/rules/no-color3-constructor.js.map +1 -1
- package/dist/rules/no-instance-methods-without-this.d.ts +2 -2
- package/dist/rules/no-instance-methods-without-this.js.map +1 -1
- package/dist/rules/no-print.js.map +1 -1
- package/dist/rules/no-shorthand-names.d.ts +4 -0
- package/dist/rules/no-shorthand-names.js.map +1 -1
- package/dist/rules/no-warn.js.map +1 -1
- package/dist/rules/prefer-sequence-overloads.js.map +1 -1
- package/dist/rules/prefer-udim2-shorthand.js +44 -70
- package/dist/rules/prefer-udim2-shorthand.js.map +1 -1
- package/dist/rules/require-named-effect-functions.d.ts +11 -0
- package/dist/rules/require-named-effect-functions.js +2 -1
- package/dist/rules/require-named-effect-functions.js.map +1 -1
- package/dist/rules/require-paired-calls.d.ts +34 -0
- package/dist/rules/require-paired-calls.js +690 -0
- package/dist/rules/require-paired-calls.js.map +1 -0
- package/dist/rules/require-react-component-keys.d.ts +2 -2
- package/dist/rules/require-react-component-keys.js +1 -1
- package/dist/rules/require-react-component-keys.js.map +1 -1
- package/dist/rules/use-exhaustive-dependencies.d.ts +16 -1
- package/dist/rules/use-exhaustive-dependencies.js.map +1 -1
- package/dist/rules/use-hook-at-top-level.js.map +1 -1
- 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
|
-
|
|
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;
|
|
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
|
|
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
|
|
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
|
|
281
|
-
if (
|
|
282
|
-
ianitorStaticVariables.add(
|
|
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;
|
|
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
|
|
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
|
-
|
|
12
|
+
NoInstanceMethodsOptions | undefined
|
|
13
13
|
], RuleDocsWithRecommended>;
|
|
14
14
|
export default noInstanceMethodsWithoutThis;
|