@typeorm/codemod 1.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 (275) hide show
  1. package/README.md +59 -0
  2. package/dist/cli/colors.d.ts +7 -0
  3. package/dist/cli/colors.js +12 -0
  4. package/dist/cli/colors.js.map +1 -0
  5. package/dist/cli/error.d.ts +1 -0
  6. package/dist/cli/error.js +11 -0
  7. package/dist/cli/error.js.map +1 -0
  8. package/dist/cli/list-transforms.d.ts +1 -0
  9. package/dist/cli/list-transforms.js +27 -0
  10. package/dist/cli/list-transforms.js.map +1 -0
  11. package/dist/cli/parse-args.d.ts +10 -0
  12. package/dist/cli/parse-args.js +52 -0
  13. package/dist/cli/parse-args.js.map +1 -0
  14. package/dist/cli/print-guide.d.ts +1 -0
  15. package/dist/cli/print-guide.js +15 -0
  16. package/dist/cli/print-guide.js.map +1 -0
  17. package/dist/cli/print-summary.d.ts +17 -0
  18. package/dist/cli/print-summary.js +70 -0
  19. package/dist/cli/print-summary.js.map +1 -0
  20. package/dist/cli/print-todos.d.ts +1 -0
  21. package/dist/cli/print-todos.js +13 -0
  22. package/dist/cli/print-todos.js.map +1 -0
  23. package/dist/cli/print-usage.d.ts +1 -0
  24. package/dist/cli/print-usage.js +31 -0
  25. package/dist/cli/print-usage.js.map +1 -0
  26. package/dist/cli/run-dependencies.d.ts +6 -0
  27. package/dist/cli/run-dependencies.js +45 -0
  28. package/dist/cli/run-dependencies.js.map +1 -0
  29. package/dist/cli/run-transforms.d.ts +21 -0
  30. package/dist/cli/run-transforms.js +119 -0
  31. package/dist/cli/run-transforms.js.map +1 -0
  32. package/dist/cli/run.d.ts +9 -0
  33. package/dist/cli/run.js +30 -0
  34. package/dist/cli/run.js.map +1 -0
  35. package/dist/dependencies/config.d.ts +24 -0
  36. package/dist/dependencies/config.js +3 -0
  37. package/dist/dependencies/config.js.map +1 -0
  38. package/dist/dependencies/find-package-json.d.ts +5 -0
  39. package/dist/dependencies/find-package-json.js +34 -0
  40. package/dist/dependencies/find-package-json.js.map +1 -0
  41. package/dist/dependencies/index.d.ts +5 -0
  42. package/dist/dependencies/index.js +14 -0
  43. package/dist/dependencies/index.js.map +1 -0
  44. package/dist/dependencies/upgrade.d.ts +11 -0
  45. package/dist/dependencies/upgrade.js +128 -0
  46. package/dist/dependencies/upgrade.js.map +1 -0
  47. package/dist/dependencies/v1.d.ts +2 -0
  48. package/dist/dependencies/v1.js +32 -0
  49. package/dist/dependencies/v1.js.map +1 -0
  50. package/dist/index.d.ts +2 -0
  51. package/dist/index.js +45 -0
  52. package/dist/index.js.map +1 -0
  53. package/dist/lib/colors.d.ts +9 -0
  54. package/dist/lib/colors.js +14 -0
  55. package/dist/lib/colors.js.map +1 -0
  56. package/dist/lib/error.d.ts +1 -0
  57. package/dist/lib/error.js +11 -0
  58. package/dist/lib/error.js.map +1 -0
  59. package/dist/lib/format-time.d.ts +1 -0
  60. package/dist/lib/format-time.js +12 -0
  61. package/dist/lib/format-time.js.map +1 -0
  62. package/dist/lib/highlight.d.ts +1 -0
  63. package/dist/lib/highlight.js +7 -0
  64. package/dist/lib/highlight.js.map +1 -0
  65. package/dist/lib/spinner.d.ts +5 -0
  66. package/dist/lib/spinner.js +39 -0
  67. package/dist/lib/spinner.js.map +1 -0
  68. package/dist/transforms/ast-helpers.d.ts +50 -0
  69. package/dist/transforms/ast-helpers.js +153 -0
  70. package/dist/transforms/ast-helpers.js.map +1 -0
  71. package/dist/transforms/index.d.ts +7 -0
  72. package/dist/transforms/index.js +41 -0
  73. package/dist/transforms/index.js.map +1 -0
  74. package/dist/transforms/resolve.d.ts +1 -0
  75. package/dist/transforms/resolve.js +28 -0
  76. package/dist/transforms/resolve.js.map +1 -0
  77. package/dist/transforms/scan.d.ts +4 -0
  78. package/dist/transforms/scan.js +33 -0
  79. package/dist/transforms/scan.js.map +1 -0
  80. package/dist/transforms/stats.d.ts +11 -0
  81. package/dist/transforms/stats.js +42 -0
  82. package/dist/transforms/stats.js.map +1 -0
  83. package/dist/transforms/todo.d.ts +2 -0
  84. package/dist/transforms/todo.js +10 -0
  85. package/dist/transforms/todo.js.map +1 -0
  86. package/dist/transforms/transformer.d.ts +8 -0
  87. package/dist/transforms/transformer.js +19 -0
  88. package/dist/transforms/transformer.js.map +1 -0
  89. package/dist/transforms/v1/column-readonly.d.ts +6 -0
  90. package/dist/transforms/v1/column-readonly.js +37 -0
  91. package/dist/transforms/v1/column-readonly.js.map +1 -0
  92. package/dist/transforms/v1/column-unsigned-numeric.d.ts +6 -0
  93. package/dist/transforms/v1/column-unsigned-numeric.js +65 -0
  94. package/dist/transforms/v1/column-unsigned-numeric.js.map +1 -0
  95. package/dist/transforms/v1/column-width-zerofill.d.ts +6 -0
  96. package/dist/transforms/v1/column-width-zerofill.js +26 -0
  97. package/dist/transforms/v1/column-width-zerofill.js.map +1 -0
  98. package/dist/transforms/v1/connection-to-datasource.d.ts +6 -0
  99. package/dist/transforms/v1/connection-to-datasource.js +205 -0
  100. package/dist/transforms/v1/connection-to-datasource.js.map +1 -0
  101. package/dist/transforms/v1/datasource-mongodb.d.ts +7 -0
  102. package/dist/transforms/v1/datasource-mongodb.js +96 -0
  103. package/dist/transforms/v1/datasource-mongodb.js.map +1 -0
  104. package/dist/transforms/v1/datasource-mssql-domain.d.ts +7 -0
  105. package/dist/transforms/v1/datasource-mssql-domain.js +35 -0
  106. package/dist/transforms/v1/datasource-mssql-domain.js.map +1 -0
  107. package/dist/transforms/v1/datasource-mssql.d.ts +7 -0
  108. package/dist/transforms/v1/datasource-mssql.js +82 -0
  109. package/dist/transforms/v1/datasource-mssql.js.map +1 -0
  110. package/dist/transforms/v1/datasource-mysql-connector.d.ts +6 -0
  111. package/dist/transforms/v1/datasource-mysql-connector.js +25 -0
  112. package/dist/transforms/v1/datasource-mysql-connector.js.map +1 -0
  113. package/dist/transforms/v1/datasource-name.d.ts +6 -0
  114. package/dist/transforms/v1/datasource-name.js +46 -0
  115. package/dist/transforms/v1/datasource-name.js.map +1 -0
  116. package/dist/transforms/v1/datasource-sap.d.ts +6 -0
  117. package/dist/transforms/v1/datasource-sap.js +63 -0
  118. package/dist/transforms/v1/datasource-sap.js.map +1 -0
  119. package/dist/transforms/v1/datasource-sqlite-options.d.ts +6 -0
  120. package/dist/transforms/v1/datasource-sqlite-options.js +35 -0
  121. package/dist/transforms/v1/datasource-sqlite-options.js.map +1 -0
  122. package/dist/transforms/v1/datasource-sqlite-type.d.ts +6 -0
  123. package/dist/transforms/v1/datasource-sqlite-type.js +28 -0
  124. package/dist/transforms/v1/datasource-sqlite-type.js.map +1 -0
  125. package/dist/transforms/v1/find-options-lock-modes.d.ts +6 -0
  126. package/dist/transforms/v1/find-options-lock-modes.js +81 -0
  127. package/dist/transforms/v1/find-options-lock-modes.js.map +1 -0
  128. package/dist/transforms/v1/find-options-string-relations.d.ts +6 -0
  129. package/dist/transforms/v1/find-options-string-relations.js +69 -0
  130. package/dist/transforms/v1/find-options-string-relations.js.map +1 -0
  131. package/dist/transforms/v1/find-options-string-select.d.ts +6 -0
  132. package/dist/transforms/v1/find-options-string-select.js +36 -0
  133. package/dist/transforms/v1/find-options-string-select.js.map +1 -0
  134. package/dist/transforms/v1/global-functions.d.ts +7 -0
  135. package/dist/transforms/v1/global-functions.js +98 -0
  136. package/dist/transforms/v1/global-functions.js.map +1 -0
  137. package/dist/transforms/v1/index.d.ts +40 -0
  138. package/dist/transforms/v1/index.js +109 -0
  139. package/dist/transforms/v1/index.js.map +1 -0
  140. package/dist/transforms/v1/migrations-get-all.d.ts +7 -0
  141. package/dist/transforms/v1/migrations-get-all.js +39 -0
  142. package/dist/transforms/v1/migrations-get-all.js.map +1 -0
  143. package/dist/transforms/v1/mongodb-stats.d.ts +7 -0
  144. package/dist/transforms/v1/mongodb-stats.js +52 -0
  145. package/dist/transforms/v1/mongodb-stats.js.map +1 -0
  146. package/dist/transforms/v1/mongodb-types.d.ts +6 -0
  147. package/dist/transforms/v1/mongodb-types.js +84 -0
  148. package/dist/transforms/v1/mongodb-types.js.map +1 -0
  149. package/dist/transforms/v1/query-builder-native-parameters.d.ts +6 -0
  150. package/dist/transforms/v1/query-builder-native-parameters.js +20 -0
  151. package/dist/transforms/v1/query-builder-native-parameters.js.map +1 -0
  152. package/dist/transforms/v1/query-builder-on-conflict.d.ts +7 -0
  153. package/dist/transforms/v1/query-builder-on-conflict.js +56 -0
  154. package/dist/transforms/v1/query-builder-on-conflict.js.map +1 -0
  155. package/dist/transforms/v1/query-builder-or-update.d.ts +6 -0
  156. package/dist/transforms/v1/query-builder-or-update.js +56 -0
  157. package/dist/transforms/v1/query-builder-or-update.js.map +1 -0
  158. package/dist/transforms/v1/query-builder-print-sql.d.ts +7 -0
  159. package/dist/transforms/v1/query-builder-print-sql.js +49 -0
  160. package/dist/transforms/v1/query-builder-print-sql.js.map +1 -0
  161. package/dist/transforms/v1/query-builder-replace-property-names.d.ts +7 -0
  162. package/dist/transforms/v1/query-builder-replace-property-names.js +42 -0
  163. package/dist/transforms/v1/query-builder-replace-property-names.js.map +1 -0
  164. package/dist/transforms/v1/query-builder-where-expression.d.ts +6 -0
  165. package/dist/transforms/v1/query-builder-where-expression.js +39 -0
  166. package/dist/transforms/v1/query-builder-where-expression.js.map +1 -0
  167. package/dist/transforms/v1/query-runner-loaded-tables-views.d.ts +7 -0
  168. package/dist/transforms/v1/query-runner-loaded-tables-views.js +54 -0
  169. package/dist/transforms/v1/query-runner-loaded-tables-views.js.map +1 -0
  170. package/dist/transforms/v1/relation-count.d.ts +7 -0
  171. package/dist/transforms/v1/relation-count.js +41 -0
  172. package/dist/transforms/v1/relation-count.js.map +1 -0
  173. package/dist/transforms/v1/remove-abstract-repository.d.ts +5 -0
  174. package/dist/transforms/v1/remove-abstract-repository.js +93 -0
  175. package/dist/transforms/v1/remove-abstract-repository.js.map +1 -0
  176. package/dist/transforms/v1/remove-connector-package.d.ts +4 -0
  177. package/dist/transforms/v1/remove-connector-package.js +19 -0
  178. package/dist/transforms/v1/remove-connector-package.js.map +1 -0
  179. package/dist/transforms/v1/remove-datasource-name.d.ts +4 -0
  180. package/dist/transforms/v1/remove-datasource-name.js +56 -0
  181. package/dist/transforms/v1/remove-datasource-name.js.map +1 -0
  182. package/dist/transforms/v1/remove-mongodb-options.d.ts +5 -0
  183. package/dist/transforms/v1/remove-mongodb-options.js +86 -0
  184. package/dist/transforms/v1/remove-mongodb-options.js.map +1 -0
  185. package/dist/transforms/v1/remove-relation-count.d.ts +5 -0
  186. package/dist/transforms/v1/remove-relation-count.js +49 -0
  187. package/dist/transforms/v1/remove-relation-count.js.map +1 -0
  188. package/dist/transforms/v1/remove-replace-property-names.d.ts +5 -0
  189. package/dist/transforms/v1/remove-replace-property-names.js +35 -0
  190. package/dist/transforms/v1/remove-replace-property-names.js.map +1 -0
  191. package/dist/transforms/v1/remove-sap-options.d.ts +4 -0
  192. package/dist/transforms/v1/remove-sap-options.js +54 -0
  193. package/dist/transforms/v1/remove-sap-options.js.map +1 -0
  194. package/dist/transforms/v1/remove-unsigned-numeric.d.ts +4 -0
  195. package/dist/transforms/v1/remove-unsigned-numeric.js +76 -0
  196. package/dist/transforms/v1/remove-unsigned-numeric.js.map +1 -0
  197. package/dist/transforms/v1/remove-use-container.d.ts +5 -0
  198. package/dist/transforms/v1/remove-use-container.js +63 -0
  199. package/dist/transforms/v1/remove-use-container.js.map +1 -0
  200. package/dist/transforms/v1/remove-width-zerofill.d.ts +4 -0
  201. package/dist/transforms/v1/remove-width-zerofill.js +29 -0
  202. package/dist/transforms/v1/remove-width-zerofill.js.map +1 -0
  203. package/dist/transforms/v1/rename-connection-to-datasource.d.ts +4 -0
  204. package/dist/transforms/v1/rename-connection-to-datasource.js +111 -0
  205. package/dist/transforms/v1/rename-connection-to-datasource.js.map +1 -0
  206. package/dist/transforms/v1/rename-exist-to-exists.d.ts +4 -0
  207. package/dist/transforms/v1/rename-exist-to-exists.js +25 -0
  208. package/dist/transforms/v1/rename-exist-to-exists.js.map +1 -0
  209. package/dist/transforms/v1/rename-find-by-ids.d.ts +4 -0
  210. package/dist/transforms/v1/rename-find-by-ids.js +64 -0
  211. package/dist/transforms/v1/rename-find-by-ids.js.map +1 -0
  212. package/dist/transforms/v1/rename-get-all-migrations.d.ts +5 -0
  213. package/dist/transforms/v1/rename-get-all-migrations.js +32 -0
  214. package/dist/transforms/v1/rename-get-all-migrations.js.map +1 -0
  215. package/dist/transforms/v1/rename-loaded-tables-views.d.ts +5 -0
  216. package/dist/transforms/v1/rename-loaded-tables-views.js +48 -0
  217. package/dist/transforms/v1/rename-loaded-tables-views.js.map +1 -0
  218. package/dist/transforms/v1/rename-or-update-overload.d.ts +4 -0
  219. package/dist/transforms/v1/rename-or-update-overload.js +46 -0
  220. package/dist/transforms/v1/rename-or-update-overload.js.map +1 -0
  221. package/dist/transforms/v1/rename-print-sql-to-log-query.d.ts +4 -0
  222. package/dist/transforms/v1/rename-print-sql-to-log-query.js +25 -0
  223. package/dist/transforms/v1/rename-print-sql-to-log-query.js.map +1 -0
  224. package/dist/transforms/v1/replace-global-functions.d.ts +5 -0
  225. package/dist/transforms/v1/replace-global-functions.js +92 -0
  226. package/dist/transforms/v1/replace-global-functions.js.map +1 -0
  227. package/dist/transforms/v1/replace-lock-modes.d.ts +4 -0
  228. package/dist/transforms/v1/replace-lock-modes.js +75 -0
  229. package/dist/transforms/v1/replace-lock-modes.js.map +1 -0
  230. package/dist/transforms/v1/replace-mongodb-stats.d.ts +5 -0
  231. package/dist/transforms/v1/replace-mongodb-stats.js +54 -0
  232. package/dist/transforms/v1/replace-mongodb-stats.js.map +1 -0
  233. package/dist/transforms/v1/replace-mongodb-types.d.ts +4 -0
  234. package/dist/transforms/v1/replace-mongodb-types.js +72 -0
  235. package/dist/transforms/v1/replace-mongodb-types.js.map +1 -0
  236. package/dist/transforms/v1/replace-mssql-domain.d.ts +5 -0
  237. package/dist/transforms/v1/replace-mssql-domain.js +25 -0
  238. package/dist/transforms/v1/replace-mssql-domain.js.map +1 -0
  239. package/dist/transforms/v1/replace-on-conflict.d.ts +5 -0
  240. package/dist/transforms/v1/replace-on-conflict.js +49 -0
  241. package/dist/transforms/v1/replace-on-conflict.js.map +1 -0
  242. package/dist/transforms/v1/replace-readonly-column.d.ts +4 -0
  243. package/dist/transforms/v1/replace-readonly-column.js +28 -0
  244. package/dist/transforms/v1/replace-readonly-column.js.map +1 -0
  245. package/dist/transforms/v1/replace-set-native-parameters.d.ts +4 -0
  246. package/dist/transforms/v1/replace-set-native-parameters.js +25 -0
  247. package/dist/transforms/v1/replace-set-native-parameters.js.map +1 -0
  248. package/dist/transforms/v1/replace-sqlite-options.d.ts +4 -0
  249. package/dist/transforms/v1/replace-sqlite-options.js +29 -0
  250. package/dist/transforms/v1/replace-sqlite-options.js.map +1 -0
  251. package/dist/transforms/v1/replace-sqlite-type.d.ts +4 -0
  252. package/dist/transforms/v1/replace-sqlite-type.js +22 -0
  253. package/dist/transforms/v1/replace-sqlite-type.js.map +1 -0
  254. package/dist/transforms/v1/replace-where-expression-type.d.ts +4 -0
  255. package/dist/transforms/v1/replace-where-expression-type.js +41 -0
  256. package/dist/transforms/v1/replace-where-expression-type.js.map +1 -0
  257. package/dist/transforms/v1/repository-abstract.d.ts +7 -0
  258. package/dist/transforms/v1/repository-abstract.js +83 -0
  259. package/dist/transforms/v1/repository-abstract.js.map +1 -0
  260. package/dist/transforms/v1/repository-exist.d.ts +6 -0
  261. package/dist/transforms/v1/repository-exist.js +20 -0
  262. package/dist/transforms/v1/repository-exist.js.map +1 -0
  263. package/dist/transforms/v1/repository-find-by-ids.d.ts +6 -0
  264. package/dist/transforms/v1/repository-find-by-ids.js +74 -0
  265. package/dist/transforms/v1/repository-find-by-ids.js.map +1 -0
  266. package/dist/transforms/v1/repository-find-one-by-id.d.ts +6 -0
  267. package/dist/transforms/v1/repository-find-one-by-id.js +55 -0
  268. package/dist/transforms/v1/repository-find-one-by-id.js.map +1 -0
  269. package/dist/transforms/v1/upgrade-dependencies.d.ts +15 -0
  270. package/dist/transforms/v1/upgrade-dependencies.js +163 -0
  271. package/dist/transforms/v1/upgrade-dependencies.js.map +1 -0
  272. package/dist/transforms/v1/use-container.d.ts +7 -0
  273. package/dist/transforms/v1/use-container.js +54 -0
  274. package/dist/transforms/v1/use-container.js.map +1 -0
  275. package/package.json +50 -0
package/README.md ADDED
@@ -0,0 +1,59 @@
1
+ # @typeorm/codemod
2
+
3
+ Automated code migration tool for TypeORM version upgrades.
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ # Run all v1 transforms
9
+ npx @typeorm/codemod v1 src/
10
+
11
+ # Dry run (preview changes without writing)
12
+ npx @typeorm/codemod v1 --dry src/
13
+
14
+ # Run a specific transform
15
+ npx @typeorm/codemod v1 --transform connection-to-datasource src/
16
+
17
+ # Exclude files by glob pattern (repeatable)
18
+ npx @typeorm/codemod v1 --ignore '**/generated*' --ignore '**/e2e/**' src/
19
+
20
+ # Control parallelism
21
+ npx @typeorm/codemod v1 --workers 4 src/
22
+
23
+ # List available transforms
24
+ npx @typeorm/codemod v1 --list
25
+ ```
26
+
27
+ ## Options
28
+
29
+ | Option | Short | Description |
30
+ | -------------------- | ----- | --------------------------------------------------- |
31
+ | `--dry` | `-d` | Dry run (show changes without writing) |
32
+ | `--help` | `-h` | Show help |
33
+ | `--ignore <pattern>` | `-i` | Glob pattern to exclude files (repeatable) |
34
+ | `--list` | `-l` | List available transforms |
35
+ | `--transform <name>` | `-t` | Run a specific transform only |
36
+ | `--workers <num>` | `-w` | Number of worker processes (default: CPU cores - 1) |
37
+
38
+ ## After running
39
+
40
+ Some transforms leave `TODO` comments in your code where manual changes are needed. After the codemod completes, it will list all files that require manual review.
41
+
42
+ ### Formatting
43
+
44
+ The codemod uses an AST-based approach which may introduce minor formatting differences (e.g. extra parentheses, quote style changes). Run your project's formatter after the codemod to restore your code style:
45
+
46
+ ```bash
47
+ npx @typeorm/codemod v1 src/
48
+ npx prettier --write src/ # or: npx eslint --fix src/
49
+ ```
50
+
51
+ ### Scoping
52
+
53
+ Transforms that rename properties or methods (e.g. `.connection` to `.dataSource`) rely on type annotations to identify TypeORM instances. Code that uses TypeORM APIs without type annotations may not be transformed automatically — review `git diff` after running.
54
+
55
+ ## Documentation
56
+
57
+ See the full migration guide for details on all breaking changes:
58
+
59
+ - [v1](https://typeorm.io/docs/guides/migration-v1)
@@ -0,0 +1,7 @@
1
+ export declare const colors: {
2
+ bold: (s: string) => string;
3
+ dim: (s: string) => string;
4
+ red: (s: string) => string;
5
+ yellow: (s: string) => string;
6
+ blue: (s: string) => string;
7
+ };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.colors = void 0;
4
+ const wrap = (code) => (s) => `\x1b[${code}m${s}\x1b[0m`;
5
+ exports.colors = {
6
+ bold: wrap("1"),
7
+ dim: wrap("2"),
8
+ red: wrap("31"),
9
+ yellow: wrap("33"),
10
+ blue: wrap("94"),
11
+ };
12
+ //# sourceMappingURL=colors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/cli/colors.ts"],"names":[],"mappings":";;;AAAA,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAA;AAE3D,QAAA,MAAM,GAAG;IAClB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;IACf,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;IACd,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC;IACf,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;IAClB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;CACnB,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const fail: (message: string, beforeExit?: () => void) => never;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fail = void 0;
4
+ const colors_1 = require("./colors");
5
+ const fail = (message, beforeExit) => {
6
+ console.error(colors_1.colors.red(`Error: ${message}\n`));
7
+ beforeExit?.();
8
+ process.exit(1);
9
+ };
10
+ exports.fail = fail;
11
+ //# sourceMappingURL=error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/cli/error.ts"],"names":[],"mappings":";;;AAAA,qCAAiC;AAE1B,MAAM,IAAI,GAAG,CAAC,OAAe,EAAE,UAAuB,EAAS,EAAE;IACpE,OAAO,CAAC,KAAK,CAAC,eAAM,CAAC,GAAG,CAAC,UAAU,OAAO,IAAI,CAAC,CAAC,CAAA;IAChD,UAAU,EAAE,EAAE,CAAA;IACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC,CAAA;AAJY,QAAA,IAAI,QAIhB"}
@@ -0,0 +1 @@
1
+ export declare const listTransforms: (version: string) => void;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listTransforms = void 0;
4
+ const colors_1 = require("../lib/colors");
5
+ const transforms_1 = require("../transforms");
6
+ const listTransforms = (version) => {
7
+ const info = transforms_1.versions[version];
8
+ if (!info) {
9
+ throw new Error(`No transforms found for version "${version}"`);
10
+ }
11
+ const entries = info.transforms;
12
+ const hasManual = entries.some((t) => t.manual);
13
+ const maxLen = Math.max(...entries.map((e) => e.name.length + (e.manual ? 4 : 0)));
14
+ console.log(`Available transforms for version ${colors_1.colors.blue(version)}:\n`);
15
+ for (const { name, description, manual } of entries) {
16
+ const marker = manual ? ` ${colors_1.colors.yellow("(*)")}` : "";
17
+ const rawLen = name.length + (manual ? 4 : 0);
18
+ const padding = " ".repeat(maxLen - rawLen);
19
+ const desc = description ? `${padding} - ${description}` : "";
20
+ console.log(` ${colors_1.colors.dim(name)}${marker}${desc}`);
21
+ }
22
+ if (hasManual) {
23
+ console.log(`\n ${colors_1.colors.yellow("Warning:")} transforms marked with ${colors_1.colors.yellow("(*)")} require manual review after running`);
24
+ }
25
+ };
26
+ exports.listTransforms = listTransforms;
27
+ //# sourceMappingURL=list-transforms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-transforms.js","sourceRoot":"","sources":["../../src/cli/list-transforms.ts"],"names":[],"mappings":";;;AAAA,0CAAsC;AACtC,8CAAwC;AAEjC,MAAM,cAAc,GAAG,CAAC,OAAe,EAAQ,EAAE;IACpD,MAAM,IAAI,GAAG,qBAAQ,CAAC,OAAO,CAAC,CAAA;IAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,oCAAoC,OAAO,GAAG,CAAC,CAAA;IACnE,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAA;IAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAE/C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CACnB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5D,CAAA;IAED,OAAO,CAAC,GAAG,CAAC,oCAAoC,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAE1E,KAAK,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,eAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7C,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;QAC3C,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,MAAM,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,eAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CACP,OAAO,eAAM,CAAC,MAAM,CAAC,UAAU,CAAC,2BAA2B,eAAM,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,CACxH,CAAA;IACL,CAAC;AACL,CAAC,CAAA;AA5BY,QAAA,cAAc,kBA4B1B"}
@@ -0,0 +1,10 @@
1
+ export interface CliOptions {
2
+ version: string;
3
+ paths: string[];
4
+ transform?: string;
5
+ dry?: boolean;
6
+ list?: boolean;
7
+ workers?: number;
8
+ ignore?: string[];
9
+ }
10
+ export declare const parseArgs: (args: string[]) => CliOptions;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseArgs = void 0;
4
+ const requireValue = (flag, value) => {
5
+ if (!value || value.startsWith("-")) {
6
+ console.error(`Error: ${flag} requires a value`);
7
+ process.exit(1);
8
+ }
9
+ return value;
10
+ };
11
+ const parseArgs = (args) => {
12
+ const options = {
13
+ version: "",
14
+ paths: [],
15
+ };
16
+ let i = 0;
17
+ while (i < args.length) {
18
+ const arg = args[i];
19
+ if (arg === "--dry" || arg === "-d") {
20
+ options.dry = true;
21
+ }
22
+ else if (arg === "--list" || arg === "-l") {
23
+ options.list = true;
24
+ }
25
+ else if (arg === "--transform" || arg === "-t") {
26
+ options.transform = requireValue(arg, args[++i]);
27
+ }
28
+ else if (arg === "--workers" || arg === "-w") {
29
+ const raw = requireValue(arg, args[++i]);
30
+ const value = Number.parseInt(raw, 10);
31
+ if (!Number.isInteger(value) || value <= 0) {
32
+ console.error(`Error: --workers must be a positive integer, got "${raw}"`);
33
+ process.exit(1);
34
+ }
35
+ options.workers = value;
36
+ }
37
+ else if (arg === "--ignore" || arg === "-i") {
38
+ options.ignore ??= [];
39
+ options.ignore.push(requireValue(arg, args[++i]));
40
+ }
41
+ else if (options.version) {
42
+ options.paths.push(arg);
43
+ }
44
+ else {
45
+ options.version = arg;
46
+ }
47
+ i++;
48
+ }
49
+ return options;
50
+ };
51
+ exports.parseArgs = parseArgs;
52
+ //# sourceMappingURL=parse-args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-args.js","sourceRoot":"","sources":["../../src/cli/parse-args.ts"],"names":[],"mappings":";;;AAUA,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,KAAyB,EAAU,EAAE;IACrE,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,mBAAmB,CAAC,CAAA;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;IAED,OAAO,KAAK,CAAA;AAChB,CAAC,CAAA;AAEM,MAAM,SAAS,GAAG,CAAC,IAAc,EAAc,EAAE;IACpD,MAAM,OAAO,GAAe;QACxB,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,EAAE;KACZ,CAAA;IAED,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAA;QACtB,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC1C,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;QACvB,CAAC;aAAM,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC/C,OAAO,CAAC,SAAS,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACxC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;YACtC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACzC,OAAO,CAAC,KAAK,CACT,qDAAqD,GAAG,GAAG,CAC9D,CAAA;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACnB,CAAC;YACD,OAAO,CAAC,OAAO,GAAG,KAAK,CAAA;QAC3B,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC5C,OAAO,CAAC,MAAM,KAAK,EAAE,CAAA;YACrB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACrD,CAAC;aAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC3B,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,OAAO,GAAG,GAAG,CAAA;QACzB,CAAC;QACD,CAAC,EAAE,CAAA;IACP,CAAC;IAED,OAAO,OAAO,CAAA;AAClB,CAAC,CAAA;AArCY,QAAA,SAAS,aAqCrB"}
@@ -0,0 +1 @@
1
+ export declare const printGuide: (version: string) => void;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.printGuide = void 0;
4
+ const colors_1 = require("../lib/colors");
5
+ const highlight_1 = require("../lib/highlight");
6
+ const transforms_1 = require("../transforms");
7
+ const printGuide = (version) => {
8
+ console.log((0, highlight_1.highlight)(`\n${colors_1.colors.blue("Tip:")} run your project's formatter (e.g. \`prettier\`, \`eslint --fix\`) to clean up any style differences introduced by the codemod.`));
9
+ const guide = transforms_1.versions[version]?.migrationGuide;
10
+ if (guide) {
11
+ console.log(`\nSee the full migration guide for details: ${colors_1.colors.blue(guide)}`);
12
+ }
13
+ };
14
+ exports.printGuide = printGuide;
15
+ //# sourceMappingURL=print-guide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"print-guide.js","sourceRoot":"","sources":["../../src/cli/print-guide.ts"],"names":[],"mappings":";;;AAAA,0CAAsC;AACtC,gDAA4C;AAC5C,8CAAwC;AAEjC,MAAM,UAAU,GAAG,CAAC,OAAe,EAAQ,EAAE;IAChD,OAAO,CAAC,GAAG,CACP,IAAA,qBAAS,EACL,KAAK,eAAM,CAAC,IAAI,CAAC,MAAM,CAAC,kIAAkI,CAC7J,CACJ,CAAA;IAED,MAAM,KAAK,GAAG,qBAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAA;IAC/C,IAAI,KAAK,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,CACP,+CAA+C,eAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACtE,CAAA;IACL,CAAC;AACL,CAAC,CAAA;AAbY,QAAA,UAAU,cAatB"}
@@ -0,0 +1,17 @@
1
+ export interface SummaryData {
2
+ ok: number;
3
+ error: number;
4
+ skip: number;
5
+ nochange: number;
6
+ timeElapsed: number;
7
+ parseErrors: {
8
+ file: string;
9
+ message: string;
10
+ }[];
11
+ todos: Map<string, string[]>;
12
+ applied: Map<string, number>;
13
+ depChanges: string[];
14
+ depWarnings: string[];
15
+ depErrors: string[];
16
+ }
17
+ export declare const printSummary: (data: SummaryData) => void;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.printSummary = void 0;
4
+ const colors_1 = require("../lib/colors");
5
+ const format_time_1 = require("../lib/format-time");
6
+ const highlight_1 = require("../lib/highlight");
7
+ const print_todos_1 = require("./print-todos");
8
+ const printStatistics = (data) => {
9
+ console.log(`\n${colors_1.colors.bold("Statistics:")}`);
10
+ console.log(` Files processed: ${data.ok + data.error + data.skip + data.nochange}`);
11
+ console.log(` Files transformed: ${data.ok}`);
12
+ console.log(` Files skipped: ${data.skip + data.nochange}`);
13
+ console.log(` Parse errors: ${data.error}`);
14
+ console.log(` Time elapsed: ${(0, format_time_1.formatTime)(data.timeElapsed)}`);
15
+ };
16
+ const printApplied = (applied) => {
17
+ console.log(`\n${colors_1.colors.bold("Transforms applied:")}`);
18
+ const sorted = [...applied.entries()].sort(([, a], [, b]) => b - a);
19
+ for (const [name, count] of sorted) {
20
+ console.log(` ${colors_1.colors.dim(name.padEnd(45))} ${count} file${count === 1 ? "" : "s"}`);
21
+ }
22
+ };
23
+ const printParseErrors = (parseErrors) => {
24
+ console.log(`\n ${colors_1.colors.red("Parse errors:")}`);
25
+ const sorted = [...parseErrors].sort((a, b) => a.file.localeCompare(b.file));
26
+ for (const { file, message } of sorted) {
27
+ console.log(` ${colors_1.colors.dim(file)} ${message}`);
28
+ }
29
+ };
30
+ const groupLines = (lines) => {
31
+ const counts = new Map();
32
+ for (const line of lines) {
33
+ counts.set(line, (counts.get(line) ?? 0) + 1);
34
+ }
35
+ return [...counts.entries()];
36
+ };
37
+ const printGrouped = (lines, indent, formatter = highlight_1.highlight) => {
38
+ for (const [line, count] of groupLines(lines)) {
39
+ const suffix = count > 1 ? ` ${colors_1.colors.dim(`(${count} times)`)}` : "";
40
+ console.log(`${indent}${formatter(line)}${suffix}`);
41
+ }
42
+ };
43
+ const printDependencyChanges = (changes, warnings, errors) => {
44
+ console.log(`\n${colors_1.colors.bold("Dependency changes:")}`);
45
+ printGrouped(changes, " ");
46
+ if (errors.length > 0) {
47
+ console.log(`\n ${colors_1.colors.red("Errors:")}`);
48
+ printGrouped(errors, " ");
49
+ }
50
+ if (warnings.length > 0) {
51
+ console.log(`\n ${colors_1.colors.yellow("Warnings:")}`);
52
+ printGrouped(warnings, " ");
53
+ }
54
+ };
55
+ const printSummary = (data) => {
56
+ printStatistics(data);
57
+ if (data.applied.size > 0)
58
+ printApplied(data.applied);
59
+ if (data.todos.size > 0)
60
+ (0, print_todos_1.printTodos)(data.todos);
61
+ if (data.parseErrors.length > 0)
62
+ printParseErrors(data.parseErrors);
63
+ if (data.depChanges.length > 0 ||
64
+ data.depWarnings.length > 0 ||
65
+ data.depErrors.length > 0) {
66
+ printDependencyChanges(data.depChanges, data.depWarnings, data.depErrors);
67
+ }
68
+ };
69
+ exports.printSummary = printSummary;
70
+ //# sourceMappingURL=print-summary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"print-summary.js","sourceRoot":"","sources":["../../src/cli/print-summary.ts"],"names":[],"mappings":";;;AAAA,0CAAsC;AACtC,oDAA+C;AAC/C,gDAA4C;AAC5C,+CAA0C;AAgB1C,MAAM,eAAe,GAAG,CAAC,IAAiB,EAAQ,EAAE;IAChD,OAAO,CAAC,GAAG,CAAC,KAAK,eAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;IAC9C,OAAO,CAAC,GAAG,CACP,wBAAwB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAC7E,CAAA;IACD,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;IAC9C,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;IAChE,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;IACjD,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAA,wBAAU,EAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;AACvE,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,OAA4B,EAAQ,EAAE;IACxD,OAAO,CAAC,GAAG,CAAC,KAAK,eAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAA;IACtD,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IACnE,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CACP,KAAK,eAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAC5E,CAAA;IACL,CAAC;AACL,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CACrB,WAAgD,EAC5C,EAAE;IACN,OAAO,CAAC,GAAG,CAAC,OAAO,eAAM,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;IACjD,MAAM,MAAM,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAC5E,KAAK,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,MAAM,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,OAAO,eAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC,CAAA;IACrD,CAAC;AACL,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,KAAe,EAAsB,EAAE;IACvD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;IACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;AAChC,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CACjB,KAAe,EACf,MAAc,EACd,YAAsC,qBAAS,EAC3C,EAAE;IACN,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,eAAM,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACpE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,CAAA;IACvD,CAAC;AACL,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAC3B,OAAiB,EACjB,QAAkB,EAClB,MAAgB,EACZ,EAAE;IACN,OAAO,CAAC,GAAG,CAAC,KAAK,eAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAA;IACtD,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC3B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,OAAO,eAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAC3C,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,OAAO,eAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QAChD,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAClC,CAAC;AACL,CAAC,CAAA;AAEM,MAAM,YAAY,GAAG,CAAC,IAAiB,EAAQ,EAAE;IACpD,eAAe,CAAC,IAAI,CAAC,CAAA;IAErB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC;QAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACrD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;QAAE,IAAA,wBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/C,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QAAE,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAEnE,IACI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAC3B,CAAC;QACC,sBAAsB,CAClB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,SAAS,CACjB,CAAA;IACL,CAAC;AACL,CAAC,CAAA;AAlBY,QAAA,YAAY,gBAkBxB"}
@@ -0,0 +1 @@
1
+ export declare const printTodos: (allTodos: Map<string, string[]>) => void;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.printTodos = void 0;
4
+ const colors_1 = require("../lib/colors");
5
+ const printTodos = (allTodos) => {
6
+ console.log(`\n ${colors_1.colors.yellow("Files requiring manual review:")}`);
7
+ for (const [transform, files] of allTodos) {
8
+ console.log(` ${colors_1.colors.dim(transform)}:`);
9
+ files.forEach((f) => console.log(` ${f}`));
10
+ }
11
+ };
12
+ exports.printTodos = printTodos;
13
+ //# sourceMappingURL=print-todos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"print-todos.js","sourceRoot":"","sources":["../../src/cli/print-todos.ts"],"names":[],"mappings":";;;AAAA,0CAAsC;AAE/B,MAAM,UAAU,GAAG,CAAC,QAA+B,EAAQ,EAAE;IAChE,OAAO,CAAC,GAAG,CAAC,OAAO,eAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,EAAE,CAAC,CAAA;IACrE,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,OAAO,eAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QAC5C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;IACnD,CAAC;AACL,CAAC,CAAA;AANY,QAAA,UAAU,cAMtB"}
@@ -0,0 +1 @@
1
+ export declare const printUsage: () => void;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.printUsage = void 0;
4
+ const colors_1 = require("../lib/colors");
5
+ const transforms_1 = require("../transforms");
6
+ const printUsage = () => {
7
+ const versionList = Object.entries(transforms_1.versions)
8
+ .map(([name, { description }]) => ` ${colors_1.colors.blue(name.padEnd(6))}${description}`)
9
+ .join("\n");
10
+ console.log(`${colors_1.colors.bold("Usage:")} @typeorm/codemod ${colors_1.colors.blue("<version>")} [options] <paths...>
11
+
12
+ ${colors_1.colors.bold("Versions:")}
13
+ ${versionList}
14
+
15
+ ${colors_1.colors.bold("Options:")}
16
+ ${colors_1.colors.blue("--dry, -d")} Dry run ${colors_1.colors.dim("(show changes without writing)")}
17
+ ${colors_1.colors.blue("--help, -h")} Show this help
18
+ ${colors_1.colors.blue("--ignore, -i")} <pattern> Glob pattern to exclude files ${colors_1.colors.dim("(repeatable)")}
19
+ ${colors_1.colors.blue("--list, -l")} List available transforms
20
+ ${colors_1.colors.blue("--transform, -t")} <name> Run a specific transform only
21
+ ${colors_1.colors.blue("--workers, -w")} <num> Number of worker processes ${colors_1.colors.dim("(default: CPU cores - 1)")}
22
+
23
+ ${colors_1.colors.bold("Examples:")}
24
+ ${colors_1.colors.dim("@typeorm/codemod v1 src/")}
25
+ ${colors_1.colors.dim("@typeorm/codemod v1 --dry src/")}
26
+ ${colors_1.colors.dim("@typeorm/codemod v1 --ignore '**/generated*' src/")}
27
+ ${colors_1.colors.dim("@typeorm/codemod v1 --transform connection-to-datasource src/")}
28
+ ${colors_1.colors.dim("@typeorm/codemod v1 --list")}`);
29
+ };
30
+ exports.printUsage = printUsage;
31
+ //# sourceMappingURL=print-usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"print-usage.js","sourceRoot":"","sources":["../../src/cli/print-usage.ts"],"names":[],"mappings":";;;AAAA,0CAAsC;AACtC,8CAAwC;AAEjC,MAAM,UAAU,GAAG,GAAS,EAAE;IACjC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAQ,CAAC;SACvC,GAAG,CACA,CAAC,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CACxB,KAAK,eAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,EAAE,CACvD;SACA,IAAI,CAAC,IAAI,CAAC,CAAA;IAEf,OAAO,CAAC,GAAG,CAAC,GAAG,eAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC;;EAEnF,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC;EACxB,WAAW;;EAEX,eAAM,CAAC,IAAI,CAAC,UAAU,CAAC;IACrB,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC,0BAA0B,eAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC;IAC9F,eAAM,CAAC,IAAI,CAAC,YAAY,CAAC;IACzB,eAAM,CAAC,IAAI,CAAC,cAAc,CAAC,6CAA6C,eAAM,CAAC,GAAG,CAAC,cAAc,CAAC;IAClG,eAAM,CAAC,IAAI,CAAC,YAAY,CAAC;IACzB,eAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;IAC9B,eAAM,CAAC,IAAI,CAAC,eAAe,CAAC,yCAAyC,eAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC;;EAE7G,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC;IACtB,eAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC;IACtC,eAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC;IAC5C,eAAM,CAAC,GAAG,CAAC,mDAAmD,CAAC;IAC/D,eAAM,CAAC,GAAG,CAAC,+DAA+D,CAAC;IAC3E,eAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAA;AAC/C,CAAC,CAAA;AA3BY,QAAA,UAAU,cA2BtB"}
@@ -0,0 +1,6 @@
1
+ export interface DependencyResult {
2
+ changes: string[];
3
+ warnings: string[];
4
+ errors: string[];
5
+ }
6
+ export declare const runDependencies: (paths: string[], version: string, dry: boolean) => DependencyResult | undefined;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runDependencies = void 0;
4
+ const colors_1 = require("../lib/colors");
5
+ const spinner_1 = require("../lib/spinner");
6
+ const format_time_1 = require("../lib/format-time");
7
+ const dependencies_1 = require("../dependencies");
8
+ const runDependencies = (paths, version, dry) => {
9
+ const depConfig = (0, dependencies_1.getConfig)(version);
10
+ if (!depConfig)
11
+ return undefined;
12
+ const searchRoots = [...new Set([process.cwd(), ...paths])];
13
+ const packageJsonFiles = (0, dependencies_1.findPackageJsonFiles)(searchRoots);
14
+ if (packageJsonFiles.length === 0)
15
+ return undefined;
16
+ const depSpinner = (0, spinner_1.createSpinner)(`Upgrading dependencies in ${packageJsonFiles.length} package.json file${packageJsonFiles.length === 1 ? "" : "s"}...`);
17
+ const depStart = Date.now();
18
+ let depFilesChanged = 0;
19
+ const changes = [];
20
+ const warnings = [];
21
+ const errors = [];
22
+ for (const file of packageJsonFiles) {
23
+ const report = (0, dependencies_1.upgradeDependencies)(file, dry, depConfig);
24
+ if (report.changes.length > 0)
25
+ depFilesChanged++;
26
+ changes.push(...report.changes);
27
+ warnings.push(...report.warnings);
28
+ errors.push(...report.errors);
29
+ }
30
+ const depElapsed = (Date.now() - depStart) / 1000;
31
+ let depSummary;
32
+ if (packageJsonFiles.length === 1) {
33
+ depSummary =
34
+ depFilesChanged === 1
35
+ ? "Updated one package.json file"
36
+ : "No package.json changes needed";
37
+ }
38
+ else {
39
+ depSummary = `Updated ${depFilesChanged} out of ${packageJsonFiles.length} package.json files`;
40
+ }
41
+ depSpinner.stop(`${colors_1.colors.green("✔")} ${depSummary} (${(0, format_time_1.formatTime)(depElapsed)})`);
42
+ return { changes, warnings, errors };
43
+ };
44
+ exports.runDependencies = runDependencies;
45
+ //# sourceMappingURL=run-dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-dependencies.js","sourceRoot":"","sources":["../../src/cli/run-dependencies.ts"],"names":[],"mappings":";;;AAAA,0CAAsC;AACtC,4CAA8C;AAC9C,oDAA+C;AAC/C,kDAIwB;AAQjB,MAAM,eAAe,GAAG,CAC3B,KAAe,EACf,OAAe,EACf,GAAY,EACgB,EAAE;IAC9B,MAAM,SAAS,GAAG,IAAA,wBAAS,EAAC,OAAO,CAAC,CAAA;IACpC,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAA;IAEhC,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IAC3D,MAAM,gBAAgB,GAAG,IAAA,mCAAoB,EAAC,WAAW,CAAC,CAAA;IAC1D,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAEnD,MAAM,UAAU,GAAG,IAAA,uBAAa,EAC5B,6BAA6B,gBAAgB,CAAC,MAAM,qBAAqB,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CACzH,CAAA;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC3B,IAAI,eAAe,GAAG,CAAC,CAAA;IACvB,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,MAAM,MAAM,GAAa,EAAE,CAAA;IAE3B,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,IAAA,kCAAmB,EAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;QACxD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,eAAe,EAAE,CAAA;QAChD,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;QAC/B,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;QACjC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IACjC,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAA;IACjD,IAAI,UAAkB,CAAA;IACtB,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,UAAU;YACN,eAAe,KAAK,CAAC;gBACjB,CAAC,CAAC,+BAA+B;gBACjC,CAAC,CAAC,gCAAgC,CAAA;IAC9C,CAAC;SAAM,CAAC;QACJ,UAAU,GAAG,WAAW,eAAe,WAAW,gBAAgB,CAAC,MAAM,qBAAqB,CAAA;IAClG,CAAC;IACD,UAAU,CAAC,IAAI,CACX,GAAG,eAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,UAAU,KAAK,IAAA,wBAAU,EAAC,UAAU,CAAC,GAAG,CACnE,CAAA;IAED,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;AACxC,CAAC,CAAA;AA5CY,QAAA,eAAe,mBA4C3B"}
@@ -0,0 +1,21 @@
1
+ export interface TransformResult {
2
+ ok: number;
3
+ error: number;
4
+ skip: number;
5
+ nochange: number;
6
+ timeElapsed: number;
7
+ parseErrors: {
8
+ file: string;
9
+ message: string;
10
+ }[];
11
+ todos: Map<string, string[]>;
12
+ applied: Map<string, number>;
13
+ }
14
+ export interface RunTransformsOptions {
15
+ transforms: string[];
16
+ paths: string[];
17
+ dry: boolean;
18
+ workers?: number;
19
+ ignore?: string[];
20
+ }
21
+ export declare const runTransforms: (options: RunTransformsOptions) => Promise<TransformResult>;
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runTransforms = void 0;
4
+ const Runner_1 = require("jscodeshift/src/Runner");
5
+ const colors_1 = require("../lib/colors");
6
+ const spinner_1 = require("../lib/spinner");
7
+ const format_time_1 = require("../lib/format-time");
8
+ const stats_1 = require("../transforms/stats");
9
+ const runTransforms = async (options) => {
10
+ const { transforms, paths, dry, workers, ignore } = options;
11
+ const allTodos = new Map();
12
+ const allApplied = new Map();
13
+ const allParseErrors = [];
14
+ let totalOk = 0;
15
+ let totalError = 0;
16
+ let totalSkip = 0;
17
+ let totalNochange = 0;
18
+ let totalTime = 0;
19
+ for (const transform of transforms) {
20
+ let fileCount = 0;
21
+ let processed = 0;
22
+ let startTime = 0;
23
+ const spinner = (0, spinner_1.createSpinner)("Scanning files...");
24
+ const progressText = () => {
25
+ const elapsed = (Date.now() - startTime) / 1000;
26
+ let text = `Processing ${processed}/${fileCount} files... ${colors_1.colors.dim((0, format_time_1.formatTime)(elapsed))}`;
27
+ if (processed > 0 && processed < fileCount) {
28
+ const remaining = (elapsed / processed) * (fileCount - processed);
29
+ text += colors_1.colors.dim(` (ETA: ${(0, format_time_1.formatTime)(remaining)})`);
30
+ }
31
+ return text;
32
+ };
33
+ // Intercept stdout to capture jscodeshift progress
34
+ const parseErrors = [];
35
+ const originalWrite = process.stdout.write.bind(process.stdout);
36
+ process.stdout.write = ((chunk) => {
37
+ const str = typeof chunk === "string" ? chunk : chunk.toString();
38
+ // Capture file count from jscodeshift's "Processing N files..."
39
+ const countMatch = /Processing (\d+) files/.exec(str);
40
+ if (countMatch) {
41
+ fileCount = Number.parseInt(countMatch[1], 10);
42
+ startTime = Date.now();
43
+ spinner.update(`Processing 0/${fileCount} files...`);
44
+ return true;
45
+ }
46
+ // Track per-file completion and collect errors
47
+ if (str.includes(" ERR ")) {
48
+ processed++;
49
+ const errMatch = / ERR (.+?) Transformation error \((.+)\)/.exec(str);
50
+ if (errMatch) {
51
+ parseErrors.push({
52
+ file: errMatch[1],
53
+ message: errMatch[2],
54
+ });
55
+ }
56
+ }
57
+ else if (str.includes(" OKK ") ||
58
+ str.includes(" NOC ") ||
59
+ str.includes(" SKIP ")) {
60
+ processed++;
61
+ }
62
+ else {
63
+ // Suppress other jscodeshift output (including stack traces)
64
+ return false;
65
+ }
66
+ spinner.update(progressText);
67
+ return true;
68
+ });
69
+ let result;
70
+ try {
71
+ result = await (0, Runner_1.run)(transform, paths, {
72
+ dry,
73
+ print: false,
74
+ verbose: 2,
75
+ extensions: "ts,tsx,js,jsx",
76
+ parser: "tsx",
77
+ ...(workers !== undefined && { cpus: workers }),
78
+ ...(ignore !== undefined && { ignorePattern: ignore }),
79
+ });
80
+ }
81
+ catch (err) {
82
+ spinner.stop(`${colors_1.colors.red("✖")} Transform failed: ${err instanceof Error ? err.message : String(err)}`);
83
+ throw err;
84
+ }
85
+ finally {
86
+ process.stdout.write = originalWrite;
87
+ }
88
+ const elapsed = Number.parseFloat(result.timeElapsed);
89
+ const total = result.ok + result.error + result.skip + result.nochange;
90
+ const errorSuffix = result.error > 0 ? `, ${result.error} errors` : "";
91
+ spinner.stop(`${colors_1.colors.green("✔")} Changed ${result.ok} out of ${total} files (${(0, format_time_1.formatTime)(elapsed)})${errorSuffix}`);
92
+ totalOk += result.ok;
93
+ totalError += result.error;
94
+ allParseErrors.push(...parseErrors);
95
+ totalSkip += result.skip;
96
+ totalNochange += result.nochange;
97
+ totalTime += Number.parseFloat(result.timeElapsed);
98
+ for (const [transform, files] of stats_1.stats.collect.todos(result.stats ?? {})) {
99
+ const existing = allTodos.get(transform) ?? [];
100
+ existing.push(...files);
101
+ allTodos.set(transform, existing);
102
+ }
103
+ for (const [name, count] of stats_1.stats.collect.applied(result.stats ?? {})) {
104
+ allApplied.set(name, (allApplied.get(name) ?? 0) + count);
105
+ }
106
+ }
107
+ return {
108
+ ok: totalOk,
109
+ error: totalError,
110
+ skip: totalSkip,
111
+ nochange: totalNochange,
112
+ timeElapsed: totalTime,
113
+ parseErrors: allParseErrors,
114
+ todos: allTodos,
115
+ applied: allApplied,
116
+ };
117
+ };
118
+ exports.runTransforms = runTransforms;
119
+ //# sourceMappingURL=run-transforms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-transforms.js","sourceRoot":"","sources":["../../src/cli/run-transforms.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export interface RunOptions {
2
+ transforms: string[];
3
+ paths: string[];
4
+ dry: boolean;
5
+ version: string;
6
+ workers?: number;
7
+ ignore?: string[];
8
+ }
9
+ export declare const run: (options: RunOptions) => Promise<void>;