@strapi/upgrade 0.0.0-experimental.f31889311d753b5f7d95198ae84d8fce1d156cd6 → 0.0.0-experimental.f37a0ea0333947b6879c4608fae75646d63c07a1

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 (276) hide show
  1. package/README.md +1 -1
  2. package/dist/cli.js +13 -1455
  3. package/dist/cli.js.map +1 -1
  4. package/dist/cli.mjs +14 -0
  5. package/dist/cli.mjs.map +1 -0
  6. package/dist/index.js +9 -1432
  7. package/dist/index.js.map +1 -1
  8. package/dist/index.mjs +4 -1424
  9. package/dist/index.mjs.map +1 -1
  10. package/dist/modules/codemod-repository/constants.d.ts.map +1 -1
  11. package/dist/modules/error/utils.d.ts +8 -0
  12. package/dist/modules/error/utils.d.ts.map +1 -1
  13. package/dist/modules/file-scanner/scanner.d.ts.map +1 -1
  14. package/dist/modules/format/formats.d.ts +2 -1
  15. package/dist/modules/format/formats.d.ts.map +1 -1
  16. package/dist/modules/npm/package.d.ts.map +1 -1
  17. package/dist/modules/project/constants.d.ts +6 -5
  18. package/dist/modules/project/constants.d.ts.map +1 -1
  19. package/dist/modules/project/project.d.ts +16 -2
  20. package/dist/modules/project/project.d.ts.map +1 -1
  21. package/dist/modules/project/types.d.ts +3 -0
  22. package/dist/modules/project/types.d.ts.map +1 -1
  23. package/dist/modules/upgrader/types.d.ts +6 -0
  24. package/dist/modules/upgrader/types.d.ts.map +1 -1
  25. package/dist/modules/upgrader/upgrader.d.ts +4 -0
  26. package/dist/modules/upgrader/upgrader.d.ts.map +1 -1
  27. package/dist/modules/version/range.d.ts.map +1 -1
  28. package/dist/modules/version/types.d.ts +2 -1
  29. package/dist/modules/version/types.d.ts.map +1 -1
  30. package/dist/package.json.js +6 -0
  31. package/dist/package.json.js.map +1 -0
  32. package/dist/package.json.mjs +4 -0
  33. package/dist/package.json.mjs.map +1 -0
  34. package/dist/src/cli/commands/codemods.js +121 -0
  35. package/dist/src/cli/commands/codemods.js.map +1 -0
  36. package/dist/src/cli/commands/codemods.mjs +117 -0
  37. package/dist/src/cli/commands/codemods.mjs.map +1 -0
  38. package/dist/src/cli/commands/upgrade.js +99 -0
  39. package/dist/src/cli/commands/upgrade.js.map +1 -0
  40. package/dist/src/cli/commands/upgrade.mjs +96 -0
  41. package/dist/src/cli/commands/upgrade.mjs.map +1 -0
  42. package/dist/src/cli/errors.js +18 -0
  43. package/dist/src/cli/errors.js.map +1 -0
  44. package/dist/src/cli/errors.mjs +16 -0
  45. package/dist/src/cli/errors.mjs.map +1 -0
  46. package/dist/src/cli/options.js +26 -0
  47. package/dist/src/cli/options.js.map +1 -0
  48. package/dist/src/cli/options.mjs +19 -0
  49. package/dist/src/cli/options.mjs.map +1 -0
  50. package/dist/src/modules/codemod/codemod.js +44 -0
  51. package/dist/src/modules/codemod/codemod.js.map +1 -0
  52. package/dist/src/modules/codemod/codemod.mjs +41 -0
  53. package/dist/src/modules/codemod/codemod.mjs.map +1 -0
  54. package/dist/src/modules/codemod/constants.js +17 -0
  55. package/dist/src/modules/codemod/constants.js.map +1 -0
  56. package/dist/src/modules/codemod/constants.mjs +11 -0
  57. package/dist/src/modules/codemod/constants.mjs.map +1 -0
  58. package/dist/src/modules/codemod/index.js +10 -0
  59. package/dist/src/modules/codemod/index.js.map +1 -0
  60. package/dist/src/modules/codemod/index.mjs +4 -0
  61. package/dist/src/modules/codemod/index.mjs.map +1 -0
  62. package/dist/src/modules/codemod-repository/constants.js +9 -0
  63. package/dist/src/modules/codemod-repository/constants.js.map +1 -0
  64. package/dist/src/modules/codemod-repository/constants.mjs +7 -0
  65. package/dist/src/modules/codemod-repository/constants.mjs.map +1 -0
  66. package/dist/src/modules/codemod-repository/index.js +10 -0
  67. package/dist/src/modules/codemod-repository/index.js.map +1 -0
  68. package/dist/src/modules/codemod-repository/index.mjs +4 -0
  69. package/dist/src/modules/codemod-repository/index.mjs.map +1 -0
  70. package/dist/src/modules/codemod-repository/repository.js +127 -0
  71. package/dist/src/modules/codemod-repository/repository.js.map +1 -0
  72. package/dist/src/modules/codemod-repository/repository.mjs +123 -0
  73. package/dist/src/modules/codemod-repository/repository.mjs.map +1 -0
  74. package/dist/src/modules/codemod-runner/codemod-runner.js +113 -0
  75. package/dist/src/modules/codemod-runner/codemod-runner.js.map +1 -0
  76. package/dist/src/modules/codemod-runner/codemod-runner.mjs +110 -0
  77. package/dist/src/modules/codemod-runner/codemod-runner.mjs.map +1 -0
  78. package/dist/src/modules/error/index.js +11 -0
  79. package/dist/src/modules/error/index.js.map +1 -0
  80. package/dist/src/modules/error/index.mjs +2 -0
  81. package/dist/src/modules/error/index.mjs.map +1 -0
  82. package/dist/src/modules/error/utils.js +33 -0
  83. package/dist/src/modules/error/utils.js.map +1 -0
  84. package/dist/src/modules/error/utils.mjs +28 -0
  85. package/dist/src/modules/error/utils.mjs.map +1 -0
  86. package/dist/src/modules/file-scanner/index.js +8 -0
  87. package/dist/src/modules/file-scanner/index.js.map +1 -0
  88. package/dist/src/modules/file-scanner/index.mjs +2 -0
  89. package/dist/src/modules/file-scanner/index.mjs.map +1 -0
  90. package/dist/src/modules/file-scanner/scanner.js +23 -0
  91. package/dist/src/modules/file-scanner/scanner.js.map +1 -0
  92. package/dist/src/modules/file-scanner/scanner.mjs +20 -0
  93. package/dist/src/modules/file-scanner/scanner.mjs.map +1 -0
  94. package/dist/src/modules/format/formats.js +107 -0
  95. package/dist/src/modules/format/formats.js.map +1 -0
  96. package/dist/src/modules/format/formats.mjs +94 -0
  97. package/dist/src/modules/format/formats.mjs.map +1 -0
  98. package/dist/src/modules/format/index.js +19 -0
  99. package/dist/src/modules/format/index.js.map +1 -0
  100. package/dist/src/modules/format/index.mjs +2 -0
  101. package/dist/src/modules/format/index.mjs.map +1 -0
  102. package/dist/src/modules/index.js +32 -0
  103. package/dist/src/modules/index.js.map +1 -0
  104. package/dist/src/modules/index.mjs +27 -0
  105. package/dist/src/modules/index.mjs.map +1 -0
  106. package/dist/src/modules/json/file.js +16 -0
  107. package/dist/src/modules/json/file.js.map +1 -0
  108. package/dist/src/modules/json/file.mjs +13 -0
  109. package/dist/src/modules/json/file.mjs.map +1 -0
  110. package/dist/src/modules/json/transform-api.js +38 -0
  111. package/dist/src/modules/json/transform-api.js.map +1 -0
  112. package/dist/src/modules/json/transform-api.mjs +35 -0
  113. package/dist/src/modules/json/transform-api.mjs.map +1 -0
  114. package/dist/src/modules/logger/index.js +8 -0
  115. package/dist/src/modules/logger/index.js.map +1 -0
  116. package/dist/src/modules/logger/index.mjs +2 -0
  117. package/dist/src/modules/logger/index.mjs.map +1 -0
  118. package/dist/src/modules/logger/logger.js +76 -0
  119. package/dist/src/modules/logger/logger.js.map +1 -0
  120. package/dist/src/modules/logger/logger.mjs +73 -0
  121. package/dist/src/modules/logger/logger.mjs.map +1 -0
  122. package/dist/src/modules/npm/constants.js +6 -0
  123. package/dist/src/modules/npm/constants.js.map +1 -0
  124. package/dist/src/modules/npm/constants.mjs +4 -0
  125. package/dist/src/modules/npm/constants.mjs.map +1 -0
  126. package/dist/src/modules/npm/package.js +61 -0
  127. package/dist/src/modules/npm/package.js.map +1 -0
  128. package/dist/src/modules/npm/package.mjs +58 -0
  129. package/dist/src/modules/npm/package.mjs.map +1 -0
  130. package/dist/src/modules/project/constants.js +45 -0
  131. package/dist/src/modules/project/constants.js.map +1 -0
  132. package/dist/src/modules/project/constants.mjs +35 -0
  133. package/dist/src/modules/project/constants.mjs.map +1 -0
  134. package/dist/src/modules/project/index.js +15 -0
  135. package/dist/src/modules/project/index.js.map +1 -0
  136. package/dist/src/modules/project/index.mjs +5 -0
  137. package/dist/src/modules/project/index.mjs.map +1 -0
  138. package/dist/src/modules/project/project.js +208 -0
  139. package/dist/src/modules/project/project.js.map +1 -0
  140. package/dist/src/modules/project/project.mjs +203 -0
  141. package/dist/src/modules/project/project.mjs.map +1 -0
  142. package/dist/src/modules/project/utils.js +26 -0
  143. package/dist/src/modules/project/utils.js.map +1 -0
  144. package/dist/src/modules/project/utils.mjs +21 -0
  145. package/dist/src/modules/project/utils.mjs.map +1 -0
  146. package/dist/src/modules/report/index.js +9 -0
  147. package/dist/src/modules/report/index.js.map +1 -0
  148. package/dist/src/modules/report/index.mjs +2 -0
  149. package/dist/src/modules/report/index.mjs.map +1 -0
  150. package/dist/src/modules/report/report.js +13 -0
  151. package/dist/src/modules/report/report.js.map +1 -0
  152. package/dist/src/modules/report/report.mjs +10 -0
  153. package/dist/src/modules/report/report.mjs.map +1 -0
  154. package/dist/src/modules/requirement/index.js +8 -0
  155. package/dist/src/modules/requirement/index.js.map +1 -0
  156. package/dist/src/modules/requirement/index.mjs +2 -0
  157. package/dist/src/modules/requirement/index.mjs.map +1 -0
  158. package/dist/src/modules/requirement/requirement.js +55 -0
  159. package/dist/src/modules/requirement/requirement.js.map +1 -0
  160. package/dist/src/modules/requirement/requirement.mjs +52 -0
  161. package/dist/src/modules/requirement/requirement.mjs.map +1 -0
  162. package/dist/src/modules/runner/code/code.js +21 -0
  163. package/dist/src/modules/runner/code/code.js.map +1 -0
  164. package/dist/src/modules/runner/code/code.mjs +18 -0
  165. package/dist/src/modules/runner/code/code.mjs.map +1 -0
  166. package/dist/src/modules/runner/code/index.js +8 -0
  167. package/dist/src/modules/runner/code/index.js.map +1 -0
  168. package/dist/src/modules/runner/code/index.mjs +2 -0
  169. package/dist/src/modules/runner/code/index.mjs.map +1 -0
  170. package/dist/src/modules/runner/index.js +10 -0
  171. package/dist/src/modules/runner/index.js.map +1 -0
  172. package/dist/src/modules/runner/index.mjs +5 -0
  173. package/dist/src/modules/runner/index.mjs.map +1 -0
  174. package/dist/src/modules/runner/json/index.js +8 -0
  175. package/dist/src/modules/runner/json/index.js.map +1 -0
  176. package/dist/src/modules/runner/json/index.mjs +2 -0
  177. package/dist/src/modules/runner/json/index.mjs.map +1 -0
  178. package/dist/src/modules/runner/json/json.js +21 -0
  179. package/dist/src/modules/runner/json/json.js.map +1 -0
  180. package/dist/src/modules/runner/json/json.mjs +18 -0
  181. package/dist/src/modules/runner/json/json.mjs.map +1 -0
  182. package/dist/src/modules/runner/json/transform.js +85 -0
  183. package/dist/src/modules/runner/json/transform.js.map +1 -0
  184. package/dist/src/modules/runner/json/transform.mjs +83 -0
  185. package/dist/src/modules/runner/json/transform.mjs.map +1 -0
  186. package/dist/src/modules/runner/runner.js +22 -0
  187. package/dist/src/modules/runner/runner.js.map +1 -0
  188. package/dist/src/modules/runner/runner.mjs +20 -0
  189. package/dist/src/modules/runner/runner.mjs.map +1 -0
  190. package/dist/src/modules/timer/constants.js +6 -0
  191. package/dist/src/modules/timer/constants.js.map +1 -0
  192. package/dist/src/modules/timer/constants.mjs +4 -0
  193. package/dist/src/modules/timer/constants.mjs.map +1 -0
  194. package/dist/src/modules/timer/index.js +10 -0
  195. package/dist/src/modules/timer/index.js.map +1 -0
  196. package/dist/src/modules/timer/index.mjs +4 -0
  197. package/dist/src/modules/timer/index.mjs.map +1 -0
  198. package/dist/src/modules/timer/timer.js +33 -0
  199. package/dist/src/modules/timer/timer.js.map +1 -0
  200. package/dist/src/modules/timer/timer.mjs +30 -0
  201. package/dist/src/modules/timer/timer.mjs.map +1 -0
  202. package/dist/src/modules/upgrader/constants.js +6 -0
  203. package/dist/src/modules/upgrader/constants.js.map +1 -0
  204. package/dist/src/modules/upgrader/constants.mjs +4 -0
  205. package/dist/src/modules/upgrader/constants.mjs.map +1 -0
  206. package/dist/src/modules/upgrader/index.js +10 -0
  207. package/dist/src/modules/upgrader/index.js.map +1 -0
  208. package/dist/src/modules/upgrader/index.mjs +4 -0
  209. package/dist/src/modules/upgrader/index.mjs.map +1 -0
  210. package/dist/src/modules/upgrader/upgrader.js +266 -0
  211. package/dist/src/modules/upgrader/upgrader.js.map +1 -0
  212. package/dist/src/modules/upgrader/upgrader.mjs +263 -0
  213. package/dist/src/modules/upgrader/upgrader.mjs.map +1 -0
  214. package/dist/src/modules/version/index.js +20 -0
  215. package/dist/src/modules/version/index.js.map +1 -0
  216. package/dist/src/modules/version/index.mjs +5 -0
  217. package/dist/src/modules/version/index.mjs.map +1 -0
  218. package/dist/src/modules/version/range.js +81 -0
  219. package/dist/src/modules/version/range.js.map +1 -0
  220. package/dist/src/modules/version/range.mjs +75 -0
  221. package/dist/src/modules/version/range.mjs.map +1 -0
  222. package/dist/src/modules/version/semver.js +26 -0
  223. package/dist/src/modules/version/semver.js.map +1 -0
  224. package/dist/src/modules/version/semver.mjs +20 -0
  225. package/dist/src/modules/version/semver.mjs.map +1 -0
  226. package/dist/src/modules/version/types.js +12 -0
  227. package/dist/src/modules/version/types.js.map +1 -0
  228. package/dist/src/modules/version/types.mjs +12 -0
  229. package/dist/src/modules/version/types.mjs.map +1 -0
  230. package/dist/src/tasks/codemods/list-codemods.js +40 -0
  231. package/dist/src/tasks/codemods/list-codemods.js.map +1 -0
  232. package/dist/src/tasks/codemods/list-codemods.mjs +38 -0
  233. package/dist/src/tasks/codemods/list-codemods.mjs.map +1 -0
  234. package/dist/src/tasks/codemods/run-codemods.js +36 -0
  235. package/dist/src/tasks/codemods/run-codemods.js.map +1 -0
  236. package/dist/src/tasks/codemods/run-codemods.mjs +34 -0
  237. package/dist/src/tasks/codemods/run-codemods.mjs.map +1 -0
  238. package/dist/src/tasks/codemods/utils.js +54 -0
  239. package/dist/src/tasks/codemods/utils.js.map +1 -0
  240. package/dist/src/tasks/codemods/utils.mjs +50 -0
  241. package/dist/src/tasks/codemods/utils.mjs.map +1 -0
  242. package/dist/src/tasks/index.js +15 -0
  243. package/dist/src/tasks/index.js.map +1 -0
  244. package/dist/src/tasks/index.mjs +7 -0
  245. package/dist/src/tasks/index.mjs.map +1 -0
  246. package/dist/src/tasks/upgrade/prompts/latest.js +48 -0
  247. package/dist/src/tasks/upgrade/prompts/latest.js.map +1 -0
  248. package/dist/src/tasks/upgrade/prompts/latest.mjs +46 -0
  249. package/dist/src/tasks/upgrade/prompts/latest.mjs.map +1 -0
  250. package/dist/src/tasks/upgrade/requirements/common.js +40 -0
  251. package/dist/src/tasks/upgrade/requirements/common.js.map +1 -0
  252. package/dist/src/tasks/upgrade/requirements/common.mjs +35 -0
  253. package/dist/src/tasks/upgrade/requirements/common.mjs.map +1 -0
  254. package/dist/src/tasks/upgrade/requirements/major.js +29 -0
  255. package/dist/src/tasks/upgrade/requirements/major.js.map +1 -0
  256. package/dist/src/tasks/upgrade/requirements/major.mjs +26 -0
  257. package/dist/src/tasks/upgrade/requirements/major.mjs.map +1 -0
  258. package/dist/src/tasks/upgrade/upgrade.js +69 -0
  259. package/dist/src/tasks/upgrade/upgrade.js.map +1 -0
  260. package/dist/src/tasks/upgrade/upgrade.mjs +67 -0
  261. package/dist/src/tasks/upgrade/upgrade.mjs.map +1 -0
  262. package/dist/tasks/codemods/utils.d.ts.map +1 -1
  263. package/dist/tasks/upgrade/prompts/index.d.ts +2 -0
  264. package/dist/tasks/upgrade/prompts/index.d.ts.map +1 -0
  265. package/dist/tasks/upgrade/prompts/latest.d.ts +9 -0
  266. package/dist/tasks/upgrade/prompts/latest.d.ts.map +1 -0
  267. package/dist/tasks/upgrade/requirements/major.d.ts.map +1 -1
  268. package/dist/tasks/upgrade/upgrade.d.ts.map +1 -1
  269. package/package.json +15 -14
  270. package/resources/codemods/5.0.0/comment-out-lifecycle-files.code.ts +63 -0
  271. package/resources/codemods/5.0.0/dependency-upgrade-react-and-react-dom.json.ts +67 -0
  272. package/resources/codemods/5.0.0/deprecate-helper-plugin.code.ts +192 -0
  273. package/resources/codemods/5.0.0/sqlite3-to-better-sqlite3.json.ts +0 -1
  274. package/resources/codemods/5.1.0/dependency-better-sqlite3.json.ts +48 -0
  275. package/resources/utils/change-import.ts +118 -0
  276. package/resources/utils/replace-jsx.ts +49 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codemod-runner.js","sources":["../../../../src/modules/codemod-runner/codemod-runner.ts"],"sourcesContent":["import { groupBy, size } from 'lodash/fp';\n\nimport {\n codemodRepositoryFactory,\n constants as codemodRepositoryConstants,\n} from '../codemod-repository';\nimport { unknownToError } from '../error';\nimport { semVerFactory } from '../version';\nimport * as f from '../format';\n\nimport type { Codemod } from '../codemod';\nimport type { Logger } from '../logger';\nimport type { Project } from '../project';\nimport type { UpgradeReport } from '../upgrader';\nimport type { CodemodRunnerInterface, CodemodRunnerReport, SelectCodemodsCallback } from './types';\nimport type { Version } from '../version';\n\nexport class CodemodRunner implements CodemodRunnerInterface {\n private readonly project: Project;\n\n private range: Version.Range;\n\n private isDry: boolean;\n\n private logger: Logger | null;\n\n private selectCodemodsCallback: SelectCodemodsCallback | null;\n\n constructor(project: Project, range: Version.Range) {\n this.project = project;\n this.range = range;\n\n this.isDry = false;\n\n this.logger = null;\n this.selectCodemodsCallback = null;\n }\n\n setRange(range: Version.Range) {\n this.range = range;\n return this;\n }\n\n setLogger(logger: Logger) {\n this.logger = logger;\n return this;\n }\n\n onSelectCodemods(callback: SelectCodemodsCallback | null) {\n this.selectCodemodsCallback = callback;\n return this;\n }\n\n dry(enabled: boolean = true) {\n this.isDry = enabled;\n return this;\n }\n\n private createRepository(codemodsDirectory?: string) {\n const repository = codemodRepositoryFactory(\n codemodsDirectory ?? codemodRepositoryConstants.INTERNAL_CODEMODS_DIRECTORY\n );\n\n // Make sure we have access to the latest snapshots of codemods on the system\n repository.refresh();\n\n return repository;\n }\n\n private async safeRunAndReport(codemods: Codemod.List) {\n if (this.isDry) {\n this.logger?.warn?.(\n 'Running the codemods in dry mode. No files will be modified during the process.'\n );\n }\n\n try {\n const reports = await this.project.runCodemods(codemods, { dry: this.isDry });\n\n this.logger?.raw?.(f.reports(reports));\n\n if (!this.isDry) {\n const nbAffectedTotal = reports\n .flatMap((report) => report.report.ok)\n .reduce((acc, nb) => acc + nb, 0);\n\n this.logger?.debug?.(\n `Successfully ran ${f.highlight(codemods.length)} codemod(s), ${f.highlight(nbAffectedTotal)} change(s) have been detected`\n );\n }\n\n return successReport();\n } catch (e: unknown) {\n return erroredReport(unknownToError(e));\n }\n }\n\n async runByUID(uid: string, codemodsDirectory?: string): Promise<CodemodRunnerReport> {\n const repository = this.createRepository(codemodsDirectory);\n\n if (!repository.has(uid)) {\n throw new Error(`Unknown codemod UID provided: ${uid}`);\n }\n\n // Note: Ignore the range when running with a UID\n const codemods = repository.find({ uids: [uid] }).flatMap(({ codemods }) => codemods);\n\n return this.safeRunAndReport(codemods);\n }\n\n async run(codemodsDirectory?: string): Promise<CodemodRunnerReport> {\n const repository = this.createRepository(codemodsDirectory);\n\n // Find codemods matching the given range\n const codemodsInRange = repository.find({ range: this.range });\n\n // If a selection callback is set, use it, else keep every codemods found\n const selectedCodemods = this.selectCodemodsCallback\n ? await this.selectCodemodsCallback(codemodsInRange)\n : codemodsInRange;\n\n // If no codemods have been selected (either manually or automatically)\n // Then ignore and return a successful report\n if (selectedCodemods.length === 0) {\n this.logger?.debug?.(`Found no codemods to run for ${f.versionRange(this.range)}`);\n return successReport();\n }\n\n // Flatten the collection to a single list of codemods, the original list should already be sorted by version\n const codemods = selectedCodemods.flatMap(({ codemods }) => codemods);\n\n // Log (debug) the codemods by version\n const codemodsByVersion = groupBy('version', codemods);\n const fRange = f.versionRange(this.range);\n\n this.logger?.debug?.(\n `Found ${f.highlight(codemods.length)} codemods for ${f.highlight(size(codemodsByVersion))} version(s) using ${fRange}`\n );\n\n for (const [version, codemods] of Object.entries(codemodsByVersion)) {\n this.logger?.debug?.(`- ${f.version(semVerFactory(version))} (${codemods.length})`);\n }\n\n return this.safeRunAndReport(codemods);\n }\n}\n\nexport const codemodRunnerFactory = (project: Project, range: Version.Range) => {\n return new CodemodRunner(project, range);\n};\n\nconst successReport = (): UpgradeReport => ({ success: true, error: null });\nconst erroredReport = (error: Error): UpgradeReport => ({ success: false, error });\n"],"names":["CodemodRunner","setRange","range","setLogger","logger","onSelectCodemods","callback","selectCodemodsCallback","dry","enabled","isDry","createRepository","codemodsDirectory","repository","codemodRepositoryFactory","codemodRepositoryConstants","refresh","safeRunAndReport","codemods","warn","reports","project","runCodemods","raw","f","nbAffectedTotal","flatMap","report","ok","reduce","acc","nb","debug","length","successReport","e","erroredReport","unknownToError","runByUID","uid","has","Error","find","uids","run","codemodsInRange","selectedCodemods","codemodsByVersion","groupBy","fRange","size","version","Object","entries","semVerFactory","constructor","codemodRunnerFactory","success","error"],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ import { groupBy, size } from 'lodash/fp';
2
+ import { codemodRepositoryFactory } from '../codemod-repository/repository.mjs';
3
+ import { INTERNAL_CODEMODS_DIRECTORY } from '../codemod-repository/constants.mjs';
4
+ import { unknownToError } from '../error/utils.mjs';
5
+ import { semVerFactory } from '../version/semver.mjs';
6
+ import 'semver';
7
+ import '../version/types.mjs';
8
+ import { reports, highlight, versionRange, version } from '../format/formats.mjs';
9
+
10
+ class CodemodRunner {
11
+ setRange(range) {
12
+ this.range = range;
13
+ return this;
14
+ }
15
+ setLogger(logger) {
16
+ this.logger = logger;
17
+ return this;
18
+ }
19
+ onSelectCodemods(callback) {
20
+ this.selectCodemodsCallback = callback;
21
+ return this;
22
+ }
23
+ dry(enabled = true) {
24
+ this.isDry = enabled;
25
+ return this;
26
+ }
27
+ createRepository(codemodsDirectory) {
28
+ const repository = codemodRepositoryFactory(codemodsDirectory ?? INTERNAL_CODEMODS_DIRECTORY);
29
+ // Make sure we have access to the latest snapshots of codemods on the system
30
+ repository.refresh();
31
+ return repository;
32
+ }
33
+ async safeRunAndReport(codemods) {
34
+ if (this.isDry) {
35
+ this.logger?.warn?.('Running the codemods in dry mode. No files will be modified during the process.');
36
+ }
37
+ try {
38
+ const reports$1 = await this.project.runCodemods(codemods, {
39
+ dry: this.isDry
40
+ });
41
+ this.logger?.raw?.(reports(reports$1));
42
+ if (!this.isDry) {
43
+ const nbAffectedTotal = reports$1.flatMap((report)=>report.report.ok).reduce((acc, nb)=>acc + nb, 0);
44
+ this.logger?.debug?.(`Successfully ran ${highlight(codemods.length)} codemod(s), ${highlight(nbAffectedTotal)} change(s) have been detected`);
45
+ }
46
+ return successReport();
47
+ } catch (e) {
48
+ return erroredReport(unknownToError(e));
49
+ }
50
+ }
51
+ async runByUID(uid, codemodsDirectory) {
52
+ const repository = this.createRepository(codemodsDirectory);
53
+ if (!repository.has(uid)) {
54
+ throw new Error(`Unknown codemod UID provided: ${uid}`);
55
+ }
56
+ // Note: Ignore the range when running with a UID
57
+ const codemods = repository.find({
58
+ uids: [
59
+ uid
60
+ ]
61
+ }).flatMap(({ codemods })=>codemods);
62
+ return this.safeRunAndReport(codemods);
63
+ }
64
+ async run(codemodsDirectory) {
65
+ const repository = this.createRepository(codemodsDirectory);
66
+ // Find codemods matching the given range
67
+ const codemodsInRange = repository.find({
68
+ range: this.range
69
+ });
70
+ // If a selection callback is set, use it, else keep every codemods found
71
+ const selectedCodemods = this.selectCodemodsCallback ? await this.selectCodemodsCallback(codemodsInRange) : codemodsInRange;
72
+ // If no codemods have been selected (either manually or automatically)
73
+ // Then ignore and return a successful report
74
+ if (selectedCodemods.length === 0) {
75
+ this.logger?.debug?.(`Found no codemods to run for ${versionRange(this.range)}`);
76
+ return successReport();
77
+ }
78
+ // Flatten the collection to a single list of codemods, the original list should already be sorted by version
79
+ const codemods = selectedCodemods.flatMap(({ codemods })=>codemods);
80
+ // Log (debug) the codemods by version
81
+ const codemodsByVersion = groupBy('version', codemods);
82
+ const fRange = versionRange(this.range);
83
+ this.logger?.debug?.(`Found ${highlight(codemods.length)} codemods for ${highlight(size(codemodsByVersion))} version(s) using ${fRange}`);
84
+ for (const [version$1, codemods] of Object.entries(codemodsByVersion)){
85
+ this.logger?.debug?.(`- ${version(semVerFactory(version$1))} (${codemods.length})`);
86
+ }
87
+ return this.safeRunAndReport(codemods);
88
+ }
89
+ constructor(project, range){
90
+ this.project = project;
91
+ this.range = range;
92
+ this.isDry = false;
93
+ this.logger = null;
94
+ this.selectCodemodsCallback = null;
95
+ }
96
+ }
97
+ const codemodRunnerFactory = (project, range)=>{
98
+ return new CodemodRunner(project, range);
99
+ };
100
+ const successReport = ()=>({
101
+ success: true,
102
+ error: null
103
+ });
104
+ const erroredReport = (error)=>({
105
+ success: false,
106
+ error
107
+ });
108
+
109
+ export { CodemodRunner, codemodRunnerFactory };
110
+ //# sourceMappingURL=codemod-runner.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codemod-runner.mjs","sources":["../../../../src/modules/codemod-runner/codemod-runner.ts"],"sourcesContent":["import { groupBy, size } from 'lodash/fp';\n\nimport {\n codemodRepositoryFactory,\n constants as codemodRepositoryConstants,\n} from '../codemod-repository';\nimport { unknownToError } from '../error';\nimport { semVerFactory } from '../version';\nimport * as f from '../format';\n\nimport type { Codemod } from '../codemod';\nimport type { Logger } from '../logger';\nimport type { Project } from '../project';\nimport type { UpgradeReport } from '../upgrader';\nimport type { CodemodRunnerInterface, CodemodRunnerReport, SelectCodemodsCallback } from './types';\nimport type { Version } from '../version';\n\nexport class CodemodRunner implements CodemodRunnerInterface {\n private readonly project: Project;\n\n private range: Version.Range;\n\n private isDry: boolean;\n\n private logger: Logger | null;\n\n private selectCodemodsCallback: SelectCodemodsCallback | null;\n\n constructor(project: Project, range: Version.Range) {\n this.project = project;\n this.range = range;\n\n this.isDry = false;\n\n this.logger = null;\n this.selectCodemodsCallback = null;\n }\n\n setRange(range: Version.Range) {\n this.range = range;\n return this;\n }\n\n setLogger(logger: Logger) {\n this.logger = logger;\n return this;\n }\n\n onSelectCodemods(callback: SelectCodemodsCallback | null) {\n this.selectCodemodsCallback = callback;\n return this;\n }\n\n dry(enabled: boolean = true) {\n this.isDry = enabled;\n return this;\n }\n\n private createRepository(codemodsDirectory?: string) {\n const repository = codemodRepositoryFactory(\n codemodsDirectory ?? codemodRepositoryConstants.INTERNAL_CODEMODS_DIRECTORY\n );\n\n // Make sure we have access to the latest snapshots of codemods on the system\n repository.refresh();\n\n return repository;\n }\n\n private async safeRunAndReport(codemods: Codemod.List) {\n if (this.isDry) {\n this.logger?.warn?.(\n 'Running the codemods in dry mode. No files will be modified during the process.'\n );\n }\n\n try {\n const reports = await this.project.runCodemods(codemods, { dry: this.isDry });\n\n this.logger?.raw?.(f.reports(reports));\n\n if (!this.isDry) {\n const nbAffectedTotal = reports\n .flatMap((report) => report.report.ok)\n .reduce((acc, nb) => acc + nb, 0);\n\n this.logger?.debug?.(\n `Successfully ran ${f.highlight(codemods.length)} codemod(s), ${f.highlight(nbAffectedTotal)} change(s) have been detected`\n );\n }\n\n return successReport();\n } catch (e: unknown) {\n return erroredReport(unknownToError(e));\n }\n }\n\n async runByUID(uid: string, codemodsDirectory?: string): Promise<CodemodRunnerReport> {\n const repository = this.createRepository(codemodsDirectory);\n\n if (!repository.has(uid)) {\n throw new Error(`Unknown codemod UID provided: ${uid}`);\n }\n\n // Note: Ignore the range when running with a UID\n const codemods = repository.find({ uids: [uid] }).flatMap(({ codemods }) => codemods);\n\n return this.safeRunAndReport(codemods);\n }\n\n async run(codemodsDirectory?: string): Promise<CodemodRunnerReport> {\n const repository = this.createRepository(codemodsDirectory);\n\n // Find codemods matching the given range\n const codemodsInRange = repository.find({ range: this.range });\n\n // If a selection callback is set, use it, else keep every codemods found\n const selectedCodemods = this.selectCodemodsCallback\n ? await this.selectCodemodsCallback(codemodsInRange)\n : codemodsInRange;\n\n // If no codemods have been selected (either manually or automatically)\n // Then ignore and return a successful report\n if (selectedCodemods.length === 0) {\n this.logger?.debug?.(`Found no codemods to run for ${f.versionRange(this.range)}`);\n return successReport();\n }\n\n // Flatten the collection to a single list of codemods, the original list should already be sorted by version\n const codemods = selectedCodemods.flatMap(({ codemods }) => codemods);\n\n // Log (debug) the codemods by version\n const codemodsByVersion = groupBy('version', codemods);\n const fRange = f.versionRange(this.range);\n\n this.logger?.debug?.(\n `Found ${f.highlight(codemods.length)} codemods for ${f.highlight(size(codemodsByVersion))} version(s) using ${fRange}`\n );\n\n for (const [version, codemods] of Object.entries(codemodsByVersion)) {\n this.logger?.debug?.(`- ${f.version(semVerFactory(version))} (${codemods.length})`);\n }\n\n return this.safeRunAndReport(codemods);\n }\n}\n\nexport const codemodRunnerFactory = (project: Project, range: Version.Range) => {\n return new CodemodRunner(project, range);\n};\n\nconst successReport = (): UpgradeReport => ({ success: true, error: null });\nconst erroredReport = (error: Error): UpgradeReport => ({ success: false, error });\n"],"names":["CodemodRunner","setRange","range","setLogger","logger","onSelectCodemods","callback","selectCodemodsCallback","dry","enabled","isDry","createRepository","codemodsDirectory","repository","codemodRepositoryFactory","codemodRepositoryConstants","refresh","safeRunAndReport","codemods","warn","reports","project","runCodemods","raw","f","nbAffectedTotal","flatMap","report","ok","reduce","acc","nb","debug","length","successReport","e","erroredReport","unknownToError","runByUID","uid","has","Error","find","uids","run","codemodsInRange","selectedCodemods","codemodsByVersion","groupBy","fRange","size","version","Object","entries","semVerFactory","constructor","codemodRunnerFactory","success","error"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ var utils = require('./utils.js');
4
+
5
+
6
+
7
+ exports.AbortedError = utils.AbortedError;
8
+ exports.NPMCandidateNotFoundError = utils.NPMCandidateNotFoundError;
9
+ exports.UnexpectedError = utils.UnexpectedError;
10
+ exports.unknownToError = utils.unknownToError;
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ export { AbortedError, NPMCandidateNotFoundError, UnexpectedError, unknownToError } from './utils.mjs';
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ class UnexpectedError extends Error {
4
+ constructor(){
5
+ super('Unexpected Error');
6
+ }
7
+ }
8
+ class NPMCandidateNotFoundError extends Error {
9
+ constructor(target, message = `Couldn't find a valid NPM candidate for "${target}"`){
10
+ super(message);
11
+ this.target = target;
12
+ }
13
+ }
14
+ class AbortedError extends Error {
15
+ constructor(message = 'Upgrade aborted'){
16
+ super(message);
17
+ }
18
+ }
19
+ const unknownToError = (e)=>{
20
+ if (e instanceof Error) {
21
+ return e;
22
+ }
23
+ if (typeof e === 'string') {
24
+ return new Error(e);
25
+ }
26
+ return new UnexpectedError();
27
+ };
28
+
29
+ exports.AbortedError = AbortedError;
30
+ exports.NPMCandidateNotFoundError = NPMCandidateNotFoundError;
31
+ exports.UnexpectedError = UnexpectedError;
32
+ exports.unknownToError = unknownToError;
33
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../../src/modules/error/utils.ts"],"sourcesContent":["import type { Version } from '../version';\n\nexport class UnexpectedError extends Error {\n constructor() {\n super('Unexpected Error');\n }\n}\n\nexport class NPMCandidateNotFoundError extends Error {\n target: Version.SemVer | Version.Range | Version.ReleaseType;\n\n constructor(\n target: Version.SemVer | Version.Range | Version.ReleaseType,\n message: string = `Couldn't find a valid NPM candidate for \"${target}\"`\n ) {\n super(message);\n\n this.target = target;\n }\n}\n\nexport class AbortedError extends Error {\n constructor(message: string = 'Upgrade aborted') {\n super(message);\n }\n}\n\nexport const unknownToError = (e: unknown): Error => {\n if (e instanceof Error) {\n return e;\n }\n\n if (typeof e === 'string') {\n return new Error(e);\n }\n\n return new UnexpectedError();\n};\n"],"names":["UnexpectedError","Error","constructor","NPMCandidateNotFoundError","target","message","AbortedError","unknownToError","e"],"mappings":";;AAEO,MAAMA,eAAwBC,SAAAA,KAAAA,CAAAA;IACnCC,WAAc,EAAA;AACZ,QAAA,KAAK,CAAC,kBAAA,CAAA;AACR;AACF;AAEO,MAAMC,yBAAkCF,SAAAA,KAAAA,CAAAA;IAG7CC,WACEE,CAAAA,MAA4D,EAC5DC,OAAkB,GAAA,CAAC,yCAAyC,EAAED,MAAAA,CAAO,CAAC,CAAC,CACvE;AACA,QAAA,KAAK,CAACC,OAAAA,CAAAA;QAEN,IAAI,CAACD,MAAM,GAAGA,MAAAA;AAChB;AACF;AAEO,MAAME,YAAqBL,SAAAA,KAAAA,CAAAA;IAChCC,WAAYG,CAAAA,OAAAA,GAAkB,iBAAiB,CAAE;AAC/C,QAAA,KAAK,CAACA,OAAAA,CAAAA;AACR;AACF;AAEO,MAAME,iBAAiB,CAACC,CAAAA,GAAAA;AAC7B,IAAA,IAAIA,aAAaP,KAAO,EAAA;QACtB,OAAOO,CAAAA;AACT;IAEA,IAAI,OAAOA,MAAM,QAAU,EAAA;AACzB,QAAA,OAAO,IAAIP,KAAMO,CAAAA,CAAAA,CAAAA;AACnB;AAEA,IAAA,OAAO,IAAIR,eAAAA,EAAAA;AACb;;;;;;;"}
@@ -0,0 +1,28 @@
1
+ class UnexpectedError extends Error {
2
+ constructor(){
3
+ super('Unexpected Error');
4
+ }
5
+ }
6
+ class NPMCandidateNotFoundError extends Error {
7
+ constructor(target, message = `Couldn't find a valid NPM candidate for "${target}"`){
8
+ super(message);
9
+ this.target = target;
10
+ }
11
+ }
12
+ class AbortedError extends Error {
13
+ constructor(message = 'Upgrade aborted'){
14
+ super(message);
15
+ }
16
+ }
17
+ const unknownToError = (e)=>{
18
+ if (e instanceof Error) {
19
+ return e;
20
+ }
21
+ if (typeof e === 'string') {
22
+ return new Error(e);
23
+ }
24
+ return new UnexpectedError();
25
+ };
26
+
27
+ export { AbortedError, NPMCandidateNotFoundError, UnexpectedError, unknownToError };
28
+ //# sourceMappingURL=utils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.mjs","sources":["../../../../src/modules/error/utils.ts"],"sourcesContent":["import type { Version } from '../version';\n\nexport class UnexpectedError extends Error {\n constructor() {\n super('Unexpected Error');\n }\n}\n\nexport class NPMCandidateNotFoundError extends Error {\n target: Version.SemVer | Version.Range | Version.ReleaseType;\n\n constructor(\n target: Version.SemVer | Version.Range | Version.ReleaseType,\n message: string = `Couldn't find a valid NPM candidate for \"${target}\"`\n ) {\n super(message);\n\n this.target = target;\n }\n}\n\nexport class AbortedError extends Error {\n constructor(message: string = 'Upgrade aborted') {\n super(message);\n }\n}\n\nexport const unknownToError = (e: unknown): Error => {\n if (e instanceof Error) {\n return e;\n }\n\n if (typeof e === 'string') {\n return new Error(e);\n }\n\n return new UnexpectedError();\n};\n"],"names":["UnexpectedError","Error","constructor","NPMCandidateNotFoundError","target","message","AbortedError","unknownToError","e"],"mappings":"AAEO,MAAMA,eAAwBC,SAAAA,KAAAA,CAAAA;IACnCC,WAAc,EAAA;AACZ,QAAA,KAAK,CAAC,kBAAA,CAAA;AACR;AACF;AAEO,MAAMC,yBAAkCF,SAAAA,KAAAA,CAAAA;IAG7CC,WACEE,CAAAA,MAA4D,EAC5DC,OAAkB,GAAA,CAAC,yCAAyC,EAAED,MAAAA,CAAO,CAAC,CAAC,CACvE;AACA,QAAA,KAAK,CAACC,OAAAA,CAAAA;QAEN,IAAI,CAACD,MAAM,GAAGA,MAAAA;AAChB;AACF;AAEO,MAAME,YAAqBL,SAAAA,KAAAA,CAAAA;IAChCC,WAAYG,CAAAA,OAAAA,GAAkB,iBAAiB,CAAE;AAC/C,QAAA,KAAK,CAACA,OAAAA,CAAAA;AACR;AACF;AAEO,MAAME,iBAAiB,CAACC,CAAAA,GAAAA;AAC7B,IAAA,IAAIA,aAAaP,KAAO,EAAA;QACtB,OAAOO,CAAAA;AACT;IAEA,IAAI,OAAOA,MAAM,QAAU,EAAA;AACzB,QAAA,OAAO,IAAIP,KAAMO,CAAAA,CAAAA,CAAAA;AACnB;AAEA,IAAA,OAAO,IAAIR,eAAAA,EAAAA;AACb;;;;"}
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ var scanner = require('./scanner.js');
4
+
5
+
6
+
7
+ exports.fileScannerFactory = scanner.fileScannerFactory;
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,2 @@
1
+ export { fileScannerFactory } from './scanner.mjs';
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ var path = require('node:path');
4
+ var fastglob = require('fast-glob');
5
+
6
+ class FileScanner {
7
+ scan(patterns) {
8
+ // we use fastglob instead of glob because it supports negation patterns
9
+ const filenames = fastglob.sync(patterns, {
10
+ cwd: this.cwd
11
+ });
12
+ // Resolve the full paths for every filename
13
+ return filenames.map((filename)=>path.join(this.cwd, filename));
14
+ }
15
+ constructor(cwd){
16
+ this.cwd = cwd;
17
+ }
18
+ }
19
+ const fileScannerFactory = (cwd)=>new FileScanner(cwd);
20
+
21
+ exports.FileScanner = FileScanner;
22
+ exports.fileScannerFactory = fileScannerFactory;
23
+ //# sourceMappingURL=scanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scanner.js","sources":["../../../../src/modules/file-scanner/scanner.ts"],"sourcesContent":["import path from 'node:path';\nimport fastglob from 'fast-glob';\n\nimport type { FileScanner as FileScannerInterface } from './types';\n\nexport class FileScanner implements FileScannerInterface {\n public cwd: string;\n\n constructor(cwd: string) {\n this.cwd = cwd;\n }\n\n scan(patterns: string[]) {\n // we use fastglob instead of glob because it supports negation patterns\n const filenames = fastglob.sync(patterns, {\n cwd: this.cwd,\n });\n\n // Resolve the full paths for every filename\n return filenames.map((filename) => path.join(this.cwd, filename));\n }\n}\n\nexport const fileScannerFactory = (cwd: string) => new FileScanner(cwd);\n"],"names":["FileScanner","scan","patterns","filenames","fastglob","sync","cwd","map","filename","path","join","constructor","fileScannerFactory"],"mappings":";;;;;AAKO,MAAMA,WAAAA,CAAAA;AAOXC,IAAAA,IAAAA,CAAKC,QAAkB,EAAE;;AAEvB,QAAA,MAAMC,SAAYC,GAAAA,QAAAA,CAASC,IAAI,CAACH,QAAU,EAAA;YACxCI,GAAK,EAAA,IAAI,CAACA;AACZ,SAAA,CAAA;;QAGA,OAAOH,SAAAA,CAAUI,GAAG,CAAC,CAACC,QAAAA,GAAaC,IAAKC,CAAAA,IAAI,CAAC,IAAI,CAACJ,GAAG,EAAEE,QAAAA,CAAAA,CAAAA;AACzD;AAZAG,IAAAA,WAAAA,CAAYL,GAAW,CAAE;QACvB,IAAI,CAACA,GAAG,GAAGA,GAAAA;AACb;AAWF;MAEaM,kBAAqB,GAAA,CAACN,GAAgB,GAAA,IAAIN,YAAYM,GAAK;;;;;"}
@@ -0,0 +1,20 @@
1
+ import path from 'node:path';
2
+ import fastglob from 'fast-glob';
3
+
4
+ class FileScanner {
5
+ scan(patterns) {
6
+ // we use fastglob instead of glob because it supports negation patterns
7
+ const filenames = fastglob.sync(patterns, {
8
+ cwd: this.cwd
9
+ });
10
+ // Resolve the full paths for every filename
11
+ return filenames.map((filename)=>path.join(this.cwd, filename));
12
+ }
13
+ constructor(cwd){
14
+ this.cwd = cwd;
15
+ }
16
+ }
17
+ const fileScannerFactory = (cwd)=>new FileScanner(cwd);
18
+
19
+ export { FileScanner, fileScannerFactory };
20
+ //# sourceMappingURL=scanner.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scanner.mjs","sources":["../../../../src/modules/file-scanner/scanner.ts"],"sourcesContent":["import path from 'node:path';\nimport fastglob from 'fast-glob';\n\nimport type { FileScanner as FileScannerInterface } from './types';\n\nexport class FileScanner implements FileScannerInterface {\n public cwd: string;\n\n constructor(cwd: string) {\n this.cwd = cwd;\n }\n\n scan(patterns: string[]) {\n // we use fastglob instead of glob because it supports negation patterns\n const filenames = fastglob.sync(patterns, {\n cwd: this.cwd,\n });\n\n // Resolve the full paths for every filename\n return filenames.map((filename) => path.join(this.cwd, filename));\n }\n}\n\nexport const fileScannerFactory = (cwd: string) => new FileScanner(cwd);\n"],"names":["FileScanner","scan","patterns","filenames","fastglob","sync","cwd","map","filename","path","join","constructor","fileScannerFactory"],"mappings":";;;AAKO,MAAMA,WAAAA,CAAAA;AAOXC,IAAAA,IAAAA,CAAKC,QAAkB,EAAE;;AAEvB,QAAA,MAAMC,SAAYC,GAAAA,QAAAA,CAASC,IAAI,CAACH,QAAU,EAAA;YACxCI,GAAK,EAAA,IAAI,CAACA;AACZ,SAAA,CAAA;;QAGA,OAAOH,SAAAA,CAAUI,GAAG,CAAC,CAACC,QAAAA,GAAaC,IAAKC,CAAAA,IAAI,CAAC,IAAI,CAACJ,GAAG,EAAEE,QAAAA,CAAAA,CAAAA;AACzD;AAZAG,IAAAA,WAAAA,CAAYL,GAAW,CAAE;QACvB,IAAI,CAACA,GAAG,GAAGA,GAAAA;AACb;AAWF;MAEaM,kBAAqB,GAAA,CAACN,GAAgB,GAAA,IAAIN,YAAYM,GAAK;;;;"}
@@ -0,0 +1,107 @@
1
+ 'use strict';
2
+
3
+ var CliTable3 = require('cli-table3');
4
+ var chalk = require('chalk');
5
+ var constants = require('../timer/constants.js');
6
+
7
+ const path = (path)=>chalk.blue(path);
8
+ const version = (version)=>{
9
+ return chalk.italic.yellow(`v${version}`);
10
+ };
11
+ const codemodUID = (uid)=>{
12
+ return chalk.bold.cyan(uid);
13
+ };
14
+ const projectDetails = (project)=>{
15
+ return `Project: TYPE=${projectType(project.type)}; CWD=${path(project.cwd)}; PATHS=${project.paths.map(path)}`;
16
+ };
17
+ const projectType = (type)=>chalk.cyan(type);
18
+ const versionRange = (range)=>chalk.italic.yellow(range.raw);
19
+ const transform = (transformFilePath)=>chalk.cyan(transformFilePath);
20
+ const highlight = (arg)=>chalk.bold.underline(arg);
21
+ const upgradeStep = (text, step)=>{
22
+ return chalk.bold(`(${step[0]}/${step[1]}) ${text}...`);
23
+ };
24
+ const reports = (reports)=>{
25
+ const rows = reports.map(({ codemod, report }, i)=>{
26
+ const fIndex = chalk.grey(i);
27
+ const fVersion = chalk.magenta(codemod.version);
28
+ const fKind = chalk.yellow(codemod.kind);
29
+ const fFormattedTransformPath = chalk.cyan(codemod.format());
30
+ const fTimeElapsed = i === 0 ? `${report.timeElapsed}s ${chalk.dim.italic('(cold start)')}` : `${report.timeElapsed}s`;
31
+ const fAffected = report.ok > 0 ? chalk.green(report.ok) : chalk.grey(0);
32
+ const fUnchanged = report.ok === 0 ? chalk.red(report.nochange) : chalk.grey(report.nochange);
33
+ return [
34
+ fIndex,
35
+ fVersion,
36
+ fKind,
37
+ fFormattedTransformPath,
38
+ fAffected,
39
+ fUnchanged,
40
+ fTimeElapsed
41
+ ];
42
+ });
43
+ const table = new CliTable3({
44
+ style: {
45
+ compact: true
46
+ },
47
+ head: [
48
+ chalk.bold.grey('N°'),
49
+ chalk.bold.magenta('Version'),
50
+ chalk.bold.yellow('Kind'),
51
+ chalk.bold.cyan('Name'),
52
+ chalk.bold.green('Affected'),
53
+ chalk.bold.red('Unchanged'),
54
+ chalk.bold.blue('Duration')
55
+ ]
56
+ });
57
+ table.push(...rows);
58
+ return table.toString();
59
+ };
60
+ const codemodList = (codemods)=>{
61
+ const rows = codemods.map((codemod, index)=>{
62
+ const fIndex = chalk.grey(index);
63
+ const fVersion = chalk.magenta(codemod.version);
64
+ const fKind = chalk.yellow(codemod.kind);
65
+ const fName = chalk.blue(codemod.format());
66
+ const fUID = codemodUID(codemod.uid);
67
+ return [
68
+ fIndex,
69
+ fVersion,
70
+ fKind,
71
+ fName,
72
+ fUID
73
+ ];
74
+ });
75
+ const table = new CliTable3({
76
+ style: {
77
+ compact: true
78
+ },
79
+ head: [
80
+ chalk.bold.grey('N°'),
81
+ chalk.bold.magenta('Version'),
82
+ chalk.bold.yellow('Kind'),
83
+ chalk.bold.blue('Name'),
84
+ chalk.bold.cyan('UID')
85
+ ]
86
+ });
87
+ table.push(...rows);
88
+ return table.toString();
89
+ };
90
+ const durationMs = (elapsedMs)=>{
91
+ const elapsedSeconds = (elapsedMs / constants.ONE_SECOND_MS).toFixed(3);
92
+ return `${elapsedSeconds}s`;
93
+ };
94
+
95
+ exports.codemodList = codemodList;
96
+ exports.codemodUID = codemodUID;
97
+ exports.durationMs = durationMs;
98
+ exports.highlight = highlight;
99
+ exports.path = path;
100
+ exports.projectDetails = projectDetails;
101
+ exports.projectType = projectType;
102
+ exports.reports = reports;
103
+ exports.transform = transform;
104
+ exports.upgradeStep = upgradeStep;
105
+ exports.version = version;
106
+ exports.versionRange = versionRange;
107
+ //# sourceMappingURL=formats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formats.js","sources":["../../../../src/modules/format/formats.ts"],"sourcesContent":["import CliTable3 from 'cli-table3';\nimport chalk from 'chalk';\n\nimport { constants as timerConstants } from '../timer';\n\nimport type { AppProject, PluginProject, ProjectType } from '../project';\nimport type { Codemod } from '../codemod';\nimport type { Version } from '../version';\nimport type { Report } from '../report';\n\nexport const path = (path: string) => chalk.blue(path);\n\nexport const version = (version: Version.LiteralVersion | Version.SemVer) => {\n return chalk.italic.yellow(`v${version}`);\n};\n\nexport const codemodUID = (uid: string) => {\n return chalk.bold.cyan(uid);\n};\n\nexport const projectDetails = (project: AppProject | PluginProject) => {\n return `Project: TYPE=${projectType(project.type)}; CWD=${path(project.cwd)}; PATHS=${project.paths.map(path)}`;\n};\n\nexport const projectType = (type: ProjectType) => chalk.cyan(type);\n\nexport const versionRange = (range: Version.Range) => chalk.italic.yellow(range.raw);\n\nexport const transform = (transformFilePath: string) => chalk.cyan(transformFilePath);\n\nexport const highlight = (arg: unknown) => chalk.bold.underline(arg);\n\nexport const upgradeStep = (text: string, step: [current: number, total: number]) => {\n return chalk.bold(`(${step[0]}/${step[1]}) ${text}...`);\n};\n\nexport const reports = (reports: Report.CodemodReport[]) => {\n const rows = reports.map(({ codemod, report }, i) => {\n const fIndex = chalk.grey(i);\n const fVersion = chalk.magenta(codemod.version);\n const fKind = chalk.yellow(codemod.kind);\n const fFormattedTransformPath = chalk.cyan(codemod.format());\n const fTimeElapsed =\n i === 0\n ? `${report.timeElapsed}s ${chalk.dim.italic('(cold start)')}`\n : `${report.timeElapsed}s`;\n const fAffected = report.ok > 0 ? chalk.green(report.ok) : chalk.grey(0);\n const fUnchanged = report.ok === 0 ? chalk.red(report.nochange) : chalk.grey(report.nochange);\n\n return [fIndex, fVersion, fKind, fFormattedTransformPath, fAffected, fUnchanged, fTimeElapsed];\n });\n\n const table = new CliTable3({\n style: { compact: true },\n head: [\n chalk.bold.grey('N°'),\n chalk.bold.magenta('Version'),\n chalk.bold.yellow('Kind'),\n chalk.bold.cyan('Name'),\n chalk.bold.green('Affected'),\n chalk.bold.red('Unchanged'),\n chalk.bold.blue('Duration'),\n ],\n });\n\n table.push(...rows);\n\n return table.toString();\n};\n\nexport const codemodList = (codemods: Codemod.List) => {\n type Row = [index: string, version: string, kind: string, name: string, uid: string];\n\n const rows = codemods.map<Row>((codemod, index) => {\n const fIndex = chalk.grey(index);\n const fVersion = chalk.magenta(codemod.version);\n const fKind = chalk.yellow(codemod.kind);\n const fName = chalk.blue(codemod.format());\n const fUID = codemodUID(codemod.uid);\n\n return [fIndex, fVersion, fKind, fName, fUID] satisfies Row;\n });\n\n const table = new CliTable3({\n style: { compact: true },\n head: [\n chalk.bold.grey('N°'),\n chalk.bold.magenta('Version'),\n chalk.bold.yellow('Kind'),\n chalk.bold.blue('Name'),\n chalk.bold.cyan('UID'),\n ],\n });\n\n table.push(...rows);\n\n return table.toString();\n};\n\nexport const durationMs = (elapsedMs: number) => {\n const elapsedSeconds = (elapsedMs / timerConstants.ONE_SECOND_MS).toFixed(3);\n\n return `${elapsedSeconds}s`;\n};\n"],"names":["path","chalk","blue","version","italic","yellow","codemodUID","uid","bold","cyan","projectDetails","project","projectType","type","cwd","paths","map","versionRange","range","raw","transform","transformFilePath","highlight","arg","underline","upgradeStep","text","step","reports","rows","codemod","report","i","fIndex","grey","fVersion","magenta","fKind","kind","fFormattedTransformPath","format","fTimeElapsed","timeElapsed","dim","fAffected","ok","green","fUnchanged","red","nochange","table","CliTable3","style","compact","head","push","toString","codemodList","codemods","index","fName","fUID","durationMs","elapsedMs","elapsedSeconds","timerConstants","toFixed"],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ import CliTable3 from 'cli-table3';
2
+ import chalk from 'chalk';
3
+ import { ONE_SECOND_MS } from '../timer/constants.mjs';
4
+
5
+ const path = (path)=>chalk.blue(path);
6
+ const version = (version)=>{
7
+ return chalk.italic.yellow(`v${version}`);
8
+ };
9
+ const codemodUID = (uid)=>{
10
+ return chalk.bold.cyan(uid);
11
+ };
12
+ const projectDetails = (project)=>{
13
+ return `Project: TYPE=${projectType(project.type)}; CWD=${path(project.cwd)}; PATHS=${project.paths.map(path)}`;
14
+ };
15
+ const projectType = (type)=>chalk.cyan(type);
16
+ const versionRange = (range)=>chalk.italic.yellow(range.raw);
17
+ const transform = (transformFilePath)=>chalk.cyan(transformFilePath);
18
+ const highlight = (arg)=>chalk.bold.underline(arg);
19
+ const upgradeStep = (text, step)=>{
20
+ return chalk.bold(`(${step[0]}/${step[1]}) ${text}...`);
21
+ };
22
+ const reports = (reports)=>{
23
+ const rows = reports.map(({ codemod, report }, i)=>{
24
+ const fIndex = chalk.grey(i);
25
+ const fVersion = chalk.magenta(codemod.version);
26
+ const fKind = chalk.yellow(codemod.kind);
27
+ const fFormattedTransformPath = chalk.cyan(codemod.format());
28
+ const fTimeElapsed = i === 0 ? `${report.timeElapsed}s ${chalk.dim.italic('(cold start)')}` : `${report.timeElapsed}s`;
29
+ const fAffected = report.ok > 0 ? chalk.green(report.ok) : chalk.grey(0);
30
+ const fUnchanged = report.ok === 0 ? chalk.red(report.nochange) : chalk.grey(report.nochange);
31
+ return [
32
+ fIndex,
33
+ fVersion,
34
+ fKind,
35
+ fFormattedTransformPath,
36
+ fAffected,
37
+ fUnchanged,
38
+ fTimeElapsed
39
+ ];
40
+ });
41
+ const table = new CliTable3({
42
+ style: {
43
+ compact: true
44
+ },
45
+ head: [
46
+ chalk.bold.grey('N°'),
47
+ chalk.bold.magenta('Version'),
48
+ chalk.bold.yellow('Kind'),
49
+ chalk.bold.cyan('Name'),
50
+ chalk.bold.green('Affected'),
51
+ chalk.bold.red('Unchanged'),
52
+ chalk.bold.blue('Duration')
53
+ ]
54
+ });
55
+ table.push(...rows);
56
+ return table.toString();
57
+ };
58
+ const codemodList = (codemods)=>{
59
+ const rows = codemods.map((codemod, index)=>{
60
+ const fIndex = chalk.grey(index);
61
+ const fVersion = chalk.magenta(codemod.version);
62
+ const fKind = chalk.yellow(codemod.kind);
63
+ const fName = chalk.blue(codemod.format());
64
+ const fUID = codemodUID(codemod.uid);
65
+ return [
66
+ fIndex,
67
+ fVersion,
68
+ fKind,
69
+ fName,
70
+ fUID
71
+ ];
72
+ });
73
+ const table = new CliTable3({
74
+ style: {
75
+ compact: true
76
+ },
77
+ head: [
78
+ chalk.bold.grey('N°'),
79
+ chalk.bold.magenta('Version'),
80
+ chalk.bold.yellow('Kind'),
81
+ chalk.bold.blue('Name'),
82
+ chalk.bold.cyan('UID')
83
+ ]
84
+ });
85
+ table.push(...rows);
86
+ return table.toString();
87
+ };
88
+ const durationMs = (elapsedMs)=>{
89
+ const elapsedSeconds = (elapsedMs / ONE_SECOND_MS).toFixed(3);
90
+ return `${elapsedSeconds}s`;
91
+ };
92
+
93
+ export { codemodList, codemodUID, durationMs, highlight, path, projectDetails, projectType, reports, transform, upgradeStep, version, versionRange };
94
+ //# sourceMappingURL=formats.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formats.mjs","sources":["../../../../src/modules/format/formats.ts"],"sourcesContent":["import CliTable3 from 'cli-table3';\nimport chalk from 'chalk';\n\nimport { constants as timerConstants } from '../timer';\n\nimport type { AppProject, PluginProject, ProjectType } from '../project';\nimport type { Codemod } from '../codemod';\nimport type { Version } from '../version';\nimport type { Report } from '../report';\n\nexport const path = (path: string) => chalk.blue(path);\n\nexport const version = (version: Version.LiteralVersion | Version.SemVer) => {\n return chalk.italic.yellow(`v${version}`);\n};\n\nexport const codemodUID = (uid: string) => {\n return chalk.bold.cyan(uid);\n};\n\nexport const projectDetails = (project: AppProject | PluginProject) => {\n return `Project: TYPE=${projectType(project.type)}; CWD=${path(project.cwd)}; PATHS=${project.paths.map(path)}`;\n};\n\nexport const projectType = (type: ProjectType) => chalk.cyan(type);\n\nexport const versionRange = (range: Version.Range) => chalk.italic.yellow(range.raw);\n\nexport const transform = (transformFilePath: string) => chalk.cyan(transformFilePath);\n\nexport const highlight = (arg: unknown) => chalk.bold.underline(arg);\n\nexport const upgradeStep = (text: string, step: [current: number, total: number]) => {\n return chalk.bold(`(${step[0]}/${step[1]}) ${text}...`);\n};\n\nexport const reports = (reports: Report.CodemodReport[]) => {\n const rows = reports.map(({ codemod, report }, i) => {\n const fIndex = chalk.grey(i);\n const fVersion = chalk.magenta(codemod.version);\n const fKind = chalk.yellow(codemod.kind);\n const fFormattedTransformPath = chalk.cyan(codemod.format());\n const fTimeElapsed =\n i === 0\n ? `${report.timeElapsed}s ${chalk.dim.italic('(cold start)')}`\n : `${report.timeElapsed}s`;\n const fAffected = report.ok > 0 ? chalk.green(report.ok) : chalk.grey(0);\n const fUnchanged = report.ok === 0 ? chalk.red(report.nochange) : chalk.grey(report.nochange);\n\n return [fIndex, fVersion, fKind, fFormattedTransformPath, fAffected, fUnchanged, fTimeElapsed];\n });\n\n const table = new CliTable3({\n style: { compact: true },\n head: [\n chalk.bold.grey('N°'),\n chalk.bold.magenta('Version'),\n chalk.bold.yellow('Kind'),\n chalk.bold.cyan('Name'),\n chalk.bold.green('Affected'),\n chalk.bold.red('Unchanged'),\n chalk.bold.blue('Duration'),\n ],\n });\n\n table.push(...rows);\n\n return table.toString();\n};\n\nexport const codemodList = (codemods: Codemod.List) => {\n type Row = [index: string, version: string, kind: string, name: string, uid: string];\n\n const rows = codemods.map<Row>((codemod, index) => {\n const fIndex = chalk.grey(index);\n const fVersion = chalk.magenta(codemod.version);\n const fKind = chalk.yellow(codemod.kind);\n const fName = chalk.blue(codemod.format());\n const fUID = codemodUID(codemod.uid);\n\n return [fIndex, fVersion, fKind, fName, fUID] satisfies Row;\n });\n\n const table = new CliTable3({\n style: { compact: true },\n head: [\n chalk.bold.grey('N°'),\n chalk.bold.magenta('Version'),\n chalk.bold.yellow('Kind'),\n chalk.bold.blue('Name'),\n chalk.bold.cyan('UID'),\n ],\n });\n\n table.push(...rows);\n\n return table.toString();\n};\n\nexport const durationMs = (elapsedMs: number) => {\n const elapsedSeconds = (elapsedMs / timerConstants.ONE_SECOND_MS).toFixed(3);\n\n return `${elapsedSeconds}s`;\n};\n"],"names":["path","chalk","blue","version","italic","yellow","codemodUID","uid","bold","cyan","projectDetails","project","projectType","type","cwd","paths","map","versionRange","range","raw","transform","transformFilePath","highlight","arg","underline","upgradeStep","text","step","reports","rows","codemod","report","i","fIndex","grey","fVersion","magenta","fKind","kind","fFormattedTransformPath","format","fTimeElapsed","timeElapsed","dim","fAffected","ok","green","fUnchanged","red","nochange","table","CliTable3","style","compact","head","push","toString","codemodList","codemods","index","fName","fUID","durationMs","elapsedMs","elapsedSeconds","timerConstants","toFixed"],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ var formats = require('./formats.js');
4
+
5
+
6
+
7
+ exports.codemodList = formats.codemodList;
8
+ exports.codemodUID = formats.codemodUID;
9
+ exports.durationMs = formats.durationMs;
10
+ exports.highlight = formats.highlight;
11
+ exports.path = formats.path;
12
+ exports.projectDetails = formats.projectDetails;
13
+ exports.projectType = formats.projectType;
14
+ exports.reports = formats.reports;
15
+ exports.transform = formats.transform;
16
+ exports.upgradeStep = formats.upgradeStep;
17
+ exports.version = formats.version;
18
+ exports.versionRange = formats.versionRange;
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ export { codemodList, codemodUID, durationMs, highlight, path, projectDetails, projectType, reports, transform, upgradeStep, version, versionRange } from './formats.mjs';
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}