eslint-config-typed 7.4.0 → 7.5.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.
Files changed (54) hide show
  1. package/README.md +8 -7
  2. package/dist/plugins/total-functions/rules/no-hidden-type-assertions.d.mts.map +1 -1
  3. package/dist/plugins/total-functions/rules/no-hidden-type-assertions.mjs +52 -61
  4. package/dist/plugins/total-functions/rules/no-hidden-type-assertions.mjs.map +1 -1
  5. package/dist/plugins/ts-restrictions/rules/no-ragged-comment-wrap.d.mts +12 -9
  6. package/dist/plugins/ts-restrictions/rules/no-ragged-comment-wrap.d.mts.map +1 -1
  7. package/dist/plugins/ts-restrictions/rules/no-ragged-comment-wrap.mjs +106 -17
  8. package/dist/plugins/ts-restrictions/rules/no-ragged-comment-wrap.mjs.map +1 -1
  9. package/dist/plugins/ts-restrictions/rules/require-ime-guard-on-enter.d.mts +49 -0
  10. package/dist/plugins/ts-restrictions/rules/require-ime-guard-on-enter.d.mts.map +1 -0
  11. package/dist/plugins/ts-restrictions/rules/require-ime-guard-on-enter.mjs +235 -0
  12. package/dist/plugins/ts-restrictions/rules/require-ime-guard-on-enter.mjs.map +1 -0
  13. package/dist/plugins/ts-restrictions/rules/rules.d.mts +3 -0
  14. package/dist/plugins/ts-restrictions/rules/rules.d.mts.map +1 -1
  15. package/dist/plugins/ts-restrictions/rules/rules.mjs +2 -0
  16. package/dist/plugins/ts-restrictions/rules/rules.mjs.map +1 -1
  17. package/dist/rules/eslint-rules.d.mts +39 -4
  18. package/dist/rules/eslint-rules.d.mts.map +1 -1
  19. package/dist/rules/eslint-rules.mjs +9 -1
  20. package/dist/rules/eslint-rules.mjs.map +1 -1
  21. package/dist/rules/eslint-ts-restrictions-rules.d.mts +1 -0
  22. package/dist/rules/eslint-ts-restrictions-rules.d.mts.map +1 -1
  23. package/dist/rules/eslint-ts-restrictions-rules.mjs +1 -0
  24. package/dist/rules/eslint-ts-restrictions-rules.mjs.map +1 -1
  25. package/dist/rules/eslint-unicorn-rules.d.mts +33 -6
  26. package/dist/rules/eslint-unicorn-rules.d.mts.map +1 -1
  27. package/dist/rules/eslint-unicorn-rules.mjs +34 -6
  28. package/dist/rules/eslint-unicorn-rules.mjs.map +1 -1
  29. package/dist/rules/index.d.mts +1 -0
  30. package/dist/rules/index.d.mts.map +1 -1
  31. package/dist/rules/index.mjs +1 -0
  32. package/dist/rules/index.mjs.map +1 -1
  33. package/dist/rules/node-version-gated-apis.d.mts +48 -0
  34. package/dist/rules/node-version-gated-apis.d.mts.map +1 -0
  35. package/dist/rules/node-version-gated-apis.mjs +100 -0
  36. package/dist/rules/node-version-gated-apis.mjs.map +1 -0
  37. package/dist/types/rules/eslint-ts-restrictions-rules.d.mts +44 -2
  38. package/dist/types/rules/eslint-ts-restrictions-rules.d.mts.map +1 -1
  39. package/package.json +11 -10
  40. package/src/configs/typescript.test.mts +170 -23
  41. package/src/plugins/total-functions/rules/no-hidden-type-assertions.mts +127 -139
  42. package/src/plugins/total-functions/rules/no-hidden-type-assertions.test.mts +139 -0
  43. package/src/plugins/ts-restrictions/rules/no-ragged-comment-wrap.mts +176 -35
  44. package/src/plugins/ts-restrictions/rules/no-ragged-comment-wrap.test.mts +305 -1
  45. package/src/plugins/ts-restrictions/rules/require-ime-guard-on-enter.mts +333 -0
  46. package/src/plugins/ts-restrictions/rules/require-ime-guard-on-enter.test.mts +498 -0
  47. package/src/plugins/ts-restrictions/rules/rules.mts +2 -0
  48. package/src/rules/eslint-rules.mts +15 -1
  49. package/src/rules/eslint-ts-restrictions-rules.mts +1 -0
  50. package/src/rules/eslint-unicorn-rules.mts +34 -6
  51. package/src/rules/index.mts +1 -0
  52. package/src/rules/node-version-gated-apis.mts +134 -0
  53. package/src/rules/node-version-gated-apis.test.mts +22 -0
  54. package/src/types/rules/eslint-ts-restrictions-rules.mts +49 -2
package/README.md CHANGED
@@ -538,13 +538,14 @@ Pre-configured rule sets that can be imported and customized:
538
538
 
539
539
  ### Exported Pre-configured Rule Options
540
540
 
541
- | Pre-configured rule option | Rule | Description |
542
- | :-------------------------------------- | :---------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------ |
543
- | **`restrictedGlobals`** | `no-restricted-globals` | Array of restricted global variables |
544
- | **`restrictedGlobalsForBrowser`** | `no-restricted-globals` | Browser-environment-specific restricted globals |
545
- | **`restrictedSyntax`** | `no-restricted-syntax` | Disallows the `in` operator, `Object.prototype.hasOwnProperty.call` (suggests using `Object.hasOwn`), and `new Array(*)` syntax (suggests using `Array.from`) |
546
- | **`restrictedImportsOptions`** | `no-restricted-imports` | Disallows importing `index.mjs` by relative path |
547
- | **`restrictedImportsOptionsForPreact`** | `no-restricted-imports` | `restrictedImportsOptions` plus the hooks of `preact/compat` (suggests `preact/hooks`) |
541
+ | Pre-configured rule option | Rule | Description |
542
+ | :-------------------------------------- | :------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
543
+ | **`restrictedGlobals`** | `no-restricted-globals` | Array of restricted global variables |
544
+ | **`restrictedGlobalsForBrowser`** | `no-restricted-globals` | Browser-environment-specific restricted globals |
545
+ | **`restrictedSyntax`** | `no-restricted-syntax` | Disallows the `in` operator, `Object.prototype.hasOwnProperty.call` (suggests using `Object.hasOwn`), `new Array(*)` syntax (suggests using `Array.from`), and the `globalThis.`-qualified forms of the APIs `restrictedProperties` disallows |
546
+ | **`restrictedProperties`** | `no-restricted-properties` | Disallows the built-in APIs in `nodeVersionGatedApis`, which not every Node.js in `engines` has: `Error.isError`, `Promise.try`, `RegExp.escape`, `Uint8Array` base64 and `Map#getOrInsert[Computed]` |
547
+ | **`restrictedImportsOptions`** | `no-restricted-imports` | Disallows importing `index.mjs` by relative path |
548
+ | **`restrictedImportsOptionsForPreact`** | `no-restricted-imports` | `restrictedImportsOptions` plus the hooks of `preact/compat` (suggests `preact/hooks`) |
548
549
 
549
550
  A config that sets a rule replaces the options an earlier config set. To restrict more imports after `eslintConfigForPreact`, concatenate yours with the ones it set, using `mergeRestrictedImportsOptions(restrictedImportsOptionsForPreact, { paths: [...], patterns: [...] })`.
550
551
 
@@ -1 +1 @@
1
- {"version":3,"file":"no-hidden-type-assertions.d.mts","sourceRoot":"","sources":["../../../../src/plugins/total-functions/rules/no-hidden-type-assertions.mts"],"names":[],"mappings":"AAIA,OAAO,EAEL,WAAW,EAEZ,MAAM,0BAA0B,CAAC;AA4BlC,oDAAoD;AAEpD,eAAO,MAAM,sBAAsB;;CAyQxB,CAAC"}
1
+ {"version":3,"file":"no-hidden-type-assertions.d.mts","sourceRoot":"","sources":["../../../../src/plugins/total-functions/rules/no-hidden-type-assertions.mts"],"names":[],"mappings":"AAIA,OAAO,EAEL,WAAW,EAEZ,MAAM,0BAA0B,CAAC;AAmBlC,oDAAoD;AAEpD,eAAO,MAAM,sBAAsB;;CAoRxB,CAAC"}
@@ -2,7 +2,7 @@ import { isTypeNeverType, isTypeUnknownType, } from '@typescript-eslint/type-uti
2
2
  import { AST_NODE_TYPES, ESLintUtils, } from '@typescript-eslint/utils';
3
3
  import { typeWrapperLayers } from 'eslint-rule-forge';
4
4
  import { Arr } from 'ts-data-forge';
5
- import { isArrayTypeNode, isConditionalTypeNode, isFunctionTypeNode, isIndexedAccessTypeNode, isIntersectionTypeNode, isNamedTupleMember, isTupleTypeNode, isTypeLiteralNode, isTypeNode, isTypeOperatorNode, isTypeReferenceNode, isUnionTypeNode, SyntaxKind, } from 'typescript';
5
+ import { forEachChild, isIdentifier, isMappedTypeNode, isTypeParameterDeclaration, isTypeReferenceNode, SyntaxKind, } from 'typescript';
6
6
  import { createRule } from './common.mjs';
7
7
 
8
8
  export const noHiddenTypeAssertions = createRule({
@@ -26,30 +26,20 @@ export const noHiddenTypeAssertions = createRule({
26
26
 
27
27
 
28
28
 
29
- const explodeTypeNode = (type) => {
30
- const next = isTypeReferenceNode(type)
31
- ? (type.typeArguments ?? [])
32
- : isConditionalTypeNode(type)
33
- ? [type.checkType, type.trueType, type.falseType]
34
- : isIndexedAccessTypeNode(type)
35
- ? [type.objectType, type.indexType]
36
- : isFunctionTypeNode(type)
37
- ? Arr.toUnshifted(type.type)(parameterTypeNodes(type.parameters))
38
- : isTupleTypeNode(type)
39
- ? type.elements
40
- : isNamedTupleMember(type)
41
- ? [type.type]
42
- : isTypeLiteralNode(type)
43
- ? type.members.flatMap((m) => hasTypeNode(m) ? [m.type] : [])
44
- : isArrayTypeNode(type)
45
- ? [type.elementType]
46
- : isTypeOperatorNode(type)
47
- ? [type.type]
48
- : isUnionTypeNode(type) || isIntersectionTypeNode(type)
49
- ? type.types
50
- : [];
51
- return Arr.toUnshifted(type)(next.flatMap(explodeTypeNode));
52
- };
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+ const referencesTypeParameter = (node, typeParameter) => (!isTypeParameterDeclaration(node) || isMappedTypeNode(node.parent)) &&
37
+ ((isTypeReferenceNode(node) &&
38
+ isIdentifier(node.typeName) &&
39
+ node.typeName.text === typeParameter.name &&
40
+ checker.getSymbolAtLocation(node.typeName) === typeParameter) ||
41
+ (forEachChild(node, (child) => referencesTypeParameter(child, typeParameter) || undefined) ??
42
+ false));
53
43
 
54
44
 
55
45
 
@@ -62,25 +52,42 @@ export const noHiddenTypeAssertions = createRule({
62
52
  typeParameters.length === 0) {
63
53
  return undefined;
64
54
  }
65
- const returnTypes = explodeTypeNode(returnType);
66
- return typeParameters
67
- .map((typeParameter, index) => ({ typeParameter, index }))
68
- .filter((typeParameter) => returnTypes.some((retType) => isTypeReferenceNode(retType) &&
69
- retType.typeName.kind === SyntaxKind.Identifier &&
70
- retType.typeName.text === typeParameter.typeParameter.name.text));
55
+ const used = typeParameters.flatMap((typeParameter, index) => {
56
+ const symbol = checker.getSymbolAtLocation(typeParameter.name);
57
+ return symbol !== undefined &&
58
+ referencesTypeParameter(returnType, symbol)
59
+ ? [{ typeParameter, symbol, index }]
60
+ : [];
61
+ });
62
+ return Arr.isNonEmpty(used) ? used : undefined;
71
63
  };
72
64
 
73
65
 
74
66
 
75
67
 
76
68
 
77
- const returnTypeParamsAppearInValueParams = (declaration, typeParamsUsedInReturnType) => {
78
- const parameters = parameterTypeNodes(declaration.parameters).flatMap(explodeTypeNode);
79
- return typeParamsUsedInReturnType
80
- .map(({ typeParameter }) => typeParameter)
81
- .every((typeParameter) => parameters.some((parameter) => isTypeReferenceNode(parameter) &&
82
- parameter.typeName.kind === SyntaxKind.Identifier &&
83
- typeParameter.name.text === parameter.typeName.text));
69
+ const returnTypeParamsAppearInValueParams = (declaration, typeParamsUsedInReturnType) => typeParamsUsedInReturnType.every(({ symbol }) => declaration.parameters.some((parameter) => parameter.type !== undefined &&
70
+ referencesTypeParameter(parameter.type, symbol)));
71
+ const mut_analysisCache = new WeakMap();
72
+
73
+
74
+
75
+
76
+
77
+
78
+ const analyzeSignature = (declaration) => {
79
+ if (mut_analysisCache.has(declaration)) {
80
+ return mut_analysisCache.get(declaration);
81
+ }
82
+ const typeParamsUsedInReturnType = typeParamsUsedInReturnTypeOf(declaration);
83
+ const analysis = typeParamsUsedInReturnType === undefined
84
+ ? undefined
85
+ : {
86
+ typeParamsUsedInReturnType,
87
+ appearInValueParams: returnTypeParamsAppearInValueParams(declaration, typeParamsUsedInReturnType),
88
+ };
89
+ mut_analysisCache.set(declaration, analysis);
90
+ return analysis;
84
91
  };
85
92
 
86
93
 
@@ -92,9 +99,8 @@ export const noHiddenTypeAssertions = createRule({
92
99
  declaration.kind === SyntaxKind.JSDocSignature) {
93
100
  return false;
94
101
  }
95
- const typeParamsUsedInReturnType = typeParamsUsedInReturnTypeOf(declaration);
96
- return (typeParamsUsedInReturnType !== undefined &&
97
- !returnTypeParamsAppearInValueParams(declaration, typeParamsUsedInReturnType));
102
+ const analysis = analyzeSignature(declaration);
103
+ return analysis !== undefined && !analysis.appearInValueParams;
98
104
  });
99
105
 
100
106
 
@@ -142,14 +148,15 @@ export const noHiddenTypeAssertions = createRule({
142
148
 
143
149
  return;
144
150
  }
145
- const typeParamsUsedInReturnType = typeParamsUsedInReturnTypeOf(callSignature.declaration);
146
- if (typeParamsUsedInReturnType === undefined) {
151
+ const analysis = analyzeSignature(callSignature.declaration);
152
+ if (analysis === undefined) {
147
153
  return;
148
154
  }
149
155
 
150
156
 
151
157
 
152
- const allCorrespondingTypeArgumentsAreUnknownType = typeParamsUsedInReturnType.every(({ index, typeParameter }) => {
158
+
159
+ const allCorrespondingTypeArgumentsAreUnknownType = analysis.typeParamsUsedInReturnType.every(({ index, typeParameter }) => {
153
160
  const typeArgument = (tsExpressionNode.typeArguments ?? [])[index];
154
161
  const typeArgumentType = typeArgument !== undefined
155
162
  ? checker.getTypeAtLocation(typeArgument)
@@ -164,7 +171,7 @@ export const noHiddenTypeAssertions = createRule({
164
171
  if (allCorrespondingTypeArgumentsAreUnknownType) {
165
172
  return;
166
173
  }
167
- if (!returnTypeParamsAppearInValueParams(callSignature.declaration, typeParamsUsedInReturnType)) {
174
+ if (!analysis.appearInValueParams) {
168
175
  context.report({
169
176
  node,
170
177
  messageId: 'errorStringGeneric',
@@ -174,20 +181,4 @@ export const noHiddenTypeAssertions = createRule({
174
181
  };
175
182
  },
176
183
  });
177
-
178
-
179
-
180
-
181
- const parameterTypeNodes = (parameters) => parameters.flatMap((parameter) => parameter.type !== undefined ? [parameter.type] : []);
182
- const hasTypeNode = (typeElement) => {
183
- try {
184
-
185
- const typeAttr = typeElement
186
- .type;
187
- return typeAttr !== undefined && isTypeNode(typeAttr);
188
- }
189
- catch {
190
- return false;
191
- }
192
- };
193
184
  //# sourceMappingURL=no-hidden-type-assertions.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"no-hidden-type-assertions.mjs","sourceRoot":"","sources":["../../../../src/plugins/total-functions/rules/no-hidden-type-assertions.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"no-hidden-type-assertions.mjs","sourceRoot":"","sources":["../../../../src/plugins/total-functions/rules/no-hidden-type-assertions.mts"],"names":[],"mappings":"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"}
@@ -55,15 +55,18 @@ type MessageIds = 'raggedWrap';
55
55
  *
56
56
  * ## Print width
57
57
  *
58
- * The `printWidth` option; or else that of the nearest Prettier configuration
59
- * above the file, looked for as Prettier does — the `prettier` key of a
60
- * `package.json`, then `.prettierrc` and the other `.prettierrc.*` and
61
- * `prettier.config.*` files; or else 80, Prettier's default. Only JSON is read
62
- * (`package.json`, `.prettierrc`, `.prettierrc.json`): the nearest
63
- * configuration in another format, or one naming a shared configuration, gives
64
- * 80, and neither a `printWidth` set only in `overrides` nor an `.editorconfig`
65
- * `max_line_length` (which Prettier reads when its own configuration sets no
66
- * `printWidth`) is seen. Pass the option for any of these.
58
+ * The `printWidth` option; or else the width Prettier would resolve for the
59
+ * file: that of the nearest Prettier configuration above it, looked for as
60
+ * Prettier does — the `prettier` key of a `package.json`, then `.prettierrc`
61
+ * and the other `.prettierrc.*` and `prettier.config.*` files — with the
62
+ * `overrides` whose `files` match the file applied; or else the
63
+ * `max_line_length` of the `.editorconfig` files from the file's directory up
64
+ * to the project root (the nearest directory with `.git`) or the first
65
+ * `root = true`; or else 80, Prettier's default. A `max_line_length` of `off`
66
+ * turns the rule off. Only JSON configurations are read (`package.json`,
67
+ * `.prettierrc`, `.prettierrc.json`): the nearest configuration in another
68
+ * format, or one naming a shared configuration, is taken to set no width, so
69
+ * the search goes on to `.editorconfig`. Pass the option for those.
67
70
  *
68
71
  * ## Fix
69
72
  *
@@ -1 +1 @@
1
- {"version":3,"file":"no-ragged-comment-wrap.d.mts","sourceRoot":"","sources":["../../../../src/plugins/ts-restrictions/rules/no-ragged-comment-wrap.mts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;AAMlC,KAAK,OAAO,GAAG,SAAS;IACtB,QAAQ,CAAC;QACP,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ,CAAC;AAEF,KAAK,UAAU,GAAG,YAAY,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CA4D/D,CAAC"}
1
+ {"version":3,"file":"no-ragged-comment-wrap.d.mts","sourceRoot":"","sources":["../../../../src/plugins/ts-restrictions/rules/no-ragged-comment-wrap.mts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;AAYlC,KAAK,OAAO,GAAG,SAAS;IACtB,QAAQ,CAAC;QACP,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ,CAAC;AAEF,KAAK,UAAU,GAAG,YAAY,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CA4D/D,CAAC"}
@@ -1,6 +1,8 @@
1
1
 
2
2
  import { AST_TOKEN_TYPES, } from '@typescript-eslint/utils';
3
- import { existsSync, readFileSync } from 'node:fs';
3
+ import { parseSync as parseEditorconfig } from 'editorconfig-without-wasm';
4
+ import mm from 'micromatch';
5
+ import { existsSync, lstatSync, readFileSync } from 'node:fs';
4
6
  import * as path from 'node:path';
5
7
  import { Arr, hasKey, isRecord } from 'ts-data-forge';
6
8
 
@@ -68,6 +70,9 @@ import { Arr, hasKey, isRecord } from 'ts-data-forge';
68
70
 
69
71
 
70
72
 
73
+
74
+
75
+
71
76
 
72
77
 
73
78
 
@@ -86,7 +91,7 @@ export const noRaggedCommentWrap = {
86
91
  printWidth: {
87
92
  type: 'integer',
88
93
  minimum: 1,
89
- description: "The width to wrap comments at (default: the nearest JSON Prettier configuration's `printWidth`, else 80)",
94
+ description: "The width to wrap comments at (default: the nearest JSON Prettier configuration's `printWidth` for the file, else the `.editorconfig` `max_line_length`, else 80)",
90
95
  },
91
96
  },
92
97
  additionalProperties: false,
@@ -101,7 +106,7 @@ export const noRaggedCommentWrap = {
101
106
  let mut_printWidth = context.options[0]?.printWidth;
102
107
 
103
108
  const printWidth = () => {
104
- mut_printWidth ??= printWidthOfPrettierConfig(path.resolve(path.dirname(context.physicalFilename)));
109
+ mut_printWidth ??= resolvePrintWidth(path.resolve(context.physicalFilename));
105
110
  return mut_printWidth;
106
111
  };
107
112
  return {
@@ -203,7 +208,7 @@ const parseJson = (file) => {
203
208
  return JSON.parse(readFileSync(file, 'utf8'));
204
209
  }
205
210
  catch {
206
- return undefined;
211
+ return null;
207
212
  }
208
213
  };
209
214
 
@@ -212,14 +217,13 @@ const parseJson = (file) => {
212
217
 
213
218
 
214
219
 
215
-
216
- const printWidthIn = (dir) => {
220
+ const prettierConfigIn = (dir) => {
217
221
  const packageJson = path.join(dir, 'package.json');
218
222
 
219
223
  if (existsSync(packageJson)) {
220
224
  const manifest = parseJson(packageJson);
221
225
  if (isRecord(manifest) && hasKey(manifest, 'prettier')) {
222
- return printWidthInJson(manifest.prettier) ?? null;
226
+ return { dir, options: manifest.prettier };
223
227
  }
224
228
  }
225
229
  const packageYaml = path.join(dir, 'package.yaml');
@@ -228,36 +232,117 @@ const printWidthIn = (dir) => {
228
232
  existsSync(packageYaml) &&
229
233
 
230
234
  /^prettier:/mu.test(readFileSync(packageYaml, 'utf8'))) {
231
- return null;
235
+ return { dir, options: null };
232
236
  }
233
237
  for (const name of ['.prettierrc', '.prettierrc.json']) {
234
238
  const file = path.join(dir, name);
235
239
 
236
240
  if (existsSync(file)) {
237
- return printWidthInJson(parseJson(file)) ?? null;
241
+ return { dir, options: parseJson(file) };
238
242
  }
239
243
  }
240
244
  return UNREADABLE_CONFIG_FILES.some((name) =>
241
245
 
242
246
  existsSync(path.join(dir, name)))
243
- ? null
247
+ ? { dir, options: null }
244
248
  : undefined;
245
249
  };
250
+ const nearestPrettierConfig = (dir) => {
251
+ const parent = path.dirname(dir);
252
+ return (prettierConfigIn(dir) ??
253
+ (parent === dir ? undefined : nearestPrettierConfig(parent)));
254
+ };
255
+
256
+
257
+
258
+
259
+ const globsIn = (value) => (typeof value === 'string'
260
+ ? [value]
261
+ : Arr.isArray(value)
262
+ ? value.filter((v) => typeof v === 'string')
263
+ : []).filter((g) => g !== '');
264
+
265
+
266
+
267
+
268
+
269
+ const overrideApplies = (file, override) => {
270
+ const ignore = globsIn(override['excludeFiles']);
271
+ const globs = globsIn(override['files']);
272
+ return (mm.isMatch(file, globs.filter((g) => !g.includes('/')), { ignore, basename: true, dot: true }) ||
273
+ mm.isMatch(file, globs.filter((g) => g.includes('/')), { ignore, basename: false, dot: true }));
274
+ };
275
+
276
+
277
+
278
+
279
+
280
+ const printWidthOfPrettierConfig = (file) => {
281
+ const found = nearestPrettierConfig(path.dirname(file));
282
+ if (found === undefined || !isRecord(found.options)) {
283
+ return undefined;
284
+ }
285
+ const relative = path.relative(found.dir, file);
286
+ const overrides = Arr.isArray(found.options['overrides'])
287
+ ? found.options['overrides']
288
+ : [];
289
+ return overrides.reduce((acc, override) => isRecord(override) && overrideApplies(relative, override)
290
+ ? (printWidthInJson(override['options']) ?? acc)
291
+ : acc, printWidthInJson(found.options));
292
+ };
293
+
246
294
 
247
295
 
248
296
 
249
297
 
250
298
 
251
- const printWidthOfPrettierConfig = (dir) => {
252
- const found = printWidthIn(dir);
299
+ const projectRoot = (dir) => {
253
300
  const parent = path.dirname(dir);
254
- return found === undefined
255
- ? parent === dir
256
- ? DEFAULT_PRINT_WIDTH
257
- : printWidthOfPrettierConfig(parent)
258
- : (found ?? DEFAULT_PRINT_WIDTH);
301
+ try {
302
+
303
+ lstatSync(path.join(dir, '.git'));
304
+ return dir;
305
+ }
306
+ catch {
307
+
308
+ }
309
+ try {
310
+
311
+ if (lstatSync(path.join(dir, '.hg')).isDirectory()) {
312
+ return dir;
313
+ }
314
+ }
315
+ catch {
316
+
317
+ }
318
+ return parent === dir ? undefined : projectRoot(parent);
319
+ };
320
+
321
+
322
+
323
+
324
+
325
+
326
+ const printWidthOfEditorconfig = (file) => {
327
+ const root = projectRoot(path.dirname(file));
328
+ const { max_line_length: maxLineLength } = parseEditorconfig(file, root === undefined ? {} : { root });
329
+ return maxLineLength === 'off'
330
+ ? Number.POSITIVE_INFINITY
331
+ : typeof maxLineLength === 'number' &&
332
+ Number.isSafeInteger(maxLineLength) &&
333
+ maxLineLength > 0
334
+ ? maxLineLength
335
+ : undefined;
259
336
  };
260
337
 
338
+
339
+
340
+
341
+
342
+ const resolvePrintWidth = (file) => printWidthOfPrettierConfig(file) ??
343
+ printWidthOfEditorconfig(file) ??
344
+ DEFAULT_PRINT_WIDTH;
345
+
261
346
  const kindOf = (text) => {
262
347
  if (text === '') {
263
348
  return 'blank';
@@ -469,6 +554,10 @@ const fill = (words, room) => {
469
554
  };
470
555
  const reportSegment = (context, { printWidth: printWidthOf, hasCarriageReturn }, segment) => {
471
556
  const printWidth = printWidthOf();
557
+
558
+ if (!Number.isFinite(printWidth)) {
559
+ return;
560
+ }
472
561
  const ragged = segment.findIndex((l, i) => {
473
562
  const next = segment[i + 1];
474
563
  return (next !== undefined &&
@@ -1 +1 @@
1
- {"version":3,"file":"no-ragged-comment-wrap.mjs","sourceRoot":"","sources":["../../../../src/plugins/ts-restrictions/rules/no-ragged-comment-wrap.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"no-ragged-comment-wrap.mjs","sourceRoot":"","sources":["../../../../src/plugins/ts-restrictions/rules/no-ragged-comment-wrap.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { type TSESLint } from '@typescript-eslint/utils';
2
+ type Options = readonly [
3
+ Readonly<{
4
+ guardFunctions?: readonly string[];
5
+ }>?
6
+ ];
7
+ type MessageIds = 'missingImeGuard';
8
+ /**
9
+ * Report a comparison of a keyboard event's `key` or `code` with `'Enter'` (or
10
+ * `'NumpadEnter'`) — `===`, `!==`, `==`, `!=` or a `case 'Enter':` of a
11
+ * `switch` on it — when nothing checks the same event for input method
12
+ * composition.
13
+ *
14
+ * ## Why
15
+ *
16
+ * The Enter that confirms an input method's conversion is a key down too, with
17
+ * `key` `'Enter'`. A handler that acts on it submits a half-typed Japanese (or
18
+ * Chinese, Korean, …) value. A handler has to leave it alone: while
19
+ * `event.isComposing` is `true`, and — since Safari sends the confirming Enter
20
+ * after `compositionend` — when its key code is 229.
21
+ *
22
+ * ## What counts as a check
23
+ *
24
+ * A read of `isComposing` on the same event (`event.isComposing`, or
25
+ * `event.nativeEvent.isComposing` for a React event), or a call of one of the
26
+ * `guardFunctions` (default: `isImeKeyDown`, which `synstate-dom` exports and
27
+ * which covers Safari's case as well) with the event or its `nativeEvent` as an
28
+ * argument (or, for a comparison of `event.nativeEvent.key`, with `event`).
29
+ * "The same event" is the same variable, not the same name, so a check of a
30
+ * same-named parameter of another handler does not count. The check may be
31
+ * anywhere — the same condition, an early return before a `switch`, an
32
+ * enclosing function — so its place is not judged, only that it exists.
33
+ * `isComposing` alone misses Safari's Enter, so prefer the guard function.
34
+ *
35
+ * Only an object whose type (or a member of whose union type) has an
36
+ * `isComposing` or a `nativeEvent` property is taken for an event, so that a
37
+ * `key` field of anything else is left alone; one typed `any` is left alone
38
+ * too. A key read through destructuring (`({ key }) => key === 'Enter'`) or
39
+ * tested by a collection (`keys.has(event.key)`) is not seen, and neither is a
40
+ * `keyup` handler's need for a different guard: on the key up of the confirming
41
+ * Enter, `isComposing` is already `false`.
42
+ *
43
+ * Enter on a button, a tab or another element that takes no text cannot come
44
+ * from an input method, but the rule cannot tell the element from the handler;
45
+ * the guard costs nothing there, so add it rather than turning the rule off.
46
+ */
47
+ export declare const requireImeGuardOnEnter: TSESLint.RuleModule<MessageIds, Options>;
48
+ export {};
49
+ //# sourceMappingURL=require-ime-guard-on-enter.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"require-ime-guard-on-enter.d.mts","sourceRoot":"","sources":["../../../../src/plugins/ts-restrictions/rules/require-ime-guard-on-enter.mts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;AAOlC,KAAK,OAAO,GAAG,SAAS;IACtB,QAAQ,CAAC;QACP,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KACpC,CAAC,CAAC;CACJ,CAAC;AAEF,KAAK,UAAU,GAAG,iBAAiB,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAoJhE,CAAC"}