@speedkit/cli 4.14.0 → 4.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/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ # [4.15.0](https://gitlab.orestes.info/baqend/speed-kit-cli/compare/v4.14.0...v4.15.0) (2026-07-03)
2
+
3
+
4
+ ### Features
5
+
6
+ * **post-deploy:** post deployment job ([9c1cf71](https://gitlab.orestes.info/baqend/speed-kit-cli/commit/9c1cf71ec608b78bbcd422ef3ebda992084c32ee))
7
+ * **post-deploy:** post deployment job check ([72fc000](https://gitlab.orestes.info/baqend/speed-kit-cli/commit/72fc000472728f2c2accca3a025363bcdaa713b0))
8
+
1
9
  # [4.14.0](https://gitlab.orestes.info/baqend/speed-kit-cli/compare/v4.13.0...v4.14.0) (2026-06-29)
2
10
 
3
11
 
package/README.md CHANGED
@@ -21,7 +21,7 @@ $ npm install -g @speedkit/cli
21
21
  $ sk COMMAND
22
22
  running command...
23
23
  $ sk (--version)
24
- @speedkit/cli/4.14.0 linux-x64 node-v22.23.1
24
+ @speedkit/cli/4.15.0 linux-x64 node-v22.23.1
25
25
  $ sk --help [COMMAND]
26
26
  USAGE
27
27
  $ sk COMMAND
@@ -0,0 +1,9 @@
1
+ import { EntityManager } from "baqend";
2
+ import { PostDeployCheckInterface } from "../../deploy-service-model.js";
3
+ import { CliService } from "../../../cli/index.js";
4
+ export declare class RefreshDeploymentJobCheck implements PostDeployCheckInterface {
5
+ private entityManager;
6
+ private cli;
7
+ constructor(entityManager: EntityManager, cli: CliService);
8
+ check(): Promise<void>;
9
+ }
@@ -0,0 +1,31 @@
1
+ import { Set } from "baqend";
2
+ import ApplicationError from "../../../error-handling/error/application-error.js";
3
+ export class RefreshDeploymentJobCheck {
4
+ entityManager;
5
+ cli;
6
+ constructor(entityManager, cli) {
7
+ this.entityManager = entityManager;
8
+ this.cli = cli;
9
+ }
10
+ async check() {
11
+ const jobs = await this.entityManager["jobs.Definition"]
12
+ .find()
13
+ .resultList();
14
+ const requiredJobs = ["HTML", "Landing Page", "CSS, JS, Font"];
15
+ const foundJobNames = new Set(jobs.map((job) => job?.data?.name || " "));
16
+ const missingRequiredJobs = requiredJobs.filter((job) => !foundJobNames.has(job));
17
+ // Deployment jobs: soft warning only
18
+ const deploymentJobsMissing = jobs.filter((job) => job.type === "Deploymentjob" && job.created !== true);
19
+ if (deploymentJobsMissing.length > 0) {
20
+ this.cli.writeWarning(" Deployment jobs are missing. These are normally created on first deployment run.");
21
+ }
22
+ if (missingRequiredJobs.length > 0) {
23
+ throw new ApplicationError("MISSING JOBS", [
24
+ `Missing required jobs: ${missingRequiredJobs.join(", ")}`,
25
+ 'To create missing jobs, follow the steps here:",\n' +
26
+ ' "https://www.notion.so/baqend/How-to-create-missing-Jobs-306de49f8a9980f397c2ebe693da4aac?v=fcdbfc994dca4aa6be42228b37609d48&source=copy_link"\n' +
27
+ " ",
28
+ ]);
29
+ }
30
+ }
31
+ }
@@ -14,6 +14,7 @@ import { SplitChangeCheck } from "./checks/pre-deploy/split-change-check.js";
14
14
  import { ConfigApiContext, ConfigApiServiceFactory, } from "../config-api/index.js";
15
15
  import { DeprecatedDeploymentDetectionCheck } from "./checks/post-deploy/deprecated-deployment-detection-check.js";
16
16
  import { DeviceDetectionChangedCheck } from "./checks/pre-deploy/device-detection-changed-check.js";
17
+ import { RefreshDeploymentJobCheck } from "./checks/post-deploy/refresh-deployment-job-check.js";
17
18
  export default class DeployServiceFactory {
18
19
  context;
19
20
  cliConfig;
@@ -45,7 +46,7 @@ export default class DeployServiceFactory {
45
46
  ], cliService, [
46
47
  new SplitChangeCheck(cliService, files, configApi, customer, configName, this.context.isProduction),
47
48
  new DeviceDetectionChangedCheck(cliService, files, configApi, customer, configName, this.context.isProduction),
48
- ], this.getPostDeployChecks(files, cliService, configApi, customer.app), this.context.dryRun);
49
+ ], await this.getPostDeployChecks(files, cliService, configApi, customer.app), this.context.dryRun);
49
50
  }
50
51
  getConfigApi(app) {
51
52
  const configApiContext = new ConfigApiContext(app);
@@ -56,11 +57,12 @@ export default class DeployServiceFactory {
56
57
  const integrationApi = new IntegrationApiFactory(integrationApiContext, this.cliConfig).buildService();
57
58
  return integrationApi.run();
58
59
  }
59
- getPostDeployChecks(files, cliService, configApi, app) {
60
+ async getPostDeployChecks(files, cliService, configApi, app) {
60
61
  return [
61
62
  new SaveFilesCheck(files, cliService),
62
63
  new RevalidatedModuleCheck(configApi, cliService, app),
63
64
  new DeprecatedDeploymentDetectionCheck(files, cliService, configApi, app),
65
+ new RefreshDeploymentJobCheck(await configApi.client.getEntityManager(), cliService),
64
66
  ];
65
67
  }
66
68
  }
@@ -847,5 +847,5 @@
847
847
  ]
848
848
  }
849
849
  },
850
- "version": "4.14.0"
850
+ "version": "4.15.0"
851
851
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@speedkit/cli",
3
3
  "description": "Speed Kit CLI",
4
- "version": "4.14.0",
4
+ "version": "4.15.0",
5
5
  "author": {
6
6
  "name": "Baqend.com",
7
7
  "email": "info@baqend.com"