@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
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.run = void 0;
4
+ const run_transforms_1 = require("./run-transforms");
5
+ const run_dependencies_1 = require("./run-dependencies");
6
+ const print_summary_1 = require("./print-summary");
7
+ const print_guide_1 = require("./print-guide");
8
+ const run = async (options) => {
9
+ const { transforms, paths, dry, version, workers, ignore } = options;
10
+ const result = await (0, run_transforms_1.runTransforms)({
11
+ transforms,
12
+ paths,
13
+ dry,
14
+ workers,
15
+ ignore,
16
+ });
17
+ const depResult = (0, run_dependencies_1.runDependencies)(paths, version, dry);
18
+ (0, print_summary_1.printSummary)({
19
+ ...result,
20
+ depChanges: depResult?.changes ?? [],
21
+ depWarnings: depResult?.warnings ?? [],
22
+ depErrors: depResult?.errors ?? [],
23
+ });
24
+ (0, print_guide_1.printGuide)(version);
25
+ if (result.error > 0 || (depResult?.errors.length ?? 0) > 0) {
26
+ process.exitCode = 1;
27
+ }
28
+ };
29
+ exports.run = run;
30
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAChD,yDAAoD;AACpD,mDAA8C;AAC9C,+CAA0C;AAWnC,MAAM,GAAG,GAAG,KAAK,EAAE,OAAmB,EAAiB,EAAE;IAC5D,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAEpE,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAa,EAAC;QAC/B,UAAU;QACV,KAAK;QACL,GAAG;QACH,OAAO;QACP,MAAM;KACT,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,IAAA,kCAAe,EAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;IAEtD,IAAA,4BAAY,EAAC;QACT,GAAG,MAAM;QACT,UAAU,EAAE,SAAS,EAAE,OAAO,IAAI,EAAE;QACpC,WAAW,EAAE,SAAS,EAAE,QAAQ,IAAI,EAAE;QACtC,SAAS,EAAE,SAAS,EAAE,MAAM,IAAI,EAAE;KACrC,CAAC,CAAA;IAEF,IAAA,wBAAU,EAAC,OAAO,CAAC,CAAA;IAEnB,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;IACxB,CAAC;AACL,CAAC,CAAA;AAzBY,QAAA,GAAG,OAyBf"}
@@ -0,0 +1,24 @@
1
+ export interface DependencyConfig {
2
+ /** Packages to replace (old → new package name + version). */
3
+ replacements: Record<string, {
4
+ replacement: string;
5
+ version: string;
6
+ }>;
7
+ /** Packages to upgrade (minVersion triggers upgrade, version is the target). */
8
+ upgrades: Record<string, {
9
+ minVersion: string;
10
+ version: string;
11
+ }>;
12
+ /** Packages that are incompatible (package name → error message). */
13
+ incompatible: Record<string, string>;
14
+ /** Packages that trigger a soft warning (package name → warning message). */
15
+ warnings: Record<string, string>;
16
+ /** Minimum required Node.js version. */
17
+ minNodeVersion: string;
18
+ }
19
+ export interface DependencyReport {
20
+ file: string;
21
+ changes: string[];
22
+ warnings: string[];
23
+ errors: string[];
24
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/dependencies/config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Finds all package.json files in the given paths recursively,
3
+ * excluding node_modules.
4
+ */
5
+ export declare const findPackageJsonFiles: (paths: string[]) => string[];
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.findPackageJsonFiles = void 0;
7
+ const node_fs_1 = __importDefault(require("node:fs"));
8
+ const node_path_1 = __importDefault(require("node:path"));
9
+ const tinyglobby_1 = require("tinyglobby");
10
+ /**
11
+ * Finds all package.json files in the given paths recursively,
12
+ * excluding node_modules.
13
+ */
14
+ const findPackageJsonFiles = (paths) => {
15
+ const results = [];
16
+ for (const p of paths) {
17
+ const stat = node_fs_1.default.statSync(p, { throwIfNoEntry: false });
18
+ if (!stat)
19
+ continue;
20
+ if (stat.isFile() && node_path_1.default.basename(p) === "package.json") {
21
+ results.push(p);
22
+ }
23
+ else if (stat.isDirectory()) {
24
+ results.push(...(0, tinyglobby_1.globSync)("**/package.json", {
25
+ cwd: p,
26
+ ignore: ["**/node_modules/**"],
27
+ absolute: true,
28
+ }));
29
+ }
30
+ }
31
+ return [...new Set(results)];
32
+ };
33
+ exports.findPackageJsonFiles = findPackageJsonFiles;
34
+ //# sourceMappingURL=find-package-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-package-json.js","sourceRoot":"","sources":["../../src/dependencies/find-package-json.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAwB;AACxB,0DAA4B;AAC5B,2CAAqC;AAErC;;;GAGG;AACI,MAAM,oBAAoB,GAAG,CAAC,KAAe,EAAY,EAAE;IAC9D,MAAM,OAAO,GAAa,EAAE,CAAA;IAE5B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,iBAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAA;QACtD,IAAI,CAAC,IAAI;YAAE,SAAQ;QAEnB,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,mBAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;aAAM,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CACR,GAAG,IAAA,qBAAQ,EAAC,iBAAiB,EAAE;gBAC3B,GAAG,EAAE,CAAC;gBACN,MAAM,EAAE,CAAC,oBAAoB,CAAC;gBAC9B,QAAQ,EAAE,IAAI;aACjB,CAAC,CACL,CAAA;QACL,CAAC;IACL,CAAC;IAED,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;AAChC,CAAC,CAAA;AArBY,QAAA,oBAAoB,wBAqBhC"}
@@ -0,0 +1,5 @@
1
+ import type { DependencyConfig } from "./config";
2
+ export type { DependencyConfig, DependencyReport } from "./config";
3
+ export { findPackageJsonFiles } from "./find-package-json";
4
+ export { upgradeDependencies } from "./upgrade";
5
+ export declare const getConfig: (version: string) => DependencyConfig | undefined;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getConfig = exports.upgradeDependencies = exports.findPackageJsonFiles = void 0;
4
+ const v1_1 = require("./v1");
5
+ var find_package_json_1 = require("./find-package-json");
6
+ Object.defineProperty(exports, "findPackageJsonFiles", { enumerable: true, get: function () { return find_package_json_1.findPackageJsonFiles; } });
7
+ var upgrade_1 = require("./upgrade");
8
+ Object.defineProperty(exports, "upgradeDependencies", { enumerable: true, get: function () { return upgrade_1.upgradeDependencies; } });
9
+ const configs = {
10
+ v1: v1_1.config,
11
+ };
12
+ const getConfig = (version) => configs[version];
13
+ exports.getConfig = getConfig;
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dependencies/index.ts"],"names":[],"mappings":";;;AACA,6BAAyC;AAGzC,yDAA0D;AAAjD,yHAAA,oBAAoB,OAAA;AAC7B,qCAA+C;AAAtC,8GAAA,mBAAmB,OAAA;AAE5B,MAAM,OAAO,GAAqC;IAC9C,EAAE,EAAE,WAAQ;CACf,CAAA;AAEM,MAAM,SAAS,GAAG,CAAC,OAAe,EAAgC,EAAE,CACvE,OAAO,CAAC,OAAO,CAAC,CAAA;AADP,QAAA,SAAS,aACF"}
@@ -0,0 +1,11 @@
1
+ import type { DependencyConfig, DependencyReport } from "./config";
2
+ export interface PackageJson {
3
+ engines?: {
4
+ node?: string;
5
+ };
6
+ dependencies?: Record<string, string>;
7
+ devDependencies?: Record<string, string>;
8
+ peerDependencies?: Record<string, string>;
9
+ optionalDependencies?: Record<string, string>;
10
+ }
11
+ export declare const upgradeDependencies: (filePath: string, dry: boolean, config: DependencyConfig) => DependencyReport;
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.upgradeDependencies = void 0;
7
+ const node_fs_1 = __importDefault(require("node:fs"));
8
+ const semver_1 = __importDefault(require("semver"));
9
+ const sections = [
10
+ "dependencies",
11
+ "devDependencies",
12
+ "peerDependencies",
13
+ "optionalDependencies",
14
+ ];
15
+ const getDeps = (pkg, section) => pkg[section];
16
+ const findInAnySection = (pkg, pkgName) => sections.some((s) => getDeps(pkg, s)?.[pkgName]);
17
+ const isStandardVersion = (version) => !version.includes(":") &&
18
+ !version.startsWith("file:") &&
19
+ !version.startsWith("link:") &&
20
+ semver_1.default.validRange(version) !== null;
21
+ const replacePackages = (pkg, config, report) => {
22
+ let modified = false;
23
+ for (const [oldPkg, { replacement, version }] of Object.entries(config.replacements)) {
24
+ for (const section of sections) {
25
+ const deps = getDeps(pkg, section);
26
+ if (!deps?.[oldPkg])
27
+ continue;
28
+ delete deps[oldPkg];
29
+ if (deps[replacement]) {
30
+ report.changes.push(`${section}: removed \`${oldPkg}\` (${replacement} already present)`);
31
+ }
32
+ else {
33
+ deps[replacement] = version;
34
+ report.changes.push(`${section}: replaced \`${oldPkg}\` with \`${replacement}@${version}\``);
35
+ }
36
+ modified = true;
37
+ }
38
+ }
39
+ return modified;
40
+ };
41
+ const upgradePackages = (pkg, config, report) => {
42
+ let modified = false;
43
+ for (const [pkgName, { minVersion, version }] of Object.entries(config.upgrades)) {
44
+ for (const section of sections) {
45
+ const deps = getDeps(pkg, section);
46
+ const current = deps?.[pkgName];
47
+ if (!deps || !current)
48
+ continue;
49
+ if (!isStandardVersion(current)) {
50
+ report.errors.push(`\`${pkgName}\` has non-standard version specifier \`${current}\` — needs manual upgrade`);
51
+ continue;
52
+ }
53
+ const currentMin = semver_1.default.minVersion(current);
54
+ const requiredMin = semver_1.default.minVersion(minVersion);
55
+ if (currentMin &&
56
+ requiredMin &&
57
+ semver_1.default.lt(currentMin, requiredMin)) {
58
+ deps[pkgName] = version;
59
+ report.changes.push(`${section}: bumped \`${pkgName}\` from \`${current}\` to \`${version}\``);
60
+ modified = true;
61
+ }
62
+ }
63
+ }
64
+ return modified;
65
+ };
66
+ const checkIncompatible = (pkg, config, report) => {
67
+ for (const [pkgName, message] of Object.entries(config.incompatible)) {
68
+ if (findInAnySection(pkg, pkgName)) {
69
+ report.errors.push(message);
70
+ }
71
+ }
72
+ };
73
+ const checkNodeVersion = (pkg, config, report) => {
74
+ const engines = pkg.engines?.node;
75
+ if (!engines)
76
+ return;
77
+ const currentMin = semver_1.default.minVersion(engines);
78
+ if (currentMin && semver_1.default.lt(currentMin, config.minNodeVersion)) {
79
+ report.warnings.push(`\`engines.node\` is \`${engines}\` — TypeORM requires Node.js ${config.minNodeVersion}+. Update your engines field.`);
80
+ }
81
+ };
82
+ const checkWarnings = (pkg, config, report) => {
83
+ for (const [pkgName, message] of Object.entries(config.warnings)) {
84
+ if (findInAnySection(pkg, pkgName)) {
85
+ report.warnings.push(message);
86
+ }
87
+ }
88
+ };
89
+ const detectIndent = (json) => {
90
+ const match = /^( +)"/m.exec(json);
91
+ return match ? match[1].length : 2;
92
+ };
93
+ const upgradeDependencies = (filePath, dry, config) => {
94
+ const report = {
95
+ file: filePath,
96
+ changes: [],
97
+ warnings: [],
98
+ errors: [],
99
+ };
100
+ let raw;
101
+ let pkg;
102
+ try {
103
+ raw = node_fs_1.default.readFileSync(filePath, "utf8");
104
+ pkg = JSON.parse(raw);
105
+ }
106
+ catch (err) {
107
+ report.errors.push(`failed to read \`${filePath}\`: ${err instanceof Error ? err.message : String(err)}`);
108
+ return report;
109
+ }
110
+ const replaced = replacePackages(pkg, config, report);
111
+ const upgraded = upgradePackages(pkg, config, report);
112
+ const modified = replaced || upgraded;
113
+ checkIncompatible(pkg, config, report);
114
+ checkNodeVersion(pkg, config, report);
115
+ checkWarnings(pkg, config, report);
116
+ if (modified && !dry) {
117
+ try {
118
+ const indent = detectIndent(raw);
119
+ node_fs_1.default.writeFileSync(filePath, JSON.stringify(pkg, null, indent) + "\n", "utf8");
120
+ }
121
+ catch (err) {
122
+ report.errors.push(`failed to write \`${filePath}\`: ${err instanceof Error ? err.message : String(err)}`);
123
+ }
124
+ }
125
+ return report;
126
+ };
127
+ exports.upgradeDependencies = upgradeDependencies;
128
+ //# sourceMappingURL=upgrade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/dependencies/upgrade.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { DependencyConfig } from "./config";
2
+ export declare const config: DependencyConfig;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ exports.config = {
5
+ replacements: {
6
+ mysql: { replacement: "mysql2", version: "^3.20.0" },
7
+ sqlite3: { replacement: "better-sqlite3", version: "^12.8.0" },
8
+ },
9
+ upgrades: {
10
+ "@google-cloud/spanner": { minVersion: "^8.0.0", version: "^8.6.0" },
11
+ "better-sqlite3": { minVersion: "^12.0.0", version: "^12.8.0" },
12
+ ioredis: { minVersion: "^5.0.4", version: "^5.10.1" },
13
+ mongodb: { minVersion: "^7.0.0", version: "^7.1.1" },
14
+ mssql: { minVersion: "^12.0.0", version: "^12.2.1" },
15
+ mysql2: { minVersion: "^3.15.3", version: "^3.20.0" },
16
+ redis: { minVersion: "^5.0.0", version: "^5.11.0" },
17
+ typeorm: { minVersion: "^1.0.0-beta.1", version: "^1.0.0-beta.1" },
18
+ "typeorm-aurora-data-api-driver": {
19
+ minVersion: "^3.0.0",
20
+ version: "^3.0.2",
21
+ },
22
+ },
23
+ incompatible: {
24
+ "typeorm-routing-controllers-extensions": "`typeorm-routing-controllers-extensions` is incompatible with TypeORM v1 — the IoC container system (`useContainer`) was removed. See migration guide.",
25
+ "typeorm-typedi-extensions": "`typeorm-typedi-extensions` is incompatible with TypeORM v1 — the IoC container system (`useContainer`) was removed. See migration guide.",
26
+ },
27
+ warnings: {
28
+ dotenv: "`dotenv` detected — TypeORM no longer auto-loads `.env` files. Make sure your database configuration is defined explicitly using `DataSource`.",
29
+ },
30
+ minNodeVersion: "20.0.0",
31
+ };
32
+ //# sourceMappingURL=v1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v1.js","sourceRoot":"","sources":["../../src/dependencies/v1.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAqB;IACpC,YAAY,EAAE;QACV,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE;QACpD,OAAO,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE;KACjE;IAED,QAAQ,EAAE;QACN,uBAAuB,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;QACpE,gBAAgB,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;QAC/D,OAAO,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE;QACrD,OAAO,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;QACpD,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;QACpD,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;QACrD,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE;QACnD,OAAO,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,EAAE;QAClE,gCAAgC,EAAE;YAC9B,UAAU,EAAE,QAAQ;YACpB,OAAO,EAAE,QAAQ;SACpB;KACJ;IAED,YAAY,EAAE;QACV,wCAAwC,EACpC,wJAAwJ;QAC5J,2BAA2B,EACvB,2IAA2I;KAClJ;IAED,QAAQ,EAAE;QACN,MAAM,EAAE,gJAAgJ;KAC3J;IAED,cAAc,EAAE,QAAQ;CAC3B,CAAA"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
package/dist/index.js ADDED
@@ -0,0 +1,45 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const error_1 = require("./lib/error");
5
+ const parse_args_1 = require("./cli/parse-args");
6
+ const print_usage_1 = require("./cli/print-usage");
7
+ const list_transforms_1 = require("./cli/list-transforms");
8
+ const resolve_1 = require("./transforms/resolve");
9
+ const run_1 = require("./cli/run");
10
+ const transforms_1 = require("./transforms");
11
+ const main = async () => {
12
+ const args = process.argv.slice(2);
13
+ if (args.length === 0 || args.includes("--help") || args.includes("-h")) {
14
+ (0, print_usage_1.printUsage)();
15
+ return;
16
+ }
17
+ const options = (0, parse_args_1.parseArgs)(args);
18
+ if (!options.version) {
19
+ (0, error_1.fail)("no version specified", print_usage_1.printUsage);
20
+ }
21
+ if (!transforms_1.versions[options.version]) {
22
+ (0, error_1.fail)(`unknown version "${options.version}"`, print_usage_1.printUsage);
23
+ }
24
+ if (options.list) {
25
+ (0, list_transforms_1.listTransforms)(options.version);
26
+ return;
27
+ }
28
+ if (options.paths.length === 0) {
29
+ (0, error_1.fail)("no paths specified", print_usage_1.printUsage);
30
+ }
31
+ const transforms = (0, resolve_1.resolveTransforms)(options.version, options.transform);
32
+ await (0, run_1.run)({
33
+ transforms,
34
+ paths: options.paths,
35
+ dry: options.dry || false,
36
+ version: options.version,
37
+ workers: options.workers,
38
+ ignore: options.ignore,
39
+ });
40
+ };
41
+ main().catch((err) => {
42
+ console.error(err);
43
+ process.exit(1);
44
+ });
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,uCAAkC;AAClC,iDAA4C;AAC5C,mDAA8C;AAC9C,2DAAsD;AACtD,kDAAwD;AACxD,mCAA+B;AAC/B,6CAAuC;AAEvC,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACpB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAElC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtE,IAAA,wBAAU,GAAE,CAAA;QACZ,OAAM;IACV,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,sBAAS,EAAC,IAAI,CAAC,CAAA;IAE/B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACnB,IAAA,YAAI,EAAC,sBAAsB,EAAE,wBAAU,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,CAAC,qBAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,IAAA,YAAI,EAAC,oBAAoB,OAAO,CAAC,OAAO,GAAG,EAAE,wBAAU,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,IAAA,gCAAc,EAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC/B,OAAM;IACV,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,IAAA,YAAI,EAAC,oBAAoB,EAAE,wBAAU,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,2BAAiB,EAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IACxE,MAAM,IAAA,SAAG,EAAC;QACN,UAAU;QACV,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,KAAK;QACzB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;KACzB,CAAC,CAAA;AACN,CAAC,CAAA;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC,CAAC,CAAA"}
@@ -0,0 +1,9 @@
1
+ export declare const colors: {
2
+ bold: (s: string) => string;
3
+ dim: (s: string) => string;
4
+ green: (s: string) => string;
5
+ brightGreen: (s: string) => string;
6
+ red: (s: string) => string;
7
+ yellow: (s: string) => string;
8
+ blue: (s: string) => string;
9
+ };
@@ -0,0 +1,14 @@
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
+ green: wrap("32"),
9
+ brightGreen: wrap("92"),
10
+ red: wrap("31"),
11
+ yellow: wrap("33"),
12
+ blue: wrap("94"),
13
+ };
14
+ //# sourceMappingURL=colors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/lib/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,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC;IACjB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC;IACvB,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/lib/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 formatTime: (seconds: number) => string;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatTime = void 0;
4
+ const formatTime = (seconds) => {
5
+ if (seconds < 60)
6
+ return `${seconds.toFixed(1)}s`;
7
+ const m = Math.floor(seconds / 60);
8
+ const s = Math.round(seconds % 60);
9
+ return s > 0 ? `${m}m ${s}s` : `${m}m`;
10
+ };
11
+ exports.formatTime = formatTime;
12
+ //# sourceMappingURL=format-time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-time.js","sourceRoot":"","sources":["../../src/lib/format-time.ts"],"names":[],"mappings":";;;AAAO,MAAM,UAAU,GAAG,CAAC,OAAe,EAAU,EAAE;IAClD,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAA;IACjD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAA;IAClC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAA;IAClC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA;AAC1C,CAAC,CAAA;AALY,QAAA,UAAU,cAKtB"}
@@ -0,0 +1 @@
1
+ export declare const highlight: (text: string) => string;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.highlight = void 0;
4
+ const colors_1 = require("./colors");
5
+ const highlight = (text) => text.replaceAll(/`([^`]+)`/g, (_, content) => colors_1.colors.dim(content));
6
+ exports.highlight = highlight;
7
+ //# sourceMappingURL=highlight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"highlight.js","sourceRoot":"","sources":["../../src/lib/highlight.ts"],"names":[],"mappings":";;;AAAA,qCAAiC;AAE1B,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE,CAC9C,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,OAAe,EAAE,EAAE,CAAC,eAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;AADjE,QAAA,SAAS,aACwD"}
@@ -0,0 +1,5 @@
1
+ export interface Spinner {
2
+ update: (text: string | (() => string)) => void;
3
+ stop: (text?: string) => void;
4
+ }
5
+ export declare const createSpinner: (text: string | (() => string)) => Spinner;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createSpinner = void 0;
4
+ const colors_1 = require("./colors");
5
+ const frames = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"];
6
+ const createSpinner = (text) => {
7
+ if (!process.stderr.isTTY) {
8
+ return {
9
+ update() { },
10
+ stop(finalText) {
11
+ if (finalText)
12
+ process.stderr.write(`${finalText}\n`);
13
+ },
14
+ };
15
+ }
16
+ let i = 0;
17
+ let getText = typeof text === "function" ? text : () => text;
18
+ const clear = () => process.stderr.write(`\r\x1b[K`);
19
+ const render = () => {
20
+ clear();
21
+ process.stderr.write(`${colors_1.colors.brightGreen(frames[i])} ${getText()}`);
22
+ i = (i + 1) % frames.length;
23
+ };
24
+ render();
25
+ const timer = setInterval(render, 100);
26
+ return {
27
+ update(newText) {
28
+ getText = typeof newText === "function" ? newText : () => newText;
29
+ },
30
+ stop(finalText) {
31
+ clearInterval(timer);
32
+ clear();
33
+ if (finalText)
34
+ process.stderr.write(`${finalText}\n`);
35
+ },
36
+ };
37
+ };
38
+ exports.createSpinner = createSpinner;
39
+ //# sourceMappingURL=spinner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../src/lib/spinner.ts"],"names":[],"mappings":";;;AAAA,qCAAiC;AAEjC,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAO1D,MAAM,aAAa,GAAG,CAAC,IAA6B,EAAW,EAAE;IACpE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO;YACH,MAAM,KAAI,CAAC;YACX,IAAI,CAAC,SAAkB;gBACnB,IAAI,SAAS;oBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,CAAC,CAAA;YACzD,CAAC;SACJ,CAAA;IACL,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,OAAO,GAAG,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAA;IAC5D,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IAEpD,MAAM,MAAM,GAAG,GAAG,EAAE;QAChB,KAAK,EAAE,CAAA;QACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,eAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,EAAE,CAAC,CAAA;QACrE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAA;IAC/B,CAAC,CAAA;IAED,MAAM,EAAE,CAAA;IACR,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAEtC,OAAO;QACH,MAAM,CAAC,OAAgC;YACnC,OAAO,GAAG,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAA;QACrE,CAAC;QACD,IAAI,CAAC,SAAkB;YACnB,aAAa,CAAC,KAAK,CAAC,CAAA;YACpB,KAAK,EAAE,CAAA;YACP,IAAI,SAAS;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,CAAC,CAAA;QACzD,CAAC;KACJ,CAAA;AACL,CAAC,CAAA;AAjCY,QAAA,aAAa,iBAiCzB"}
@@ -0,0 +1,50 @@
1
+ import type { ASTNode, ASTPath, Collection, Identifier, JSCodeshift, ObjectExpression } from "jscodeshift";
2
+ /**
3
+ * Extracts a string value from a StringLiteral or Literal node.
4
+ * Returns null if the node is not a string literal.
5
+ */
6
+ export declare const getStringValue: (node: ASTNode) => string | null;
7
+ /**
8
+ * Sets the string value on a StringLiteral or Literal node.
9
+ */
10
+ export declare const setStringValue: (node: ASTNode, value: string) => void;
11
+ /**
12
+ * Type guard that narrows an AST node to an Identifier.
13
+ */
14
+ export declare const isIdentifier: (node: {
15
+ type: string;
16
+ }) => node is Identifier;
17
+ /**
18
+ * Checks whether the file contains an import from the given module.
19
+ */
20
+ export declare const fileImportsFrom: (root: Collection, j: JSCodeshift, moduleName: string) => boolean;
21
+ /**
22
+ * Calls `callback` for each Identifier parameter found in function-like
23
+ * nodes (functions, methods, arrows) and TSParameterProperty nodes.
24
+ */
25
+ export declare const forEachIdentifierParam: (root: Collection, j: JSCodeshift, callback: (id: Identifier) => void) => void;
26
+ /**
27
+ * Traverses ClassProperty decorators and calls `callback` for each
28
+ * ObjectExpression argument found in decorator call expressions.
29
+ *
30
+ * This avoids duplicating the decorator-traversal boilerplate across
31
+ * multiple transforms.
32
+ */
33
+ export declare const forEachDecoratorObjectArg: (root: Collection, j: JSCodeshift, callback: (objectExpression: ObjectExpression, path: ASTPath) => void) => void;
34
+ /**
35
+ * Removes properties matching the given key names from an ObjectExpression.
36
+ * Returns true if any properties were removed.
37
+ */
38
+ export declare const removeObjectProperties: (obj: ObjectExpression, propertyNames: Set<string>) => boolean;
39
+ /**
40
+ * Finds imports from a module, removes the specified named import specifiers,
41
+ * and removes the entire import declaration if no specifiers remain.
42
+ * Returns true if any specifiers were removed.
43
+ */
44
+ export declare const removeImportSpecifiers: (root: Collection, j: JSCodeshift, moduleName: string, specifierNames: Set<string>) => boolean;
45
+ /**
46
+ * Finds CallExpression nodes with a MemberExpression callee where the
47
+ * property matches `oldName`, and renames the property to `newName`.
48
+ * Returns true if any were renamed.
49
+ */
50
+ export declare const renameMemberMethod: (root: Collection, j: JSCodeshift, oldName: string, newName: string) => boolean;