ts-codemod-lib 3.5.1 → 4.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.
Files changed (24) hide show
  1. package/README.md +7 -3
  2. package/dist/functions/ast-transformers/append-as-const.d.mts +13 -4
  3. package/dist/functions/ast-transformers/append-as-const.d.mts.map +1 -1
  4. package/dist/functions/ast-transformers/append-as-const.mjs +80 -7
  5. package/dist/functions/ast-transformers/append-as-const.mjs.map +1 -1
  6. package/dist/functions/ast-transformers/convert-to-readonly.d.mts +23 -4
  7. package/dist/functions/ast-transformers/convert-to-readonly.d.mts.map +1 -1
  8. package/dist/functions/ast-transformers/convert-to-readonly.mjs +40 -19
  9. package/dist/functions/ast-transformers/convert-to-readonly.mjs.map +1 -1
  10. package/dist/functions/constants/index.d.mts +1 -0
  11. package/dist/functions/constants/index.d.mts.map +1 -1
  12. package/dist/functions/constants/index.mjs +1 -0
  13. package/dist/functions/constants/index.mjs.map +1 -1
  14. package/dist/functions/constants/mutable-prefixes.d.mts +23 -0
  15. package/dist/functions/constants/mutable-prefixes.d.mts.map +1 -0
  16. package/dist/functions/constants/mutable-prefixes.mjs +28 -0
  17. package/dist/functions/constants/mutable-prefixes.mjs.map +1 -0
  18. package/package.json +2 -2
  19. package/src/functions/ast-transformers/append-as-const.mts +152 -18
  20. package/src/functions/ast-transformers/append-as-const.test.mts +79 -1
  21. package/src/functions/ast-transformers/convert-to-readonly.mts +124 -41
  22. package/src/functions/ast-transformers/convert-to-readonly.test.mts +321 -41
  23. package/src/functions/constants/index.mts +1 -0
  24. package/src/functions/constants/mutable-prefixes.mts +28 -0
@@ -1 +1 @@
1
- {"version":3,"file":"convert-to-readonly.mjs","sourceRoot":"","sources":["../../../src/functions/ast-transformers/convert-to-readonly.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"convert-to-readonly.mjs","sourceRoot":"","sources":["../../../src/functions/ast-transformers/convert-to-readonly.mts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export * from './ignore-comment-text.mjs';
2
+ export * from './mutable-prefixes.mjs';
2
3
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/functions/constants/index.mts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/functions/constants/index.mts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export * from './ignore-comment-text.mjs';
2
+ export * from './mutable-prefixes.mjs';
2
3
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/functions/constants/index.mts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/functions/constants/index.mts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * The default `mutableVariablePrefixes` and `mutablePropertyPrefixes` of the
3
+ * transformers: a name that starts with one of these is left mutable. A
4
+ * private name (`#mut_x`) is matched with or after its `#`.
5
+ *
6
+ * The ESLint counterpart is `ignoredMutablePattern` in
7
+ * `libs/eslint-config-typed/src/rules/eslint-functional-rules.mts` (and, for a
8
+ * property, the `ignoreAccessorPattern` of `functional/immutable-data` there);
9
+ * `libs/eslint-config-typed/src/rules/eslint-functional-rules.test.mts` fails
10
+ * when the two differ; it reads this package's `dist/`, so build first.
11
+ */
12
+ export declare const DEFAULT_MUTABLE_PREFIXES: readonly string[];
13
+ /**
14
+ * The default `mutableTypePrefixes` of the transformers: a type alias, an
15
+ * interface or a class whose name starts with one of these is left mutable,
16
+ * and `append-as-const` adds no `as const` where the value has to be
17
+ * assignable to it (an annotated variable, `satisfies`, an arrow's return).
18
+ * `Mutable` suits the PascalCase of type names; `mut_` is accepted as for
19
+ * variables. No ESLint rule reads type names, so there is no counterpart to
20
+ * keep in step.
21
+ */
22
+ export declare const DEFAULT_MUTABLE_TYPE_PREFIXES: readonly string[];
23
+ //# sourceMappingURL=mutable-prefixes.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutable-prefixes.d.mts","sourceRoot":"","sources":["../../../src/functions/constants/mutable-prefixes.mts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAEpD,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B,EAAE,SAAS,MAAM,EAGzD,CAAC"}
@@ -0,0 +1,28 @@
1
+
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+ export const DEFAULT_MUTABLE_PREFIXES = Object.freeze([
13
+ 'mut_',
14
+ ]);
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+ export const DEFAULT_MUTABLE_TYPE_PREFIXES = Object.freeze([
25
+ 'Mutable',
26
+ 'mut_',
27
+ ]);
28
+ //# sourceMappingURL=mutable-prefixes.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutable-prefixes.mjs","sourceRoot":"","sources":["../../../src/functions/constants/mutable-prefixes.mts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAsB,MAAM,CAAC,MAAM,CAAC;IACvE,MAAM;CACP,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAsB,MAAM,CAAC,MAAM,CAAC;IAC5E,SAAS;IACT,MAAM;CACP,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-codemod-lib",
3
- "version": "3.5.1",
3
+ "version": "4.0.0",
4
4
  "private": false,
5
5
  "keywords": [
6
6
  "typescript",
@@ -51,7 +51,7 @@
51
51
  "dedent": "1.7.2",
52
52
  "esbuild": "0.28.2",
53
53
  "eslint": "10.13.0",
54
- "eslint-config-typed": "5.20.1",
54
+ "eslint-config-typed": "6.0.0",
55
55
  "eslint-plugin-ts-data-forge": "0.10.4",
56
56
  "eslint-plugin-ts-fortress": "1.3.9",
57
57
  "eslint-plugin-ts-type-forge": "0.8.14",
@@ -1,6 +1,10 @@
1
- import { Arr, ISet } from 'ts-data-forge';
1
+ import { Arr, ISet, isRecord } from 'ts-data-forge';
2
2
  import * as tsm from 'ts-morph';
3
3
  import type { DeepReadonly } from 'ts-type-forge';
4
+ import {
5
+ DEFAULT_MUTABLE_PREFIXES,
6
+ DEFAULT_MUTABLE_TYPE_PREFIXES,
7
+ } from '../constants/index.mjs';
4
8
  import {
5
9
  hasDisableNextLineComment,
6
10
  isAsConstNode,
@@ -16,16 +20,26 @@ const TRANSFORMER_NAME = 'append-as-const';
16
20
  export const appendAsConstTransformer = (
17
21
  options?: AppendAsConstTransformerOptions,
18
22
  ): TsMorphTransformer => {
19
- // The ESLint counterpart is `ignoredMutablePattern` in
20
- // `libs/eslint-config-typed/src/rules/eslint-functional-rules.mts`; change
21
- // the two together.
22
- const ignorePrefixes = ISet.create(
23
- options?.ignorePrefixes ?? ['mut_', '#mut_', '_mut_', 'draft'],
24
- );
23
+ // Removed in 4.0.0; a caller without types would otherwise lose it silently.
24
+ const untypedOptions: unknown = options;
25
+
26
+ if (
27
+ isRecord(untypedOptions) &&
28
+ untypedOptions['ignorePrefixes'] !== undefined
29
+ ) {
30
+ throw new Error(
31
+ `The "ignorePrefixes" option of ${TRANSFORMER_NAME} was renamed to "mutableVariablePrefixes".`,
32
+ );
33
+ }
25
34
 
26
35
  const optionsInternal: AppendAsConstTransformerOptionsInternal = {
27
36
  applyLevel: options?.applyLevel ?? 'avoidInFunctionArgs',
28
- ignoredPrefixes: ignorePrefixes,
37
+ mutableVariablePrefixes: ISet.create(
38
+ options?.mutableVariablePrefixes ?? DEFAULT_MUTABLE_PREFIXES,
39
+ ),
40
+ mutableTypePrefixes: ISet.create(
41
+ options?.mutableTypePrefixes ?? DEFAULT_MUTABLE_TYPE_PREFIXES,
42
+ ),
29
43
  removeAsConstForConstTypeParameters:
30
44
  options?.removeAsConstForConstTypeParameters ?? true,
31
45
 
@@ -66,13 +80,23 @@ export type AppendAsConstTransformerOptions = DeepReadonly<{
66
80
  applyLevel?: 'all' | 'avoidInFunctionArgs';
67
81
 
68
82
  /**
69
- * A mute keywords to ignore the readonly conversion.
83
+ * Prefixes of the names of variables that are left mutable: their
84
+ * initializers get no `as const`, nor does a value annotated with their type
85
+ * (`typeof mut_x`).
70
86
  *
71
- * (e.g. `"mut_"`)
87
+ * @default ['mut_']
88
+ */
89
+ mutableVariablePrefixes?: string[];
90
+
91
+ /**
92
+ * Prefixes of the names of mutable types (see `convert-to-readonly`): a
93
+ * variable whose type annotation names such a type, an expression that
94
+ * `satisfies` one and an arrow function body returning one get no
95
+ * `as const`, which would make them unassignable to it.
72
96
  *
73
- * @default ['mut_', '#mut_', '_mut_', 'draft']
97
+ * @default ['Mutable', 'mut_']
74
98
  */
75
- ignorePrefixes?: string[];
99
+ mutableTypePrefixes?: string[];
76
100
 
77
101
  /**
78
102
  * Whether to remove redundant `as const` assertions from call arguments
@@ -96,7 +120,8 @@ export type AppendAsConstTransformerOptions = DeepReadonly<{
96
120
 
97
121
  type AppendAsConstTransformerOptionsInternal = DeepReadonly<{
98
122
  applyLevel: 'all' | 'avoidInFunctionArgs';
99
- ignoredPrefixes: ISet<string>;
123
+ mutableVariablePrefixes: ISet<string>;
124
+ mutableTypePrefixes: ISet<string>;
100
125
  removeAsConstForConstTypeParameters: boolean;
101
126
 
102
127
  debugPrint: (...args: readonly unknown[]) => void;
@@ -146,11 +171,13 @@ const transformNode = (
146
171
  if (node.isKind(tsm.SyntaxKind.VariableDeclaration)) {
147
172
  const nodeName = node.getName();
148
173
 
149
- // check for ignorePrefix
150
- if (options.ignoredPrefixes.some((p) => nodeName.startsWith(p))) {
174
+ // check for mutableVariablePrefixes
175
+ if (options.mutableVariablePrefixes.some((p) => nodeName.startsWith(p))) {
151
176
  // Skip conversion for variable declarations with ignored prefixes
152
177
  // Example: const mut_foo: string[] = []; -> remains as is, without appending `as const`
153
- options.debugPrint('skipped variable declaration by ignorePrefixes');
178
+ options.debugPrint(
179
+ 'skipped variable declaration by mutableVariablePrefixes',
180
+ );
154
181
 
155
182
  return;
156
183
  }
@@ -170,6 +197,18 @@ const transformNode = (
170
197
  return;
171
198
  }
172
199
 
200
+ // Example: const foo: MutableFoo = { a: [] }; -> remains as is, because
201
+ // `as const` would make the initializer unassignable to `MutableFoo`
202
+ const typeNode = node.getTypeNode();
203
+
204
+ if (refersToMutableType(typeNode, options)) {
205
+ options.debugPrint(
206
+ 'skipped variable declaration annotated with a mutable type',
207
+ );
208
+
209
+ return;
210
+ }
211
+
173
212
  const declarationKindKeywords = node
174
213
  .getVariableStatement()
175
214
  ?.getDeclarationKindKeywords()
@@ -192,13 +231,13 @@ const transformNode = (
192
231
  }
193
232
 
194
233
  // const [a, b] = ...;
195
- // TODO: Support ignoredPrefixes in ArrayBindingPattern
234
+ // TODO: Support mutableVariablePrefixes in ArrayBindingPattern
196
235
  // if (ts.isArrayBindingPattern(nodeName)) {
197
236
  // // for (const [i, el] of nodeName.elements.entries())
198
237
  // }
199
238
 
200
239
  // const { x, y } = ...;
201
- // TODO: Support ignoredPrefixes in ObjectBindingPattern
240
+ // TODO: Support mutableVariablePrefixes in ObjectBindingPattern
202
241
  // if (ts.isObjectBindingPattern(nodeName)) {
203
242
  // // for (const [i, el] of nodeName.elements.entries())
204
243
  // }
@@ -221,6 +260,14 @@ const transformNode = (
221
260
 
222
261
  // pass by ([X satisfies ...] -> X)
223
262
  if (tsm.Node.isSatisfiesExpression(node)) {
263
+ // Example: { a: [] } satisfies MutableFoo -> remains as is, because
264
+ // `as const` would make it fail to satisfy `MutableFoo`
265
+ if (refersToMutableType(node.getTypeNode(), options)) {
266
+ options.debugPrint('skipped satisfies expression with a mutable type');
267
+
268
+ return;
269
+ }
270
+
224
271
  transformNode(node.getExpression(), context, options);
225
272
 
226
273
  return;
@@ -239,6 +286,14 @@ const transformNode = (
239
286
 
240
287
  // pass by arrow function body ([() => X] -> X)
241
288
  if (tsm.Node.isArrowFunction(node)) {
289
+ // Example: (): MutableFoo => ({ a: [] }) -> remains as is, because
290
+ // `as const` would make the body unassignable to `MutableFoo`
291
+ if (refersToMutableType(node.getReturnTypeNode(), options)) {
292
+ options.debugPrint('skipped arrow function with a mutable return type');
293
+
294
+ return;
295
+ }
296
+
242
297
  const body = node.getBody();
243
298
 
244
299
  transformNode(body, context, options);
@@ -685,3 +740,82 @@ const isBareConstTypeParameterReference = (
685
740
  constTypeParameterNames.has(typeName.getText())
686
741
  );
687
742
  };
743
+
744
+ /** `ns.MutableFoo` -> `MutableFoo` */
745
+ const lastNameOf = (
746
+ // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
747
+ entityName: tsm.EntityName,
748
+ ): string =>
749
+ (tsm.Node.isQualifiedName(entityName)
750
+ ? entityName.getRight()
751
+ : entityName
752
+ ).getText();
753
+
754
+ /** `mut_x.items` -> `mut_x` */
755
+ const firstNameOf = (
756
+ // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
757
+ entityName: tsm.EntityName,
758
+ ): string =>
759
+ tsm.Node.isQualifiedName(entityName)
760
+ ? firstNameOf(entityName.getLeft())
761
+ : entityName.getText();
762
+
763
+ const startsWithAny = (prefixes: ISet<string>, name: string): boolean =>
764
+ prefixes.some((p) => name.startsWith(p));
765
+
766
+ /**
767
+ * The name a `typeof` starts from: a variable (`mut_x`) or a class, which
768
+ * `convert-to-readonly` leaves mutable by its type prefix (`MutableStore`).
769
+ */
770
+ const isMutableValueName = (
771
+ name: string,
772
+ options: AppendAsConstTransformerOptionsInternal,
773
+ ): boolean =>
774
+ startsWithAny(options.mutableVariablePrefixes, name) ||
775
+ startsWithAny(options.mutableTypePrefixes, name);
776
+
777
+ /**
778
+ * Whether `typeNode` names a type of a `mutableTypePrefixes` prefix anywhere
779
+ * in it (`MutableFoo`, `ns.MutableFoo[]`, `import('./m').MutableFoo | X`), or
780
+ * the type of a variable of a `mutableVariablePrefixes` prefix or a class of
781
+ * a `mutableTypePrefixes` one (`typeof mut_x`, `typeof MutableStore`). It reads names only, so an alias of another name for such
782
+ * a type is missed.
783
+ */
784
+ const refersToMutableType = (
785
+ // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
786
+ typeNode: tsm.TypeNode | undefined,
787
+ options: AppendAsConstTransformerOptionsInternal,
788
+ ): boolean => {
789
+ if (typeNode === undefined) {
790
+ return false;
791
+ }
792
+
793
+ const refers = (n: tsm.Node): boolean => {
794
+ if (n.isKind(tsm.SyntaxKind.TypeReference)) {
795
+ return startsWithAny(
796
+ options.mutableTypePrefixes,
797
+ lastNameOf(n.getTypeName()),
798
+ );
799
+ }
800
+
801
+ if (n.isKind(tsm.SyntaxKind.ImportType)) {
802
+ const qualifier = n.getQualifier();
803
+
804
+ return (
805
+ qualifier !== undefined &&
806
+ // typeof import('./m').mut_x names a value
807
+ (n.compilerNode.isTypeOf
808
+ ? isMutableValueName(firstNameOf(qualifier), options)
809
+ : startsWithAny(options.mutableTypePrefixes, lastNameOf(qualifier)))
810
+ );
811
+ }
812
+
813
+ // typeof mut_x, typeof mut_x.items, typeof MutableClass
814
+ return (
815
+ n.isKind(tsm.SyntaxKind.TypeQuery) &&
816
+ isMutableValueName(firstNameOf(n.getExprName()), options)
817
+ );
818
+ };
819
+
820
+ return refers(typeNode) || typeNode.getFirstDescendant(refers) !== undefined;
821
+ };
@@ -1013,7 +1013,25 @@ describe(appendAsConstTransformer, () => {
1013
1013
  ])('$name', testFn);
1014
1014
  });
1015
1015
 
1016
- describe('ignorePrefixes option (mut_ prefix)', () => {
1016
+ describe('mutableVariablePrefixes option (mut_ prefix)', () => {
1017
+ test('the removed ignorePrefixes option is refused', () => {
1018
+ expect(() =>
1019
+ appendAsConstTransformer(
1020
+ // @ts-expect-error removed in 4.0.0
1021
+ { ignorePrefixes: ['mut_'] },
1022
+ ),
1023
+ ).toThrow('mutableVariablePrefixes');
1024
+ });
1025
+
1026
+ test('an unset ignorePrefixes option is accepted', () => {
1027
+ expect(() =>
1028
+ appendAsConstTransformer(
1029
+ // @ts-expect-error removed in 4.0.0
1030
+ { ignorePrefixes: undefined },
1031
+ ),
1032
+ ).not.toThrow();
1033
+ });
1034
+
1017
1035
  test.each([
1018
1036
  {
1019
1037
  name: 'single variable with mut_ prefix',
@@ -1025,6 +1043,66 @@ describe(appendAsConstTransformer, () => {
1025
1043
  source: 'const mut_a = [1, 2], mut_b = { c: 3 };',
1026
1044
  expected: 'const mut_a = [1, 2], mut_b = { c: 3 };',
1027
1045
  },
1046
+ {
1047
+ name: '"draft" and "_mut_" are not default prefixes',
1048
+ source: 'const draft = { a: [1] }, _mut_b = [2];',
1049
+ expected: 'const draft = { a: [1] } as const, _mut_b = [2] as const;',
1050
+ },
1051
+ {
1052
+ name: 'a variable annotated with a mutable type gets no as const',
1053
+ source: dedent`
1054
+ const a: MutableFoo = { b: [1] };
1055
+ const c: ns.MutableFoo | undefined = { b: [1] };
1056
+ const d: readonly MutableFoo[] = [{ b: [1] }];
1057
+ const f: mut_Foo = { b: [1] };
1058
+ const g: import('./m').MutableFoo = { b: [1] };
1059
+ const h = { b: [1] } satisfies MutableFoo;
1060
+ const i = (): MutableFoo => ({ b: [1] });
1061
+ const j: typeof mut_x = [1];
1062
+ const k: typeof mut_y.items = [1];
1063
+ const l: typeof import('./m').mut_z = [1];
1064
+ const m: InstanceType<typeof MutableStore> = { items: [] };
1065
+ const n: InstanceType<typeof import('./m').MutableStore> = { items: [] };
1066
+ const o = ((): MutableFoo => ({ b: [1] }));
1067
+ const p = cond ? ({ b: [1] } satisfies MutableFoo) : q;
1068
+ const e: Foo = { b: [1] };
1069
+ `,
1070
+ expected: dedent`
1071
+ const a: MutableFoo = { b: [1] };
1072
+ const c: ns.MutableFoo | undefined = { b: [1] };
1073
+ const d: readonly MutableFoo[] = [{ b: [1] }];
1074
+ const f: mut_Foo = { b: [1] };
1075
+ const g: import('./m').MutableFoo = { b: [1] };
1076
+ const h = { b: [1] } satisfies MutableFoo;
1077
+ const i = (): MutableFoo => ({ b: [1] });
1078
+ const j: typeof mut_x = [1];
1079
+ const k: typeof mut_y.items = [1];
1080
+ const l: typeof import('./m').mut_z = [1];
1081
+ const m: InstanceType<typeof MutableStore> = { items: [] };
1082
+ const n: InstanceType<typeof import('./m').MutableStore> = { items: [] };
1083
+ const o = ((): MutableFoo => ({ b: [1] }));
1084
+ const p = cond ? ({ b: [1] } satisfies MutableFoo) : q;
1085
+ const e: Foo = { b: [1] } as const;
1086
+ `,
1087
+ },
1088
+ {
1089
+ name: 'mutableTypePrefixes replaces the default',
1090
+ source: dedent`
1091
+ const a: MutableFoo = { b: [1] };
1092
+ const c: MyFoo = { b: [1] };
1093
+ `,
1094
+ expected: dedent`
1095
+ const a: MutableFoo = { b: [1] } as const;
1096
+ const c: MyFoo = { b: [1] };
1097
+ `,
1098
+ options: { mutableTypePrefixes: ['My'] },
1099
+ },
1100
+ {
1101
+ name: 'the prefixes named in the option replace the default',
1102
+ source: 'const draft = { a: [1] }, mut_b = [2];',
1103
+ expected: 'const draft = { a: [1] }, mut_b = [2] as const;',
1104
+ options: { mutableVariablePrefixes: ['draft'] },
1105
+ },
1028
1106
  ])('$name', testFn);
1029
1107
  });
1030
1108