@comet/upgrade 1.31.0 → 1.33.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.
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PackageJson = void 0;
4
+ const fs_1 = require("fs");
5
+ class PackageJson {
6
+ path;
7
+ json;
8
+ constructor(path) {
9
+ if (!(0, fs_1.existsSync)(path)) {
10
+ throw new Error("File does not exist");
11
+ }
12
+ this.path = path;
13
+ this.json = JSON.parse((0, fs_1.readFileSync)(path, "utf-8"));
14
+ }
15
+ addDependency(name, version, dev = false) {
16
+ if (dev) {
17
+ this.json.devDependencies ??= {};
18
+ this.json.devDependencies[name] = version;
19
+ }
20
+ else {
21
+ this.json.dependencies ??= {};
22
+ this.json.dependencies[name] = version;
23
+ }
24
+ }
25
+ updateDependency(name, version) {
26
+ if (this.json.dependencies?.[name]) {
27
+ this.json.dependencies[name] = version;
28
+ }
29
+ if (this.json.devDependencies?.[name]) {
30
+ this.json.devDependencies[name] = version;
31
+ }
32
+ }
33
+ removeDependency(name) {
34
+ delete this.json.dependencies?.[name];
35
+ delete this.json.devDependencies?.[name];
36
+ }
37
+ save() {
38
+ (0, fs_1.writeFileSync)(this.path, JSON.stringify(this.json, null, 4));
39
+ }
40
+ }
41
+ exports.PackageJson = PackageJson;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const ts_morph_1 = require("ts-morph");
4
+ /**
5
+ * From
6
+ *
7
+ * if (error instanceof ValidationError) {
8
+ * return new ValidationError("Invalid request.");
9
+ * }
10
+ *
11
+ * to
12
+ *
13
+ * if (error.extensions?.code === "GRAPHQL_VALIDATION_FAILED") {
14
+ * return new ValidationError("Invalid request.");
15
+ * }
16
+ */
17
+ async function updateGraphQLFormatError() {
18
+ const project = new ts_morph_1.Project({ tsConfigFilePath: "./api/tsconfig.json" });
19
+ const sourceFile = project.getSourceFile("api/src/app.module.ts");
20
+ if (!sourceFile) {
21
+ throw new Error("app.module.ts not found");
22
+ }
23
+ // Change the import
24
+ sourceFile.getImportDeclaration((importDeclaration) => importDeclaration.getModuleSpecifierValue() === "apollo-server-express")?.remove();
25
+ sourceFile.addImportDeclaration({ namedImports: ["ValidationError"], moduleSpecifier: "@nestjs/apollo" });
26
+ // Update the if statement
27
+ sourceFile.getDescendantsOfKind(ts_morph_1.SyntaxKind.BinaryExpression).forEach((node) => {
28
+ if (node.getText() === "error instanceof ValidationError") {
29
+ node.replaceWithText(`error.extensions?.code === "GRAPHQL_VALIDATION_FAILED"`);
30
+ }
31
+ });
32
+ await sourceFile.save();
33
+ }
34
+ exports.default = updateGraphQLFormatError;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stage = void 0;
4
+ const fs_1 = require("fs");
5
+ const package_json_util_1 = require("../util/package-json.util");
6
+ exports.stage = "before-install";
7
+ async function updateNestDependencies() {
8
+ if (!(0, fs_1.existsSync)("api/package.json")) {
9
+ return;
10
+ }
11
+ const packageJson = new package_json_util_1.PackageJson("api/package.json");
12
+ packageJson.updateDependency("@mikro-orm/cli", "^6.0.0");
13
+ packageJson.updateDependency("@mikro-orm/core", "^6.0.0");
14
+ packageJson.updateDependency("@mikro-orm/migrations", "^6.0.0");
15
+ packageJson.updateDependency("@mikro-orm/nestjs", "^6.0.2");
16
+ packageJson.updateDependency("@mikro-orm/postgresql", "^6.0.0");
17
+ packageJson.save();
18
+ }
19
+ exports.default = updateNestDependencies;
@@ -2,38 +2,29 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.stage = void 0;
4
4
  const fs_1 = require("fs");
5
- const promises_1 = require("fs/promises");
5
+ const package_json_util_1 = require("../util/package-json.util");
6
6
  exports.stage = "before-install";
7
- function updateDependencyIfExists(dependencies, name, version) {
8
- if (dependencies[name]) {
9
- dependencies[name] = version;
10
- }
11
- }
12
7
  async function updateNestDependencies() {
13
8
  if (!(0, fs_1.existsSync)("api/package.json")) {
14
9
  return;
15
10
  }
16
- const packageJson = JSON.parse(await (0, promises_1.readFile)("api/package.json", "utf-8"));
17
- if (packageJson.dependencies) {
18
- packageJson.dependencies["@apollo/server"] = "^4.0.0";
19
- delete packageJson.dependencies["apollo-server-core"];
20
- delete packageJson.dependencies["apollo-server-express"];
21
- updateDependencyIfExists(packageJson.dependencies, "@nestjs/apollo", "^12.0.0");
22
- updateDependencyIfExists(packageJson.dependencies, "@nestjs/common", "^10.0.0");
23
- updateDependencyIfExists(packageJson.dependencies, "@nestjs/core", "^10.0.0");
24
- updateDependencyIfExists(packageJson.dependencies, "@nestjs/graphql", "^12.0.0");
25
- // TODO remove when https://github.com/vivid-planet/comet/pull/2809 has been merged
26
- updateDependencyIfExists(packageJson.dependencies, "@nestjs/passport", "^10.0.0");
27
- updateDependencyIfExists(packageJson.dependencies, "@nestjs/platform-express", "^10.0.0");
28
- updateDependencyIfExists(packageJson.dependencies, "graphql", "^16.6.0");
29
- updateDependencyIfExists(packageJson.dependencies, "nestjs-console", "^9.0.0");
30
- updateDependencyIfExists(packageJson.dependencies, "@golevelup/nestjs-discovery", "^4.0.0");
31
- }
32
- if (packageJson.devDependencies) {
33
- updateDependencyIfExists(packageJson.devDependencies, "@nestjs/cli", "^10.0.0");
34
- updateDependencyIfExists(packageJson.devDependencies, "@nestjs/schematics", "^10.0.0");
35
- updateDependencyIfExists(packageJson.devDependencies, "@nestjs/testing", "^10.0.0");
36
- }
37
- await (0, promises_1.writeFile)("api/package.json", JSON.stringify(packageJson, null, 4));
11
+ const packageJson = new package_json_util_1.PackageJson("api/package.json");
12
+ packageJson.addDependency("@apollo/server", "^4.0.0");
13
+ packageJson.removeDependency("apollo-server-core");
14
+ packageJson.removeDependency("apollo-server-express");
15
+ packageJson.updateDependency("@nestjs/apollo", "^12.0.0");
16
+ packageJson.updateDependency("@nestjs/common", "^10.0.0");
17
+ packageJson.updateDependency("@nestjs/core", "^10.0.0");
18
+ packageJson.updateDependency("@nestjs/graphql", "^12.0.0");
19
+ // TODO remove when https://github.com/vivid-planet/comet/pull/2809 has been merged
20
+ packageJson.updateDependency("@nestjs/passport", "^10.0.0");
21
+ packageJson.updateDependency("@nestjs/platform-express", "^10.0.0");
22
+ packageJson.updateDependency("graphql", "^16.6.0");
23
+ packageJson.updateDependency("nestjs-console", "^9.0.0");
24
+ packageJson.updateDependency("@golevelup/nestjs-discovery", "^4.0.0");
25
+ packageJson.updateDependency("@nestjs/cli", "^10.0.0");
26
+ packageJson.updateDependency("@nestjs/schematics", "^10.0.0");
27
+ packageJson.updateDependency("@nestjs/testing", "^10.0.0");
28
+ packageJson.save();
38
29
  }
39
30
  exports.default = updateNestDependencies;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@comet/upgrade",
3
- "version": "1.31.0",
3
+ "version": "1.33.0",
4
4
  "description": "Upgrade scripts for Comet DXP",
5
5
  "homepage": "https://github.com/vivid-planet/comet-upgrade#readme",
6
6
  "bugs": {