@codemarc/blt 1.10.5 → 1.10.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 -20
- package/dist/commands/app/paths.d.ts +1 -0
- package/dist/commands/app/paths.d.ts.map +1 -1
- package/dist/commands/app/paths.js +10 -3
- package/dist/commands/app/paths.js.map +1 -1
- package/dist/commands/app/pos.d.ts +7 -0
- package/dist/commands/app/pos.d.ts.map +1 -1
- package/dist/commands/app/pos.js +23 -12
- package/dist/commands/app/pos.js.map +1 -1
- package/dist/commands/app/site-env.d.ts +1 -0
- package/dist/commands/app/site-env.d.ts.map +1 -1
- package/dist/commands/app/site-env.js +6 -2
- package/dist/commands/app/site-env.js.map +1 -1
- package/dist/commands/deploy/secrets.d.ts.map +1 -1
- package/dist/commands/deploy/secrets.js +30 -4
- package/dist/commands/deploy/secrets.js.map +1 -1
- package/dist/commands/deploy.js +2 -2
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +4 -44
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/notify/keys.d.ts.map +1 -1
- package/dist/commands/notify/keys.js +2 -1
- package/dist/commands/notify/keys.js.map +1 -1
- package/package.json +2 -2
- package/dist/commands/init/root.d.ts +0 -10
- package/dist/commands/init/root.d.ts.map +0 -1
- package/dist/commands/init/root.js +0 -34
- package/dist/commands/init/root.js.map +0 -1
package/README.md
CHANGED
|
@@ -615,31 +615,12 @@ Snapshots default under `data-snapshots/` from the **current working directory**
|
|
|
615
615
|
|
|
616
616
|
## Init Commands
|
|
617
617
|
|
|
618
|
-
### `blt init root`
|
|
619
|
-
|
|
620
|
-
Clone the umbrella repository (`bltcore-com/blt`). Start here on a fresh machine.
|
|
621
|
-
|
|
622
|
-
```bash
|
|
623
|
-
blt init root -s
|
|
624
|
-
cd blt
|
|
625
|
-
blt init -w -s
|
|
626
|
-
./getblt.sh
|
|
627
|
-
```
|
|
628
|
-
|
|
629
|
-
**Options:**
|
|
630
|
-
|
|
631
|
-
- `-d, --directory <name>` — Clone directory name (default: `blt`)
|
|
632
|
-
- `-p, --parent <path>` — Parent directory (default: `.`)
|
|
633
|
-
- `-s, --ssh` — Use SSH URL instead of HTTPS
|
|
634
|
-
- `-g, --gh` — Use GitHub CLI (`gh repo clone`)
|
|
635
|
-
|
|
636
618
|
### `blt init [options]`
|
|
637
619
|
|
|
638
620
|
Create a shell script to fast-forward sync sibling BLT repositories. Run the generated script from the **umbrella repo root** (`bltcore-com/blt`), not from a parent directory.
|
|
639
621
|
|
|
640
622
|
```bash
|
|
641
|
-
blt
|
|
642
|
-
cd blt
|
|
623
|
+
git clone git@github.com:bltcore-com/blt.git && cd blt
|
|
643
624
|
blt init -w -s
|
|
644
625
|
blt init -b -s # bundle: single-root workspace
|
|
645
626
|
./getblt.sh
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export declare function findWorkspaceRoot(startDir?: string): string;
|
|
2
2
|
export declare function resolveDeploySiteDir(target: string, workspaceRoot?: string): string;
|
|
3
|
+
export declare function resolveDeploySitesRoot(siteDir: string): string;
|
|
3
4
|
export declare function resolveDataRepoDir(workspaceRoot?: string): string;
|
|
4
5
|
export declare function resolveDataEnvBundle(envName: string, dataDir?: string): string;
|
|
5
6
|
export { trailzEnvBasePath, trailzEnvBundlePath } from "./env-check";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/commands/app/paths.ts"],"names":[],"mappings":"AAIA,wBAAgB,iBAAiB,CAAC,QAAQ,SAAgB,GAAG,MAAM,CAmBlE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,SAAsB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/commands/app/paths.ts"],"names":[],"mappings":"AAIA,wBAAgB,iBAAiB,CAAC,QAAQ,SAAgB,GAAG,MAAM,CAmBlE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,SAAsB,GAAG,MAAM,CAUhG;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,kBAAkB,CAAC,aAAa,SAAsB,GAAG,MAAM,CAM9E;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,SAAuB,GAAG,MAAM,CAM5F;AAED,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -17,12 +17,19 @@ export function findWorkspaceRoot(startDir = process.cwd()) {
|
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
export function resolveDeploySiteDir(target, workspaceRoot = findWorkspaceRoot()) {
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
const candidates = [
|
|
21
|
+
join(workspaceRoot, "deploy", "sites", "bltcore.com", target),
|
|
22
|
+
join(workspaceRoot, "deploy", "sites", `${target}.bltcore.com`),
|
|
23
|
+
];
|
|
24
|
+
const siteDir = candidates.find((candidate) => existsSync(candidate));
|
|
25
|
+
if (!siteDir) {
|
|
26
|
+
throw new Error(`Deploy site directory not found. Checked: ${candidates.join(", ")}`);
|
|
23
27
|
}
|
|
24
28
|
return siteDir;
|
|
25
29
|
}
|
|
30
|
+
export function resolveDeploySitesRoot(siteDir) {
|
|
31
|
+
return join(findWorkspaceRoot(siteDir), "deploy", "sites");
|
|
32
|
+
}
|
|
26
33
|
export function resolveDataRepoDir(workspaceRoot = findWorkspaceRoot()) {
|
|
27
34
|
const dataDir = join(workspaceRoot, "data");
|
|
28
35
|
if (!existsSync(dataDir)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/commands/app/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,UAAU,iBAAiB,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;IACzD,IAAI,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,SAAS,CAAC;QACT,IACC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACzC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACnC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAChC,CAAC;YACF,OAAO,OAAO,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACd,6FAA6F,CAC7F,CAAC;QACH,CAAC;QACD,OAAO,GAAG,MAAM,CAAC;IAClB,CAAC;AACF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,aAAa,GAAG,iBAAiB,EAAE;IACvF,MAAM,
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/commands/app/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,UAAU,iBAAiB,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;IACzD,IAAI,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,SAAS,CAAC;QACT,IACC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACzC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACnC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAChC,CAAC;YACF,OAAO,OAAO,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACd,6FAA6F,CAC7F,CAAC;QACH,CAAC;QACD,OAAO,GAAG,MAAM,CAAC;IAClB,CAAC;AACF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,aAAa,GAAG,iBAAiB,EAAE;IACvF,MAAM,UAAU,GAAG;QAClB,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC;QAC7D,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,cAAc,CAAC;KAC/D,CAAC;IACF,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IACtE,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,6CAA6C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACrD,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,aAAa,GAAG,iBAAiB,EAAE;IACrE,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,kCAAkC,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAe,EAAE,OAAO,GAAG,kBAAkB,EAAE;IACnF,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,8BAA8B,UAAU,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
import type { Logger } from "@caporal/core";
|
|
2
2
|
export declare const DEFAULT_POS_BRANCH = "laf-test";
|
|
3
|
+
export declare const POS_REMOTE_DEPLOY_COMMAND = "rm -rf app.last && mv app app.last && unzip app.zip && cd app && docker compose up -d";
|
|
3
4
|
export type DeployPosAppOptions = {
|
|
4
5
|
target: string;
|
|
5
6
|
branch: string;
|
|
6
7
|
env?: string;
|
|
7
8
|
};
|
|
9
|
+
export declare function resolvePosDeployPaths(siteDir: string): {
|
|
10
|
+
sitesRoot: string;
|
|
11
|
+
dockerfile: string;
|
|
12
|
+
keysBase: string;
|
|
13
|
+
siteEnvHelper: string;
|
|
14
|
+
};
|
|
8
15
|
export declare function deployPosApp(opts: DeployPosAppOptions, logger: Logger): Promise<void>;
|
|
9
16
|
//# sourceMappingURL=pos.d.ts.map
|
|
@@ -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;
|
|
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;AAW5C,eAAO,MAAM,kBAAkB,aAAa,CAAC;AAC7C,eAAO,MAAM,yBAAyB,0FACkD,CAAC;AAEzF,MAAM,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACtB,CASA;AAoBD,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+F3F"}
|
package/dist/commands/app/pos.js
CHANGED
|
@@ -1,11 +1,22 @@
|
|
|
1
1
|
import { appendFileSync, existsSync, rmSync, writeFileSync } from "node:fs";
|
|
2
|
-
import { join } from "node:path";
|
|
3
|
-
import { findWorkspaceRoot, resolveDeploySiteDir } from "./paths";
|
|
2
|
+
import { join, relative } from "node:path";
|
|
3
|
+
import { findWorkspaceRoot, resolveDeploySiteDir, resolveDeploySitesRoot } from "./paths";
|
|
4
4
|
import { ensureAppEnv } from "./env-check";
|
|
5
5
|
import { decryptTrailzEnvBase } from "./env-decrypt";
|
|
6
|
-
import { loadSiteEnvContext, renderNginxTemplatesIfPresent } from "./site-env";
|
|
6
|
+
import { loadSiteEnvContext, renderNginxTemplatesIfPresent, resolveSiteEnvHelper, } from "./site-env";
|
|
7
7
|
import { runCommand } from "./shell";
|
|
8
8
|
export const DEFAULT_POS_BRANCH = "laf-test";
|
|
9
|
+
export const POS_REMOTE_DEPLOY_COMMAND = "rm -rf app.last && mv app app.last && unzip app.zip && cd app && docker compose up -d";
|
|
10
|
+
export function resolvePosDeployPaths(siteDir) {
|
|
11
|
+
const workspaceRoot = findWorkspaceRoot(siteDir);
|
|
12
|
+
const sitesRoot = resolveDeploySitesRoot(siteDir);
|
|
13
|
+
return {
|
|
14
|
+
sitesRoot,
|
|
15
|
+
dockerfile: relative(sitesRoot, join(siteDir, "Dockerfile")),
|
|
16
|
+
keysBase: join(workspaceRoot, ".trailz", "keys", "keys"),
|
|
17
|
+
siteEnvHelper: resolveSiteEnvHelper(siteDir),
|
|
18
|
+
};
|
|
19
|
+
}
|
|
9
20
|
function removeIfExists(path) {
|
|
10
21
|
if (existsSync(path)) {
|
|
11
22
|
rmSync(path, { recursive: true, force: true });
|
|
@@ -24,6 +35,7 @@ export async function deployPosApp(opts, logger) {
|
|
|
24
35
|
const workspaceRoot = findWorkspaceRoot();
|
|
25
36
|
const siteDir = resolveDeploySiteDir(opts.target, workspaceRoot);
|
|
26
37
|
const site = loadSiteEnvContext(siteDir, logger);
|
|
38
|
+
const paths = resolvePosDeployPaths(siteDir);
|
|
27
39
|
const envName = opts.env ?? site.bltEnvName;
|
|
28
40
|
const envPlain = join(siteDir, ".env");
|
|
29
41
|
const appZip = join(siteDir, "app.zip");
|
|
@@ -36,13 +48,11 @@ export async function deployPosApp(opts, logger) {
|
|
|
36
48
|
ensureAppEnv({ envName, cwd: siteDir, logger });
|
|
37
49
|
logger.info(`Deploying POS branch "${opts.branch}" with env "${envName}" to "${site.target}"`);
|
|
38
50
|
logger.info(`Site directory: ${siteDir}`);
|
|
39
|
-
runCommand("bash", ["-lc", `smash -n
|
|
51
|
+
runCommand("bash", ["-lc", `smash -n ${JSON.stringify(paths.keysBase)} | grep GITHUB_TOKEN > .env`], logger, { cwd: siteDir });
|
|
40
52
|
runCommand("bash", ["-lc", `printf '\\nTZ=America/New_York\\n' >> .env`], logger, {
|
|
41
53
|
cwd: siteDir,
|
|
42
54
|
});
|
|
43
|
-
runCommand("docker", ["build", "-f",
|
|
44
|
-
cwd: siteDir,
|
|
45
|
-
});
|
|
55
|
+
runCommand("docker", ["build", "-f", paths.dockerfile, "-t", "blt-core-pos", "."], logger, { cwd: paths.sitesRoot });
|
|
46
56
|
logger.info("Merging expanded site env into build .env");
|
|
47
57
|
appendExpandedSiteEnv(envPlain, site.siteEnvBase, siteDir);
|
|
48
58
|
runCommand("docker", [
|
|
@@ -54,21 +64,22 @@ export async function deployPosApp(opts, logger) {
|
|
|
54
64
|
"-e",
|
|
55
65
|
`BRANCH=${opts.branch}`,
|
|
56
66
|
"-v",
|
|
57
|
-
"./app/
|
|
67
|
+
"./app/dist:/home/blt/dist",
|
|
58
68
|
"blt-core-pos",
|
|
59
69
|
"/home/blt/buildcore.sh",
|
|
60
70
|
], logger, { cwd: siteDir });
|
|
61
71
|
renderNginxTemplatesIfPresent(site, logger);
|
|
72
|
+
runCommand("bash", [
|
|
73
|
+
"-lc",
|
|
74
|
+
`source ${JSON.stringify(paths.siteEnvHelper)} && blt_prepare_site_certs "$(pwd)"`,
|
|
75
|
+
], logger, { cwd: siteDir });
|
|
62
76
|
removeIfExists(appZip);
|
|
63
77
|
runCommand("zip", ["-9r", "app.zip", "app/"], logger, { cwd: siteDir });
|
|
64
78
|
logger.info("Writing expanded site .env for droplet deploy");
|
|
65
79
|
writeExpandedSiteEnv(envPlain, site.siteEnvBase, siteDir);
|
|
66
80
|
runCommand("scp", [envPlain, `${site.target}:`], logger, { cwd: siteDir });
|
|
67
81
|
runCommand("scp", [appZip, `${site.target}:`], logger, { cwd: siteDir });
|
|
68
|
-
runCommand("ssh", [
|
|
69
|
-
site.target,
|
|
70
|
-
"rm -rf app.last && mv app app.last && unzip app.zip && cd app && docker compose restart",
|
|
71
|
-
], logger, { cwd: siteDir });
|
|
82
|
+
runCommand("ssh", [site.target, POS_REMOTE_DEPLOY_COMMAND], logger, { cwd: siteDir });
|
|
72
83
|
logger.info("POS deploy complete.");
|
|
73
84
|
}
|
|
74
85
|
//# sourceMappingURL=pos.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pos.js","sourceRoot":"","sources":["../../../src/commands/app/pos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"pos.js","sourceRoot":"","sources":["../../../src/commands/app/pos.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ export type SiteEnvContext = {
|
|
|
10
10
|
agentPort: string;
|
|
11
11
|
siteEnvBase: string;
|
|
12
12
|
};
|
|
13
|
+
export declare function resolveSiteEnvHelper(siteDir: string): string;
|
|
13
14
|
export declare function loadSiteEnvContext(siteDir: string, logger: Logger): SiteEnvContext;
|
|
14
15
|
export declare function renderNginxTemplatesIfPresent(site: SiteEnvContext, logger: Logger): void;
|
|
15
16
|
//# sourceMappingURL=site-env.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"site-env.d.ts","sourceRoot":"","sources":["../../../src/commands/app/site-env.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"site-env.d.ts","sourceRoot":"","sources":["../../../src/commands/app/site-env.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAI5C,MAAM,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACpB,CAAC;AAYF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAmDlF;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAsBxF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { existsSync, readdirSync } from "node:fs";
|
|
2
2
|
import { join } from "node:path";
|
|
3
|
+
import { findWorkspaceRoot } from "./paths";
|
|
3
4
|
import { readCommand, runCommand } from "./shell";
|
|
4
5
|
function parseSiteEnvOutput(output) {
|
|
5
6
|
const values = {};
|
|
@@ -11,8 +12,11 @@ function parseSiteEnvOutput(output) {
|
|
|
11
12
|
}
|
|
12
13
|
return values;
|
|
13
14
|
}
|
|
15
|
+
export function resolveSiteEnvHelper(siteDir) {
|
|
16
|
+
return join(findWorkspaceRoot(siteDir), "deploy", "sites", "_lib", "site-env.sh");
|
|
17
|
+
}
|
|
14
18
|
export function loadSiteEnvContext(siteDir, logger) {
|
|
15
|
-
const libPath =
|
|
19
|
+
const libPath = resolveSiteEnvHelper(siteDir);
|
|
16
20
|
if (!existsSync(libPath)) {
|
|
17
21
|
throw new Error(`Site env helper not found: ${libPath}`);
|
|
18
22
|
}
|
|
@@ -53,7 +57,7 @@ export function renderNginxTemplatesIfPresent(site, logger) {
|
|
|
53
57
|
if (!hasTemplates) {
|
|
54
58
|
return;
|
|
55
59
|
}
|
|
56
|
-
const libPath =
|
|
60
|
+
const libPath = resolveSiteEnvHelper(site.siteDir);
|
|
57
61
|
logger.info(`Rendering nginx templates in ${templatesDir}`);
|
|
58
62
|
runCommand("bash", [
|
|
59
63
|
"-lc",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"site-env.js","sourceRoot":"","sources":["../../../src/commands/app/site-env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAclD,SAAS,kBAAkB,CAAC,MAAc;IACzC,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,EAAE,IAAI,CAAC;YAAE,SAAS;QACtB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"site-env.js","sourceRoot":"","sources":["../../../src/commands/app/site-env.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy/secrets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy/secrets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAgH5C,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkD9D"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { execSync } from "node:child_process";
|
|
2
|
+
import { existsSync } from "node:fs";
|
|
3
|
+
import { findWorkspaceRoot } from "../app/paths";
|
|
4
|
+
import { readTrailzKey, trailzKeysBundlePath } from "../notify/keys";
|
|
5
|
+
const PAYMENT_PROVIDER_SECRETS = ["STRIPE_SECRET_KEY", "SQUARE_ACCESS_TOKEN"];
|
|
2
6
|
const DEFAULT_PROJECT_REF = "erpofhdbqnvltzggpnrn";
|
|
3
7
|
function exec(command, options = {}) {
|
|
4
8
|
try {
|
|
@@ -71,15 +75,37 @@ function checkSupabaseLogin(logger, cwd) {
|
|
|
71
75
|
return false;
|
|
72
76
|
}
|
|
73
77
|
}
|
|
78
|
+
function resolvePaymentSecret(name, logger) {
|
|
79
|
+
const fromEnv = process.env[name]?.trim();
|
|
80
|
+
if (fromEnv) {
|
|
81
|
+
return fromEnv;
|
|
82
|
+
}
|
|
83
|
+
const fromKeys = readTrailzKey(name, { cwd: process.cwd() });
|
|
84
|
+
if (fromKeys) {
|
|
85
|
+
logger.info(`${name} resolved from .trailz/keys/keys.bin`);
|
|
86
|
+
return fromKeys;
|
|
87
|
+
}
|
|
88
|
+
return undefined;
|
|
89
|
+
}
|
|
74
90
|
export async function setSecrets(logger) {
|
|
75
91
|
if (!checkSupabaseCli(logger) || !checkSupabaseLogin(logger)) {
|
|
76
92
|
process.exit(1);
|
|
77
93
|
}
|
|
78
|
-
const stripeKey =
|
|
79
|
-
const squareToken =
|
|
94
|
+
const stripeKey = resolvePaymentSecret("STRIPE_SECRET_KEY", logger);
|
|
95
|
+
const squareToken = resolvePaymentSecret("SQUARE_ACCESS_TOKEN", logger);
|
|
80
96
|
if (!stripeKey && !squareToken) {
|
|
81
|
-
logger.error("No payment provider secrets found
|
|
82
|
-
console.log("
|
|
97
|
+
logger.error("No payment provider secrets found.");
|
|
98
|
+
console.log("Set one or more in your environment (.env) or in the workspace keys bundle:");
|
|
99
|
+
console.log(" .trailz/keys/keys.bin (decrypt with SMASH_KEY; see blt env get)");
|
|
100
|
+
try {
|
|
101
|
+
const workspaceRoot = findWorkspaceRoot(process.cwd());
|
|
102
|
+
if (existsSync(trailzKeysBundlePath(workspaceRoot)) && !process.env.SMASH_KEY?.trim()) {
|
|
103
|
+
console.log(" SMASH_KEY is unset — export it to decrypt keys.bin");
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
// not in a BLT workspace checkout
|
|
108
|
+
}
|
|
83
109
|
console.log("STRIPE_SECRET_KEY=sk_test_...");
|
|
84
110
|
console.log("SQUARE_ACCESS_TOKEN=EAAAl...");
|
|
85
111
|
process.exit(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../src/commands/deploy/secrets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../src/commands/deploy/secrets.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/deploy.js
CHANGED
|
@@ -18,7 +18,7 @@ Available operations:
|
|
|
18
18
|
data Deploy data instance from .sql files
|
|
19
19
|
sql Deploy a named SQL file to database
|
|
20
20
|
functions Deploy Supabase Edge Functions
|
|
21
|
-
secrets Set Supabase secrets from environment
|
|
21
|
+
secrets Set Supabase secrets from environment or .trailz/keys/keys.bin
|
|
22
22
|
|
|
23
23
|
Run 'blt deploy <operation> --help' for more information on a specific command.
|
|
24
24
|
`;
|
|
@@ -97,7 +97,7 @@ Run 'blt deploy <operation> --help' for more information on a specific command.
|
|
|
97
97
|
}
|
|
98
98
|
});
|
|
99
99
|
program
|
|
100
|
-
.command("deploy secrets", "Set Supabase secrets from environment")
|
|
100
|
+
.command("deploy secrets", "Set Supabase secrets from environment or .trailz/keys/keys.bin")
|
|
101
101
|
.hide()
|
|
102
102
|
.action(async ({ logger }) => {
|
|
103
103
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,OAAO,EAAE,OAAO,QA8DnD"}
|
package/dist/commands/init.js
CHANGED
|
@@ -1,49 +1,8 @@
|
|
|
1
1
|
import { generateInitScript } from "./init/script";
|
|
2
|
-
import { cloneUmbrellaRoot } from "./init/root";
|
|
3
2
|
/**
|
|
4
3
|
* Register init command with the CLI program
|
|
5
4
|
*/
|
|
6
5
|
export default function initCommand(program) {
|
|
7
|
-
const initRootHelpText = `
|
|
8
|
-
Clone the BLT umbrella repository (bltcore-com/blt)
|
|
9
|
-
|
|
10
|
-
Usage:
|
|
11
|
-
blt init root [options]
|
|
12
|
-
|
|
13
|
-
Equivalent to:
|
|
14
|
-
git clone git@github.com:bltcore-com/blt.git blt
|
|
15
|
-
cd blt
|
|
16
|
-
|
|
17
|
-
Then generate getblt.sh from inside the clone:
|
|
18
|
-
blt init -w -s
|
|
19
|
-
|
|
20
|
-
Example:
|
|
21
|
-
blt init root -s
|
|
22
|
-
cd blt
|
|
23
|
-
blt init -w -s
|
|
24
|
-
./getblt.sh
|
|
25
|
-
`;
|
|
26
|
-
program
|
|
27
|
-
.command("init root", "clone umbrella blt repo")
|
|
28
|
-
.help(initRootHelpText)
|
|
29
|
-
.option("-d, --directory <name>", "Directory name for the clone", {
|
|
30
|
-
default: "blt",
|
|
31
|
-
})
|
|
32
|
-
.option("-p, --parent <path>", "Parent directory to clone into", {
|
|
33
|
-
default: ".",
|
|
34
|
-
})
|
|
35
|
-
.option("-s, --ssh", "Use SSH URL instead of HTTPS", { default: false })
|
|
36
|
-
.option("-g, --gh", "Use GitHub CLI (gh repo clone) instead of git clone", {
|
|
37
|
-
default: false,
|
|
38
|
-
})
|
|
39
|
-
.action(async ({ options, logger }) => {
|
|
40
|
-
await cloneUmbrellaRoot({
|
|
41
|
-
directory: options.directory,
|
|
42
|
-
parent: options.parent,
|
|
43
|
-
ssh: options.ssh,
|
|
44
|
-
gh: options.gh,
|
|
45
|
-
}, logger);
|
|
46
|
-
});
|
|
47
6
|
const initHelpText = `
|
|
48
7
|
Initialize a BLT workspace by creating a script to clone/pull all projects
|
|
49
8
|
|
|
@@ -63,9 +22,10 @@ With -c, adds sqltools.connections from SUPABASE_* vars in .env (requires -w or
|
|
|
63
22
|
With -g, use GitHub CLI (gh repo clone) instead of git clone. Requires gh auth login.
|
|
64
23
|
|
|
65
24
|
Example:
|
|
66
|
-
blt init
|
|
67
|
-
|
|
68
|
-
blt init -
|
|
25
|
+
blt init
|
|
26
|
+
blt init -w -c
|
|
27
|
+
blt init -b
|
|
28
|
+
blt init -g
|
|
69
29
|
./getblt.sh
|
|
70
30
|
|
|
71
31
|
Repository list: bundled src/lib/repositories.manifest.json, or override with
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,OAAgB;IACnD,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BrB,CAAC;IAED,OAAO;SACL,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC;SACpC,IAAI,CAAC,YAAY,CAAC;SAClB,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,EAAE;QAC5D,OAAO,EAAE,aAAa;KACtB,CAAC;SACD,MAAM,CAAC,WAAW,EAAE,oCAAoC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;SAC7E,MAAM,CAAC,UAAU,EAAE,qDAAqD,EAAE;QAC1E,OAAO,EAAE,KAAK;KACd,CAAC;SACD,MAAM,CAAC,iBAAiB,EAAE,iEAAiE,EAAE;QAC7F,OAAO,EAAE,KAAK;KACd,CAAC;SACD,MAAM,CAAC,cAAc,EAAE,uEAAuE,EAAE;QAChG,OAAO,EAAE,KAAK;KACd,CAAC;SACD,MAAM,CAAC,mBAAmB,EAAE,wDAAwD,EAAE;QACtF,OAAO,EAAE,KAAK;KACd,CAAC;SACD,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QACrC,MAAM,kBAAkB,CACvB;YACC,MAAM,EAAE,OAAO,CAAC,MAAgB;YAChC,GAAG,EAAE,OAAO,CAAC,GAAc;YAC3B,EAAE,EAAE,OAAO,CAAC,EAAa;YACzB,SAAS,EAAE,OAAO,CAAC,SAAoB;YACvC,eAAe,EAAE,OAAO,CAAC,MAAiB;YAC1C,kBAAkB,EAAE,OAAO,CAAC,WAAsB;SAClD,EACD,MAAM,CACN,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/commands/notify/keys.ts"],"names":[],"mappings":"AASA,wBAAgB,qBAAqB,CAAC,aAAa,SAAsB,GAAG,MAAM,CAEjF;AAED,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMlE;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC7C,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GACpD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/commands/notify/keys.ts"],"names":[],"mappings":"AASA,wBAAgB,qBAAqB,CAAC,aAAa,SAAsB,GAAG,MAAM,CAEjF;AAED,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMlE;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC7C,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GACpD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAuBxB;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,CAEpB"}
|
|
@@ -33,9 +33,10 @@ export function readTrailzKeysExpansionContext(options = {}) {
|
|
|
33
33
|
return {};
|
|
34
34
|
}
|
|
35
35
|
const keysBase = resolveTrailzKeysBase(workspaceRoot);
|
|
36
|
+
const smashCwd = options.cwd ?? workspaceRoot;
|
|
36
37
|
let content;
|
|
37
38
|
try {
|
|
38
|
-
content = decryptTrailzEnvBase(keysBase, { cwd:
|
|
39
|
+
content = decryptTrailzEnvBase(keysBase, { cwd: smashCwd, expand: false });
|
|
39
40
|
}
|
|
40
41
|
catch {
|
|
41
42
|
return {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/commands/notify/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACN,uBAAuB,EACvB,sBAAsB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,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,oBAAoB,CAAC,aAAqB;IACzD,OAAO,GAAG,qBAAqB,CAAC,aAAa,CAAC,MAAM,CAAC;AACtD,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;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAC7C,UAAoD,EAAE;IAEtD,IAAI,aAAqB,CAAC;IAC1B,IAAI,CAAC;QACJ,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QACtD,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACtD,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACJ,OAAO,GAAG,oBAAoB,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/commands/notify/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACN,uBAAuB,EACvB,sBAAsB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,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,oBAAoB,CAAC,aAAqB;IACzD,OAAO,GAAG,qBAAqB,CAAC,aAAa,CAAC,MAAM,CAAC;AACtD,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;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAC7C,UAAoD,EAAE;IAEtD,IAAI,aAAqB,CAAC;IAC1B,IAAI,CAAC;QACJ,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QACtD,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,IAAI,aAAa,CAAC;IAC9C,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACJ,OAAO,GAAG,oBAAoB,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,uBAAuB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,aAAa,CAC5B,OAAe,EACf,UAAoD,EAAE;IAEtD,OAAO,8BAA8B,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;AACzD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codemarc/blt",
|
|
3
|
-
"version": "1.10.
|
|
3
|
+
"version": "1.10.7",
|
|
4
4
|
"description": "blt cli",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/blt",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"dev": "bunx --bun tsc --watch",
|
|
21
21
|
"start": "bun run src/blt.ts",
|
|
22
22
|
"prepublishOnly": "bun run build",
|
|
23
|
-
"test": "bun test src/lib/yaml-converter.test.ts src/commands/data/apply.test.ts src/commands/app/env-check.test.ts src/commands/env/get.test.ts src/commands/db/dump.test.ts src/commands/db/env-url.test.ts src/commands/db/patch.test.ts src/commands/db/supabase-schema.test.ts src/commands/notify/google-chat.test.ts src/commands/wai.registration.test.ts src/commands/wai/multi-agent.test.ts",
|
|
23
|
+
"test": "bun test src/lib/yaml-converter.test.ts src/commands/data/apply.test.ts src/commands/app/env-check.test.ts src/commands/app/paths.test.ts src/commands/app/pos.test.ts src/commands/app/site-env.test.ts src/commands/env/get.test.ts src/commands/db/dump.test.ts src/commands/db/env-url.test.ts src/commands/db/patch.test.ts src/commands/db/supabase-schema.test.ts src/commands/notify/google-chat.test.ts src/commands/wai.registration.test.ts src/commands/wai/multi-agent.test.ts",
|
|
24
24
|
"graphify": "bash .trailz/graphify/graph.sh",
|
|
25
25
|
"graphify:update": "bash .trailz/graphify/graph.sh update",
|
|
26
26
|
"graphify:init": "bash .trailz/graphify/graph.sh init",
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { Logger } from "@caporal/core";
|
|
2
|
-
export interface InitRootOptions {
|
|
3
|
-
directory: string;
|
|
4
|
-
parent: string;
|
|
5
|
-
ssh: boolean;
|
|
6
|
-
gh: boolean;
|
|
7
|
-
}
|
|
8
|
-
/** Clone the umbrella BLT repository into parent/directory. */
|
|
9
|
-
export declare function cloneUmbrellaRoot(options: InitRootOptions, logger: Logger): Promise<void>;
|
|
10
|
-
//# sourceMappingURL=root.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../../src/commands/init/root.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAO5C,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,EAAE,EAAE,OAAO,CAAC;CACb;AAgBD,+DAA+D;AAC/D,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAkCf"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { spawnSync } from "node:child_process";
|
|
2
|
-
import { existsSync } from "node:fs";
|
|
3
|
-
import { join, resolve } from "node:path";
|
|
4
|
-
import { ensureGhReady, ghCloneTarget } from "../../lib/github";
|
|
5
|
-
import { getBundleRepository } from "../../lib/repositories";
|
|
6
|
-
function runOrExit(command, args, cwd, logger, label) {
|
|
7
|
-
const result = spawnSync(command, args, { cwd, stdio: "inherit" });
|
|
8
|
-
if (result.status !== 0) {
|
|
9
|
-
logger.error(`${label} failed`);
|
|
10
|
-
process.exit(result.status === null ? 1 : result.status);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
/** Clone the umbrella BLT repository into parent/directory. */
|
|
14
|
-
export async function cloneUmbrellaRoot(options, logger) {
|
|
15
|
-
const parent = resolve(options.parent);
|
|
16
|
-
const target = join(parent, options.directory);
|
|
17
|
-
if (existsSync(target)) {
|
|
18
|
-
logger.error(`Target already exists: ${target}`);
|
|
19
|
-
process.exit(1);
|
|
20
|
-
}
|
|
21
|
-
const bundle = getBundleRepository();
|
|
22
|
-
if (options.gh) {
|
|
23
|
-
ensureGhReady(logger);
|
|
24
|
-
runOrExit("gh", ["repo", "clone", ghCloneTarget(bundle, options.ssh), options.directory], parent, logger, "gh repo clone");
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
const url = options.ssh ? bundle.sshUrl : bundle.url;
|
|
28
|
-
runOrExit("git", ["clone", url, options.directory], parent, logger, "git clone");
|
|
29
|
-
}
|
|
30
|
-
logger.info(`Cloned umbrella repo to ${target}`);
|
|
31
|
-
logger.info(`cd ${options.directory}`);
|
|
32
|
-
logger.info("Then run: blt init -w -s # or blt init -b -s");
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=root.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"root.js","sourceRoot":"","sources":["../../../src/commands/init/root.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAS7D,SAAS,SAAS,CAChB,OAAe,EACf,IAAc,EACd,GAAW,EACX,MAAc,EACd,KAAa;IAEb,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACnE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,+DAA+D;AAC/D,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAwB,EACxB,MAAc;IAEd,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAE/C,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,0BAA0B,MAAM,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IAErC,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;QACf,aAAa,CAAC,MAAM,CAAC,CAAC;QACtB,SAAS,CACP,IAAI,EACJ,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,EACxE,MAAM,EACN,MAAM,EACN,eAAe,CAChB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QACrD,SAAS,CACP,KAAK,EACL,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,EACjC,MAAM,EACN,MAAM,EACN,WAAW,CACZ,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAC;IACjD,MAAM,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;AAChE,CAAC"}
|