@codemarc/blt 1.6.3 → 1.6.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.
- package/README.md +3 -3
- package/dist/commands/env/get.d.ts +2 -2
- package/dist/commands/env/get.d.ts.map +1 -1
- package/dist/commands/env/get.js +28 -6
- package/dist/commands/env/get.js.map +1 -1
- package/dist/commands/env.js +3 -3
- package/dist/commands/env.js.map +1 -1
- package/dist/lib/repositories.js +4 -4
- package/dist/lib/repositories.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
- **Bucket**: Supabase storage — list buckets, list/upload/download files, get URLs
|
|
18
18
|
- **Workflow**: List, show, delete, reload, and deploy GitHub Actions workflows (requires `gh`)
|
|
19
19
|
- **Show**: Schema info, row counts, env vars, DB version, repo list
|
|
20
|
-
- **Env**: Decrypt trailz `.trailz/env/.env.<name
|
|
20
|
+
- **Env**: Decrypt trailz `.trailz/env/.env.<name>.bin` to `.env` via smash (`blt env get`; requires `SMASH_KEY`)
|
|
21
21
|
- **Cleanup**: Remove generated SQL/instance files, clean infrequently used YAML tags
|
|
22
22
|
|
|
23
23
|
## Installation
|
|
@@ -739,13 +739,13 @@ blt show repo --ssh
|
|
|
739
739
|
|
|
740
740
|
### `blt env get <name>`
|
|
741
741
|
|
|
742
|
-
Decrypt
|
|
742
|
+
Decrypt using `smash -n`. Ciphertext must be at `.trailz/env/.env.<name>.bin`; the CLI invokes smash with **`.env.<name>` (no `.bin`)** — that matches `@codemarc/smashdata`, which reads `${path}.bin` for decrypt. Set **`SMASH_KEY`** in your environment (same as when you encrypted). Writes plaintext to `.env` in the current directory.
|
|
743
743
|
|
|
744
744
|
```bash
|
|
745
745
|
blt env get laf
|
|
746
746
|
```
|
|
747
747
|
|
|
748
|
-
|
|
748
|
+
Equivalent to `smash -n .trailz/env/.env.laf >.env` from the project root when `.trailz/env/.env.laf.bin` exists.
|
|
749
749
|
|
|
750
750
|
---
|
|
751
751
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Logger } from "@caporal/core";
|
|
2
2
|
/**
|
|
3
|
-
* Decrypt `.trailz/env/.env.<name
|
|
4
|
-
*
|
|
3
|
+
* Decrypt `.trailz/env/.env.<name>.bin` with smash (`-n`) and write plaintext to `.env`.
|
|
4
|
+
* Invokes smash with path `.trailz/env/.env.<name>` (no `.bin`) so smash reads `${path}.bin`.
|
|
5
5
|
*/
|
|
6
6
|
export declare function envGet(name: string, logger: Logger): Promise<void>;
|
|
7
7
|
//# 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;
|
|
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;AAwB5C;;;GAGG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsCxE"}
|
package/dist/commands/env/get.js
CHANGED
|
@@ -3,8 +3,24 @@ import { join } from "node:path";
|
|
|
3
3
|
/** Single path segment for `.env.<name>` under `.trailz/env/`. */
|
|
4
4
|
const NAME_RE = /^[a-zA-Z0-9][a-zA-Z0-9._-]*$/;
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
6
|
+
* `@codemarc/smashdata` `smash` expects the **plaintext path** `tf` (e.g. `.env.laf`).
|
|
7
|
+
* Ciphertext must live at `${tf}.bin`. If you pass `tf` = `.env.laf.bin`, that file
|
|
8
|
+
* exists as `tf`, so smash treats it as plaintext and **re-encrypts** — output is garbage.
|
|
9
|
+
*/
|
|
10
|
+
function resolveSmashCommand(cwd) {
|
|
11
|
+
const binSmash = join(cwd, "node_modules", ".bin", "smash");
|
|
12
|
+
const script = join(cwd, "node_modules", "@codemarc", "smashdata", "smash");
|
|
13
|
+
if (existsSync(binSmash)) {
|
|
14
|
+
return [binSmash];
|
|
15
|
+
}
|
|
16
|
+
if (existsSync(script)) {
|
|
17
|
+
return ["node", script];
|
|
18
|
+
}
|
|
19
|
+
return ["bunx", "@codemarc/smashdata"];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Decrypt `.trailz/env/.env.<name>.bin` with smash (`-n`) and write plaintext to `.env`.
|
|
23
|
+
* Invokes smash with path `.trailz/env/.env.<name>` (no `.bin`) so smash reads `${path}.bin`.
|
|
8
24
|
*/
|
|
9
25
|
export async function envGet(name, logger) {
|
|
10
26
|
if (!NAME_RE.test(name)) {
|
|
@@ -12,14 +28,20 @@ export async function envGet(name, logger) {
|
|
|
12
28
|
process.exit(1);
|
|
13
29
|
}
|
|
14
30
|
const cwd = process.cwd();
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
31
|
+
const dir = join(cwd, ".trailz", "env");
|
|
32
|
+
/** Plaintext path smash expects; ciphertext is `${basePath}.bin`. */
|
|
33
|
+
const basePath = join(dir, `.env.${name}`);
|
|
34
|
+
const binPath = `${basePath}.bin`;
|
|
35
|
+
if (!existsSync(binPath)) {
|
|
36
|
+
logger.error(`Encrypted env not found (need ciphertext at):\n ${binPath}\n` +
|
|
37
|
+
`Smash stores secrets in .env.<name>.bin; the argument to smash is .env.<name> without .bin.`);
|
|
18
38
|
process.exit(1);
|
|
19
39
|
}
|
|
40
|
+
const smashCmd = resolveSmashCommand(cwd);
|
|
20
41
|
const proc = Bun.spawnSync({
|
|
21
|
-
cmd: [
|
|
42
|
+
cmd: [...smashCmd, "-n", basePath],
|
|
22
43
|
cwd,
|
|
44
|
+
env: process.env,
|
|
23
45
|
stdout: "pipe",
|
|
24
46
|
stderr: "inherit",
|
|
25
47
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/env/get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,kEAAkE;AAClE,MAAM,OAAO,GAAG,8BAA8B,CAAC;AAE/C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAY,EAAE,MAAc;IACxD,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,
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/env/get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,kEAAkE;AAClE,MAAM,OAAO,GAAG,8BAA8B,CAAC;AAE/C;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,GAAW;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAC5E,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnB,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAY,EAAE,MAAc;IACxD,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,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACxC,qEAAqE;IACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,GAAG,QAAQ,MAAM,CAAC;IAElC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,KAAK,CACX,oDAAoD,OAAO,IAAI;YAC9D,6FAA6F,CAC9F,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC;QAC1B,GAAG,EAAE,CAAC,GAAG,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC;QAClC,GAAG;QACH,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,SAAS;KACjB,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAClC,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,CAAC,IAAI,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC;AACjC,CAAC"}
|
package/dist/commands/env.js
CHANGED
|
@@ -7,9 +7,9 @@ Usage:
|
|
|
7
7
|
blt env <operation>
|
|
8
8
|
|
|
9
9
|
Available operations:
|
|
10
|
-
get <name> Decrypt .trailz/env/.env.<name
|
|
10
|
+
get <name> Decrypt .trailz/env/.env.<name>.bin with smash and write .env (invokes smash with .env.<name> path; see @codemarc/smashdata)
|
|
11
11
|
|
|
12
|
-
Requires:
|
|
12
|
+
Requires: SMASH_KEY, ciphertext at .trailz/env/.env.<name>.bin, and smash (@codemarc/smashdata) via node_modules or bunx.
|
|
13
13
|
|
|
14
14
|
Run 'blt env get --help' for more information.
|
|
15
15
|
`;
|
|
@@ -22,7 +22,7 @@ Run 'blt env get --help' for more information.
|
|
|
22
22
|
program
|
|
23
23
|
.command("env get", "Decrypt named trailz env to .env")
|
|
24
24
|
.hide()
|
|
25
|
-
.argument("<name>", "Environment name (
|
|
25
|
+
.argument("<name>", "Environment name (ciphertext: .trailz/env/.env.<name>.bin)")
|
|
26
26
|
.action(async ({ args, logger, }) => {
|
|
27
27
|
try {
|
|
28
28
|
await envGet(args.name, logger);
|
package/dist/commands/env.js.map
CHANGED
|
@@ -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,
|
|
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,CACN,KAAK,EAAE,EACN,IAAI,EACJ,MAAM,GAIN,EAAE,EAAE;QACJ,IAAI,CAAC;YACJ,MAAM,MAAM,CAAC,IAAI,CAAC,IAAc,EAAE,MAAM,CAAC,CAAC;QAC3C,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"}
|
package/dist/lib/repositories.js
CHANGED
|
@@ -39,10 +39,10 @@ export const REPOSITORIES = [
|
|
|
39
39
|
description: "customer repository",
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
|
-
name: "
|
|
43
|
-
url: "https://github.com/bltcore-com/
|
|
44
|
-
sshUrl: "git@github.com:bltcore-com/
|
|
45
|
-
description: "
|
|
42
|
+
name: "website",
|
|
43
|
+
url: "https://github.com/bltcore-com/website.git",
|
|
44
|
+
sshUrl: "git@github.com:bltcore-com/website.git",
|
|
45
|
+
description: "BLTWAI homepage",
|
|
46
46
|
},
|
|
47
47
|
];
|
|
48
48
|
//# sourceMappingURL=repositories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repositories.js","sourceRoot":"","sources":["../../src/lib/repositories.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC;QACE,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,0CAA0C;QAC/C,MAAM,EAAE,sCAAsC;QAC9C,WAAW,EAAE,qBAAqB;KACnC;IACD;QACE,IAAI,EAAE,KAAK;QACX,GAAG,EAAE,iDAAiD;QACtD,MAAM,EAAE,6CAA6C;QACrD,WAAW,EAAE,sBAAsB;KACpC;IACD;QACE,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,kDAAkD;QACvD,MAAM,EAAE,8CAA8C;QACtD,WAAW,EAAE,2BAA2B;KACzC;IACD;QACE,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,uDAAuD;QAC5D,MAAM,EAAE,mDAAmD;QAC3D,WAAW,EAAE,gBAAgB;KAC9B;IACD;QACE,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,2CAA2C;QAChD,MAAM,EAAE,uCAAuC;QAC/C,WAAW,EAAE,oBAAoB;KAClC;IACD;QACE,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,8CAA8C;QACnD,MAAM,EAAE,0CAA0C;QAClD,WAAW,EAAE,qBAAqB;KACnC;IACD;QACE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"repositories.js","sourceRoot":"","sources":["../../src/lib/repositories.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC;QACE,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,0CAA0C;QAC/C,MAAM,EAAE,sCAAsC;QAC9C,WAAW,EAAE,qBAAqB;KACnC;IACD;QACE,IAAI,EAAE,KAAK;QACX,GAAG,EAAE,iDAAiD;QACtD,MAAM,EAAE,6CAA6C;QACrD,WAAW,EAAE,sBAAsB;KACpC;IACD;QACE,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,kDAAkD;QACvD,MAAM,EAAE,8CAA8C;QACtD,WAAW,EAAE,2BAA2B;KACzC;IACD;QACE,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,uDAAuD;QAC5D,MAAM,EAAE,mDAAmD;QAC3D,WAAW,EAAE,gBAAgB;KAC9B;IACD;QACE,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,2CAA2C;QAChD,MAAM,EAAE,uCAAuC;QAC/C,WAAW,EAAE,oBAAoB;KAClC;IACD;QACE,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,8CAA8C;QACnD,MAAM,EAAE,0CAA0C;QAClD,WAAW,EAAE,qBAAqB;KACnC;IACD;QACE,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,4CAA4C;QACjD,MAAM,EAAE,wCAAwC;QAChD,WAAW,EAAE,iBAAiB;KAC/B;CACF,CAAC"}
|