@pobammer-ts/eslint-cease-nonsense-rules 0.3.0 → 0.4.1
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 +317 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/rules/enforce-ianitor-check-type.js +7 -10
- package/dist/rules/enforce-ianitor-check-type.js.map +1 -1
- package/dist/rules/no-color3-constructor.js +2 -5
- package/dist/rules/no-color3-constructor.js.map +1 -1
- package/dist/rules/no-shorthand-names.js +1 -2
- package/dist/rules/no-shorthand-names.js.map +1 -1
- package/dist/rules/require-react-component-keys.js +58 -17
- package/dist/rules/require-react-component-keys.js.map +1 -1
- package/dist/rules/use-exhaustive-dependencies.d.ts +3 -0
- package/dist/rules/use-exhaustive-dependencies.js +776 -0
- package/dist/rules/use-exhaustive-dependencies.js.map +1 -0
- package/dist/rules/use-hook-at-top-level.d.ts +3 -0
- package/dist/rules/use-hook-at-top-level.js +392 -0
- package/dist/rules/use-hook-at-top-level.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,6 +2,321 @@
|
|
|
2
2
|
|
|
3
3
|
A bunch of lints to prevent idiot mistakes I encounter with frequency.
|
|
4
4
|
|
|
5
|
-
Note: You said to create a README now; if you'd like a different structure or badges, say so and I’ll update it.
|
|
6
|
-
|
|
7
5
|
**NOTE** I did not write this junk, an LLM did because I do not care.
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
bun add -D @pobammer-ts/eslint-cease-nonsense-rules
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
Add to your ESLint config:
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
import ceaseNonsense from "@pobammer-ts/eslint-cease-nonsense-rules";
|
|
19
|
+
|
|
20
|
+
export default [
|
|
21
|
+
{
|
|
22
|
+
plugins: {
|
|
23
|
+
"cease-nonsense": ceaseNonsense,
|
|
24
|
+
},
|
|
25
|
+
rules: {
|
|
26
|
+
// Enable all rules (recommended)
|
|
27
|
+
"cease-nonsense/enforce-ianitor-check-type": "error",
|
|
28
|
+
"cease-nonsense/no-color3-constructor": "error",
|
|
29
|
+
"cease-nonsense/no-print": "error",
|
|
30
|
+
"cease-nonsense/no-shorthand-names": "error",
|
|
31
|
+
"cease-nonsense/no-warn": "error",
|
|
32
|
+
"cease-nonsense/require-react-component-keys": "error",
|
|
33
|
+
"cease-nonsense/use-exhaustive-dependencies": "error",
|
|
34
|
+
"cease-nonsense/use-hook-at-top-level": "error",
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Rules
|
|
41
|
+
|
|
42
|
+
### Type Safety
|
|
43
|
+
|
|
44
|
+
#### `enforce-ianitor-check-type`
|
|
45
|
+
|
|
46
|
+
Enforces `Ianitor.Check<T>` type annotations on complex TypeScript types to ensure runtime validation. You don't really need this.
|
|
47
|
+
|
|
48
|
+
Calculates structural complexity of types and requires Ianitor validators when complexity exceeds thresholds.
|
|
49
|
+
|
|
50
|
+
**❌ Bad:**
|
|
51
|
+
|
|
52
|
+
```typescript
|
|
53
|
+
// Complex type without runtime validation
|
|
54
|
+
type UserConfig = {
|
|
55
|
+
id: number;
|
|
56
|
+
name: string;
|
|
57
|
+
settings: {
|
|
58
|
+
theme: string;
|
|
59
|
+
notifications: boolean;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
const config = getUserConfig(); // No runtime check!
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**✅ Good:**
|
|
67
|
+
|
|
68
|
+
```typescript
|
|
69
|
+
const userConfigValidator = Ianitor.interface({
|
|
70
|
+
id: Ianitor.number(),
|
|
71
|
+
name: Ianitor.string(),
|
|
72
|
+
settings: Ianitor.interface({
|
|
73
|
+
theme: Ianitor.string(),
|
|
74
|
+
notifications: Ianitor.boolean(),
|
|
75
|
+
}),
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
type UserConfig = Ianitor.Static<typeof userConfigValidator>;
|
|
79
|
+
|
|
80
|
+
const config = userConfigValidator.check(getUserConfig());
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**Configuration:**
|
|
84
|
+
|
|
85
|
+
```typescript
|
|
86
|
+
{
|
|
87
|
+
"cease-nonsense/enforce-ianitor-check-type": ["error", {
|
|
88
|
+
"baseThreshold": 10, // Minimum complexity to require validation
|
|
89
|
+
"warnThreshold": 15, // Warning threshold
|
|
90
|
+
"errorThreshold": 25, // Error threshold
|
|
91
|
+
"interfacePenalty": 20, // Complexity penalty for interfaces
|
|
92
|
+
"performanceMode": true // Enable performance optimizations
|
|
93
|
+
}]
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### React
|
|
98
|
+
|
|
99
|
+
#### `require-react-component-keys`
|
|
100
|
+
|
|
101
|
+
Enforces key props on all React elements except top-level returns from components.
|
|
102
|
+
|
|
103
|
+
**❌ Bad:**
|
|
104
|
+
|
|
105
|
+
```typescript
|
|
106
|
+
function UserList({ users }) {
|
|
107
|
+
return (
|
|
108
|
+
<div>
|
|
109
|
+
{users.map(user => (
|
|
110
|
+
<UserCard user={user} /> // Missing key!
|
|
111
|
+
))}
|
|
112
|
+
</div>
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
**✅ Good:**
|
|
118
|
+
|
|
119
|
+
```typescript
|
|
120
|
+
function UserList({ users }) {
|
|
121
|
+
return (
|
|
122
|
+
<div>
|
|
123
|
+
{users.map(user => (
|
|
124
|
+
<UserCard key={user.id} user={user} />
|
|
125
|
+
))}
|
|
126
|
+
</div>
|
|
127
|
+
);
|
|
128
|
+
}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**Configuration:**
|
|
132
|
+
|
|
133
|
+
```typescript
|
|
134
|
+
{
|
|
135
|
+
"cease-nonsense/require-react-component-keys": ["error", {
|
|
136
|
+
"allowRootKeys": false, // Allow keys on root returns
|
|
137
|
+
"ignoreCallExpressions": ["ReactTree.mount"] // Functions to ignore
|
|
138
|
+
}]
|
|
139
|
+
}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
#### `use-exhaustive-dependencies`
|
|
143
|
+
|
|
144
|
+
Enforces exhaustive and correct dependency specification in React hooks to prevent stale closures and unnecessary re-renders.
|
|
145
|
+
|
|
146
|
+
**❌ Bad:**
|
|
147
|
+
|
|
148
|
+
```typescript
|
|
149
|
+
function UserProfile({ userId }) {
|
|
150
|
+
const [user, setUser] = useState(null);
|
|
151
|
+
|
|
152
|
+
useEffect(() => {
|
|
153
|
+
fetchUser(userId).then(setUser);
|
|
154
|
+
}, []); // Missing userId dependency!
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**✅ Good:**
|
|
159
|
+
|
|
160
|
+
```typescript
|
|
161
|
+
function UserProfile({ userId }) {
|
|
162
|
+
const [user, setUser] = useState(null);
|
|
163
|
+
|
|
164
|
+
useEffect(() => {
|
|
165
|
+
fetchUser(userId).then(setUser);
|
|
166
|
+
}, [userId]);
|
|
167
|
+
}
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
**Configuration:**
|
|
171
|
+
|
|
172
|
+
```typescript
|
|
173
|
+
{
|
|
174
|
+
"cease-nonsense/use-exhaustive-dependencies": ["error", {
|
|
175
|
+
"reportMissingDependenciesArray": true,
|
|
176
|
+
"reportUnnecessaryDependencies": true,
|
|
177
|
+
"hooks": [
|
|
178
|
+
{
|
|
179
|
+
"name": "useCustomHook",
|
|
180
|
+
"closureIndex": 0,
|
|
181
|
+
"dependenciesIndex": 1,
|
|
182
|
+
"stableResult": true
|
|
183
|
+
}
|
|
184
|
+
]
|
|
185
|
+
}]
|
|
186
|
+
}
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
#### `use-hook-at-top-level`
|
|
190
|
+
|
|
191
|
+
Enforces that React hooks are only called at the top level of components or custom hooks, never conditionally or in nested functions.
|
|
192
|
+
|
|
193
|
+
**❌ Bad:**
|
|
194
|
+
|
|
195
|
+
```typescript
|
|
196
|
+
function UserProfile({ userId }) {
|
|
197
|
+
if (userId) {
|
|
198
|
+
useEffect(() => { // Hook in conditional!
|
|
199
|
+
fetchUser(userId);
|
|
200
|
+
}, [userId]);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
**✅ Good:**
|
|
206
|
+
|
|
207
|
+
```typescript
|
|
208
|
+
function UserProfile({ userId }) {
|
|
209
|
+
useEffect(() => {
|
|
210
|
+
if (userId) {
|
|
211
|
+
fetchUser(userId);
|
|
212
|
+
}
|
|
213
|
+
}, [userId]);
|
|
214
|
+
}
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### Logging
|
|
218
|
+
|
|
219
|
+
#### `no-print`
|
|
220
|
+
|
|
221
|
+
Bans use of `print()` function calls. Use `Log` instead.
|
|
222
|
+
|
|
223
|
+
**❌ Bad:**
|
|
224
|
+
|
|
225
|
+
```typescript
|
|
226
|
+
print("Debug message");
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
**✅ Good:**
|
|
230
|
+
|
|
231
|
+
```typescript
|
|
232
|
+
Log.info("Debug message");
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
#### `no-warn`
|
|
236
|
+
|
|
237
|
+
Bans use of `warn()` function calls. Use `Log` instead.
|
|
238
|
+
|
|
239
|
+
**❌ Bad:**
|
|
240
|
+
|
|
241
|
+
```typescript
|
|
242
|
+
warn("Warning message");
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
**✅ Good:**
|
|
246
|
+
|
|
247
|
+
```typescript
|
|
248
|
+
Log.warn("Warning message");
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
### Code Quality
|
|
252
|
+
|
|
253
|
+
#### `no-color3-constructor`
|
|
254
|
+
|
|
255
|
+
Bans `new Color3(...)` except for `new Color3()` or `new Color3(0, 0, 0)`. Use `Color3.fromRGB()` instead for better performance.
|
|
256
|
+
|
|
257
|
+
**✨ Has auto-fix**
|
|
258
|
+
|
|
259
|
+
**❌ Bad:**
|
|
260
|
+
|
|
261
|
+
```typescript
|
|
262
|
+
const red = new Color3(255, 0, 0);
|
|
263
|
+
const blue = new Color3(0.5, 0.5, 1);
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
**✅ Good:**
|
|
267
|
+
|
|
268
|
+
```typescript
|
|
269
|
+
const red = Color3.fromRGB(255, 0, 0);
|
|
270
|
+
const blue = Color3.fromRGB(127, 127, 255);
|
|
271
|
+
const black = new Color3(0, 0, 0); // Allowed
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
#### `no-shorthand-names`
|
|
275
|
+
|
|
276
|
+
Bans shorthand variable names in favor of descriptive full names.
|
|
277
|
+
|
|
278
|
+
**Default mappings:**
|
|
279
|
+
|
|
280
|
+
- `plr` → `player` (or `localPlayer` for `Players.LocalPlayer`)
|
|
281
|
+
- `args` → `parameters`
|
|
282
|
+
- `dt` → `deltaTime`
|
|
283
|
+
- `char` → `character`
|
|
284
|
+
|
|
285
|
+
**❌ Bad:**
|
|
286
|
+
|
|
287
|
+
```typescript
|
|
288
|
+
const plr = getPlayer();
|
|
289
|
+
const args = [1, 2, 3];
|
|
290
|
+
const dt = 0.016;
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
**✅ Good:**
|
|
294
|
+
|
|
295
|
+
```typescript
|
|
296
|
+
const player = getPlayer();
|
|
297
|
+
const localPlayer = Players.LocalPlayer;
|
|
298
|
+
const parameters = [1, 2, 3];
|
|
299
|
+
const deltaTime = 0.016;
|
|
300
|
+
const model = entity.char; // Property access is allowed
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
**Configuration:**
|
|
304
|
+
|
|
305
|
+
```typescript
|
|
306
|
+
{
|
|
307
|
+
"cease-nonsense/no-shorthand-names": ["error", {
|
|
308
|
+
"shorthands": {
|
|
309
|
+
"plr": "player",
|
|
310
|
+
"args": "parameters",
|
|
311
|
+
"dt": "deltaTime",
|
|
312
|
+
"char": "character",
|
|
313
|
+
"btn": "button" // Add custom mappings
|
|
314
|
+
},
|
|
315
|
+
"allowPropertyAccess": ["char"] // Allow as property
|
|
316
|
+
}]
|
|
317
|
+
}
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
## License
|
|
321
|
+
|
|
322
|
+
Do whatever you want with this code. I don't care. I know it says MIT but that is genuinely just a formality.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { Linter, Rule } from "eslint";
|
|
2
2
|
interface Plugin {
|
|
3
3
|
readonly rules: Readonly<Record<string, Rule.RuleModule>>;
|
|
4
|
-
readonly configs:
|
|
4
|
+
readonly configs: {
|
|
5
5
|
readonly recommended: Linter.Config;
|
|
6
|
-
}
|
|
6
|
+
};
|
|
7
7
|
}
|
|
8
8
|
declare const plugin: Plugin;
|
|
9
9
|
export default plugin;
|
package/dist/index.js
CHANGED
|
@@ -4,6 +4,8 @@ import noPrint from "./rules/no-print";
|
|
|
4
4
|
import noShorthandNames from "./rules/no-shorthand-names";
|
|
5
5
|
import noWarn from "./rules/no-warn";
|
|
6
6
|
import requireReactComponentKeys from "./rules/require-react-component-keys";
|
|
7
|
+
import useExhaustiveDependencies from "./rules/use-exhaustive-dependencies";
|
|
8
|
+
import useHookAtTopLevel from "./rules/use-hook-at-top-level";
|
|
7
9
|
/**
|
|
8
10
|
* ESLint plugin entry for eslint-cease-nonsense-rules.
|
|
9
11
|
*
|
|
@@ -16,6 +18,8 @@ const rules = {
|
|
|
16
18
|
"no-shorthand-names": noShorthandNames,
|
|
17
19
|
"no-warn": noWarn,
|
|
18
20
|
"require-react-component-keys": requireReactComponentKeys,
|
|
21
|
+
"use-exhaustive-dependencies": useExhaustiveDependencies,
|
|
22
|
+
"use-hook-at-top-level": useHookAtTopLevel,
|
|
19
23
|
};
|
|
20
24
|
/**
|
|
21
25
|
* Recommended configuration for ESLint flat config.
|
|
@@ -46,6 +50,8 @@ const recommended = {
|
|
|
46
50
|
"cease-nonsense/no-shorthand-names": "error",
|
|
47
51
|
"cease-nonsense/no-warn": "error",
|
|
48
52
|
"cease-nonsense/require-react-component-keys": "error",
|
|
53
|
+
"cease-nonsense/use-exhaustive-dependencies": "error",
|
|
54
|
+
"cease-nonsense/use-hook-at-top-level": "error",
|
|
49
55
|
},
|
|
50
56
|
};
|
|
51
57
|
const plugin = {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,uBAAuB,MAAM,oCAAoC,CAAC;AACzE,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,yBAAyB,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,uBAAuB,MAAM,oCAAoC,CAAC;AACzE,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,yBAAyB,MAAM,sCAAsC,CAAC;AAC7E,OAAO,yBAAyB,MAAM,qCAAqC,CAAC;AAC5E,OAAO,iBAAiB,MAAM,+BAA+B,CAAC;AAE9D;;;;GAIG;AACH,MAAM,KAAK,GAA8C;IACxD,4BAA4B,EAAE,uBAAuB;IACrD,uBAAuB,EAAE,mBAAmB;IAC5C,UAAU,EAAE,OAAO;IACnB,oBAAoB,EAAE,gBAAgB;IACtC,SAAS,EAAE,MAAM;IACjB,8BAA8B,EAAE,yBAAyB;IACzD,6BAA6B,EAAE,yBAAyB;IACxD,uBAAuB,EAAE,iBAAiB;CACjC,CAAC;AAEX;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,GAAkB;IAClC,OAAO,EAAE;QACR,gBAAgB,EAAE;YACjB,KAAK;SACL;KACD;IACD,KAAK,EAAE;QACN,2CAA2C,EAAE,OAAO;QACpD,sCAAsC,EAAE,OAAO;QAC/C,yBAAyB,EAAE,OAAO;QAClC,mCAAmC,EAAE,OAAO;QAC5C,wBAAwB,EAAE,OAAO;QACjC,6CAA6C,EAAE,OAAO;QACtD,4CAA4C,EAAE,OAAO;QACrD,sCAAsC,EAAE,OAAO;KAC/C;CACQ,CAAC;AASX,MAAM,MAAM,GAAW;IACtB,OAAO,EAAE,EAAE,WAAW,EAAE;IACxB,KAAK;CACI,CAAC;AAEX,eAAe,MAAM,CAAC"}
|
|
@@ -25,10 +25,10 @@ function hasTypeAnnotation(node) {
|
|
|
25
25
|
* Extracts the type name from a TypeScript type node.
|
|
26
26
|
*
|
|
27
27
|
* @param node - The TypeScript AST node.
|
|
28
|
-
* @returns The type name or
|
|
28
|
+
* @returns The type name or undefined if not applicable.
|
|
29
29
|
*/
|
|
30
30
|
function getTypeName(node) {
|
|
31
|
-
return node.type === "TSInterfaceDeclaration" || node.type === "TSTypeAliasDeclaration" ? node.id.name :
|
|
31
|
+
return node.type === "TSInterfaceDeclaration" || node.type === "TSTypeAliasDeclaration" ? node.id.name : undefined;
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
34
|
* Checks if a node is an Ianitor validator call.
|
|
@@ -54,9 +54,8 @@ function hasIanitorStaticType(typeAnnotation) {
|
|
|
54
54
|
if (currentType.type === "TSTypeReference" &&
|
|
55
55
|
currentType.typeName.type === "Identifier" &&
|
|
56
56
|
currentType.typeName.name === "Readonly" &&
|
|
57
|
-
currentType.typeArguments?.params[0])
|
|
57
|
+
currentType.typeArguments?.params[0])
|
|
58
58
|
currentType = currentType.typeArguments.params[0];
|
|
59
|
-
}
|
|
60
59
|
// Check for Ianitor.Static<typeof ...>
|
|
61
60
|
if (currentType.type !== "TSTypeReference")
|
|
62
61
|
return false;
|
|
@@ -83,8 +82,8 @@ function calculateIanitorComplexity(node) {
|
|
|
83
82
|
switch (method) {
|
|
84
83
|
case "interface":
|
|
85
84
|
case "strictInterface": {
|
|
86
|
-
const
|
|
87
|
-
return
|
|
85
|
+
const properties = node.arguments?.[0];
|
|
86
|
+
return properties?.type === "ObjectExpression" ? 10 + (properties.properties?.length || 0) * 3 : 0;
|
|
88
87
|
}
|
|
89
88
|
case "optional":
|
|
90
89
|
case "array":
|
|
@@ -162,9 +161,8 @@ const enforceIanitorCheckType = {
|
|
|
162
161
|
if (currentType.type === "TSTypeReference" &&
|
|
163
162
|
currentType.typeName.type === "Identifier" &&
|
|
164
163
|
currentType.typeName.name === "Readonly" &&
|
|
165
|
-
currentType.typeArguments?.params[0])
|
|
164
|
+
currentType.typeArguments?.params[0])
|
|
166
165
|
currentType = currentType.typeArguments.params[0];
|
|
167
|
-
}
|
|
168
166
|
// Check for Ianitor.Static<typeof varName>
|
|
169
167
|
if (currentType.type !== "TSTypeReference")
|
|
170
168
|
return null;
|
|
@@ -176,9 +174,8 @@ const enforceIanitorCheckType = {
|
|
|
176
174
|
typeName.right.type === "Identifier" &&
|
|
177
175
|
typeName.right.name === "Static" &&
|
|
178
176
|
firstParam?.type === "TSTypeQuery" &&
|
|
179
|
-
firstParam.exprName.type === "Identifier")
|
|
177
|
+
firstParam.exprName.type === "Identifier")
|
|
180
178
|
return firstParam.exprName.name;
|
|
181
|
-
}
|
|
182
179
|
return null;
|
|
183
180
|
}
|
|
184
181
|
/**
|
|
@@ -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":"AAsBA;;GAEG;AACH,MAAM,cAAc,GAAqB;IACxC,aAAa,EAAE,EAAE;IACjB,cAAc,EAAE,EAAE;IAClB,gBAAgB,EAAE,EAAE;IACpB,eAAe,EAAE,IAAI;IACrB,aAAa,EAAE,EAAE;CACjB,CAAC;AAEF;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,IAA0D;IACpF,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,IAAI,IAAI,CAAC,EAAE,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,gBAAgB,IAAI,IAAI,CAAC,EAAE;QAC9G,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC;IACjC,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IACxG,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,IAAmB;IACvC,OAAO,IAAI,CAAC,IAAI,KAAK,wBAAwB,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACpH,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,IAG3B;IACA,OAAO,CACN,IAAI,CAAC,IAAI,KAAK,gBAAgB;QAC9B,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,kBAAkB;QACxC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,KAAK,YAAY;QACzC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CACrC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,cAAiC;IAC9D,IAAI,WAAW,GAAG,cAAc,CAAC;IAEjC,+BAA+B;IAC/B,IACC,WAAW,CAAC,IAAI,KAAK,iBAAiB;QACtC,WAAW,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;QAC1C,WAAW,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU;QACxC,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;QAEpC,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAEnD,uCAAuC;IACvC,IAAI,WAAW,CAAC,IAAI,KAAK,iBAAiB;QAAE,OAAO,KAAK,CAAC;IAEzD,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;IAChD,MAAM,UAAU,GAAG,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAE5C,OAAO,CACN,QAAQ,CAAC,IAAI,KAAK,iBAAiB;QACnC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY;QACnC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS;QAChC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY;QACpC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;QAChC,UAAU,EAAE,IAAI,KAAK,aAAa,CAClC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,0BAA0B,CAAC,IAMnC;IACA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,MAAM,EAAE,IAAI,KAAK,kBAAkB,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,KAAK,YAAY;QAAE,OAAO,CAAC,CAAC;IAE5F,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;IACpC,QAAQ,MAAM,EAAE,CAAC;QAChB,KAAK,WAAW,CAAC;QACjB,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACxB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;YACvC,OAAO,UAAU,EAAE,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpG,CAAC;QAED,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO,CAAC;QACb,KAAK,aAAa,CAAC;QACnB,KAAK,YAAY;YAChB,OAAO,CAAC,CAAC;QAEV,KAAK,QAAQ,CAAC;QACd,KAAK,KAAK;YACT,OAAO,CAAC,CAAC;QAEV,KAAK,OAAO,CAAC;QACb,KAAK,cAAc;YAClB,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAE1C,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACb,OAAO,CAAC,CAAC;QAEV;YACC,OAAO,CAAC,CAAC;IACX,CAAC;AACF,CAAC;AAED,MAAM,uBAAuB,GAAoB;IAChD;;;;;OAKG;IACH,MAAM,CAAC,OAAO;QACb,MAAM,MAAM,GAAqB,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,MAAM,KAAK,GAAoB;YAC9B,SAAS,EAAE,IAAI,OAAO,EAAE;YACxB,YAAY,EAAE,IAAI,OAAO,EAAE;SAC3B,CAAC;QACF,uEAAuE;QACvE,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAU,CAAC;QACjD,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACvD,MAAM,iBAAiB,GAAG,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC;QAEpD;;;;;WAKG;QACH,SAAS,kBAAkB,CAAC,KAAa;YACxC,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACtC,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC1C,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED;;;;;;WAMG;QACH,SAAS,QAAQ,CAAC,OAAe,EAAE,QAAgB;YAClD,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,eAAe;gBAAE,OAAO,SAAS,CAAC;YAC9C,OAAO,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,CAAC;QAED;;;;;WAKG;QACH,uDAAuD;QACvD,SAAS,4BAA4B,CAAC,cAAiC;YACtE,IAAI,WAAW,GAAG,cAAc,CAAC;YAEjC,+BAA+B;YAC/B,IACC,WAAW,CAAC,IAAI,KAAK,iBAAiB;gBACtC,WAAW,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;gBAC1C,WAAW,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU;gBACxC,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;gBAEpC,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAEnD,2CAA2C;YAC3C,IAAI,WAAW,CAAC,IAAI,KAAK,iBAAiB;gBAAE,OAAO,IAAI,CAAC;YAExD,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;YAChD,MAAM,UAAU,GAAG,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;YAE5C,IACC,QAAQ,CAAC,IAAI,KAAK,iBAAiB;gBACnC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY;gBACnC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS;gBAChC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY;gBACpC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAChC,UAAU,EAAE,IAAI,KAAK,aAAa;gBAClC,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;gBAEzC,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;YAEjC,OAAO,IAAI,CAAC;QACb,CAAC;QAED;;;;;;WAMG;QACH,SAAS,6BAA6B,CAAC,IAAmB,EAAE,KAAK,GAAG,CAAC;YACpE,gCAAgC;YAChC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC;YAExC,sCAAsC;YACtC,IAAI,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,CAAC;YAE5C,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAE7B,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;YAE5B,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnB,aAAa;gBACb,KAAK,iBAAiB,CAAC;gBACvB,KAAK,iBAAiB,CAAC;gBACvB,KAAK,kBAAkB,CAAC;gBACxB,KAAK,eAAe,CAAC;gBACrB,KAAK,oBAAoB,CAAC;gBAC1B,KAAK,eAAe,CAAC;gBACrB,KAAK,iBAAiB,CAAC;gBACvB,KAAK,iBAAiB;oBACrB,KAAK,GAAG,CAAC,CAAC;oBACV,MAAM;gBAEP,iBAAiB;gBACjB,KAAK,gBAAgB,CAAC;gBACtB,KAAK,kBAAkB,CAAC;gBACxB,KAAK,cAAc;oBAClB,KAAK,GAAG,CAAC,CAAC;oBACV,MAAM;gBAEP,8BAA8B;gBAC9B,KAAK,wBAAwB,CAAC,CAAC,CAAC;oBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC;oBACnB,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC;oBAChC,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC;oBAC5C,IAAI,aAAa;wBAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC;oBAE9D,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;oBAC5B,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACzC,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;wBAC3B,MAAM,cAAc,GAAG,gBAAgB,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;wBACtF,IAAI,cAAc;4BACjB,KAAK,GAAG,QAAQ,CACf,KAAK,EACL,6BAA6B,CAAC,cAAc,CAAC,cAAc,EAAE,SAAS,CAAC,CACvE,CAAC;oBACJ,CAAC;oBACD,MAAM;gBACP,CAAC;gBAED,+BAA+B;gBAC/B,KAAK,eAAe,CAAC,CAAC,CAAC;oBACtB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;oBACzB,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC;oBACjC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;wBAC9B,MAAM,cAAc,GAAG,gBAAgB,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;wBACtF,IAAI,cAAc;4BACjB,KAAK,GAAG,QAAQ,CACf,KAAK,EACL,6BAA6B,CAAC,cAAc,CAAC,cAAc,EAAE,SAAS,CAAC,CACvE,CAAC;oBACJ,CAAC;oBACD,MAAM;gBACP,CAAC;gBAED,SAAS;gBACT,KAAK,aAAa,CAAC,CAAC,CAAC;oBACpB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;oBACvB,KAAK,MAAM,IAAI,IAAI,KAAK;wBAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;oBAClG,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oBAChD,MAAM;gBACP,CAAC;gBAED,gBAAgB;gBAChB,KAAK,oBAAoB,CAAC,CAAC,CAAC;oBAC3B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;oBACvB,KAAK,MAAM,IAAI,IAAI,KAAK;wBAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;oBAClG,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC1C,MAAM;gBACP,CAAC;gBAED,SAAS;gBACT,KAAK,aAAa;oBACjB,KAAK,GAAG,QAAQ,CAAC,6BAA6B,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;oBAChF,MAAM;gBAEP,SAAS;gBACT,KAAK,aAAa,CAAC,CAAC,CAAC;oBACpB,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;oBAC9B,KAAK,GAAG,CAAC,CAAC;oBACV,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;wBACpC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;wBACjC,IAAI,WAAW,KAAK,YAAY,IAAI,WAAW,KAAK,gBAAgB;4BACnE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;oBAC7E,CAAC;oBACD,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;oBACnD,MAAM;gBACP,CAAC;gBAED,uCAAuC;gBACvC,KAAK,iBAAiB,CAAC,CAAC,CAAC;oBACxB,KAAK,GAAG,CAAC,CAAC;oBACV,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;oBAC/B,IAAI,aAAa,EAAE,CAAC;wBACnB,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,MAAM;4BACvC,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC/E,CAAC;oBACD,MAAM;gBACP,CAAC;gBAED,oBAAoB;gBACpB,KAAK,mBAAmB,CAAC,CAAC,CAAC;oBAC1B,KAAK,GAAG,CAAC,CAAC;oBACV,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;oBAClF,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;oBACpF,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;oBACjF,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;oBAClF,MAAM;gBACP,CAAC;gBAED,eAAe;gBACf,KAAK,cAAc,CAAC,CAAC,CAAC;oBACrB,KAAK,GAAG,CAAC,CAAC;oBACV,IAAI,IAAI,CAAC,UAAU;wBAClB,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;oBACpF,IAAI,IAAI,CAAC,cAAc;wBACtB,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;oBACxF,MAAM;gBACP,CAAC;gBAED,iBAAiB;gBACjB,KAAK,gBAAgB,CAAC;gBACtB,KAAK,mBAAmB,CAAC,CAAC,CAAC;oBAC1B,MAAM,IAAI,GAAG,IAA4D,CAAC;oBAC1E,KAAK,GAAG,CAAC,CAAC;oBACV,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;wBACjC,MAAM,cAAc,GAAG,gBAAgB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;wBACpF,IAAI,cAAc;4BACjB,KAAK,GAAG,QAAQ,CACf,KAAK,EACL,6BAA6B,CAAC,cAAc,CAAC,cAAc,EAAE,SAAS,CAAC,CACvE,CAAC;oBACJ,CAAC;oBACD,IAAI,IAAI,CAAC,UAAU;wBAClB,KAAK,GAAG,QAAQ,CACf,KAAK,EACL,6BAA6B,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,SAAS,CAAC,CACxE,CAAC;oBACH,MAAM;gBACP,CAAC;gBAED;oBACC,KAAK,GAAG,CAAC,CAAC;YACZ,CAAC;YAED,4DAA4D;YAC5D,KAAK,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAEnC,mBAAmB;YACnB,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACjC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAChC,OAAO,KAAK,CAAC;QACd,CAAC;QAED,sFAAsF;QACtF,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAAmC,CAAC;QAE9E,OAAO;YACN,iCAAiC;YACjC,sBAAsB,CAAC,IAAqC;gBAC3D,iFAAiF;gBACjF,MAAM,OAAO,GAAG,4BAA4B,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAClE,IAAI,OAAO;oBAAE,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAEjD,4EAA4E;gBAC5E,IAAI,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC;oBAAE,OAAO;gBAEtD,qCAAqC;gBACrC,MAAM,UAAU,GAAG,6BAA6B,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACtE,IAAI,UAAU,GAAG,MAAM,CAAC,aAAa;oBAAE,OAAO;gBAE9C,OAAO,CAAC,MAAM,CAAC;oBACd,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACtC,SAAS,EAAE,yBAAyB;oBACpC,IAAI;iBACJ,CAAC,CAAC;YACJ,CAAC;YAED,+BAA+B;YAC/B,sBAAsB,CAAC,IAAI;gBAC1B,MAAM,UAAU,GAAG,6BAA6B,CAAC,IAAI,CAAC,CAAC;gBACvD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;gBAE/B,IAAI,UAAU,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBAC3C,OAAO,CAAC,MAAM,CAAC;wBACd,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,SAAS,EAAE;wBACjC,SAAS,EAAE,4BAA4B;wBACvC,IAAI;qBACJ,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;YAED,wDAAwD;YACxD,kBAAkB,CAAC,IAAI;gBACtB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB;oBAAE,OAAO;gBAC9D,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;oBAAE,OAAO;gBAC3C,IAAI,iBAAiB,CAAC,IAAI,CAAC;oBAAE,OAAO;gBAEpC,MAAM,UAAU,GAAG,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzD,IAAI,UAAU,GAAG,MAAM,CAAC,aAAa;oBAAE,OAAO;gBAE9C,2CAA2C;gBAC3C,0BAA0B,CAAC,GAAG,CAAC,IAAe,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YACjE,CAAC;YAED,wEAAwE;YACxE,cAAc;gBACb,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,0BAA0B,CAAC,OAAO,EAAE,EAAE,CAAC;oBACpE,MAAM,IAAI,GAAG,OAAsC,CAAC;oBAEpD,yEAAyE;oBACzE,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;wBAAE,SAAS;oBAExF,OAAO,CAAC,MAAM,CAAC;wBACd,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;wBAC3C,SAAS,EAAE,yBAAyB;wBACpC,IAAI,EAAE,IAAI,CAAC,EAAE;qBACb,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;SACD,CAAC;IACH,CAAC;IACD,IAAI,EAAE;QACL,IAAI,EAAE;YACL,WAAW,EAAE,uEAAuE;YACpF,WAAW,EAAE,KAAK;SAClB;QACD,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE;YACT,0BAA0B,EACzB,sGAAsG;YACvG,uBAAuB,EACtB,sFAAsF;SACvF;QACD,MAAM,EAAE;YACP;gBACC,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACX,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC7C,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC9C,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAChD,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC7C;gBACD,IAAI,EAAE,QAAQ;aACd;SACD;QACD,IAAI,EAAE,SAAS;KACf;CACD,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
|
|
@@ -2,16 +2,13 @@ function isUnknownRecord(value) {
|
|
|
2
2
|
return typeof value === "object" && value !== null;
|
|
3
3
|
}
|
|
4
4
|
function isNumericLiteralNode(value) {
|
|
5
|
-
return
|
|
6
|
-
value.type === "Literal" &&
|
|
7
|
-
"value" in value &&
|
|
8
|
-
typeof value.value === "number");
|
|
5
|
+
return isUnknownRecord(value) && value.type === "Literal" && "value" in value && typeof value.value === "number";
|
|
9
6
|
}
|
|
10
7
|
function mapComponentToRgbRange(value) {
|
|
11
8
|
return Math.round(value > 1 ? value : value * 255);
|
|
12
9
|
}
|
|
13
10
|
function collectNumericComponents(parameters) {
|
|
14
|
-
const components =
|
|
11
|
+
const components = new Array();
|
|
15
12
|
let allZero = true;
|
|
16
13
|
for (const parameter of parameters) {
|
|
17
14
|
if (!isNumericLiteralNode(parameter))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-color3-constructor.js","sourceRoot":"","sources":["../../src/rules/no-color3-constructor.ts"],"names":[],"mappings":"AAOA,SAAS,eAAe,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACpD,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"no-color3-constructor.js","sourceRoot":"","sources":["../../src/rules/no-color3-constructor.ts"],"names":[],"mappings":"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"}
|
|
@@ -104,9 +104,8 @@ const noShorthandNames = {
|
|
|
104
104
|
parent &&
|
|
105
105
|
isUnknownRecord(parent) &&
|
|
106
106
|
parent.type === "MemberExpression" &&
|
|
107
|
-
parent.property === node)
|
|
107
|
+
parent.property === node)
|
|
108
108
|
return;
|
|
109
|
-
}
|
|
110
109
|
// Special case: plr → localPlayer for Players.LocalPlayer
|
|
111
110
|
if (shorthandName === "plr" && parent?.type === "VariableDeclarator" && parent.id === node) {
|
|
112
111
|
const init = parent.init;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-shorthand-names.js","sourceRoot":"","sources":["../../src/rules/no-shorthand-names.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"no-shorthand-names.js","sourceRoot":"","sources":["../../src/rules/no-shorthand-names.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
const DEFAULT_OPTIONS = {
|
|
5
5
|
allowRootKeys: false,
|
|
6
|
-
ignoreCallExpressions: ["ReactTree.mount"],
|
|
6
|
+
ignoreCallExpressions: ["ReactTree.mount", "CreateReactStory"],
|
|
7
7
|
};
|
|
8
8
|
/**
|
|
9
9
|
* Checks if a JSX element has a key attribute.
|
|
@@ -18,6 +18,27 @@ function hasKeyAttribute(node) {
|
|
|
18
18
|
}
|
|
19
19
|
return false;
|
|
20
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Checks if a CallExpression is for React.forwardRef or React.memo.
|
|
23
|
+
*
|
|
24
|
+
* @param callExpr - The CallExpression to check.
|
|
25
|
+
* @returns True if the call is for forwardRef or memo.
|
|
26
|
+
*/
|
|
27
|
+
function isReactComponentHOC(callExpr) {
|
|
28
|
+
const { callee } = callExpr;
|
|
29
|
+
// Simple identifier: forwardRef(...) or memo(...)
|
|
30
|
+
if (callee.type === "Identifier") {
|
|
31
|
+
return callee.name === "forwardRef" || callee.name === "memo";
|
|
32
|
+
}
|
|
33
|
+
// Member expression: React.forwardRef(...) or React.memo(...)
|
|
34
|
+
if (callee.type === "MemberExpression" &&
|
|
35
|
+
callee.object.type === "Identifier" &&
|
|
36
|
+
callee.object.name === "React" &&
|
|
37
|
+
callee.property.type === "Identifier") {
|
|
38
|
+
return callee.property.name === "forwardRef" || callee.property.name === "memo";
|
|
39
|
+
}
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
21
42
|
/**
|
|
22
43
|
* Checks if a JSX element is a top-level return from a component.
|
|
23
44
|
*
|
|
@@ -42,10 +63,39 @@ function isTopLevelReturn(node) {
|
|
|
42
63
|
if (!parent)
|
|
43
64
|
return false;
|
|
44
65
|
// Handle direct return
|
|
45
|
-
if (parent.type === "ReturnStatement")
|
|
46
|
-
|
|
66
|
+
if (parent.type === "ReturnStatement") {
|
|
67
|
+
// Walk up to find the containing function
|
|
68
|
+
let currentNode = parent.parent;
|
|
69
|
+
// Skip through block statement to get to function
|
|
70
|
+
if (currentNode?.type === "BlockStatement") {
|
|
71
|
+
currentNode = currentNode.parent;
|
|
72
|
+
}
|
|
73
|
+
if (!currentNode)
|
|
74
|
+
return false;
|
|
75
|
+
// Check if this is a callback (arrow/function expression inside a call expression)
|
|
76
|
+
if (currentNode.type === "ArrowFunctionExpression" || currentNode.type === "FunctionExpression") {
|
|
77
|
+
// If the function is an argument to a call expression, check if it's a React HOC
|
|
78
|
+
if (currentNode.parent?.type === "CallExpression") {
|
|
79
|
+
// React.forwardRef and React.memo callbacks are component definitions, treat as top-level
|
|
80
|
+
return isReactComponentHOC(currentNode.parent);
|
|
81
|
+
}
|
|
82
|
+
// Not inside a call expression, so it's a top-level component
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
// Function declarations are always top-level
|
|
86
|
+
return currentNode.type === "FunctionDeclaration";
|
|
87
|
+
}
|
|
47
88
|
// Handle arrow function direct return: () => <div>
|
|
48
|
-
|
|
89
|
+
if (parent.type === "ArrowFunctionExpression") {
|
|
90
|
+
// Check if this arrow function is inside a call expression
|
|
91
|
+
if (parent.parent?.type === "CallExpression") {
|
|
92
|
+
// React.forwardRef and React.memo callbacks are component definitions, treat as top-level
|
|
93
|
+
return isReactComponentHOC(parent.parent);
|
|
94
|
+
}
|
|
95
|
+
// Not inside a call expression, so it's a top-level component
|
|
96
|
+
return true;
|
|
97
|
+
}
|
|
98
|
+
return false;
|
|
49
99
|
}
|
|
50
100
|
/**
|
|
51
101
|
* Checks if a JSX element is an argument to an ignored call expression.
|
|
@@ -65,7 +115,7 @@ function isIgnoredCallExpression(node, ignoreList) {
|
|
|
65
115
|
return false;
|
|
66
116
|
}
|
|
67
117
|
// Traverse up to find CallExpression
|
|
68
|
-
const maxDepth =
|
|
118
|
+
const maxDepth = 20;
|
|
69
119
|
for (let depth = 0; depth < maxDepth && parent; depth++) {
|
|
70
120
|
const { type } = parent;
|
|
71
121
|
// Found CallExpression - check if it's in the ignore list
|
|
@@ -77,19 +127,11 @@ function isIgnoredCallExpression(node, ignoreList) {
|
|
|
77
127
|
// Member expression: ReactTree.mount(...)
|
|
78
128
|
if (callee.type === "MemberExpression" &&
|
|
79
129
|
callee.object.type === "Identifier" &&
|
|
80
|
-
callee.property.type === "Identifier")
|
|
130
|
+
callee.property.type === "Identifier")
|
|
81
131
|
return ignoreList.includes(`${callee.object.name}.${callee.property.name}`);
|
|
82
|
-
}
|
|
83
|
-
return false;
|
|
84
|
-
}
|
|
85
|
-
// Stop at JSX or function boundaries
|
|
86
|
-
if (type === "JSXElement" ||
|
|
87
|
-
type === "JSXFragment" ||
|
|
88
|
-
type === "FunctionDeclaration" ||
|
|
89
|
-
type === "FunctionExpression" ||
|
|
90
|
-
type === "ArrowFunctionExpression") {
|
|
91
132
|
return false;
|
|
92
133
|
}
|
|
134
|
+
// Don't stop at any boundaries - continue traversing until we find CallExpression or run out of parents
|
|
93
135
|
parent = parent.parent;
|
|
94
136
|
}
|
|
95
137
|
return false;
|
|
@@ -107,9 +149,8 @@ function isJSXPropValue(node) {
|
|
|
107
149
|
// Traverse through conditional and logical expressions
|
|
108
150
|
// Example: fallback={condition ? <A/> : <B/>}
|
|
109
151
|
// Example: fallback={placeholder ?? <></>}
|
|
110
|
-
while (parent && (parent.type === "ConditionalExpression" || parent.type === "LogicalExpression"))
|
|
152
|
+
while (parent && (parent.type === "ConditionalExpression" || parent.type === "LogicalExpression"))
|
|
111
153
|
parent = parent.parent;
|
|
112
|
-
}
|
|
113
154
|
if (!parent)
|
|
114
155
|
return false;
|
|
115
156
|
// Handle JSXExpressionContainer wrapper: prop={<div/>}
|