@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 +8 -0
- package/README.md +1 -1
- package/dist/services/deploy/checks/post-deploy/refresh-deployment-job-check.d.ts +9 -0
- package/dist/services/deploy/checks/post-deploy/refresh-deployment-job-check.js +31 -0
- package/dist/services/deploy/deploy-service-factory.js +4 -2
- package/oclif.manifest.json +1 -1
- package/package.json +1 -1
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
|
@@ -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
|
}
|
package/oclif.manifest.json
CHANGED