@strapi/upgrade 5.12.1 → 5.12.2

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 (245) hide show
  1. package/dist/cli.js +6 -203
  2. package/dist/cli.js.map +1 -1
  3. package/dist/cli.mjs +5 -202
  4. package/dist/cli.mjs.map +1 -1
  5. package/dist/index.js +4 -155
  6. package/dist/index.js.map +1 -1
  7. package/dist/index.mjs +4 -157
  8. package/dist/index.mjs.map +1 -1
  9. package/dist/package.json.js +6 -0
  10. package/dist/package.json.js.map +1 -0
  11. package/dist/package.json.mjs +4 -0
  12. package/dist/package.json.mjs.map +1 -0
  13. package/dist/src/cli/commands/codemods.js +120 -0
  14. package/dist/src/cli/commands/codemods.js.map +1 -0
  15. package/dist/src/cli/commands/codemods.mjs +116 -0
  16. package/dist/src/cli/commands/codemods.mjs.map +1 -0
  17. package/dist/src/cli/commands/upgrade.js +99 -0
  18. package/dist/src/cli/commands/upgrade.js.map +1 -0
  19. package/dist/src/cli/commands/upgrade.mjs +96 -0
  20. package/dist/src/cli/commands/upgrade.mjs.map +1 -0
  21. package/dist/src/cli/errors.js +18 -0
  22. package/dist/src/cli/errors.js.map +1 -0
  23. package/dist/src/cli/errors.mjs +16 -0
  24. package/dist/src/cli/errors.mjs.map +1 -0
  25. package/dist/src/cli/options.js +26 -0
  26. package/dist/src/cli/options.js.map +1 -0
  27. package/dist/src/cli/options.mjs +19 -0
  28. package/dist/src/cli/options.mjs.map +1 -0
  29. package/dist/src/modules/codemod/codemod.js +44 -0
  30. package/dist/src/modules/codemod/codemod.js.map +1 -0
  31. package/dist/src/modules/codemod/codemod.mjs +41 -0
  32. package/dist/src/modules/codemod/codemod.mjs.map +1 -0
  33. package/dist/src/modules/codemod/constants.js +17 -0
  34. package/dist/src/modules/codemod/constants.js.map +1 -0
  35. package/dist/src/modules/codemod/constants.mjs +11 -0
  36. package/dist/src/modules/codemod/constants.mjs.map +1 -0
  37. package/dist/src/modules/codemod/index.js +10 -0
  38. package/dist/src/modules/codemod/index.js.map +1 -0
  39. package/dist/src/modules/codemod/index.mjs +4 -0
  40. package/dist/src/modules/codemod/index.mjs.map +1 -0
  41. package/dist/src/modules/codemod-repository/constants.js +9 -0
  42. package/dist/src/modules/codemod-repository/constants.js.map +1 -0
  43. package/dist/src/modules/codemod-repository/constants.mjs +7 -0
  44. package/dist/src/modules/codemod-repository/constants.mjs.map +1 -0
  45. package/dist/src/modules/codemod-repository/index.js +10 -0
  46. package/dist/src/modules/codemod-repository/index.js.map +1 -0
  47. package/dist/src/modules/codemod-repository/index.mjs +4 -0
  48. package/dist/src/modules/codemod-repository/index.mjs.map +1 -0
  49. package/dist/src/modules/codemod-repository/repository.js +127 -0
  50. package/dist/src/modules/codemod-repository/repository.js.map +1 -0
  51. package/dist/src/modules/codemod-repository/repository.mjs +123 -0
  52. package/dist/src/modules/codemod-repository/repository.mjs.map +1 -0
  53. package/dist/src/modules/codemod-runner/codemod-runner.js +113 -0
  54. package/dist/src/modules/codemod-runner/codemod-runner.js.map +1 -0
  55. package/dist/src/modules/codemod-runner/codemod-runner.mjs +110 -0
  56. package/dist/src/modules/codemod-runner/codemod-runner.mjs.map +1 -0
  57. package/dist/src/modules/error/index.js +11 -0
  58. package/dist/src/modules/error/index.js.map +1 -0
  59. package/dist/src/modules/error/index.mjs +2 -0
  60. package/dist/src/modules/error/index.mjs.map +1 -0
  61. package/dist/src/modules/error/utils.js +33 -0
  62. package/dist/src/modules/error/utils.js.map +1 -0
  63. package/dist/src/modules/error/utils.mjs +28 -0
  64. package/dist/src/modules/error/utils.mjs.map +1 -0
  65. package/dist/src/modules/file-scanner/index.js +8 -0
  66. package/dist/src/modules/file-scanner/index.js.map +1 -0
  67. package/dist/src/modules/file-scanner/index.mjs +2 -0
  68. package/dist/src/modules/file-scanner/index.mjs.map +1 -0
  69. package/dist/src/modules/file-scanner/scanner.js +23 -0
  70. package/dist/src/modules/file-scanner/scanner.js.map +1 -0
  71. package/dist/src/modules/file-scanner/scanner.mjs +20 -0
  72. package/dist/src/modules/file-scanner/scanner.mjs.map +1 -0
  73. package/dist/src/modules/format/formats.js +107 -0
  74. package/dist/src/modules/format/formats.js.map +1 -0
  75. package/dist/src/modules/format/formats.mjs +94 -0
  76. package/dist/src/modules/format/formats.mjs.map +1 -0
  77. package/dist/src/modules/format/index.js +19 -0
  78. package/dist/src/modules/format/index.js.map +1 -0
  79. package/dist/src/modules/format/index.mjs +2 -0
  80. package/dist/src/modules/format/index.mjs.map +1 -0
  81. package/dist/src/modules/index.js +32 -0
  82. package/dist/src/modules/index.js.map +1 -0
  83. package/dist/src/modules/index.mjs +27 -0
  84. package/dist/src/modules/index.mjs.map +1 -0
  85. package/dist/src/modules/json/file.js +16 -0
  86. package/dist/src/modules/json/file.js.map +1 -0
  87. package/dist/src/modules/json/file.mjs +13 -0
  88. package/dist/src/modules/json/file.mjs.map +1 -0
  89. package/dist/src/modules/json/transform-api.js +38 -0
  90. package/dist/src/modules/json/transform-api.js.map +1 -0
  91. package/dist/src/modules/json/transform-api.mjs +35 -0
  92. package/dist/src/modules/json/transform-api.mjs.map +1 -0
  93. package/dist/src/modules/logger/index.js +8 -0
  94. package/dist/src/modules/logger/index.js.map +1 -0
  95. package/dist/src/modules/logger/index.mjs +2 -0
  96. package/dist/src/modules/logger/index.mjs.map +1 -0
  97. package/dist/src/modules/logger/logger.js +76 -0
  98. package/dist/src/modules/logger/logger.js.map +1 -0
  99. package/dist/src/modules/logger/logger.mjs +73 -0
  100. package/dist/src/modules/logger/logger.mjs.map +1 -0
  101. package/dist/src/modules/npm/constants.js +6 -0
  102. package/dist/src/modules/npm/constants.js.map +1 -0
  103. package/dist/src/modules/npm/constants.mjs +4 -0
  104. package/dist/src/modules/npm/constants.mjs.map +1 -0
  105. package/dist/src/modules/npm/package.js +55 -0
  106. package/dist/src/modules/npm/package.js.map +1 -0
  107. package/dist/src/modules/npm/package.mjs +52 -0
  108. package/dist/src/modules/npm/package.mjs.map +1 -0
  109. package/dist/src/modules/project/constants.js +45 -0
  110. package/dist/src/modules/project/constants.js.map +1 -0
  111. package/dist/src/modules/project/constants.mjs +35 -0
  112. package/dist/src/modules/project/constants.mjs.map +1 -0
  113. package/dist/src/modules/project/index.js +15 -0
  114. package/dist/src/modules/project/index.js.map +1 -0
  115. package/dist/src/modules/project/index.mjs +5 -0
  116. package/dist/src/modules/project/index.mjs.map +1 -0
  117. package/dist/src/modules/project/project.js +208 -0
  118. package/dist/src/modules/project/project.js.map +1 -0
  119. package/dist/src/modules/project/project.mjs +203 -0
  120. package/dist/src/modules/project/project.mjs.map +1 -0
  121. package/dist/src/modules/project/utils.js +26 -0
  122. package/dist/src/modules/project/utils.js.map +1 -0
  123. package/dist/src/modules/project/utils.mjs +21 -0
  124. package/dist/src/modules/project/utils.mjs.map +1 -0
  125. package/dist/src/modules/report/index.js +9 -0
  126. package/dist/src/modules/report/index.js.map +1 -0
  127. package/dist/src/modules/report/index.mjs +2 -0
  128. package/dist/src/modules/report/index.mjs.map +1 -0
  129. package/dist/src/modules/report/report.js +13 -0
  130. package/dist/src/modules/report/report.js.map +1 -0
  131. package/dist/src/modules/report/report.mjs +10 -0
  132. package/dist/src/modules/report/report.mjs.map +1 -0
  133. package/dist/src/modules/requirement/index.js +8 -0
  134. package/dist/src/modules/requirement/index.js.map +1 -0
  135. package/dist/src/modules/requirement/index.mjs +2 -0
  136. package/dist/src/modules/requirement/index.mjs.map +1 -0
  137. package/dist/src/modules/requirement/requirement.js +55 -0
  138. package/dist/src/modules/requirement/requirement.js.map +1 -0
  139. package/dist/src/modules/requirement/requirement.mjs +52 -0
  140. package/dist/src/modules/requirement/requirement.mjs.map +1 -0
  141. package/dist/src/modules/runner/code/code.js +21 -0
  142. package/dist/src/modules/runner/code/code.js.map +1 -0
  143. package/dist/src/modules/runner/code/code.mjs +18 -0
  144. package/dist/src/modules/runner/code/code.mjs.map +1 -0
  145. package/dist/src/modules/runner/code/index.js +8 -0
  146. package/dist/src/modules/runner/code/index.js.map +1 -0
  147. package/dist/src/modules/runner/code/index.mjs +2 -0
  148. package/dist/src/modules/runner/code/index.mjs.map +1 -0
  149. package/dist/src/modules/runner/index.js +10 -0
  150. package/dist/src/modules/runner/index.js.map +1 -0
  151. package/dist/src/modules/runner/index.mjs +5 -0
  152. package/dist/src/modules/runner/index.mjs.map +1 -0
  153. package/dist/src/modules/runner/json/index.js +8 -0
  154. package/dist/src/modules/runner/json/index.js.map +1 -0
  155. package/dist/src/modules/runner/json/index.mjs +2 -0
  156. package/dist/src/modules/runner/json/index.mjs.map +1 -0
  157. package/dist/src/modules/runner/json/json.js +21 -0
  158. package/dist/src/modules/runner/json/json.js.map +1 -0
  159. package/dist/src/modules/runner/json/json.mjs +18 -0
  160. package/dist/src/modules/runner/json/json.mjs.map +1 -0
  161. package/dist/src/modules/runner/json/transform.js +85 -0
  162. package/dist/src/modules/runner/json/transform.js.map +1 -0
  163. package/dist/src/modules/runner/json/transform.mjs +83 -0
  164. package/dist/src/modules/runner/json/transform.mjs.map +1 -0
  165. package/dist/src/modules/runner/runner.js +22 -0
  166. package/dist/src/modules/runner/runner.js.map +1 -0
  167. package/dist/src/modules/runner/runner.mjs +20 -0
  168. package/dist/src/modules/runner/runner.mjs.map +1 -0
  169. package/dist/src/modules/timer/constants.js +6 -0
  170. package/dist/src/modules/timer/constants.js.map +1 -0
  171. package/dist/src/modules/timer/constants.mjs +4 -0
  172. package/dist/src/modules/timer/constants.mjs.map +1 -0
  173. package/dist/src/modules/timer/index.js +10 -0
  174. package/dist/src/modules/timer/index.js.map +1 -0
  175. package/dist/src/modules/timer/index.mjs +4 -0
  176. package/dist/src/modules/timer/index.mjs.map +1 -0
  177. package/dist/src/modules/timer/timer.js +33 -0
  178. package/dist/src/modules/timer/timer.js.map +1 -0
  179. package/dist/src/modules/timer/timer.mjs +30 -0
  180. package/dist/src/modules/timer/timer.mjs.map +1 -0
  181. package/dist/src/modules/upgrader/constants.js +6 -0
  182. package/dist/src/modules/upgrader/constants.js.map +1 -0
  183. package/dist/src/modules/upgrader/constants.mjs +4 -0
  184. package/dist/src/modules/upgrader/constants.mjs.map +1 -0
  185. package/dist/src/modules/upgrader/index.js +10 -0
  186. package/dist/src/modules/upgrader/index.js.map +1 -0
  187. package/dist/src/modules/upgrader/index.mjs +4 -0
  188. package/dist/src/modules/upgrader/index.mjs.map +1 -0
  189. package/dist/src/modules/upgrader/upgrader.js +266 -0
  190. package/dist/src/modules/upgrader/upgrader.js.map +1 -0
  191. package/dist/src/modules/upgrader/upgrader.mjs +263 -0
  192. package/dist/src/modules/upgrader/upgrader.mjs.map +1 -0
  193. package/dist/src/modules/version/index.js +20 -0
  194. package/dist/src/modules/version/index.js.map +1 -0
  195. package/dist/src/modules/version/index.mjs +5 -0
  196. package/dist/src/modules/version/index.mjs.map +1 -0
  197. package/dist/src/modules/version/range.js +81 -0
  198. package/dist/src/modules/version/range.js.map +1 -0
  199. package/dist/src/modules/version/range.mjs +75 -0
  200. package/dist/src/modules/version/range.mjs.map +1 -0
  201. package/dist/src/modules/version/semver.js +26 -0
  202. package/dist/src/modules/version/semver.js.map +1 -0
  203. package/dist/src/modules/version/semver.mjs +20 -0
  204. package/dist/src/modules/version/semver.mjs.map +1 -0
  205. package/dist/src/modules/version/types.js +12 -0
  206. package/dist/src/modules/version/types.js.map +1 -0
  207. package/dist/src/modules/version/types.mjs +12 -0
  208. package/dist/src/modules/version/types.mjs.map +1 -0
  209. package/dist/src/tasks/codemods/list-codemods.js +40 -0
  210. package/dist/src/tasks/codemods/list-codemods.js.map +1 -0
  211. package/dist/src/tasks/codemods/list-codemods.mjs +38 -0
  212. package/dist/src/tasks/codemods/list-codemods.mjs.map +1 -0
  213. package/dist/src/tasks/codemods/run-codemods.js +36 -0
  214. package/dist/src/tasks/codemods/run-codemods.js.map +1 -0
  215. package/dist/src/tasks/codemods/run-codemods.mjs +34 -0
  216. package/dist/src/tasks/codemods/run-codemods.mjs.map +1 -0
  217. package/dist/src/tasks/codemods/utils.js +54 -0
  218. package/dist/src/tasks/codemods/utils.js.map +1 -0
  219. package/dist/src/tasks/codemods/utils.mjs +50 -0
  220. package/dist/src/tasks/codemods/utils.mjs.map +1 -0
  221. package/dist/src/tasks/index.js +15 -0
  222. package/dist/src/tasks/index.js.map +1 -0
  223. package/dist/src/tasks/index.mjs +7 -0
  224. package/dist/src/tasks/index.mjs.map +1 -0
  225. package/dist/src/tasks/upgrade/prompts/latest.js +48 -0
  226. package/dist/src/tasks/upgrade/prompts/latest.js.map +1 -0
  227. package/dist/src/tasks/upgrade/prompts/latest.mjs +46 -0
  228. package/dist/src/tasks/upgrade/prompts/latest.mjs.map +1 -0
  229. package/dist/src/tasks/upgrade/requirements/common.js +40 -0
  230. package/dist/src/tasks/upgrade/requirements/common.js.map +1 -0
  231. package/dist/src/tasks/upgrade/requirements/common.mjs +35 -0
  232. package/dist/src/tasks/upgrade/requirements/common.mjs.map +1 -0
  233. package/dist/src/tasks/upgrade/requirements/major.js +29 -0
  234. package/dist/src/tasks/upgrade/requirements/major.js.map +1 -0
  235. package/dist/src/tasks/upgrade/requirements/major.mjs +26 -0
  236. package/dist/src/tasks/upgrade/requirements/major.mjs.map +1 -0
  237. package/dist/src/tasks/upgrade/upgrade.js +69 -0
  238. package/dist/src/tasks/upgrade/upgrade.js.map +1 -0
  239. package/dist/src/tasks/upgrade/upgrade.mjs +67 -0
  240. package/dist/src/tasks/upgrade/upgrade.mjs.map +1 -0
  241. package/package.json +4 -4
  242. package/dist/chunks/logger-DGi224NW.js +0 -1649
  243. package/dist/chunks/logger-DGi224NW.js.map +0 -1
  244. package/dist/chunks/logger-np_r7rTc.mjs +0 -1599
  245. package/dist/chunks/logger-np_r7rTc.mjs.map +0 -1
package/dist/index.js CHANGED
@@ -1,161 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./chunks/logger-DGi224NW.js');
4
- require('semver');
5
- require('node:path');
6
- require('node:assert');
7
- require('chalk');
8
- require('@strapi/utils');
9
- require('fs-extra');
10
- require('fast-glob');
11
- require('jscodeshift/src/Runner');
12
- require('lodash/fp');
13
- require('esbuild-register/dist/node');
14
- require('simple-git');
15
- require('cli-table3');
3
+ var index = require('./src/tasks/index.js');
4
+ var index$1 = require('./src/modules/index.js');
16
5
 
17
- var index$g = /*#__PURE__*/Object.freeze({
18
- __proto__: null,
19
- constants: logger.constants,
20
- timerFactory: logger.timerFactory
21
- });
22
6
 
23
- var index$f = /*#__PURE__*/Object.freeze({
24
- __proto__: null,
25
- codemodList: logger.codemodList,
26
- codemodUID: logger.codemodUID,
27
- durationMs: logger.durationMs,
28
- highlight: logger.highlight,
29
- path: logger.path,
30
- projectDetails: logger.projectDetails,
31
- projectType: logger.projectType,
32
- reports: logger.reports,
33
- transform: logger.transform,
34
- upgradeStep: logger.upgradeStep,
35
- version: logger.version,
36
- versionRange: logger.versionRange
37
- });
38
7
 
39
- var index$e = /*#__PURE__*/Object.freeze({
40
- __proto__: null,
41
- Version: logger.types,
42
- isLiteralSemVer: logger.isLiteralSemVer,
43
- isRangeInstance: logger.isRangeInstance,
44
- isSemVerReleaseType: logger.isSemVerReleaseType,
45
- isSemverInstance: logger.isSemverInstance,
46
- isValidSemVer: logger.isValidSemVer,
47
- isValidStringifiedRange: logger.isValidStringifiedRange,
48
- rangeFactory: logger.rangeFactory,
49
- rangeFromReleaseType: logger.rangeFromReleaseType,
50
- rangeFromVersions: logger.rangeFromVersions,
51
- semVerFactory: logger.semVerFactory
52
- });
53
-
54
- var index$d = /*#__PURE__*/Object.freeze({
55
- __proto__: null,
56
- fileScannerFactory: logger.fileScannerFactory
57
- });
58
-
59
- var index$c = /*#__PURE__*/Object.freeze({
60
- __proto__: null,
61
- codeRunnerFactory: logger.codeRunnerFactory
62
- });
63
-
64
- var index$b = /*#__PURE__*/Object.freeze({
65
- __proto__: null,
66
- jsonRunnerFactory: logger.jsonRunnerFactory
67
- });
68
-
69
- var index$a = /*#__PURE__*/Object.freeze({
70
- __proto__: null,
71
- assertAppProject: logger.assertAppProject,
72
- assertPluginProject: logger.assertPluginProject,
73
- constants: logger.constants$1,
74
- isApplicationProject: logger.isApplicationProject,
75
- isPluginProject: logger.isPluginProject,
76
- projectFactory: logger.projectFactory
77
- });
78
-
79
- var index$9 = /*#__PURE__*/Object.freeze({
80
- __proto__: null,
81
- AbortedError: logger.AbortedError,
82
- NPMCandidateNotFoundError: logger.NPMCandidateNotFoundError,
83
- UnexpectedError: logger.UnexpectedError,
84
- unknownToError: logger.unknownToError
85
- });
86
-
87
- var index$8 = /*#__PURE__*/Object.freeze({
88
- __proto__: null,
89
- codemodFactory: logger.codemodFactory,
90
- constants: logger.constants$2
91
- });
92
-
93
- var index$7 = /*#__PURE__*/Object.freeze({
94
- __proto__: null,
95
- codemodRepositoryFactory: logger.codemodRepositoryFactory,
96
- constants: logger.constants$3
97
- });
98
-
99
- var index$6 = /*#__PURE__*/Object.freeze({
100
- __proto__: null,
101
- constants: logger.constants$4,
102
- upgraderFactory: logger.upgraderFactory
103
- });
104
-
105
- var index$5 = /*#__PURE__*/Object.freeze({
106
- __proto__: null,
107
- requirementFactory: logger.requirementFactory
108
- });
109
-
110
- var index$4 = /*#__PURE__*/Object.freeze({
111
- __proto__: null,
112
- listCodemods: logger.listCodemods,
113
- runCodemods: logger.runCodemods,
114
- upgrade: logger.upgrade
115
- });
116
-
117
- var index$3 = /*#__PURE__*/Object.freeze({
118
- __proto__: null,
119
- loggerFactory: logger.loggerFactory
120
- });
121
-
122
- const codemodReportFactory = (codemod, report)=>({
123
- codemod,
124
- report
125
- });
126
- const reportFactory = (report)=>({
127
- ...report
128
- });
129
-
130
- var index$2 = /*#__PURE__*/Object.freeze({
131
- __proto__: null,
132
- codemodReportFactory: codemodReportFactory,
133
- reportFactory: reportFactory
134
- });
135
-
136
- var index$1 = /*#__PURE__*/Object.freeze({
137
- __proto__: null,
138
- code: index$c,
139
- json: index$b
140
- });
141
-
142
- var index = /*#__PURE__*/Object.freeze({
143
- __proto__: null,
144
- codemod: index$8,
145
- codemodRepository: index$7,
146
- error: index$9,
147
- f: index$f,
148
- fileScanner: index$d,
149
- logger: index$3,
150
- project: index$a,
151
- report: index$2,
152
- requirement: index$5,
153
- runner: index$1,
154
- timer: index$g,
155
- upgrader: index$6,
156
- version: index$e
157
- });
158
-
159
- exports.modules = index;
160
- exports.tasks = index$4;
8
+ exports.tasks = index;
9
+ exports.modules = index$1;
161
10
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/modules/report/report.ts"],"sourcesContent":["import type { Codemod } from '../codemod';\n\nimport type { CodemodReport, Report } from './types';\n\nexport const codemodReportFactory = (codemod: Codemod.Codemod, report: Report): CodemodReport => ({\n codemod,\n report,\n});\n\nexport const reportFactory = (report: Report): Report => ({ ...report });\n"],"names":["codemodReportFactory","codemod","report","reportFactory"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,MAAMA,oBAAAA,GAAuB,CAACC,OAAAA,EAA0BC,UAAmC;AAChGD,QAAAA,OAAAA;AACAC,QAAAA;AACF,KAAA,CAAG;AAEI,MAAMC,aAAAA,GAAgB,CAACD,MAAAA,IAA4B;AAAE,QAAA,GAAGA;AAAO,KAAA,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
package/dist/index.mjs CHANGED
@@ -1,158 +1,5 @@
1
- import { c as constants, t as timerFactory, a as codemodList, b as codemodUID, d as durationMs, h as highlight, p as path, e as projectDetails, f as projectType, r as reports, g as transform, u as upgradeStep, v as version, i as versionRange, j as types, k as isLiteralSemVer, l as isRangeInstance, m as isSemVerReleaseType, n as isSemverInstance, o as isValidSemVer, q as isValidStringifiedRange, s as rangeFactory, w as rangeFromReleaseType, x as rangeFromVersions, y as semVerFactory, z as fileScannerFactory, A as codeRunnerFactory, B as jsonRunnerFactory, C as assertAppProject, D as assertPluginProject, E as constants$1, F as isApplicationProject, G as isPluginProject, H as projectFactory, I as AbortedError, N as NPMCandidateNotFoundError, U as UnexpectedError, J as unknownToError, K as codemodFactory, L as constants$2, M as codemodRepositoryFactory, O as constants$3, P as constants$4, Q as upgraderFactory, R as requirementFactory, S as listCodemods, T as runCodemods, V as upgrade, W as loggerFactory } from './chunks/logger-np_r7rTc.mjs';
2
- import 'semver';
3
- import 'node:path';
4
- import 'node:assert';
5
- import 'chalk';
6
- import '@strapi/utils';
7
- import 'fs-extra';
8
- import 'fast-glob';
9
- import 'jscodeshift/src/Runner';
10
- import 'lodash/fp';
11
- import 'esbuild-register/dist/node';
12
- import 'simple-git';
13
- import 'cli-table3';
14
-
15
- var index$g = /*#__PURE__*/Object.freeze({
16
- __proto__: null,
17
- constants: constants,
18
- timerFactory: timerFactory
19
- });
20
-
21
- var index$f = /*#__PURE__*/Object.freeze({
22
- __proto__: null,
23
- codemodList: codemodList,
24
- codemodUID: codemodUID,
25
- durationMs: durationMs,
26
- highlight: highlight,
27
- path: path,
28
- projectDetails: projectDetails,
29
- projectType: projectType,
30
- reports: reports,
31
- transform: transform,
32
- upgradeStep: upgradeStep,
33
- version: version,
34
- versionRange: versionRange
35
- });
36
-
37
- var index$e = /*#__PURE__*/Object.freeze({
38
- __proto__: null,
39
- Version: types,
40
- isLiteralSemVer: isLiteralSemVer,
41
- isRangeInstance: isRangeInstance,
42
- isSemVerReleaseType: isSemVerReleaseType,
43
- isSemverInstance: isSemverInstance,
44
- isValidSemVer: isValidSemVer,
45
- isValidStringifiedRange: isValidStringifiedRange,
46
- rangeFactory: rangeFactory,
47
- rangeFromReleaseType: rangeFromReleaseType,
48
- rangeFromVersions: rangeFromVersions,
49
- semVerFactory: semVerFactory
50
- });
51
-
52
- var index$d = /*#__PURE__*/Object.freeze({
53
- __proto__: null,
54
- fileScannerFactory: fileScannerFactory
55
- });
56
-
57
- var index$c = /*#__PURE__*/Object.freeze({
58
- __proto__: null,
59
- codeRunnerFactory: codeRunnerFactory
60
- });
61
-
62
- var index$b = /*#__PURE__*/Object.freeze({
63
- __proto__: null,
64
- jsonRunnerFactory: jsonRunnerFactory
65
- });
66
-
67
- var index$a = /*#__PURE__*/Object.freeze({
68
- __proto__: null,
69
- assertAppProject: assertAppProject,
70
- assertPluginProject: assertPluginProject,
71
- constants: constants$1,
72
- isApplicationProject: isApplicationProject,
73
- isPluginProject: isPluginProject,
74
- projectFactory: projectFactory
75
- });
76
-
77
- var index$9 = /*#__PURE__*/Object.freeze({
78
- __proto__: null,
79
- AbortedError: AbortedError,
80
- NPMCandidateNotFoundError: NPMCandidateNotFoundError,
81
- UnexpectedError: UnexpectedError,
82
- unknownToError: unknownToError
83
- });
84
-
85
- var index$8 = /*#__PURE__*/Object.freeze({
86
- __proto__: null,
87
- codemodFactory: codemodFactory,
88
- constants: constants$2
89
- });
90
-
91
- var index$7 = /*#__PURE__*/Object.freeze({
92
- __proto__: null,
93
- codemodRepositoryFactory: codemodRepositoryFactory,
94
- constants: constants$3
95
- });
96
-
97
- var index$6 = /*#__PURE__*/Object.freeze({
98
- __proto__: null,
99
- constants: constants$4,
100
- upgraderFactory: upgraderFactory
101
- });
102
-
103
- var index$5 = /*#__PURE__*/Object.freeze({
104
- __proto__: null,
105
- requirementFactory: requirementFactory
106
- });
107
-
108
- var index$4 = /*#__PURE__*/Object.freeze({
109
- __proto__: null,
110
- listCodemods: listCodemods,
111
- runCodemods: runCodemods,
112
- upgrade: upgrade
113
- });
114
-
115
- var index$3 = /*#__PURE__*/Object.freeze({
116
- __proto__: null,
117
- loggerFactory: loggerFactory
118
- });
119
-
120
- const codemodReportFactory = (codemod, report)=>({
121
- codemod,
122
- report
123
- });
124
- const reportFactory = (report)=>({
125
- ...report
126
- });
127
-
128
- var index$2 = /*#__PURE__*/Object.freeze({
129
- __proto__: null,
130
- codemodReportFactory: codemodReportFactory,
131
- reportFactory: reportFactory
132
- });
133
-
134
- var index$1 = /*#__PURE__*/Object.freeze({
135
- __proto__: null,
136
- code: index$c,
137
- json: index$b
138
- });
139
-
140
- var index = /*#__PURE__*/Object.freeze({
141
- __proto__: null,
142
- codemod: index$8,
143
- codemodRepository: index$7,
144
- error: index$9,
145
- f: index$f,
146
- fileScanner: index$d,
147
- logger: index$3,
148
- project: index$a,
149
- report: index$2,
150
- requirement: index$5,
151
- runner: index$1,
152
- timer: index$g,
153
- upgrader: index$6,
154
- version: index$e
155
- });
156
-
157
- export { index as modules, index$4 as tasks };
1
+ import * as index from './src/tasks/index.mjs';
2
+ export { index as tasks };
3
+ import * as index$1 from './src/modules/index.mjs';
4
+ export { index$1 as modules };
158
5
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/modules/report/report.ts"],"sourcesContent":["import type { Codemod } from '../codemod';\n\nimport type { CodemodReport, Report } from './types';\n\nexport const codemodReportFactory = (codemod: Codemod.Codemod, report: Report): CodemodReport => ({\n codemod,\n report,\n});\n\nexport const reportFactory = (report: Report): Report => ({ ...report });\n"],"names":["codemodReportFactory","codemod","report","reportFactory"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,MAAMA,oBAAAA,GAAuB,CAACC,OAAAA,EAA0BC,UAAmC;AAChGD,QAAAA,OAAAA;AACAC,QAAAA;AACF,KAAA,CAAG;AAEI,MAAMC,aAAAA,GAAgB,CAACD,MAAAA,IAA4B;AAAE,QAAA,GAAGA;AAAO,KAAA,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var version = "5.12.2";
4
+
5
+ exports.version = version;
6
+ //# sourceMappingURL=package.json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,4 @@
1
+ var version = "5.12.2";
2
+
3
+ export { version };
4
+ //# sourceMappingURL=package.json.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,120 @@
1
+ 'use strict';
2
+
3
+ var prompts = require('prompts');
4
+ var logger = require('../../modules/logger/logger.js');
5
+ require('semver');
6
+ var types = require('../../modules/version/types.js');
7
+ var errors = require('../errors.js');
8
+ require('node:path');
9
+ require('cli-table3');
10
+ require('chalk');
11
+ require('node:assert');
12
+ require('fs-extra');
13
+ require('fast-glob');
14
+ require('jscodeshift/src/Runner');
15
+ require('lodash/fp');
16
+ require('esbuild-register/dist/node');
17
+ require('../../modules/project/constants.js');
18
+ require('@strapi/utils');
19
+ require('../../modules/codemod/constants.js');
20
+ require('../../modules/codemod-repository/constants.js');
21
+ require('../../tasks/upgrade/requirements/common.js');
22
+ var runCodemods$1 = require('../../tasks/codemods/run-codemods.js');
23
+ var listCodemods$1 = require('../../tasks/codemods/list-codemods.js');
24
+ var options = require('../options.js');
25
+
26
+ const DEFAULT_TARGET = types.ReleaseType.Major;
27
+ const runCodemods = async (options)=>{
28
+ const { silent, debug } = options;
29
+ const logger$1 = logger.loggerFactory({
30
+ silent,
31
+ debug
32
+ });
33
+ logger$1.warn("Please make sure you've created a backup of your codebase and files before running the codemods");
34
+ const confirm = async (message)=>{
35
+ const { confirm } = await prompts({
36
+ name: 'confirm',
37
+ type: 'confirm',
38
+ message
39
+ });
40
+ // If confirm is undefined (Ctrl + C), default to false
41
+ return confirm ?? false;
42
+ };
43
+ const selectCodemods = async (codemods)=>{
44
+ const selectableCodemods = codemods.map(({ version, codemods })=>codemods.map((codemod)=>({
45
+ title: `(${version}) ${codemod.format()}`,
46
+ value: codemod,
47
+ selected: true
48
+ }))).flat();
49
+ if (selectableCodemods.length === 0) {
50
+ logger$1.info('No codemods to run');
51
+ return [];
52
+ }
53
+ const { selectedCodemods } = await prompts({
54
+ type: 'autocompleteMultiselect',
55
+ name: 'selectedCodemods',
56
+ message: 'Choose the codemods you would like to run:',
57
+ choices: selectableCodemods
58
+ });
59
+ if (!selectedCodemods || selectedCodemods.length === 0) {
60
+ logger$1.info('No codemods selected');
61
+ return [];
62
+ }
63
+ return selectedCodemods.map((codemod)=>({
64
+ version: codemod.version,
65
+ codemods: [
66
+ codemod
67
+ ]
68
+ }));
69
+ };
70
+ return runCodemods$1.runCodemods({
71
+ logger: logger$1,
72
+ confirm,
73
+ selectCodemods,
74
+ dry: options.dry,
75
+ cwd: options.projectPath,
76
+ target: options.range ?? DEFAULT_TARGET,
77
+ uid: options.uid
78
+ }).catch((err)=>errors.handleError(err, options.silent));
79
+ };
80
+ const listCodemods = async (options)=>{
81
+ const { silent, debug } = options;
82
+ const logger$1 = logger.loggerFactory({
83
+ silent,
84
+ debug
85
+ });
86
+ return listCodemods$1.listCodemods({
87
+ cwd: options.projectPath,
88
+ target: options.range ?? DEFAULT_TARGET,
89
+ logger: logger$1
90
+ }).catch((err)=>errors.handleError(err, options.silent));
91
+ };
92
+ /**
93
+ * Registers codemods related commands.
94
+ */ const register = (program)=>{
95
+ const codemodsCommand = program.command('codemods');
96
+ // upgrade codemods run [options] [uid]
97
+ codemodsCommand.command('run [uid]').description(`
98
+ Executes a set of codemods on the current project.
99
+
100
+ If the optional UID argument is provided, the command specifically runs the codemod associated with that UID.
101
+ Without the UID, the command produces a list of all available codemods for your project.
102
+
103
+ By default, when executed on a Strapi application project, it offers codemods matching the current major version of the app.
104
+ When executed on a Strapi plugin project, it shows every codemods.
105
+ `).addOption(options.projectPathOption).addOption(options.dryOption).addOption(options.debugOption).addOption(options.silentOption).addOption(options.rangeOption).action(async (uid, options)=>{
106
+ return runCodemods({
107
+ ...options,
108
+ uid
109
+ });
110
+ });
111
+ // upgrade codemods ls [options]
112
+ codemodsCommand.command('ls').description(`List available codemods`).addOption(options.projectPathOption).addOption(options.debugOption).addOption(options.silentOption).addOption(options.rangeOption).action(async (options)=>{
113
+ return listCodemods(options);
114
+ });
115
+ };
116
+
117
+ exports.listCodemods = listCodemods;
118
+ exports.register = register;
119
+ exports.runCodemods = runCodemods;
120
+ //# sourceMappingURL=codemods.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codemods.js","sources":["../../../../src/cli/commands/codemods.ts"],"sourcesContent":["import prompts from 'prompts';\n\nimport type { Command } from 'commander';\nimport { loggerFactory } from '../../modules/logger';\nimport { Version } from '../../modules/version';\nimport { handleError } from '../errors';\nimport * as tasks from '../../tasks';\nimport { debugOption, dryOption, projectPathOption, rangeOption, silentOption } from '../options';\n\nimport type {\n CLIListCodemodsOptions,\n CLIRunCodemodsOptions,\n ListCodemodsCommand,\n RunCodemodsCommand,\n} from '../types';\nimport type { Codemod } from '../../modules/codemod';\n\nconst DEFAULT_TARGET = Version.ReleaseType.Major;\n\nexport const runCodemods: RunCodemodsCommand = async (options) => {\n const { silent, debug } = options;\n const logger = loggerFactory({ silent, debug });\n\n logger.warn(\n \"Please make sure you've created a backup of your codebase and files before running the codemods\"\n );\n\n const confirm = async (message: string) => {\n const { confirm } = await prompts({\n name: 'confirm',\n type: 'confirm',\n message,\n });\n\n // If confirm is undefined (Ctrl + C), default to false\n return confirm ?? false;\n };\n\n const selectCodemods = async (codemods: Codemod.VersionedCollection[]) => {\n const selectableCodemods = codemods\n .map(({ version, codemods }) =>\n codemods.map((codemod) => ({\n title: `(${version}) ${codemod.format()}`,\n value: codemod,\n selected: true,\n }))\n )\n .flat();\n\n if (selectableCodemods.length === 0) {\n logger.info('No codemods to run');\n return [];\n }\n\n const { selectedCodemods }: { selectedCodemods: Codemod.Codemod[] } = await prompts({\n type: 'autocompleteMultiselect',\n name: 'selectedCodemods',\n message: 'Choose the codemods you would like to run:',\n choices: selectableCodemods,\n });\n\n if (!selectedCodemods || selectedCodemods.length === 0) {\n logger.info('No codemods selected');\n return [];\n }\n\n return selectedCodemods.map<Codemod.VersionedCollection>((codemod) => ({\n version: codemod.version,\n codemods: [codemod],\n }));\n };\n\n return tasks\n .runCodemods({\n logger,\n confirm,\n selectCodemods,\n dry: options.dry,\n cwd: options.projectPath,\n target: options.range ?? DEFAULT_TARGET,\n uid: options.uid,\n })\n .catch((err) => handleError(err, options.silent));\n};\n\nexport const listCodemods: ListCodemodsCommand = async (options) => {\n const { silent, debug } = options;\n const logger = loggerFactory({ silent, debug });\n\n return tasks\n .listCodemods({\n cwd: options.projectPath,\n target: options.range ?? DEFAULT_TARGET,\n logger,\n })\n .catch((err) => handleError(err, options.silent));\n};\n\n/**\n * Registers codemods related commands.\n */\nexport const register = (program: Command) => {\n const codemodsCommand = program.command('codemods');\n\n // upgrade codemods run [options] [uid]\n codemodsCommand\n .command('run [uid]')\n .description(\n `\nExecutes a set of codemods on the current project.\n\nIf the optional UID argument is provided, the command specifically runs the codemod associated with that UID.\nWithout the UID, the command produces a list of all available codemods for your project.\n\nBy default, when executed on a Strapi application project, it offers codemods matching the current major version of the app.\nWhen executed on a Strapi plugin project, it shows every codemods.\n`\n )\n .addOption(projectPathOption)\n .addOption(dryOption)\n .addOption(debugOption)\n .addOption(silentOption)\n .addOption(rangeOption)\n .action(async (uid: string | undefined, options: CLIRunCodemodsOptions) => {\n return runCodemods({ ...options, uid });\n });\n\n // upgrade codemods ls [options]\n codemodsCommand\n .command('ls')\n .description(`List available codemods`)\n .addOption(projectPathOption)\n .addOption(debugOption)\n .addOption(silentOption)\n .addOption(rangeOption)\n .action(async (options: CLIListCodemodsOptions) => {\n return listCodemods(options);\n });\n};\n"],"names":["DEFAULT_TARGET","Version","Major","runCodemods","options","silent","debug","logger","loggerFactory","warn","confirm","message","prompts","name","type","selectCodemods","codemods","selectableCodemods","map","version","codemod","title","format","value","selected","flat","length","info","selectedCodemods","choices","tasks","dry","cwd","projectPath","target","range","uid","catch","err","handleError","listCodemods","register","program","codemodsCommand","command","description","addOption","projectPathOption","dryOption","debugOption","silentOption","rangeOption","action"],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ import prompts from 'prompts';
2
+ import { loggerFactory } from '../../modules/logger/logger.mjs';
3
+ import 'semver';
4
+ import { ReleaseType } from '../../modules/version/types.mjs';
5
+ import { handleError } from '../errors.mjs';
6
+ import 'node:path';
7
+ import 'cli-table3';
8
+ import 'chalk';
9
+ import 'node:assert';
10
+ import 'fs-extra';
11
+ import 'fast-glob';
12
+ import 'jscodeshift/src/Runner';
13
+ import 'lodash/fp';
14
+ import 'esbuild-register/dist/node';
15
+ import '../../modules/project/constants.mjs';
16
+ import '@strapi/utils';
17
+ import '../../modules/codemod/constants.mjs';
18
+ import '../../modules/codemod-repository/constants.mjs';
19
+ import '../../tasks/upgrade/requirements/common.mjs';
20
+ import { runCodemods as runCodemods$1 } from '../../tasks/codemods/run-codemods.mjs';
21
+ import { listCodemods as listCodemods$1 } from '../../tasks/codemods/list-codemods.mjs';
22
+ import { projectPathOption, dryOption, debugOption, silentOption, rangeOption } from '../options.mjs';
23
+
24
+ const DEFAULT_TARGET = ReleaseType.Major;
25
+ const runCodemods = async (options)=>{
26
+ const { silent, debug } = options;
27
+ const logger = loggerFactory({
28
+ silent,
29
+ debug
30
+ });
31
+ logger.warn("Please make sure you've created a backup of your codebase and files before running the codemods");
32
+ const confirm = async (message)=>{
33
+ const { confirm } = await prompts({
34
+ name: 'confirm',
35
+ type: 'confirm',
36
+ message
37
+ });
38
+ // If confirm is undefined (Ctrl + C), default to false
39
+ return confirm ?? false;
40
+ };
41
+ const selectCodemods = async (codemods)=>{
42
+ const selectableCodemods = codemods.map(({ version, codemods })=>codemods.map((codemod)=>({
43
+ title: `(${version}) ${codemod.format()}`,
44
+ value: codemod,
45
+ selected: true
46
+ }))).flat();
47
+ if (selectableCodemods.length === 0) {
48
+ logger.info('No codemods to run');
49
+ return [];
50
+ }
51
+ const { selectedCodemods } = await prompts({
52
+ type: 'autocompleteMultiselect',
53
+ name: 'selectedCodemods',
54
+ message: 'Choose the codemods you would like to run:',
55
+ choices: selectableCodemods
56
+ });
57
+ if (!selectedCodemods || selectedCodemods.length === 0) {
58
+ logger.info('No codemods selected');
59
+ return [];
60
+ }
61
+ return selectedCodemods.map((codemod)=>({
62
+ version: codemod.version,
63
+ codemods: [
64
+ codemod
65
+ ]
66
+ }));
67
+ };
68
+ return runCodemods$1({
69
+ logger,
70
+ confirm,
71
+ selectCodemods,
72
+ dry: options.dry,
73
+ cwd: options.projectPath,
74
+ target: options.range ?? DEFAULT_TARGET,
75
+ uid: options.uid
76
+ }).catch((err)=>handleError(err, options.silent));
77
+ };
78
+ const listCodemods = async (options)=>{
79
+ const { silent, debug } = options;
80
+ const logger = loggerFactory({
81
+ silent,
82
+ debug
83
+ });
84
+ return listCodemods$1({
85
+ cwd: options.projectPath,
86
+ target: options.range ?? DEFAULT_TARGET,
87
+ logger
88
+ }).catch((err)=>handleError(err, options.silent));
89
+ };
90
+ /**
91
+ * Registers codemods related commands.
92
+ */ const register = (program)=>{
93
+ const codemodsCommand = program.command('codemods');
94
+ // upgrade codemods run [options] [uid]
95
+ codemodsCommand.command('run [uid]').description(`
96
+ Executes a set of codemods on the current project.
97
+
98
+ If the optional UID argument is provided, the command specifically runs the codemod associated with that UID.
99
+ Without the UID, the command produces a list of all available codemods for your project.
100
+
101
+ By default, when executed on a Strapi application project, it offers codemods matching the current major version of the app.
102
+ When executed on a Strapi plugin project, it shows every codemods.
103
+ `).addOption(projectPathOption).addOption(dryOption).addOption(debugOption).addOption(silentOption).addOption(rangeOption).action(async (uid, options)=>{
104
+ return runCodemods({
105
+ ...options,
106
+ uid
107
+ });
108
+ });
109
+ // upgrade codemods ls [options]
110
+ codemodsCommand.command('ls').description(`List available codemods`).addOption(projectPathOption).addOption(debugOption).addOption(silentOption).addOption(rangeOption).action(async (options)=>{
111
+ return listCodemods(options);
112
+ });
113
+ };
114
+
115
+ export { listCodemods, register, runCodemods };
116
+ //# sourceMappingURL=codemods.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codemods.mjs","sources":["../../../../src/cli/commands/codemods.ts"],"sourcesContent":["import prompts from 'prompts';\n\nimport type { Command } from 'commander';\nimport { loggerFactory } from '../../modules/logger';\nimport { Version } from '../../modules/version';\nimport { handleError } from '../errors';\nimport * as tasks from '../../tasks';\nimport { debugOption, dryOption, projectPathOption, rangeOption, silentOption } from '../options';\n\nimport type {\n CLIListCodemodsOptions,\n CLIRunCodemodsOptions,\n ListCodemodsCommand,\n RunCodemodsCommand,\n} from '../types';\nimport type { Codemod } from '../../modules/codemod';\n\nconst DEFAULT_TARGET = Version.ReleaseType.Major;\n\nexport const runCodemods: RunCodemodsCommand = async (options) => {\n const { silent, debug } = options;\n const logger = loggerFactory({ silent, debug });\n\n logger.warn(\n \"Please make sure you've created a backup of your codebase and files before running the codemods\"\n );\n\n const confirm = async (message: string) => {\n const { confirm } = await prompts({\n name: 'confirm',\n type: 'confirm',\n message,\n });\n\n // If confirm is undefined (Ctrl + C), default to false\n return confirm ?? false;\n };\n\n const selectCodemods = async (codemods: Codemod.VersionedCollection[]) => {\n const selectableCodemods = codemods\n .map(({ version, codemods }) =>\n codemods.map((codemod) => ({\n title: `(${version}) ${codemod.format()}`,\n value: codemod,\n selected: true,\n }))\n )\n .flat();\n\n if (selectableCodemods.length === 0) {\n logger.info('No codemods to run');\n return [];\n }\n\n const { selectedCodemods }: { selectedCodemods: Codemod.Codemod[] } = await prompts({\n type: 'autocompleteMultiselect',\n name: 'selectedCodemods',\n message: 'Choose the codemods you would like to run:',\n choices: selectableCodemods,\n });\n\n if (!selectedCodemods || selectedCodemods.length === 0) {\n logger.info('No codemods selected');\n return [];\n }\n\n return selectedCodemods.map<Codemod.VersionedCollection>((codemod) => ({\n version: codemod.version,\n codemods: [codemod],\n }));\n };\n\n return tasks\n .runCodemods({\n logger,\n confirm,\n selectCodemods,\n dry: options.dry,\n cwd: options.projectPath,\n target: options.range ?? DEFAULT_TARGET,\n uid: options.uid,\n })\n .catch((err) => handleError(err, options.silent));\n};\n\nexport const listCodemods: ListCodemodsCommand = async (options) => {\n const { silent, debug } = options;\n const logger = loggerFactory({ silent, debug });\n\n return tasks\n .listCodemods({\n cwd: options.projectPath,\n target: options.range ?? DEFAULT_TARGET,\n logger,\n })\n .catch((err) => handleError(err, options.silent));\n};\n\n/**\n * Registers codemods related commands.\n */\nexport const register = (program: Command) => {\n const codemodsCommand = program.command('codemods');\n\n // upgrade codemods run [options] [uid]\n codemodsCommand\n .command('run [uid]')\n .description(\n `\nExecutes a set of codemods on the current project.\n\nIf the optional UID argument is provided, the command specifically runs the codemod associated with that UID.\nWithout the UID, the command produces a list of all available codemods for your project.\n\nBy default, when executed on a Strapi application project, it offers codemods matching the current major version of the app.\nWhen executed on a Strapi plugin project, it shows every codemods.\n`\n )\n .addOption(projectPathOption)\n .addOption(dryOption)\n .addOption(debugOption)\n .addOption(silentOption)\n .addOption(rangeOption)\n .action(async (uid: string | undefined, options: CLIRunCodemodsOptions) => {\n return runCodemods({ ...options, uid });\n });\n\n // upgrade codemods ls [options]\n codemodsCommand\n .command('ls')\n .description(`List available codemods`)\n .addOption(projectPathOption)\n .addOption(debugOption)\n .addOption(silentOption)\n .addOption(rangeOption)\n .action(async (options: CLIListCodemodsOptions) => {\n return listCodemods(options);\n });\n};\n"],"names":["DEFAULT_TARGET","Version","Major","runCodemods","options","silent","debug","logger","loggerFactory","warn","confirm","message","prompts","name","type","selectCodemods","codemods","selectableCodemods","map","version","codemod","title","format","value","selected","flat","length","info","selectedCodemods","choices","tasks","dry","cwd","projectPath","target","range","uid","catch","err","handleError","listCodemods","register","program","codemodsCommand","command","description","addOption","projectPathOption","dryOption","debugOption","silentOption","rangeOption","action"],"mappings":"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"}