ts-codemod-lib 3.4.0 → 3.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.
Files changed (42) hide show
  1. package/dist/functions/ast-transformers/append-as-const.d.mts +2 -2
  2. package/dist/functions/ast-transformers/append-as-const.d.mts.map +1 -1
  3. package/dist/functions/ast-transformers/append-as-const.mjs +13 -3
  4. package/dist/functions/ast-transformers/append-as-const.mjs.map +1 -1
  5. package/dist/functions/ast-transformers/convert-interface-to-type.d.mts +1 -1
  6. package/dist/functions/ast-transformers/convert-interface-to-type.d.mts.map +1 -1
  7. package/dist/functions/ast-transformers/convert-to-readonly.d.mts +2 -2
  8. package/dist/functions/ast-transformers/convert-to-readonly.d.mts.map +1 -1
  9. package/dist/functions/ast-transformers/enable-no-unchecked-indexed-access.d.mts +2 -2
  10. package/dist/functions/ast-transformers/enable-no-unchecked-indexed-access.d.mts.map +1 -1
  11. package/dist/functions/ast-transformers/enable-no-unchecked-indexed-access.mjs +24 -6
  12. package/dist/functions/ast-transformers/enable-no-unchecked-indexed-access.mjs.map +1 -1
  13. package/dist/functions/ast-transformers/readonly-transformer-helpers/readonly-context.d.mts +1 -1
  14. package/dist/functions/ast-transformers/readonly-transformer-helpers/readonly-context.d.mts.map +1 -1
  15. package/dist/functions/ast-transformers/replace-any-with-unknown.d.mts +1 -1
  16. package/dist/functions/ast-transformers/replace-any-with-unknown.d.mts.map +1 -1
  17. package/dist/functions/ast-transformers/replace-record-with-unknown-record.d.mts +1 -1
  18. package/dist/functions/ast-transformers/replace-record-with-unknown-record.d.mts.map +1 -1
  19. package/dist/functions/ast-transformers/transform-source-code.d.mts +1 -1
  20. package/dist/functions/ast-transformers/transform-source-code.d.mts.map +1 -1
  21. package/dist/functions/functions/is-atomic-type-node.d.mts +1 -1
  22. package/dist/functions/functions/is-atomic-type-node.d.mts.map +1 -1
  23. package/dist/functions/functions/is-readonly-node.d.mts +1 -1
  24. package/dist/functions/functions/is-readonly-node.d.mts.map +1 -1
  25. package/dist/functions/functions/unwrap-readonly.d.mts +1 -1
  26. package/dist/functions/functions/unwrap-readonly.d.mts.map +1 -1
  27. package/package.json +4 -4
  28. package/src/functions/ast-transformers/append-as-const.mts +21 -5
  29. package/src/functions/ast-transformers/append-as-const.test.mts +24 -0
  30. package/src/functions/ast-transformers/convert-interface-to-type.mts +1 -1
  31. package/src/functions/ast-transformers/convert-to-readonly.mts +6 -6
  32. package/src/functions/ast-transformers/convert-to-readonly.test.mts +1 -1
  33. package/src/functions/ast-transformers/enable-no-unchecked-indexed-access.mts +30 -8
  34. package/src/functions/ast-transformers/enable-no-unchecked-indexed-access.test.mts +111 -0
  35. package/src/functions/ast-transformers/readonly-transformer-helpers/compare-union-types.mts +1 -1
  36. package/src/functions/ast-transformers/readonly-transformer-helpers/readonly-context.mts +1 -1
  37. package/src/functions/ast-transformers/replace-any-with-unknown.mts +1 -1
  38. package/src/functions/ast-transformers/replace-record-with-unknown-record.mts +1 -1
  39. package/src/functions/ast-transformers/transform-source-code.mts +1 -1
  40. package/src/functions/functions/is-atomic-type-node.mts +1 -1
  41. package/src/functions/functions/is-readonly-node.mts +1 -1
  42. package/src/functions/functions/unwrap-readonly.mts +1 -1
@@ -1,5 +1,5 @@
1
- import { type DeepReadonly } from 'ts-type-forge';
2
- import { type TsMorphTransformer } from './types.mjs';
1
+ import type { DeepReadonly } from 'ts-type-forge';
2
+ import type { TsMorphTransformer } from './types.mjs';
3
3
  export declare const appendAsConstTransformer: (options?: AppendAsConstTransformerOptions) => TsMorphTransformer;
4
4
  export type AppendAsConstTransformerOptions = DeepReadonly<{
5
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"append-as-const.d.mts","sourceRoot":"","sources":["../../../src/functions/ast-transformers/append-as-const.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAMlD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD,eAAO,MAAM,wBAAwB,aACzB,+BAA+B,KACxC,kBAuCF,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,YAAY,CAAC;IACzD;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,GAAG,qBAAqB,CAAC;IAE3C;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;;;;;;;;;;;;OAcG;IACH,mCAAmC,CAAC,EAAE,OAAO,CAAC;IAE9C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"append-as-const.d.mts","sourceRoot":"","sources":["../../../src/functions/ast-transformers/append-as-const.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAMlD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD,eAAO,MAAM,wBAAwB,aACzB,+BAA+B,KACxC,kBAuCF,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,YAAY,CAAC;IACzD;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,GAAG,qBAAqB,CAAC;IAE3C;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;;;;;;;;;;;;OAcG;IACH,mCAAmC,CAAC,EAAE,OAAO,CAAC;IAE9C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC,CAAC"}
@@ -233,7 +233,7 @@ sourceAst, options) => {
233
233
  }
234
234
  const args = call.getArguments();
235
235
 
236
- if (!args.some(isAsConstNode)) {
236
+ if (args.every((arg) => !isAsConstNode(skipParenthesizedExpressions(arg)))) {
237
237
  continue;
238
238
  }
239
239
  if (hasDisableNextLineComment(call, TRANSFORMER_NAME)) {
@@ -267,7 +267,12 @@ callTarget, options) => {
267
267
  if (argumentIndex >= mappableArgCount) {
268
268
  return;
269
269
  }
270
- if (argument.wasForgotten() || !isAsConstNode(argument)) {
270
+ if (argument.wasForgotten()) {
271
+ continue;
272
+ }
273
+
274
+ const asConst = skipParenthesizedExpressions(argument);
275
+ if (!isAsConstNode(asConst)) {
271
276
  continue;
272
277
  }
273
278
  if (hasDisableNextLineComment(argument, TRANSFORMER_NAME)) {
@@ -279,10 +284,15 @@ callTarget, options) => {
279
284
  continue;
280
285
  }
281
286
  options.debugPrint('removing redundant as const in const type parameter argument', argument.getText());
282
- options.replaceNode(argument, argument.getExpression().getText());
287
+
288
+ options.replaceNode(argument, asConst.getExpression().getText());
283
289
  }
284
290
  };
285
291
 
292
+ const skipParenthesizedExpressions = (node) => tsm.Node.isParenthesizedExpression(node)
293
+ ? skipParenthesizedExpressions(node.getExpression())
294
+ : node;
295
+
286
296
 
287
297
 
288
298
 
@@ -1 +1 @@
1
- {"version":3,"file":"append-as-const.mjs","sourceRoot":"","sources":["../../../src/functions/ast-transformers/append-as-const.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"append-as-const.mjs","sourceRoot":"","sources":["../../../src/functions/ast-transformers/append-as-const.mts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type TsMorphTransformer } from './types.mjs';
1
+ import type { TsMorphTransformer } from './types.mjs';
2
2
  /**
3
3
  * interface による型定義を type による型定義に変換する。
4
4
  * @typescript-eslint/consistent-type-definitions: ["error", "type"] と同等の動作
@@ -1 +1 @@
1
- {"version":3,"file":"convert-interface-to-type.d.mts","sourceRoot":"","sources":["../../../src/functions/ast-transformers/convert-interface-to-type.mts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD;;;GAGG;AACH,eAAO,MAAM,iCAAiC,QAAO,kBAqHxC,CAAC"}
1
+ {"version":3,"file":"convert-interface-to-type.d.mts","sourceRoot":"","sources":["../../../src/functions/ast-transformers/convert-interface-to-type.mts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD;;;GAGG;AACH,eAAO,MAAM,iCAAiC,QAAO,kBAqHxC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { type DeepReadonly } from 'ts-type-forge';
2
- import { type TsMorphTransformer } from './types.mjs';
1
+ import type { DeepReadonly } from 'ts-type-forge';
2
+ import type { TsMorphTransformer } from './types.mjs';
3
3
  export declare const convertToReadonlyTransformer: (options?: ReadonlyTransformerOptions) => TsMorphTransformer;
4
4
  export type ReadonlyTransformerOptions = DeepReadonly<{
5
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"convert-to-readonly.d.mts","sourceRoot":"","sources":["../../../src/functions/ast-transformers/convert-to-readonly.mts"],"names":[],"mappings":"AAUA,OAAO,EACL,KAAK,YAAY,EAIlB,MAAM,eAAe,CAAC;AAuBvB,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD,eAAO,MAAM,4BAA4B,aAC7B,0BAA0B,KACnC,kBAwCF,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,YAAY,CAAC;IACpD;;OAEG;IACH,YAAY,CAAC,EAAE;QACb;;;;WAIG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;KA2BnB,CAAC;IAEF;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;;;;;;;;;;;;;;;OAiBG;IACH,WAAW,CAAC,EAAE,kBAAkB,GAAG,gBAAgB,CAAC;IAEpD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"convert-to-readonly.d.mts","sourceRoot":"","sources":["../../../src/functions/ast-transformers/convert-to-readonly.mts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,YAAY,EAIb,MAAM,eAAe,CAAC;AAuBvB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD,eAAO,MAAM,4BAA4B,aAC7B,0BAA0B,KACnC,kBAwCF,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,YAAY,CAAC;IACpD;;OAEG;IACH,YAAY,CAAC,EAAE;QACb;;;;WAIG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;KA2BnB,CAAC;IAEF;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;;;;;;;;;;;;;;;OAiBG;IACH,WAAW,CAAC,EAAE,kBAAkB,GAAG,gBAAgB,CAAC;IAEpD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { type DeepReadonly } from 'ts-type-forge';
2
- import { type TsMorphTransformer } from './types.mjs';
1
+ import type { DeepReadonly } from 'ts-type-forge';
2
+ import type { TsMorphTransformer } from './types.mjs';
3
3
  /**
4
4
  * Appends `!` to the index accesses that turning on the
5
5
  * [`noUncheckedIndexedAccess`](https://www.typescriptlang.org/tsconfig/#noUncheckedIndexedAccess)
@@ -1 +1 @@
1
- {"version":3,"file":"enable-no-unchecked-indexed-access.d.mts","sourceRoot":"","sources":["../../../src/functions/ast-transformers/enable-no-unchecked-indexed-access.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,eAAO,MAAM,yCAAyC,aAC1C,gDAAgD,KACzD,kBAyBF,CAAC;AAEF,MAAM,MAAM,gDAAgD,GAAG,YAAY,CAAC;IAC1E;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EAAE,KAAK,GAAG,8BAA8B,CAAC;IAEpD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"enable-no-unchecked-indexed-access.d.mts","sourceRoot":"","sources":["../../../src/functions/ast-transformers/enable-no-unchecked-indexed-access.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,eAAO,MAAM,yCAAyC,aAC1C,gDAAgD,KACzD,kBAyBF,CAAC;AAEF,MAAM,MAAM,gDAAgD,GAAG,YAAY,CAAC;IAC1E;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EAAE,KAAK,GAAG,8BAA8B,CAAC;IAEpD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC,CAAC"}
@@ -192,19 +192,37 @@ node) => {
192
192
 
193
193
 
194
194
 
195
+
196
+
197
+
198
+
195
199
  const isAssertableReadPosition = (
196
200
 
197
201
  node) => {
198
- const parent = node.getParent();
202
+ const outer = outermostParenthesized(node);
203
+ const parent = outer.getParent();
199
204
  if (parent === undefined) {
200
205
  return false;
201
206
  }
202
- return (!isAlreadyAssertedOrGuarded(node, parent) &&
203
- !isWriteTarget(node, parent) &&
204
- !isTestedForAbsence(node, parent));
207
+ return (!isAlreadyAssertedOrGuarded(node, outer, parent) &&
208
+ !isWriteTarget(outer, parent) &&
209
+ !isTestedForAbsence(outer, parent));
210
+ };
211
+
212
+ const outermostParenthesized = (node) => {
213
+ const parent = node.getParent();
214
+ return parent?.isKind(tsm.SyntaxKind.ParenthesizedExpression) === true
215
+ ? outermostParenthesized(parent)
216
+ : node;
205
217
  };
206
218
 
207
- const isAlreadyAssertedOrGuarded = (node, parent) => {
219
+
220
+
221
+
222
+
223
+
224
+
225
+ const isAlreadyAssertedOrGuarded = (node, outer, parent) => {
208
226
  if (parent.isKind(tsm.SyntaxKind.NonNullExpression) ||
209
227
  parent.isKind(tsm.SyntaxKind.AsExpression) ||
210
228
  parent.isKind(tsm.SyntaxKind.TypeAssertionExpression)) {
@@ -219,7 +237,7 @@ const isAlreadyAssertedOrGuarded = (node, parent) => {
219
237
  parent.isKind(tsm.SyntaxKind.ElementAccessExpression) ||
220
238
  parent.isKind(tsm.SyntaxKind.CallExpression)) &&
221
239
  parent.hasQuestionDotToken() &&
222
- parent.getExpression() === node);
240
+ parent.getExpression() === outer);
223
241
  };
224
242
 
225
243
 
@@ -1 +1 @@
1
- {"version":3,"file":"enable-no-unchecked-indexed-access.mjs","sourceRoot":"","sources":["../../../src/functions/ast-transformers/enable-no-unchecked-indexed-access.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enable-no-unchecked-indexed-access.mjs","sourceRoot":"","sources":["../../../src/functions/ast-transformers/enable-no-unchecked-indexed-access.mts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type SafeUintWithSmallInt, type StrictExtract } from 'ts-type-forge';
1
+ import type { SafeUintWithSmallInt, StrictExtract } from 'ts-type-forge';
2
2
  /**
3
3
  * Controls whether to make a layer mutable during recursive transformation
4
4
  * calls, to standardize by omitting readonly from inner `number[]` in types
@@ -1 +1 @@
1
- {"version":3,"file":"readonly-context.d.mts","sourceRoot":"","sources":["../../../../src/functions/ast-transformers/readonly-transformer-helpers/readonly-context.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9E;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,CACpC,CACI;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CACnB,GAAG;IAAE,kBAAkB,EAAE,oBAAoB,CAAA;CAAE,CACjD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,KAAK,CAAC,IAAI,SAAS,eAAe,EAClC,KAAK,CAAC,IAAI,SAAS,eAAe,CAAC,MAAM,CAAC,8FAKzC,QAAQ,CACT,CACI;IACE,uBAAuB,EAAE,IAAI,CAAC;IAC9B,wBAAwB,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;CACjE,GACD;IACE,uBAAuB,EAAE,aAAa,CACpC,eAAe,CAAC,MAAM,CAAC,EACvB,cAAc,CACf,CAAC;IACF,wBAAwB,CAAC,EAAE,UAAU,CAAC;CACvC,CACJ,GAAG;IACF,sBAAsB,EAAE,IAAI,CAAC;CAC9B,CACF,KAAG,QAAQ,CAAC;IACX,IAAI,EAAE,IAAI,GAAG,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC;IACpE,kBAAkB,EAAE,oBAAoB,CAAC;CAC1C,CAcgB,CAAC"}
1
+ {"version":3,"file":"readonly-context.d.mts","sourceRoot":"","sources":["../../../../src/functions/ast-transformers/readonly-transformer-helpers/readonly-context.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEzE;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,CACpC,CACI;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CACnB,GAAG;IAAE,kBAAkB,EAAE,oBAAoB,CAAA;CAAE,CACjD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,KAAK,CAAC,IAAI,SAAS,eAAe,EAClC,KAAK,CAAC,IAAI,SAAS,eAAe,CAAC,MAAM,CAAC,8FAKzC,QAAQ,CACT,CACI;IACE,uBAAuB,EAAE,IAAI,CAAC;IAC9B,wBAAwB,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;CACjE,GACD;IACE,uBAAuB,EAAE,aAAa,CACpC,eAAe,CAAC,MAAM,CAAC,EACvB,cAAc,CACf,CAAC;IACF,wBAAwB,CAAC,EAAE,UAAU,CAAC;CACvC,CACJ,GAAG;IACF,sBAAsB,EAAE,IAAI,CAAC;CAC9B,CACF,KAAG,QAAQ,CAAC;IACX,IAAI,EAAE,IAAI,GAAG,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC;IACpE,kBAAkB,EAAE,oBAAoB,CAAC;CAC1C,CAcgB,CAAC"}
@@ -1,3 +1,3 @@
1
- import { type TsMorphTransformer } from './types.mjs';
1
+ import type { TsMorphTransformer } from './types.mjs';
2
2
  export declare const replaceAnyWithUnknownTransformer: () => TsMorphTransformer;
3
3
  //# sourceMappingURL=replace-any-with-unknown.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"replace-any-with-unknown.d.mts","sourceRoot":"","sources":["../../../src/functions/ast-transformers/replace-any-with-unknown.mts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD,eAAO,MAAM,gCAAgC,QAAO,kBAQvC,CAAC"}
1
+ {"version":3,"file":"replace-any-with-unknown.d.mts","sourceRoot":"","sources":["../../../src/functions/ast-transformers/replace-any-with-unknown.mts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD,eAAO,MAAM,gCAAgC,QAAO,kBAQvC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type TsMorphTransformer } from './types.mjs';
1
+ import type { TsMorphTransformer } from './types.mjs';
2
2
  /**
3
3
  * Replaces `Readonly<Record<string, unknown>>`, `Record<string, unknown>`,
4
4
  * and index signatures `[k: string]: unknown` with `UnknownRecord`.
@@ -1 +1 @@
1
- {"version":3,"file":"replace-record-with-unknown-record.d.mts","sourceRoot":"","sources":["../../../src/functions/ast-transformers/replace-record-with-unknown-record.mts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAQtD;;;;;;;GAOG;AACH,eAAO,MAAM,yCAAyC,QAChD,kBAaS,CAAC"}
1
+ {"version":3,"file":"replace-record-with-unknown-record.d.mts","sourceRoot":"","sources":["../../../src/functions/ast-transformers/replace-record-with-unknown-record.mts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAQtD;;;;;;;GAOG;AACH,eAAO,MAAM,yCAAyC,QAChD,kBAaS,CAAC"}
@@ -1,3 +1,3 @@
1
- import { type TsMorphTransformer } from './types.mjs';
1
+ import type { TsMorphTransformer } from './types.mjs';
2
2
  export declare const transformSourceCode: (code: string, isTsx: boolean, transformers: readonly TsMorphTransformer[], debug?: boolean) => string;
3
3
  //# sourceMappingURL=transform-source-code.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform-source-code.d.mts","sourceRoot":"","sources":["../../../src/functions/ast-transformers/transform-source-code.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA+KtD,eAAO,MAAM,mBAAmB,SACxB,MAAM,SACL,OAAO,gBACA,SAAS,kBAAkB,EAAE,UACpC,OAAO,KACb,MAkCF,CAAC"}
1
+ {"version":3,"file":"transform-source-code.d.mts","sourceRoot":"","sources":["../../../src/functions/ast-transformers/transform-source-code.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA+KtD,eAAO,MAAM,mBAAmB,SACxB,MAAM,SACL,OAAO,gBACA,SAAS,kBAAkB,EAAE,UACpC,OAAO,KACb,MAkCF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import * as tsm from 'ts-morph';
2
- import { type DeepReadonly } from 'ts-type-forge';
2
+ import type { DeepReadonly } from 'ts-type-forge';
3
3
  export type AtomicTypeNode = tsm.Node & Readonly<tsm.LiteralTypeNode | tsm.TemplateLiteralTypeNode | (tsm.TypeNode & {
4
4
  kind: tsm.SyntaxKind.StringKeyword | tsm.SyntaxKind.BooleanKeyword | tsm.SyntaxKind.NumberKeyword | tsm.SyntaxKind.BigIntKeyword | tsm.SyntaxKind.SymbolKeyword | tsm.SyntaxKind.UndefinedKeyword | tsm.SyntaxKind.VoidKeyword | tsm.SyntaxKind.AnyKeyword | tsm.SyntaxKind.UnknownKeyword | tsm.SyntaxKind.ObjectKeyword | tsm.SyntaxKind.NeverKeyword;
5
5
  })>;
@@ -1 +1 @@
1
- {"version":3,"file":"is-atomic-type-node.d.mts","sourceRoot":"","sources":["../../../src/functions/functions/is-atomic-type-node.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAkBlD,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,GACnC,QAAQ,CACJ,GAAG,CAAC,eAAe,GACnB,GAAG,CAAC,uBAAuB,GAC3B,CAAC,GAAG,CAAC,QAAQ,GAAG;IACd,IAAI,EACA,GAAG,CAAC,UAAU,CAAC,aAAa,GAC5B,GAAG,CAAC,UAAU,CAAC,cAAc,GAC7B,GAAG,CAAC,UAAU,CAAC,aAAa,GAC5B,GAAG,CAAC,UAAU,CAAC,aAAa,GAC5B,GAAG,CAAC,UAAU,CAAC,aAAa,GAC5B,GAAG,CAAC,UAAU,CAAC,gBAAgB,GAC/B,GAAG,CAAC,UAAU,CAAC,WAAW,GAC1B,GAAG,CAAC,UAAU,CAAC,UAAU,GACzB,GAAG,CAAC,UAAU,CAAC,cAAc,GAC7B,GAAG,CAAC,UAAU,CAAC,aAAa,GAC5B,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC;CACjC,CAAC,CACL,CAAC;AAEJ;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,SACrB,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAC3B,IAAI,IAAI,cAmBV,CAAC"}
1
+ {"version":3,"file":"is-atomic-type-node.d.mts","sourceRoot":"","sources":["../../../src/functions/functions/is-atomic-type-node.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAkBlD,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,GACnC,QAAQ,CACJ,GAAG,CAAC,eAAe,GACnB,GAAG,CAAC,uBAAuB,GAC3B,CAAC,GAAG,CAAC,QAAQ,GAAG;IACd,IAAI,EACA,GAAG,CAAC,UAAU,CAAC,aAAa,GAC5B,GAAG,CAAC,UAAU,CAAC,cAAc,GAC7B,GAAG,CAAC,UAAU,CAAC,aAAa,GAC5B,GAAG,CAAC,UAAU,CAAC,aAAa,GAC5B,GAAG,CAAC,UAAU,CAAC,aAAa,GAC5B,GAAG,CAAC,UAAU,CAAC,gBAAgB,GAC/B,GAAG,CAAC,UAAU,CAAC,WAAW,GAC1B,GAAG,CAAC,UAAU,CAAC,UAAU,GACzB,GAAG,CAAC,UAAU,CAAC,cAAc,GAC7B,GAAG,CAAC,UAAU,CAAC,aAAa,GAC5B,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC;CACjC,CAAC,CACL,CAAC;AAEJ;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,SACrB,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAC3B,IAAI,IAAI,cAmBV,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import * as tsm from 'ts-morph';
2
- import { type DeepReadonly, type StrictOmit } from 'ts-type-forge';
2
+ import type { DeepReadonly, StrictOmit } from 'ts-type-forge';
3
3
  export declare const isShallowReadonlyTypeNode: (node: tsm.Node) => boolean;
4
4
  export declare const isReadonlyTupleOrArrayTypeNode: (node: DeepReadonly<tsm.Node>) => node is ReadonlyArrayTypeNode | ReadonlyTupleTypeNode;
5
5
  export type ReadonlyArrayTypeNode = tsm.TypeNode & StrictOmit<tsm.TypeOperatorTypeNode, 'getOperator' | 'getTypeNode'> & Readonly<{
@@ -1 +1 @@
1
- {"version":3,"file":"is-readonly-node.d.mts","sourceRoot":"","sources":["../../../src/functions/functions/is-readonly-node.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAGnE,eAAO,MAAM,yBAAyB,SAAU,GAAG,CAAC,IAAI,KAAG,OAGnC,CAAC;AAEzB,eAAO,MAAM,8BAA8B,SACnC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAC3B,IAAI,IAAI,qBAAqB,GAAG,qBAIqB,CAAC;AAEzD,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAC,QAAQ,GAC9C,UAAU,CAAC,GAAG,CAAC,oBAAoB,EAAE,aAAa,GAAG,aAAa,CAAC,GACnE,QAAQ,CAAC;IACP,WAAW,EAAE,MAAM,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC;IAClD,WAAW,EAAE,MAAM,GAAG,CAAC,aAAa,CAAC;CACtC,CAAC,CAAC;AAEL,eAAO,MAAM,uBAAuB,SAC5B,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAC3B,IAAI,IAAI,qBAG0C,CAAC;AA8DtD,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAC,QAAQ,GAC9C,UAAU,CAAC,GAAG,CAAC,oBAAoB,EAAE,aAAa,GAAG,aAAa,CAAC,GACnE,QAAQ,CAAC;IACP,WAAW,EAAE,MAAM,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC;IAClD,WAAW,EAAE,MAAM,GAAG,CAAC,aAAa,CAAC;CACtC,CAAC,CAAC;AAEL,eAAO,MAAM,uBAAuB,SAC5B,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAC3B,IAAI,IAAI,qBAG0C,CAAC;AAkDtD,MAAM,MAAM,yBAAyB,GAAG,GAAG,CAAC,QAAQ,GAClD,UAAU,CAAC,GAAG,CAAC,iBAAiB,EAAE,aAAa,GAAG,kBAAkB,CAAC,GACrE,QAAQ,CAAC;IACP,WAAW,EAAE,MAAM,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,GACtD,QAAQ,CAAC;QACP,OAAO,EAAE,MAAM,UAAU,CAAC;KAC3B,CAAC,CAAC;IACL,gBAAgB,EAAE,MAAM,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACjD,CAAC,CAAC;AAEL,eAAO,MAAM,2BAA2B,SAChC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAC3B,IAAI,IAAI,yBAcV,CAAC"}
1
+ {"version":3,"file":"is-readonly-node.d.mts","sourceRoot":"","sources":["../../../src/functions/functions/is-readonly-node.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG9D,eAAO,MAAM,yBAAyB,SAAU,GAAG,CAAC,IAAI,KAAG,OAGnC,CAAC;AAEzB,eAAO,MAAM,8BAA8B,SACnC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAC3B,IAAI,IAAI,qBAAqB,GAAG,qBAIqB,CAAC;AAEzD,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAC,QAAQ,GAC9C,UAAU,CAAC,GAAG,CAAC,oBAAoB,EAAE,aAAa,GAAG,aAAa,CAAC,GACnE,QAAQ,CAAC;IACP,WAAW,EAAE,MAAM,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC;IAClD,WAAW,EAAE,MAAM,GAAG,CAAC,aAAa,CAAC;CACtC,CAAC,CAAC;AAEL,eAAO,MAAM,uBAAuB,SAC5B,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAC3B,IAAI,IAAI,qBAG0C,CAAC;AA8DtD,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAC,QAAQ,GAC9C,UAAU,CAAC,GAAG,CAAC,oBAAoB,EAAE,aAAa,GAAG,aAAa,CAAC,GACnE,QAAQ,CAAC;IACP,WAAW,EAAE,MAAM,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC;IAClD,WAAW,EAAE,MAAM,GAAG,CAAC,aAAa,CAAC;CACtC,CAAC,CAAC;AAEL,eAAO,MAAM,uBAAuB,SAC5B,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAC3B,IAAI,IAAI,qBAG0C,CAAC;AAkDtD,MAAM,MAAM,yBAAyB,GAAG,GAAG,CAAC,QAAQ,GAClD,UAAU,CAAC,GAAG,CAAC,iBAAiB,EAAE,aAAa,GAAG,kBAAkB,CAAC,GACrE,QAAQ,CAAC;IACP,WAAW,EAAE,MAAM,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,GACtD,QAAQ,CAAC;QACP,OAAO,EAAE,MAAM,UAAU,CAAC;KAC3B,CAAC,CAAC;IACL,gBAAgB,EAAE,MAAM,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACjD,CAAC,CAAC;AAEL,eAAO,MAAM,2BAA2B,SAChC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAC3B,IAAI,IAAI,yBAcV,CAAC"}
@@ -1,3 +1,3 @@
1
- import { type ReadonlyTypeReferenceNode } from './is-readonly-node.mjs';
1
+ import type { ReadonlyTypeReferenceNode } from './is-readonly-node.mjs';
2
2
  export declare const unwrapReadonlyTypeArgText: (node: ReadonlyTypeReferenceNode) => string;
3
3
  //# sourceMappingURL=unwrap-readonly.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"unwrap-readonly.d.mts","sourceRoot":"","sources":["../../../src/functions/functions/unwrap-readonly.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAGxE,eAAO,MAAM,yBAAyB,SAE9B,yBAAyB,KAC9B,MAAuE,CAAC"}
1
+ {"version":3,"file":"unwrap-readonly.d.mts","sourceRoot":"","sources":["../../../src/functions/functions/unwrap-readonly.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAGxE,eAAO,MAAM,yBAAyB,SAE9B,yBAAyB,KAC9B,MAAuE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-codemod-lib",
3
- "version": "3.4.0",
3
+ "version": "3.4.1",
4
4
  "private": false,
5
5
  "keywords": [
6
6
  "typescript",
@@ -51,9 +51,9 @@
51
51
  "dedent": "1.7.2",
52
52
  "esbuild": "0.28.2",
53
53
  "eslint": "10.11.0",
54
- "eslint-config-typed": "5.16.0",
55
- "eslint-plugin-ts-data-forge": "0.8.2",
56
- "eslint-plugin-ts-fortress": "1.2.4",
54
+ "eslint-config-typed": "5.17.0",
55
+ "eslint-plugin-ts-data-forge": "0.8.3",
56
+ "eslint-plugin-ts-fortress": "1.3.0",
57
57
  "eslint-plugin-ts-type-forge": "0.8.5",
58
58
  "jiti": "2.7.0",
59
59
  "npm-run-all2": "9.0.3",
@@ -1,12 +1,12 @@
1
1
  import { Arr, ISet } from 'ts-data-forge';
2
2
  import * as tsm from 'ts-morph';
3
- import { type DeepReadonly } from 'ts-type-forge';
3
+ import type { DeepReadonly } from 'ts-type-forge';
4
4
  import {
5
5
  hasDisableNextLineComment,
6
6
  isAsConstNode,
7
7
  } from '../functions/index.mjs';
8
8
  import { replaceNodeWithDebugPrint } from '../utils/index.mjs';
9
- import { type TsMorphTransformer } from './types.mjs';
9
+ import type { TsMorphTransformer } from './types.mjs';
10
10
 
11
11
  const TRANSFORMER_NAME = 'append-as-const';
12
12
 
@@ -423,7 +423,9 @@ const removeAsConstInConstTypeParameterArgs = (
423
423
  const args = call.getArguments();
424
424
 
425
425
  // Cheap syntactic pre-check before touching the type checker
426
- if (!args.some(isAsConstNode)) {
426
+ if (
427
+ args.every((arg) => !isAsConstNode(skipParenthesizedExpressions(arg)))
428
+ ) {
427
429
  continue;
428
430
  }
429
431
 
@@ -478,7 +480,14 @@ const removeAsConstArgsOfCall = (
478
480
  return;
479
481
  }
480
482
 
481
- if (argument.wasForgotten() || !isAsConstNode(argument)) {
483
+ if (argument.wasForgotten()) {
484
+ continue;
485
+ }
486
+
487
+ // `f(([1] as const))` is the same argument as `f([1] as const)`.
488
+ const asConst = skipParenthesizedExpressions(argument);
489
+
490
+ if (!isAsConstNode(asConst)) {
482
491
  continue;
483
492
  }
484
493
 
@@ -503,10 +512,17 @@ const removeAsConstArgsOfCall = (
503
512
  argument.getText(),
504
513
  );
505
514
 
506
- options.replaceNode(argument, argument.getExpression().getText());
515
+ // The parentheses go with it: an argument needs none of its own.
516
+ options.replaceNode(argument, asConst.getExpression().getText());
507
517
  }
508
518
  };
509
519
 
520
+ /** `node` with the parentheses written around it taken off. */
521
+ const skipParenthesizedExpressions = (node: tsm.Node): tsm.Node =>
522
+ tsm.Node.isParenthesizedExpression(node)
523
+ ? skipParenthesizedExpressions(node.getExpression())
524
+ : node;
525
+
510
526
  type ResolvedCallTarget = Readonly<{
511
527
  parameters: readonly tsm.ParameterDeclaration[];
512
528
  constTypeParameterNames: ISet<string>;
@@ -759,6 +759,30 @@ describe(appendAsConstTransformer, () => {
759
759
  const r = rest(1, [2, 3]);
760
760
  `,
761
761
  },
762
+ {
763
+ name: 'const type parameter should remove a parenthesized as const',
764
+ source: dedent`
765
+ function f<const T>(x: T): T { return x; }
766
+ const a = f(([1, 2] as const));
767
+ const b = f(((({ x: 1 }) as const)));
768
+ `,
769
+ expected: dedent`
770
+ function f<const T>(x: T): T { return x; }
771
+ const a = f([1, 2]);
772
+ const b = f({ x: 1 });
773
+ `,
774
+ },
775
+ {
776
+ name: 'non-const type parameter should keep a parenthesized as const',
777
+ source: dedent`
778
+ function g<T>(x: T): T { return x; }
779
+ const b = g(([1, 2] as const));
780
+ `,
781
+ expected: dedent`
782
+ function g<T>(x: T): T { return x; }
783
+ const b = g([1, 2] as const);
784
+ `,
785
+ },
762
786
  {
763
787
  name: 'mixed const and non-const type parameters should only remove for const ones',
764
788
  source: dedent`
@@ -3,7 +3,7 @@
3
3
  import { Arr } from 'ts-data-forge';
4
4
  import type * as tsm from 'ts-morph';
5
5
  import { hasDisableNextLineComment } from '../functions/index.mjs';
6
- import { type TsMorphTransformer } from './types.mjs';
6
+ import type { TsMorphTransformer } from './types.mjs';
7
7
 
8
8
  const TRANSFORMER_NAME = 'convert-interface-to-type';
9
9
 
@@ -8,11 +8,11 @@ import {
8
8
  pipe,
9
9
  } from 'ts-data-forge';
10
10
  import * as tsm from 'ts-morph';
11
- import {
12
- type DeepReadonly,
13
- type SafeUintWithSmallInt,
14
- type StrictExclude,
15
- type StrictExtract,
11
+ import type {
12
+ DeepReadonly,
13
+ SafeUintWithSmallInt,
14
+ StrictExclude,
15
+ StrictExtract,
16
16
  } from 'ts-type-forge';
17
17
  import {
18
18
  hasCallOrConstructSignature,
@@ -36,7 +36,7 @@ import {
36
36
  nextReadonlyContext,
37
37
  type ReadonlyContext,
38
38
  } from './readonly-transformer-helpers/index.mjs';
39
- import { type TsMorphTransformer } from './types.mjs';
39
+ import type { TsMorphTransformer } from './types.mjs';
40
40
 
41
41
  const TRANSFORMER_NAME = 'convert-to-readonly';
42
42
 
@@ -9,7 +9,7 @@ import * as prettier from 'prettier/standalone';
9
9
  import { expectType } from 'ts-data-forge';
10
10
  // Aliased: an import named `DeepReadonly` makes `vitest/prefer-describe-function-title`
11
11
  // rewrite `describe('DeepReadonly', ...)` into a reference to this type.
12
- import { type DeepReadonly as TsTypeForgeDeepReadonly } from 'ts-type-forge';
12
+ import type { DeepReadonly as TsTypeForgeDeepReadonly } from 'ts-type-forge';
13
13
  import {
14
14
  convertToReadonlyTransformer,
15
15
  type ReadonlyTransformerOptions,
@@ -1,8 +1,8 @@
1
1
  import { Arr } from 'ts-data-forge';
2
2
  import * as tsm from 'ts-morph';
3
- import { type DeepReadonly } from 'ts-type-forge';
3
+ import type { DeepReadonly } from 'ts-type-forge';
4
4
  import { hasDisableNextLineComment } from '../functions/index.mjs';
5
- import { type TsMorphTransformer } from './types.mjs';
5
+ import type { TsMorphTransformer } from './types.mjs';
6
6
 
7
7
  const TRANSFORMER_NAME = 'enable-no-unchecked-indexed-access';
8
8
 
@@ -280,27 +280,49 @@ const isIgnoredByComment = (
280
280
  * the target of an assignment the element type without `undefined`, so the
281
281
  * type comparison in {@link collectAssertionPositions} already passes them
282
282
  * over. The exceptions handled here are the ones it does widen.
283
+ *
284
+ * The position is that of the outermost parenthesis around the access:
285
+ * `(xs[0]) === undefined` tests the value exactly as `xs[0] === undefined`
286
+ * does, while the `!` still goes right after the access, inside them.
283
287
  */
284
288
  const isAssertableReadPosition = (
285
289
  // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
286
290
  node: IndexReadExpression,
287
291
  ): boolean => {
288
- const parent = node.getParent();
292
+ const outer = outermostParenthesized(node);
293
+
294
+ const parent = outer.getParent();
289
295
 
290
296
  if (parent === undefined) {
291
297
  return false;
292
298
  }
293
299
 
294
300
  return (
295
- !isAlreadyAssertedOrGuarded(node, parent) &&
296
- !isWriteTarget(node, parent) &&
297
- !isTestedForAbsence(node, parent)
301
+ !isAlreadyAssertedOrGuarded(node, outer, parent) &&
302
+ !isWriteTarget(outer, parent) &&
303
+ !isTestedForAbsence(outer, parent)
298
304
  );
299
305
  };
300
306
 
301
- /** `xs[0]!`, `xs[0] as T`, `<T>xs[0]`, `xs[0]?.foo`, `xs[0]?.()`, `xs[0]?.[1]`. */
307
+ /** `node`, or the outermost of the parentheses written around it. */
308
+ const outermostParenthesized = (node: tsm.Node): tsm.Node => {
309
+ const parent = node.getParent();
310
+
311
+ return parent?.isKind(tsm.SyntaxKind.ParenthesizedExpression) === true
312
+ ? outermostParenthesized(parent)
313
+ : node;
314
+ };
315
+
316
+ /**
317
+ * `xs[0]!`, `xs[0] as T`, `<T>xs[0]`, `xs[0]?.foo`, `xs[0]?.()`, `xs[0]?.[1]`.
318
+ *
319
+ * `outer` is `node` with its parentheses (see
320
+ * {@link outermostParenthesized}); a chain continues from the access itself
321
+ * but is guarded from the outside of the parentheses (`(xs[0])?.foo`).
322
+ */
302
323
  const isAlreadyAssertedOrGuarded = (
303
324
  node: tsm.Node,
325
+ outer: tsm.Node,
304
326
  parent: tsm.Node,
305
327
  ): boolean => {
306
328
  if (
@@ -322,7 +344,7 @@ const isAlreadyAssertedOrGuarded = (
322
344
  parent.isKind(tsm.SyntaxKind.ElementAccessExpression) ||
323
345
  parent.isKind(tsm.SyntaxKind.CallExpression)) &&
324
346
  parent.hasQuestionDotToken() &&
325
- parent.getExpression() === node
347
+ parent.getExpression() === outer
326
348
  );
327
349
  };
328
350
 
@@ -391,6 +391,96 @@ describe(enableNoUncheckedIndexedAccessTransformer, () => {
391
391
  ])('$name', testFn);
392
392
  });
393
393
 
394
+ describe('positions judged through parentheses and type wrappers', () => {
395
+ test.each([
396
+ {
397
+ name: 'a parenthesized read is still asserted',
398
+ source: 'console.log((xs[0]).toFixed());',
399
+ expected: 'console.log((xs[0]!).toFixed());',
400
+ },
401
+ {
402
+ name: 'parenthesized equality against undefined',
403
+ source: 'console.log((xs[0]) === undefined);',
404
+ expected: 'console.log((xs[0]) === undefined);',
405
+ },
406
+ {
407
+ name: 'parenthesized nullish coalescing',
408
+ source: 'console.log((xs[0]) ?? 0);',
409
+ expected: 'console.log((xs[0]) ?? 0);',
410
+ },
411
+ {
412
+ name: 'parenthesized optional property access',
413
+ source: 'console.log((xs[0])?.toFixed());',
414
+ expected: 'console.log((xs[0])?.toFixed());',
415
+ },
416
+ {
417
+ name: 'parenthesized if condition',
418
+ source: 'if ((xs[0])) { console.log(1); }',
419
+ expected: 'if ((xs[0])) { console.log(1); }',
420
+ },
421
+ {
422
+ name: 'parenthesized typeof operand',
423
+ source: 'console.log(typeof (xs[0]));',
424
+ expected: 'console.log(typeof (xs[0]));',
425
+ },
426
+ {
427
+ name: 'parenthesized negation operand',
428
+ source: 'console.log(!((xs[0])));',
429
+ expected: 'console.log(!((xs[0])));',
430
+ },
431
+ {
432
+ name: 'parenthesized existing non-null assertion',
433
+ source: 'console.log((xs[0])!.toFixed());',
434
+ expected: 'console.log((xs[0])!.toFixed());',
435
+ },
436
+ {
437
+ name: 'parenthesized type assertion',
438
+ source: 'console.log(((xs[0]) as number).toFixed());',
439
+ expected: 'console.log(((xs[0]) as number).toFixed());',
440
+ },
441
+ {
442
+ name: 'satisfies a type without undefined, which needs the assertion',
443
+ source: 'console.log(xs[0] satisfies number);',
444
+ expected: 'console.log(xs[0]! satisfies number);',
445
+ },
446
+ {
447
+ name: 'parenthesized satisfies a type without undefined',
448
+ source: 'console.log((xs[0]) satisfies number);',
449
+ expected: 'console.log((xs[0]!) satisfies number);',
450
+ },
451
+ {
452
+ name: 'satisfies a type with undefined, where the assertion is harmless',
453
+ source: 'console.log(xs[0] satisfies number | undefined);',
454
+ expected: 'console.log(xs[0]! satisfies number | undefined);',
455
+ },
456
+ {
457
+ name: 'parenthesized satisfies a type with undefined',
458
+ source: 'console.log((xs[0]) satisfies number | undefined);',
459
+ expected: 'console.log((xs[0]!) satisfies number | undefined);',
460
+ },
461
+ {
462
+ name: 'parenthesized compound assignment target',
463
+ source: '(mut_ys[0]) += 1;',
464
+ expected: '(mut_ys[0]) += 1;',
465
+ },
466
+ {
467
+ name: 'parenthesized assignment target',
468
+ source: '(mut_ys[0]) = 1;',
469
+ expected: '(mut_ys[0]) = 1;',
470
+ },
471
+ {
472
+ name: 'parenthesized delete target',
473
+ source: "delete (rec['a']);",
474
+ expected: "delete (rec['a']);",
475
+ },
476
+ {
477
+ name: 'parenthesized for-of loop target',
478
+ source: 'for ((mut_ys[0]) of xs) { break; }',
479
+ expected: 'for ((mut_ys[0]) of xs) { break; }',
480
+ },
481
+ ])('$name', testFn);
482
+ });
483
+
394
484
  describe('applyLevel: "avoidWhereUndefinedIsAllowed"', () => {
395
485
  test.each([
396
486
  {
@@ -541,6 +631,27 @@ describe(enableNoUncheckedIndexedAccessTransformer, () => {
541
631
  );
542
632
  });
543
633
 
634
+ test('an access under `satisfies` or in parentheses compiles once transformed', () => {
635
+ const source = dedent`
636
+ declare const xs: readonly number[];
637
+
638
+ export const a = xs[0] satisfies number;
639
+
640
+ export const b = (xs[0]) satisfies number;
641
+
642
+ export const c = (xs[0]).toFixed();
643
+
644
+ export const d = (xs[0]) === undefined ? 0 : (xs[0]) ?? 1;
645
+ `;
646
+
647
+ expect(diagnosticsUnderTheOption(source).length).toBeGreaterThan(0);
648
+
649
+ assert.deepStrictEqual(
650
+ diagnosticsUnderTheOption(transformInProject(source)),
651
+ [],
652
+ );
653
+ });
654
+
544
655
  test('array destructuring is left alone, since `!` has nowhere to go there', () => {
545
656
  const source = dedent`
546
657
  declare const xs: readonly number[];
@@ -1,5 +1,5 @@
1
1
  import * as tsm from 'ts-morph';
2
- import { type DeepReadonly } from 'ts-type-forge';
2
+ import type { DeepReadonly } from 'ts-type-forge';
3
3
  import {
4
4
  isAtomicTypeNode,
5
5
  isReadonlyTupleOrArrayTypeNode,
@@ -1,5 +1,5 @@
1
1
  import { SafeUint, match } from 'ts-data-forge';
2
- import { type SafeUintWithSmallInt, type StrictExtract } from 'ts-type-forge';
2
+ import type { SafeUintWithSmallInt, StrictExtract } from 'ts-type-forge';
3
3
 
4
4
  /**
5
5
  * Controls whether to make a layer mutable during recursive transformation
@@ -4,7 +4,7 @@ import {
4
4
  isSpreadNamedTupleMemberNode,
5
5
  isSpreadParameterNode,
6
6
  } from '../functions/index.mjs';
7
- import { type TsMorphTransformer } from './types.mjs';
7
+ import type { TsMorphTransformer } from './types.mjs';
8
8
 
9
9
  const TRANSFORMER_NAME = 'replace-any-with-unknown';
10
10
 
@@ -2,7 +2,7 @@
2
2
  import { Arr } from 'ts-data-forge';
3
3
  import * as tsm from 'ts-morph';
4
4
  import { hasDisableNextLineComment } from '../functions/index.mjs';
5
- import { type TsMorphTransformer } from './types.mjs';
5
+ import type { TsMorphTransformer } from './types.mjs';
6
6
 
7
7
  const TRANSFORMER_NAME = 'replace-record-with-unknown-record';
8
8
 
@@ -1,6 +1,6 @@
1
1
  import { Arr } from 'ts-data-forge';
2
2
  import * as tsm from 'ts-morph';
3
- import { type TsMorphTransformer } from './types.mjs';
3
+ import type { TsMorphTransformer } from './types.mjs';
4
4
 
5
5
  const fileIgnorePrefixes = [
6
6
  'transformer-ignore',
@@ -1,6 +1,6 @@
1
1
  import { ISet } from 'ts-data-forge';
2
2
  import * as tsm from 'ts-morph';
3
- import { type DeepReadonly } from 'ts-type-forge';
3
+ import type { DeepReadonly } from 'ts-type-forge';
4
4
 
5
5
  // Define the set of SyntaxKinds that represent primitive type keywords
6
6
  const atomicTypeKeywordKinds = ISet.create<tsm.SyntaxKind>([
@@ -1,6 +1,6 @@
1
1
  import { Arr, expectType } from 'ts-data-forge';
2
2
  import * as tsm from 'ts-morph';
3
- import { type DeepReadonly, type StrictOmit } from 'ts-type-forge';
3
+ import type { DeepReadonly, StrictOmit } from 'ts-type-forge';
4
4
  import { isAtomicTypeNode } from './is-atomic-type-node.mjs';
5
5
 
6
6
  export const isShallowReadonlyTypeNode = (node: tsm.Node): boolean =>
@@ -1,4 +1,4 @@
1
- import { type ReadonlyTypeReferenceNode } from './is-readonly-node.mjs';
1
+ import type { ReadonlyTypeReferenceNode } from './is-readonly-node.mjs';
2
2
  import { wrapWithParentheses } from './wrap-with-parentheses.mjs';
3
3
 
4
4
  export const unwrapReadonlyTypeArgText = (