@enormora/eslint-config-typescript 0.0.53 → 0.0.54

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/package.json CHANGED
@@ -25,7 +25,7 @@
25
25
  "license": "MIT",
26
26
  "name": "@enormora/eslint-config-typescript",
27
27
  "peerDependencies": {
28
- "@enormora/eslint-config-base": "0.0.46",
28
+ "@enormora/eslint-config-base": "0.0.47",
29
29
  "typescript": ">=4.8.4 <6.1.0"
30
30
  },
31
31
  "repository": {
@@ -41,5 +41,5 @@
41
41
  "./presets/typescript/typescript.js"
42
42
  ],
43
43
  "type": "module",
44
- "version": "0.0.53"
44
+ "version": "0.0.54"
45
45
  }
@@ -51,19 +51,17 @@ function childrenOf(checker, type) {
51
51
  }
52
52
  return collectObjectTypeChildren(checker, type);
53
53
  }
54
- function containsLiteralComponent(checker, rootType, visited) {
55
- const queue = [rootType];
56
- while (queue.length > 0) {
57
- const current = queue.shift();
58
- if (!visited.has(current)) {
59
- visited.add(current);
60
- if (current.isLiteral()) {
61
- return true;
62
- }
63
- queue.push(...childrenOf(checker, current));
54
+ function containsLiteralComponent(checker, rootType) {
55
+ const visitedTypes = new WeakSet();
56
+ function typeContainsLiteralComponent(type) {
57
+ if (visitedTypes.has(type)) {
58
+ return false;
64
59
  }
60
+ visitedTypes.add(type);
61
+ return type.isLiteral() ||
62
+ childrenOf(checker, type).some(typeContainsLiteralComponent);
65
63
  }
66
- return false;
64
+ return typeContainsLiteralComponent(rootType);
67
65
  }
68
66
  const description = 'Disallow `satisfies` expressions that aren’t pure type checks: literal constraints or no-op.';
69
67
  const typeChangingMessage = 'This `satisfies` narrows the inferred type via literal constraints. Remove it or use `as const`.';
@@ -87,7 +85,7 @@ export const noImpureSatisfiesRule = buildRule({
87
85
  TSSatisfiesExpression(node) {
88
86
  const satisfiesTypeNode = services.esTreeNodeToTSNodeMap.get(node.typeAnnotation);
89
87
  const satisfiesType = checker.getTypeFromTypeNode(satisfiesTypeNode);
90
- const containsLiteral = containsLiteralComponent(checker, satisfiesType, new WeakSet());
88
+ const containsLiteral = containsLiteralComponent(checker, satisfiesType);
91
89
  context.report({
92
90
  node,
93
91
  messageId: containsLiteral ? 'typeChangingSatisfies' : 'trivialSatisfies'
@@ -1 +1 @@
1
- {"version":3,"file":"no-impure-satisfies.js","sourceRoot":"","sources":["../../../../../configs/plugins/enormora-typescript/no-impure-satisfies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"no-impure-satisfies.js","sourceRoot":"","sources":["../../../../../configs/plugins/enormora-typescript/no-impure-satisfies.ts"],"names":[],"mappings":"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"}
package/sbom.cdx.json CHANGED
@@ -9,31 +9,31 @@
9
9
  {
10
10
  "type": "application",
11
11
  "name": "packtory",
12
- "version": "0.0.53"
12
+ "version": "0.0.54"
13
13
  }
14
14
  ]
15
15
  },
16
16
  "component": {
17
17
  "type": "library",
18
18
  "name": "@enormora/eslint-config-typescript",
19
- "version": "0.0.53",
20
- "bom-ref": "pkg:npm/@enormora/eslint-config-typescript@0.0.53",
21
- "purl": "pkg:npm/@enormora/eslint-config-typescript@0.0.53"
19
+ "version": "0.0.54",
20
+ "bom-ref": "pkg:npm/@enormora/eslint-config-typescript@0.0.54",
21
+ "purl": "pkg:npm/@enormora/eslint-config-typescript@0.0.54"
22
22
  }
23
23
  },
24
24
  "components": [
25
25
  {
26
26
  "type": "library",
27
27
  "name": "@enormora/eslint-config-base",
28
- "version": "0.0.46",
29
- "bom-ref": "pkg:npm/@enormora/eslint-config-base@0.0.46",
28
+ "version": "0.0.47",
29
+ "bom-ref": "pkg:npm/@enormora/eslint-config-base@0.0.47",
30
30
  "scope": "optional",
31
31
  "licenses": [
32
32
  {
33
33
  "expression": "MIT"
34
34
  }
35
35
  ],
36
- "purl": "pkg:npm/@enormora/eslint-config-base@0.0.46"
36
+ "purl": "pkg:npm/@enormora/eslint-config-base@0.0.47"
37
37
  },
38
38
  {
39
39
  "type": "library",
@@ -155,12 +155,12 @@
155
155
  ],
156
156
  "dependencies": [
157
157
  {
158
- "ref": "pkg:npm/@enormora/eslint-config-base@0.0.46"
158
+ "ref": "pkg:npm/@enormora/eslint-config-base@0.0.47"
159
159
  },
160
160
  {
161
- "ref": "pkg:npm/@enormora/eslint-config-typescript@0.0.53",
161
+ "ref": "pkg:npm/@enormora/eslint-config-typescript@0.0.54",
162
162
  "dependsOn": [
163
- "pkg:npm/@enormora/eslint-config-base@0.0.46",
163
+ "pkg:npm/@enormora/eslint-config-base@0.0.47",
164
164
  "pkg:npm/@typescript-eslint/eslint-plugin@8.62.1",
165
165
  "pkg:npm/@typescript-eslint/parser@8.62.1",
166
166
  "pkg:npm/@typescript-eslint/type-utils@8.62.1",