@codemarc/blt 1.8.3 → 1.8.5

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.
Files changed (59) hide show
  1. package/README.md +18 -8
  2. package/dist/blt +19 -19
  3. package/dist/blt.js.map +1 -1
  4. package/dist/commands/app/data.d.ts +6 -0
  5. package/dist/commands/app/data.d.ts.map +1 -1
  6. package/dist/commands/app/data.js +5 -0
  7. package/dist/commands/app/data.js.map +1 -1
  8. package/dist/commands/app/env-check.d.ts +14 -8
  9. package/dist/commands/app/env-check.d.ts.map +1 -1
  10. package/dist/commands/app/env-check.js +51 -21
  11. package/dist/commands/app/env-check.js.map +1 -1
  12. package/dist/commands/app/env-decrypt.d.ts +9 -0
  13. package/dist/commands/app/env-decrypt.d.ts.map +1 -0
  14. package/dist/commands/app/env-decrypt.js +37 -0
  15. package/dist/commands/app/env-decrypt.js.map +1 -0
  16. package/dist/commands/app/pos.d.ts +2 -1
  17. package/dist/commands/app/pos.d.ts.map +1 -1
  18. package/dist/commands/app/pos.js +35 -33
  19. package/dist/commands/app/pos.js.map +1 -1
  20. package/dist/commands/app/site-env.d.ts +12 -0
  21. package/dist/commands/app/site-env.d.ts.map +1 -0
  22. package/dist/commands/app/site-env.js +53 -0
  23. package/dist/commands/app/site-env.js.map +1 -0
  24. package/dist/commands/app.d.ts.map +1 -1
  25. package/dist/commands/app.js +37 -11
  26. package/dist/commands/app.js.map +1 -1
  27. package/dist/commands/env/get.d.ts +3 -2
  28. package/dist/commands/env/get.d.ts.map +1 -1
  29. package/dist/commands/env/get.js +13 -41
  30. package/dist/commands/env/get.js.map +1 -1
  31. package/dist/commands/env/list.d.ts +8 -0
  32. package/dist/commands/env/list.d.ts.map +1 -0
  33. package/dist/commands/env/list.js +21 -0
  34. package/dist/commands/env/list.js.map +1 -0
  35. package/dist/commands/env.d.ts.map +1 -1
  36. package/dist/commands/env.js +13 -4
  37. package/dist/commands/env.js.map +1 -1
  38. package/dist/commands/init/script.d.ts +1 -0
  39. package/dist/commands/init/script.d.ts.map +1 -1
  40. package/dist/commands/init/script.js +33 -11
  41. package/dist/commands/init/script.js.map +1 -1
  42. package/dist/commands/init.d.ts.map +1 -1
  43. package/dist/commands/init.js +6 -0
  44. package/dist/commands/init.js.map +1 -1
  45. package/dist/commands/show/env.d.ts.map +1 -1
  46. package/dist/commands/show/env.js +7 -25
  47. package/dist/commands/show/env.js.map +1 -1
  48. package/dist/commands/workflow.d.ts.map +1 -1
  49. package/dist/commands/workflow.js +1 -7
  50. package/dist/commands/workflow.js.map +1 -1
  51. package/dist/lib/github.d.ts +17 -0
  52. package/dist/lib/github.d.ts.map +1 -0
  53. package/dist/lib/github.js +53 -0
  54. package/dist/lib/github.js.map +1 -0
  55. package/dist/lib/repositories.d.ts +1 -0
  56. package/dist/lib/repositories.d.ts.map +1 -1
  57. package/dist/lib/repositories.js +30 -14
  58. package/dist/lib/repositories.js.map +1 -1
  59. package/package.json +10 -10
@@ -0,0 +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;AAG5C,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,WAAW,EAAE,MAAM,CAAC;CACpB,CAAC;AAYF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CA8BlF;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAsBxF"}
@@ -0,0 +1,53 @@
1
+ import { existsSync, readdirSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { readCommand, runCommand } from "./shell";
4
+ function parseSiteEnvOutput(output) {
5
+ const values = {};
6
+ for (const line of output.split("\n")) {
7
+ const eq = line.indexOf("=");
8
+ if (eq <= 0)
9
+ continue;
10
+ values[line.slice(0, eq)] = line.slice(eq + 1);
11
+ }
12
+ return values;
13
+ }
14
+ export function loadSiteEnvContext(siteDir, logger) {
15
+ const libPath = join(siteDir, "..", "_lib", "site-env.sh");
16
+ if (!existsSync(libPath)) {
17
+ throw new Error(`Site env helper not found: ${libPath}`);
18
+ }
19
+ const output = readCommand("bash", [
20
+ "-lc",
21
+ `source "${libPath}" && blt_site_env_init "${siteDir}" && printf 'SITE_SLUG=%s\\nBLT_ENV_NAME=%s\\nTARGET=%s\\nDM_HOST=%s\\nSITE_ENV=%s\\n' "$SITE_SLUG" "$BLT_ENV_NAME" "$TARGET" "$DM_HOST" "$SITE_ENV"`,
22
+ ], logger);
23
+ const parsed = parseSiteEnvOutput(output.trim());
24
+ const { SITE_SLUG, BLT_ENV_NAME, TARGET, DM_HOST, SITE_ENV } = parsed;
25
+ if (!SITE_SLUG || !BLT_ENV_NAME || !TARGET || !DM_HOST || !SITE_ENV) {
26
+ throw new Error(`Failed to load site env context from ${siteDir}`);
27
+ }
28
+ return {
29
+ siteDir,
30
+ siteSlug: SITE_SLUG,
31
+ bltEnvName: BLT_ENV_NAME,
32
+ target: TARGET,
33
+ dmHost: DM_HOST,
34
+ siteEnvBase: SITE_ENV,
35
+ };
36
+ }
37
+ export function renderNginxTemplatesIfPresent(site, logger) {
38
+ const templatesDir = join(site.siteDir, "app", "templates");
39
+ if (!existsSync(templatesDir)) {
40
+ return;
41
+ }
42
+ const hasTemplates = readdirSync(templatesDir).some((file) => file.endsWith(".template"));
43
+ if (!hasTemplates) {
44
+ return;
45
+ }
46
+ const libPath = join(site.siteDir, "..", "_lib", "site-env.sh");
47
+ logger.info(`Rendering nginx templates in ${templatesDir}`);
48
+ runCommand("bash", [
49
+ "-lc",
50
+ `source "${libPath}" && export BLT_ENV_NAME="${site.bltEnvName}" DM_HOST="${site.dmHost}" && blt_render_nginx_templates "${templatesDir}"`,
51
+ ], logger, { cwd: site.siteDir });
52
+ }
53
+ //# sourceMappingURL=site-env.js.map
@@ -0,0 +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;AAWlD,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,kBAAkB,CAAC,OAAe,EAAE,MAAc;IACjE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CACzB,MAAM,EACN;QACC,KAAK;QACL,WAAW,OAAO,2BAA2B,OAAO,sJAAsJ;KAC1M,EACD,MAAM,CACN,CAAC;IAEF,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAEtE,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,wCAAwC,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,OAAO;QACN,OAAO;QACP,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,YAAY;QACxB,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,OAAO;QACf,WAAW,EAAE,QAAQ;KACrB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,IAAoB,EAAE,MAAc;IACjF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/B,OAAO;IACR,CAAC;IAED,MAAM,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1F,IAAI,CAAC,YAAY,EAAE,CAAC;QACnB,OAAO;IACR,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAChE,MAAM,CAAC,IAAI,CAAC,gCAAgC,YAAY,EAAE,CAAC,CAAC;IAC5D,UAAU,CACT,MAAM,EACN;QACC,KAAK;QACL,WAAW,OAAO,6BAA6B,IAAI,CAAC,UAAU,cAAc,IAAI,CAAC,MAAM,oCAAoC,YAAY,GAAG;KAC1I,EACD,MAAM,EACN,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,CACrB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/commands/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,eAAe,CAAC;AAyC5E,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,OAAO,EAAE,OAAO,QA2IlD"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/commands/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,eAAe,CAAC;AA6C5E,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,OAAO,EAAE,OAAO,QA+KlD"}
@@ -1,5 +1,5 @@
1
- import { deployPosApp } from "./app/pos";
2
- import { APP_DATA_DEFAULT_FORMAT, APP_DATA_DEFAULT_OUT, appDataApply, appDataPull, appDataRefresh, } from "./app/data";
1
+ import { DEFAULT_POS_BRANCH, deployPosApp } from "./app/pos";
2
+ import { APP_DATA_DEFAULT_FORMAT, APP_DATA_DEFAULT_OUT, appDataApply, appDataPull, appDataRefresh, appDataRemove, } from "./app/data";
3
3
  const appDataHelp = `
4
4
  Test data workflows using cwd .trailz/env bundles
5
5
 
@@ -7,25 +7,28 @@ Usage:
7
7
  blt app data pull --env <env> [--out DIR] [--format json|yaml|toon]
8
8
  blt app data apply --env <env> <snapshotDir|latest> [--out DIR] [--dry-run]
9
9
  blt app data refresh --from <env> --to <env> [--out DIR] [--format json|yaml|toon]
10
+ blt app data remove <instance> [--out DIR] [--dry-run]
10
11
 
11
- Defaults: --out <cwd>/snapshots, --format toon
12
+ Defaults: --out <cwd>/data-snapshots, --format toon
12
13
 
13
- Env credentials come from ./.trailz/env/.env.<name>.bin in the current directory (not repo-root .env).
14
+ Env credentials come from ./.trailz/env/env.<name>.bin in the current directory (not repo-root .env).
14
15
  `;
15
16
  const appHelp = `
16
17
  Developer app deployment and test data workflows
17
18
 
18
19
  Usage:
19
- blt app pos --branch <branch> --env <env> <target>
20
+ blt app pos <target> [--branch <branch>] [--env <env>]
20
21
  blt app data pull --env <env> [--out DIR]
21
22
  blt app data apply --env <env> <snapshotDir|latest> [--out DIR] [--dry-run]
22
23
  blt app data refresh --from <env> --to <env> [--out DIR] [--format json|yaml|toon]
24
+ blt app data remove <instance> [--out DIR] [--dry-run]
23
25
 
24
- Defaults: --out <cwd>/snapshots, --format toon
26
+ Defaults: --out <cwd>/data-snapshots, --format toon
25
27
 
26
28
  Examples:
27
- blt app pos --branch laf-test --env test1 test1
29
+ blt app pos test1 --branch laf-test
28
30
  blt app data refresh --from laf --to test-laf
31
+ blt app data remove laf
29
32
 
30
33
  Run \`blt app data\` for data-only help.
31
34
  `;
@@ -47,14 +50,16 @@ export default function appCommand(program) {
47
50
  .command("app pos", "Build and deploy the POS app to a test target")
48
51
  .hide()
49
52
  .argument("<target>", "SSH target / droplet alias, e.g. test1")
50
- .option("--branch <branch>", "POS git branch to build", { required: true })
51
- .option("--env <env>", "Environment name, e.g. test1", { required: true })
53
+ .option("--branch <branch>", "POS git branch to build", {
54
+ default: DEFAULT_POS_BRANCH,
55
+ })
56
+ .option("--env <env>", "Environment name (defaults to BLT_ENV_NAME from site bundle)")
52
57
  .action(async ({ args, options, logger, }) => {
53
58
  try {
54
59
  await deployPosApp({
55
60
  target: String(args.target),
56
- branch: String(options.branch),
57
- env: String(options.env),
61
+ branch: String(options.branch ?? DEFAULT_POS_BRANCH),
62
+ env: options.env ? String(options.env) : undefined,
58
63
  }, logger);
59
64
  }
60
65
  catch (error) {
@@ -135,5 +140,26 @@ export default function appCommand(program) {
135
140
  process.exit(1);
136
141
  }
137
142
  });
143
+ program
144
+ .command("app data remove", "Delete all snapshots for an instance under the snapshot base")
145
+ .hide()
146
+ .argument("<instance>", "Snapshot folder label (e.g. laf)")
147
+ .option("-o, --out <dir>", "Snapshot base directory (default: <cwd>/data-snapshots)", {
148
+ default: APP_DATA_DEFAULT_OUT,
149
+ })
150
+ .option("--dry-run", "Print path that would be removed without deleting", { default: false })
151
+ .action(async ({ args, options, logger, }) => {
152
+ try {
153
+ appDataRemove({
154
+ instance: String(args.instance),
155
+ out: String(options.out),
156
+ dryRun: Boolean(options.dryRun),
157
+ }, logger);
158
+ }
159
+ catch (error) {
160
+ logger.error(`app data remove failed: ${error instanceof Error ? error.message : String(error)}`);
161
+ process.exit(1);
162
+ }
163
+ });
138
164
  }
139
165
  //# sourceMappingURL=app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/commands/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/commands/app.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,9 @@ export type EnvGetOptions = {
4
4
  expand?: boolean;
5
5
  };
6
6
  /**
7
- * Decrypt `.trailz/env/.env.<name>.bin` with smash (`-n`) and write plaintext to `.env`.
8
- * Invokes smash with path `.trailz/env/.env.<name>` (no `.bin`) so smash reads `${path}.bin`.
7
+ * Decrypt `.trailz/env/env.<name>.bin` with smash (`-n`) and write plaintext to `.env`.
8
+ * Invokes smash with path `.trailz/env/env.<name>` (no `.bin`) so smash reads `${path}.bin`.
9
+ * Legacy `.trailz/env/.env.<name>.bin` bundles are still accepted.
9
10
  */
10
11
  export declare function envGet(name: string, logger: Logger, opts?: EnvGetOptions): Promise<void>;
11
12
  //# sourceMappingURL=get.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/commands/env/get.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAK5C,MAAM,MAAM,aAAa,GAAG;IAC3B,uEAAuE;IACvE,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAsBF;;;GAGG;AACH,wBAAsB,MAAM,CAC3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,aAAkB,GACtB,OAAO,CAAC,IAAI,CAAC,CA2Cf"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/commands/env/get.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAK5C,MAAM,MAAM,aAAa,GAAG;IAC3B,uEAAuE;IACvE,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAKF;;;;GAIG;AACH,wBAAsB,MAAM,CAC3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,aAAkB,GACtB,OAAO,CAAC,IAAI,CAAC,CA4Bf"}
@@ -1,27 +1,12 @@
1
- import { existsSync } from "node:fs";
2
1
  import { join } from "node:path";
3
- import { BLT_ENV_NAME_KEY, expandDotEnvBody, formatEnvFileHeader } from "../app/env-check";
4
- /** Single path segment for `.env.<name>` under `.trailz/env/`. */
2
+ import { BLT_ENV_NAME_KEY, resolveTrailzEnvPaths, trailzEnvBundlePath } from "../app/env-check";
3
+ import { decryptTrailzEnvBase } from "../app/env-decrypt";
4
+ /** Single path segment for `env.<name>` under `.trailz/env/`. */
5
5
  const NAME_RE = /^[a-zA-Z0-9][a-zA-Z0-9._-]*$/;
6
6
  /**
7
- * `@codemarc/smashdata` `smash` expects the **plaintext path** `tf` (e.g. `.env.laf`).
8
- * Ciphertext must live at `${tf}.bin`. If you pass `tf` = `.env.laf.bin`, that file
9
- * exists as `tf`, so smash treats it as plaintext and **re-encrypts** — output is garbage.
10
- */
11
- function resolveSmashCommand(cwd) {
12
- const binSmash = join(cwd, "node_modules", ".bin", "smash");
13
- const script = join(cwd, "node_modules", "@codemarc", "smashdata", "smash");
14
- if (existsSync(binSmash)) {
15
- return [binSmash];
16
- }
17
- if (existsSync(script)) {
18
- return ["node", script];
19
- }
20
- return ["bunx", "@codemarc/smashdata"];
21
- }
22
- /**
23
- * Decrypt `.trailz/env/.env.<name>.bin` with smash (`-n`) and write plaintext to `.env`.
24
- * Invokes smash with path `.trailz/env/.env.<name>` (no `.bin`) so smash reads `${path}.bin`.
7
+ * Decrypt `.trailz/env/env.<name>.bin` with smash (`-n`) and write plaintext to `.env`.
8
+ * Invokes smash with path `.trailz/env/env.<name>` (no `.bin`) so smash reads `${path}.bin`.
9
+ * Legacy `.trailz/env/.env.<name>.bin` bundles are still accepted.
25
10
  */
26
11
  export async function envGet(name, logger, opts = {}) {
27
12
  const expand = opts.expand ?? true;
@@ -30,30 +15,17 @@ export async function envGet(name, logger, opts = {}) {
30
15
  process.exit(1);
31
16
  }
32
17
  const cwd = process.cwd();
33
- const dir = join(cwd, ".trailz", "env");
34
- /** Plaintext path smash expects; ciphertext is `${basePath}.bin`. */
35
- const basePath = join(dir, `.env.${name}`);
36
- const binPath = `${basePath}.bin`;
37
- if (!existsSync(binPath)) {
18
+ const resolved = resolveTrailzEnvPaths(cwd, name);
19
+ const binPath = resolved?.bundlePath ?? trailzEnvBundlePath(cwd, name);
20
+ if (!resolved) {
38
21
  logger.error(`Encrypted env not found (need ciphertext at):\n ${binPath}\n` +
39
- `Smash stores secrets in .env.<name>.bin; the argument to smash is .env.<name> without .bin.`);
22
+ `Smash stores secrets in env.<name>.bin; the argument to smash is env.<name> without .bin.`);
40
23
  process.exit(1);
41
24
  }
42
- const smashCmd = resolveSmashCommand(cwd);
43
- const proc = Bun.spawnSync({
44
- cmd: [...smashCmd, "-n", basePath],
45
- cwd,
46
- env: process.env,
47
- stdout: "pipe",
48
- stderr: "inherit",
49
- });
50
- if (proc.exitCode !== 0) {
51
- process.exit(proc.exitCode ?? 1);
52
- }
25
+ const basePath = resolved.basePath;
53
26
  const outPath = join(cwd, ".env");
54
- const decrypted = proc.stdout.toString().replace(/^\uFEFF/, "").trimStart();
55
- const body = expand ? expandDotEnvBody(decrypted) : decrypted;
56
- await Bun.write(outPath, `${formatEnvFileHeader(name)}${body}\n`);
27
+ const body = decryptTrailzEnvBase(basePath, { cwd, expand });
28
+ await Bun.write(outPath, `${body}\n`);
57
29
  logger.info(`Wrote ${outPath} (${BLT_ENV_NAME_KEY}=${name}${expand ? ", expanded" : ""})`);
58
30
  }
59
31
  //# sourceMappingURL=get.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/env/get.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/env/get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAO1D,iEAAiE;AACjE,MAAM,OAAO,GAAG,8BAA8B,CAAC;AAE/C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC3B,IAAY,EACZ,MAAc,EACd,OAAsB,EAAE;IAExB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;IACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,KAAK,CACX,sEAAsE,CACtE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,QAAQ,EAAE,UAAU,IAAI,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAEvE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CACX,oDAAoD,OAAO,IAAI;YAC9D,2FAA2F,CAC5F,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,oBAAoB,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7D,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC;IACtC,MAAM,CAAC,IAAI,CACV,SAAS,OAAO,KAAK,gBAAgB,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,CAC7E,CAAC;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { Logger } from "@caporal/core";
2
+ export type EnvListOptions = {
3
+ json?: boolean;
4
+ cwd?: string;
5
+ };
6
+ /** List trailz env bundle names available in `cwd/.trailz/env/`. */
7
+ export declare function envList(logger: Logger, opts?: EnvListOptions): void;
8
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/env/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG5C,MAAM,MAAM,cAAc,GAAG;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,oEAAoE;AACpE,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,cAAmB,GAAG,IAAI,CAoBvE"}
@@ -0,0 +1,21 @@
1
+ import { listTrailzEnvNames } from "../app/env-check";
2
+ /** List trailz env bundle names available in `cwd/.trailz/env/`. */
3
+ export function envList(logger, opts = {}) {
4
+ const cwd = opts.cwd ?? process.cwd();
5
+ const names = listTrailzEnvNames(cwd);
6
+ if (opts.json) {
7
+ console.log(JSON.stringify(names, null, 2));
8
+ return;
9
+ }
10
+ if (names.length === 0) {
11
+ logger.info(`No environment bundles in ${cwd}/.trailz/env/`);
12
+ logger.info("Usage: blt env get <name>");
13
+ return;
14
+ }
15
+ logger.info(`Available environments (${cwd}/.trailz/env):`);
16
+ for (const name of names) {
17
+ logger.info(` ${name}`);
18
+ }
19
+ logger.info("\nUsage: blt env get <name>");
20
+ }
21
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/env/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAOtD,oEAAoE;AACpE,MAAM,UAAU,OAAO,CAAC,MAAc,EAAE,OAAuB,EAAE;IAChE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAEtC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5C,OAAO;IACR,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,6BAA6B,GAAG,eAAe,CAAC,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACzC,OAAO;IACR,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,2BAA2B,GAAG,gBAAgB,CAAC,CAAC;IAC5D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC1B,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;AAC5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiC,OAAO,EAAE,MAAM,eAAe,CAAC;AAG5E,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,OAAO,EAAE,OAAO,QAgDlD"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiC,OAAO,EAAE,MAAM,eAAe,CAAC;AAI5E,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,OAAO,EAAE,OAAO,QAyDlD"}
@@ -1,4 +1,5 @@
1
1
  import { envGet } from "./env/get";
2
+ import { envList } from "./env/list";
2
3
  export default function envCommand(program) {
3
4
  const envHelpText = `
4
5
  env utilities (trailz / smash)
@@ -7,11 +8,12 @@ Usage:
7
8
  blt env <operation>
8
9
 
9
10
  Available operations:
10
- get <name> Decrypt .trailz/env/.env.<name>.bin with smash and write .env ($VAR references expanded by default)
11
+ list List environment names with ciphertext in .trailz/env/
12
+ get <name> Decrypt .trailz/env/env.<name>.bin with smash and write .env ($VAR references expanded by default)
11
13
 
12
- Requires: SMASH_KEY, ciphertext at .trailz/env/.env.<name>.bin, and smash (@codemarc/smashdata) via node_modules or bunx.
14
+ Requires (get): SMASH_KEY, ciphertext at .trailz/env/env.<name>.bin, and smash (@codemarc/smashdata) via node_modules or bunx.
13
15
 
14
- Run 'blt env get --help' for more information.
16
+ Run 'blt env list --help' or 'blt env get --help' for more information.
15
17
  `;
16
18
  program
17
19
  .command("env", "decrypt trailz env to .env")
@@ -19,10 +21,17 @@ Run 'blt env get --help' for more information.
19
21
  .action(() => {
20
22
  console.log(envHelpText);
21
23
  });
24
+ program
25
+ .command("env list", "List trailz env bundle names in .trailz/env/")
26
+ .hide()
27
+ .option("--json", "Output names as JSON", { default: false })
28
+ .action(({ logger, options }) => {
29
+ envList(logger, { json: options.json === true });
30
+ });
22
31
  program
23
32
  .command("env get", "Decrypt named trailz env to .env")
24
33
  .hide()
25
- .argument("<name>", "Environment name (ciphertext: .trailz/env/.env.<name>.bin)")
34
+ .argument("<name>", "Environment name (ciphertext: .trailz/env/env.<name>.bin)")
26
35
  .option("--no-expand", "Write decrypted values verbatim (keep $VAR references)")
27
36
  .action(async ({ args, logger, options, }) => {
28
37
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,OAAgB;IAClD,MAAM,WAAW,GAAG;;;;;;;;;;;;CAYpB,CAAC;IAED,OAAO;SACL,OAAO,CAAC,KAAK,EAAE,4BAA4B,CAAC;SAC5C,IAAI,CAAC,WAAW,CAAC;SACjB,MAAM,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEJ,OAAO;SACL,OAAO,CAAC,SAAS,EAAE,kCAAkC,CAAC;SACtD,IAAI,EAAE;SACN,QAAQ,CAAC,QAAQ,EAAE,4DAA4D,CAAC;SAChF,MAAM,CAAC,aAAa,EAAE,wDAAwD,CAAC;SAC/E,MAAM,CACN,KAAK,EAAE,EACN,IAAI,EACJ,MAAM,EACN,OAAO,GAKP,EAAE,EAAE;QACJ,IAAI,CAAC;YACJ,MAAM,MAAM,CAAC,IAAI,CAAC,IAAc,EAAE,MAAM,EAAE;gBACzC,MAAM,EAAE,OAAO,CAAC,QAAQ,KAAK,IAAI;aACjC,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACF,CAAC,CACD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,OAAgB;IAClD,MAAM,WAAW,GAAG;;;;;;;;;;;;;CAapB,CAAC;IAED,OAAO;SACL,OAAO,CAAC,KAAK,EAAE,4BAA4B,CAAC;SAC5C,IAAI,CAAC,WAAW,CAAC;SACjB,MAAM,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEJ,OAAO;SACL,OAAO,CAAC,UAAU,EAAE,8CAA8C,CAAC;SACnE,IAAI,EAAE;SACN,MAAM,CAAC,QAAQ,EAAE,sBAAsB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;SAC5D,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAsD,EAAE,EAAE;QACnF,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEJ,OAAO;SACL,OAAO,CAAC,SAAS,EAAE,kCAAkC,CAAC;SACtD,IAAI,EAAE;SACN,QAAQ,CAAC,QAAQ,EAAE,2DAA2D,CAAC;SAC/E,MAAM,CAAC,aAAa,EAAE,wDAAwD,CAAC;SAC/E,MAAM,CACN,KAAK,EAAE,EACN,IAAI,EACJ,MAAM,EACN,OAAO,GAKP,EAAE,EAAE;QACJ,IAAI,CAAC;YACJ,MAAM,MAAM,CAAC,IAAI,CAAC,IAAc,EAAE,MAAM,EAAE;gBACzC,MAAM,EAAE,OAAO,CAAC,QAAQ,KAAK,IAAI;aACjC,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACF,CAAC,CACD,CAAC;AACJ,CAAC"}
@@ -2,6 +2,7 @@ import type { Logger } from "@caporal/core";
2
2
  interface InitScriptOptions {
3
3
  output: string;
4
4
  ssh: boolean;
5
+ gh: boolean;
5
6
  workspace: boolean;
6
7
  bundleWorkspace: boolean;
7
8
  connectionsFromEnv: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../../src/commands/init/script.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAK5C,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAiED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAwGf"}
1
+ {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../../src/commands/init/script.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAU5C,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAiED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CA6Hf"}
@@ -1,5 +1,6 @@
1
1
  import { chmodSync, existsSync, readFileSync } from "node:fs";
2
2
  import { dirname, join, resolve } from "node:path";
3
+ import { ensureGhReady, ghInitScriptPreamble, ghRepoCloneCommand, } from "../../lib/github";
3
4
  import { BUNDLE_REPOSITORY, REPOSITORIES } from "../../lib/repositories";
4
5
  function parseEnvFile(envPath) {
5
6
  const content = readFileSync(envPath, "utf-8");
@@ -53,6 +54,9 @@ function connectionFromSupabaseEnv(env) {
53
54
  * Generate a shell script that clones or pulls all BLT projects into the current directory
54
55
  */
55
56
  export async function generateInitScript(options, logger) {
57
+ if (options.gh) {
58
+ ensureGhReady(logger);
59
+ }
56
60
  const lines = [
57
61
  "#!/usr/bin/env bash",
58
62
  "# BLT project init script - clones or pulls all projects into the current directory",
@@ -63,29 +67,47 @@ export async function generateInitScript(options, logger) {
63
67
  "cd \"$(dirname \"$0\")\"",
64
68
  "",
65
69
  ];
70
+ if (options.gh) {
71
+ lines.push(...ghInitScriptPreamble());
72
+ }
66
73
  if (options.bundleWorkspace) {
67
- const bundleUrl = options.ssh ? BUNDLE_REPOSITORY.sshUrl : BUNDLE_REPOSITORY.url;
68
74
  lines.push(`# ${BUNDLE_REPOSITORY.description}`);
69
75
  lines.push(`echo "Syncing ${BUNDLE_REPOSITORY.name} (umbrella)..."`);
70
- lines.push(`if [ ! -d ".git" ]; then`);
71
- lines.push(` git init`);
72
- lines.push(`fi`);
73
- lines.push(`if ! git remote get-url origin &>/dev/null; then`);
74
- lines.push(` git remote add origin ${bundleUrl}`);
75
- lines.push(`fi`);
76
- lines.push(`git fetch origin`);
77
- lines.push(`git reset --hard origin/HEAD`);
76
+ if (options.gh) {
77
+ lines.push(`if [ -d ".git" ]; then`);
78
+ lines.push(` git fetch origin`);
79
+ lines.push(` git reset --hard origin/HEAD`);
80
+ lines.push(`else`);
81
+ lines.push(` ${ghRepoCloneCommand(BUNDLE_REPOSITORY, ".", options.ssh)}`);
82
+ lines.push(`fi`);
83
+ }
84
+ else {
85
+ const bundleUrl = options.ssh ? BUNDLE_REPOSITORY.sshUrl : BUNDLE_REPOSITORY.url;
86
+ lines.push(`if [ ! -d ".git" ]; then`);
87
+ lines.push(` git init`);
88
+ lines.push(`fi`);
89
+ lines.push(`if ! git remote get-url origin &>/dev/null; then`);
90
+ lines.push(` git remote add origin ${bundleUrl}`);
91
+ lines.push(`fi`);
92
+ lines.push(`git fetch origin`);
93
+ lines.push(`git reset --hard origin/HEAD`);
94
+ }
78
95
  lines.push("");
79
96
  }
80
97
  for (const repo of REPOSITORIES) {
81
- const url = options.ssh ? repo.sshUrl : repo.url;
82
98
  lines.push(`# ${repo.description || repo.name}`);
83
99
  lines.push(`if [ -d "${repo.name}" ]; then`);
84
100
  lines.push(` echo "Pulling ${repo.name}..."`);
85
101
  lines.push(` (cd ${repo.name} && git pull)`);
86
102
  lines.push(`else`);
87
103
  lines.push(` echo "Cloning ${repo.name}..."`);
88
- lines.push(` git clone ${url} ${repo.name}`);
104
+ if (options.gh) {
105
+ lines.push(` ${ghRepoCloneCommand(repo, repo.name, options.ssh)}`);
106
+ }
107
+ else {
108
+ const url = options.ssh ? repo.sshUrl : repo.url;
109
+ lines.push(` git clone ${url} ${repo.name}`);
110
+ }
89
111
  lines.push(`fi`);
90
112
  lines.push("");
91
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"script.js","sourceRoot":"","sources":["../../../src/commands/init/script.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"script.js","sourceRoot":"","sources":["../../../src/commands/init/script.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;AAG7C;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,OAAO,EAAE,OAAO,QAmDnD"}
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,QAyDnD"}
@@ -17,11 +17,13 @@ With -w, also creates blt.code-workspace with folder entries from the repository
17
17
  With -b, clones/pulls the umbrella repo (codemarc/blt) first, then sub-repos, and
18
18
  creates blt.code-workspace as a single-root workspace (name "blt", path ".").
19
19
  With -c, adds sqltools.connections from SUPABASE_* vars in .env if present.
20
+ With -g, use GitHub CLI (gh repo clone) instead of git clone. Requires gh auth login.
20
21
 
21
22
  Example:
22
23
  blt init
23
24
  blt init -w -c
24
25
  blt init -b
26
+ blt init -g
25
27
  ./getblt.sh
26
28
  `;
27
29
  program
@@ -31,6 +33,9 @@ Example:
31
33
  default: "./getblt.sh",
32
34
  })
33
35
  .option("-s, --ssh", "Use SSH URLs instead of HTTPS URLs", { default: false })
36
+ .option("-g, --gh", "Use GitHub CLI (gh repo clone) instead of git clone", {
37
+ default: false,
38
+ })
34
39
  .option("-w, --workspace", "Also generate blt.code-workspace with folders from repositories", {
35
40
  default: false,
36
41
  })
@@ -44,6 +49,7 @@ Example:
44
49
  await generateInitScript({
45
50
  output: options.output,
46
51
  ssh: options.ssh,
52
+ gh: options.gh,
47
53
  workspace: options.workspace,
48
54
  bundleWorkspace: options.bundle,
49
55
  connectionsFromEnv: options.connections,
@@ -1 +1 @@
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;;;;;;;;;;;;;;;;;;;;CAoBrB,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,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,+CAA+C,EAAE;QAC7E,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,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
+ {"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;;;;;;;;;;;;;;;;;;;;;;CAsBrB,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,+CAA+C,EAAE;QAC7E,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":"env.d.ts","sourceRoot":"","sources":["../../../src/commands/show/env.ts"],"names":[],"mappings":"AA6BA;;GAEG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAgJ7C"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/commands/show/env.ts"],"names":[],"mappings":"AA6BA;;GAEG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CA8H7C"}
@@ -39,6 +39,12 @@ export async function showEnv() {
39
39
  console.log("\nšŸ”§ BLT Core Environment Variables\n");
40
40
  // Define the environment variables to check
41
41
  const envVars = [
42
+ {
43
+ name: "BLT_ENV_NAME",
44
+ description: "BLT environment name",
45
+ value: process.env.BLT_ENV_NAME,
46
+ sensitive: false,
47
+ },
42
48
  {
43
49
  name: "SUPABASE_PROJECT_REF",
44
50
  description: "Supabase project reference",
@@ -98,31 +104,7 @@ export async function showEnv() {
98
104
  description: "Supabase anonymous key",
99
105
  value: process.env.VITE_SUPABASE_ANON_KEY,
100
106
  sensitive: true,
101
- },
102
- {
103
- name: "STRIPE_SECRET_KEY",
104
- description: "Stripe secret key",
105
- value: process.env.STRIPE_SECRET_KEY,
106
- sensitive: true,
107
- },
108
- {
109
- name: "STRIPE_PUBLISHABLE_KEY",
110
- description: "Stripe publishable key",
111
- value: process.env.STRIPE_PUBLISHABLE_KEY,
112
- sensitive: true,
113
- },
114
- {
115
- name: "SQUARE_APP_ID",
116
- description: "Square app ID",
117
- value: process.env.SQUARE_APP_ID,
118
- sensitive: false,
119
- },
120
- {
121
- name: "SQUARE_ACCESS_TOKEN",
122
- description: "Square access token",
123
- value: process.env.SQUARE_ACCESS_TOKEN,
124
- sensitive: true,
125
- },
107
+ }
126
108
  ];
127
109
  // Build ASCII table
128
110
  const headers = ["Variable Name", "Description", "Value"];