@codemarc/blt 1.8.5 → 1.8.7
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 +1 -1
- package/dist/blt +2 -0
- package/dist/blt.d.ts.map +1 -1
- package/dist/blt.js.map +1 -1
- package/dist/commands/app/pos.d.ts.map +1 -1
- package/dist/commands/app/pos.js +0 -2
- package/dist/commands/app/pos.js.map +1 -1
- package/dist/commands/notify/google-chat.d.ts +18 -0
- package/dist/commands/notify/google-chat.d.ts.map +1 -0
- package/dist/commands/notify/google-chat.js +43 -0
- package/dist/commands/notify/google-chat.js.map +1 -0
- package/dist/commands/notify/keys.d.ts +8 -0
- package/dist/commands/notify/keys.d.ts.map +1 -0
- package/dist/commands/notify/keys.js +36 -0
- package/dist/commands/notify/keys.js.map +1 -0
- package/dist/commands/notify.d.ts +3 -0
- package/dist/commands/notify.d.ts.map +1 -0
- package/dist/commands/notify.js +63 -0
- package/dist/commands/notify.js.map +1 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -431,7 +431,7 @@ The `app` namespace wraps developer on-demand workflows for BLT test environment
|
|
|
431
431
|
|
|
432
432
|
### `blt app pos <target> [--branch <branch>] [--env <env>]`
|
|
433
433
|
|
|
434
|
-
Build and deploy POS to a configured test target. Uses `deploy/sites/<target>.bltcore.com` and the site env bundle (`BLT_ENV_NAME` from `.trailz/env/env.<name>.bin`). Writes
|
|
434
|
+
Build and deploy POS to a configured test target. Uses `deploy/sites/<target>.bltcore.com` and the site env bundle (`BLT_ENV_NAME` from `.trailz/env/env.<name>.bin`). Writes expanded site `.env` for the droplet (gateway and nginx read `../.env` from `app/docker-compose.yml`), renders nginx templates when present, then deploys via SSH/SCP.
|
|
435
435
|
|
|
436
436
|
```bash
|
|
437
437
|
blt app pos test1 --branch laf-test
|
package/dist/blt
CHANGED
|
@@ -9,6 +9,7 @@ import deployCommand from "./commands/deploy";
|
|
|
9
9
|
import envCommand from "./commands/env";
|
|
10
10
|
import imageCommand from "./commands/image";
|
|
11
11
|
import initCommand from "./commands/init";
|
|
12
|
+
import notifyCommand from "./commands/notify";
|
|
12
13
|
import pdfCommand from "./commands/pdf";
|
|
13
14
|
import showCommand from "./commands/show";
|
|
14
15
|
import spinCommand from "./commands/spin";
|
|
@@ -38,6 +39,7 @@ deployCommand(program);
|
|
|
38
39
|
envCommand(program);
|
|
39
40
|
imageCommand(program);
|
|
40
41
|
initCommand(program);
|
|
42
|
+
notifyCommand(program);
|
|
41
43
|
pdfCommand(program);
|
|
42
44
|
showCommand(program);
|
|
43
45
|
spinCommand(program);
|
package/dist/blt.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blt.d.ts","sourceRoot":"","sources":["../src/blt.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"blt.d.ts","sourceRoot":"","sources":["../src/blt.ts"],"names":[],"mappings":";AA4BA,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C"}
|
package/dist/blt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blt.js","sourceRoot":"","sources":["../src/blt.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,UAAU,MAAM,gBAAgB,CAAC;AACxC,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAC9C,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAC5C,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAChD,6CAA6C;AAC7C,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAC9C,OAAO,UAAU,MAAM,gBAAgB,CAAC;AACxC,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAC5C,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,UAAU,MAAM,gBAAgB,CAAC;AACxC,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,eAAe,MAAM,qBAAqB,CAAC;AAClD,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAChD,OAAO,UAAU,MAAM,gBAAgB,CAAC;AACxC,OAAO,eAAe,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAG,IAAI,EAAE,cAAc,CAAC,CAAC;AAE/D,MAAM,UAAU,iBAAiB;IAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;IACtE,OAAO,WAAW,CAAC,OAAO,CAAC;AAC7B,CAAC;AAED,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;KACjB,OAAO,CAAC,iBAAiB,EAAE,CAAC;KAC5B,WAAW,CAAC,cAAc,CAAC,CAAC;AAE5B,UAAU,CAAC,OAAO,CAAC,CAAC;AACpB,aAAa,CAAC,OAAO,CAAC,CAAC;AACvB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,cAAc,CAAC,OAAO,CAAC,CAAC;AACxB,wBAAwB;AACxB,aAAa,CAAC,OAAO,CAAC,CAAC;AACvB,UAAU,CAAC,OAAO,CAAC,CAAC;AACpB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,WAAW,CAAC,OAAO,CAAC,CAAC;AACrB,UAAU,CAAC,OAAO,CAAC,CAAC;AACpB,WAAW,CAAC,OAAO,CAAC,CAAC;AACrB,WAAW,CAAC,OAAO,CAAC,CAAC;AACrB,eAAe,CAAC,OAAO,CAAC,CAAC;AACzB,cAAc,CAAC,OAAO,CAAC,CAAC;AACxB,UAAU,CAAC,OAAO,CAAC,CAAC;AACpB,eAAe,CAAC,OAAO,CAAC,CAAC;AAE3B,uCAAuC;AACvC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IACtB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AACD,OAAO,CAAC,GAAG,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"blt.js","sourceRoot":"","sources":["../src/blt.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,UAAU,MAAM,gBAAgB,CAAC;AACxC,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAC9C,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAC5C,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAChD,6CAA6C;AAC7C,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAC9C,OAAO,UAAU,MAAM,gBAAgB,CAAC;AACxC,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAC5C,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAC9C,OAAO,UAAU,MAAM,gBAAgB,CAAC;AACxC,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,eAAe,MAAM,qBAAqB,CAAC;AAClD,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAChD,OAAO,UAAU,MAAM,gBAAgB,CAAC;AACxC,OAAO,eAAe,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAG,IAAI,EAAE,cAAc,CAAC,CAAC;AAE/D,MAAM,UAAU,iBAAiB;IAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;IACtE,OAAO,WAAW,CAAC,OAAO,CAAC;AAC7B,CAAC;AAED,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;KACjB,OAAO,CAAC,iBAAiB,EAAE,CAAC;KAC5B,WAAW,CAAC,cAAc,CAAC,CAAC;AAE5B,UAAU,CAAC,OAAO,CAAC,CAAC;AACpB,aAAa,CAAC,OAAO,CAAC,CAAC;AACvB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,cAAc,CAAC,OAAO,CAAC,CAAC;AACxB,wBAAwB;AACxB,aAAa,CAAC,OAAO,CAAC,CAAC;AACvB,UAAU,CAAC,OAAO,CAAC,CAAC;AACpB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,WAAW,CAAC,OAAO,CAAC,CAAC;AACrB,aAAa,CAAC,OAAO,CAAC,CAAC;AACvB,UAAU,CAAC,OAAO,CAAC,CAAC;AACpB,WAAW,CAAC,OAAO,CAAC,CAAC;AACrB,WAAW,CAAC,OAAO,CAAC,CAAC;AACrB,eAAe,CAAC,OAAO,CAAC,CAAC;AACzB,cAAc,CAAC,OAAO,CAAC,CAAC;AACxB,UAAU,CAAC,OAAO,CAAC,CAAC;AACpB,eAAe,CAAC,OAAO,CAAC,CAAC;AAE3B,uCAAuC;AACvC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IACtB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AACD,OAAO,CAAC,GAAG,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pos.d.ts","sourceRoot":"","sources":["../../../src/commands/app/pos.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAO5C,eAAO,MAAM,kBAAkB,aAAa,CAAC;AAE7C,MAAM,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAoBF,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"pos.d.ts","sourceRoot":"","sources":["../../../src/commands/app/pos.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAO5C,eAAO,MAAM,kBAAkB,aAAa,CAAC;AAE7C,MAAM,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAoBF,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoF3F"}
|
package/dist/commands/app/pos.js
CHANGED
|
@@ -58,8 +58,6 @@ export async function deployPosApp(opts, logger) {
|
|
|
58
58
|
"blt-core-pos",
|
|
59
59
|
"/home/blt/buildcore.sh",
|
|
60
60
|
], logger, { cwd: siteDir });
|
|
61
|
-
logger.info("Writing expanded gateway env from same bundle → app/.dm.env");
|
|
62
|
-
writeExpandedSiteEnv(join(siteDir, "app", ".dm.env"), site.siteEnvBase, siteDir);
|
|
63
61
|
renderNginxTemplatesIfPresent(site, logger);
|
|
64
62
|
removeIfExists(appZip);
|
|
65
63
|
runCommand("zip", ["-9r", "app.zip", "app/"], logger, { cwd: siteDir });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pos.js","sourceRoot":"","sources":["../../../src/commands/app/pos.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pos.js","sourceRoot":"","sources":["../../../src/commands/app/pos.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Logger } from "@caporal/core";
|
|
2
|
+
export declare const DEFAULT_GOOGLE_CHAT_WEBHOOK_KEY = "GOOGLE_CHAT_WEBHOOK";
|
|
3
|
+
export declare const DEFAULT_GOOGLE_CHAT_TITLE = "Notification";
|
|
4
|
+
export type NotifyStatus = "success" | "failure";
|
|
5
|
+
export type GoogleChatNotifyOptions = {
|
|
6
|
+
message?: string;
|
|
7
|
+
status?: NotifyStatus;
|
|
8
|
+
env?: string;
|
|
9
|
+
branch?: string;
|
|
10
|
+
title?: string;
|
|
11
|
+
webhookKey?: string;
|
|
12
|
+
webhookUrl?: string;
|
|
13
|
+
siteUrl?: string;
|
|
14
|
+
};
|
|
15
|
+
export declare function formatGoogleChatMessage(opts: GoogleChatNotifyOptions): string;
|
|
16
|
+
export declare function resolveGoogleChatWebhookUrl(opts: GoogleChatNotifyOptions): string | undefined;
|
|
17
|
+
export declare function notifyGoogleChat(opts: GoogleChatNotifyOptions, logger: Logger): Promise<boolean>;
|
|
18
|
+
//# sourceMappingURL=google-chat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-chat.d.ts","sourceRoot":"","sources":["../../../src/commands/notify/google-chat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG5C,eAAO,MAAM,+BAA+B,wBAAwB,CAAC;AACrE,eAAO,MAAM,yBAAyB,iBAAiB,CAAC;AAExD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC;AAEjD,MAAM,MAAM,uBAAuB,GAAG;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,uBAAuB,GAAG,MAAM,CAe7E;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,uBAAuB,GAAG,MAAM,GAAG,SAAS,CAM7F;AAED,wBAAsB,gBAAgB,CACrC,IAAI,EAAE,uBAAuB,EAC7B,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC,CA0BlB"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { readTrailzKey } from "./keys";
|
|
2
|
+
export const DEFAULT_GOOGLE_CHAT_WEBHOOK_KEY = "GOOGLE_CHAT_WEBHOOK";
|
|
3
|
+
export const DEFAULT_GOOGLE_CHAT_TITLE = "Notification";
|
|
4
|
+
export function formatGoogleChatMessage(opts) {
|
|
5
|
+
const title = opts.title ?? DEFAULT_GOOGLE_CHAT_TITLE;
|
|
6
|
+
if (opts.message) {
|
|
7
|
+
return `*${title}*\n${opts.message}\n`;
|
|
8
|
+
}
|
|
9
|
+
if (!opts.env || !opts.status) {
|
|
10
|
+
throw new Error("Deploy template requires --env and --status (or pass --message).");
|
|
11
|
+
}
|
|
12
|
+
const branch = opts.branch ?? "unknown";
|
|
13
|
+
const siteUrl = opts.siteUrl ?? `https://${opts.env}.bltcore.com`;
|
|
14
|
+
return `*${opts.env}* — ${title}\nBranch: ${branch}\nStatus: ${opts.status}\n${siteUrl}`;
|
|
15
|
+
}
|
|
16
|
+
export function resolveGoogleChatWebhookUrl(opts) {
|
|
17
|
+
if (opts.webhookUrl) {
|
|
18
|
+
return opts.webhookUrl;
|
|
19
|
+
}
|
|
20
|
+
return readTrailzKey(opts.webhookKey ?? DEFAULT_GOOGLE_CHAT_WEBHOOK_KEY);
|
|
21
|
+
}
|
|
22
|
+
export async function notifyGoogleChat(opts, logger) {
|
|
23
|
+
const webhookUrl = resolveGoogleChatWebhookUrl(opts);
|
|
24
|
+
if (!webhookUrl) {
|
|
25
|
+
logger.info("No Google Chat webhook configured; skipping notification.");
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
const message = formatGoogleChatMessage(opts);
|
|
29
|
+
const label = opts.message ? "custom message" : `${opts.env} (${opts.status})`;
|
|
30
|
+
logger.info(`Sending Google Chat notification: ${label}`);
|
|
31
|
+
const response = await fetch(webhookUrl, {
|
|
32
|
+
method: "POST",
|
|
33
|
+
headers: { "Content-Type": "application/json" },
|
|
34
|
+
body: JSON.stringify({ text: message }),
|
|
35
|
+
});
|
|
36
|
+
if (!response.ok) {
|
|
37
|
+
const body = await response.text().catch(() => "");
|
|
38
|
+
throw new Error(`Google Chat notification failed (${response.status})${body ? `: ${body.trim()}` : ""}`);
|
|
39
|
+
}
|
|
40
|
+
logger.info("Google Chat notification sent.");
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=google-chat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-chat.js","sourceRoot":"","sources":["../../../src/commands/notify/google-chat.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,MAAM,CAAC,MAAM,+BAA+B,GAAG,qBAAqB,CAAC;AACrE,MAAM,CAAC,MAAM,yBAAyB,GAAG,cAAc,CAAC;AAexD,MAAM,UAAU,uBAAuB,CAAC,IAA6B;IACpE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,yBAAyB,CAAC;IAEtD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,IAAI,KAAK,MAAM,IAAI,CAAC,OAAO,IAAI,CAAC;IACxC,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,WAAW,IAAI,CAAC,GAAG,cAAc,CAAC;IAElE,OAAO,IAAI,IAAI,CAAC,GAAG,OAAO,KAAK,aAAa,MAAM,aAAa,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAA6B;IACxE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,OAAO,aAAa,CAAC,IAAI,CAAC,UAAU,IAAI,+BAA+B,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACrC,IAA6B,EAC7B,MAAc;IAEd,MAAM,UAAU,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QACzE,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC;IAC/E,MAAM,CAAC,IAAI,CAAC,qCAAqC,KAAK,EAAE,CAAC,CAAC;IAE1D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE;QACxC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;KACvC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,IAAI,KAAK,CACd,oCAAoC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACvF,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function resolveTrailzKeysBase(workspaceRoot?: string): string;
|
|
2
|
+
export declare function parseEnvLineValue(line: string): string | undefined;
|
|
3
|
+
/** Read a single key from the workspace `.trailz/keys/keys` smash bundle. */
|
|
4
|
+
export declare function readTrailzKey(keyName: string, options?: {
|
|
5
|
+
workspaceRoot?: string;
|
|
6
|
+
cwd?: string;
|
|
7
|
+
}): string | undefined;
|
|
8
|
+
//# sourceMappingURL=keys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/commands/notify/keys.ts"],"names":[],"mappings":"AAIA,wBAAgB,qBAAqB,CAAC,aAAa,SAAsB,GAAG,MAAM,CAEjF;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMlE;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAC5B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GACpD,MAAM,GAAG,SAAS,CAsBpB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
2
|
+
import { findWorkspaceRoot } from "../app/paths";
|
|
3
|
+
import { decryptTrailzEnvBase } from "../app/env-decrypt";
|
|
4
|
+
export function resolveTrailzKeysBase(workspaceRoot = findWorkspaceRoot()) {
|
|
5
|
+
return join(workspaceRoot, ".trailz", "keys", "keys");
|
|
6
|
+
}
|
|
7
|
+
export function parseEnvLineValue(line) {
|
|
8
|
+
const eq = line.indexOf("=");
|
|
9
|
+
if (eq <= 0) {
|
|
10
|
+
return undefined;
|
|
11
|
+
}
|
|
12
|
+
return line.slice(eq + 1);
|
|
13
|
+
}
|
|
14
|
+
/** Read a single key from the workspace `.trailz/keys/keys` smash bundle. */
|
|
15
|
+
export function readTrailzKey(keyName, options = {}) {
|
|
16
|
+
const workspaceRoot = options.workspaceRoot ?? findWorkspaceRoot(options.cwd);
|
|
17
|
+
const keysBase = resolveTrailzKeysBase(workspaceRoot);
|
|
18
|
+
let content;
|
|
19
|
+
try {
|
|
20
|
+
content = decryptTrailzEnvBase(keysBase, { cwd: workspaceRoot, expand: false });
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
for (const line of content.split("\n")) {
|
|
26
|
+
const trimmed = line.trim();
|
|
27
|
+
if (!trimmed || trimmed.startsWith("#")) {
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
if (trimmed.startsWith(`${keyName}=`)) {
|
|
31
|
+
return parseEnvLineValue(trimmed);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/commands/notify/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,UAAU,qBAAqB,CAAC,aAAa,GAAG,iBAAiB,EAAE;IACxE,OAAO,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACb,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,aAAa,CAC5B,OAAe,EACf,UAAoD,EAAE;IAEtD,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAEtD,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACJ,OAAO,GAAG,oBAAoB,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACjF,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,SAAS;QACV,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC;YACvC,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../src/commands/notify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiC,OAAO,EAAE,MAAM,eAAe,CAAC;AAuB5E,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,OAAO,EAAE,OAAO,QAiErD"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { DEFAULT_GOOGLE_CHAT_TITLE, DEFAULT_GOOGLE_CHAT_WEBHOOK_KEY, notifyGoogleChat, } from "./notify/google-chat";
|
|
2
|
+
const notifyHelpText = `
|
|
3
|
+
Send deployment notifications to chat providers
|
|
4
|
+
|
|
5
|
+
Usage:
|
|
6
|
+
blt notify <provider>
|
|
7
|
+
|
|
8
|
+
Available providers:
|
|
9
|
+
google-chat Post a status message to a Google Chat webhook
|
|
10
|
+
|
|
11
|
+
Examples:
|
|
12
|
+
blt notify google-chat --status success --env test2 --branch laf-test
|
|
13
|
+
blt notify google-chat --status failure --env demo --title "Data reload"
|
|
14
|
+
blt notify google-chat --message "Schema migration finished on test2"
|
|
15
|
+
`;
|
|
16
|
+
export default function notifyCommand(program) {
|
|
17
|
+
program
|
|
18
|
+
.command("notify", "Send deployment notifications")
|
|
19
|
+
.help(notifyHelpText)
|
|
20
|
+
.action(() => {
|
|
21
|
+
console.log(notifyHelpText);
|
|
22
|
+
});
|
|
23
|
+
program
|
|
24
|
+
.command("notify google-chat", "Post a status message to Google Chat")
|
|
25
|
+
.hide()
|
|
26
|
+
.option("--message <text>", "Send this text verbatim (skips deploy template; --status/--env not required)")
|
|
27
|
+
.option("--status <status>", "Deploy result: success or failure", {
|
|
28
|
+
validator: ["success", "failure"],
|
|
29
|
+
})
|
|
30
|
+
.option("--env <env>", "Environment name shown in the deploy template message")
|
|
31
|
+
.option("--branch <branch>", "Git branch shown in the deploy template message")
|
|
32
|
+
.option("--title <title>", "Notification title", {
|
|
33
|
+
default: DEFAULT_GOOGLE_CHAT_TITLE,
|
|
34
|
+
})
|
|
35
|
+
.option("--webhook-key <key>", "Trailz keys entry for the webhook URL", {
|
|
36
|
+
default: DEFAULT_GOOGLE_CHAT_WEBHOOK_KEY,
|
|
37
|
+
})
|
|
38
|
+
.option("--webhook-url <url>", "Webhook URL (skips trailz keys lookup)")
|
|
39
|
+
.option("--site-url <url>", "Site URL shown in the message")
|
|
40
|
+
.action(async ({ options, logger, }) => {
|
|
41
|
+
try {
|
|
42
|
+
const message = options.message ? String(options.message) : undefined;
|
|
43
|
+
if (!message && (!options.status || !options.env)) {
|
|
44
|
+
throw new Error("Provide --message for a custom notification, or --status and --env for the deploy template.");
|
|
45
|
+
}
|
|
46
|
+
await notifyGoogleChat({
|
|
47
|
+
message,
|
|
48
|
+
status: options.status ? String(options.status) : undefined,
|
|
49
|
+
env: options.env ? String(options.env) : undefined,
|
|
50
|
+
branch: options.branch ? String(options.branch) : undefined,
|
|
51
|
+
title: options.title ? String(options.title) : undefined,
|
|
52
|
+
webhookKey: options.webhookKey ? String(options.webhookKey) : undefined,
|
|
53
|
+
webhookUrl: options.webhookUrl ? String(options.webhookUrl) : undefined,
|
|
54
|
+
siteUrl: options.siteUrl ? String(options.siteUrl) : undefined,
|
|
55
|
+
}, logger);
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
logger.error(`notify google-chat failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
59
|
+
process.exit(1);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=notify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notify.js","sourceRoot":"","sources":["../../src/commands/notify.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codemarc/blt",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.7",
|
|
4
4
|
"description": "blt cli",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/blt",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"dev": "bunx --bun tsc --watch",
|
|
20
20
|
"start": "bun run src/blt.ts",
|
|
21
21
|
"prepublishOnly": "bun run build",
|
|
22
|
-
"test": "bun test src/commands/app/env-check.test.ts src/commands/env/get.test.ts"
|
|
22
|
+
"test": "bun test src/commands/app/env-check.test.ts src/commands/env/get.test.ts src/commands/notify/google-chat.test.ts"
|
|
23
23
|
},
|
|
24
24
|
"keywords": [
|
|
25
25
|
"blt",
|