@comet/upgrade 1.13.0 → 1.15.0
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/README.md +6 -0
- package/lib/index.js +31 -23
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -14,6 +14,12 @@ For example:
|
|
|
14
14
|
npx @comet/upgrade v4
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
+
You can also run a single upgrade script by providing the path to the script:
|
|
18
|
+
|
|
19
|
+
```sh
|
|
20
|
+
npx @comet/upgrade v7/hide-graphql-field-suggestions.ts
|
|
21
|
+
```
|
|
22
|
+
|
|
17
23
|
## Create a new upgrade script
|
|
18
24
|
|
|
19
25
|
1. Start the development process:
|
package/lib/index.js
CHANGED
|
@@ -39,29 +39,31 @@ const fs_1 = __importDefault(require("fs"));
|
|
|
39
39
|
const path_1 = __importDefault(require("path"));
|
|
40
40
|
const semver_1 = __importDefault(require("semver"));
|
|
41
41
|
const execute_command_util_1 = require("./util/execute-command.util");
|
|
42
|
-
const VERSION_NUMBER = /^v?\d+$/;
|
|
43
42
|
const microservices = ["api", "admin", "site"];
|
|
44
43
|
function microserviceExists(microservice) {
|
|
45
44
|
return fs_1.default.existsSync(`${microservice}/package.json`);
|
|
46
45
|
}
|
|
47
46
|
function main() {
|
|
48
47
|
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
-
|
|
48
|
+
const targetVersionArg = process.argv[2];
|
|
50
49
|
if (targetVersionArg === undefined) {
|
|
51
50
|
console.error("Missing target version! Usage: npx @comet/upgrade <version>");
|
|
52
51
|
process.exit(-1);
|
|
53
52
|
}
|
|
54
|
-
|
|
53
|
+
const isUpgradeScript = fs_1.default.existsSync(path_1.default.join(__dirname, targetVersionArg.replace(/\.ts$/, ".js")));
|
|
54
|
+
if (isUpgradeScript) {
|
|
55
|
+
yield runUpgradeScript(targetVersionArg.replace(/\.ts$/, ".js"));
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const targetVersion = semver_1.default.coerce(targetVersionArg, { includePrerelease: true });
|
|
59
|
+
if (!targetVersion) {
|
|
55
60
|
console.error("Can't parse version number. Example usage: npx @comet/upgrade v4");
|
|
56
61
|
process.exit(-1);
|
|
57
62
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
const targetVersion = Number(targetVersionArg);
|
|
62
|
-
const scriptsFolder = path_1.default.join(__dirname, `v${targetVersion}`);
|
|
63
|
+
const targetVersionFolder = `v${targetVersion.major}`;
|
|
64
|
+
const scriptsFolder = path_1.default.join(__dirname, targetVersionFolder);
|
|
63
65
|
if (!fs_1.default.existsSync(scriptsFolder)) {
|
|
64
|
-
console.error(`Can't find target version '
|
|
66
|
+
console.error(`Can't find upgrade scripts for target version '${targetVersionFolder}'`);
|
|
65
67
|
listTargetVersions();
|
|
66
68
|
process.exit(-1);
|
|
67
69
|
}
|
|
@@ -69,7 +71,7 @@ function main() {
|
|
|
69
71
|
console.info(`Upgrading from v${currentVersion} to v${targetVersion}`);
|
|
70
72
|
console.info("Updating dependencies");
|
|
71
73
|
yield updateDependencies(targetVersion);
|
|
72
|
-
yield runUpgradeScripts(
|
|
74
|
+
yield runUpgradeScripts(targetVersionFolder);
|
|
73
75
|
yield runEslintFix();
|
|
74
76
|
});
|
|
75
77
|
}
|
|
@@ -130,25 +132,31 @@ function updateDependencies(targetVersion) {
|
|
|
130
132
|
"--no-audit",
|
|
131
133
|
"--loglevel",
|
|
132
134
|
"error",
|
|
133
|
-
|
|
134
|
-
...
|
|
135
|
+
targetVersion.prerelease.length > 0 ? "--save-exact" : "",
|
|
136
|
+
...dependencies.map((dependency) => `${dependency}@${targetVersion.version}`),
|
|
137
|
+
...devDependencies.map((dependency) => `${dependency}@${targetVersion.version}`),
|
|
135
138
|
]);
|
|
136
139
|
}
|
|
137
140
|
});
|
|
138
141
|
}
|
|
139
|
-
function runUpgradeScripts(
|
|
142
|
+
function runUpgradeScripts(targetVersionFolder) {
|
|
140
143
|
return __awaiter(this, void 0, void 0, function* () {
|
|
141
|
-
|
|
142
|
-
const scriptsFolder = path_1.default.join(__dirname, `v${targetVersion}`);
|
|
144
|
+
const scriptsFolder = path_1.default.join(__dirname, targetVersionFolder);
|
|
143
145
|
for (const fileName of fs_1.default.readdirSync(scriptsFolder)) {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
146
|
+
yield runUpgradeScript(path_1.default.join(targetVersionFolder, fileName));
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
function runUpgradeScript(script) {
|
|
151
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
152
|
+
var _a;
|
|
153
|
+
const upgradeScript = yield (_a = path_1.default.join(__dirname, script), Promise.resolve().then(() => __importStar(require(_a))));
|
|
154
|
+
try {
|
|
155
|
+
yield upgradeScript.default();
|
|
156
|
+
}
|
|
157
|
+
catch (error) {
|
|
158
|
+
console.error(`Script '${script}' failed to execute. See original error below`);
|
|
159
|
+
console.error(error);
|
|
152
160
|
}
|
|
153
161
|
});
|
|
154
162
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@comet/upgrade",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.15.0",
|
|
4
4
|
"description": "Upgrade scripts for Comet DXP",
|
|
5
5
|
"homepage": "https://github.com/vivid-planet/comet-upgrade#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -31,14 +31,14 @@
|
|
|
31
31
|
"eslint": "^8.56.0",
|
|
32
32
|
"glob": "^10.3.10",
|
|
33
33
|
"prettier": "^2.8.1",
|
|
34
|
-
"semver": "^7.
|
|
34
|
+
"semver": "^7.6.2",
|
|
35
35
|
"ts-morph": "^22.0.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@comet/eslint-config": "^3.2.1",
|
|
39
39
|
"@types/node": "^20.0.0",
|
|
40
40
|
"@types/prettier": "^2.7.1",
|
|
41
|
-
"@types/semver": "^7.
|
|
41
|
+
"@types/semver": "^7.5.8",
|
|
42
42
|
"husky": "^8.0.2",
|
|
43
43
|
"lint-staged": "^13.1.0",
|
|
44
44
|
"npm-run-all": "^4.1.5",
|