ts-codemod-lib 1.4.2 → 2.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 (89) hide show
  1. package/README.md +10 -7
  2. package/dist/cmd/append-as-const.mjs +5 -4
  3. package/dist/cmd/append-as-const.mjs.map +1 -1
  4. package/dist/cmd/convert-interface-to-type.mjs +5 -4
  5. package/dist/cmd/convert-interface-to-type.mjs.map +1 -1
  6. package/dist/cmd/convert-to-readonly.mjs +6 -5
  7. package/dist/cmd/convert-to-readonly.mjs.map +1 -1
  8. package/dist/cmd/replace-any-with-unknown.mjs +5 -4
  9. package/dist/cmd/replace-any-with-unknown.mjs.map +1 -1
  10. package/dist/cmd/replace-record-with-unknown-record.mjs +5 -4
  11. package/dist/cmd/replace-record-with-unknown-record.mjs.map +1 -1
  12. package/dist/cmd/run-transformer-cli.d.mts.map +1 -1
  13. package/dist/cmd/run-transformer-cli.mjs +1 -2
  14. package/dist/cmd/run-transformer-cli.mjs.map +1 -1
  15. package/dist/entry-point.mjs +2 -2
  16. package/dist/functions/ast-transformers/append-as-const.d.mts +3 -0
  17. package/dist/functions/ast-transformers/append-as-const.d.mts.map +1 -1
  18. package/dist/functions/ast-transformers/append-as-const.mjs +74 -134
  19. package/dist/functions/ast-transformers/append-as-const.mjs.map +1 -1
  20. package/dist/functions/ast-transformers/convert-interface-to-type.d.mts.map +1 -1
  21. package/dist/functions/ast-transformers/convert-interface-to-type.mjs +12 -7
  22. package/dist/functions/ast-transformers/convert-interface-to-type.mjs.map +1 -1
  23. package/dist/functions/ast-transformers/{convert-to-readonly-type.d.mts → convert-to-readonly.d.mts} +2 -2
  24. package/dist/functions/ast-transformers/convert-to-readonly.d.mts.map +1 -0
  25. package/dist/functions/ast-transformers/{convert-to-readonly-type.mjs → convert-to-readonly.mjs} +23 -18
  26. package/dist/functions/ast-transformers/convert-to-readonly.mjs.map +1 -0
  27. package/dist/functions/ast-transformers/index.d.mts +1 -1
  28. package/dist/functions/ast-transformers/index.d.mts.map +1 -1
  29. package/dist/functions/ast-transformers/index.mjs +1 -1
  30. package/dist/functions/ast-transformers/readonly-transformer-helpers/compare-union-types.mjs +2 -2
  31. package/dist/functions/ast-transformers/readonly-transformer-helpers/compare-union-types.mjs.map +1 -1
  32. package/dist/functions/ast-transformers/readonly-transformer-helpers/group-union-types.d.mts +2 -2
  33. package/dist/functions/ast-transformers/readonly-transformer-helpers/group-union-types.d.mts.map +1 -1
  34. package/dist/functions/ast-transformers/readonly-transformer-helpers/group-union-types.mjs +2 -2
  35. package/dist/functions/ast-transformers/readonly-transformer-helpers/group-union-types.mjs.map +1 -1
  36. package/dist/functions/ast-transformers/replace-any-with-unknown.d.mts.map +1 -1
  37. package/dist/functions/ast-transformers/replace-any-with-unknown.mjs +28 -34
  38. package/dist/functions/ast-transformers/replace-any-with-unknown.mjs.map +1 -1
  39. package/dist/functions/ast-transformers/replace-record-with-unknown-record.d.mts.map +1 -1
  40. package/dist/functions/ast-transformers/replace-record-with-unknown-record.mjs +154 -150
  41. package/dist/functions/ast-transformers/replace-record-with-unknown-record.mjs.map +1 -1
  42. package/dist/functions/ast-transformers/transform-source-code.d.mts.map +1 -1
  43. package/dist/functions/ast-transformers/transform-source-code.mjs +4 -6
  44. package/dist/functions/ast-transformers/transform-source-code.mjs.map +1 -1
  45. package/dist/functions/ast-transformers/types.d.mts +5 -5
  46. package/dist/functions/ast-transformers/types.d.mts.map +1 -1
  47. package/dist/functions/functions/index.d.mts +1 -1
  48. package/dist/functions/functions/index.d.mts.map +1 -1
  49. package/dist/functions/functions/index.mjs +1 -1
  50. package/dist/functions/functions/{is-primitive-type-node.d.mts → is-atomic-type-node.d.mts} +3 -3
  51. package/dist/functions/functions/is-atomic-type-node.d.mts.map +1 -0
  52. package/dist/functions/functions/{is-primitive-type-node.mjs → is-atomic-type-node.mjs} +5 -5
  53. package/dist/functions/functions/is-atomic-type-node.mjs.map +1 -0
  54. package/dist/functions/functions/is-readonly-node.d.mts.map +1 -1
  55. package/dist/functions/functions/is-readonly-node.mjs +2 -2
  56. package/dist/functions/functions/is-readonly-node.mjs.map +1 -1
  57. package/dist/functions/functions/wrap-with-parentheses.d.mts +1 -1
  58. package/dist/functions/functions/wrap-with-parentheses.d.mts.map +1 -1
  59. package/dist/functions/index.mjs +2 -2
  60. package/dist/index.mjs +2 -2
  61. package/package.json +17 -5
  62. package/src/cmd/append-as-const.mts +5 -3
  63. package/src/cmd/convert-interface-to-type.mts +5 -3
  64. package/src/cmd/convert-to-readonly.mts +6 -4
  65. package/src/cmd/replace-any-with-unknown.mts +5 -3
  66. package/src/cmd/replace-record-with-unknown-record.mts +5 -3
  67. package/src/cmd/run-transformer-cli.mts +0 -1
  68. package/src/functions/ast-transformers/append-as-const.mts +106 -217
  69. package/src/functions/ast-transformers/append-as-const.test.mts +53 -48
  70. package/src/functions/ast-transformers/convert-interface-to-type.mts +96 -89
  71. package/src/functions/ast-transformers/convert-interface-to-type.test.mts +20 -20
  72. package/src/functions/ast-transformers/{convert-to-readonly-type.mts → convert-to-readonly.mts} +26 -24
  73. package/src/functions/ast-transformers/{convert-to-readonly-type.test.mts → convert-to-readonly.test.mts} +36 -10
  74. package/src/functions/ast-transformers/index.mts +1 -1
  75. package/src/functions/ast-transformers/readonly-transformer-helpers/compare-union-types.mts +2 -2
  76. package/src/functions/ast-transformers/readonly-transformer-helpers/group-union-types.mts +5 -5
  77. package/src/functions/ast-transformers/replace-any-with-unknown.mts +31 -40
  78. package/src/functions/ast-transformers/replace-record-with-unknown-record.mts +183 -182
  79. package/src/functions/ast-transformers/transform-source-code.mts +3 -4
  80. package/src/functions/ast-transformers/transformer-specific-ignore.test.mts +6 -6
  81. package/src/functions/ast-transformers/types.mts +7 -7
  82. package/src/functions/functions/index.mts +1 -1
  83. package/src/functions/functions/{is-primitive-type-node.mts → is-atomic-type-node.mts} +9 -10
  84. package/src/functions/functions/is-readonly-node.mts +2 -2
  85. package/src/functions/functions/wrap-with-parentheses.mts +2 -2
  86. package/dist/functions/ast-transformers/convert-to-readonly-type.d.mts.map +0 -1
  87. package/dist/functions/ast-transformers/convert-to-readonly-type.mjs.map +0 -1
  88. package/dist/functions/functions/is-primitive-type-node.d.mts.map +0 -1
  89. package/dist/functions/functions/is-primitive-type-node.mjs.map +0 -1
package/README.md CHANGED
@@ -62,7 +62,7 @@ const arr2 = [1, 2, 3] as const;
62
62
  const obj2 = { a: 1, b: 2 } as const;
63
63
  ```
64
64
 
65
- ### 2. `convertToReadonlyTypeTransformer`
65
+ ### 2. `convertToReadonlyTransformer`
66
66
 
67
67
  Converts TypeScript type definitions to readonly types. This transformer helps in creating more type-safe code by making types readonly where appropriate. It also normalizes nested readonly types (e.g., `Readonly<Readonly<T>>` becomes `Readonly<T>`).
68
68
 
@@ -103,6 +103,8 @@ Example:
103
103
 
104
104
  ```ts
105
105
  // Before
106
+ // embed-sample-code-ignore-above
107
+ // Before
106
108
  interface User {
107
109
  id: number;
108
110
  name: string;
@@ -179,9 +181,10 @@ type Config = {
179
181
  settings: { timeout: number };
180
182
  };
181
183
 
182
- // After applying convertToReadonlyTypeTransformer
184
+ // After applying convertToReadonlyTransformer
183
185
  type Config2 = Readonly<{
184
186
  apiKey: string;
187
+ // transformer-ignore-next-line
185
188
  mutableOptions: string[]; // Not made Readonly because it was skipped
186
189
  settings: Readonly<{ timeout: number }>;
187
190
  }>;
@@ -263,7 +266,7 @@ import dedent from 'dedent';
263
266
  import {
264
267
  appendAsConstTransformer,
265
268
  convertInterfaceToTypeTransformer,
266
- convertToReadonlyTypeTransformer,
269
+ convertToReadonlyTransformer,
267
270
  replaceAnyWithUnknownTransformer,
268
271
  replaceRecordWithUnknownRecordTransformer,
269
272
  transformSourceCode,
@@ -301,7 +304,7 @@ const isTsx = false;
301
304
  const transformedCode = transformSourceCode(originalCode, isTsx, [
302
305
  convertInterfaceToTypeTransformer(),
303
306
  replaceRecordWithUnknownRecordTransformer(),
304
- convertToReadonlyTypeTransformer(),
307
+ convertToReadonlyTransformer(),
305
308
  appendAsConstTransformer(),
306
309
  replaceAnyWithUnknownTransformer(),
307
310
  ]);
@@ -349,7 +352,7 @@ import * as fs from 'node:fs/promises';
349
352
  import {
350
353
  appendAsConstTransformer,
351
354
  convertInterfaceToTypeTransformer,
352
- convertToReadonlyTypeTransformer,
355
+ convertToReadonlyTransformer,
353
356
  replaceAnyWithUnknownTransformer,
354
357
  replaceRecordWithUnknownRecordTransformer,
355
358
  transformSourceCode,
@@ -372,7 +375,7 @@ for await (const filePath of fs.glob('path/to/src/**/*.{mts,tsx}')) {
372
375
  const transformedCode = transformSourceCode(originalCode, isTsx, [
373
376
  convertInterfaceToTypeTransformer(),
374
377
  replaceRecordWithUnknownRecordTransformer(),
375
- convertToReadonlyTypeTransformer(),
378
+ convertToReadonlyTransformer(),
376
379
  appendAsConstTransformer(),
377
380
  replaceAnyWithUnknownTransformer(),
378
381
  ]);
@@ -406,7 +409,7 @@ node codemod.mjs
406
409
  return { success: true };
407
410
  }
408
411
 
409
- // After applying convertToReadonlyTypeTransformer
412
+ // After applying convertToReadonlyTransformer
410
413
  /**
411
414
  * Processes user data.
412
415
  * @param {object} user - The user object. // JSDoc type is not changed
@@ -4,13 +4,14 @@ import { Result } from 'ts-data-forge';
4
4
  import 'ts-repo-utils';
5
5
  import { appendAsConstTransformer } from '../functions/ast-transformers/append-as-const.mjs';
6
6
  import 'ts-morph';
7
- import '../functions/functions/is-primitive-type-node.mjs';
7
+ import '../functions/functions/is-atomic-type-node.mjs';
8
8
  import '../functions/ast-transformers/readonly-transformer-helpers/constants.mjs';
9
9
  import { runTransformerCLI } from './run-transformer-cli.mjs';
10
10
 
11
+ const transformer = appendAsConstTransformer();
11
12
  const cmdDef = cmd.command({
12
- name: 'append-as-const',
13
- version: '1.4.2',
13
+ name: transformer.name,
14
+ version: '2.0.0',
14
15
  args: {
15
16
  baseDir: cmd.positional({
16
17
  type: cmd.string,
@@ -40,7 +41,7 @@ const cmdDef = cmd.command({
40
41
  exclude: args.exclude ?? [],
41
42
  uncommitted: args.uncommitted ?? false,
42
43
  silent: args.silent ?? false,
43
- }, [appendAsConstTransformer()]);
44
+ }, [transformer]);
44
45
  if (Result.isErr(result)) {
45
46
  process.exit(1);
46
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"append-as-const.mjs","sources":["../../src/cmd/append-as-const.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAQA,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;AACzB,IAAA,IAAI,EAAE,iBAAiB;AACvB,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,IAAI,EAAE;AACJ,QAAA,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC;YACtB,IAAI,EAAE,GAAG,CAAC,MAAM;AAChB,YAAA,WAAW,EAAE,SAAS;AACtB,YAAA,WAAW,EAAE,uDAAuD;SACrE,CAAC;AACF,QAAA,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC;AACvB,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzC,YAAA,WAAW,EACT,4FAA4F;SAC/F,CAAC;AACF,QAAA,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC;AACpB,YAAA,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EACT,oFAAoF;SACvF,CAAC;AACF,QAAA,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;AACf,YAAA,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EAAE,sDAAsD;SACpE,CAAC;AACH,KAAA;AACD,IAAA,OAAO,EAAE,CAAC,IAAI,KAAI;QAChB,CAAC,YAA0B;AACzB,YAAA,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC;gBACE,OAAO,EAAE,IAAI,CAAC,OAAO;AACrB,gBAAA,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;AAC3B,gBAAA,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK;AACtC,gBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;AAC7B,aAAA,EACD,CAAC,wBAAwB,EAAE,CAAC,CAC7B;AAED,YAAA,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AACxB,gBAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACjB;QACF,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAc,KAAI;AAC5B,YAAA,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC;AAE1C,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,QAAA,CAAC,CAAC;IACJ,CAAC;AACF,CAAA,CAAC;AAEF,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"append-as-const.mjs","sources":["../../src/cmd/append-as-const.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAQA,MAAM,WAAW,GAAG,wBAAwB,EAAE;AAE9C,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IACzB,IAAI,EAAE,WAAW,CAAC,IAAI;AACtB,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,IAAI,EAAE;AACJ,QAAA,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC;YACtB,IAAI,EAAE,GAAG,CAAC,MAAM;AAChB,YAAA,WAAW,EAAE,SAAS;AACtB,YAAA,WAAW,EAAE,uDAAuD;SACrE,CAAC;AACF,QAAA,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC;AACvB,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzC,YAAA,WAAW,EACT,4FAA4F;SAC/F,CAAC;AACF,QAAA,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC;AACpB,YAAA,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EACT,oFAAoF;SACvF,CAAC;AACF,QAAA,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;AACf,YAAA,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EAAE,sDAAsD;SACpE,CAAC;AACH,KAAA;AACD,IAAA,OAAO,EAAE,CAAC,IAAI,KAAI;QAChB,CAAC,YAA0B;AACzB,YAAA,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC;gBACE,OAAO,EAAE,IAAI,CAAC,OAAO;AACrB,gBAAA,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;AAC3B,gBAAA,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK;AACtC,gBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;AAC7B,aAAA,EACD,CAAC,WAAW,CAAC,CACd;AAED,YAAA,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AACxB,gBAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACjB;QACF,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAc,KAAI;AAC5B,YAAA,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC;AAE1C,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,QAAA,CAAC,CAAC;IACJ,CAAC;AACF,CAAA,CAAC;AAEF,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC"}
@@ -3,14 +3,15 @@ import * as cmd from 'cmd-ts';
3
3
  import { Result } from 'ts-data-forge';
4
4
  import 'ts-repo-utils';
5
5
  import 'ts-morph';
6
- import '../functions/functions/is-primitive-type-node.mjs';
6
+ import '../functions/functions/is-atomic-type-node.mjs';
7
7
  import { convertInterfaceToTypeTransformer } from '../functions/ast-transformers/convert-interface-to-type.mjs';
8
8
  import '../functions/ast-transformers/readonly-transformer-helpers/constants.mjs';
9
9
  import { runTransformerCLI } from './run-transformer-cli.mjs';
10
10
 
11
+ const transformer = convertInterfaceToTypeTransformer();
11
12
  const cmdDef = cmd.command({
12
- name: 'convert-interface-to-type',
13
- version: '1.4.2',
13
+ name: transformer.name,
14
+ version: '2.0.0',
14
15
  args: {
15
16
  baseDir: cmd.positional({
16
17
  type: cmd.string,
@@ -40,7 +41,7 @@ const cmdDef = cmd.command({
40
41
  exclude: args.exclude ?? [],
41
42
  uncommitted: args.uncommitted ?? false,
42
43
  silent: args.silent ?? false,
43
- }, [convertInterfaceToTypeTransformer()]);
44
+ }, [transformer]);
44
45
  if (Result.isErr(result)) {
45
46
  process.exit(1);
46
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"convert-interface-to-type.mjs","sources":["../../src/cmd/convert-interface-to-type.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAQA,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;AACzB,IAAA,IAAI,EAAE,2BAA2B;AACjC,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,IAAI,EAAE;AACJ,QAAA,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC;YACtB,IAAI,EAAE,GAAG,CAAC,MAAM;AAChB,YAAA,WAAW,EAAE,SAAS;AACtB,YAAA,WAAW,EAAE,uDAAuD;SACrE,CAAC;AACF,QAAA,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC;AACvB,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzC,YAAA,WAAW,EACT,4FAA4F;SAC/F,CAAC;AACF,QAAA,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC;AACpB,YAAA,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EACT,oFAAoF;SACvF,CAAC;AACF,QAAA,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;AACf,YAAA,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EAAE,sDAAsD;SACpE,CAAC;AACH,KAAA;AACD,IAAA,OAAO,EAAE,CAAC,IAAI,KAAI;QAChB,CAAC,YAA0B;AACzB,YAAA,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC;gBACE,OAAO,EAAE,IAAI,CAAC,OAAO;AACrB,gBAAA,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;AAC3B,gBAAA,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK;AACtC,gBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;AAC7B,aAAA,EACD,CAAC,iCAAiC,EAAE,CAAC,CACtC;AAED,YAAA,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AACxB,gBAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACjB;QACF,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAc,KAAI;AAC5B,YAAA,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC;AAE1C,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,QAAA,CAAC,CAAC;IACJ,CAAC;AACF,CAAA,CAAC;AAEF,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"convert-interface-to-type.mjs","sources":["../../src/cmd/convert-interface-to-type.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAQA,MAAM,WAAW,GAAG,iCAAiC,EAAE;AAEvD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IACzB,IAAI,EAAE,WAAW,CAAC,IAAI;AACtB,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,IAAI,EAAE;AACJ,QAAA,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC;YACtB,IAAI,EAAE,GAAG,CAAC,MAAM;AAChB,YAAA,WAAW,EAAE,SAAS;AACtB,YAAA,WAAW,EAAE,uDAAuD;SACrE,CAAC;AACF,QAAA,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC;AACvB,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzC,YAAA,WAAW,EACT,4FAA4F;SAC/F,CAAC;AACF,QAAA,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC;AACpB,YAAA,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EACT,oFAAoF;SACvF,CAAC;AACF,QAAA,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;AACf,YAAA,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EAAE,sDAAsD;SACpE,CAAC;AACH,KAAA;AACD,IAAA,OAAO,EAAE,CAAC,IAAI,KAAI;QAChB,CAAC,YAA0B;AACzB,YAAA,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC;gBACE,OAAO,EAAE,IAAI,CAAC,OAAO;AACrB,gBAAA,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;AAC3B,gBAAA,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK;AACtC,gBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;AAC7B,aAAA,EACD,CAAC,WAAW,CAAC,CACd;AAED,YAAA,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AACxB,gBAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACjB;QACF,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAc,KAAI;AAC5B,YAAA,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC;AAE1C,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,QAAA,CAAC,CAAC;IACJ,CAAC;AACF,CAAA,CAAC;AAEF,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC"}
@@ -3,14 +3,15 @@ import * as cmd from 'cmd-ts';
3
3
  import { Result } from 'ts-data-forge';
4
4
  import 'ts-repo-utils';
5
5
  import 'ts-morph';
6
- import '../functions/functions/is-primitive-type-node.mjs';
7
- import { convertToReadonlyTypeTransformer } from '../functions/ast-transformers/convert-to-readonly-type.mjs';
6
+ import '../functions/functions/is-atomic-type-node.mjs';
7
+ import { convertToReadonlyTransformer } from '../functions/ast-transformers/convert-to-readonly.mjs';
8
8
  import '../functions/ast-transformers/readonly-transformer-helpers/constants.mjs';
9
9
  import { runTransformerCLI } from './run-transformer-cli.mjs';
10
10
 
11
+ const transformer = convertToReadonlyTransformer();
11
12
  const cmdDef = cmd.command({
12
- name: 'convert-to-readonly',
13
- version: '1.4.2',
13
+ name: transformer.name,
14
+ version: '2.0.0',
14
15
  args: {
15
16
  baseDir: cmd.positional({
16
17
  type: cmd.string,
@@ -40,7 +41,7 @@ const cmdDef = cmd.command({
40
41
  exclude: args.exclude ?? [],
41
42
  uncommitted: args.uncommitted ?? false,
42
43
  silent: args.silent ?? false,
43
- }, [convertToReadonlyTypeTransformer()]);
44
+ }, [transformer]);
44
45
  if (Result.isErr(result)) {
45
46
  process.exit(1);
46
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"convert-to-readonly.mjs","sources":["../../src/cmd/convert-to-readonly.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAQA,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;AACzB,IAAA,IAAI,EAAE,qBAAqB;AAC3B,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,IAAI,EAAE;AACJ,QAAA,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC;YACtB,IAAI,EAAE,GAAG,CAAC,MAAM;AAChB,YAAA,WAAW,EAAE,SAAS;AACtB,YAAA,WAAW,EAAE,uDAAuD;SACrE,CAAC;AACF,QAAA,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC;AACvB,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzC,YAAA,WAAW,EACT,4FAA4F;SAC/F,CAAC;AACF,QAAA,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC;AACpB,YAAA,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EACT,oFAAoF;SACvF,CAAC;AACF,QAAA,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;AACf,YAAA,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EAAE,sDAAsD;SACpE,CAAC;AACH,KAAA;AACD,IAAA,OAAO,EAAE,CAAC,IAAI,KAAI;QAChB,CAAC,YAA0B;AACzB,YAAA,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC;gBACE,OAAO,EAAE,IAAI,CAAC,OAAO;AACrB,gBAAA,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;AAC3B,gBAAA,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK;AACtC,gBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;AAC7B,aAAA,EACD,CAAC,gCAAgC,EAAE,CAAC,CACrC;AAED,YAAA,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AACxB,gBAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACjB;QACF,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAc,KAAI;AAC5B,YAAA,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC;AAE1C,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,QAAA,CAAC,CAAC;IACJ,CAAC;AACF,CAAA,CAAC;AAEF,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"convert-to-readonly.mjs","sources":["../../src/cmd/convert-to-readonly.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAQA,MAAM,WAAW,GAAG,4BAA4B,EAAE;AAElD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IACzB,IAAI,EAAE,WAAW,CAAC,IAAI;AACtB,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,IAAI,EAAE;AACJ,QAAA,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC;YACtB,IAAI,EAAE,GAAG,CAAC,MAAM;AAChB,YAAA,WAAW,EAAE,SAAS;AACtB,YAAA,WAAW,EAAE,uDAAuD;SACrE,CAAC;AACF,QAAA,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC;AACvB,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzC,YAAA,WAAW,EACT,4FAA4F;SAC/F,CAAC;AACF,QAAA,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC;AACpB,YAAA,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EACT,oFAAoF;SACvF,CAAC;AACF,QAAA,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;AACf,YAAA,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EAAE,sDAAsD;SACpE,CAAC;AACH,KAAA;AACD,IAAA,OAAO,EAAE,CAAC,IAAI,KAAI;QAChB,CAAC,YAA0B;AACzB,YAAA,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC;gBACE,OAAO,EAAE,IAAI,CAAC,OAAO;AACrB,gBAAA,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;AAC3B,gBAAA,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK;AACtC,gBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;AAC7B,aAAA,EACD,CAAC,WAAW,CAAC,CACd;AAED,YAAA,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AACxB,gBAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACjB;QACF,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAc,KAAI;AAC5B,YAAA,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC;AAE1C,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,QAAA,CAAC,CAAC;IACJ,CAAC;AACF,CAAA,CAAC;AAEF,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC"}
@@ -3,14 +3,15 @@ import * as cmd from 'cmd-ts';
3
3
  import { Result } from 'ts-data-forge';
4
4
  import 'ts-repo-utils';
5
5
  import 'ts-morph';
6
- import '../functions/functions/is-primitive-type-node.mjs';
6
+ import '../functions/functions/is-atomic-type-node.mjs';
7
7
  import '../functions/ast-transformers/readonly-transformer-helpers/constants.mjs';
8
8
  import { replaceAnyWithUnknownTransformer } from '../functions/ast-transformers/replace-any-with-unknown.mjs';
9
9
  import { runTransformerCLI } from './run-transformer-cli.mjs';
10
10
 
11
+ const transformer = replaceAnyWithUnknownTransformer();
11
12
  const cmdDef = cmd.command({
12
- name: 'replace-any-with-unknown',
13
- version: '1.4.2',
13
+ name: transformer.name,
14
+ version: '2.0.0',
14
15
  args: {
15
16
  baseDir: cmd.positional({
16
17
  type: cmd.string,
@@ -40,7 +41,7 @@ const cmdDef = cmd.command({
40
41
  exclude: args.exclude ?? [],
41
42
  uncommitted: args.uncommitted ?? false,
42
43
  silent: args.silent ?? false,
43
- }, [replaceAnyWithUnknownTransformer()]);
44
+ }, [transformer]);
44
45
  if (Result.isErr(result)) {
45
46
  process.exit(1);
46
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"replace-any-with-unknown.mjs","sources":["../../src/cmd/replace-any-with-unknown.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAQA,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;AACzB,IAAA,IAAI,EAAE,0BAA0B;AAChC,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,IAAI,EAAE;AACJ,QAAA,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC;YACtB,IAAI,EAAE,GAAG,CAAC,MAAM;AAChB,YAAA,WAAW,EAAE,SAAS;AACtB,YAAA,WAAW,EAAE,uDAAuD;SACrE,CAAC;AACF,QAAA,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC;AACvB,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzC,YAAA,WAAW,EACT,4FAA4F;SAC/F,CAAC;AACF,QAAA,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC;AACpB,YAAA,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EACT,oFAAoF;SACvF,CAAC;AACF,QAAA,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;AACf,YAAA,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EAAE,sDAAsD;SACpE,CAAC;AACH,KAAA;AACD,IAAA,OAAO,EAAE,CAAC,IAAI,KAAI;QAChB,CAAC,YAA0B;AACzB,YAAA,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC;gBACE,OAAO,EAAE,IAAI,CAAC,OAAO;AACrB,gBAAA,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;AAC3B,gBAAA,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK;AACtC,gBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;AAC7B,aAAA,EACD,CAAC,gCAAgC,EAAE,CAAC,CACrC;AAED,YAAA,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AACxB,gBAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACjB;QACF,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAc,KAAI;AAC5B,YAAA,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC;AAE1C,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,QAAA,CAAC,CAAC;IACJ,CAAC;AACF,CAAA,CAAC;AAEF,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"replace-any-with-unknown.mjs","sources":["../../src/cmd/replace-any-with-unknown.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAQA,MAAM,WAAW,GAAG,gCAAgC,EAAE;AAEtD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IACzB,IAAI,EAAE,WAAW,CAAC,IAAI;AACtB,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,IAAI,EAAE;AACJ,QAAA,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC;YACtB,IAAI,EAAE,GAAG,CAAC,MAAM;AAChB,YAAA,WAAW,EAAE,SAAS;AACtB,YAAA,WAAW,EAAE,uDAAuD;SACrE,CAAC;AACF,QAAA,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC;AACvB,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzC,YAAA,WAAW,EACT,4FAA4F;SAC/F,CAAC;AACF,QAAA,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC;AACpB,YAAA,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EACT,oFAAoF;SACvF,CAAC;AACF,QAAA,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;AACf,YAAA,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EAAE,sDAAsD;SACpE,CAAC;AACH,KAAA;AACD,IAAA,OAAO,EAAE,CAAC,IAAI,KAAI;QAChB,CAAC,YAA0B;AACzB,YAAA,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC;gBACE,OAAO,EAAE,IAAI,CAAC,OAAO;AACrB,gBAAA,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;AAC3B,gBAAA,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK;AACtC,gBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;AAC7B,aAAA,EACD,CAAC,WAAW,CAAC,CACd;AAED,YAAA,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AACxB,gBAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACjB;QACF,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAc,KAAI;AAC5B,YAAA,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC;AAE1C,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,QAAA,CAAC,CAAC;IACJ,CAAC;AACF,CAAA,CAAC;AAEF,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC"}
@@ -3,14 +3,15 @@ import * as cmd from 'cmd-ts';
3
3
  import { Result } from 'ts-data-forge';
4
4
  import 'ts-repo-utils';
5
5
  import 'ts-morph';
6
- import '../functions/functions/is-primitive-type-node.mjs';
6
+ import '../functions/functions/is-atomic-type-node.mjs';
7
7
  import '../functions/ast-transformers/readonly-transformer-helpers/constants.mjs';
8
8
  import { replaceRecordWithUnknownRecordTransformer } from '../functions/ast-transformers/replace-record-with-unknown-record.mjs';
9
9
  import { runTransformerCLI } from './run-transformer-cli.mjs';
10
10
 
11
+ const transformer = replaceRecordWithUnknownRecordTransformer();
11
12
  const cmdDef = cmd.command({
12
- name: 'replace-record-with-unknown-record',
13
- version: '1.4.2',
13
+ name: transformer.name,
14
+ version: '2.0.0',
14
15
  args: {
15
16
  baseDir: cmd.positional({
16
17
  type: cmd.string,
@@ -40,7 +41,7 @@ const cmdDef = cmd.command({
40
41
  exclude: args.exclude ?? [],
41
42
  uncommitted: args.uncommitted ?? false,
42
43
  silent: args.silent ?? false,
43
- }, [replaceRecordWithUnknownRecordTransformer()]);
44
+ }, [transformer]);
44
45
  if (Result.isErr(result)) {
45
46
  process.exit(1);
46
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"replace-record-with-unknown-record.mjs","sources":["../../src/cmd/replace-record-with-unknown-record.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAQA,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;AACzB,IAAA,IAAI,EAAE,oCAAoC;AAC1C,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,IAAI,EAAE;AACJ,QAAA,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC;YACtB,IAAI,EAAE,GAAG,CAAC,MAAM;AAChB,YAAA,WAAW,EAAE,SAAS;AACtB,YAAA,WAAW,EAAE,uDAAuD;SACrE,CAAC;AACF,QAAA,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC;AACvB,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzC,YAAA,WAAW,EACT,4FAA4F;SAC/F,CAAC;AACF,QAAA,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC;AACpB,YAAA,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EACT,oFAAoF;SACvF,CAAC;AACF,QAAA,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;AACf,YAAA,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EAAE,sDAAsD;SACpE,CAAC;AACH,KAAA;AACD,IAAA,OAAO,EAAE,CAAC,IAAI,KAAI;QAChB,CAAC,YAA0B;AACzB,YAAA,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC;gBACE,OAAO,EAAE,IAAI,CAAC,OAAO;AACrB,gBAAA,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;AAC3B,gBAAA,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK;AACtC,gBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;AAC7B,aAAA,EACD,CAAC,yCAAyC,EAAE,CAAC,CAC9C;AAED,YAAA,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AACxB,gBAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACjB;QACF,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAc,KAAI;AAC5B,YAAA,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC;AAE1C,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,QAAA,CAAC,CAAC;IACJ,CAAC;AACF,CAAA,CAAC;AAEF,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"replace-record-with-unknown-record.mjs","sources":["../../src/cmd/replace-record-with-unknown-record.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAQA,MAAM,WAAW,GAAG,yCAAyC,EAAE;AAE/D,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IACzB,IAAI,EAAE,WAAW,CAAC,IAAI;AACtB,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,IAAI,EAAE;AACJ,QAAA,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC;YACtB,IAAI,EAAE,GAAG,CAAC,MAAM;AAChB,YAAA,WAAW,EAAE,SAAS;AACtB,YAAA,WAAW,EAAE,uDAAuD;SACrE,CAAC;AACF,QAAA,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC;AACvB,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzC,YAAA,WAAW,EACT,4FAA4F;SAC/F,CAAC;AACF,QAAA,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC;AACpB,YAAA,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EACT,oFAAoF;SACvF,CAAC;AACF,QAAA,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;AACf,YAAA,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,YAAA,WAAW,EAAE,sDAAsD;SACpE,CAAC;AACH,KAAA;AACD,IAAA,OAAO,EAAE,CAAC,IAAI,KAAI;QAChB,CAAC,YAA0B;AACzB,YAAA,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC;gBACE,OAAO,EAAE,IAAI,CAAC,OAAO;AACrB,gBAAA,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;AAC3B,gBAAA,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK;AACtC,gBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;AAC7B,aAAA,EACD,CAAC,WAAW,CAAC,CACd;AAED,YAAA,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AACxB,gBAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACjB;QACF,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAc,KAAI;AAC5B,YAAA,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC;AAE1C,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,QAAA,CAAC,CAAC;IACJ,CAAC;AACF,CAAA,CAAC;AAEF,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-transformer-cli.d.mts","sourceRoot":"","sources":["../../src/cmd/run-transformer-cli.mts"],"names":[],"mappings":"AAIA,OAAO,EAAO,MAAM,EAAmB,MAAM,eAAe,CAAC;AAM7D,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,wBAAwB,CAAC;AAEhC,KAAK,eAAe,GAAG,QAAQ,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC,CAAC;AAEH,KAAK,qBAAqB,GAAG,eAAe,CAAC;AAE7C,eAAO,MAAM,iBAAiB,GAC5B,SAAS,qBAAqB,EAC9B,cAAc,SAAS,kBAAkB,EAAE,KAC1C,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CA8DtC,CAAC"}
1
+ {"version":3,"file":"run-transformer-cli.d.mts","sourceRoot":"","sources":["../../src/cmd/run-transformer-cli.mts"],"names":[],"mappings":"AAGA,OAAO,EAAO,MAAM,EAAmB,MAAM,eAAe,CAAC;AAM7D,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,wBAAwB,CAAC;AAEhC,KAAK,eAAe,GAAG,QAAQ,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC,CAAC;AAEH,KAAK,qBAAqB,GAAG,eAAe,CAAC;AAE7C,eAAO,MAAM,iBAAiB,GAC5B,SAAS,qBAAqB,EAC9B,cAAc,SAAS,kBAAkB,EAAE,KAC1C,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CA8DtC,CAAC"}
@@ -2,11 +2,10 @@ import dedent from 'dedent';
2
2
  import { Result, Arr, unknownToString } from 'ts-data-forge';
3
3
  import { getUntrackedFiles, getModifiedFiles, getStagedFiles } from 'ts-repo-utils';
4
4
  import 'ts-morph';
5
- import '../functions/functions/is-primitive-type-node.mjs';
5
+ import '../functions/functions/is-atomic-type-node.mjs';
6
6
  import '../functions/ast-transformers/readonly-transformer-helpers/constants.mjs';
7
7
  import { transformSourceCode } from '../functions/ast-transformers/transform-source-code.mjs';
8
8
 
9
- /* eslint-disable @typescript-eslint/prefer-readonly-parameter-types */
10
9
  /* eslint-disable no-await-in-loop */
11
10
  const runTransformerCLI = async (options, transformers) => {
12
11
  const echoIfNotSilent = options.silent ? () => { } : echo;
@@ -1 +1 @@
1
- {"version":3,"file":"run-transformer-cli.mjs","sources":["../../src/cmd/run-transformer-cli.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-transformer-cli.mjs","sources":["../../src/cmd/run-transformer-cli.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  export { appendAsConstTransformer } from './functions/ast-transformers/append-as-const.mjs';
2
2
  export { convertInterfaceToTypeTransformer } from './functions/ast-transformers/convert-interface-to-type.mjs';
3
- export { convertToReadonlyTypeTransformer } from './functions/ast-transformers/convert-to-readonly-type.mjs';
3
+ export { convertToReadonlyTransformer } from './functions/ast-transformers/convert-to-readonly.mjs';
4
4
  export { compareUnionIntersectionTypes } from './functions/ast-transformers/readonly-transformer-helpers/compare-union-types.mjs';
5
5
  export { invalidDeepReadonlyTypeName } from './functions/ast-transformers/readonly-transformer-helpers/constants.mjs';
6
6
  export { groupUnionIntersectionTypes } from './functions/ast-transformers/readonly-transformer-helpers/group-union-types.mjs';
@@ -11,7 +11,7 @@ export { transformSourceCode } from './functions/ast-transformers/transform-sour
11
11
  export { IGNORE_FILE_COMMENT_PREFIX, IGNORE_LINE_COMMENT_PREFIX } from './functions/constants/ignore-comment-text.mjs';
12
12
  export { hasDisableNextLineComment } from './functions/functions/has-disable-next-line-comment.mjs';
13
13
  export { isAsConstNode } from './functions/functions/is-as-const-node.mjs';
14
- export { isPrimitiveTypeNode } from './functions/functions/is-primitive-type-node.mjs';
14
+ export { isAtomicTypeNode } from './functions/functions/is-atomic-type-node.mjs';
15
15
  export { isReadonlyArrayTypeNode, isReadonlyTupleOrArrayTypeNode, isReadonlyTupleTypeNode, isReadonlyTypeReferenceNode, isShallowReadonlyTypeNode } from './functions/functions/is-readonly-node.mjs';
16
16
  export { isSpreadNamedTupleMemberNode, isSpreadParameterNode } from './functions/functions/is-spread-parameter-node.mjs';
17
17
  export { removeParentheses } from './functions/functions/remove-parentheses.mjs';
@@ -1,6 +1,9 @@
1
1
  import { type TsMorphTransformer } from './types.mjs';
2
2
  export declare const appendAsConstTransformer: (options?: AppendAsConstTransformerOptions) => TsMorphTransformer;
3
3
  export type AppendAsConstTransformerOptions = DeepReadonly<{
4
+ /**
5
+ * @default "avoidInFunctionArgs"
6
+ */
4
7
  applyLevel?: 'all' | 'avoidInFunctionArgs';
5
8
  /**
6
9
  * A mute keywords to ignore the readonly conversion.
@@ -1 +1 @@
1
- {"version":3,"file":"append-as-const.d.mts","sourceRoot":"","sources":["../../../src/functions/ast-transformers/append-as-const.mts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD,eAAO,MAAM,wBAAwB,GACnC,UAAU,+BAA+B,KACxC,kBAkCF,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,YAAY,CAAC;IACzD,UAAU,CAAC,EAAE,KAAK,GAAG,qBAAqB,CAAC;IAE3C;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAK1B,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":"AAOA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD,eAAO,MAAM,wBAAwB,GACnC,UAAU,+BAA+B,KACxC,kBAkCF,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;IAK1B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC,CAAC"}
@@ -1,8 +1,8 @@
1
- import { ISet, Arr, pipe } from 'ts-data-forge';
1
+ import { ISet, Arr } from 'ts-data-forge';
2
2
  import * as tsm from 'ts-morph';
3
3
  import { hasDisableNextLineComment } from '../functions/has-disable-next-line-comment.mjs';
4
4
  import { isAsConstNode } from '../functions/is-as-const-node.mjs';
5
- import '../functions/is-primitive-type-node.mjs';
5
+ import '../functions/is-atomic-type-node.mjs';
6
6
  import { replaceNodeWithDebugPrint } from '../utils/replace-with-debug.mjs';
7
7
 
8
8
  const TRANSFORMER_NAME = 'append-as-const';
@@ -16,55 +16,24 @@ const appendAsConstTransformer = (options) => {
16
16
  ? replaceNodeWithDebugPrint
17
17
  : (node, newNodeText) => node.replaceWithText(newNodeText),
18
18
  };
19
- const transformer = (sourceAst) => {
20
- for (const node of sourceAst.getChildren()) {
21
- transformNode(node, {
22
- isUnderConstContext: false,
23
- isDirectUnderConstInitializer: false,
24
- isUnderSpreadElement: false,
25
- }, optionsInternal);
26
- }
19
+ return {
20
+ name: TRANSFORMER_NAME,
21
+ transform: (sourceAst) => {
22
+ for (const node of sourceAst.getDescendantsOfKind(tsm.SyntaxKind.VariableDeclaration)) {
23
+ transformNode(node, {
24
+ isUnderConstContext: false,
25
+ isDirectUnderConstInitializer: false,
26
+ isUnderSpreadElement: false,
27
+ }, optionsInternal);
28
+ }
29
+ },
27
30
  };
28
- // eslint-disable-next-line functional/immutable-data
29
- transformer.transformerName = TRANSFORMER_NAME;
30
- return transformer;
31
31
  };
32
32
  const transformNode = (node, context, options) => {
33
- options.debugPrint(node.getKindName(), node.getText());
34
- if (node.isKind(tsm.SyntaxKind.LiteralType) ||
35
- node.isKind(tsm.SyntaxKind.TypeLiteral) ||
36
- node.isKind(tsm.SyntaxKind.TypeReference) ||
37
- node.isKind(tsm.SyntaxKind.UnionType) ||
38
- node.isKind(tsm.SyntaxKind.TypeAliasDeclaration) ||
39
- node.isKind(tsm.SyntaxKind.ImportDeclaration) ||
40
- isDirective(node)) {
41
- return; // skip type annotations, import declarations, and directives
42
- }
43
- if (hasDisableNextLineComment(node, TRANSFORMER_NAME)) {
44
- options.debugPrint('skipped by disable-next-line comment');
45
- return;
46
- }
47
- if (options.applyLevel === 'avoidInFunctionArgs' &&
48
- tsm.Node.isCallExpression(node)) {
49
- return;
50
- }
51
- if (node.isKind(tsm.SyntaxKind.NoSubstitutionTemplateLiteral) || // `abc`
52
- node.isKind(tsm.SyntaxKind.NumericLiteral) || // 123
53
- node.isKind(tsm.SyntaxKind.BigIntLiteral) || // 123n
54
- node.isKind(tsm.SyntaxKind.StringLiteral) || // 'abc'
55
- node.isKind(tsm.SyntaxKind.TrueKeyword) || // true
56
- node.isKind(tsm.SyntaxKind.FalseKeyword) // false
57
- ) {
58
- if (context.isDirectUnderConstInitializer || context.isUnderConstContext) {
59
- return;
60
- }
61
- options.replaceNode(node, `${node.getText()} as const`);
62
- return;
63
- }
64
- if (node.isKind(tsm.SyntaxKind.TemplateExpression)) {
65
- options.replaceNode(node, `${node.getText()} as const`);
33
+ if (node.wasForgotten()) {
66
34
  return;
67
35
  }
36
+ options.debugPrint(node.getKindName(), node.getText(), { context });
68
37
  if (node.isKind(tsm.SyntaxKind.VariableDeclaration)) {
69
38
  const nodeName = node.getName();
70
39
  // check for ignorePrefix
@@ -74,6 +43,11 @@ const transformNode = (node, context, options) => {
74
43
  options.debugPrint('skipped variable declaration by ignorePrefixes');
75
44
  return;
76
45
  }
46
+ const variableStatement = node.getVariableStatement();
47
+ if (variableStatement !== undefined &&
48
+ hasDisableNextLineComment(variableStatement, TRANSFORMER_NAME)) {
49
+ return;
50
+ }
77
51
  const initializer = node.getInitializer();
78
52
  if (initializer === undefined) {
79
53
  return;
@@ -102,6 +76,31 @@ const transformNode = (node, context, options) => {
102
76
  // // for (const [i, el] of nodeName.elements.entries())
103
77
  // }
104
78
  }
79
+ if (hasDisableNextLineComment(node, TRANSFORMER_NAME)) {
80
+ options.debugPrint('skipped by disable-next-line comment');
81
+ return;
82
+ }
83
+ if (options.applyLevel === 'avoidInFunctionArgs' &&
84
+ tsm.Node.isCallExpression(node)) {
85
+ return;
86
+ }
87
+ if (node.isKind(tsm.SyntaxKind.NoSubstitutionTemplateLiteral) || // `abc`
88
+ node.isKind(tsm.SyntaxKind.NumericLiteral) || // 123
89
+ node.isKind(tsm.SyntaxKind.BigIntLiteral) || // 123n
90
+ node.isKind(tsm.SyntaxKind.StringLiteral) || // 'abc'
91
+ node.isKind(tsm.SyntaxKind.TrueKeyword) || // true
92
+ node.isKind(tsm.SyntaxKind.FalseKeyword) // false
93
+ ) {
94
+ if (context.isDirectUnderConstInitializer || context.isUnderConstContext) {
95
+ return;
96
+ }
97
+ options.replaceNode(node, `${node.getText()} as const`);
98
+ return;
99
+ }
100
+ if (node.isKind(tsm.SyntaxKind.TemplateExpression)) {
101
+ options.replaceNode(node, `${node.getText()} as const`);
102
+ return;
103
+ }
105
104
  // `as const` node
106
105
  if (isAsConstNode(node)) {
107
106
  if (context.isDirectUnderConstInitializer) {
@@ -165,6 +164,22 @@ const transformNode = (node, context, options) => {
165
164
  transformNode(node.getExpression(), context, options);
166
165
  return;
167
166
  }
167
+ if (tsm.Node.isSatisfiesExpression(node)) {
168
+ transformNode(node.getExpression(), context, options);
169
+ return;
170
+ }
171
+ if (tsm.Node.isPropertyAssignment(node)) {
172
+ const initializer = node.getInitializer();
173
+ if (initializer !== undefined) {
174
+ transformNode(initializer, context, options);
175
+ }
176
+ return;
177
+ }
178
+ if (tsm.Node.isArrowFunction(node)) {
179
+ const body = node.getBody();
180
+ transformNode(body, context, options);
181
+ return;
182
+ }
168
183
  if (tsm.Node.isArrayLiteralExpression(node)) {
169
184
  for (const el of node.getElements()) {
170
185
  transformNode(el, {
@@ -189,94 +204,19 @@ const transformNode = (node, context, options) => {
189
204
  if (!context.isUnderConstContext) {
190
205
  options.replaceNode(node, `${node.getText()} as const`);
191
206
  }
192
- return;
193
- }
194
- if (node.isKind(tsm.SyntaxKind.ClassDeclaration)) {
195
- // Skip conversion for class declarations with ignored prefixes
196
- // Example: class mut_Class {...} -> properties remain without readonly
197
- if (options.ignoredPrefixes.some((p) => node.getName()?.startsWith(p) === true)) {
198
- return;
199
- }
200
- transformClassDeclarationNode(node, context, options);
201
- return;
202
- }
203
- for (const child of node.getChildren()) {
204
- transformNode(child, {
205
- isDirectUnderConstInitializer: false,
206
- isUnderConstContext: context.isUnderConstContext,
207
- isUnderSpreadElement: context.isUnderSpreadElement,
208
- }, options);
209
- }
210
- };
211
- const transformClassDeclarationNode = (
212
- // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
213
- node, context, options) => {
214
- for (const mb of node.getMembers()) {
215
- if (hasDisableNextLineComment(mb)) {
216
- options.debugPrint('skipped member by disable-next-line comment');
217
- continue;
218
- }
219
- if (mb.isKind(tsm.SyntaxKind.PropertyDeclaration)) {
220
- if (!checkIfPropertyNameShouldBeIgnored(mb.getNameNode(), options)) {
221
- const type = mb.getTypeNode();
222
- if (type !== undefined) {
223
- transformNode(type, {
224
- isDirectUnderConstInitializer: false,
225
- isUnderConstContext: false,
226
- isUnderSpreadElement: context.isUnderSpreadElement,
227
- }, options);
228
- }
229
- const initializer = mb.getInitializer();
230
- if (initializer !== undefined) {
231
- transformNode(initializer, {
232
- isDirectUnderConstInitializer: false,
233
- isUnderConstContext: false,
234
- isUnderSpreadElement: context.isUnderSpreadElement,
235
- }, options);
236
- }
237
- }
238
- continue;
239
- }
240
- transformNode(mb, {
241
- isDirectUnderConstInitializer: false,
242
- isUnderConstContext: false,
243
- isUnderSpreadElement: context.isUnderSpreadElement,
244
- }, options);
245
- }
246
- };
247
- const checkIfPropertyNameShouldBeIgnored = (
248
- // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
249
- nameNode, options) => {
250
- return ((nameNode.isKind(tsm.SyntaxKind.Identifier) &&
251
- pipe(nameNode.getText()).map((nm) => options.ignoredPrefixes.some((p) => nm.startsWith(p))).value) ||
252
- (nameNode.isKind(tsm.SyntaxKind.StringLiteral) &&
253
- pipe(nameNode.getLiteralValue()).map((nm) => options.ignoredPrefixes.some((p) => nm.startsWith(p))).value) ||
254
- (nameNode.isKind(tsm.SyntaxKind.PrivateIdentifier) &&
255
- pipe(nameNode.getText()).map((nm) => options.ignoredPrefixes.some((p) => nm.startsWith(`#${p}`))).value) ||
256
- (nameNode.isKind(tsm.SyntaxKind.ComputedPropertyName) &&
257
- pipe(nameNode.getExpression()).map((exp) => {
258
- if (exp.isKind(tsm.SyntaxKind.StringLiteral)) {
259
- const nm = exp.getLiteralValue();
260
- return options.ignoredPrefixes.some((p) => nm.startsWith(p));
261
- }
262
- return false;
263
- }).value));
264
- };
265
- const isDirective = (node) => {
266
- if (!tsm.Node.isStringLiteral(node))
267
- return false;
268
- const parent = node.getParent();
269
- // 1. 親が ExpressionStatement であることを確認
270
- if (tsm.Node.isExpressionStatement(parent)) {
271
- // 2. その ExpressionStatement の子がこの StringLiteral だけである
272
- // かつ、ソースファイルやブロックの先頭付近にある
273
- const expression = parent.getExpression();
274
- if (expression === node) {
275
- // "use strict" や "use client" などの文字列そのものが文(Statement)になっている
276
- return true;
277
- }
278
- }
279
- return false;
207
+ // return;
208
+ }
209
+ // for (const child of node.getChildren()) {
210
+ // transformNode(
211
+ // child,
212
+ // {
213
+ // isDirectUnderConstInitializer: false,
214
+ // isUnderConstContext: context.isUnderConstContext,
215
+ // isUnderSpreadElement: context.isUnderSpreadElement,
216
+ // },
217
+ // options,
218
+ // );
219
+ // }
280
220
  };
281
221
 
282
222
  export { appendAsConstTransformer };