eslint-plugin-ore-ui 1.0.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-critically-bugged.cjs","sourceRoot":"","sources":["../../src/rules/no-critically-bugged.cts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { ESLintUtils } from "@typescript-eslint/utils";
2
+ declare const _default: ESLintUtils.RuleModule<"criticallyBugged" | "criticallyBuggedWithReason" | "criticallyBuggedReasonOverride", {
3
+ allow: never[];
4
+ ignoreBuiltInCriticallyBuggedMessages: boolean;
5
+ additionalCriticallyBuggedMessages: never[];
6
+ }[], unknown, ESLintUtils.RuleListener> & {
7
+ name: string;
8
+ };
9
+ export = _default;
@@ -0,0 +1,516 @@
1
+ /**
2
+ * This is based on the `no-deprecated` rule from `@typescript-eslint/eslint-plugin`.
3
+ *
4
+ * Original File Source: https://github.com/typescript-eslint/typescript-eslint/blob/c4d5a56925e588d0e84e18f6f2d7756d0248d3be/packages/eslint-plugin/src/rules/no-deprecated.ts
5
+ *
6
+ * Copyright (c) 2019 typescript-eslint and other contributors
7
+ * Licensed under the MIT License.
8
+ *
9
+ * Modifications by 8Crafter (2026)
10
+ */
11
+ "LICENSE";
12
+ "use strict";
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ const utils_1 = require("@typescript-eslint/utils");
17
+ const tsutils = require("ts-api-utils");
18
+ const typescript_1 = __importDefault(require("typescript"));
19
+ const type_utils_1 = require("@typescript-eslint/type-utils");
20
+ const eslint_utils_1 = require("@typescript-eslint/utils/eslint-utils");
21
+ const createRule = utils_1.ESLintUtils.RuleCreator((name) => name /* `https://typescript-eslint.io/rules/${name}` */);
22
+ const builtInIllegalConstructorMessages = [
23
+ {
24
+ message: {
25
+ regex: "^(?:\\{[^\\}]*\\} )?Throws an [`\"']Illegal constructor[`\"'] error as this is only constructable by the engine itself\\.",
26
+ flags: "",
27
+ },
28
+ tagName: "throws",
29
+ reason: "This is only constructable by the engine itself.",
30
+ },
31
+ {
32
+ message: {
33
+ regex: "^(?:\\{[^\\}]*\\} )?\\(BROWSER ONLY\\) Throws an [`\"']Illegal constructor[`\"'] error as this is only constructable by the engine itself\\.",
34
+ flags: "",
35
+ },
36
+ tagName: "throws",
37
+ reason: "In the browser, this is only constructable by the engine itself.",
38
+ },
39
+ ];
40
+ function getReportedNodeName(node) {
41
+ if (node.type === utils_1.AST_NODE_TYPES.Super) {
42
+ return "super";
43
+ }
44
+ if (node.type === utils_1.AST_NODE_TYPES.PrivateIdentifier) {
45
+ return `#${node.name}`;
46
+ }
47
+ return node.name;
48
+ }
49
+ module.exports = createRule({
50
+ name: "no-illegal-constructors",
51
+ meta: {
52
+ type: "problem",
53
+ docs: {
54
+ description: "Disallow using constructing constructors marked as being an illegal constructor",
55
+ // recommended: true,
56
+ // requiresTypeChecking: true,
57
+ },
58
+ messages: {
59
+ illegalConstructor: `\`{{name}}\` is an illegal constructor`,
60
+ illegalConstructorWithReason: `\`{{name}}\` is an illegal constructor. {{reason}}`,
61
+ illegalConstructorReasonOverride: `{{reason}}`,
62
+ },
63
+ schema: [
64
+ {
65
+ type: "object",
66
+ additionalProperties: false,
67
+ properties: {
68
+ allow: {
69
+ ...type_utils_1.typeOrValueSpecifiersSchema,
70
+ description: "Type specifiers that can be allowed.",
71
+ },
72
+ ignoreBuiltInIllegalConstructorMessages: {
73
+ type: "boolean",
74
+ description: "Whether to ignore the built-in illegal constructor messages.",
75
+ },
76
+ additionalIllegalConstructorMessages: {
77
+ type: "array",
78
+ items: {
79
+ type: "object",
80
+ properties: {
81
+ message: {
82
+ oneOf: [
83
+ { type: "string" },
84
+ { type: "object", required: ["regex"], properties: { regex: { type: "string" }, flags: { type: "string" } } },
85
+ ],
86
+ description: "The message to filter JSDoc comments by, only matching JSDoc comments will cause a violation. If not provided, any JSDoc tag of the specified name will cause a violation.",
87
+ },
88
+ tagName: {
89
+ oneOf: [{ type: "string" }, { type: "array", items: { type: "string" } }],
90
+ description: "The JSDoc tag name or a list of JSDoc tag names to filter by, should not be prefixed with '@'. ex. 'throws'",
91
+ },
92
+ reason: {
93
+ type: "string",
94
+ description: "The reason for the violation, this is what will be reported. ex. If the reason is 'This is only constructable by the engine itself.', the message will be '`{{name}}` is an illegal constructor. This is only constructable by the engine itself.'",
95
+ },
96
+ reasonOverride: {
97
+ type: "string",
98
+ description: "The error message to report. This will take precedence over `reason`. Unlike reason, this does not prepend '`{{name}}` is an illegal constructor.' to the reason. ex. If the reason override is 'This is only constructable by the engine itself.', the message will be 'This is only constructable by the engine itself.'",
99
+ },
100
+ },
101
+ required: ["tagName"],
102
+ additionalProperties: false,
103
+ description: "An additional illegal constructor message to check for.",
104
+ },
105
+ description: "Additional illegal constructor messages to check for.",
106
+ },
107
+ },
108
+ },
109
+ ],
110
+ defaultOptions: [
111
+ {
112
+ allow: [],
113
+ ignoreBuiltInIllegalConstructorMessages: false,
114
+ additionalIllegalConstructorMessages: [],
115
+ },
116
+ ],
117
+ },
118
+ defaultOptions: [
119
+ {
120
+ allow: [],
121
+ ignoreBuiltInIllegalConstructorMessages: false,
122
+ additionalIllegalConstructorMessages: [],
123
+ },
124
+ ],
125
+ create(context) {
126
+ const { jsDocParsingMode } = context.parserOptions;
127
+ const allow = context.options[0]?.allow;
128
+ const illegalConstructorMessages = (context.options[0]?.additionalIllegalConstructorMessages ?? [])
129
+ .concat((context.options[0]?.ignoreBuiltInIllegalConstructorMessages ?? false) ? [] : builtInIllegalConstructorMessages)
130
+ .map((message) => ({
131
+ ...message,
132
+ message: message.message ?
133
+ typeof message.message === "string" ?
134
+ message.message
135
+ : new RegExp(message.message.regex, message.message.flags)
136
+ : undefined,
137
+ }));
138
+ if (!illegalConstructorMessages.length)
139
+ return {};
140
+ if (jsDocParsingMode === "none" || jsDocParsingMode === "type-info") {
141
+ throw new Error(`Cannot be used with jsDocParsingMode: '${jsDocParsingMode}'.`);
142
+ }
143
+ const services = (0, eslint_utils_1.getParserServices)(context);
144
+ const checker = services.program.getTypeChecker();
145
+ // Deprecated jsdoc tags can be added on some symbol alias, e.g.
146
+ //
147
+ // export { /** @deprecated */ foo }
148
+ //
149
+ // When we import foo, its symbol is an alias of the exported foo (the one
150
+ // with the deprecated tag), which is itself an alias of the original foo.
151
+ // Therefore, we carefully go through the chain of aliases and check each
152
+ // immediate alias for deprecated tags
153
+ function searchForIllegalConstructorInAliasesChain(symbol, checkDeprecationsOfAliasedSymbol) {
154
+ if (!symbol || !tsutils.isSymbolFlagSet(symbol, typescript_1.default.SymbolFlags.Alias)) {
155
+ return checkDeprecationsOfAliasedSymbol ? getJsDocIllegalConstructor(symbol) : undefined;
156
+ }
157
+ const targetSymbol = checker.getAliasedSymbol(symbol);
158
+ while (tsutils.isSymbolFlagSet(symbol, typescript_1.default.SymbolFlags.Alias)) {
159
+ const reason = getJsDocIllegalConstructor(symbol);
160
+ if (reason != null) {
161
+ return reason;
162
+ }
163
+ const immediateAliasedSymbol = symbol.getDeclarations() && checker.getImmediateAliasedSymbol(symbol);
164
+ if (!immediateAliasedSymbol) {
165
+ break;
166
+ }
167
+ symbol = immediateAliasedSymbol;
168
+ if (checkDeprecationsOfAliasedSymbol && symbol === targetSymbol) {
169
+ return getJsDocIllegalConstructor(symbol);
170
+ }
171
+ }
172
+ return undefined;
173
+ }
174
+ function isDeclaration(node) {
175
+ const { parent } = node;
176
+ switch (parent.type) {
177
+ case utils_1.AST_NODE_TYPES.ArrayPattern:
178
+ return parent.elements.includes(node);
179
+ case utils_1.AST_NODE_TYPES.ClassExpression:
180
+ case utils_1.AST_NODE_TYPES.ClassDeclaration:
181
+ case utils_1.AST_NODE_TYPES.VariableDeclarator:
182
+ case utils_1.AST_NODE_TYPES.TSEnumMember:
183
+ return parent.id === node;
184
+ case utils_1.AST_NODE_TYPES.MethodDefinition:
185
+ case utils_1.AST_NODE_TYPES.PropertyDefinition:
186
+ case utils_1.AST_NODE_TYPES.AccessorProperty:
187
+ return parent.key === node;
188
+ case utils_1.AST_NODE_TYPES.Property:
189
+ // foo in "const { foo } = bar" will be processed twice, as parent.key
190
+ // and parent.value. The second is treated as a declaration.
191
+ if (parent.shorthand && parent.value === node) {
192
+ return parent.parent.type === utils_1.AST_NODE_TYPES.ObjectPattern;
193
+ }
194
+ if (parent.value === node) {
195
+ return false;
196
+ }
197
+ return parent.parent.type === utils_1.AST_NODE_TYPES.ObjectExpression;
198
+ case utils_1.AST_NODE_TYPES.AssignmentPattern:
199
+ // foo in "const { foo = "" } = bar" will be processed twice, as parent.parent.key
200
+ // and parent.left. The second is treated as a declaration.
201
+ return parent.left === node;
202
+ case utils_1.AST_NODE_TYPES.ArrowFunctionExpression:
203
+ case utils_1.AST_NODE_TYPES.FunctionDeclaration:
204
+ case utils_1.AST_NODE_TYPES.FunctionExpression:
205
+ case utils_1.AST_NODE_TYPES.TSDeclareFunction:
206
+ case utils_1.AST_NODE_TYPES.TSEmptyBodyFunctionExpression:
207
+ case utils_1.AST_NODE_TYPES.TSEnumDeclaration:
208
+ case utils_1.AST_NODE_TYPES.TSInterfaceDeclaration:
209
+ case utils_1.AST_NODE_TYPES.TSMethodSignature:
210
+ case utils_1.AST_NODE_TYPES.TSModuleDeclaration:
211
+ case utils_1.AST_NODE_TYPES.TSParameterProperty:
212
+ case utils_1.AST_NODE_TYPES.TSPropertySignature:
213
+ case utils_1.AST_NODE_TYPES.TSTypeAliasDeclaration:
214
+ case utils_1.AST_NODE_TYPES.TSTypeParameter:
215
+ return true;
216
+ // treat `export import Bar = Foo;` (and `import Foo = require('...')`) as declarations
217
+ case utils_1.AST_NODE_TYPES.TSImportEqualsDeclaration:
218
+ return parent.id === node;
219
+ default:
220
+ return false;
221
+ }
222
+ }
223
+ function isInsideImport(node) {
224
+ let current = node;
225
+ while (true) {
226
+ switch (current.type) {
227
+ case utils_1.AST_NODE_TYPES.ImportDeclaration:
228
+ return true;
229
+ case utils_1.AST_NODE_TYPES.ArrowFunctionExpression:
230
+ case utils_1.AST_NODE_TYPES.ExportAllDeclaration:
231
+ case utils_1.AST_NODE_TYPES.ExportNamedDeclaration:
232
+ case utils_1.AST_NODE_TYPES.BlockStatement:
233
+ case utils_1.AST_NODE_TYPES.ClassDeclaration:
234
+ case utils_1.AST_NODE_TYPES.TSInterfaceDeclaration:
235
+ case utils_1.AST_NODE_TYPES.FunctionDeclaration:
236
+ case utils_1.AST_NODE_TYPES.FunctionExpression:
237
+ case utils_1.AST_NODE_TYPES.Program:
238
+ case utils_1.AST_NODE_TYPES.TSUnionType:
239
+ case utils_1.AST_NODE_TYPES.VariableDeclarator:
240
+ return false;
241
+ default:
242
+ current = current.parent;
243
+ }
244
+ }
245
+ }
246
+ function getJsDocIllegalConstructor(symbol) {
247
+ let jsDocTags;
248
+ try {
249
+ jsDocTags = symbol?.getJsDocTags(checker);
250
+ }
251
+ catch {
252
+ // workaround for https://github.com/microsoft/TypeScript/issues/60024
253
+ return undefined;
254
+ }
255
+ let tag;
256
+ let messageRule;
257
+ jsDocTagLoop: for (const jsDocTag of jsDocTags ?? []) {
258
+ let displayPartsString;
259
+ for (const currentRule of illegalConstructorMessages) {
260
+ if (!(currentRule.tagName instanceof Array ? currentRule.tagName.includes(jsDocTag.name) : currentRule.tagName === jsDocTag.name))
261
+ continue;
262
+ if (!currentRule.message) {
263
+ tag = jsDocTag;
264
+ messageRule = currentRule;
265
+ break jsDocTagLoop;
266
+ }
267
+ if (typeof currentRule.message === "string") {
268
+ if (!jsDocTag.text || currentRule.message !== (displayPartsString ?? (displayPartsString = typescript_1.default.displayPartsToString(jsDocTag.text))))
269
+ continue;
270
+ tag = jsDocTag;
271
+ messageRule = currentRule;
272
+ break jsDocTagLoop;
273
+ }
274
+ if (currentRule.message && currentRule.message.test(displayPartsString ?? (displayPartsString = typescript_1.default.displayPartsToString(jsDocTag.text)))) {
275
+ tag = jsDocTag;
276
+ messageRule = currentRule;
277
+ break jsDocTagLoop;
278
+ }
279
+ }
280
+ }
281
+ if (!tag || !messageRule) {
282
+ return undefined;
283
+ }
284
+ if (messageRule.reasonOverride)
285
+ return { override: messageRule.reasonOverride };
286
+ if (messageRule.reason)
287
+ return messageRule.reason;
288
+ return undefined;
289
+ }
290
+ function isNodeCalleeOfParent(node) {
291
+ switch (node.parent?.type) {
292
+ case utils_1.AST_NODE_TYPES.NewExpression:
293
+ case utils_1.AST_NODE_TYPES.CallExpression:
294
+ return node.parent.callee === node;
295
+ case utils_1.AST_NODE_TYPES.TaggedTemplateExpression:
296
+ return node.parent.tag === node;
297
+ case utils_1.AST_NODE_TYPES.JSXOpeningElement:
298
+ return node.parent.name === node;
299
+ default:
300
+ return false;
301
+ }
302
+ }
303
+ function getCallLikeNode(node) {
304
+ let callee = node;
305
+ while (callee.parent?.type === utils_1.AST_NODE_TYPES.MemberExpression && callee.parent.property === callee) {
306
+ callee = callee.parent;
307
+ }
308
+ return isNodeCalleeOfParent(callee) ? callee : undefined;
309
+ }
310
+ function getCallLikeIllegalConstructor(node) {
311
+ const tsNode = services.esTreeNodeToTSNodeMap.get(node.parent);
312
+ // If the node is a direct function call, we look for its signature.
313
+ const signature = (0, eslint_utils_1.nullThrows)(checker.getResolvedSignature(tsNode), "Expected call like node to have signature");
314
+ const symbol = services.getSymbolAtLocation(node);
315
+ const aliasedSymbol = symbol != null && tsutils.isSymbolFlagSet(symbol, typescript_1.default.SymbolFlags.Alias) ? checker.getAliasedSymbol(symbol) : symbol;
316
+ const symbolDeclarationKind = aliasedSymbol?.declarations?.[0]?.kind;
317
+ // Properties with function-like types have "deprecated" jsdoc
318
+ // on their symbols, not on their signatures:
319
+ //
320
+ // interface Props {
321
+ // /** @deprecated */
322
+ // property: () => 'foo'
323
+ // ^symbol^ ^signature^
324
+ // }
325
+ if (symbolDeclarationKind !== typescript_1.default.SyntaxKind.MethodDeclaration &&
326
+ symbolDeclarationKind !== typescript_1.default.SyntaxKind.FunctionDeclaration &&
327
+ symbolDeclarationKind !== typescript_1.default.SyntaxKind.MethodSignature) {
328
+ return (searchForIllegalConstructorInAliasesChain(symbol, true) ??
329
+ getJsDocIllegalConstructor(signature) ??
330
+ getJsDocIllegalConstructor(aliasedSymbol));
331
+ }
332
+ return (searchForIllegalConstructorInAliasesChain(symbol,
333
+ // Here we're working with a function declaration or method.
334
+ // Both can have 1 or more overloads, each overload creates one
335
+ // ts.Declaration which is placed in symbol.declarations.
336
+ //
337
+ // Imagine the following code:
338
+ //
339
+ // function foo(): void
340
+ // /** @deprecated Some Reason */
341
+ // function foo(arg: string): void
342
+ // function foo(arg?: string): void {}
343
+ //
344
+ // foo() // <- foo is our symbol
345
+ //
346
+ // If we call getJsDocDeprecation(checker.getAliasedSymbol(symbol)),
347
+ // we get 'Some Reason', but after all, we are calling foo with
348
+ // a signature that is not deprecated!
349
+ // It works this way because symbol.getJsDocTags returns tags from
350
+ // all symbol declarations combined into one array. And AFAIK there is
351
+ // no publicly exported TS function that can tell us if a particular
352
+ // declaration is deprecated or not.
353
+ //
354
+ // So, in case of function and method declarations, we don't check original
355
+ // aliased symbol, but rely on the getJsDocDeprecation(signature) call below.
356
+ false) ?? getJsDocIllegalConstructor(signature));
357
+ }
358
+ function getJSXAttributeIllegalConstructor(openingElement, propertyName) {
359
+ const tsNode = services.esTreeNodeToTSNodeMap.get(openingElement.name);
360
+ const contextualType = (0, eslint_utils_1.nullThrows)(checker.getContextualType(tsNode), "Expected JSX opening element name to have contextualType");
361
+ const symbol = contextualType.getProperty(propertyName);
362
+ return getJsDocIllegalConstructor(symbol);
363
+ }
364
+ function getIllegalConstructorReason(node) {
365
+ const callLikeNode = getCallLikeNode(node);
366
+ if (callLikeNode) {
367
+ return getCallLikeIllegalConstructor(callLikeNode);
368
+ }
369
+ if (node.parent.type === utils_1.AST_NODE_TYPES.JSXAttribute && node.type !== utils_1.AST_NODE_TYPES.Super) {
370
+ return getJSXAttributeIllegalConstructor(node.parent.parent, node.name);
371
+ }
372
+ if (node.parent.type === utils_1.AST_NODE_TYPES.Property && node.type !== utils_1.AST_NODE_TYPES.Super) {
373
+ const property = services.getTypeAtLocation(node.parent.parent).getProperty(node.name);
374
+ const propertySymbol = services.getSymbolAtLocation(node);
375
+ const valueSymbol = checker.getShorthandAssignmentValueSymbol(propertySymbol?.valueDeclaration);
376
+ return (searchForIllegalConstructorInAliasesChain(propertySymbol, true) ??
377
+ getJsDocIllegalConstructor(property) ??
378
+ getJsDocIllegalConstructor(propertySymbol) ??
379
+ getJsDocIllegalConstructor(valueSymbol));
380
+ }
381
+ return searchForIllegalConstructorInAliasesChain(services.getSymbolAtLocation(node), true);
382
+ }
383
+ function checkIdentifier(node) {
384
+ if (isDeclaration(node) || isInsideImport(node)) {
385
+ return;
386
+ }
387
+ const reason = getIllegalConstructorReason(node);
388
+ if (reason == null) {
389
+ return;
390
+ }
391
+ const type = services.getTypeAtLocation(node);
392
+ if ((0, type_utils_1.typeMatchesSomeSpecifier)(type, allow, services.program) || (0, type_utils_1.valueMatchesSomeSpecifier)(node, allow, services.program, type)) {
393
+ return;
394
+ }
395
+ const name = getReportedNodeName(node);
396
+ context.report({
397
+ ...(reason ?
398
+ typeof reason === "object" ?
399
+ {
400
+ messageId: "illegalConstructorReasonOverride",
401
+ data: { name, reason: reason.override },
402
+ }
403
+ : {
404
+ messageId: "illegalConstructorWithReason",
405
+ data: { name, reason },
406
+ }
407
+ : {
408
+ messageId: "illegalConstructor",
409
+ data: { name },
410
+ }),
411
+ node,
412
+ });
413
+ }
414
+ function checkMemberExpression(node) {
415
+ if (!node.computed) {
416
+ return;
417
+ }
418
+ const propertyType = services.getTypeAtLocation(node.property);
419
+ if (propertyType.isLiteral()) {
420
+ const objectType = services.getTypeAtLocation(node.object);
421
+ const propertyName = propertyType.isStringLiteral() ? propertyType.value : String(propertyType.value);
422
+ const property = objectType.getProperty(propertyName);
423
+ const reason = getJsDocIllegalConstructor(property);
424
+ if (reason == null) {
425
+ return;
426
+ }
427
+ if ((0, type_utils_1.typeMatchesSomeSpecifier)(objectType, allow, services.program)) {
428
+ return;
429
+ }
430
+ context.report({
431
+ ...(reason ?
432
+ typeof reason === "object" ?
433
+ {
434
+ messageId: "illegalConstructorReasonOverride",
435
+ data: { name: propertyName, reason: reason.override },
436
+ }
437
+ : {
438
+ messageId: "illegalConstructorWithReason",
439
+ data: { name: propertyName, reason },
440
+ }
441
+ : {
442
+ messageId: "illegalConstructor",
443
+ data: { name: propertyName },
444
+ }),
445
+ node: node.property,
446
+ });
447
+ }
448
+ }
449
+ return {
450
+ Identifier(node) {
451
+ const { parent } = node;
452
+ if (parent.type === utils_1.AST_NODE_TYPES.ExportNamedDeclaration || parent.type === utils_1.AST_NODE_TYPES.ExportAllDeclaration) {
453
+ return;
454
+ }
455
+ // Computed identifier expressions are handled by checkMemberExpression
456
+ if (parent.type === utils_1.AST_NODE_TYPES.MemberExpression && parent.computed && parent.property === node) {
457
+ return;
458
+ }
459
+ if (parent.type === utils_1.AST_NODE_TYPES.ExportSpecifier) {
460
+ // only deal with the alias (exported) side, not the local binding
461
+ if (parent.exported !== node) {
462
+ return;
463
+ }
464
+ const symbol = services.getSymbolAtLocation(node);
465
+ const aliasDeprecation = getJsDocIllegalConstructor(symbol);
466
+ if (aliasDeprecation != null) {
467
+ return;
468
+ }
469
+ }
470
+ // TODO: Add a way to customize what expression types are flagged per illegal constructor message type.
471
+ if (![utils_1.AST_NODE_TYPES.NewExpression].includes(utils_1.AST_NODE_TYPES.MemberExpression === parent.type ? parent.parent.type : parent.type))
472
+ return;
473
+ if (utils_1.AST_NODE_TYPES.MemberExpression === parent.type &&
474
+ (parent.property.range[0] !== node.range[0] || parent.property.range[1] !== node.range[1]))
475
+ return;
476
+ // whether it's a plain identifier or the exported alias
477
+ checkIdentifier(node);
478
+ },
479
+ JSXIdentifier(node) {
480
+ if (node.parent.type !== utils_1.AST_NODE_TYPES.JSXClosingElement) {
481
+ if (![utils_1.AST_NODE_TYPES.JSXOpeningElement].includes(utils_1.AST_NODE_TYPES.JSXMemberExpression === node.parent.type ? node.parent.parent.type : node.parent.type))
482
+ return;
483
+ if (utils_1.AST_NODE_TYPES.JSXMemberExpression === node.parent.type &&
484
+ (node.parent.property.range[0] !== node.range[0] || node.parent.property.range[1] !== node.range[1]))
485
+ return;
486
+ checkIdentifier(node);
487
+ }
488
+ },
489
+ MemberExpression(node) {
490
+ // TODO: Add a way to customize what expression types are flagged per illegal constructor message type.
491
+ if (![utils_1.AST_NODE_TYPES.NewExpression].includes(node.parent.type))
492
+ return;
493
+ checkMemberExpression(node);
494
+ },
495
+ PrivateIdentifier(node) {
496
+ // TODO: Add a way to customize what expression types are flagged per illegal constructor message type.
497
+ if (![utils_1.AST_NODE_TYPES.NewExpression].includes(utils_1.AST_NODE_TYPES.MemberExpression === node.parent.type ? node.parent.parent.type : node.parent.type))
498
+ return;
499
+ if (utils_1.AST_NODE_TYPES.MemberExpression === node.parent.type &&
500
+ (node.parent.property.range[0] !== node.range[0] || node.parent.property.range[1] !== node.range[1]))
501
+ return;
502
+ checkIdentifier(node);
503
+ },
504
+ Super(node) {
505
+ // TODO: Add a way to customize what expression types are flagged per illegal constructor message type.
506
+ if (![utils_1.AST_NODE_TYPES.CallExpression].includes(utils_1.AST_NODE_TYPES.MemberExpression === node.parent.type ? node.parent.parent.type : node.parent.type))
507
+ return;
508
+ if (utils_1.AST_NODE_TYPES.MemberExpression === node.parent.type &&
509
+ (node.parent.property.range[0] !== node.range[0] || node.parent.property.range[1] !== node.range[1]))
510
+ return;
511
+ checkIdentifier(node);
512
+ },
513
+ };
514
+ },
515
+ });
516
+ //# sourceMappingURL=no-illegal-constructors.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-illegal-constructors.cjs","sourceRoot":"","sources":["../../src/rules/no-illegal-constructors.cts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { ESLintUtils } from "@typescript-eslint/utils";
2
+ declare const _default: ESLintUtils.RuleModule<"illegalConstructor" | "illegalConstructorWithReason" | "illegalConstructorReasonOverride", {
3
+ allow: never[];
4
+ ignoreBuiltInIllegalConstructorMessages: boolean;
5
+ additionalIllegalConstructorMessages: never[];
6
+ }[], unknown, ESLintUtils.RuleListener> & {
7
+ name: string;
8
+ };
9
+ export = _default;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ module.exports = {
3
+ meta: {
4
+ type: "problem",
5
+ docs: {
6
+ description: "Disallow regex Unicode property escapes",
7
+ recommended: true,
8
+ },
9
+ messages: {
10
+ noSupportedUnicodePropertyIdentifiers: "No identifiers for regex Unicode property escapes are not supported by CoHTML (Ore UI), even though property escapes themselves are.",
11
+ },
12
+ },
13
+ // {
14
+ // "selector": "Literal[regex.pattern=/(?<!\\\\)(?:\\\\\\\\)*\\\\[pP]\\{/][regex.flags=/[uv]/]",
15
+ // "message": "No identifiers for regex Unicode property escapes are not supported by CoHTML (Ore UI), even though property escapes themselves are."
16
+ // }
17
+ create(context) {
18
+ return {
19
+ Literal(node) {
20
+ if ("regex" in node &&
21
+ node.regex?.pattern &&
22
+ node.regex?.flags &&
23
+ /[uv]/.test(node.regex.flags) &&
24
+ /(?<!\\)(?:\\\\)*\\[pP]\{/.test(node.regex.pattern)) {
25
+ context.report({
26
+ node,
27
+ messageId: "noSupportedUnicodePropertyIdentifiers",
28
+ });
29
+ }
30
+ },
31
+ };
32
+ },
33
+ };
34
+ //# sourceMappingURL=no-regex-unicode-properties.cjs.map