@strapi/upgrade 0.0.0-next.d2d15ef227d67cce89c2673764c0555c841cd29c → 0.0.0-next.d5c0fa2c0ecac02fb0014dcdc5fea0ef62c39d0e

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 (263) hide show
  1. package/README.md +1 -1
  2. package/dist/cli.js +13 -1488
  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 -1467
  7. package/dist/index.js.map +1 -1
  8. package/dist/index.mjs +4 -1458
  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/npm/package.d.ts.map +1 -1
  14. package/dist/modules/project/project.d.ts.map +1 -1
  15. package/dist/modules/upgrader/types.d.ts +6 -0
  16. package/dist/modules/upgrader/types.d.ts.map +1 -1
  17. package/dist/modules/upgrader/upgrader.d.ts +4 -0
  18. package/dist/modules/upgrader/upgrader.d.ts.map +1 -1
  19. package/dist/modules/version/range.d.ts.map +1 -1
  20. package/dist/modules/version/types.d.ts +2 -1
  21. package/dist/modules/version/types.d.ts.map +1 -1
  22. package/dist/package.json.js +6 -0
  23. package/dist/package.json.js.map +1 -0
  24. package/dist/package.json.mjs +4 -0
  25. package/dist/package.json.mjs.map +1 -0
  26. package/dist/src/cli/commands/codemods.js +121 -0
  27. package/dist/src/cli/commands/codemods.js.map +1 -0
  28. package/dist/src/cli/commands/codemods.mjs +117 -0
  29. package/dist/src/cli/commands/codemods.mjs.map +1 -0
  30. package/dist/src/cli/commands/upgrade.js +99 -0
  31. package/dist/src/cli/commands/upgrade.js.map +1 -0
  32. package/dist/src/cli/commands/upgrade.mjs +96 -0
  33. package/dist/src/cli/commands/upgrade.mjs.map +1 -0
  34. package/dist/src/cli/errors.js +18 -0
  35. package/dist/src/cli/errors.js.map +1 -0
  36. package/dist/src/cli/errors.mjs +16 -0
  37. package/dist/src/cli/errors.mjs.map +1 -0
  38. package/dist/src/cli/options.js +26 -0
  39. package/dist/src/cli/options.js.map +1 -0
  40. package/dist/src/cli/options.mjs +19 -0
  41. package/dist/src/cli/options.mjs.map +1 -0
  42. package/dist/src/modules/codemod/codemod.js +44 -0
  43. package/dist/src/modules/codemod/codemod.js.map +1 -0
  44. package/dist/src/modules/codemod/codemod.mjs +41 -0
  45. package/dist/src/modules/codemod/codemod.mjs.map +1 -0
  46. package/dist/src/modules/codemod/constants.js +17 -0
  47. package/dist/src/modules/codemod/constants.js.map +1 -0
  48. package/dist/src/modules/codemod/constants.mjs +11 -0
  49. package/dist/src/modules/codemod/constants.mjs.map +1 -0
  50. package/dist/src/modules/codemod/index.js +10 -0
  51. package/dist/src/modules/codemod/index.js.map +1 -0
  52. package/dist/src/modules/codemod/index.mjs +4 -0
  53. package/dist/src/modules/codemod/index.mjs.map +1 -0
  54. package/dist/src/modules/codemod-repository/constants.js +9 -0
  55. package/dist/src/modules/codemod-repository/constants.js.map +1 -0
  56. package/dist/src/modules/codemod-repository/constants.mjs +7 -0
  57. package/dist/src/modules/codemod-repository/constants.mjs.map +1 -0
  58. package/dist/src/modules/codemod-repository/index.js +10 -0
  59. package/dist/src/modules/codemod-repository/index.js.map +1 -0
  60. package/dist/src/modules/codemod-repository/index.mjs +4 -0
  61. package/dist/src/modules/codemod-repository/index.mjs.map +1 -0
  62. package/dist/src/modules/codemod-repository/repository.js +127 -0
  63. package/dist/src/modules/codemod-repository/repository.js.map +1 -0
  64. package/dist/src/modules/codemod-repository/repository.mjs +123 -0
  65. package/dist/src/modules/codemod-repository/repository.mjs.map +1 -0
  66. package/dist/src/modules/codemod-runner/codemod-runner.js +113 -0
  67. package/dist/src/modules/codemod-runner/codemod-runner.js.map +1 -0
  68. package/dist/src/modules/codemod-runner/codemod-runner.mjs +110 -0
  69. package/dist/src/modules/codemod-runner/codemod-runner.mjs.map +1 -0
  70. package/dist/src/modules/error/index.js +11 -0
  71. package/dist/src/modules/error/index.js.map +1 -0
  72. package/dist/src/modules/error/index.mjs +2 -0
  73. package/dist/src/modules/error/index.mjs.map +1 -0
  74. package/dist/src/modules/error/utils.js +33 -0
  75. package/dist/src/modules/error/utils.js.map +1 -0
  76. package/dist/src/modules/error/utils.mjs +28 -0
  77. package/dist/src/modules/error/utils.mjs.map +1 -0
  78. package/dist/src/modules/file-scanner/index.js +8 -0
  79. package/dist/src/modules/file-scanner/index.js.map +1 -0
  80. package/dist/src/modules/file-scanner/index.mjs +2 -0
  81. package/dist/src/modules/file-scanner/index.mjs.map +1 -0
  82. package/dist/src/modules/file-scanner/scanner.js +23 -0
  83. package/dist/src/modules/file-scanner/scanner.js.map +1 -0
  84. package/dist/src/modules/file-scanner/scanner.mjs +20 -0
  85. package/dist/src/modules/file-scanner/scanner.mjs.map +1 -0
  86. package/dist/src/modules/format/formats.js +107 -0
  87. package/dist/src/modules/format/formats.js.map +1 -0
  88. package/dist/src/modules/format/formats.mjs +94 -0
  89. package/dist/src/modules/format/formats.mjs.map +1 -0
  90. package/dist/src/modules/format/index.js +19 -0
  91. package/dist/src/modules/format/index.js.map +1 -0
  92. package/dist/src/modules/format/index.mjs +2 -0
  93. package/dist/src/modules/format/index.mjs.map +1 -0
  94. package/dist/src/modules/index.js +32 -0
  95. package/dist/src/modules/index.js.map +1 -0
  96. package/dist/src/modules/index.mjs +27 -0
  97. package/dist/src/modules/index.mjs.map +1 -0
  98. package/dist/src/modules/json/file.js +16 -0
  99. package/dist/src/modules/json/file.js.map +1 -0
  100. package/dist/src/modules/json/file.mjs +13 -0
  101. package/dist/src/modules/json/file.mjs.map +1 -0
  102. package/dist/src/modules/json/transform-api.js +38 -0
  103. package/dist/src/modules/json/transform-api.js.map +1 -0
  104. package/dist/src/modules/json/transform-api.mjs +35 -0
  105. package/dist/src/modules/json/transform-api.mjs.map +1 -0
  106. package/dist/src/modules/logger/index.js +8 -0
  107. package/dist/src/modules/logger/index.js.map +1 -0
  108. package/dist/src/modules/logger/index.mjs +2 -0
  109. package/dist/src/modules/logger/index.mjs.map +1 -0
  110. package/dist/src/modules/logger/logger.js +76 -0
  111. package/dist/src/modules/logger/logger.js.map +1 -0
  112. package/dist/src/modules/logger/logger.mjs +73 -0
  113. package/dist/src/modules/logger/logger.mjs.map +1 -0
  114. package/dist/src/modules/npm/constants.js +6 -0
  115. package/dist/src/modules/npm/constants.js.map +1 -0
  116. package/dist/src/modules/npm/constants.mjs +4 -0
  117. package/dist/src/modules/npm/constants.mjs.map +1 -0
  118. package/dist/src/modules/npm/package.js +61 -0
  119. package/dist/src/modules/npm/package.js.map +1 -0
  120. package/dist/src/modules/npm/package.mjs +58 -0
  121. package/dist/src/modules/npm/package.mjs.map +1 -0
  122. package/dist/src/modules/project/constants.js +45 -0
  123. package/dist/src/modules/project/constants.js.map +1 -0
  124. package/dist/src/modules/project/constants.mjs +35 -0
  125. package/dist/src/modules/project/constants.mjs.map +1 -0
  126. package/dist/src/modules/project/index.js +15 -0
  127. package/dist/src/modules/project/index.js.map +1 -0
  128. package/dist/src/modules/project/index.mjs +5 -0
  129. package/dist/src/modules/project/index.mjs.map +1 -0
  130. package/dist/src/modules/project/project.js +208 -0
  131. package/dist/src/modules/project/project.js.map +1 -0
  132. package/dist/src/modules/project/project.mjs +203 -0
  133. package/dist/src/modules/project/project.mjs.map +1 -0
  134. package/dist/src/modules/project/utils.js +26 -0
  135. package/dist/src/modules/project/utils.js.map +1 -0
  136. package/dist/src/modules/project/utils.mjs +21 -0
  137. package/dist/src/modules/project/utils.mjs.map +1 -0
  138. package/dist/src/modules/report/index.js +9 -0
  139. package/dist/src/modules/report/index.js.map +1 -0
  140. package/dist/src/modules/report/index.mjs +2 -0
  141. package/dist/src/modules/report/index.mjs.map +1 -0
  142. package/dist/src/modules/report/report.js +13 -0
  143. package/dist/src/modules/report/report.js.map +1 -0
  144. package/dist/src/modules/report/report.mjs +10 -0
  145. package/dist/src/modules/report/report.mjs.map +1 -0
  146. package/dist/src/modules/requirement/index.js +8 -0
  147. package/dist/src/modules/requirement/index.js.map +1 -0
  148. package/dist/src/modules/requirement/index.mjs +2 -0
  149. package/dist/src/modules/requirement/index.mjs.map +1 -0
  150. package/dist/src/modules/requirement/requirement.js +55 -0
  151. package/dist/src/modules/requirement/requirement.js.map +1 -0
  152. package/dist/src/modules/requirement/requirement.mjs +52 -0
  153. package/dist/src/modules/requirement/requirement.mjs.map +1 -0
  154. package/dist/src/modules/runner/code/code.js +21 -0
  155. package/dist/src/modules/runner/code/code.js.map +1 -0
  156. package/dist/src/modules/runner/code/code.mjs +18 -0
  157. package/dist/src/modules/runner/code/code.mjs.map +1 -0
  158. package/dist/src/modules/runner/code/index.js +8 -0
  159. package/dist/src/modules/runner/code/index.js.map +1 -0
  160. package/dist/src/modules/runner/code/index.mjs +2 -0
  161. package/dist/src/modules/runner/code/index.mjs.map +1 -0
  162. package/dist/src/modules/runner/index.js +10 -0
  163. package/dist/src/modules/runner/index.js.map +1 -0
  164. package/dist/src/modules/runner/index.mjs +5 -0
  165. package/dist/src/modules/runner/index.mjs.map +1 -0
  166. package/dist/src/modules/runner/json/index.js +8 -0
  167. package/dist/src/modules/runner/json/index.js.map +1 -0
  168. package/dist/src/modules/runner/json/index.mjs +2 -0
  169. package/dist/src/modules/runner/json/index.mjs.map +1 -0
  170. package/dist/src/modules/runner/json/json.js +21 -0
  171. package/dist/src/modules/runner/json/json.js.map +1 -0
  172. package/dist/src/modules/runner/json/json.mjs +18 -0
  173. package/dist/src/modules/runner/json/json.mjs.map +1 -0
  174. package/dist/src/modules/runner/json/transform.js +85 -0
  175. package/dist/src/modules/runner/json/transform.js.map +1 -0
  176. package/dist/src/modules/runner/json/transform.mjs +83 -0
  177. package/dist/src/modules/runner/json/transform.mjs.map +1 -0
  178. package/dist/src/modules/runner/runner.js +22 -0
  179. package/dist/src/modules/runner/runner.js.map +1 -0
  180. package/dist/src/modules/runner/runner.mjs +20 -0
  181. package/dist/src/modules/runner/runner.mjs.map +1 -0
  182. package/dist/src/modules/timer/constants.js +6 -0
  183. package/dist/src/modules/timer/constants.js.map +1 -0
  184. package/dist/src/modules/timer/constants.mjs +4 -0
  185. package/dist/src/modules/timer/constants.mjs.map +1 -0
  186. package/dist/src/modules/timer/index.js +10 -0
  187. package/dist/src/modules/timer/index.js.map +1 -0
  188. package/dist/src/modules/timer/index.mjs +4 -0
  189. package/dist/src/modules/timer/index.mjs.map +1 -0
  190. package/dist/src/modules/timer/timer.js +33 -0
  191. package/dist/src/modules/timer/timer.js.map +1 -0
  192. package/dist/src/modules/timer/timer.mjs +30 -0
  193. package/dist/src/modules/timer/timer.mjs.map +1 -0
  194. package/dist/src/modules/upgrader/constants.js +6 -0
  195. package/dist/src/modules/upgrader/constants.js.map +1 -0
  196. package/dist/src/modules/upgrader/constants.mjs +4 -0
  197. package/dist/src/modules/upgrader/constants.mjs.map +1 -0
  198. package/dist/src/modules/upgrader/index.js +10 -0
  199. package/dist/src/modules/upgrader/index.js.map +1 -0
  200. package/dist/src/modules/upgrader/index.mjs +4 -0
  201. package/dist/src/modules/upgrader/index.mjs.map +1 -0
  202. package/dist/src/modules/upgrader/upgrader.js +266 -0
  203. package/dist/src/modules/upgrader/upgrader.js.map +1 -0
  204. package/dist/src/modules/upgrader/upgrader.mjs +263 -0
  205. package/dist/src/modules/upgrader/upgrader.mjs.map +1 -0
  206. package/dist/src/modules/version/index.js +20 -0
  207. package/dist/src/modules/version/index.js.map +1 -0
  208. package/dist/src/modules/version/index.mjs +5 -0
  209. package/dist/src/modules/version/index.mjs.map +1 -0
  210. package/dist/src/modules/version/range.js +81 -0
  211. package/dist/src/modules/version/range.js.map +1 -0
  212. package/dist/src/modules/version/range.mjs +75 -0
  213. package/dist/src/modules/version/range.mjs.map +1 -0
  214. package/dist/src/modules/version/semver.js +26 -0
  215. package/dist/src/modules/version/semver.js.map +1 -0
  216. package/dist/src/modules/version/semver.mjs +20 -0
  217. package/dist/src/modules/version/semver.mjs.map +1 -0
  218. package/dist/src/modules/version/types.js +12 -0
  219. package/dist/src/modules/version/types.js.map +1 -0
  220. package/dist/src/modules/version/types.mjs +12 -0
  221. package/dist/src/modules/version/types.mjs.map +1 -0
  222. package/dist/src/tasks/codemods/list-codemods.js +40 -0
  223. package/dist/src/tasks/codemods/list-codemods.js.map +1 -0
  224. package/dist/src/tasks/codemods/list-codemods.mjs +38 -0
  225. package/dist/src/tasks/codemods/list-codemods.mjs.map +1 -0
  226. package/dist/src/tasks/codemods/run-codemods.js +36 -0
  227. package/dist/src/tasks/codemods/run-codemods.js.map +1 -0
  228. package/dist/src/tasks/codemods/run-codemods.mjs +34 -0
  229. package/dist/src/tasks/codemods/run-codemods.mjs.map +1 -0
  230. package/dist/src/tasks/codemods/utils.js +54 -0
  231. package/dist/src/tasks/codemods/utils.js.map +1 -0
  232. package/dist/src/tasks/codemods/utils.mjs +50 -0
  233. package/dist/src/tasks/codemods/utils.mjs.map +1 -0
  234. package/dist/src/tasks/index.js +15 -0
  235. package/dist/src/tasks/index.js.map +1 -0
  236. package/dist/src/tasks/index.mjs +7 -0
  237. package/dist/src/tasks/index.mjs.map +1 -0
  238. package/dist/src/tasks/upgrade/prompts/latest.js +48 -0
  239. package/dist/src/tasks/upgrade/prompts/latest.js.map +1 -0
  240. package/dist/src/tasks/upgrade/prompts/latest.mjs +46 -0
  241. package/dist/src/tasks/upgrade/prompts/latest.mjs.map +1 -0
  242. package/dist/src/tasks/upgrade/requirements/common.js +40 -0
  243. package/dist/src/tasks/upgrade/requirements/common.js.map +1 -0
  244. package/dist/src/tasks/upgrade/requirements/common.mjs +35 -0
  245. package/dist/src/tasks/upgrade/requirements/common.mjs.map +1 -0
  246. package/dist/src/tasks/upgrade/requirements/major.js +29 -0
  247. package/dist/src/tasks/upgrade/requirements/major.js.map +1 -0
  248. package/dist/src/tasks/upgrade/requirements/major.mjs +26 -0
  249. package/dist/src/tasks/upgrade/requirements/major.mjs.map +1 -0
  250. package/dist/src/tasks/upgrade/upgrade.js +69 -0
  251. package/dist/src/tasks/upgrade/upgrade.js.map +1 -0
  252. package/dist/src/tasks/upgrade/upgrade.mjs +67 -0
  253. package/dist/src/tasks/upgrade/upgrade.mjs.map +1 -0
  254. package/dist/tasks/codemods/utils.d.ts.map +1 -1
  255. package/dist/tasks/upgrade/prompts/index.d.ts +2 -0
  256. package/dist/tasks/upgrade/prompts/index.d.ts.map +1 -0
  257. package/dist/tasks/upgrade/prompts/latest.d.ts +9 -0
  258. package/dist/tasks/upgrade/prompts/latest.d.ts.map +1 -0
  259. package/dist/tasks/upgrade/requirements/major.d.ts.map +1 -1
  260. package/dist/tasks/upgrade/upgrade.d.ts.map +1 -1
  261. package/package.json +14 -13
  262. package/resources/codemods/5.0.0/sqlite3-to-better-sqlite3.json.ts +0 -1
  263. package/resources/codemods/5.1.0/dependency-better-sqlite3.json.ts +48 -0
@@ -0,0 +1,26 @@
1
+ import { requirementFactory } from '../../../modules/requirement/requirement.mjs';
2
+ import { semVerFactory } from '../../../modules/version/semver.mjs';
3
+ import 'semver';
4
+ import '../../../modules/version/types.mjs';
5
+
6
+ const REQUIRE_AVAILABLE_NEXT_MAJOR = requirementFactory('REQUIRE_AVAILABLE_NEXT_MAJOR', (context)=>{
7
+ const { project, target } = context;
8
+ const currentMajor = project.strapiVersion.major;
9
+ const targetedMajor = target.major;
10
+ if (targetedMajor === currentMajor) {
11
+ throw new Error(`You're already on the latest major version (v${currentMajor})`);
12
+ }
13
+ });
14
+ const REQUIRE_LATEST_FOR_CURRENT_MAJOR = requirementFactory('REQUIRE_LATEST_FOR_CURRENT_MAJOR', (context)=>{
15
+ const { project, target, npmVersionsMatches } = context;
16
+ const { major: currentMajor } = project.strapiVersion;
17
+ const invalidMatches = npmVersionsMatches.filter((match)=>semVerFactory(match.version).major === currentMajor);
18
+ if (invalidMatches.length > 0) {
19
+ const invalidVersions = invalidMatches.map((match)=>match.version);
20
+ const invalidVersionsCount = invalidVersions.length;
21
+ throw new Error(`Doing a major upgrade requires to be on the latest v${currentMajor} version, but found ${invalidVersionsCount} versions between the current one and ${target}. Please upgrade to ${invalidVersions.at(-1)} and try again.`);
22
+ }
23
+ });
24
+
25
+ export { REQUIRE_AVAILABLE_NEXT_MAJOR, REQUIRE_LATEST_FOR_CURRENT_MAJOR };
26
+ //# sourceMappingURL=major.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"major.mjs","sources":["../../../../../src/tasks/upgrade/requirements/major.ts"],"sourcesContent":["import { requirementFactory } from '../../../modules/requirement';\nimport { semVerFactory } from '../../../modules/version';\n\nexport const REQUIRE_AVAILABLE_NEXT_MAJOR = requirementFactory(\n 'REQUIRE_AVAILABLE_NEXT_MAJOR',\n (context) => {\n const { project, target } = context;\n\n const currentMajor = project.strapiVersion.major;\n const targetedMajor = target.major;\n\n if (targetedMajor === currentMajor) {\n throw new Error(`You're already on the latest major version (v${currentMajor})`);\n }\n }\n);\n\nexport const REQUIRE_LATEST_FOR_CURRENT_MAJOR = requirementFactory(\n 'REQUIRE_LATEST_FOR_CURRENT_MAJOR',\n (context) => {\n const { project, target, npmVersionsMatches } = context;\n const { major: currentMajor } = project.strapiVersion;\n\n const invalidMatches = npmVersionsMatches.filter(\n (match) => semVerFactory(match.version).major === currentMajor\n );\n\n if (invalidMatches.length > 0) {\n const invalidVersions = invalidMatches.map((match) => match.version);\n const invalidVersionsCount = invalidVersions.length;\n\n throw new Error(\n `Doing a major upgrade requires to be on the latest v${currentMajor} version, but found ${invalidVersionsCount} versions between the current one and ${target}. Please upgrade to ${invalidVersions.at(-1)} and try again.`\n );\n }\n }\n);\n"],"names":["REQUIRE_AVAILABLE_NEXT_MAJOR","requirementFactory","context","project","target","currentMajor","strapiVersion","major","targetedMajor","Error","REQUIRE_LATEST_FOR_CURRENT_MAJOR","npmVersionsMatches","invalidMatches","filter","match","semVerFactory","version","length","invalidVersions","map","invalidVersionsCount","at"],"mappings":";;;;;AAGaA,MAAAA,4BAAAA,GAA+BC,kBAC1C,CAAA,8BAAA,EACA,CAACC,OAAAA,GAAAA;AACC,IAAA,MAAM,EAAEC,OAAO,EAAEC,MAAM,EAAE,GAAGF,OAAAA;AAE5B,IAAA,MAAMG,YAAeF,GAAAA,OAAAA,CAAQG,aAAa,CAACC,KAAK;IAChD,MAAMC,aAAAA,GAAgBJ,OAAOG,KAAK;AAElC,IAAA,IAAIC,kBAAkBH,YAAc,EAAA;AAClC,QAAA,MAAM,IAAII,KAAM,CAAA,CAAC,6CAA6C,EAAEJ,YAAAA,CAAa,CAAC,CAAC,CAAA;AACjF;AACF,CACA;AAEWK,MAAAA,gCAAAA,GAAmCT,kBAC9C,CAAA,kCAAA,EACA,CAACC,OAAAA,GAAAA;AACC,IAAA,MAAM,EAAEC,OAAO,EAAEC,MAAM,EAAEO,kBAAkB,EAAE,GAAGT,OAAAA;AAChD,IAAA,MAAM,EAAEK,KAAOF,EAAAA,YAAY,EAAE,GAAGF,QAAQG,aAAa;IAErD,MAAMM,cAAAA,GAAiBD,kBAAmBE,CAAAA,MAAM,CAC9C,CAACC,KAAUC,GAAAA,aAAAA,CAAcD,KAAME,CAAAA,OAAO,CAAET,CAAAA,KAAK,KAAKF,YAAAA,CAAAA;IAGpD,IAAIO,cAAAA,CAAeK,MAAM,GAAG,CAAG,EAAA;AAC7B,QAAA,MAAMC,kBAAkBN,cAAeO,CAAAA,GAAG,CAAC,CAACL,KAAAA,GAAUA,MAAME,OAAO,CAAA;QACnE,MAAMI,oBAAAA,GAAuBF,gBAAgBD,MAAM;QAEnD,MAAM,IAAIR,MACR,CAAC,oDAAoD,EAAEJ,YAAa,CAAA,oBAAoB,EAAEe,oBAAqB,CAAA,sCAAsC,EAAEhB,MAAO,CAAA,oBAAoB,EAAEc,eAAgBG,CAAAA,EAAE,CAAC,CAAC,CAAA,CAAA,CAAG,eAAe,CAAC,CAAA;AAE/N;AACF,CACA;;;;"}
@@ -0,0 +1,69 @@
1
+ 'use strict';
2
+
3
+ var path = require('node:path');
4
+ var formats = require('../../modules/format/formats.js');
5
+ var _package = require('../../modules/npm/package.js');
6
+ var project = require('../../modules/project/project.js');
7
+ require('../../modules/project/constants.js');
8
+ var utils = require('../../modules/project/utils.js');
9
+ var timer = require('../../modules/timer/timer.js');
10
+ var upgrader = require('../../modules/upgrader/upgrader.js');
11
+ var constants = require('../../modules/upgrader/constants.js');
12
+ require('semver');
13
+ var types = require('../../modules/version/types.js');
14
+ var major = require('./requirements/major.js');
15
+ var common = require('./requirements/common.js');
16
+ var latest = require('./prompts/latest.js');
17
+
18
+ const upgrade = async (options)=>{
19
+ const timer$1 = timer.timerFactory();
20
+ const { logger, codemodsTarget } = options;
21
+ // Resolves the correct working directory based on the given input
22
+ const cwd = path.resolve(options.cwd ?? process.cwd());
23
+ const project$1 = project.projectFactory(cwd);
24
+ logger.debug(formats.projectDetails(project$1));
25
+ if (!utils.isApplicationProject(project$1)) {
26
+ throw new Error(`The "${options.target}" upgrade can only be run on a Strapi project; for plugins, please use "codemods".`);
27
+ }
28
+ logger.debug(`Application: VERSION=${formats.version(project$1.packageJSON.version)}; STRAPI_VERSION=${formats.version(project$1.strapiVersion)}`);
29
+ const npmPackage = _package.npmPackageFactory(constants.STRAPI_PACKAGE_NAME);
30
+ // Load all available versions from the NPM registry
31
+ await npmPackage.refresh();
32
+ // Initialize the upgrade instance
33
+ // Throws during initialization if the provided target is incompatible with the current version
34
+ const upgrader$1 = upgrader.upgraderFactory(project$1, options.target, npmPackage).dry(options.dry ?? false).onConfirm(options.confirm ?? null).setLogger(logger);
35
+ // Manually override the target version for codemods if it's explicitly provided
36
+ if (codemodsTarget !== undefined) {
37
+ upgrader$1.overrideCodemodsTarget(codemodsTarget);
38
+ }
39
+ // Prompt user for confirmation details before upgrading
40
+ await runUpgradePrompts(upgrader$1, options);
41
+ // Add specific requirements before upgrading
42
+ addUpgradeRequirements(upgrader$1, options);
43
+ // Actually run the upgrade process once configured,
44
+ // The response contains information about the final status: success/error
45
+ const upgradeReport = await upgrader$1.upgrade();
46
+ if (!upgradeReport.success) {
47
+ throw upgradeReport.error;
48
+ }
49
+ timer$1.stop();
50
+ logger.info(`Completed in ${formats.durationMs(timer$1.elapsedMs)}ms`);
51
+ };
52
+ const runUpgradePrompts = async (upgrader, options)=>{
53
+ if (options.target === types.ReleaseType.Latest) {
54
+ await latest.latest(upgrader, options);
55
+ }
56
+ };
57
+ const addUpgradeRequirements = (upgrader, options)=>{
58
+ // Don't add the same requirements when manually targeting a major upgrade
59
+ // using a semver as it's implied that the users know what they're doing
60
+ if (options.target === types.ReleaseType.Major) {
61
+ upgrader.addRequirement(major.REQUIRE_AVAILABLE_NEXT_MAJOR).addRequirement(major.REQUIRE_LATEST_FOR_CURRENT_MAJOR);
62
+ }
63
+ // Make sure the git repository is in an optimal state before running the upgrade
64
+ // Mainly used to ease rollbacks in case the upgrade is corrupted
65
+ upgrader.addRequirement(common.REQUIRE_GIT.asOptional());
66
+ };
67
+
68
+ exports.upgrade = upgrade;
69
+ //# sourceMappingURL=upgrade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade.js","sources":["../../../../src/tasks/upgrade/upgrade.ts"],"sourcesContent":["import path from 'node:path';\n\nimport * as f from '../../modules/format';\nimport { npmPackageFactory } from '../../modules/npm';\nimport { isApplicationProject, projectFactory } from '../../modules/project';\nimport { timerFactory } from '../../modules/timer';\nimport { constants as upgraderConstants, upgraderFactory } from '../../modules/upgrader';\nimport { Version } from '../../modules/version';\n\nimport * as requirements from './requirements';\nimport * as prompts from './prompts';\n\nimport type { UpgradeOptions } from './types';\nimport type { Upgrader } from '../../modules/upgrader';\n\nexport const upgrade = async (options: UpgradeOptions) => {\n const timer = timerFactory();\n const { logger, codemodsTarget } = options;\n\n // Resolves the correct working directory based on the given input\n const cwd = path.resolve(options.cwd ?? process.cwd());\n\n const project = projectFactory(cwd);\n\n logger.debug(f.projectDetails(project));\n\n if (!isApplicationProject(project)) {\n throw new Error(\n `The \"${options.target}\" upgrade can only be run on a Strapi project; for plugins, please use \"codemods\".`\n );\n }\n\n logger.debug(\n `Application: VERSION=${f.version(project.packageJSON.version as Version.LiteralVersion)}; STRAPI_VERSION=${f.version(project.strapiVersion)}`\n );\n\n const npmPackage = npmPackageFactory(upgraderConstants.STRAPI_PACKAGE_NAME);\n\n // Load all available versions from the NPM registry\n await npmPackage.refresh();\n\n // Initialize the upgrade instance\n // Throws during initialization if the provided target is incompatible with the current version\n const upgrader = upgraderFactory(project, options.target, npmPackage)\n .dry(options.dry ?? false)\n .onConfirm(options.confirm ?? null)\n .setLogger(logger);\n\n // Manually override the target version for codemods if it's explicitly provided\n if (codemodsTarget !== undefined) {\n upgrader.overrideCodemodsTarget(codemodsTarget);\n }\n\n // Prompt user for confirmation details before upgrading\n await runUpgradePrompts(upgrader, options);\n\n // Add specific requirements before upgrading\n addUpgradeRequirements(upgrader, options);\n\n // Actually run the upgrade process once configured,\n // The response contains information about the final status: success/error\n const upgradeReport = await upgrader.upgrade();\n\n if (!upgradeReport.success) {\n throw upgradeReport.error;\n }\n\n timer.stop();\n\n logger.info(`Completed in ${f.durationMs(timer.elapsedMs)}ms`);\n};\n\nconst runUpgradePrompts = async (upgrader: Upgrader, options: UpgradeOptions) => {\n if (options.target === Version.ReleaseType.Latest) {\n await prompts.latest(upgrader, options);\n }\n};\n\nconst addUpgradeRequirements = (upgrader: Upgrader, options: UpgradeOptions): void => {\n // Don't add the same requirements when manually targeting a major upgrade\n // using a semver as it's implied that the users know what they're doing\n if (options.target === Version.ReleaseType.Major) {\n upgrader\n .addRequirement(requirements.major.REQUIRE_AVAILABLE_NEXT_MAJOR)\n .addRequirement(requirements.major.REQUIRE_LATEST_FOR_CURRENT_MAJOR);\n }\n\n // Make sure the git repository is in an optimal state before running the upgrade\n // Mainly used to ease rollbacks in case the upgrade is corrupted\n upgrader.addRequirement(requirements.common.REQUIRE_GIT.asOptional());\n};\n"],"names":["upgrade","options","timer","timerFactory","logger","codemodsTarget","cwd","path","resolve","process","project","projectFactory","debug","f","isApplicationProject","Error","target","packageJSON","version","strapiVersion","npmPackage","npmPackageFactory","upgraderConstants","refresh","upgrader","upgraderFactory","dry","onConfirm","confirm","setLogger","undefined","overrideCodemodsTarget","runUpgradePrompts","addUpgradeRequirements","upgradeReport","success","error","stop","info","elapsedMs","Version","Latest","prompts","Major","addRequirement","requirements","asOptional"],"mappings":";;;;;;;;;;;;;;;;;AAeO,MAAMA,UAAU,OAAOC,OAAAA,GAAAA;AAC5B,IAAA,MAAMC,OAAQC,GAAAA,kBAAAA,EAAAA;AACd,IAAA,MAAM,EAAEC,MAAM,EAAEC,cAAc,EAAE,GAAGJ,OAAAA;;IAGnC,MAAMK,GAAAA,GAAMC,KAAKC,OAAO,CAACP,QAAQK,GAAG,IAAIG,QAAQH,GAAG,EAAA,CAAA;AAEnD,IAAA,MAAMI,YAAUC,sBAAeL,CAAAA,GAAAA,CAAAA;AAE/BF,IAAAA,MAAAA,CAAOQ,KAAK,CAACC,sBAAgB,CAACH,SAAAA,CAAAA,CAAAA;IAE9B,IAAI,CAACI,2BAAqBJ,SAAU,CAAA,EAAA;QAClC,MAAM,IAAIK,MACR,CAAC,KAAK,EAAEd,OAAQe,CAAAA,MAAM,CAAC,kFAAkF,CAAC,CAAA;AAE9G;IAEAZ,MAAOQ,CAAAA,KAAK,CACV,CAAC,qBAAqB,EAAEC,eAAS,CAACH,SAAQO,CAAAA,WAAW,CAACC,OAAO,CAAA,CAA4B,iBAAiB,EAAEL,eAAS,CAACH,SAAAA,CAAQS,aAAa,CAAA,CAAE,CAAC,CAAA;IAGhJ,MAAMC,UAAAA,GAAaC,0BAAkBC,CAAAA,6BAAqC,CAAA;;AAG1E,IAAA,MAAMF,WAAWG,OAAO,EAAA;;;IAIxB,MAAMC,UAAAA,GAAWC,yBAAgBf,SAAST,EAAAA,OAAAA,CAAQe,MAAM,EAAEI,UAAAA,CAAAA,CACvDM,GAAG,CAACzB,OAAAA,CAAQyB,GAAG,IAAI,KAAA,CAAA,CACnBC,SAAS,CAAC1B,OAAAA,CAAQ2B,OAAO,IAAI,IAAA,CAAA,CAC7BC,SAAS,CAACzB,MAAAA,CAAAA;;AAGb,IAAA,IAAIC,mBAAmByB,SAAW,EAAA;AAChCN,QAAAA,UAAAA,CAASO,sBAAsB,CAAC1B,cAAAA,CAAAA;AAClC;;AAGA,IAAA,MAAM2B,kBAAkBR,UAAUvB,EAAAA,OAAAA,CAAAA;;AAGlCgC,IAAAA,sBAAAA,CAAuBT,UAAUvB,EAAAA,OAAAA,CAAAA;;;IAIjC,MAAMiC,aAAAA,GAAgB,MAAMV,UAAAA,CAASxB,OAAO,EAAA;IAE5C,IAAI,CAACkC,aAAcC,CAAAA,OAAO,EAAE;AAC1B,QAAA,MAAMD,cAAcE,KAAK;AAC3B;AAEAlC,IAAAA,OAAAA,CAAMmC,IAAI,EAAA;AAEVjC,IAAAA,MAAAA,CAAOkC,IAAI,CAAC,CAAC,aAAa,EAAEzB,kBAAY,CAACX,OAAMqC,CAAAA,SAAS,CAAE,CAAA,EAAE,CAAC,CAAA;AAC/D;AAEA,MAAMP,iBAAAA,GAAoB,OAAOR,QAAoBvB,EAAAA,OAAAA,GAAAA;AACnD,IAAA,IAAIA,QAAQe,MAAM,KAAKwB,iBAAmB,CAACC,MAAM,EAAE;QACjD,MAAMC,aAAc,CAAClB,QAAUvB,EAAAA,OAAAA,CAAAA;AACjC;AACF,CAAA;AAEA,MAAMgC,sBAAAA,GAAyB,CAACT,QAAoBvB,EAAAA,OAAAA,GAAAA;;;AAGlD,IAAA,IAAIA,QAAQe,MAAM,KAAKwB,iBAAmB,CAACG,KAAK,EAAE;AAChDnB,QAAAA,QAAAA,CACGoB,cAAc,CAACC,kCAA+C,CAC9DD,CAAAA,cAAc,CAACC,sCAAmD,CAAA;AACvE;;;AAIArB,IAAAA,QAAAA,CAASoB,cAAc,CAACC,kBAA+B,CAACC,UAAU,EAAA,CAAA;AACpE,CAAA;;;;"}
@@ -0,0 +1,67 @@
1
+ import path from 'node:path';
2
+ import { projectDetails, version, durationMs } from '../../modules/format/formats.mjs';
3
+ import { npmPackageFactory } from '../../modules/npm/package.mjs';
4
+ import { projectFactory } from '../../modules/project/project.mjs';
5
+ import '../../modules/project/constants.mjs';
6
+ import { isApplicationProject } from '../../modules/project/utils.mjs';
7
+ import { timerFactory } from '../../modules/timer/timer.mjs';
8
+ import { upgraderFactory } from '../../modules/upgrader/upgrader.mjs';
9
+ import { STRAPI_PACKAGE_NAME } from '../../modules/upgrader/constants.mjs';
10
+ import 'semver';
11
+ import { ReleaseType } from '../../modules/version/types.mjs';
12
+ import { REQUIRE_AVAILABLE_NEXT_MAJOR, REQUIRE_LATEST_FOR_CURRENT_MAJOR } from './requirements/major.mjs';
13
+ import { REQUIRE_GIT } from './requirements/common.mjs';
14
+ import { latest } from './prompts/latest.mjs';
15
+
16
+ const upgrade = async (options)=>{
17
+ const timer = timerFactory();
18
+ const { logger, codemodsTarget } = options;
19
+ // Resolves the correct working directory based on the given input
20
+ const cwd = path.resolve(options.cwd ?? process.cwd());
21
+ const project = projectFactory(cwd);
22
+ logger.debug(projectDetails(project));
23
+ if (!isApplicationProject(project)) {
24
+ throw new Error(`The "${options.target}" upgrade can only be run on a Strapi project; for plugins, please use "codemods".`);
25
+ }
26
+ logger.debug(`Application: VERSION=${version(project.packageJSON.version)}; STRAPI_VERSION=${version(project.strapiVersion)}`);
27
+ const npmPackage = npmPackageFactory(STRAPI_PACKAGE_NAME);
28
+ // Load all available versions from the NPM registry
29
+ await npmPackage.refresh();
30
+ // Initialize the upgrade instance
31
+ // Throws during initialization if the provided target is incompatible with the current version
32
+ const upgrader = upgraderFactory(project, options.target, npmPackage).dry(options.dry ?? false).onConfirm(options.confirm ?? null).setLogger(logger);
33
+ // Manually override the target version for codemods if it's explicitly provided
34
+ if (codemodsTarget !== undefined) {
35
+ upgrader.overrideCodemodsTarget(codemodsTarget);
36
+ }
37
+ // Prompt user for confirmation details before upgrading
38
+ await runUpgradePrompts(upgrader, options);
39
+ // Add specific requirements before upgrading
40
+ addUpgradeRequirements(upgrader, options);
41
+ // Actually run the upgrade process once configured,
42
+ // The response contains information about the final status: success/error
43
+ const upgradeReport = await upgrader.upgrade();
44
+ if (!upgradeReport.success) {
45
+ throw upgradeReport.error;
46
+ }
47
+ timer.stop();
48
+ logger.info(`Completed in ${durationMs(timer.elapsedMs)}ms`);
49
+ };
50
+ const runUpgradePrompts = async (upgrader, options)=>{
51
+ if (options.target === ReleaseType.Latest) {
52
+ await latest(upgrader, options);
53
+ }
54
+ };
55
+ const addUpgradeRequirements = (upgrader, options)=>{
56
+ // Don't add the same requirements when manually targeting a major upgrade
57
+ // using a semver as it's implied that the users know what they're doing
58
+ if (options.target === ReleaseType.Major) {
59
+ upgrader.addRequirement(REQUIRE_AVAILABLE_NEXT_MAJOR).addRequirement(REQUIRE_LATEST_FOR_CURRENT_MAJOR);
60
+ }
61
+ // Make sure the git repository is in an optimal state before running the upgrade
62
+ // Mainly used to ease rollbacks in case the upgrade is corrupted
63
+ upgrader.addRequirement(REQUIRE_GIT.asOptional());
64
+ };
65
+
66
+ export { upgrade };
67
+ //# sourceMappingURL=upgrade.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade.mjs","sources":["../../../../src/tasks/upgrade/upgrade.ts"],"sourcesContent":["import path from 'node:path';\n\nimport * as f from '../../modules/format';\nimport { npmPackageFactory } from '../../modules/npm';\nimport { isApplicationProject, projectFactory } from '../../modules/project';\nimport { timerFactory } from '../../modules/timer';\nimport { constants as upgraderConstants, upgraderFactory } from '../../modules/upgrader';\nimport { Version } from '../../modules/version';\n\nimport * as requirements from './requirements';\nimport * as prompts from './prompts';\n\nimport type { UpgradeOptions } from './types';\nimport type { Upgrader } from '../../modules/upgrader';\n\nexport const upgrade = async (options: UpgradeOptions) => {\n const timer = timerFactory();\n const { logger, codemodsTarget } = options;\n\n // Resolves the correct working directory based on the given input\n const cwd = path.resolve(options.cwd ?? process.cwd());\n\n const project = projectFactory(cwd);\n\n logger.debug(f.projectDetails(project));\n\n if (!isApplicationProject(project)) {\n throw new Error(\n `The \"${options.target}\" upgrade can only be run on a Strapi project; for plugins, please use \"codemods\".`\n );\n }\n\n logger.debug(\n `Application: VERSION=${f.version(project.packageJSON.version as Version.LiteralVersion)}; STRAPI_VERSION=${f.version(project.strapiVersion)}`\n );\n\n const npmPackage = npmPackageFactory(upgraderConstants.STRAPI_PACKAGE_NAME);\n\n // Load all available versions from the NPM registry\n await npmPackage.refresh();\n\n // Initialize the upgrade instance\n // Throws during initialization if the provided target is incompatible with the current version\n const upgrader = upgraderFactory(project, options.target, npmPackage)\n .dry(options.dry ?? false)\n .onConfirm(options.confirm ?? null)\n .setLogger(logger);\n\n // Manually override the target version for codemods if it's explicitly provided\n if (codemodsTarget !== undefined) {\n upgrader.overrideCodemodsTarget(codemodsTarget);\n }\n\n // Prompt user for confirmation details before upgrading\n await runUpgradePrompts(upgrader, options);\n\n // Add specific requirements before upgrading\n addUpgradeRequirements(upgrader, options);\n\n // Actually run the upgrade process once configured,\n // The response contains information about the final status: success/error\n const upgradeReport = await upgrader.upgrade();\n\n if (!upgradeReport.success) {\n throw upgradeReport.error;\n }\n\n timer.stop();\n\n logger.info(`Completed in ${f.durationMs(timer.elapsedMs)}ms`);\n};\n\nconst runUpgradePrompts = async (upgrader: Upgrader, options: UpgradeOptions) => {\n if (options.target === Version.ReleaseType.Latest) {\n await prompts.latest(upgrader, options);\n }\n};\n\nconst addUpgradeRequirements = (upgrader: Upgrader, options: UpgradeOptions): void => {\n // Don't add the same requirements when manually targeting a major upgrade\n // using a semver as it's implied that the users know what they're doing\n if (options.target === Version.ReleaseType.Major) {\n upgrader\n .addRequirement(requirements.major.REQUIRE_AVAILABLE_NEXT_MAJOR)\n .addRequirement(requirements.major.REQUIRE_LATEST_FOR_CURRENT_MAJOR);\n }\n\n // Make sure the git repository is in an optimal state before running the upgrade\n // Mainly used to ease rollbacks in case the upgrade is corrupted\n upgrader.addRequirement(requirements.common.REQUIRE_GIT.asOptional());\n};\n"],"names":["upgrade","options","timer","timerFactory","logger","codemodsTarget","cwd","path","resolve","process","project","projectFactory","debug","f","isApplicationProject","Error","target","packageJSON","version","strapiVersion","npmPackage","npmPackageFactory","upgraderConstants","refresh","upgrader","upgraderFactory","dry","onConfirm","confirm","setLogger","undefined","overrideCodemodsTarget","runUpgradePrompts","addUpgradeRequirements","upgradeReport","success","error","stop","info","elapsedMs","Version","Latest","prompts","Major","addRequirement","requirements","asOptional"],"mappings":";;;;;;;;;;;;;;;AAeO,MAAMA,UAAU,OAAOC,OAAAA,GAAAA;AAC5B,IAAA,MAAMC,KAAQC,GAAAA,YAAAA,EAAAA;AACd,IAAA,MAAM,EAAEC,MAAM,EAAEC,cAAc,EAAE,GAAGJ,OAAAA;;IAGnC,MAAMK,GAAAA,GAAMC,KAAKC,OAAO,CAACP,QAAQK,GAAG,IAAIG,QAAQH,GAAG,EAAA,CAAA;AAEnD,IAAA,MAAMI,UAAUC,cAAeL,CAAAA,GAAAA,CAAAA;AAE/BF,IAAAA,MAAAA,CAAOQ,KAAK,CAACC,cAAgB,CAACH,OAAAA,CAAAA,CAAAA;IAE9B,IAAI,CAACI,qBAAqBJ,OAAU,CAAA,EAAA;QAClC,MAAM,IAAIK,MACR,CAAC,KAAK,EAAEd,OAAQe,CAAAA,MAAM,CAAC,kFAAkF,CAAC,CAAA;AAE9G;IAEAZ,MAAOQ,CAAAA,KAAK,CACV,CAAC,qBAAqB,EAAEC,OAAS,CAACH,OAAQO,CAAAA,WAAW,CAACC,OAAO,CAAA,CAA4B,iBAAiB,EAAEL,OAAS,CAACH,OAAAA,CAAQS,aAAa,CAAA,CAAE,CAAC,CAAA;IAGhJ,MAAMC,UAAAA,GAAaC,iBAAkBC,CAAAA,mBAAqC,CAAA;;AAG1E,IAAA,MAAMF,WAAWG,OAAO,EAAA;;;IAIxB,MAAMC,QAAAA,GAAWC,gBAAgBf,OAAST,EAAAA,OAAAA,CAAQe,MAAM,EAAEI,UAAAA,CAAAA,CACvDM,GAAG,CAACzB,OAAAA,CAAQyB,GAAG,IAAI,KAAA,CAAA,CACnBC,SAAS,CAAC1B,OAAAA,CAAQ2B,OAAO,IAAI,IAAA,CAAA,CAC7BC,SAAS,CAACzB,MAAAA,CAAAA;;AAGb,IAAA,IAAIC,mBAAmByB,SAAW,EAAA;AAChCN,QAAAA,QAAAA,CAASO,sBAAsB,CAAC1B,cAAAA,CAAAA;AAClC;;AAGA,IAAA,MAAM2B,kBAAkBR,QAAUvB,EAAAA,OAAAA,CAAAA;;AAGlCgC,IAAAA,sBAAAA,CAAuBT,QAAUvB,EAAAA,OAAAA,CAAAA;;;IAIjC,MAAMiC,aAAAA,GAAgB,MAAMV,QAAAA,CAASxB,OAAO,EAAA;IAE5C,IAAI,CAACkC,aAAcC,CAAAA,OAAO,EAAE;AAC1B,QAAA,MAAMD,cAAcE,KAAK;AAC3B;AAEAlC,IAAAA,KAAAA,CAAMmC,IAAI,EAAA;AAEVjC,IAAAA,MAAAA,CAAOkC,IAAI,CAAC,CAAC,aAAa,EAAEzB,UAAY,CAACX,KAAMqC,CAAAA,SAAS,CAAE,CAAA,EAAE,CAAC,CAAA;AAC/D;AAEA,MAAMP,iBAAAA,GAAoB,OAAOR,QAAoBvB,EAAAA,OAAAA,GAAAA;AACnD,IAAA,IAAIA,QAAQe,MAAM,KAAKwB,WAAmB,CAACC,MAAM,EAAE;QACjD,MAAMC,MAAc,CAAClB,QAAUvB,EAAAA,OAAAA,CAAAA;AACjC;AACF,CAAA;AAEA,MAAMgC,sBAAAA,GAAyB,CAACT,QAAoBvB,EAAAA,OAAAA,GAAAA;;;AAGlD,IAAA,IAAIA,QAAQe,MAAM,KAAKwB,WAAmB,CAACG,KAAK,EAAE;AAChDnB,QAAAA,QAAAA,CACGoB,cAAc,CAACC,4BAA+C,CAC9DD,CAAAA,cAAc,CAACC,gCAAmD,CAAA;AACvE;;;AAIArB,IAAAA,QAAAA,CAASoB,cAAc,CAACC,WAA+B,CAACC,UAAU,EAAA,CAAA;AACpE,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/tasks/codemods/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAmD,MAAM,uBAAuB,CAAC;AAEjG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,eAAO,MAAM,WAAW,SAAU,MAAM,WAAuC,CAAC;AAEhF,eAAO,MAAM,kBAAkB,mBACb,QAAQ,MAAM,UACtB,QAAQ,WAAW,GAAG,QAAQ,aAAa,kBAkBpD,CAAC;AAEF,eAAO,MAAM,mBAAmB,YACrB,OAAO,UACR,QAAQ,WAAW,GAAG,QAAQ,aAAa,GAAG,aAAa,KAClE,aAeF,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/tasks/codemods/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAmD,MAAM,uBAAuB,CAAC;AAEjG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,eAAO,MAAM,WAAW,SAAU,MAAM,WAAuC,CAAC;AAEhF,eAAO,MAAM,kBAAkB,mBACb,QAAQ,MAAM,UACtB,QAAQ,WAAW,GAAG,QAAQ,aAAa,kBAoBpD,CAAC;AAEF,eAAO,MAAM,mBAAmB,YACrB,OAAO,UACR,QAAQ,WAAW,GAAG,QAAQ,aAAa,GAAG,aAAa,KAClE,aAeF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './latest';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tasks/upgrade/prompts/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { Upgrader } from '../../../modules/upgrader';
2
+ import type { UpgradeOptions } from '../types';
3
+ /**
4
+ * Handles the upgrade prompts when using the latest tag.
5
+ *
6
+ * - checks if an upgrade involves a major bump, warning and asking for user confirmation before proceeding
7
+ */
8
+ export declare const latest: (upgrader: Upgrader, options: UpgradeOptions) => Promise<void>;
9
+ //# sourceMappingURL=latest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"latest.d.ts","sourceRoot":"","sources":["../../../../src/tasks/upgrade/prompts/latest.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,MAAM,aAAoB,QAAQ,WAAW,cAAc,kBAgDvE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"major.d.ts","sourceRoot":"","sources":["../../../../src/tasks/upgrade/requirements/major.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,4BAA4B,gEAYxC,CAAC;AAEF,eAAO,MAAM,gCAAgC,gEAgB5C,CAAC"}
1
+ {"version":3,"file":"major.d.ts","sourceRoot":"","sources":["../../../../src/tasks/upgrade/requirements/major.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,4BAA4B,gEAYxC,CAAC;AAEF,eAAO,MAAM,gCAAgC,gEAmB5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../../src/tasks/upgrade/upgrade.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,eAAO,MAAM,OAAO,YAAmB,cAAc,kBAuDpD,CAAC"}
1
+ {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../../src/tasks/upgrade/upgrade.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C,eAAO,MAAM,OAAO,YAAmB,cAAc,kBAuDpD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/upgrade",
3
- "version": "0.0.0-next.d2d15ef227d67cce89c2673764c0555c841cd29c",
3
+ "version": "0.0.0-next.d5c0fa2c0ecac02fb0014dcdc5fea0ef62c39d0e",
4
4
  "description": "CLI to upgrade Strapi applications effortless",
5
5
  "keywords": [
6
6
  "strapi",
@@ -49,42 +49,43 @@
49
49
  "resources"
50
50
  ],
51
51
  "scripts": {
52
- "build": "pack-up build",
52
+ "build": "run -T npm-run-all clean --parallel build:code build:types",
53
+ "build:code": "run -T rollup -c",
54
+ "build:types": "run -T tsc -p tsconfig.build.json --emitDeclarationOnly",
53
55
  "clean": "run -T rimraf ./dist",
54
56
  "lint": "run -T eslint .",
55
57
  "prepublishOnly": "yarn clean && yarn build",
56
58
  "test:ts": "run -T tsc --noEmit",
57
59
  "test:unit": "run -T jest",
58
60
  "test:unit:watch": "run -T jest --watch",
59
- "watch": "pack-up watch"
61
+ "watch": "run -T rollup -c -w"
60
62
  },
61
63
  "dependencies": {
62
- "@strapi/utils": "0.0.0-next.d2d15ef227d67cce89c2673764c0555c841cd29c",
64
+ "@strapi/utils": "0.0.0-next.d5c0fa2c0ecac02fb0014dcdc5fea0ef62c39d0e",
63
65
  "chalk": "4.1.2",
64
66
  "cli-table3": "0.6.2",
65
67
  "commander": "8.3.0",
66
68
  "esbuild-register": "3.5.0",
67
69
  "fast-glob": "3.3.2",
68
70
  "fs-extra": "11.2.0",
69
- "jscodeshift": "0.15.1",
71
+ "jscodeshift": "17.1.2",
70
72
  "lodash": "4.17.21",
71
73
  "memfs": "4.6.0",
72
74
  "ora": "5.4.1",
73
75
  "prompts": "2.4.2",
74
76
  "semver": "7.5.4",
75
- "simple-git": "3.21.0"
77
+ "simple-git": "3.21.0",
78
+ "undici": "6.21.2"
76
79
  },
77
80
  "devDependencies": {
78
- "@strapi/pack-up": "5.0.0",
79
- "@strapi/types": "0.0.0-next.d2d15ef227d67cce89c2673764c0555c841cd29c",
81
+ "@strapi/types": "0.0.0-next.d5c0fa2c0ecac02fb0014dcdc5fea0ef62c39d0e",
80
82
  "@types/fs-extra": "11.0.4",
81
- "@types/jscodeshift": "0.11.10",
82
- "eslint-config-custom": "0.0.0-next.d2d15ef227d67cce89c2673764c0555c841cd29c",
83
+ "@types/jscodeshift": "0.12.0",
84
+ "eslint-config-custom": "0.0.0-next.d5c0fa2c0ecac02fb0014dcdc5fea0ef62c39d0e",
83
85
  "rimraf": "5.0.5"
84
86
  },
85
87
  "engines": {
86
- "node": ">=18.0.0 <=20.x.x",
88
+ "node": ">=18.0.0 <=22.x.x",
87
89
  "npm": ">=6.0.0"
88
- },
89
- "gitHead": "d2d15ef227d67cce89c2673764c0555c841cd29c"
90
+ }
90
91
  }
@@ -30,7 +30,6 @@ const transform: modules.runner.json.JSONTransform = (file, params) => {
30
30
  });
31
31
 
32
32
  if (removed && !j.has('dependencies.better-sqlite3')) {
33
- // TODO check this version when releasing V5
34
33
  j.set('dependencies.better-sqlite3', '9.4.3');
35
34
  }
36
35
 
@@ -0,0 +1,48 @@
1
+ import path from 'path';
2
+ import semver from 'semver';
3
+ import type { modules } from '../../../dist';
4
+
5
+ const DEP_NAME = 'better-sqlite3';
6
+ const DEP_PATH = `dependencies.${DEP_NAME}`;
7
+ const DEP_VERSION = '11.3.0';
8
+
9
+ /**
10
+ *
11
+ */
12
+ const transform: modules.runner.json.JSONTransform = (file, params) => {
13
+ return upgradeIfExists(file, params, DEP_PATH, DEP_VERSION);
14
+ };
15
+
16
+ export default transform;
17
+
18
+ // TODO: move this to a utility once we solve the issue where codemods are not transpiled properly
19
+ const upgradeIfExists = (
20
+ file: modules.runner.json.JSONSourceFile,
21
+ params: modules.runner.json.JSONTransformParams,
22
+ packagePath: string,
23
+ targetVersion: string
24
+ ) => {
25
+ const { cwd, json } = params;
26
+
27
+ // Return early if the file path is not the root package.json
28
+ if (file.path !== path.join(cwd, 'package.json')) {
29
+ return file.json;
30
+ }
31
+
32
+ const packageJson = json(file.json);
33
+
34
+ // Check if the package exists
35
+ if (packageJson.has(packagePath)) {
36
+ const currentVersion = packageJson.get(packagePath);
37
+ // ensure we only upgrade, not downgrade
38
+ if (
39
+ typeof currentVersion === 'string' &&
40
+ semver.valid(currentVersion) &&
41
+ semver.lt(currentVersion, targetVersion)
42
+ ) {
43
+ packageJson.set(packagePath, targetVersion);
44
+ }
45
+ }
46
+
47
+ return packageJson.root();
48
+ };