@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
@@ -0,0 +1,99 @@
1
+ 'use strict';
2
+
3
+ var prompts = require('prompts');
4
+ var commander = require('commander');
5
+ var logger = require('../../modules/logger/logger.js');
6
+ var semver = require('../../modules/version/semver.js');
7
+ require('semver');
8
+ var types = require('../../modules/version/types.js');
9
+ var errors = require('../errors.js');
10
+ var upgrade$1 = require('../../tasks/upgrade/upgrade.js');
11
+ require('../../tasks/upgrade/requirements/common.js');
12
+ require('cli-table3');
13
+ require('chalk');
14
+ require('node:path');
15
+ require('node:assert');
16
+ require('fs-extra');
17
+ require('fast-glob');
18
+ require('jscodeshift/src/Runner');
19
+ require('lodash/fp');
20
+ require('esbuild-register/dist/node');
21
+ require('../../modules/project/constants.js');
22
+ require('../../modules/codemod/constants.js');
23
+ require('../../modules/codemod-repository/constants.js');
24
+ var options = require('../options.js');
25
+
26
+ const upgrade = async (options)=>{
27
+ try {
28
+ const { silent, debug, yes } = 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 upgrading");
34
+ const confirm = async (message)=>{
35
+ if (yes) {
36
+ return true;
37
+ }
38
+ const { confirm } = await prompts({
39
+ name: 'confirm',
40
+ type: 'confirm',
41
+ message
42
+ });
43
+ // If confirm is undefined (Ctrl + C), default to false
44
+ return confirm ?? false;
45
+ };
46
+ await upgrade$1.upgrade({
47
+ logger: logger$1,
48
+ confirm,
49
+ dry: options.dry,
50
+ cwd: options.projectPath,
51
+ target: options.target,
52
+ codemodsTarget: options.codemodsTarget
53
+ });
54
+ } catch (err) {
55
+ errors.handleError(err, options.silent);
56
+ }
57
+ };
58
+ /**
59
+ * Registers upgrade related codemods.
60
+ */ const register = (program)=>{
61
+ const addReleaseUpgradeCommand = (releaseType, description)=>{
62
+ program.command(releaseType).description(description).addOption(options.projectPathOption).addOption(options.dryOption).addOption(options.debugOption).addOption(options.silentOption).addOption(options.autoConfirmOption).action(async (options)=>{
63
+ return upgrade({
64
+ ...options,
65
+ target: releaseType
66
+ });
67
+ });
68
+ };
69
+ // upgrade latest
70
+ addReleaseUpgradeCommand(types.ReleaseType.Latest, 'Upgrade to the latest available version of Strapi');
71
+ // upgrade major
72
+ addReleaseUpgradeCommand(types.ReleaseType.Major, 'Upgrade to the next available major version of Strapi');
73
+ // upgrade minor
74
+ addReleaseUpgradeCommand(types.ReleaseType.Minor, 'Upgrade to the latest minor and patch version of Strapi for the current major');
75
+ // upgrade patch
76
+ addReleaseUpgradeCommand(types.ReleaseType.Patch, 'Upgrade to latest patch version of Strapi for the current major and minor');
77
+ // upgrade to <target>
78
+ program.command('to <target>', {
79
+ hidden: true
80
+ }).description('Upgrade to the specified version of Strapi').addOption(options.projectPathOption).addOption(options.dryOption).addOption(options.debugOption).addOption(options.silentOption).addOption(options.autoConfirmOption).addOption(new commander.Option('-c, --codemods-target <codemodsTarget>', 'Use a custom target for the codemods execution. Useful when targeting pre-releases').argParser((codemodsTarget)=>{
81
+ if (!semver.isLiteralSemVer(codemodsTarget)) {
82
+ throw new commander.InvalidArgumentError(`Expected a version with the following format: "<number>.<number>.<number>"`);
83
+ }
84
+ return semver.semVerFactory(codemodsTarget);
85
+ })).action(async (target, options)=>{
86
+ if (!semver.isValidSemVer(target)) {
87
+ console.error(`Invalid target supplied, expected a valid semver but got "${target}"`);
88
+ process.exit(1);
89
+ }
90
+ return upgrade({
91
+ ...options,
92
+ target: semver.semVerFactory(target)
93
+ });
94
+ });
95
+ };
96
+
97
+ exports.register = register;
98
+ exports.upgrade = upgrade;
99
+ //# sourceMappingURL=upgrade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade.js","sources":["../../../../src/cli/commands/upgrade.ts"],"sourcesContent":["import prompts from 'prompts';\nimport { InvalidArgumentError, Option } from 'commander';\n\nimport type { Command } from 'commander';\n\nimport { loggerFactory } from '../../modules/logger';\nimport { Version, isLiteralSemVer, isValidSemVer, semVerFactory } from '../../modules/version';\nimport { handleError } from '../errors';\nimport * as tasks from '../../tasks';\nimport {\n autoConfirmOption,\n debugOption,\n dryOption,\n projectPathOption,\n silentOption,\n} from '../options';\n\nimport type { CLIUpgradeOptions, CLIUpgradeToOptions, UpgradeCommand } from '../types';\n\nexport const upgrade: UpgradeCommand = async (options) => {\n try {\n const { silent, debug, yes } = 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 upgrading\"\n );\n\n const confirm = async (message: string) => {\n if (yes) {\n return true;\n }\n\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 await tasks.upgrade({\n logger,\n confirm,\n dry: options.dry,\n cwd: options.projectPath,\n target: options.target,\n codemodsTarget: options.codemodsTarget,\n });\n } catch (err) {\n handleError(err, options.silent);\n }\n};\n\n/**\n * Registers upgrade related codemods.\n */\nexport const register = (program: Command) => {\n const addReleaseUpgradeCommand = (releaseType: Version.ReleaseType, description: string) => {\n program\n .command(releaseType)\n .description(description)\n .addOption(projectPathOption)\n .addOption(dryOption)\n .addOption(debugOption)\n .addOption(silentOption)\n .addOption(autoConfirmOption)\n .action(async (options: CLIUpgradeOptions) => {\n return upgrade({ ...options, target: releaseType });\n });\n };\n\n // upgrade latest\n addReleaseUpgradeCommand(\n Version.ReleaseType.Latest,\n 'Upgrade to the latest available version of Strapi'\n );\n\n // upgrade major\n addReleaseUpgradeCommand(\n Version.ReleaseType.Major,\n 'Upgrade to the next available major version of Strapi'\n );\n\n // upgrade minor\n addReleaseUpgradeCommand(\n Version.ReleaseType.Minor,\n 'Upgrade to the latest minor and patch version of Strapi for the current major'\n );\n\n // upgrade patch\n addReleaseUpgradeCommand(\n Version.ReleaseType.Patch,\n 'Upgrade to latest patch version of Strapi for the current major and minor'\n );\n\n // upgrade to <target>\n program\n .command('to <target>', { hidden: true })\n .description('Upgrade to the specified version of Strapi')\n .addOption(projectPathOption)\n .addOption(dryOption)\n .addOption(debugOption)\n .addOption(silentOption)\n .addOption(autoConfirmOption)\n .addOption(\n new Option(\n '-c, --codemods-target <codemodsTarget>',\n 'Use a custom target for the codemods execution. Useful when targeting pre-releases'\n ).argParser((codemodsTarget) => {\n if (!isLiteralSemVer(codemodsTarget)) {\n throw new InvalidArgumentError(\n `Expected a version with the following format: \"<number>.<number>.<number>\"`\n );\n }\n\n return semVerFactory(codemodsTarget);\n })\n )\n .action(async (target: string, options: CLIUpgradeToOptions) => {\n if (!isValidSemVer(target)) {\n console.error(`Invalid target supplied, expected a valid semver but got \"${target}\"`);\n process.exit(1);\n }\n\n return upgrade({ ...options, target: semVerFactory(target) });\n });\n};\n"],"names":["upgrade","options","silent","debug","yes","logger","loggerFactory","warn","confirm","message","prompts","name","type","tasks","dry","cwd","projectPath","target","codemodsTarget","err","handleError","register","program","addReleaseUpgradeCommand","releaseType","description","command","addOption","projectPathOption","dryOption","debugOption","silentOption","autoConfirmOption","action","Version","Latest","Major","Minor","Patch","hidden","Option","argParser","isLiteralSemVer","InvalidArgumentError","semVerFactory","isValidSemVer","console","error","process","exit"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAmBO,MAAMA,UAA0B,OAAOC,OAAAA,GAAAA;IAC5C,IAAI;AACF,QAAA,MAAM,EAAEC,MAAM,EAAEC,KAAK,EAAEC,GAAG,EAAE,GAAGH,OAAAA;AAC/B,QAAA,MAAMI,WAASC,oBAAc,CAAA;AAAEJ,YAAAA,MAAAA;AAAQC,YAAAA;AAAM,SAAA,CAAA;AAE7CE,QAAAA,QAAAA,CAAOE,IAAI,CACT,sFAAA,CAAA;AAGF,QAAA,MAAMC,UAAU,OAAOC,OAAAA,GAAAA;AACrB,YAAA,IAAIL,GAAK,EAAA;gBACP,OAAO,IAAA;AACT;AAEA,YAAA,MAAM,EAAEI,OAAO,EAAE,GAAG,MAAME,OAAQ,CAAA;gBAChCC,IAAM,EAAA,SAAA;gBACNC,IAAM,EAAA,SAAA;AACNH,gBAAAA;AACF,aAAA,CAAA;;AAGA,YAAA,OAAOD,OAAW,IAAA,KAAA;AACpB,SAAA;QAEA,MAAMK,iBAAa,CAAC;AAClBR,oBAAAA,QAAAA;AACAG,YAAAA,OAAAA;AACAM,YAAAA,GAAAA,EAAKb,QAAQa,GAAG;AAChBC,YAAAA,GAAAA,EAAKd,QAAQe,WAAW;AACxBC,YAAAA,MAAAA,EAAQhB,QAAQgB,MAAM;AACtBC,YAAAA,cAAAA,EAAgBjB,QAAQiB;AAC1B,SAAA,CAAA;AACF,KAAA,CAAE,OAAOC,GAAK,EAAA;QACZC,kBAAYD,CAAAA,GAAAA,EAAKlB,QAAQC,MAAM,CAAA;AACjC;AACF;AAEA;;IAGamB,MAAAA,QAAAA,GAAW,CAACC,OAAAA,GAAAA;IACvB,MAAMC,wBAAAA,GAA2B,CAACC,WAAkCC,EAAAA,WAAAA,GAAAA;QAClEH,OACGI,CAAAA,OAAO,CAACF,WACRC,CAAAA,CAAAA,WAAW,CAACA,WACZE,CAAAA,CAAAA,SAAS,CAACC,yBAAAA,CAAAA,CACVD,SAAS,CAACE,mBACVF,SAAS,CAACG,mBACVH,CAAAA,CAAAA,SAAS,CAACI,oBAAAA,CAAAA,CACVJ,SAAS,CAACK,yBAAAA,CAAAA,CACVC,MAAM,CAAC,OAAOhC,OAAAA,GAAAA;AACb,YAAA,OAAOD,OAAQ,CAAA;AAAE,gBAAA,GAAGC,OAAO;gBAAEgB,MAAQO,EAAAA;AAAY,aAAA,CAAA;AACnD,SAAA,CAAA;AACJ,KAAA;;AAGAD,IAAAA,wBAAAA,CACEW,iBAAmB,CAACC,MAAM,EAC1B,mDAAA,CAAA;;AAIFZ,IAAAA,wBAAAA,CACEW,iBAAmB,CAACE,KAAK,EACzB,uDAAA,CAAA;;AAIFb,IAAAA,wBAAAA,CACEW,iBAAmB,CAACG,KAAK,EACzB,+EAAA,CAAA;;AAIFd,IAAAA,wBAAAA,CACEW,iBAAmB,CAACI,KAAK,EACzB,2EAAA,CAAA;;IAIFhB,OACGI,CAAAA,OAAO,CAAC,aAAe,EAAA;QAAEa,MAAQ,EAAA;KACjCd,CAAAA,CAAAA,WAAW,CAAC,4CAAA,CAAA,CACZE,SAAS,CAACC,yBACVD,CAAAA,CAAAA,SAAS,CAACE,iBAAAA,CAAAA,CACVF,SAAS,CAACG,mBACVH,CAAAA,CAAAA,SAAS,CAACI,oBACVJ,CAAAA,CAAAA,SAAS,CAACK,yBAAAA,CAAAA,CACVL,SAAS,CACR,IAAIa,gBAAAA,CACF,wCACA,EAAA,oFAAA,CAAA,CACAC,SAAS,CAAC,CAACvB,cAAAA,GAAAA;QACX,IAAI,CAACwB,uBAAgBxB,cAAiB,CAAA,EAAA;AACpC,YAAA,MAAM,IAAIyB,8BAAAA,CACR,CAAC,0EAA0E,CAAC,CAAA;AAEhF;AAEA,QAAA,OAAOC,oBAAc1B,CAAAA,cAAAA,CAAAA;KAGxBe,CAAAA,CAAAA,CAAAA,MAAM,CAAC,OAAOhB,MAAgBhB,EAAAA,OAAAA,GAAAA;QAC7B,IAAI,CAAC4C,qBAAc5B,MAAS,CAAA,EAAA;AAC1B6B,YAAAA,OAAAA,CAAQC,KAAK,CAAC,CAAC,0DAA0D,EAAE9B,MAAAA,CAAO,CAAC,CAAC,CAAA;AACpF+B,YAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf;AAEA,QAAA,OAAOjD,OAAQ,CAAA;AAAE,YAAA,GAAGC,OAAO;AAAEgB,YAAAA,MAAAA,EAAQ2B,oBAAc3B,CAAAA,MAAAA;AAAQ,SAAA,CAAA;AAC7D,KAAA,CAAA;AACJ;;;;;"}
@@ -0,0 +1,96 @@
1
+ import prompts from 'prompts';
2
+ import { Option, InvalidArgumentError } from 'commander';
3
+ import { loggerFactory } from '../../modules/logger/logger.mjs';
4
+ import { isLiteralSemVer, semVerFactory, isValidSemVer } from '../../modules/version/semver.mjs';
5
+ import 'semver';
6
+ import { ReleaseType } from '../../modules/version/types.mjs';
7
+ import { handleError } from '../errors.mjs';
8
+ import { upgrade as upgrade$1 } from '../../tasks/upgrade/upgrade.mjs';
9
+ import '../../tasks/upgrade/requirements/common.mjs';
10
+ import 'cli-table3';
11
+ import 'chalk';
12
+ import 'node:path';
13
+ import 'node:assert';
14
+ import 'fs-extra';
15
+ import 'fast-glob';
16
+ import 'jscodeshift/src/Runner';
17
+ import 'lodash/fp';
18
+ import 'esbuild-register/dist/node';
19
+ import '../../modules/project/constants.mjs';
20
+ import '../../modules/codemod/constants.mjs';
21
+ import '../../modules/codemod-repository/constants.mjs';
22
+ import { projectPathOption, dryOption, debugOption, silentOption, autoConfirmOption } from '../options.mjs';
23
+
24
+ const upgrade = async (options)=>{
25
+ try {
26
+ const { silent, debug, yes } = 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 upgrading");
32
+ const confirm = async (message)=>{
33
+ if (yes) {
34
+ return true;
35
+ }
36
+ const { confirm } = await prompts({
37
+ name: 'confirm',
38
+ type: 'confirm',
39
+ message
40
+ });
41
+ // If confirm is undefined (Ctrl + C), default to false
42
+ return confirm ?? false;
43
+ };
44
+ await upgrade$1({
45
+ logger,
46
+ confirm,
47
+ dry: options.dry,
48
+ cwd: options.projectPath,
49
+ target: options.target,
50
+ codemodsTarget: options.codemodsTarget
51
+ });
52
+ } catch (err) {
53
+ handleError(err, options.silent);
54
+ }
55
+ };
56
+ /**
57
+ * Registers upgrade related codemods.
58
+ */ const register = (program)=>{
59
+ const addReleaseUpgradeCommand = (releaseType, description)=>{
60
+ program.command(releaseType).description(description).addOption(projectPathOption).addOption(dryOption).addOption(debugOption).addOption(silentOption).addOption(autoConfirmOption).action(async (options)=>{
61
+ return upgrade({
62
+ ...options,
63
+ target: releaseType
64
+ });
65
+ });
66
+ };
67
+ // upgrade latest
68
+ addReleaseUpgradeCommand(ReleaseType.Latest, 'Upgrade to the latest available version of Strapi');
69
+ // upgrade major
70
+ addReleaseUpgradeCommand(ReleaseType.Major, 'Upgrade to the next available major version of Strapi');
71
+ // upgrade minor
72
+ addReleaseUpgradeCommand(ReleaseType.Minor, 'Upgrade to the latest minor and patch version of Strapi for the current major');
73
+ // upgrade patch
74
+ addReleaseUpgradeCommand(ReleaseType.Patch, 'Upgrade to latest patch version of Strapi for the current major and minor');
75
+ // upgrade to <target>
76
+ program.command('to <target>', {
77
+ hidden: true
78
+ }).description('Upgrade to the specified version of Strapi').addOption(projectPathOption).addOption(dryOption).addOption(debugOption).addOption(silentOption).addOption(autoConfirmOption).addOption(new Option('-c, --codemods-target <codemodsTarget>', 'Use a custom target for the codemods execution. Useful when targeting pre-releases').argParser((codemodsTarget)=>{
79
+ if (!isLiteralSemVer(codemodsTarget)) {
80
+ throw new InvalidArgumentError(`Expected a version with the following format: "<number>.<number>.<number>"`);
81
+ }
82
+ return semVerFactory(codemodsTarget);
83
+ })).action(async (target, options)=>{
84
+ if (!isValidSemVer(target)) {
85
+ console.error(`Invalid target supplied, expected a valid semver but got "${target}"`);
86
+ process.exit(1);
87
+ }
88
+ return upgrade({
89
+ ...options,
90
+ target: semVerFactory(target)
91
+ });
92
+ });
93
+ };
94
+
95
+ export { register, upgrade };
96
+ //# sourceMappingURL=upgrade.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade.mjs","sources":["../../../../src/cli/commands/upgrade.ts"],"sourcesContent":["import prompts from 'prompts';\nimport { InvalidArgumentError, Option } from 'commander';\n\nimport type { Command } from 'commander';\n\nimport { loggerFactory } from '../../modules/logger';\nimport { Version, isLiteralSemVer, isValidSemVer, semVerFactory } from '../../modules/version';\nimport { handleError } from '../errors';\nimport * as tasks from '../../tasks';\nimport {\n autoConfirmOption,\n debugOption,\n dryOption,\n projectPathOption,\n silentOption,\n} from '../options';\n\nimport type { CLIUpgradeOptions, CLIUpgradeToOptions, UpgradeCommand } from '../types';\n\nexport const upgrade: UpgradeCommand = async (options) => {\n try {\n const { silent, debug, yes } = 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 upgrading\"\n );\n\n const confirm = async (message: string) => {\n if (yes) {\n return true;\n }\n\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 await tasks.upgrade({\n logger,\n confirm,\n dry: options.dry,\n cwd: options.projectPath,\n target: options.target,\n codemodsTarget: options.codemodsTarget,\n });\n } catch (err) {\n handleError(err, options.silent);\n }\n};\n\n/**\n * Registers upgrade related codemods.\n */\nexport const register = (program: Command) => {\n const addReleaseUpgradeCommand = (releaseType: Version.ReleaseType, description: string) => {\n program\n .command(releaseType)\n .description(description)\n .addOption(projectPathOption)\n .addOption(dryOption)\n .addOption(debugOption)\n .addOption(silentOption)\n .addOption(autoConfirmOption)\n .action(async (options: CLIUpgradeOptions) => {\n return upgrade({ ...options, target: releaseType });\n });\n };\n\n // upgrade latest\n addReleaseUpgradeCommand(\n Version.ReleaseType.Latest,\n 'Upgrade to the latest available version of Strapi'\n );\n\n // upgrade major\n addReleaseUpgradeCommand(\n Version.ReleaseType.Major,\n 'Upgrade to the next available major version of Strapi'\n );\n\n // upgrade minor\n addReleaseUpgradeCommand(\n Version.ReleaseType.Minor,\n 'Upgrade to the latest minor and patch version of Strapi for the current major'\n );\n\n // upgrade patch\n addReleaseUpgradeCommand(\n Version.ReleaseType.Patch,\n 'Upgrade to latest patch version of Strapi for the current major and minor'\n );\n\n // upgrade to <target>\n program\n .command('to <target>', { hidden: true })\n .description('Upgrade to the specified version of Strapi')\n .addOption(projectPathOption)\n .addOption(dryOption)\n .addOption(debugOption)\n .addOption(silentOption)\n .addOption(autoConfirmOption)\n .addOption(\n new Option(\n '-c, --codemods-target <codemodsTarget>',\n 'Use a custom target for the codemods execution. Useful when targeting pre-releases'\n ).argParser((codemodsTarget) => {\n if (!isLiteralSemVer(codemodsTarget)) {\n throw new InvalidArgumentError(\n `Expected a version with the following format: \"<number>.<number>.<number>\"`\n );\n }\n\n return semVerFactory(codemodsTarget);\n })\n )\n .action(async (target: string, options: CLIUpgradeToOptions) => {\n if (!isValidSemVer(target)) {\n console.error(`Invalid target supplied, expected a valid semver but got \"${target}\"`);\n process.exit(1);\n }\n\n return upgrade({ ...options, target: semVerFactory(target) });\n });\n};\n"],"names":["upgrade","options","silent","debug","yes","logger","loggerFactory","warn","confirm","message","prompts","name","type","tasks","dry","cwd","projectPath","target","codemodsTarget","err","handleError","register","program","addReleaseUpgradeCommand","releaseType","description","command","addOption","projectPathOption","dryOption","debugOption","silentOption","autoConfirmOption","action","Version","Latest","Major","Minor","Patch","hidden","Option","argParser","isLiteralSemVer","InvalidArgumentError","semVerFactory","isValidSemVer","console","error","process","exit"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ var chalk = require('chalk');
4
+ var utils = require('../modules/error/utils.js');
5
+
6
+ const handleError = (err, isSilent)=>{
7
+ // If the upgrade process has been aborted, exit silently
8
+ if (err instanceof utils.AbortedError) {
9
+ process.exit(0);
10
+ }
11
+ if (!isSilent) {
12
+ console.error(chalk.red(`[ERROR]\t[${new Date().toISOString()}]`), err instanceof Error ? err.message : err);
13
+ }
14
+ process.exit(1);
15
+ };
16
+
17
+ exports.handleError = handleError;
18
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sources":["../../../src/cli/errors.ts"],"sourcesContent":["import chalk from 'chalk';\n\nimport { AbortedError } from '../modules/error';\n\nexport const handleError = (err: unknown, isSilent: boolean) => {\n // If the upgrade process has been aborted, exit silently\n if (err instanceof AbortedError) {\n process.exit(0);\n }\n\n if (!isSilent) {\n console.error(\n chalk.red(`[ERROR]\\t[${new Date().toISOString()}]`),\n err instanceof Error ? err.message : err\n );\n }\n\n process.exit(1);\n};\n"],"names":["handleError","err","isSilent","AbortedError","process","exit","console","error","chalk","red","Date","toISOString","Error","message"],"mappings":";;;;;AAIO,MAAMA,WAAc,GAAA,CAACC,GAAcC,EAAAA,QAAAA,GAAAA;;AAExC,IAAA,IAAID,eAAeE,kBAAc,EAAA;AAC/BC,QAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf;AAEA,IAAA,IAAI,CAACH,QAAU,EAAA;AACbI,QAAAA,OAAAA,CAAQC,KAAK,CACXC,KAAAA,CAAMC,GAAG,CAAC,CAAC,UAAU,EAAE,IAAIC,OAAOC,WAAW,EAAA,CAAG,CAAC,CAAC,CAAA,EAClDV,eAAeW,KAAQX,GAAAA,GAAAA,CAAIY,OAAO,GAAGZ,GAAAA,CAAAA;AAEzC;AAEAG,IAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf;;;;"}
@@ -0,0 +1,16 @@
1
+ import chalk from 'chalk';
2
+ import { AbortedError } from '../modules/error/utils.mjs';
3
+
4
+ const handleError = (err, isSilent)=>{
5
+ // If the upgrade process has been aborted, exit silently
6
+ if (err instanceof AbortedError) {
7
+ process.exit(0);
8
+ }
9
+ if (!isSilent) {
10
+ console.error(chalk.red(`[ERROR]\t[${new Date().toISOString()}]`), err instanceof Error ? err.message : err);
11
+ }
12
+ process.exit(1);
13
+ };
14
+
15
+ export { handleError };
16
+ //# sourceMappingURL=errors.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.mjs","sources":["../../../src/cli/errors.ts"],"sourcesContent":["import chalk from 'chalk';\n\nimport { AbortedError } from '../modules/error';\n\nexport const handleError = (err: unknown, isSilent: boolean) => {\n // If the upgrade process has been aborted, exit silently\n if (err instanceof AbortedError) {\n process.exit(0);\n }\n\n if (!isSilent) {\n console.error(\n chalk.red(`[ERROR]\\t[${new Date().toISOString()}]`),\n err instanceof Error ? err.message : err\n );\n }\n\n process.exit(1);\n};\n"],"names":["handleError","err","isSilent","AbortedError","process","exit","console","error","chalk","red","Date","toISOString","Error","message"],"mappings":";;;AAIO,MAAMA,WAAc,GAAA,CAACC,GAAcC,EAAAA,QAAAA,GAAAA;;AAExC,IAAA,IAAID,eAAeE,YAAc,EAAA;AAC/BC,QAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf;AAEA,IAAA,IAAI,CAACH,QAAU,EAAA;AACbI,QAAAA,OAAAA,CAAQC,KAAK,CACXC,KAAAA,CAAMC,GAAG,CAAC,CAAC,UAAU,EAAE,IAAIC,OAAOC,WAAW,EAAA,CAAG,CAAC,CAAC,CAAA,EAClDV,eAAeW,KAAQX,GAAAA,GAAAA,CAAIY,OAAO,GAAGZ,GAAAA,CAAAA;AAEzC;AAEAG,IAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf;;;;"}
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ var commander = require('commander');
4
+ require('semver');
5
+ require('../modules/version/types.js');
6
+ var range = require('../modules/version/range.js');
7
+
8
+ const projectPathOption = new commander.Option('-p, --project-path <project-path>', 'Root path to the Strapi application or plugin');
9
+ const dryOption = new commander.Option('-n, --dry', 'Simulate the upgrade without updating any files').default(false);
10
+ const debugOption = new commander.Option('-d, --debug', 'Get more logs in debug mode').default(false);
11
+ const silentOption = new commander.Option('-s, --silent', "Don't log anything").default(false);
12
+ const autoConfirmOption = new commander.Option('-y, --yes', 'Automatically answer "yes" to any prompts that the CLI might print on the command line.').default(false);
13
+ const rangeOption = new commander.Option('-r, --range <range>', 'Use a custom semver range for the codemods execution.').argParser((range$1)=>{
14
+ if (!range.isValidStringifiedRange(range$1)) {
15
+ throw new commander.InvalidArgumentError('Expected a valid semver range');
16
+ }
17
+ return range.rangeFactory(range$1);
18
+ });
19
+
20
+ exports.autoConfirmOption = autoConfirmOption;
21
+ exports.debugOption = debugOption;
22
+ exports.dryOption = dryOption;
23
+ exports.projectPathOption = projectPathOption;
24
+ exports.rangeOption = rangeOption;
25
+ exports.silentOption = silentOption;
26
+ //# sourceMappingURL=options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sources":["../../../src/cli/options.ts"],"sourcesContent":["import { InvalidArgumentError, Option } from 'commander';\nimport { isValidStringifiedRange, rangeFactory } from '../modules/version';\n\nexport const projectPathOption = new Option(\n '-p, --project-path <project-path>',\n 'Root path to the Strapi application or plugin'\n);\n\nexport const dryOption = new Option(\n '-n, --dry',\n 'Simulate the upgrade without updating any files'\n).default(false);\n\nexport const debugOption = new Option('-d, --debug', 'Get more logs in debug mode').default(false);\n\nexport const silentOption = new Option('-s, --silent', \"Don't log anything\").default(false);\n\nexport const autoConfirmOption = new Option(\n '-y, --yes',\n 'Automatically answer \"yes\" to any prompts that the CLI might print on the command line.'\n).default(false);\n\nexport const rangeOption = new Option(\n '-r, --range <range>',\n 'Use a custom semver range for the codemods execution.'\n).argParser((range) => {\n if (!isValidStringifiedRange(range)) {\n throw new InvalidArgumentError('Expected a valid semver range');\n }\n\n return rangeFactory(range);\n});\n"],"names":["projectPathOption","Option","dryOption","default","debugOption","silentOption","autoConfirmOption","rangeOption","argParser","range","isValidStringifiedRange","InvalidArgumentError","rangeFactory"],"mappings":";;;;;;;AAGaA,MAAAA,iBAAAA,GAAoB,IAAIC,gBAAAA,CACnC,qCACA,+CACA;AAEK,MAAMC,YAAY,IAAID,gBAAAA,CAC3B,aACA,iDACAE,CAAAA,CAAAA,OAAO,CAAC,KAAO;AAEV,MAAMC,cAAc,IAAIH,gBAAAA,CAAO,eAAe,6BAA+BE,CAAAA,CAAAA,OAAO,CAAC,KAAO;AAE5F,MAAME,eAAe,IAAIJ,gBAAAA,CAAO,gBAAgB,oBAAsBE,CAAAA,CAAAA,OAAO,CAAC,KAAO;AAErF,MAAMG,oBAAoB,IAAIL,gBAAAA,CACnC,aACA,yFACAE,CAAAA,CAAAA,OAAO,CAAC,KAAO;AAEV,MAAMI,cAAc,IAAIN,gBAAAA,CAC7B,uBACA,uDACAO,CAAAA,CAAAA,SAAS,CAAC,CAACC,OAAAA,GAAAA;IACX,IAAI,CAACC,8BAAwBD,OAAQ,CAAA,EAAA;AACnC,QAAA,MAAM,IAAIE,8BAAqB,CAAA,+BAAA,CAAA;AACjC;AAEA,IAAA,OAAOC,kBAAaH,CAAAA,OAAAA,CAAAA;AACtB,CAAG;;;;;;;;;"}
@@ -0,0 +1,19 @@
1
+ import { Option, InvalidArgumentError } from 'commander';
2
+ import 'semver';
3
+ import '../modules/version/types.mjs';
4
+ import { isValidStringifiedRange, rangeFactory } from '../modules/version/range.mjs';
5
+
6
+ const projectPathOption = new Option('-p, --project-path <project-path>', 'Root path to the Strapi application or plugin');
7
+ const dryOption = new Option('-n, --dry', 'Simulate the upgrade without updating any files').default(false);
8
+ const debugOption = new Option('-d, --debug', 'Get more logs in debug mode').default(false);
9
+ const silentOption = new Option('-s, --silent', "Don't log anything").default(false);
10
+ const autoConfirmOption = new Option('-y, --yes', 'Automatically answer "yes" to any prompts that the CLI might print on the command line.').default(false);
11
+ const rangeOption = new Option('-r, --range <range>', 'Use a custom semver range for the codemods execution.').argParser((range)=>{
12
+ if (!isValidStringifiedRange(range)) {
13
+ throw new InvalidArgumentError('Expected a valid semver range');
14
+ }
15
+ return rangeFactory(range);
16
+ });
17
+
18
+ export { autoConfirmOption, debugOption, dryOption, projectPathOption, rangeOption, silentOption };
19
+ //# sourceMappingURL=options.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.mjs","sources":["../../../src/cli/options.ts"],"sourcesContent":["import { InvalidArgumentError, Option } from 'commander';\nimport { isValidStringifiedRange, rangeFactory } from '../modules/version';\n\nexport const projectPathOption = new Option(\n '-p, --project-path <project-path>',\n 'Root path to the Strapi application or plugin'\n);\n\nexport const dryOption = new Option(\n '-n, --dry',\n 'Simulate the upgrade without updating any files'\n).default(false);\n\nexport const debugOption = new Option('-d, --debug', 'Get more logs in debug mode').default(false);\n\nexport const silentOption = new Option('-s, --silent', \"Don't log anything\").default(false);\n\nexport const autoConfirmOption = new Option(\n '-y, --yes',\n 'Automatically answer \"yes\" to any prompts that the CLI might print on the command line.'\n).default(false);\n\nexport const rangeOption = new Option(\n '-r, --range <range>',\n 'Use a custom semver range for the codemods execution.'\n).argParser((range) => {\n if (!isValidStringifiedRange(range)) {\n throw new InvalidArgumentError('Expected a valid semver range');\n }\n\n return rangeFactory(range);\n});\n"],"names":["projectPathOption","Option","dryOption","default","debugOption","silentOption","autoConfirmOption","rangeOption","argParser","range","isValidStringifiedRange","InvalidArgumentError","rangeFactory"],"mappings":";;;;;AAGaA,MAAAA,iBAAAA,GAAoB,IAAIC,MAAAA,CACnC,qCACA,+CACA;AAEK,MAAMC,YAAY,IAAID,MAAAA,CAC3B,aACA,iDACAE,CAAAA,CAAAA,OAAO,CAAC,KAAO;AAEV,MAAMC,cAAc,IAAIH,MAAAA,CAAO,eAAe,6BAA+BE,CAAAA,CAAAA,OAAO,CAAC,KAAO;AAE5F,MAAME,eAAe,IAAIJ,MAAAA,CAAO,gBAAgB,oBAAsBE,CAAAA,CAAAA,OAAO,CAAC,KAAO;AAErF,MAAMG,oBAAoB,IAAIL,MAAAA,CACnC,aACA,yFACAE,CAAAA,CAAAA,OAAO,CAAC,KAAO;AAEV,MAAMI,cAAc,IAAIN,MAAAA,CAC7B,uBACA,uDACAO,CAAAA,CAAAA,SAAS,CAAC,CAACC,KAAAA,GAAAA;IACX,IAAI,CAACC,wBAAwBD,KAAQ,CAAA,EAAA;AACnC,QAAA,MAAM,IAAIE,oBAAqB,CAAA,+BAAA,CAAA;AACjC;AAEA,IAAA,OAAOC,YAAaH,CAAAA,KAAAA,CAAAA;AACtB,CAAG;;;;"}
@@ -0,0 +1,44 @@
1
+ 'use strict';
2
+
3
+ var path = require('node:path');
4
+ var constants = require('./constants.js');
5
+
6
+ class Codemod {
7
+ createUID() {
8
+ const name = this.format({
9
+ stripExtension: true,
10
+ stripKind: true,
11
+ stripHyphens: false
12
+ });
13
+ const kind = this.kind;
14
+ const version = this.version.raw;
15
+ return `${version}-${name}-${kind}`;
16
+ }
17
+ format(options) {
18
+ const { stripExtension = true, stripKind = true, stripHyphens = true } = options ?? {};
19
+ let formatted = this.filename;
20
+ if (stripExtension) {
21
+ formatted = formatted.replace(new RegExp(`\\.${constants.CODEMOD_EXTENSION}$`, 'i'), '');
22
+ }
23
+ if (stripKind) {
24
+ formatted = formatted.replace(`.${constants.CODEMOD_CODE_SUFFIX}`, '').replace(`.${constants.CODEMOD_JSON_SUFFIX}`, '');
25
+ }
26
+ if (stripHyphens) {
27
+ formatted = formatted.replaceAll('-', ' ');
28
+ }
29
+ return formatted;
30
+ }
31
+ constructor(options){
32
+ this.kind = options.kind;
33
+ this.version = options.version;
34
+ this.baseDirectory = options.baseDirectory;
35
+ this.filename = options.filename;
36
+ this.path = path.join(this.baseDirectory, this.version.raw, this.filename);
37
+ this.uid = this.createUID();
38
+ }
39
+ }
40
+ const codemodFactory = (options)=>new Codemod(options);
41
+
42
+ exports.Codemod = Codemod;
43
+ exports.codemodFactory = codemodFactory;
44
+ //# sourceMappingURL=codemod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codemod.js","sources":["../../../../src/modules/codemod/codemod.ts"],"sourcesContent":["import path from 'node:path';\n\nimport * as constants from './constants';\n\nimport type { Codemod as CodemodInterface, FormatOptions, Kind, UID } from './types';\nimport type { Version } from '../version';\n\ntype CreateCodemodPayload = Pick<\n CodemodInterface,\n 'kind' | 'version' | 'baseDirectory' | 'filename'\n>;\n\nexport class Codemod implements CodemodInterface {\n uid: UID;\n\n kind: Kind;\n\n version: Version.SemVer;\n\n baseDirectory: string;\n\n filename: string;\n\n path: string;\n\n constructor(options: CreateCodemodPayload) {\n this.kind = options.kind;\n this.version = options.version;\n this.baseDirectory = options.baseDirectory;\n this.filename = options.filename;\n\n this.path = path.join(this.baseDirectory, this.version.raw, this.filename);\n this.uid = this.createUID();\n }\n\n private createUID(): UID {\n const name = this.format({ stripExtension: true, stripKind: true, stripHyphens: false });\n const kind = this.kind;\n const version = this.version.raw as Version.LiteralSemVer;\n\n return `${version}-${name}-${kind}`;\n }\n\n format(options?: FormatOptions) {\n const { stripExtension = true, stripKind = true, stripHyphens = true } = options ?? {};\n\n let formatted = this.filename;\n\n if (stripExtension) {\n formatted = formatted.replace(new RegExp(`\\\\.${constants.CODEMOD_EXTENSION}$`, 'i'), '');\n }\n\n if (stripKind) {\n formatted = formatted\n .replace(`.${constants.CODEMOD_CODE_SUFFIX}`, '')\n .replace(`.${constants.CODEMOD_JSON_SUFFIX}`, '');\n }\n\n if (stripHyphens) {\n formatted = formatted.replaceAll('-', ' ');\n }\n\n return formatted;\n }\n}\n\nexport const codemodFactory = (options: CreateCodemodPayload) => new Codemod(options);\n"],"names":["Codemod","createUID","name","format","stripExtension","stripKind","stripHyphens","kind","version","raw","options","formatted","filename","replace","RegExp","constants","replaceAll","constructor","baseDirectory","path","join","uid","codemodFactory"],"mappings":";;;;;AAYO,MAAMA,OAAAA,CAAAA;IAuBHC,SAAiB,GAAA;AACvB,QAAA,MAAMC,IAAO,GAAA,IAAI,CAACC,MAAM,CAAC;YAAEC,cAAgB,EAAA,IAAA;YAAMC,SAAW,EAAA,IAAA;YAAMC,YAAc,EAAA;AAAM,SAAA,CAAA;QACtF,MAAMC,IAAAA,GAAO,IAAI,CAACA,IAAI;AACtB,QAAA,MAAMC,OAAU,GAAA,IAAI,CAACA,OAAO,CAACC,GAAG;QAEhC,OAAO,CAAC,EAAED,OAAQ,CAAA,CAAC,EAAEN,IAAK,CAAA,CAAC,EAAEK,IAAAA,CAAK,CAAC;AACrC;AAEAJ,IAAAA,MAAAA,CAAOO,OAAuB,EAAE;AAC9B,QAAA,MAAM,EAAEN,cAAAA,GAAiB,IAAI,EAAEC,SAAY,GAAA,IAAI,EAAEC,YAAAA,GAAe,IAAI,EAAE,GAAGI,OAAAA,IAAW,EAAC;QAErF,IAAIC,SAAAA,GAAY,IAAI,CAACC,QAAQ;AAE7B,QAAA,IAAIR,cAAgB,EAAA;AAClBO,YAAAA,SAAAA,GAAYA,SAAUE,CAAAA,OAAO,CAAC,IAAIC,OAAO,CAAC,GAAG,EAAEC,2BAA2B,CAAC,CAAC,CAAC,EAAE,GAAM,CAAA,EAAA,EAAA,CAAA;AACvF;AAEA,QAAA,IAAIV,SAAW,EAAA;YACbM,SAAYA,GAAAA,SAAAA,CACTE,OAAO,CAAC,CAAC,CAAC,EAAEE,6BAA6B,CAAC,CAAC,EAAE,EAC7CF,CAAAA,CAAAA,OAAO,CAAC,CAAC,CAAC,EAAEE,6BAA6B,CAAC,CAAC,EAAE,EAAA,CAAA;AAClD;AAEA,QAAA,IAAIT,YAAc,EAAA;YAChBK,SAAYA,GAAAA,SAAAA,CAAUK,UAAU,CAAC,GAAK,EAAA,GAAA,CAAA;AACxC;QAEA,OAAOL,SAAAA;AACT;AAtCAM,IAAAA,WAAAA,CAAYP,OAA6B,CAAE;AACzC,QAAA,IAAI,CAACH,IAAI,GAAGG,OAAAA,CAAQH,IAAI;AACxB,QAAA,IAAI,CAACC,OAAO,GAAGE,OAAAA,CAAQF,OAAO;AAC9B,QAAA,IAAI,CAACU,aAAa,GAAGR,OAAAA,CAAQQ,aAAa;AAC1C,QAAA,IAAI,CAACN,QAAQ,GAAGF,OAAAA,CAAQE,QAAQ;AAEhC,QAAA,IAAI,CAACO,IAAI,GAAGA,KAAKC,IAAI,CAAC,IAAI,CAACF,aAAa,EAAE,IAAI,CAACV,OAAO,CAACC,GAAG,EAAE,IAAI,CAACG,QAAQ,CAAA;AACzE,QAAA,IAAI,CAACS,GAAG,GAAG,IAAI,CAACpB,SAAS,EAAA;AAC3B;AA+BF;MAEaqB,cAAiB,GAAA,CAACZ,OAAkC,GAAA,IAAIV,QAAQU,OAAS;;;;;"}
@@ -0,0 +1,41 @@
1
+ import path from 'node:path';
2
+ import { CODEMOD_EXTENSION, CODEMOD_CODE_SUFFIX, CODEMOD_JSON_SUFFIX } from './constants.mjs';
3
+
4
+ class Codemod {
5
+ createUID() {
6
+ const name = this.format({
7
+ stripExtension: true,
8
+ stripKind: true,
9
+ stripHyphens: false
10
+ });
11
+ const kind = this.kind;
12
+ const version = this.version.raw;
13
+ return `${version}-${name}-${kind}`;
14
+ }
15
+ format(options) {
16
+ const { stripExtension = true, stripKind = true, stripHyphens = true } = options ?? {};
17
+ let formatted = this.filename;
18
+ if (stripExtension) {
19
+ formatted = formatted.replace(new RegExp(`\\.${CODEMOD_EXTENSION}$`, 'i'), '');
20
+ }
21
+ if (stripKind) {
22
+ formatted = formatted.replace(`.${CODEMOD_CODE_SUFFIX}`, '').replace(`.${CODEMOD_JSON_SUFFIX}`, '');
23
+ }
24
+ if (stripHyphens) {
25
+ formatted = formatted.replaceAll('-', ' ');
26
+ }
27
+ return formatted;
28
+ }
29
+ constructor(options){
30
+ this.kind = options.kind;
31
+ this.version = options.version;
32
+ this.baseDirectory = options.baseDirectory;
33
+ this.filename = options.filename;
34
+ this.path = path.join(this.baseDirectory, this.version.raw, this.filename);
35
+ this.uid = this.createUID();
36
+ }
37
+ }
38
+ const codemodFactory = (options)=>new Codemod(options);
39
+
40
+ export { Codemod, codemodFactory };
41
+ //# sourceMappingURL=codemod.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codemod.mjs","sources":["../../../../src/modules/codemod/codemod.ts"],"sourcesContent":["import path from 'node:path';\n\nimport * as constants from './constants';\n\nimport type { Codemod as CodemodInterface, FormatOptions, Kind, UID } from './types';\nimport type { Version } from '../version';\n\ntype CreateCodemodPayload = Pick<\n CodemodInterface,\n 'kind' | 'version' | 'baseDirectory' | 'filename'\n>;\n\nexport class Codemod implements CodemodInterface {\n uid: UID;\n\n kind: Kind;\n\n version: Version.SemVer;\n\n baseDirectory: string;\n\n filename: string;\n\n path: string;\n\n constructor(options: CreateCodemodPayload) {\n this.kind = options.kind;\n this.version = options.version;\n this.baseDirectory = options.baseDirectory;\n this.filename = options.filename;\n\n this.path = path.join(this.baseDirectory, this.version.raw, this.filename);\n this.uid = this.createUID();\n }\n\n private createUID(): UID {\n const name = this.format({ stripExtension: true, stripKind: true, stripHyphens: false });\n const kind = this.kind;\n const version = this.version.raw as Version.LiteralSemVer;\n\n return `${version}-${name}-${kind}`;\n }\n\n format(options?: FormatOptions) {\n const { stripExtension = true, stripKind = true, stripHyphens = true } = options ?? {};\n\n let formatted = this.filename;\n\n if (stripExtension) {\n formatted = formatted.replace(new RegExp(`\\\\.${constants.CODEMOD_EXTENSION}$`, 'i'), '');\n }\n\n if (stripKind) {\n formatted = formatted\n .replace(`.${constants.CODEMOD_CODE_SUFFIX}`, '')\n .replace(`.${constants.CODEMOD_JSON_SUFFIX}`, '');\n }\n\n if (stripHyphens) {\n formatted = formatted.replaceAll('-', ' ');\n }\n\n return formatted;\n }\n}\n\nexport const codemodFactory = (options: CreateCodemodPayload) => new Codemod(options);\n"],"names":["Codemod","createUID","name","format","stripExtension","stripKind","stripHyphens","kind","version","raw","options","formatted","filename","replace","RegExp","constants","replaceAll","constructor","baseDirectory","path","join","uid","codemodFactory"],"mappings":";;;AAYO,MAAMA,OAAAA,CAAAA;IAuBHC,SAAiB,GAAA;AACvB,QAAA,MAAMC,IAAO,GAAA,IAAI,CAACC,MAAM,CAAC;YAAEC,cAAgB,EAAA,IAAA;YAAMC,SAAW,EAAA,IAAA;YAAMC,YAAc,EAAA;AAAM,SAAA,CAAA;QACtF,MAAMC,IAAAA,GAAO,IAAI,CAACA,IAAI;AACtB,QAAA,MAAMC,OAAU,GAAA,IAAI,CAACA,OAAO,CAACC,GAAG;QAEhC,OAAO,CAAC,EAAED,OAAQ,CAAA,CAAC,EAAEN,IAAK,CAAA,CAAC,EAAEK,IAAAA,CAAK,CAAC;AACrC;AAEAJ,IAAAA,MAAAA,CAAOO,OAAuB,EAAE;AAC9B,QAAA,MAAM,EAAEN,cAAAA,GAAiB,IAAI,EAAEC,SAAY,GAAA,IAAI,EAAEC,YAAAA,GAAe,IAAI,EAAE,GAAGI,OAAAA,IAAW,EAAC;QAErF,IAAIC,SAAAA,GAAY,IAAI,CAACC,QAAQ;AAE7B,QAAA,IAAIR,cAAgB,EAAA;AAClBO,YAAAA,SAAAA,GAAYA,SAAUE,CAAAA,OAAO,CAAC,IAAIC,OAAO,CAAC,GAAG,EAAEC,iBAA2B,CAAC,CAAC,CAAC,EAAE,GAAM,CAAA,EAAA,EAAA,CAAA;AACvF;AAEA,QAAA,IAAIV,SAAW,EAAA;YACbM,SAAYA,GAAAA,SAAAA,CACTE,OAAO,CAAC,CAAC,CAAC,EAAEE,mBAA6B,CAAC,CAAC,EAAE,EAC7CF,CAAAA,CAAAA,OAAO,CAAC,CAAC,CAAC,EAAEE,mBAA6B,CAAC,CAAC,EAAE,EAAA,CAAA;AAClD;AAEA,QAAA,IAAIT,YAAc,EAAA;YAChBK,SAAYA,GAAAA,SAAAA,CAAUK,UAAU,CAAC,GAAK,EAAA,GAAA,CAAA;AACxC;QAEA,OAAOL,SAAAA;AACT;AAtCAM,IAAAA,WAAAA,CAAYP,OAA6B,CAAE;AACzC,QAAA,IAAI,CAACH,IAAI,GAAGG,OAAAA,CAAQH,IAAI;AACxB,QAAA,IAAI,CAACC,OAAO,GAAGE,OAAAA,CAAQF,OAAO;AAC9B,QAAA,IAAI,CAACU,aAAa,GAAGR,OAAAA,CAAQQ,aAAa;AAC1C,QAAA,IAAI,CAACN,QAAQ,GAAGF,OAAAA,CAAQE,QAAQ;AAEhC,QAAA,IAAI,CAACO,IAAI,GAAGA,KAAKC,IAAI,CAAC,IAAI,CAACF,aAAa,EAAE,IAAI,CAACV,OAAO,CAACC,GAAG,EAAE,IAAI,CAACG,QAAQ,CAAA;AACzE,QAAA,IAAI,CAACS,GAAG,GAAG,IAAI,CAACpB,SAAS,EAAA;AAC3B;AA+BF;MAEaqB,cAAiB,GAAA,CAACZ,OAAkC,GAAA,IAAIV,QAAQU,OAAS;;;;"}
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ const CODEMOD_CODE_SUFFIX = 'code';
4
+ const CODEMOD_JSON_SUFFIX = 'json';
5
+ const CODEMOD_ALLOWED_SUFFIXES = [
6
+ CODEMOD_CODE_SUFFIX,
7
+ CODEMOD_JSON_SUFFIX
8
+ ];
9
+ const CODEMOD_EXTENSION = 'ts';
10
+ const CODEMOD_FILE_REGEXP = new RegExp(`^.+[.](${CODEMOD_ALLOWED_SUFFIXES.join('|')})[.]${CODEMOD_EXTENSION}$`);
11
+
12
+ exports.CODEMOD_ALLOWED_SUFFIXES = CODEMOD_ALLOWED_SUFFIXES;
13
+ exports.CODEMOD_CODE_SUFFIX = CODEMOD_CODE_SUFFIX;
14
+ exports.CODEMOD_EXTENSION = CODEMOD_EXTENSION;
15
+ exports.CODEMOD_FILE_REGEXP = CODEMOD_FILE_REGEXP;
16
+ exports.CODEMOD_JSON_SUFFIX = CODEMOD_JSON_SUFFIX;
17
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/modules/codemod/constants.ts"],"sourcesContent":["export const CODEMOD_CODE_SUFFIX = 'code';\n\nexport const CODEMOD_JSON_SUFFIX = 'json';\n\nexport const CODEMOD_ALLOWED_SUFFIXES = [CODEMOD_CODE_SUFFIX, CODEMOD_JSON_SUFFIX];\n\nexport const CODEMOD_EXTENSION = 'ts';\n\nexport const CODEMOD_FILE_REGEXP = new RegExp(\n `^.+[.](${CODEMOD_ALLOWED_SUFFIXES.join('|')})[.]${CODEMOD_EXTENSION}$`\n);\n"],"names":["CODEMOD_CODE_SUFFIX","CODEMOD_JSON_SUFFIX","CODEMOD_ALLOWED_SUFFIXES","CODEMOD_EXTENSION","CODEMOD_FILE_REGEXP","RegExp","join"],"mappings":";;AAAO,MAAMA,sBAAsB;AAE5B,MAAMC,sBAAsB;MAEtBC,wBAA2B,GAAA;AAACF,IAAAA,mBAAAA;AAAqBC,IAAAA;;AAEvD,MAAME,oBAAoB;MAEpBC,mBAAsB,GAAA,IAAIC,MACrC,CAAA,CAAC,OAAO,EAAEH,wBAAAA,CAAyBI,IAAI,CAAC,KAAK,IAAI,EAAEH,iBAAkB,CAAA,CAAC,CAAC;;;;;;;;"}
@@ -0,0 +1,11 @@
1
+ const CODEMOD_CODE_SUFFIX = 'code';
2
+ const CODEMOD_JSON_SUFFIX = 'json';
3
+ const CODEMOD_ALLOWED_SUFFIXES = [
4
+ CODEMOD_CODE_SUFFIX,
5
+ CODEMOD_JSON_SUFFIX
6
+ ];
7
+ const CODEMOD_EXTENSION = 'ts';
8
+ const CODEMOD_FILE_REGEXP = new RegExp(`^.+[.](${CODEMOD_ALLOWED_SUFFIXES.join('|')})[.]${CODEMOD_EXTENSION}$`);
9
+
10
+ export { CODEMOD_ALLOWED_SUFFIXES, CODEMOD_CODE_SUFFIX, CODEMOD_EXTENSION, CODEMOD_FILE_REGEXP, CODEMOD_JSON_SUFFIX };
11
+ //# sourceMappingURL=constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.mjs","sources":["../../../../src/modules/codemod/constants.ts"],"sourcesContent":["export const CODEMOD_CODE_SUFFIX = 'code';\n\nexport const CODEMOD_JSON_SUFFIX = 'json';\n\nexport const CODEMOD_ALLOWED_SUFFIXES = [CODEMOD_CODE_SUFFIX, CODEMOD_JSON_SUFFIX];\n\nexport const CODEMOD_EXTENSION = 'ts';\n\nexport const CODEMOD_FILE_REGEXP = new RegExp(\n `^.+[.](${CODEMOD_ALLOWED_SUFFIXES.join('|')})[.]${CODEMOD_EXTENSION}$`\n);\n"],"names":["CODEMOD_CODE_SUFFIX","CODEMOD_JSON_SUFFIX","CODEMOD_ALLOWED_SUFFIXES","CODEMOD_EXTENSION","CODEMOD_FILE_REGEXP","RegExp","join"],"mappings":"AAAO,MAAMA,sBAAsB;AAE5B,MAAMC,sBAAsB;MAEtBC,wBAA2B,GAAA;AAACF,IAAAA,mBAAAA;AAAqBC,IAAAA;;AAEvD,MAAME,oBAAoB;MAEpBC,mBAAsB,GAAA,IAAIC,MACrC,CAAA,CAAC,OAAO,EAAEH,wBAAAA,CAAyBI,IAAI,CAAC,KAAK,IAAI,EAAEH,iBAAkB,CAAA,CAAC,CAAC;;;;"}
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var codemod = require('./codemod.js');
4
+ var constants = require('./constants.js');
5
+
6
+
7
+
8
+ exports.codemodFactory = codemod.codemodFactory;
9
+ exports.constants = constants;
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,4 @@
1
+ export { codemodFactory } from './codemod.mjs';
2
+ import * as constants from './constants.mjs';
3
+ export { constants };
4
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var path = require('node:path');
4
+
5
+ const INTERNAL_CODEMODS_DIRECTORY = path.join(__dirname, '..', '..', 'resources', 'codemods' // upgrade/resources/codemods
6
+ );
7
+
8
+ exports.INTERNAL_CODEMODS_DIRECTORY = INTERNAL_CODEMODS_DIRECTORY;
9
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/modules/codemod-repository/constants.ts"],"sourcesContent":["import path from 'node:path';\n\nexport const INTERNAL_CODEMODS_DIRECTORY = path.join(\n __dirname, // upgrade/dist\n '..',\n '..',\n 'resources', // upgrade/resources\n 'codemods' // upgrade/resources/codemods\n);\n"],"names":["INTERNAL_CODEMODS_DIRECTORY","path","join","__dirname"],"mappings":";;;;AAEO,MAAMA,2BAA8BC,GAAAA,IAAAA,CAAKC,IAAI,CAClDC,WACA,IACA,EAAA,IAAA,EACA,WACA,EAAA,UAAA;AACA;;;;"}
@@ -0,0 +1,7 @@
1
+ import path from 'node:path';
2
+
3
+ const INTERNAL_CODEMODS_DIRECTORY = path.join(__dirname, '..', '..', 'resources', 'codemods' // upgrade/resources/codemods
4
+ );
5
+
6
+ export { INTERNAL_CODEMODS_DIRECTORY };
7
+ //# sourceMappingURL=constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.mjs","sources":["../../../../src/modules/codemod-repository/constants.ts"],"sourcesContent":["import path from 'node:path';\n\nexport const INTERNAL_CODEMODS_DIRECTORY = path.join(\n __dirname, // upgrade/dist\n '..',\n '..',\n 'resources', // upgrade/resources\n 'codemods' // upgrade/resources/codemods\n);\n"],"names":["INTERNAL_CODEMODS_DIRECTORY","path","join","__dirname"],"mappings":";;AAEO,MAAMA,2BAA8BC,GAAAA,IAAAA,CAAKC,IAAI,CAClDC,WACA,IACA,EAAA,IAAA,EACA,WACA,EAAA,UAAA;AACA;;;;"}
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var repository = require('./repository.js');
4
+ var constants = require('./constants.js');
5
+
6
+
7
+
8
+ exports.codemodRepositoryFactory = repository.codemodRepositoryFactory;
9
+ exports.constants = constants;
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,4 @@
1
+ export { codemodRepositoryFactory } from './repository.mjs';
2
+ import * as constants from './constants.mjs';
3
+ export { constants };
4
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}