@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 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,5 @@
1
+ import * as index from './json/index.mjs';
2
+ export { index as json };
3
+ import * as index$1 from './code/index.mjs';
4
+ export { index$1 as code };
5
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ var json = require('./json.js');
4
+
5
+
6
+
7
+ exports.jsonRunnerFactory = json.jsonRunnerFactory;
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,2 @@
1
+ export { jsonRunnerFactory } from './json.mjs';
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ var runner = require('../runner.js');
4
+ var transform = require('./transform.js');
5
+
6
+ class JSONRunner extends runner.AbstractRunner {
7
+ valid(codemod) {
8
+ return codemod.kind === 'json';
9
+ }
10
+ constructor(...args){
11
+ super(...args);
12
+ this.runner = transform.transformJSON;
13
+ }
14
+ }
15
+ const jsonRunnerFactory = (paths, configuration)=>{
16
+ return new JSONRunner(paths, configuration);
17
+ };
18
+
19
+ exports.JSONRunner = JSONRunner;
20
+ exports.jsonRunnerFactory = jsonRunnerFactory;
21
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sources":["../../../../../src/modules/runner/json/json.ts"],"sourcesContent":["import { AbstractRunner } from '../runner';\n\nimport { transformJSON } from './transform';\n\nimport type { Codemod } from '../../codemod';\nimport type { JSONRunnerConfiguration } from './types';\n\nexport class JSONRunner extends AbstractRunner<JSONRunnerConfiguration> {\n runner = transformJSON;\n\n valid(codemod: Codemod.Codemod): boolean {\n return codemod.kind === 'json';\n }\n}\n\nexport const jsonRunnerFactory = (paths: string[], configuration: JSONRunnerConfiguration) => {\n return new JSONRunner(paths, configuration);\n};\n"],"names":["JSONRunner","AbstractRunner","valid","codemod","kind","runner","transformJSON","jsonRunnerFactory","paths","configuration"],"mappings":";;;;;AAOO,MAAMA,UAAmBC,SAAAA,qBAAAA,CAAAA;AAG9BC,IAAAA,KAAAA,CAAMC,OAAwB,EAAW;QACvC,OAAOA,OAAAA,CAAQC,IAAI,KAAK,MAAA;AAC1B;;;aAJAC,MAASC,GAAAA,uBAAAA;;AAKX;AAEO,MAAMC,iBAAoB,GAAA,CAACC,KAAiBC,EAAAA,aAAAA,GAAAA;IACjD,OAAO,IAAIT,WAAWQ,KAAOC,EAAAA,aAAAA,CAAAA;AAC/B;;;;;"}
@@ -0,0 +1,18 @@
1
+ import { AbstractRunner } from '../runner.mjs';
2
+ import { transformJSON } from './transform.mjs';
3
+
4
+ class JSONRunner extends AbstractRunner {
5
+ valid(codemod) {
6
+ return codemod.kind === 'json';
7
+ }
8
+ constructor(...args){
9
+ super(...args);
10
+ this.runner = transformJSON;
11
+ }
12
+ }
13
+ const jsonRunnerFactory = (paths, configuration)=>{
14
+ return new JSONRunner(paths, configuration);
15
+ };
16
+
17
+ export { JSONRunner, jsonRunnerFactory };
18
+ //# sourceMappingURL=json.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.mjs","sources":["../../../../../src/modules/runner/json/json.ts"],"sourcesContent":["import { AbstractRunner } from '../runner';\n\nimport { transformJSON } from './transform';\n\nimport type { Codemod } from '../../codemod';\nimport type { JSONRunnerConfiguration } from './types';\n\nexport class JSONRunner extends AbstractRunner<JSONRunnerConfiguration> {\n runner = transformJSON;\n\n valid(codemod: Codemod.Codemod): boolean {\n return codemod.kind === 'json';\n }\n}\n\nexport const jsonRunnerFactory = (paths: string[], configuration: JSONRunnerConfiguration) => {\n return new JSONRunner(paths, configuration);\n};\n"],"names":["JSONRunner","AbstractRunner","valid","codemod","kind","runner","transformJSON","jsonRunnerFactory","paths","configuration"],"mappings":";;;AAOO,MAAMA,UAAmBC,SAAAA,cAAAA,CAAAA;AAG9BC,IAAAA,KAAAA,CAAMC,OAAwB,EAAW;QACvC,OAAOA,OAAAA,CAAQC,IAAI,KAAK,MAAA;AAC1B;;;aAJAC,MAASC,GAAAA,aAAAA;;AAKX;AAEO,MAAMC,iBAAoB,GAAA,CAACC,KAAiBC,EAAAA,aAAAA,GAAAA;IACjD,OAAO,IAAIT,WAAWQ,KAAOC,EAAAA,aAAAA,CAAAA;AAC/B;;;;"}
@@ -0,0 +1,85 @@
1
+ 'use strict';
2
+
3
+ var assert = require('node:assert');
4
+ var fp = require('lodash/fp');
5
+ var node = require('esbuild-register/dist/node');
6
+ var transformApi = require('../../json/transform-api.js');
7
+ var file = require('../../json/file.js');
8
+
9
+ const transformJSON = async (codemodPath, paths, config)=>{
10
+ const { dry } = config;
11
+ const startTime = process.hrtime();
12
+ const report = {
13
+ ok: 0,
14
+ nochange: 0,
15
+ skip: 0,
16
+ error: 0,
17
+ timeElapsed: '',
18
+ stats: {}
19
+ };
20
+ /**
21
+ * Why do we need to include node_modules (hookIgnoreNodeModules) and specify a matcher (hookMatcher) to esbuild?
22
+ *
23
+ * When using tools like npx or dlx, the execution context is different from when running the program in a local
24
+ * project. npx and dlx run the commands in a temporary installation, which is isolated from local project files.
25
+ *
26
+ * When hookIgnoreNodeModules is not specified (or set to true), esbuild-register instructs
27
+ * Pirates (https://github.com/danez/pirates) to not transpile any files that come from node_modules.
28
+ *
29
+ * Now, when using npx or dlx to run a script, its location can be seen as "external" because it's not part of
30
+ * the temporary environment where npx or dlx execute. Therefore, it's considered to be part of node_modules.
31
+ *
32
+ * Due to this, if hookIgnoreNodeModules is set to true or left unspecified,
33
+ * esbuild-register won't try to compile them upon require.
34
+ *
35
+ * hookMatcher is added to make sure we're not matching anything else than our codemod in external directories.
36
+ */ const esbuildOptions = {
37
+ extensions: [
38
+ '.js',
39
+ '.mjs',
40
+ '.ts'
41
+ ],
42
+ hookIgnoreNodeModules: false,
43
+ hookMatcher: fp.isEqual(codemodPath)
44
+ };
45
+ const { unregister } = node.register(esbuildOptions);
46
+ const module = require(codemodPath);
47
+ unregister();
48
+ const codemod = typeof module.default === 'function' ? module.default : module;
49
+ assert(typeof codemod === 'function', `Codemod must be a function. Found ${typeof codemod}`);
50
+ for (const path of paths){
51
+ try {
52
+ const json = await file.readJSON(path);
53
+ // Make sure the JSON value is a JSON object
54
+ assert(typeof json === 'object' && !Array.isArray(json) && json !== null);
55
+ // TODO: Optimize the API to limit parse/stringify operations
56
+ const file$1 = {
57
+ path,
58
+ json
59
+ };
60
+ const params = {
61
+ cwd: config.cwd,
62
+ json: transformApi.createJSONTransformAPI
63
+ };
64
+ const out = await codemod(file$1, params);
65
+ if (out === undefined) {
66
+ report.error += 1;
67
+ } else if (!fp.isEqual(json, out)) {
68
+ if (!dry) {
69
+ await file.saveJSON(path, out);
70
+ }
71
+ report.ok += 1;
72
+ } else {
73
+ report.nochange += 1;
74
+ }
75
+ } catch {
76
+ report.error += 1;
77
+ }
78
+ }
79
+ const endTime = process.hrtime(startTime);
80
+ report.timeElapsed = (endTime[0] + endTime[1] / 1e9).toFixed(3);
81
+ return report;
82
+ };
83
+
84
+ exports.transformJSON = transformJSON;
85
+ //# sourceMappingURL=transform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform.js","sources":["../../../../../src/modules/runner/json/transform.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\n\nimport assert from 'node:assert';\nimport { isEqual } from 'lodash/fp';\nimport { register } from 'esbuild-register/dist/node';\n\nimport { createJSONTransformAPI, readJSON, saveJSON } from '../../json';\n\nimport type { Report } from '../../report';\n\nimport type { JSONRunnerConfiguration, JSONSourceFile, JSONTransformParams } from './types';\n\nexport const transformJSON = async (\n codemodPath: string,\n paths: string[],\n config: JSONRunnerConfiguration\n): Promise<Report.Report> => {\n const { dry } = config;\n const startTime = process.hrtime();\n\n const report: Report.Report = {\n ok: 0,\n nochange: 0,\n skip: 0,\n error: 0,\n timeElapsed: '',\n stats: {},\n };\n\n /**\n * Why do we need to include node_modules (hookIgnoreNodeModules) and specify a matcher (hookMatcher) to esbuild?\n *\n * When using tools like npx or dlx, the execution context is different from when running the program in a local\n * project. npx and dlx run the commands in a temporary installation, which is isolated from local project files.\n *\n * When hookIgnoreNodeModules is not specified (or set to true), esbuild-register instructs\n * Pirates (https://github.com/danez/pirates) to not transpile any files that come from node_modules.\n *\n * Now, when using npx or dlx to run a script, its location can be seen as \"external\" because it's not part of\n * the temporary environment where npx or dlx execute. Therefore, it's considered to be part of node_modules.\n *\n * Due to this, if hookIgnoreNodeModules is set to true or left unspecified,\n * esbuild-register won't try to compile them upon require.\n *\n * hookMatcher is added to make sure we're not matching anything else than our codemod in external directories.\n */\n const esbuildOptions = {\n extensions: ['.js', '.mjs', '.ts'],\n hookIgnoreNodeModules: false,\n hookMatcher: isEqual(codemodPath),\n };\n const { unregister } = register(esbuildOptions);\n\n const module = require(codemodPath);\n\n unregister();\n\n const codemod = typeof module.default === 'function' ? module.default : module;\n\n assert(typeof codemod === 'function', `Codemod must be a function. Found ${typeof codemod}`);\n\n for (const path of paths) {\n try {\n const json = await readJSON(path);\n\n // Make sure the JSON value is a JSON object\n assert(typeof json === 'object' && !Array.isArray(json) && json !== null);\n\n // TODO: Optimize the API to limit parse/stringify operations\n const file: JSONSourceFile = { path, json };\n const params: JSONTransformParams = { cwd: config.cwd, json: createJSONTransformAPI };\n\n const out = await codemod(file, params);\n\n if (out === undefined) {\n report.error += 1;\n }\n // If the json object has modifications\n else if (!isEqual(json, out)) {\n if (!dry) {\n await saveJSON(path, out);\n }\n report.ok += 1;\n }\n // No changes\n else {\n report.nochange += 1;\n }\n } catch {\n report.error += 1;\n }\n }\n\n const endTime = process.hrtime(startTime);\n report.timeElapsed = (endTime[0] + endTime[1] / 1e9).toFixed(3);\n\n return report;\n};\n"],"names":["transformJSON","codemodPath","paths","config","dry","startTime","process","hrtime","report","ok","nochange","skip","error","timeElapsed","stats","esbuildOptions","extensions","hookIgnoreNodeModules","hookMatcher","isEqual","unregister","register","module","require","codemod","default","assert","path","json","readJSON","Array","isArray","file","params","cwd","createJSONTransformAPI","out","undefined","saveJSON","endTime","toFixed"],"mappings":";;;;;;;;AAYaA,MAAAA,aAAAA,GAAgB,OAC3BC,WAAAA,EACAC,KACAC,EAAAA,MAAAA,GAAAA;IAEA,MAAM,EAAEC,GAAG,EAAE,GAAGD,MAAAA;IAChB,MAAME,SAAAA,GAAYC,QAAQC,MAAM,EAAA;AAEhC,IAAA,MAAMC,MAAwB,GAAA;QAC5BC,EAAI,EAAA,CAAA;QACJC,QAAU,EAAA,CAAA;QACVC,IAAM,EAAA,CAAA;QACNC,KAAO,EAAA,CAAA;QACPC,WAAa,EAAA,EAAA;AACbC,QAAAA,KAAAA,EAAO;AACT,KAAA;AAEA;;;;;;;;;;;;;;;;AAgBC,MACD,MAAMC,cAAiB,GAAA;QACrBC,UAAY,EAAA;AAAC,YAAA,KAAA;AAAO,YAAA,MAAA;AAAQ,YAAA;AAAM,SAAA;QAClCC,qBAAuB,EAAA,KAAA;AACvBC,QAAAA,WAAAA,EAAaC,UAAQlB,CAAAA,WAAAA;AACvB,KAAA;AACA,IAAA,MAAM,EAAEmB,UAAU,EAAE,GAAGC,aAASN,CAAAA,cAAAA,CAAAA;AAEhC,IAAA,MAAMO,SAASC,OAAQtB,CAAAA,WAAAA,CAAAA;AAEvBmB,IAAAA,UAAAA,EAAAA;IAEA,MAAMI,OAAAA,GAAU,OAAOF,MAAOG,CAAAA,OAAO,KAAK,UAAaH,GAAAA,MAAAA,CAAOG,OAAO,GAAGH,MAAAA;IAExEI,MAAO,CAAA,OAAOF,YAAY,UAAY,EAAA,CAAC,kCAAkC,EAAE,OAAOA,QAAQ,CAAC,CAAA;IAE3F,KAAK,MAAMG,QAAQzB,KAAO,CAAA;QACxB,IAAI;YACF,MAAM0B,IAAAA,GAAO,MAAMC,aAASF,CAAAA,IAAAA,CAAAA;;YAG5BD,MAAO,CAAA,OAAOE,SAAS,QAAY,IAAA,CAACE,MAAMC,OAAO,CAACH,SAASA,IAAS,KAAA,IAAA,CAAA;;AAGpE,YAAA,MAAMI,MAAuB,GAAA;AAAEL,gBAAAA,IAAAA;AAAMC,gBAAAA;AAAK,aAAA;AAC1C,YAAA,MAAMK,MAA8B,GAAA;AAAEC,gBAAAA,GAAAA,EAAK/B,OAAO+B,GAAG;gBAAEN,IAAMO,EAAAA;AAAuB,aAAA;YAEpF,MAAMC,GAAAA,GAAM,MAAMZ,OAAAA,CAAQQ,MAAMC,EAAAA,MAAAA,CAAAA;AAEhC,YAAA,IAAIG,QAAQC,SAAW,EAAA;AACrB7B,gBAAAA,MAAAA,CAAOI,KAAK,IAAI,CAAA;AAClB,aAAA,MAEK,IAAI,CAACO,UAAQS,CAAAA,IAAAA,EAAMQ,GAAM,CAAA,EAAA;AAC5B,gBAAA,IAAI,CAAChC,GAAK,EAAA;AACR,oBAAA,MAAMkC,cAASX,IAAMS,EAAAA,GAAAA,CAAAA;AACvB;AACA5B,gBAAAA,MAAAA,CAAOC,EAAE,IAAI,CAAA;aAGV,MAAA;AACHD,gBAAAA,MAAAA,CAAOE,QAAQ,IAAI,CAAA;AACrB;AACF,SAAA,CAAE,OAAM;AACNF,YAAAA,MAAAA,CAAOI,KAAK,IAAI,CAAA;AAClB;AACF;IAEA,MAAM2B,OAAAA,GAAUjC,OAAQC,CAAAA,MAAM,CAACF,SAAAA,CAAAA;AAC/BG,IAAAA,MAAAA,CAAOK,WAAW,GAAG,CAAC0B,OAAO,CAAC,CAAA,CAAE,GAAGA,OAAO,CAAC,CAAE,CAAA,GAAG,GAAE,EAAGC,OAAO,CAAC,CAAA,CAAA;IAE7D,OAAOhC,MAAAA;AACT;;;;"}
@@ -0,0 +1,83 @@
1
+ import assert from 'node:assert';
2
+ import { isEqual } from 'lodash/fp';
3
+ import { register } from 'esbuild-register/dist/node';
4
+ import { createJSONTransformAPI } from '../../json/transform-api.mjs';
5
+ import { readJSON, saveJSON } from '../../json/file.mjs';
6
+
7
+ const transformJSON = async (codemodPath, paths, config)=>{
8
+ const { dry } = config;
9
+ const startTime = process.hrtime();
10
+ const report = {
11
+ ok: 0,
12
+ nochange: 0,
13
+ skip: 0,
14
+ error: 0,
15
+ timeElapsed: '',
16
+ stats: {}
17
+ };
18
+ /**
19
+ * Why do we need to include node_modules (hookIgnoreNodeModules) and specify a matcher (hookMatcher) to esbuild?
20
+ *
21
+ * When using tools like npx or dlx, the execution context is different from when running the program in a local
22
+ * project. npx and dlx run the commands in a temporary installation, which is isolated from local project files.
23
+ *
24
+ * When hookIgnoreNodeModules is not specified (or set to true), esbuild-register instructs
25
+ * Pirates (https://github.com/danez/pirates) to not transpile any files that come from node_modules.
26
+ *
27
+ * Now, when using npx or dlx to run a script, its location can be seen as "external" because it's not part of
28
+ * the temporary environment where npx or dlx execute. Therefore, it's considered to be part of node_modules.
29
+ *
30
+ * Due to this, if hookIgnoreNodeModules is set to true or left unspecified,
31
+ * esbuild-register won't try to compile them upon require.
32
+ *
33
+ * hookMatcher is added to make sure we're not matching anything else than our codemod in external directories.
34
+ */ const esbuildOptions = {
35
+ extensions: [
36
+ '.js',
37
+ '.mjs',
38
+ '.ts'
39
+ ],
40
+ hookIgnoreNodeModules: false,
41
+ hookMatcher: isEqual(codemodPath)
42
+ };
43
+ const { unregister } = register(esbuildOptions);
44
+ const module = require(codemodPath);
45
+ unregister();
46
+ const codemod = typeof module.default === 'function' ? module.default : module;
47
+ assert(typeof codemod === 'function', `Codemod must be a function. Found ${typeof codemod}`);
48
+ for (const path of paths){
49
+ try {
50
+ const json = await readJSON(path);
51
+ // Make sure the JSON value is a JSON object
52
+ assert(typeof json === 'object' && !Array.isArray(json) && json !== null);
53
+ // TODO: Optimize the API to limit parse/stringify operations
54
+ const file = {
55
+ path,
56
+ json
57
+ };
58
+ const params = {
59
+ cwd: config.cwd,
60
+ json: createJSONTransformAPI
61
+ };
62
+ const out = await codemod(file, params);
63
+ if (out === undefined) {
64
+ report.error += 1;
65
+ } else if (!isEqual(json, out)) {
66
+ if (!dry) {
67
+ await saveJSON(path, out);
68
+ }
69
+ report.ok += 1;
70
+ } else {
71
+ report.nochange += 1;
72
+ }
73
+ } catch {
74
+ report.error += 1;
75
+ }
76
+ }
77
+ const endTime = process.hrtime(startTime);
78
+ report.timeElapsed = (endTime[0] + endTime[1] / 1e9).toFixed(3);
79
+ return report;
80
+ };
81
+
82
+ export { transformJSON };
83
+ //# sourceMappingURL=transform.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform.mjs","sources":["../../../../../src/modules/runner/json/transform.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\n\nimport assert from 'node:assert';\nimport { isEqual } from 'lodash/fp';\nimport { register } from 'esbuild-register/dist/node';\n\nimport { createJSONTransformAPI, readJSON, saveJSON } from '../../json';\n\nimport type { Report } from '../../report';\n\nimport type { JSONRunnerConfiguration, JSONSourceFile, JSONTransformParams } from './types';\n\nexport const transformJSON = async (\n codemodPath: string,\n paths: string[],\n config: JSONRunnerConfiguration\n): Promise<Report.Report> => {\n const { dry } = config;\n const startTime = process.hrtime();\n\n const report: Report.Report = {\n ok: 0,\n nochange: 0,\n skip: 0,\n error: 0,\n timeElapsed: '',\n stats: {},\n };\n\n /**\n * Why do we need to include node_modules (hookIgnoreNodeModules) and specify a matcher (hookMatcher) to esbuild?\n *\n * When using tools like npx or dlx, the execution context is different from when running the program in a local\n * project. npx and dlx run the commands in a temporary installation, which is isolated from local project files.\n *\n * When hookIgnoreNodeModules is not specified (or set to true), esbuild-register instructs\n * Pirates (https://github.com/danez/pirates) to not transpile any files that come from node_modules.\n *\n * Now, when using npx or dlx to run a script, its location can be seen as \"external\" because it's not part of\n * the temporary environment where npx or dlx execute. Therefore, it's considered to be part of node_modules.\n *\n * Due to this, if hookIgnoreNodeModules is set to true or left unspecified,\n * esbuild-register won't try to compile them upon require.\n *\n * hookMatcher is added to make sure we're not matching anything else than our codemod in external directories.\n */\n const esbuildOptions = {\n extensions: ['.js', '.mjs', '.ts'],\n hookIgnoreNodeModules: false,\n hookMatcher: isEqual(codemodPath),\n };\n const { unregister } = register(esbuildOptions);\n\n const module = require(codemodPath);\n\n unregister();\n\n const codemod = typeof module.default === 'function' ? module.default : module;\n\n assert(typeof codemod === 'function', `Codemod must be a function. Found ${typeof codemod}`);\n\n for (const path of paths) {\n try {\n const json = await readJSON(path);\n\n // Make sure the JSON value is a JSON object\n assert(typeof json === 'object' && !Array.isArray(json) && json !== null);\n\n // TODO: Optimize the API to limit parse/stringify operations\n const file: JSONSourceFile = { path, json };\n const params: JSONTransformParams = { cwd: config.cwd, json: createJSONTransformAPI };\n\n const out = await codemod(file, params);\n\n if (out === undefined) {\n report.error += 1;\n }\n // If the json object has modifications\n else if (!isEqual(json, out)) {\n if (!dry) {\n await saveJSON(path, out);\n }\n report.ok += 1;\n }\n // No changes\n else {\n report.nochange += 1;\n }\n } catch {\n report.error += 1;\n }\n }\n\n const endTime = process.hrtime(startTime);\n report.timeElapsed = (endTime[0] + endTime[1] / 1e9).toFixed(3);\n\n return report;\n};\n"],"names":["transformJSON","codemodPath","paths","config","dry","startTime","process","hrtime","report","ok","nochange","skip","error","timeElapsed","stats","esbuildOptions","extensions","hookIgnoreNodeModules","hookMatcher","isEqual","unregister","register","module","require","codemod","default","assert","path","json","readJSON","Array","isArray","file","params","cwd","createJSONTransformAPI","out","undefined","saveJSON","endTime","toFixed"],"mappings":";;;;;;AAYaA,MAAAA,aAAAA,GAAgB,OAC3BC,WAAAA,EACAC,KACAC,EAAAA,MAAAA,GAAAA;IAEA,MAAM,EAAEC,GAAG,EAAE,GAAGD,MAAAA;IAChB,MAAME,SAAAA,GAAYC,QAAQC,MAAM,EAAA;AAEhC,IAAA,MAAMC,MAAwB,GAAA;QAC5BC,EAAI,EAAA,CAAA;QACJC,QAAU,EAAA,CAAA;QACVC,IAAM,EAAA,CAAA;QACNC,KAAO,EAAA,CAAA;QACPC,WAAa,EAAA,EAAA;AACbC,QAAAA,KAAAA,EAAO;AACT,KAAA;AAEA;;;;;;;;;;;;;;;;AAgBC,MACD,MAAMC,cAAiB,GAAA;QACrBC,UAAY,EAAA;AAAC,YAAA,KAAA;AAAO,YAAA,MAAA;AAAQ,YAAA;AAAM,SAAA;QAClCC,qBAAuB,EAAA,KAAA;AACvBC,QAAAA,WAAAA,EAAaC,OAAQlB,CAAAA,WAAAA;AACvB,KAAA;AACA,IAAA,MAAM,EAAEmB,UAAU,EAAE,GAAGC,QAASN,CAAAA,cAAAA,CAAAA;AAEhC,IAAA,MAAMO,SAASC,OAAQtB,CAAAA,WAAAA,CAAAA;AAEvBmB,IAAAA,UAAAA,EAAAA;IAEA,MAAMI,OAAAA,GAAU,OAAOF,MAAOG,CAAAA,OAAO,KAAK,UAAaH,GAAAA,MAAAA,CAAOG,OAAO,GAAGH,MAAAA;IAExEI,MAAO,CAAA,OAAOF,YAAY,UAAY,EAAA,CAAC,kCAAkC,EAAE,OAAOA,QAAQ,CAAC,CAAA;IAE3F,KAAK,MAAMG,QAAQzB,KAAO,CAAA;QACxB,IAAI;YACF,MAAM0B,IAAAA,GAAO,MAAMC,QAASF,CAAAA,IAAAA,CAAAA;;YAG5BD,MAAO,CAAA,OAAOE,SAAS,QAAY,IAAA,CAACE,MAAMC,OAAO,CAACH,SAASA,IAAS,KAAA,IAAA,CAAA;;AAGpE,YAAA,MAAMI,IAAuB,GAAA;AAAEL,gBAAAA,IAAAA;AAAMC,gBAAAA;AAAK,aAAA;AAC1C,YAAA,MAAMK,MAA8B,GAAA;AAAEC,gBAAAA,GAAAA,EAAK/B,OAAO+B,GAAG;gBAAEN,IAAMO,EAAAA;AAAuB,aAAA;YAEpF,MAAMC,GAAAA,GAAM,MAAMZ,OAAAA,CAAQQ,IAAMC,EAAAA,MAAAA,CAAAA;AAEhC,YAAA,IAAIG,QAAQC,SAAW,EAAA;AACrB7B,gBAAAA,MAAAA,CAAOI,KAAK,IAAI,CAAA;AAClB,aAAA,MAEK,IAAI,CAACO,OAAQS,CAAAA,IAAAA,EAAMQ,GAAM,CAAA,EAAA;AAC5B,gBAAA,IAAI,CAAChC,GAAK,EAAA;AACR,oBAAA,MAAMkC,SAASX,IAAMS,EAAAA,GAAAA,CAAAA;AACvB;AACA5B,gBAAAA,MAAAA,CAAOC,EAAE,IAAI,CAAA;aAGV,MAAA;AACHD,gBAAAA,MAAAA,CAAOE,QAAQ,IAAI,CAAA;AACrB;AACF,SAAA,CAAE,OAAM;AACNF,YAAAA,MAAAA,CAAOI,KAAK,IAAI,CAAA;AAClB;AACF;IAEA,MAAM2B,OAAAA,GAAUjC,OAAQC,CAAAA,MAAM,CAACF,SAAAA,CAAAA;AAC/BG,IAAAA,MAAAA,CAAOK,WAAW,GAAG,CAAC0B,OAAO,CAAC,CAAA,CAAE,GAAGA,OAAO,CAAC,CAAE,CAAA,GAAG,GAAE,EAAGC,OAAO,CAAC,CAAA,CAAA;IAE7D,OAAOhC,MAAAA;AACT;;;;"}
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ class AbstractRunner {
4
+ async run(codemod, configuration) {
5
+ const isValidCodemod = this.valid(codemod);
6
+ if (!isValidCodemod) {
7
+ throw new Error(`Invalid codemod provided to the runner: ${codemod.filename}`);
8
+ }
9
+ const runConfiguration = {
10
+ ...this.configuration,
11
+ ...configuration
12
+ };
13
+ return this.runner(codemod.path, this.paths, runConfiguration);
14
+ }
15
+ constructor(paths, configuration){
16
+ this.paths = paths;
17
+ this.configuration = configuration;
18
+ }
19
+ }
20
+
21
+ exports.AbstractRunner = AbstractRunner;
22
+ //# sourceMappingURL=runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.js","sources":["../../../../src/modules/runner/runner.ts"],"sourcesContent":["import type { Codemod } from '../codemod';\n\nimport type { Runner as RunnerInterface, RunnerConfiguration, RunnerFunction } from './types';\n\nexport abstract class AbstractRunner<TConfig extends RunnerConfiguration>\n implements RunnerInterface<TConfig>\n{\n abstract runner: RunnerFunction<TConfig>;\n\n paths: string[];\n\n configuration: TConfig;\n\n constructor(paths: string[], configuration: TConfig) {\n this.paths = paths;\n this.configuration = configuration;\n }\n\n async run(codemod: Codemod.Codemod, configuration?: TConfig) {\n const isValidCodemod = this.valid(codemod);\n\n if (!isValidCodemod) {\n throw new Error(`Invalid codemod provided to the runner: ${codemod.filename}`);\n }\n\n const runConfiguration: TConfig = { ...this.configuration, ...configuration };\n\n return this.runner(codemod.path, this.paths, runConfiguration);\n }\n\n abstract valid(codemod: Codemod.Codemod): boolean;\n}\n"],"names":["AbstractRunner","run","codemod","configuration","isValidCodemod","valid","Error","filename","runConfiguration","runner","path","paths","constructor"],"mappings":";;AAIO,MAAeA,cAAAA,CAAAA;AAcpB,IAAA,MAAMC,GAAIC,CAAAA,OAAwB,EAAEC,aAAuB,EAAE;AAC3D,QAAA,MAAMC,cAAiB,GAAA,IAAI,CAACC,KAAK,CAACH,OAAAA,CAAAA;AAElC,QAAA,IAAI,CAACE,cAAgB,EAAA;YACnB,MAAM,IAAIE,MAAM,CAAC,wCAAwC,EAAEJ,OAAQK,CAAAA,QAAQ,CAAC,CAAC,CAAA;AAC/E;AAEA,QAAA,MAAMC,gBAA4B,GAAA;YAAE,GAAG,IAAI,CAACL,aAAa;AAAE,YAAA,GAAGA;AAAc,SAAA;QAE5E,OAAO,IAAI,CAACM,MAAM,CAACP,OAAAA,CAAQQ,IAAI,EAAE,IAAI,CAACC,KAAK,EAAEH,gBAAAA,CAAAA;AAC/C;IAfAI,WAAYD,CAAAA,KAAe,EAAER,aAAsB,CAAE;QACnD,IAAI,CAACQ,KAAK,GAAGA,KAAAA;QACb,IAAI,CAACR,aAAa,GAAGA,aAAAA;AACvB;AAeF;;;;"}
@@ -0,0 +1,20 @@
1
+ class AbstractRunner {
2
+ async run(codemod, configuration) {
3
+ const isValidCodemod = this.valid(codemod);
4
+ if (!isValidCodemod) {
5
+ throw new Error(`Invalid codemod provided to the runner: ${codemod.filename}`);
6
+ }
7
+ const runConfiguration = {
8
+ ...this.configuration,
9
+ ...configuration
10
+ };
11
+ return this.runner(codemod.path, this.paths, runConfiguration);
12
+ }
13
+ constructor(paths, configuration){
14
+ this.paths = paths;
15
+ this.configuration = configuration;
16
+ }
17
+ }
18
+
19
+ export { AbstractRunner };
20
+ //# sourceMappingURL=runner.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.mjs","sources":["../../../../src/modules/runner/runner.ts"],"sourcesContent":["import type { Codemod } from '../codemod';\n\nimport type { Runner as RunnerInterface, RunnerConfiguration, RunnerFunction } from './types';\n\nexport abstract class AbstractRunner<TConfig extends RunnerConfiguration>\n implements RunnerInterface<TConfig>\n{\n abstract runner: RunnerFunction<TConfig>;\n\n paths: string[];\n\n configuration: TConfig;\n\n constructor(paths: string[], configuration: TConfig) {\n this.paths = paths;\n this.configuration = configuration;\n }\n\n async run(codemod: Codemod.Codemod, configuration?: TConfig) {\n const isValidCodemod = this.valid(codemod);\n\n if (!isValidCodemod) {\n throw new Error(`Invalid codemod provided to the runner: ${codemod.filename}`);\n }\n\n const runConfiguration: TConfig = { ...this.configuration, ...configuration };\n\n return this.runner(codemod.path, this.paths, runConfiguration);\n }\n\n abstract valid(codemod: Codemod.Codemod): boolean;\n}\n"],"names":["AbstractRunner","run","codemod","configuration","isValidCodemod","valid","Error","filename","runConfiguration","runner","path","paths","constructor"],"mappings":"AAIO,MAAeA,cAAAA,CAAAA;AAcpB,IAAA,MAAMC,GAAIC,CAAAA,OAAwB,EAAEC,aAAuB,EAAE;AAC3D,QAAA,MAAMC,cAAiB,GAAA,IAAI,CAACC,KAAK,CAACH,OAAAA,CAAAA;AAElC,QAAA,IAAI,CAACE,cAAgB,EAAA;YACnB,MAAM,IAAIE,MAAM,CAAC,wCAAwC,EAAEJ,OAAQK,CAAAA,QAAQ,CAAC,CAAC,CAAA;AAC/E;AAEA,QAAA,MAAMC,gBAA4B,GAAA;YAAE,GAAG,IAAI,CAACL,aAAa;AAAE,YAAA,GAAGA;AAAc,SAAA;QAE5E,OAAO,IAAI,CAACM,MAAM,CAACP,OAAAA,CAAQQ,IAAI,EAAE,IAAI,CAACC,KAAK,EAAEH,gBAAAA,CAAAA;AAC/C;IAfAI,WAAYD,CAAAA,KAAe,EAAER,aAAsB,CAAE;QACnD,IAAI,CAACQ,KAAK,GAAGA,KAAAA;QACb,IAAI,CAACR,aAAa,GAAGA,aAAAA;AACvB;AAeF;;;;"}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ const ONE_SECOND_MS = 1000;
4
+
5
+ exports.ONE_SECOND_MS = ONE_SECOND_MS;
6
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/modules/timer/constants.ts"],"sourcesContent":["export const ONE_SECOND_MS = 1000;\n"],"names":["ONE_SECOND_MS"],"mappings":";;AAAO,MAAMA,gBAAgB;;;;"}
@@ -0,0 +1,4 @@
1
+ const ONE_SECOND_MS = 1000;
2
+
3
+ export { ONE_SECOND_MS };
4
+ //# sourceMappingURL=constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.mjs","sources":["../../../../src/modules/timer/constants.ts"],"sourcesContent":["export const ONE_SECOND_MS = 1000;\n"],"names":["ONE_SECOND_MS"],"mappings":"AAAO,MAAMA,gBAAgB;;;;"}
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var timer = require('./timer.js');
4
+ var constants = require('./constants.js');
5
+
6
+
7
+
8
+ exports.timerFactory = timer.timerFactory;
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 { timerFactory } from './timer.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,33 @@
1
+ 'use strict';
2
+
3
+ class Timer {
4
+ get elapsedMs() {
5
+ const { start, end } = this.interval;
6
+ return end ? end - start : Date.now() - start;
7
+ }
8
+ get end() {
9
+ return this.interval.end;
10
+ }
11
+ get start() {
12
+ return this.interval.start;
13
+ }
14
+ stop() {
15
+ this.interval.end = Date.now();
16
+ return this.elapsedMs;
17
+ }
18
+ reset() {
19
+ this.interval = {
20
+ start: Date.now(),
21
+ end: null
22
+ };
23
+ return this;
24
+ }
25
+ constructor(){
26
+ this.reset();
27
+ }
28
+ }
29
+ const timerFactory = ()=>new Timer();
30
+
31
+ exports.Timer = Timer;
32
+ exports.timerFactory = timerFactory;
33
+ //# sourceMappingURL=timer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timer.js","sources":["../../../../src/modules/timer/timer.ts"],"sourcesContent":["import type { Timer as TimerInterface, TimeInterval } from './types';\n\nexport class Timer implements TimerInterface {\n private interval!: TimeInterval;\n\n constructor() {\n this.reset();\n }\n\n get elapsedMs() {\n const { start, end } = this.interval;\n\n return end ? end - start : Date.now() - start;\n }\n\n get end() {\n return this.interval.end;\n }\n\n get start() {\n return this.interval.start;\n }\n\n stop() {\n this.interval.end = Date.now();\n\n return this.elapsedMs;\n }\n\n reset() {\n this.interval = { start: Date.now(), end: null };\n\n return this;\n }\n}\n\nexport const timerFactory = () => new Timer();\n"],"names":["Timer","elapsedMs","start","end","interval","Date","now","stop","reset","constructor","timerFactory"],"mappings":";;AAEO,MAAMA,KAAAA,CAAAA;AAOX,IAAA,IAAIC,SAAY,GAAA;QACd,MAAM,EAAEC,KAAK,EAAEC,GAAG,EAAE,GAAG,IAAI,CAACC,QAAQ;AAEpC,QAAA,OAAOD,GAAMA,GAAAA,GAAAA,GAAMD,KAAQG,GAAAA,IAAAA,CAAKC,GAAG,EAAKJ,GAAAA,KAAAA;AAC1C;AAEA,IAAA,IAAIC,GAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAACC,QAAQ,CAACD,GAAG;AAC1B;AAEA,IAAA,IAAID,KAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAACE,QAAQ,CAACF,KAAK;AAC5B;IAEAK,IAAO,GAAA;AACL,QAAA,IAAI,CAACH,QAAQ,CAACD,GAAG,GAAGE,KAAKC,GAAG,EAAA;QAE5B,OAAO,IAAI,CAACL,SAAS;AACvB;IAEAO,KAAQ,GAAA;QACN,IAAI,CAACJ,QAAQ,GAAG;AAAEF,YAAAA,KAAAA,EAAOG,KAAKC,GAAG,EAAA;YAAIH,GAAK,EAAA;AAAK,SAAA;AAE/C,QAAA,OAAO,IAAI;AACb;IA5BAM,WAAc,EAAA;AACZ,QAAA,IAAI,CAACD,KAAK,EAAA;AACZ;AA2BF;AAEaE,MAAAA,YAAAA,GAAe,IAAM,IAAIV,KAAQ;;;;;"}
@@ -0,0 +1,30 @@
1
+ class Timer {
2
+ get elapsedMs() {
3
+ const { start, end } = this.interval;
4
+ return end ? end - start : Date.now() - start;
5
+ }
6
+ get end() {
7
+ return this.interval.end;
8
+ }
9
+ get start() {
10
+ return this.interval.start;
11
+ }
12
+ stop() {
13
+ this.interval.end = Date.now();
14
+ return this.elapsedMs;
15
+ }
16
+ reset() {
17
+ this.interval = {
18
+ start: Date.now(),
19
+ end: null
20
+ };
21
+ return this;
22
+ }
23
+ constructor(){
24
+ this.reset();
25
+ }
26
+ }
27
+ const timerFactory = ()=>new Timer();
28
+
29
+ export { Timer, timerFactory };
30
+ //# sourceMappingURL=timer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timer.mjs","sources":["../../../../src/modules/timer/timer.ts"],"sourcesContent":["import type { Timer as TimerInterface, TimeInterval } from './types';\n\nexport class Timer implements TimerInterface {\n private interval!: TimeInterval;\n\n constructor() {\n this.reset();\n }\n\n get elapsedMs() {\n const { start, end } = this.interval;\n\n return end ? end - start : Date.now() - start;\n }\n\n get end() {\n return this.interval.end;\n }\n\n get start() {\n return this.interval.start;\n }\n\n stop() {\n this.interval.end = Date.now();\n\n return this.elapsedMs;\n }\n\n reset() {\n this.interval = { start: Date.now(), end: null };\n\n return this;\n }\n}\n\nexport const timerFactory = () => new Timer();\n"],"names":["Timer","elapsedMs","start","end","interval","Date","now","stop","reset","constructor","timerFactory"],"mappings":"AAEO,MAAMA,KAAAA,CAAAA;AAOX,IAAA,IAAIC,SAAY,GAAA;QACd,MAAM,EAAEC,KAAK,EAAEC,GAAG,EAAE,GAAG,IAAI,CAACC,QAAQ;AAEpC,QAAA,OAAOD,GAAMA,GAAAA,GAAAA,GAAMD,KAAQG,GAAAA,IAAAA,CAAKC,GAAG,EAAKJ,GAAAA,KAAAA;AAC1C;AAEA,IAAA,IAAIC,GAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAACC,QAAQ,CAACD,GAAG;AAC1B;AAEA,IAAA,IAAID,KAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAACE,QAAQ,CAACF,KAAK;AAC5B;IAEAK,IAAO,GAAA;AACL,QAAA,IAAI,CAACH,QAAQ,CAACD,GAAG,GAAGE,KAAKC,GAAG,EAAA;QAE5B,OAAO,IAAI,CAACL,SAAS;AACvB;IAEAO,KAAQ,GAAA;QACN,IAAI,CAACJ,QAAQ,GAAG;AAAEF,YAAAA,KAAAA,EAAOG,KAAKC,GAAG,EAAA;YAAIH,GAAK,EAAA;AAAK,SAAA;AAE/C,QAAA,OAAO,IAAI;AACb;IA5BAM,WAAc,EAAA;AACZ,QAAA,IAAI,CAACD,KAAK,EAAA;AACZ;AA2BF;AAEaE,MAAAA,YAAAA,GAAe,IAAM,IAAIV,KAAQ;;;;"}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ const STRAPI_PACKAGE_NAME = '@strapi/strapi';
4
+
5
+ exports.STRAPI_PACKAGE_NAME = STRAPI_PACKAGE_NAME;
6
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/modules/upgrader/constants.ts"],"sourcesContent":["export const STRAPI_PACKAGE_NAME = '@strapi/strapi';\n"],"names":["STRAPI_PACKAGE_NAME"],"mappings":";;AAAO,MAAMA,sBAAsB;;;;"}
@@ -0,0 +1,4 @@
1
+ const STRAPI_PACKAGE_NAME = '@strapi/strapi';
2
+
3
+ export { STRAPI_PACKAGE_NAME };
4
+ //# sourceMappingURL=constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.mjs","sources":["../../../../src/modules/upgrader/constants.ts"],"sourcesContent":["export const STRAPI_PACKAGE_NAME = '@strapi/strapi';\n"],"names":["STRAPI_PACKAGE_NAME"],"mappings":"AAAO,MAAMA,sBAAsB;;;;"}
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var upgrader = require('./upgrader.js');
4
+ var constants = require('./constants.js');
5
+
6
+
7
+
8
+ exports.upgraderFactory = upgrader.upgraderFactory;
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 { upgraderFactory } from './upgrader.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":";;"}