@strapi/upgrade 5.12.0 → 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.
- package/dist/cli.js +6 -203
- package/dist/cli.js.map +1 -1
- package/dist/cli.mjs +5 -202
- package/dist/cli.mjs.map +1 -1
- package/dist/index.js +4 -155
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4 -157
- package/dist/index.mjs.map +1 -1
- package/dist/package.json.js +6 -0
- package/dist/package.json.js.map +1 -0
- package/dist/package.json.mjs +4 -0
- package/dist/package.json.mjs.map +1 -0
- package/dist/src/cli/commands/codemods.js +120 -0
- package/dist/src/cli/commands/codemods.js.map +1 -0
- package/dist/src/cli/commands/codemods.mjs +116 -0
- package/dist/src/cli/commands/codemods.mjs.map +1 -0
- package/dist/src/cli/commands/upgrade.js +99 -0
- package/dist/src/cli/commands/upgrade.js.map +1 -0
- package/dist/src/cli/commands/upgrade.mjs +96 -0
- package/dist/src/cli/commands/upgrade.mjs.map +1 -0
- package/dist/src/cli/errors.js +18 -0
- package/dist/src/cli/errors.js.map +1 -0
- package/dist/src/cli/errors.mjs +16 -0
- package/dist/src/cli/errors.mjs.map +1 -0
- package/dist/src/cli/options.js +26 -0
- package/dist/src/cli/options.js.map +1 -0
- package/dist/src/cli/options.mjs +19 -0
- package/dist/src/cli/options.mjs.map +1 -0
- package/dist/src/modules/codemod/codemod.js +44 -0
- package/dist/src/modules/codemod/codemod.js.map +1 -0
- package/dist/src/modules/codemod/codemod.mjs +41 -0
- package/dist/src/modules/codemod/codemod.mjs.map +1 -0
- package/dist/src/modules/codemod/constants.js +17 -0
- package/dist/src/modules/codemod/constants.js.map +1 -0
- package/dist/src/modules/codemod/constants.mjs +11 -0
- package/dist/src/modules/codemod/constants.mjs.map +1 -0
- package/dist/src/modules/codemod/index.js +10 -0
- package/dist/src/modules/codemod/index.js.map +1 -0
- package/dist/src/modules/codemod/index.mjs +4 -0
- package/dist/src/modules/codemod/index.mjs.map +1 -0
- package/dist/src/modules/codemod-repository/constants.js +9 -0
- package/dist/src/modules/codemod-repository/constants.js.map +1 -0
- package/dist/src/modules/codemod-repository/constants.mjs +7 -0
- package/dist/src/modules/codemod-repository/constants.mjs.map +1 -0
- package/dist/src/modules/codemod-repository/index.js +10 -0
- package/dist/src/modules/codemod-repository/index.js.map +1 -0
- package/dist/src/modules/codemod-repository/index.mjs +4 -0
- package/dist/src/modules/codemod-repository/index.mjs.map +1 -0
- package/dist/src/modules/codemod-repository/repository.js +127 -0
- package/dist/src/modules/codemod-repository/repository.js.map +1 -0
- package/dist/src/modules/codemod-repository/repository.mjs +123 -0
- package/dist/src/modules/codemod-repository/repository.mjs.map +1 -0
- package/dist/src/modules/codemod-runner/codemod-runner.js +113 -0
- package/dist/src/modules/codemod-runner/codemod-runner.js.map +1 -0
- package/dist/src/modules/codemod-runner/codemod-runner.mjs +110 -0
- package/dist/src/modules/codemod-runner/codemod-runner.mjs.map +1 -0
- package/dist/src/modules/error/index.js +11 -0
- package/dist/src/modules/error/index.js.map +1 -0
- package/dist/src/modules/error/index.mjs +2 -0
- package/dist/src/modules/error/index.mjs.map +1 -0
- package/dist/src/modules/error/utils.js +33 -0
- package/dist/src/modules/error/utils.js.map +1 -0
- package/dist/src/modules/error/utils.mjs +28 -0
- package/dist/src/modules/error/utils.mjs.map +1 -0
- package/dist/src/modules/file-scanner/index.js +8 -0
- package/dist/src/modules/file-scanner/index.js.map +1 -0
- package/dist/src/modules/file-scanner/index.mjs +2 -0
- package/dist/src/modules/file-scanner/index.mjs.map +1 -0
- package/dist/src/modules/file-scanner/scanner.js +23 -0
- package/dist/src/modules/file-scanner/scanner.js.map +1 -0
- package/dist/src/modules/file-scanner/scanner.mjs +20 -0
- package/dist/src/modules/file-scanner/scanner.mjs.map +1 -0
- package/dist/src/modules/format/formats.js +107 -0
- package/dist/src/modules/format/formats.js.map +1 -0
- package/dist/src/modules/format/formats.mjs +94 -0
- package/dist/src/modules/format/formats.mjs.map +1 -0
- package/dist/src/modules/format/index.js +19 -0
- package/dist/src/modules/format/index.js.map +1 -0
- package/dist/src/modules/format/index.mjs +2 -0
- package/dist/src/modules/format/index.mjs.map +1 -0
- package/dist/src/modules/index.js +32 -0
- package/dist/src/modules/index.js.map +1 -0
- package/dist/src/modules/index.mjs +27 -0
- package/dist/src/modules/index.mjs.map +1 -0
- package/dist/src/modules/json/file.js +16 -0
- package/dist/src/modules/json/file.js.map +1 -0
- package/dist/src/modules/json/file.mjs +13 -0
- package/dist/src/modules/json/file.mjs.map +1 -0
- package/dist/src/modules/json/transform-api.js +38 -0
- package/dist/src/modules/json/transform-api.js.map +1 -0
- package/dist/src/modules/json/transform-api.mjs +35 -0
- package/dist/src/modules/json/transform-api.mjs.map +1 -0
- package/dist/src/modules/logger/index.js +8 -0
- package/dist/src/modules/logger/index.js.map +1 -0
- package/dist/src/modules/logger/index.mjs +2 -0
- package/dist/src/modules/logger/index.mjs.map +1 -0
- package/dist/src/modules/logger/logger.js +76 -0
- package/dist/src/modules/logger/logger.js.map +1 -0
- package/dist/src/modules/logger/logger.mjs +73 -0
- package/dist/src/modules/logger/logger.mjs.map +1 -0
- package/dist/src/modules/npm/constants.js +6 -0
- package/dist/src/modules/npm/constants.js.map +1 -0
- package/dist/src/modules/npm/constants.mjs +4 -0
- package/dist/src/modules/npm/constants.mjs.map +1 -0
- package/dist/src/modules/npm/package.js +55 -0
- package/dist/src/modules/npm/package.js.map +1 -0
- package/dist/src/modules/npm/package.mjs +52 -0
- package/dist/src/modules/npm/package.mjs.map +1 -0
- package/dist/src/modules/project/constants.js +45 -0
- package/dist/src/modules/project/constants.js.map +1 -0
- package/dist/src/modules/project/constants.mjs +35 -0
- package/dist/src/modules/project/constants.mjs.map +1 -0
- package/dist/src/modules/project/index.js +15 -0
- package/dist/src/modules/project/index.js.map +1 -0
- package/dist/src/modules/project/index.mjs +5 -0
- package/dist/src/modules/project/index.mjs.map +1 -0
- package/dist/src/modules/project/project.js +208 -0
- package/dist/src/modules/project/project.js.map +1 -0
- package/dist/src/modules/project/project.mjs +203 -0
- package/dist/src/modules/project/project.mjs.map +1 -0
- package/dist/src/modules/project/utils.js +26 -0
- package/dist/src/modules/project/utils.js.map +1 -0
- package/dist/src/modules/project/utils.mjs +21 -0
- package/dist/src/modules/project/utils.mjs.map +1 -0
- package/dist/src/modules/report/index.js +9 -0
- package/dist/src/modules/report/index.js.map +1 -0
- package/dist/src/modules/report/index.mjs +2 -0
- package/dist/src/modules/report/index.mjs.map +1 -0
- package/dist/src/modules/report/report.js +13 -0
- package/dist/src/modules/report/report.js.map +1 -0
- package/dist/src/modules/report/report.mjs +10 -0
- package/dist/src/modules/report/report.mjs.map +1 -0
- package/dist/src/modules/requirement/index.js +8 -0
- package/dist/src/modules/requirement/index.js.map +1 -0
- package/dist/src/modules/requirement/index.mjs +2 -0
- package/dist/src/modules/requirement/index.mjs.map +1 -0
- package/dist/src/modules/requirement/requirement.js +55 -0
- package/dist/src/modules/requirement/requirement.js.map +1 -0
- package/dist/src/modules/requirement/requirement.mjs +52 -0
- package/dist/src/modules/requirement/requirement.mjs.map +1 -0
- package/dist/src/modules/runner/code/code.js +21 -0
- package/dist/src/modules/runner/code/code.js.map +1 -0
- package/dist/src/modules/runner/code/code.mjs +18 -0
- package/dist/src/modules/runner/code/code.mjs.map +1 -0
- package/dist/src/modules/runner/code/index.js +8 -0
- package/dist/src/modules/runner/code/index.js.map +1 -0
- package/dist/src/modules/runner/code/index.mjs +2 -0
- package/dist/src/modules/runner/code/index.mjs.map +1 -0
- package/dist/src/modules/runner/index.js +10 -0
- package/dist/src/modules/runner/index.js.map +1 -0
- package/dist/src/modules/runner/index.mjs +5 -0
- package/dist/src/modules/runner/index.mjs.map +1 -0
- package/dist/src/modules/runner/json/index.js +8 -0
- package/dist/src/modules/runner/json/index.js.map +1 -0
- package/dist/src/modules/runner/json/index.mjs +2 -0
- package/dist/src/modules/runner/json/index.mjs.map +1 -0
- package/dist/src/modules/runner/json/json.js +21 -0
- package/dist/src/modules/runner/json/json.js.map +1 -0
- package/dist/src/modules/runner/json/json.mjs +18 -0
- package/dist/src/modules/runner/json/json.mjs.map +1 -0
- package/dist/src/modules/runner/json/transform.js +85 -0
- package/dist/src/modules/runner/json/transform.js.map +1 -0
- package/dist/src/modules/runner/json/transform.mjs +83 -0
- package/dist/src/modules/runner/json/transform.mjs.map +1 -0
- package/dist/src/modules/runner/runner.js +22 -0
- package/dist/src/modules/runner/runner.js.map +1 -0
- package/dist/src/modules/runner/runner.mjs +20 -0
- package/dist/src/modules/runner/runner.mjs.map +1 -0
- package/dist/src/modules/timer/constants.js +6 -0
- package/dist/src/modules/timer/constants.js.map +1 -0
- package/dist/src/modules/timer/constants.mjs +4 -0
- package/dist/src/modules/timer/constants.mjs.map +1 -0
- package/dist/src/modules/timer/index.js +10 -0
- package/dist/src/modules/timer/index.js.map +1 -0
- package/dist/src/modules/timer/index.mjs +4 -0
- package/dist/src/modules/timer/index.mjs.map +1 -0
- package/dist/src/modules/timer/timer.js +33 -0
- package/dist/src/modules/timer/timer.js.map +1 -0
- package/dist/src/modules/timer/timer.mjs +30 -0
- package/dist/src/modules/timer/timer.mjs.map +1 -0
- package/dist/src/modules/upgrader/constants.js +6 -0
- package/dist/src/modules/upgrader/constants.js.map +1 -0
- package/dist/src/modules/upgrader/constants.mjs +4 -0
- package/dist/src/modules/upgrader/constants.mjs.map +1 -0
- package/dist/src/modules/upgrader/index.js +10 -0
- package/dist/src/modules/upgrader/index.js.map +1 -0
- package/dist/src/modules/upgrader/index.mjs +4 -0
- package/dist/src/modules/upgrader/index.mjs.map +1 -0
- package/dist/src/modules/upgrader/upgrader.js +266 -0
- package/dist/src/modules/upgrader/upgrader.js.map +1 -0
- package/dist/src/modules/upgrader/upgrader.mjs +263 -0
- package/dist/src/modules/upgrader/upgrader.mjs.map +1 -0
- package/dist/src/modules/version/index.js +20 -0
- package/dist/src/modules/version/index.js.map +1 -0
- package/dist/src/modules/version/index.mjs +5 -0
- package/dist/src/modules/version/index.mjs.map +1 -0
- package/dist/src/modules/version/range.js +81 -0
- package/dist/src/modules/version/range.js.map +1 -0
- package/dist/src/modules/version/range.mjs +75 -0
- package/dist/src/modules/version/range.mjs.map +1 -0
- package/dist/src/modules/version/semver.js +26 -0
- package/dist/src/modules/version/semver.js.map +1 -0
- package/dist/src/modules/version/semver.mjs +20 -0
- package/dist/src/modules/version/semver.mjs.map +1 -0
- package/dist/src/modules/version/types.js +12 -0
- package/dist/src/modules/version/types.js.map +1 -0
- package/dist/src/modules/version/types.mjs +12 -0
- package/dist/src/modules/version/types.mjs.map +1 -0
- package/dist/src/tasks/codemods/list-codemods.js +40 -0
- package/dist/src/tasks/codemods/list-codemods.js.map +1 -0
- package/dist/src/tasks/codemods/list-codemods.mjs +38 -0
- package/dist/src/tasks/codemods/list-codemods.mjs.map +1 -0
- package/dist/src/tasks/codemods/run-codemods.js +36 -0
- package/dist/src/tasks/codemods/run-codemods.js.map +1 -0
- package/dist/src/tasks/codemods/run-codemods.mjs +34 -0
- package/dist/src/tasks/codemods/run-codemods.mjs.map +1 -0
- package/dist/src/tasks/codemods/utils.js +54 -0
- package/dist/src/tasks/codemods/utils.js.map +1 -0
- package/dist/src/tasks/codemods/utils.mjs +50 -0
- package/dist/src/tasks/codemods/utils.mjs.map +1 -0
- package/dist/src/tasks/index.js +15 -0
- package/dist/src/tasks/index.js.map +1 -0
- package/dist/src/tasks/index.mjs +7 -0
- package/dist/src/tasks/index.mjs.map +1 -0
- package/dist/src/tasks/upgrade/prompts/latest.js +48 -0
- package/dist/src/tasks/upgrade/prompts/latest.js.map +1 -0
- package/dist/src/tasks/upgrade/prompts/latest.mjs +46 -0
- package/dist/src/tasks/upgrade/prompts/latest.mjs.map +1 -0
- package/dist/src/tasks/upgrade/requirements/common.js +40 -0
- package/dist/src/tasks/upgrade/requirements/common.js.map +1 -0
- package/dist/src/tasks/upgrade/requirements/common.mjs +35 -0
- package/dist/src/tasks/upgrade/requirements/common.mjs.map +1 -0
- package/dist/src/tasks/upgrade/requirements/major.js +29 -0
- package/dist/src/tasks/upgrade/requirements/major.js.map +1 -0
- package/dist/src/tasks/upgrade/requirements/major.mjs +26 -0
- package/dist/src/tasks/upgrade/requirements/major.mjs.map +1 -0
- package/dist/src/tasks/upgrade/upgrade.js +69 -0
- package/dist/src/tasks/upgrade/upgrade.js.map +1 -0
- package/dist/src/tasks/upgrade/upgrade.mjs +67 -0
- package/dist/src/tasks/upgrade/upgrade.mjs.map +1 -0
- package/package.json +4 -4
- package/dist/chunks/logger-DGi224NW.js +0 -1649
- package/dist/chunks/logger-DGi224NW.js.map +0 -1
- package/dist/chunks/logger-np_r7rTc.mjs +0 -1599
- package/dist/chunks/logger-np_r7rTc.mjs.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,161 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('
|
|
5
|
-
require('node:path');
|
|
6
|
-
require('node:assert');
|
|
7
|
-
require('chalk');
|
|
8
|
-
require('@strapi/utils');
|
|
9
|
-
require('fs-extra');
|
|
10
|
-
require('fast-glob');
|
|
11
|
-
require('jscodeshift/src/Runner');
|
|
12
|
-
require('lodash/fp');
|
|
13
|
-
require('esbuild-register/dist/node');
|
|
14
|
-
require('simple-git');
|
|
15
|
-
require('cli-table3');
|
|
3
|
+
var index = require('./src/tasks/index.js');
|
|
4
|
+
var index$1 = require('./src/modules/index.js');
|
|
16
5
|
|
|
17
|
-
var index$g = /*#__PURE__*/Object.freeze({
|
|
18
|
-
__proto__: null,
|
|
19
|
-
constants: logger.constants,
|
|
20
|
-
timerFactory: logger.timerFactory
|
|
21
|
-
});
|
|
22
6
|
|
|
23
|
-
var index$f = /*#__PURE__*/Object.freeze({
|
|
24
|
-
__proto__: null,
|
|
25
|
-
codemodList: logger.codemodList,
|
|
26
|
-
codemodUID: logger.codemodUID,
|
|
27
|
-
durationMs: logger.durationMs,
|
|
28
|
-
highlight: logger.highlight,
|
|
29
|
-
path: logger.path,
|
|
30
|
-
projectDetails: logger.projectDetails,
|
|
31
|
-
projectType: logger.projectType,
|
|
32
|
-
reports: logger.reports,
|
|
33
|
-
transform: logger.transform,
|
|
34
|
-
upgradeStep: logger.upgradeStep,
|
|
35
|
-
version: logger.version,
|
|
36
|
-
versionRange: logger.versionRange
|
|
37
|
-
});
|
|
38
7
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
Version: logger.types,
|
|
42
|
-
isLiteralSemVer: logger.isLiteralSemVer,
|
|
43
|
-
isRangeInstance: logger.isRangeInstance,
|
|
44
|
-
isSemVerReleaseType: logger.isSemVerReleaseType,
|
|
45
|
-
isSemverInstance: logger.isSemverInstance,
|
|
46
|
-
isValidSemVer: logger.isValidSemVer,
|
|
47
|
-
isValidStringifiedRange: logger.isValidStringifiedRange,
|
|
48
|
-
rangeFactory: logger.rangeFactory,
|
|
49
|
-
rangeFromReleaseType: logger.rangeFromReleaseType,
|
|
50
|
-
rangeFromVersions: logger.rangeFromVersions,
|
|
51
|
-
semVerFactory: logger.semVerFactory
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
var index$d = /*#__PURE__*/Object.freeze({
|
|
55
|
-
__proto__: null,
|
|
56
|
-
fileScannerFactory: logger.fileScannerFactory
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
var index$c = /*#__PURE__*/Object.freeze({
|
|
60
|
-
__proto__: null,
|
|
61
|
-
codeRunnerFactory: logger.codeRunnerFactory
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
var index$b = /*#__PURE__*/Object.freeze({
|
|
65
|
-
__proto__: null,
|
|
66
|
-
jsonRunnerFactory: logger.jsonRunnerFactory
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
var index$a = /*#__PURE__*/Object.freeze({
|
|
70
|
-
__proto__: null,
|
|
71
|
-
assertAppProject: logger.assertAppProject,
|
|
72
|
-
assertPluginProject: logger.assertPluginProject,
|
|
73
|
-
constants: logger.constants$1,
|
|
74
|
-
isApplicationProject: logger.isApplicationProject,
|
|
75
|
-
isPluginProject: logger.isPluginProject,
|
|
76
|
-
projectFactory: logger.projectFactory
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
var index$9 = /*#__PURE__*/Object.freeze({
|
|
80
|
-
__proto__: null,
|
|
81
|
-
AbortedError: logger.AbortedError,
|
|
82
|
-
NPMCandidateNotFoundError: logger.NPMCandidateNotFoundError,
|
|
83
|
-
UnexpectedError: logger.UnexpectedError,
|
|
84
|
-
unknownToError: logger.unknownToError
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
var index$8 = /*#__PURE__*/Object.freeze({
|
|
88
|
-
__proto__: null,
|
|
89
|
-
codemodFactory: logger.codemodFactory,
|
|
90
|
-
constants: logger.constants$2
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
var index$7 = /*#__PURE__*/Object.freeze({
|
|
94
|
-
__proto__: null,
|
|
95
|
-
codemodRepositoryFactory: logger.codemodRepositoryFactory,
|
|
96
|
-
constants: logger.constants$3
|
|
97
|
-
});
|
|
98
|
-
|
|
99
|
-
var index$6 = /*#__PURE__*/Object.freeze({
|
|
100
|
-
__proto__: null,
|
|
101
|
-
constants: logger.constants$4,
|
|
102
|
-
upgraderFactory: logger.upgraderFactory
|
|
103
|
-
});
|
|
104
|
-
|
|
105
|
-
var index$5 = /*#__PURE__*/Object.freeze({
|
|
106
|
-
__proto__: null,
|
|
107
|
-
requirementFactory: logger.requirementFactory
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
var index$4 = /*#__PURE__*/Object.freeze({
|
|
111
|
-
__proto__: null,
|
|
112
|
-
listCodemods: logger.listCodemods,
|
|
113
|
-
runCodemods: logger.runCodemods,
|
|
114
|
-
upgrade: logger.upgrade
|
|
115
|
-
});
|
|
116
|
-
|
|
117
|
-
var index$3 = /*#__PURE__*/Object.freeze({
|
|
118
|
-
__proto__: null,
|
|
119
|
-
loggerFactory: logger.loggerFactory
|
|
120
|
-
});
|
|
121
|
-
|
|
122
|
-
const codemodReportFactory = (codemod, report)=>({
|
|
123
|
-
codemod,
|
|
124
|
-
report
|
|
125
|
-
});
|
|
126
|
-
const reportFactory = (report)=>({
|
|
127
|
-
...report
|
|
128
|
-
});
|
|
129
|
-
|
|
130
|
-
var index$2 = /*#__PURE__*/Object.freeze({
|
|
131
|
-
__proto__: null,
|
|
132
|
-
codemodReportFactory: codemodReportFactory,
|
|
133
|
-
reportFactory: reportFactory
|
|
134
|
-
});
|
|
135
|
-
|
|
136
|
-
var index$1 = /*#__PURE__*/Object.freeze({
|
|
137
|
-
__proto__: null,
|
|
138
|
-
code: index$c,
|
|
139
|
-
json: index$b
|
|
140
|
-
});
|
|
141
|
-
|
|
142
|
-
var index = /*#__PURE__*/Object.freeze({
|
|
143
|
-
__proto__: null,
|
|
144
|
-
codemod: index$8,
|
|
145
|
-
codemodRepository: index$7,
|
|
146
|
-
error: index$9,
|
|
147
|
-
f: index$f,
|
|
148
|
-
fileScanner: index$d,
|
|
149
|
-
logger: index$3,
|
|
150
|
-
project: index$a,
|
|
151
|
-
report: index$2,
|
|
152
|
-
requirement: index$5,
|
|
153
|
-
runner: index$1,
|
|
154
|
-
timer: index$g,
|
|
155
|
-
upgrader: index$6,
|
|
156
|
-
version: index$e
|
|
157
|
-
});
|
|
158
|
-
|
|
159
|
-
exports.modules = index;
|
|
160
|
-
exports.tasks = index$4;
|
|
8
|
+
exports.tasks = index;
|
|
9
|
+
exports.modules = index$1;
|
|
161
10
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,158 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import '
|
|
4
|
-
|
|
5
|
-
import 'chalk';
|
|
6
|
-
import '@strapi/utils';
|
|
7
|
-
import 'fs-extra';
|
|
8
|
-
import 'fast-glob';
|
|
9
|
-
import 'jscodeshift/src/Runner';
|
|
10
|
-
import 'lodash/fp';
|
|
11
|
-
import 'esbuild-register/dist/node';
|
|
12
|
-
import 'simple-git';
|
|
13
|
-
import 'cli-table3';
|
|
14
|
-
|
|
15
|
-
var index$g = /*#__PURE__*/Object.freeze({
|
|
16
|
-
__proto__: null,
|
|
17
|
-
constants: constants,
|
|
18
|
-
timerFactory: timerFactory
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
var index$f = /*#__PURE__*/Object.freeze({
|
|
22
|
-
__proto__: null,
|
|
23
|
-
codemodList: codemodList,
|
|
24
|
-
codemodUID: codemodUID,
|
|
25
|
-
durationMs: durationMs,
|
|
26
|
-
highlight: highlight,
|
|
27
|
-
path: path,
|
|
28
|
-
projectDetails: projectDetails,
|
|
29
|
-
projectType: projectType,
|
|
30
|
-
reports: reports,
|
|
31
|
-
transform: transform,
|
|
32
|
-
upgradeStep: upgradeStep,
|
|
33
|
-
version: version,
|
|
34
|
-
versionRange: versionRange
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
var index$e = /*#__PURE__*/Object.freeze({
|
|
38
|
-
__proto__: null,
|
|
39
|
-
Version: types,
|
|
40
|
-
isLiteralSemVer: isLiteralSemVer,
|
|
41
|
-
isRangeInstance: isRangeInstance,
|
|
42
|
-
isSemVerReleaseType: isSemVerReleaseType,
|
|
43
|
-
isSemverInstance: isSemverInstance,
|
|
44
|
-
isValidSemVer: isValidSemVer,
|
|
45
|
-
isValidStringifiedRange: isValidStringifiedRange,
|
|
46
|
-
rangeFactory: rangeFactory,
|
|
47
|
-
rangeFromReleaseType: rangeFromReleaseType,
|
|
48
|
-
rangeFromVersions: rangeFromVersions,
|
|
49
|
-
semVerFactory: semVerFactory
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
var index$d = /*#__PURE__*/Object.freeze({
|
|
53
|
-
__proto__: null,
|
|
54
|
-
fileScannerFactory: fileScannerFactory
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
var index$c = /*#__PURE__*/Object.freeze({
|
|
58
|
-
__proto__: null,
|
|
59
|
-
codeRunnerFactory: codeRunnerFactory
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
var index$b = /*#__PURE__*/Object.freeze({
|
|
63
|
-
__proto__: null,
|
|
64
|
-
jsonRunnerFactory: jsonRunnerFactory
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
var index$a = /*#__PURE__*/Object.freeze({
|
|
68
|
-
__proto__: null,
|
|
69
|
-
assertAppProject: assertAppProject,
|
|
70
|
-
assertPluginProject: assertPluginProject,
|
|
71
|
-
constants: constants$1,
|
|
72
|
-
isApplicationProject: isApplicationProject,
|
|
73
|
-
isPluginProject: isPluginProject,
|
|
74
|
-
projectFactory: projectFactory
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
var index$9 = /*#__PURE__*/Object.freeze({
|
|
78
|
-
__proto__: null,
|
|
79
|
-
AbortedError: AbortedError,
|
|
80
|
-
NPMCandidateNotFoundError: NPMCandidateNotFoundError,
|
|
81
|
-
UnexpectedError: UnexpectedError,
|
|
82
|
-
unknownToError: unknownToError
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
var index$8 = /*#__PURE__*/Object.freeze({
|
|
86
|
-
__proto__: null,
|
|
87
|
-
codemodFactory: codemodFactory,
|
|
88
|
-
constants: constants$2
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
var index$7 = /*#__PURE__*/Object.freeze({
|
|
92
|
-
__proto__: null,
|
|
93
|
-
codemodRepositoryFactory: codemodRepositoryFactory,
|
|
94
|
-
constants: constants$3
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
var index$6 = /*#__PURE__*/Object.freeze({
|
|
98
|
-
__proto__: null,
|
|
99
|
-
constants: constants$4,
|
|
100
|
-
upgraderFactory: upgraderFactory
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
var index$5 = /*#__PURE__*/Object.freeze({
|
|
104
|
-
__proto__: null,
|
|
105
|
-
requirementFactory: requirementFactory
|
|
106
|
-
});
|
|
107
|
-
|
|
108
|
-
var index$4 = /*#__PURE__*/Object.freeze({
|
|
109
|
-
__proto__: null,
|
|
110
|
-
listCodemods: listCodemods,
|
|
111
|
-
runCodemods: runCodemods,
|
|
112
|
-
upgrade: upgrade
|
|
113
|
-
});
|
|
114
|
-
|
|
115
|
-
var index$3 = /*#__PURE__*/Object.freeze({
|
|
116
|
-
__proto__: null,
|
|
117
|
-
loggerFactory: loggerFactory
|
|
118
|
-
});
|
|
119
|
-
|
|
120
|
-
const codemodReportFactory = (codemod, report)=>({
|
|
121
|
-
codemod,
|
|
122
|
-
report
|
|
123
|
-
});
|
|
124
|
-
const reportFactory = (report)=>({
|
|
125
|
-
...report
|
|
126
|
-
});
|
|
127
|
-
|
|
128
|
-
var index$2 = /*#__PURE__*/Object.freeze({
|
|
129
|
-
__proto__: null,
|
|
130
|
-
codemodReportFactory: codemodReportFactory,
|
|
131
|
-
reportFactory: reportFactory
|
|
132
|
-
});
|
|
133
|
-
|
|
134
|
-
var index$1 = /*#__PURE__*/Object.freeze({
|
|
135
|
-
__proto__: null,
|
|
136
|
-
code: index$c,
|
|
137
|
-
json: index$b
|
|
138
|
-
});
|
|
139
|
-
|
|
140
|
-
var index = /*#__PURE__*/Object.freeze({
|
|
141
|
-
__proto__: null,
|
|
142
|
-
codemod: index$8,
|
|
143
|
-
codemodRepository: index$7,
|
|
144
|
-
error: index$9,
|
|
145
|
-
f: index$f,
|
|
146
|
-
fileScanner: index$d,
|
|
147
|
-
logger: index$3,
|
|
148
|
-
project: index$a,
|
|
149
|
-
report: index$2,
|
|
150
|
-
requirement: index$5,
|
|
151
|
-
runner: index$1,
|
|
152
|
-
timer: index$g,
|
|
153
|
-
upgrader: index$6,
|
|
154
|
-
version: index$e
|
|
155
|
-
});
|
|
156
|
-
|
|
157
|
-
export { index as modules, index$4 as tasks };
|
|
1
|
+
import * as index from './src/tasks/index.mjs';
|
|
2
|
+
export { index as tasks };
|
|
3
|
+
import * as index$1 from './src/modules/index.mjs';
|
|
4
|
+
export { index$1 as modules };
|
|
158
5
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var prompts = require('prompts');
|
|
4
|
+
var logger = require('../../modules/logger/logger.js');
|
|
5
|
+
require('semver');
|
|
6
|
+
var types = require('../../modules/version/types.js');
|
|
7
|
+
var errors = require('../errors.js');
|
|
8
|
+
require('node:path');
|
|
9
|
+
require('cli-table3');
|
|
10
|
+
require('chalk');
|
|
11
|
+
require('node:assert');
|
|
12
|
+
require('fs-extra');
|
|
13
|
+
require('fast-glob');
|
|
14
|
+
require('jscodeshift/src/Runner');
|
|
15
|
+
require('lodash/fp');
|
|
16
|
+
require('esbuild-register/dist/node');
|
|
17
|
+
require('../../modules/project/constants.js');
|
|
18
|
+
require('@strapi/utils');
|
|
19
|
+
require('../../modules/codemod/constants.js');
|
|
20
|
+
require('../../modules/codemod-repository/constants.js');
|
|
21
|
+
require('../../tasks/upgrade/requirements/common.js');
|
|
22
|
+
var runCodemods$1 = require('../../tasks/codemods/run-codemods.js');
|
|
23
|
+
var listCodemods$1 = require('../../tasks/codemods/list-codemods.js');
|
|
24
|
+
var options = require('../options.js');
|
|
25
|
+
|
|
26
|
+
const DEFAULT_TARGET = types.ReleaseType.Major;
|
|
27
|
+
const runCodemods = async (options)=>{
|
|
28
|
+
const { silent, debug } = options;
|
|
29
|
+
const logger$1 = logger.loggerFactory({
|
|
30
|
+
silent,
|
|
31
|
+
debug
|
|
32
|
+
});
|
|
33
|
+
logger$1.warn("Please make sure you've created a backup of your codebase and files before running the codemods");
|
|
34
|
+
const confirm = async (message)=>{
|
|
35
|
+
const { confirm } = await prompts({
|
|
36
|
+
name: 'confirm',
|
|
37
|
+
type: 'confirm',
|
|
38
|
+
message
|
|
39
|
+
});
|
|
40
|
+
// If confirm is undefined (Ctrl + C), default to false
|
|
41
|
+
return confirm ?? false;
|
|
42
|
+
};
|
|
43
|
+
const selectCodemods = async (codemods)=>{
|
|
44
|
+
const selectableCodemods = codemods.map(({ version, codemods })=>codemods.map((codemod)=>({
|
|
45
|
+
title: `(${version}) ${codemod.format()}`,
|
|
46
|
+
value: codemod,
|
|
47
|
+
selected: true
|
|
48
|
+
}))).flat();
|
|
49
|
+
if (selectableCodemods.length === 0) {
|
|
50
|
+
logger$1.info('No codemods to run');
|
|
51
|
+
return [];
|
|
52
|
+
}
|
|
53
|
+
const { selectedCodemods } = await prompts({
|
|
54
|
+
type: 'autocompleteMultiselect',
|
|
55
|
+
name: 'selectedCodemods',
|
|
56
|
+
message: 'Choose the codemods you would like to run:',
|
|
57
|
+
choices: selectableCodemods
|
|
58
|
+
});
|
|
59
|
+
if (!selectedCodemods || selectedCodemods.length === 0) {
|
|
60
|
+
logger$1.info('No codemods selected');
|
|
61
|
+
return [];
|
|
62
|
+
}
|
|
63
|
+
return selectedCodemods.map((codemod)=>({
|
|
64
|
+
version: codemod.version,
|
|
65
|
+
codemods: [
|
|
66
|
+
codemod
|
|
67
|
+
]
|
|
68
|
+
}));
|
|
69
|
+
};
|
|
70
|
+
return runCodemods$1.runCodemods({
|
|
71
|
+
logger: logger$1,
|
|
72
|
+
confirm,
|
|
73
|
+
selectCodemods,
|
|
74
|
+
dry: options.dry,
|
|
75
|
+
cwd: options.projectPath,
|
|
76
|
+
target: options.range ?? DEFAULT_TARGET,
|
|
77
|
+
uid: options.uid
|
|
78
|
+
}).catch((err)=>errors.handleError(err, options.silent));
|
|
79
|
+
};
|
|
80
|
+
const listCodemods = async (options)=>{
|
|
81
|
+
const { silent, debug } = options;
|
|
82
|
+
const logger$1 = logger.loggerFactory({
|
|
83
|
+
silent,
|
|
84
|
+
debug
|
|
85
|
+
});
|
|
86
|
+
return listCodemods$1.listCodemods({
|
|
87
|
+
cwd: options.projectPath,
|
|
88
|
+
target: options.range ?? DEFAULT_TARGET,
|
|
89
|
+
logger: logger$1
|
|
90
|
+
}).catch((err)=>errors.handleError(err, options.silent));
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Registers codemods related commands.
|
|
94
|
+
*/ const register = (program)=>{
|
|
95
|
+
const codemodsCommand = program.command('codemods');
|
|
96
|
+
// upgrade codemods run [options] [uid]
|
|
97
|
+
codemodsCommand.command('run [uid]').description(`
|
|
98
|
+
Executes a set of codemods on the current project.
|
|
99
|
+
|
|
100
|
+
If the optional UID argument is provided, the command specifically runs the codemod associated with that UID.
|
|
101
|
+
Without the UID, the command produces a list of all available codemods for your project.
|
|
102
|
+
|
|
103
|
+
By default, when executed on a Strapi application project, it offers codemods matching the current major version of the app.
|
|
104
|
+
When executed on a Strapi plugin project, it shows every codemods.
|
|
105
|
+
`).addOption(options.projectPathOption).addOption(options.dryOption).addOption(options.debugOption).addOption(options.silentOption).addOption(options.rangeOption).action(async (uid, options)=>{
|
|
106
|
+
return runCodemods({
|
|
107
|
+
...options,
|
|
108
|
+
uid
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
// upgrade codemods ls [options]
|
|
112
|
+
codemodsCommand.command('ls').description(`List available codemods`).addOption(options.projectPathOption).addOption(options.debugOption).addOption(options.silentOption).addOption(options.rangeOption).action(async (options)=>{
|
|
113
|
+
return listCodemods(options);
|
|
114
|
+
});
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
exports.listCodemods = listCodemods;
|
|
118
|
+
exports.register = register;
|
|
119
|
+
exports.runCodemods = runCodemods;
|
|
120
|
+
//# sourceMappingURL=codemods.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codemods.js","sources":["../../../../src/cli/commands/codemods.ts"],"sourcesContent":["import prompts from 'prompts';\n\nimport type { Command } from 'commander';\nimport { loggerFactory } from '../../modules/logger';\nimport { Version } from '../../modules/version';\nimport { handleError } from '../errors';\nimport * as tasks from '../../tasks';\nimport { debugOption, dryOption, projectPathOption, rangeOption, silentOption } from '../options';\n\nimport type {\n CLIListCodemodsOptions,\n CLIRunCodemodsOptions,\n ListCodemodsCommand,\n RunCodemodsCommand,\n} from '../types';\nimport type { Codemod } from '../../modules/codemod';\n\nconst DEFAULT_TARGET = Version.ReleaseType.Major;\n\nexport const runCodemods: RunCodemodsCommand = async (options) => {\n const { silent, debug } = options;\n const logger = loggerFactory({ silent, debug });\n\n logger.warn(\n \"Please make sure you've created a backup of your codebase and files before running the codemods\"\n );\n\n const confirm = async (message: string) => {\n const { confirm } = await prompts({\n name: 'confirm',\n type: 'confirm',\n message,\n });\n\n // If confirm is undefined (Ctrl + C), default to false\n return confirm ?? false;\n };\n\n const selectCodemods = async (codemods: Codemod.VersionedCollection[]) => {\n const selectableCodemods = codemods\n .map(({ version, codemods }) =>\n codemods.map((codemod) => ({\n title: `(${version}) ${codemod.format()}`,\n value: codemod,\n selected: true,\n }))\n )\n .flat();\n\n if (selectableCodemods.length === 0) {\n logger.info('No codemods to run');\n return [];\n }\n\n const { selectedCodemods }: { selectedCodemods: Codemod.Codemod[] } = await prompts({\n type: 'autocompleteMultiselect',\n name: 'selectedCodemods',\n message: 'Choose the codemods you would like to run:',\n choices: selectableCodemods,\n });\n\n if (!selectedCodemods || selectedCodemods.length === 0) {\n logger.info('No codemods selected');\n return [];\n }\n\n return selectedCodemods.map<Codemod.VersionedCollection>((codemod) => ({\n version: codemod.version,\n codemods: [codemod],\n }));\n };\n\n return tasks\n .runCodemods({\n logger,\n confirm,\n selectCodemods,\n dry: options.dry,\n cwd: options.projectPath,\n target: options.range ?? DEFAULT_TARGET,\n uid: options.uid,\n })\n .catch((err) => handleError(err, options.silent));\n};\n\nexport const listCodemods: ListCodemodsCommand = async (options) => {\n const { silent, debug } = options;\n const logger = loggerFactory({ silent, debug });\n\n return tasks\n .listCodemods({\n cwd: options.projectPath,\n target: options.range ?? DEFAULT_TARGET,\n logger,\n })\n .catch((err) => handleError(err, options.silent));\n};\n\n/**\n * Registers codemods related commands.\n */\nexport const register = (program: Command) => {\n const codemodsCommand = program.command('codemods');\n\n // upgrade codemods run [options] [uid]\n codemodsCommand\n .command('run [uid]')\n .description(\n `\nExecutes a set of codemods on the current project.\n\nIf the optional UID argument is provided, the command specifically runs the codemod associated with that UID.\nWithout the UID, the command produces a list of all available codemods for your project.\n\nBy default, when executed on a Strapi application project, it offers codemods matching the current major version of the app.\nWhen executed on a Strapi plugin project, it shows every codemods.\n`\n )\n .addOption(projectPathOption)\n .addOption(dryOption)\n .addOption(debugOption)\n .addOption(silentOption)\n .addOption(rangeOption)\n .action(async (uid: string | undefined, options: CLIRunCodemodsOptions) => {\n return runCodemods({ ...options, uid });\n });\n\n // upgrade codemods ls [options]\n codemodsCommand\n .command('ls')\n .description(`List available codemods`)\n .addOption(projectPathOption)\n .addOption(debugOption)\n .addOption(silentOption)\n .addOption(rangeOption)\n .action(async (options: CLIListCodemodsOptions) => {\n return listCodemods(options);\n });\n};\n"],"names":["DEFAULT_TARGET","Version","Major","runCodemods","options","silent","debug","logger","loggerFactory","warn","confirm","message","prompts","name","type","selectCodemods","codemods","selectableCodemods","map","version","codemod","title","format","value","selected","flat","length","info","selectedCodemods","choices","tasks","dry","cwd","projectPath","target","range","uid","catch","err","handleError","listCodemods","register","program","codemodsCommand","command","description","addOption","projectPathOption","dryOption","debugOption","silentOption","rangeOption","action"],"mappings":"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"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import prompts from 'prompts';
|
|
2
|
+
import { loggerFactory } from '../../modules/logger/logger.mjs';
|
|
3
|
+
import 'semver';
|
|
4
|
+
import { ReleaseType } from '../../modules/version/types.mjs';
|
|
5
|
+
import { handleError } from '../errors.mjs';
|
|
6
|
+
import 'node:path';
|
|
7
|
+
import 'cli-table3';
|
|
8
|
+
import 'chalk';
|
|
9
|
+
import 'node:assert';
|
|
10
|
+
import 'fs-extra';
|
|
11
|
+
import 'fast-glob';
|
|
12
|
+
import 'jscodeshift/src/Runner';
|
|
13
|
+
import 'lodash/fp';
|
|
14
|
+
import 'esbuild-register/dist/node';
|
|
15
|
+
import '../../modules/project/constants.mjs';
|
|
16
|
+
import '@strapi/utils';
|
|
17
|
+
import '../../modules/codemod/constants.mjs';
|
|
18
|
+
import '../../modules/codemod-repository/constants.mjs';
|
|
19
|
+
import '../../tasks/upgrade/requirements/common.mjs';
|
|
20
|
+
import { runCodemods as runCodemods$1 } from '../../tasks/codemods/run-codemods.mjs';
|
|
21
|
+
import { listCodemods as listCodemods$1 } from '../../tasks/codemods/list-codemods.mjs';
|
|
22
|
+
import { projectPathOption, dryOption, debugOption, silentOption, rangeOption } from '../options.mjs';
|
|
23
|
+
|
|
24
|
+
const DEFAULT_TARGET = ReleaseType.Major;
|
|
25
|
+
const runCodemods = async (options)=>{
|
|
26
|
+
const { silent, debug } = options;
|
|
27
|
+
const logger = loggerFactory({
|
|
28
|
+
silent,
|
|
29
|
+
debug
|
|
30
|
+
});
|
|
31
|
+
logger.warn("Please make sure you've created a backup of your codebase and files before running the codemods");
|
|
32
|
+
const confirm = async (message)=>{
|
|
33
|
+
const { confirm } = await prompts({
|
|
34
|
+
name: 'confirm',
|
|
35
|
+
type: 'confirm',
|
|
36
|
+
message
|
|
37
|
+
});
|
|
38
|
+
// If confirm is undefined (Ctrl + C), default to false
|
|
39
|
+
return confirm ?? false;
|
|
40
|
+
};
|
|
41
|
+
const selectCodemods = async (codemods)=>{
|
|
42
|
+
const selectableCodemods = codemods.map(({ version, codemods })=>codemods.map((codemod)=>({
|
|
43
|
+
title: `(${version}) ${codemod.format()}`,
|
|
44
|
+
value: codemod,
|
|
45
|
+
selected: true
|
|
46
|
+
}))).flat();
|
|
47
|
+
if (selectableCodemods.length === 0) {
|
|
48
|
+
logger.info('No codemods to run');
|
|
49
|
+
return [];
|
|
50
|
+
}
|
|
51
|
+
const { selectedCodemods } = await prompts({
|
|
52
|
+
type: 'autocompleteMultiselect',
|
|
53
|
+
name: 'selectedCodemods',
|
|
54
|
+
message: 'Choose the codemods you would like to run:',
|
|
55
|
+
choices: selectableCodemods
|
|
56
|
+
});
|
|
57
|
+
if (!selectedCodemods || selectedCodemods.length === 0) {
|
|
58
|
+
logger.info('No codemods selected');
|
|
59
|
+
return [];
|
|
60
|
+
}
|
|
61
|
+
return selectedCodemods.map((codemod)=>({
|
|
62
|
+
version: codemod.version,
|
|
63
|
+
codemods: [
|
|
64
|
+
codemod
|
|
65
|
+
]
|
|
66
|
+
}));
|
|
67
|
+
};
|
|
68
|
+
return runCodemods$1({
|
|
69
|
+
logger,
|
|
70
|
+
confirm,
|
|
71
|
+
selectCodemods,
|
|
72
|
+
dry: options.dry,
|
|
73
|
+
cwd: options.projectPath,
|
|
74
|
+
target: options.range ?? DEFAULT_TARGET,
|
|
75
|
+
uid: options.uid
|
|
76
|
+
}).catch((err)=>handleError(err, options.silent));
|
|
77
|
+
};
|
|
78
|
+
const listCodemods = async (options)=>{
|
|
79
|
+
const { silent, debug } = options;
|
|
80
|
+
const logger = loggerFactory({
|
|
81
|
+
silent,
|
|
82
|
+
debug
|
|
83
|
+
});
|
|
84
|
+
return listCodemods$1({
|
|
85
|
+
cwd: options.projectPath,
|
|
86
|
+
target: options.range ?? DEFAULT_TARGET,
|
|
87
|
+
logger
|
|
88
|
+
}).catch((err)=>handleError(err, options.silent));
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Registers codemods related commands.
|
|
92
|
+
*/ const register = (program)=>{
|
|
93
|
+
const codemodsCommand = program.command('codemods');
|
|
94
|
+
// upgrade codemods run [options] [uid]
|
|
95
|
+
codemodsCommand.command('run [uid]').description(`
|
|
96
|
+
Executes a set of codemods on the current project.
|
|
97
|
+
|
|
98
|
+
If the optional UID argument is provided, the command specifically runs the codemod associated with that UID.
|
|
99
|
+
Without the UID, the command produces a list of all available codemods for your project.
|
|
100
|
+
|
|
101
|
+
By default, when executed on a Strapi application project, it offers codemods matching the current major version of the app.
|
|
102
|
+
When executed on a Strapi plugin project, it shows every codemods.
|
|
103
|
+
`).addOption(projectPathOption).addOption(dryOption).addOption(debugOption).addOption(silentOption).addOption(rangeOption).action(async (uid, options)=>{
|
|
104
|
+
return runCodemods({
|
|
105
|
+
...options,
|
|
106
|
+
uid
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
// upgrade codemods ls [options]
|
|
110
|
+
codemodsCommand.command('ls').description(`List available codemods`).addOption(projectPathOption).addOption(debugOption).addOption(silentOption).addOption(rangeOption).action(async (options)=>{
|
|
111
|
+
return listCodemods(options);
|
|
112
|
+
});
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
export { listCodemods, register, runCodemods };
|
|
116
|
+
//# sourceMappingURL=codemods.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codemods.mjs","sources":["../../../../src/cli/commands/codemods.ts"],"sourcesContent":["import prompts from 'prompts';\n\nimport type { Command } from 'commander';\nimport { loggerFactory } from '../../modules/logger';\nimport { Version } from '../../modules/version';\nimport { handleError } from '../errors';\nimport * as tasks from '../../tasks';\nimport { debugOption, dryOption, projectPathOption, rangeOption, silentOption } from '../options';\n\nimport type {\n CLIListCodemodsOptions,\n CLIRunCodemodsOptions,\n ListCodemodsCommand,\n RunCodemodsCommand,\n} from '../types';\nimport type { Codemod } from '../../modules/codemod';\n\nconst DEFAULT_TARGET = Version.ReleaseType.Major;\n\nexport const runCodemods: RunCodemodsCommand = async (options) => {\n const { silent, debug } = options;\n const logger = loggerFactory({ silent, debug });\n\n logger.warn(\n \"Please make sure you've created a backup of your codebase and files before running the codemods\"\n );\n\n const confirm = async (message: string) => {\n const { confirm } = await prompts({\n name: 'confirm',\n type: 'confirm',\n message,\n });\n\n // If confirm is undefined (Ctrl + C), default to false\n return confirm ?? false;\n };\n\n const selectCodemods = async (codemods: Codemod.VersionedCollection[]) => {\n const selectableCodemods = codemods\n .map(({ version, codemods }) =>\n codemods.map((codemod) => ({\n title: `(${version}) ${codemod.format()}`,\n value: codemod,\n selected: true,\n }))\n )\n .flat();\n\n if (selectableCodemods.length === 0) {\n logger.info('No codemods to run');\n return [];\n }\n\n const { selectedCodemods }: { selectedCodemods: Codemod.Codemod[] } = await prompts({\n type: 'autocompleteMultiselect',\n name: 'selectedCodemods',\n message: 'Choose the codemods you would like to run:',\n choices: selectableCodemods,\n });\n\n if (!selectedCodemods || selectedCodemods.length === 0) {\n logger.info('No codemods selected');\n return [];\n }\n\n return selectedCodemods.map<Codemod.VersionedCollection>((codemod) => ({\n version: codemod.version,\n codemods: [codemod],\n }));\n };\n\n return tasks\n .runCodemods({\n logger,\n confirm,\n selectCodemods,\n dry: options.dry,\n cwd: options.projectPath,\n target: options.range ?? DEFAULT_TARGET,\n uid: options.uid,\n })\n .catch((err) => handleError(err, options.silent));\n};\n\nexport const listCodemods: ListCodemodsCommand = async (options) => {\n const { silent, debug } = options;\n const logger = loggerFactory({ silent, debug });\n\n return tasks\n .listCodemods({\n cwd: options.projectPath,\n target: options.range ?? DEFAULT_TARGET,\n logger,\n })\n .catch((err) => handleError(err, options.silent));\n};\n\n/**\n * Registers codemods related commands.\n */\nexport const register = (program: Command) => {\n const codemodsCommand = program.command('codemods');\n\n // upgrade codemods run [options] [uid]\n codemodsCommand\n .command('run [uid]')\n .description(\n `\nExecutes a set of codemods on the current project.\n\nIf the optional UID argument is provided, the command specifically runs the codemod associated with that UID.\nWithout the UID, the command produces a list of all available codemods for your project.\n\nBy default, when executed on a Strapi application project, it offers codemods matching the current major version of the app.\nWhen executed on a Strapi plugin project, it shows every codemods.\n`\n )\n .addOption(projectPathOption)\n .addOption(dryOption)\n .addOption(debugOption)\n .addOption(silentOption)\n .addOption(rangeOption)\n .action(async (uid: string | undefined, options: CLIRunCodemodsOptions) => {\n return runCodemods({ ...options, uid });\n });\n\n // upgrade codemods ls [options]\n codemodsCommand\n .command('ls')\n .description(`List available codemods`)\n .addOption(projectPathOption)\n .addOption(debugOption)\n .addOption(silentOption)\n .addOption(rangeOption)\n .action(async (options: CLIListCodemodsOptions) => {\n return listCodemods(options);\n });\n};\n"],"names":["DEFAULT_TARGET","Version","Major","runCodemods","options","silent","debug","logger","loggerFactory","warn","confirm","message","prompts","name","type","selectCodemods","codemods","selectableCodemods","map","version","codemod","title","format","value","selected","flat","length","info","selectedCodemods","choices","tasks","dry","cwd","projectPath","target","range","uid","catch","err","handleError","listCodemods","register","program","codemodsCommand","command","description","addOption","projectPathOption","dryOption","debugOption","silentOption","rangeOption","action"],"mappings":"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"}
|