@fireproof/core-cli 0.24.14 → 0.24.16

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 (92) hide show
  1. package/build-cmd.test.js +1 -1
  2. package/build-cmd.test.js.map +1 -1
  3. package/cli-ctx.d.ts +6 -0
  4. package/cli-ctx.js +2 -0
  5. package/cli-ctx.js.map +1 -0
  6. package/cmd-evento.d.ts +24 -0
  7. package/cmd-evento.js +85 -0
  8. package/cmd-evento.js.map +1 -0
  9. package/{build-cmd.d.ts → cmds/build-cmd.d.ts} +41 -4
  10. package/{build-cmd.js → cmds/build-cmd.js} +211 -152
  11. package/cmds/build-cmd.js.map +1 -0
  12. package/{cloud-token-key-cmd.d.ts → cmds/cloud-token-key-cmd.d.ts} +20 -4
  13. package/cmds/cloud-token-key-cmd.js +114 -0
  14. package/cmds/cloud-token-key-cmd.js.map +1 -0
  15. package/cmds/dependabot-cmd.d.ts +33 -0
  16. package/cmds/dependabot-cmd.js +157 -0
  17. package/cmds/dependabot-cmd.js.map +1 -0
  18. package/cmds/device-id-cmd.d.ts +248 -0
  19. package/cmds/device-id-cmd.js +762 -0
  20. package/cmds/device-id-cmd.js.map +1 -0
  21. package/cmds/index.d.ts +12 -0
  22. package/cmds/index.js +13 -0
  23. package/cmds/index.js.map +1 -0
  24. package/{pre-signed-url.d.ts → cmds/pre-signed-url.d.ts} +26 -4
  25. package/{pre-signed-url.js → cmds/pre-signed-url.js} +63 -22
  26. package/cmds/pre-signed-url.js.map +1 -0
  27. package/cmds/retry-cmd.d.ts +31 -0
  28. package/cmds/retry-cmd.js +156 -0
  29. package/cmds/retry-cmd.js.map +1 -0
  30. package/{set-scripts-cmd.d.ts → cmds/set-scripts-cmd.d.ts} +40 -7
  31. package/cmds/set-scripts-cmd.js +213 -0
  32. package/cmds/set-scripts-cmd.js.map +1 -0
  33. package/cmds/test-container-cmd.d.ts +135 -0
  34. package/cmds/test-container-cmd.js +440 -0
  35. package/cmds/test-container-cmd.js.map +1 -0
  36. package/{tsc-cmd.d.ts → cmds/tsc-cmd.d.ts} +19 -3
  37. package/cmds/tsc-cmd.js +75 -0
  38. package/cmds/tsc-cmd.js.map +1 -0
  39. package/cmds/update-deps-cmd.d.ts +33 -0
  40. package/cmds/update-deps-cmd.js +194 -0
  41. package/cmds/update-deps-cmd.js.map +1 -0
  42. package/{well-known-cmd.d.ts → cmds/well-known-cmd.d.ts} +24 -4
  43. package/cmds/well-known-cmd.js +154 -0
  44. package/cmds/well-known-cmd.js.map +1 -0
  45. package/cmds/write-env-cmd.d.ts +43 -0
  46. package/cmds/write-env-cmd.js +145 -0
  47. package/cmds/write-env-cmd.js.map +1 -0
  48. package/create-cli-stream.d.ts +10 -0
  49. package/create-cli-stream.js +34 -0
  50. package/create-cli-stream.js.map +1 -0
  51. package/evento-test-helper.d.ts +11 -0
  52. package/evento-test-helper.js +40 -0
  53. package/evento-test-helper.js.map +1 -0
  54. package/evento.test.d.ts +1 -0
  55. package/evento.test.js +122 -0
  56. package/evento.test.js.map +1 -0
  57. package/index.d.ts +5 -0
  58. package/index.js +6 -0
  59. package/index.js.map +1 -0
  60. package/main.js +130 -31
  61. package/main.js.map +1 -1
  62. package/package.json +9 -8
  63. package/run.js +2 -3
  64. package/version-pinner.d.ts +1 -1
  65. package/build-cmd.js.map +0 -1
  66. package/cloud-token-key-cmd.js +0 -73
  67. package/cloud-token-key-cmd.js.map +0 -1
  68. package/dependabot-cmd.d.ts +0 -16
  69. package/dependabot-cmd.js +0 -102
  70. package/dependabot-cmd.js.map +0 -1
  71. package/device-id-cmd.d.ts +0 -150
  72. package/device-id-cmd.js +0 -576
  73. package/device-id-cmd.js.map +0 -1
  74. package/pre-signed-url.js.map +0 -1
  75. package/retry-cmd.d.ts +0 -14
  76. package/retry-cmd.js +0 -96
  77. package/retry-cmd.js.map +0 -1
  78. package/set-scripts-cmd.js +0 -155
  79. package/set-scripts-cmd.js.map +0 -1
  80. package/test-container-cmd.d.ts +0 -82
  81. package/test-container-cmd.js +0 -332
  82. package/test-container-cmd.js.map +0 -1
  83. package/tsc-cmd.js +0 -39
  84. package/tsc-cmd.js.map +0 -1
  85. package/update-deps-cmd.d.ts +0 -16
  86. package/update-deps-cmd.js +0 -147
  87. package/update-deps-cmd.js.map +0 -1
  88. package/well-known-cmd.js +0 -111
  89. package/well-known-cmd.js.map +0 -1
  90. package/write-env-cmd.d.ts +0 -23
  91. package/write-env-cmd.js +0 -104
  92. package/write-env-cmd.js.map +0 -1
package/well-known-cmd.js DELETED
@@ -1,111 +0,0 @@
1
- import * as rt from "@fireproof/core-runtime";
2
- import { command, restPositionals, string, option, flag } from "cmd-ts";
3
- import { exportSPKI } from "jose";
4
- export function wellKnownCmd(_sthis) {
5
- return command({
6
- name: "well-known",
7
- description: "Fetch well-known JWKS from URLs",
8
- version: "1.0.0",
9
- args: {
10
- json: flag({
11
- long: "json",
12
- description: "Output as JSON (default)",
13
- defaultValue: () => false,
14
- }),
15
- jsons: flag({
16
- long: "jsons",
17
- description: "Output as single-line quoted JSON string",
18
- defaultValue: () => false,
19
- }),
20
- pem: flag({
21
- long: "pem",
22
- description: "Output as PEM format per key",
23
- defaultValue: () => false,
24
- }),
25
- env: flag({
26
- long: "env",
27
- description: "Output as environment variables with single-lined PEM",
28
- defaultValue: () => false,
29
- }),
30
- presetKey: option({
31
- type: string,
32
- long: "presetKey",
33
- defaultValue: () => "",
34
- description: "Preset key to include (will be processed with coerceJWKPublic)",
35
- }),
36
- envPrefix: option({
37
- type: string,
38
- long: "env-prefix",
39
- defaultValue: () => "CLERK_PUB_JWT_KEY",
40
- description: "Prefix for environment variable names (used with --env)",
41
- }),
42
- urls: restPositionals({
43
- type: string,
44
- displayName: "urls",
45
- description: "URLs to fetch well-known JWKS from",
46
- }),
47
- },
48
- handler: async (args) => {
49
- const urls = args.urls.flatMap((url) => url.split(",").map((u) => u.trim())).filter((u) => u.length > 0);
50
- const presetKeys = args.presetKey ? await rt.sts.coerceJWKPublic(_sthis, args.presetKey) : [];
51
- const results = urls.length > 0
52
- ? await rt.sts.fetchWellKnownJwks(urls, {
53
- fetchTimeoutMs: 5000,
54
- })
55
- : [];
56
- if (urls.length === 0 && presetKeys.length === 0) {
57
- console.error("Error: At least one URL or presetKey must be provided");
58
- process.exit(1);
59
- }
60
- const hasCustomEnvPrefix = args.envPrefix !== "CLERK_PUB_JWT_KEY";
61
- const format = args.pem ? "pem" : args.env || hasCustomEnvPrefix ? "env" : args.jsons ? "jsons" : "json";
62
- const keyMap = new Map();
63
- for (const key of presetKeys) {
64
- if (key.kid) {
65
- keyMap.set(key.kid, key);
66
- }
67
- else {
68
- keyMap.set(JSON.stringify(key), key);
69
- }
70
- }
71
- for (const result of results) {
72
- if (result.type === "ok") {
73
- for (const key of result.keys) {
74
- if (key.kid) {
75
- keyMap.set(key.kid, key);
76
- }
77
- else {
78
- keyMap.set(JSON.stringify(key), key);
79
- }
80
- }
81
- }
82
- }
83
- const combinedOutput = { keys: Array.from(keyMap.values()) };
84
- switch (format) {
85
- case "json":
86
- console.log(JSON.stringify(combinedOutput, null, 2));
87
- break;
88
- case "pem":
89
- {
90
- for (const jwk of combinedOutput.keys) {
91
- const rKey = await rt.sts.importJWK(jwk);
92
- if (rKey.isErr()) {
93
- console.error(`Error importing JWK: ${rKey.Err()}`);
94
- process.exit(1);
95
- }
96
- console.log(await exportSPKI(rKey.Ok().key));
97
- }
98
- }
99
- break;
100
- case "env":
101
- console.log(`${args.envPrefix}=${JSON.stringify(JSON.stringify(combinedOutput))}`);
102
- break;
103
- case "jsons":
104
- default:
105
- console.log(JSON.stringify(combinedOutput));
106
- break;
107
- }
108
- },
109
- });
110
- }
111
- //# sourceMappingURL=well-known-cmd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"well-known-cmd.js","sourceRoot":"","sources":["../jsr/well-known-cmd.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- import { SuperThis } from "@fireproof/core-types-base";
2
- export declare function writeEnvFile(sthis: SuperThis, envFname: string, outFname: string | undefined, env: string, vals: Record<string, string>, doNotOverwrite: boolean, json: boolean): Promise<string>;
3
- export declare function writeEnvCmd(sthis: SuperThis): Partial<import("cmd-ts/dist/cjs/argparser.js").Register> & {
4
- parse(context: import("cmd-ts/dist/cjs/argparser.js").ParseContext): Promise<import("cmd-ts/dist/cjs/argparser.js").ParsingResult<{
5
- wranglerToml: string;
6
- env: string;
7
- doNotOverwrite: boolean;
8
- excludeSecrets: boolean;
9
- fromEnv: string[];
10
- out: string | undefined;
11
- json: boolean;
12
- }>>;
13
- } & import("cmd-ts/dist/cjs/helpdoc.js").PrintHelp & import("cmd-ts/dist/cjs/helpdoc.js").ProvidesHelp & import("cmd-ts/dist/cjs/helpdoc.js").Named & Partial<import("cmd-ts/dist/cjs/helpdoc.js").Versioned> & import("cmd-ts/dist/cjs/argparser.js").Register & import("cmd-ts/dist/cjs/runner.js").Handling<{
14
- wranglerToml: string;
15
- env: string;
16
- doNotOverwrite: boolean;
17
- excludeSecrets: boolean;
18
- fromEnv: string[];
19
- out: string | undefined;
20
- json: boolean;
21
- }, Promise<void>> & {
22
- run(context: import("cmd-ts/dist/cjs/argparser.js").ParseContext): Promise<import("cmd-ts/dist/cjs/argparser.js").ParsingResult<Promise<void>>>;
23
- } & Partial<import("cmd-ts/dist/cjs/helpdoc.js").Versioned & import("cmd-ts/dist/cjs/helpdoc.js").Descriptive & import("cmd-ts/dist/cjs/helpdoc.js").Aliased>;
package/write-env-cmd.js DELETED
@@ -1,104 +0,0 @@
1
- import { command, option, string, flag, optional, array, multioption } from "cmd-ts";
2
- import * as rt from "@fireproof/core-runtime";
3
- import { param } from "@adviser/cement";
4
- import fs from "fs/promises";
5
- export async function writeEnvFile(sthis, envFname, outFname, env, vals, doNotOverwrite, json) {
6
- let render;
7
- if (json) {
8
- render = JSON.stringify(vals, null, 2);
9
- }
10
- else {
11
- render = Object.entries(vals)
12
- .map(([k, v]) => `${k}=${v}`)
13
- .join("\n");
14
- }
15
- if (outFname === "-") {
16
- process.stdout.write(render + "\n");
17
- return "-";
18
- }
19
- const fname = outFname ?? sthis.pathOps.join(sthis.pathOps.dirname(envFname), `.dev.vars.${env}`);
20
- if (doNotOverwrite &&
21
- (await fs
22
- .stat(fname)
23
- .then(() => true)
24
- .catch(() => false))) {
25
- return fname;
26
- }
27
- await fs.writeFile(fname, render);
28
- return fname;
29
- }
30
- export function writeEnvCmd(sthis) {
31
- return command({
32
- name: "cli-write-env",
33
- description: "write env file",
34
- version: "1.0.0",
35
- args: {
36
- wranglerToml: option({
37
- long: "wranglerToml",
38
- type: string,
39
- defaultValue: () => "./wrangler.toml",
40
- defaultValueIsSerializable: true,
41
- }),
42
- env: option({
43
- long: "env",
44
- type: string,
45
- defaultValue: () => "test",
46
- defaultValueIsSerializable: true,
47
- }),
48
- doNotOverwrite: flag({
49
- long: "doNotOverwrite",
50
- }),
51
- excludeSecrets: flag({
52
- long: "excludeSecrets",
53
- }),
54
- fromEnv: multioption({
55
- long: "fromEnv",
56
- type: array(string),
57
- }),
58
- out: option({
59
- long: "out",
60
- type: optional(string),
61
- }),
62
- json: flag({
63
- long: "json",
64
- }),
65
- },
66
- handler: async (args) => {
67
- let vals = {};
68
- if (args.fromEnv.length === 0) {
69
- vals = {
70
- [rt.sts.envKeyDefaults.PUBLIC]: param.REQUIRED,
71
- STORAGE_URL: sthis.env.get("STORAGE_URL") ?? "http://127.0.0.1:9000/testbucket",
72
- FP_STORAGE_URL: param.OPTIONAL,
73
- };
74
- if (!args.excludeSecrets) {
75
- vals["ACCESS_KEY_ID"] = "minioadmin";
76
- vals["SECRET_ACCESS_KEY"] = "minioadmin";
77
- }
78
- }
79
- else {
80
- Array.from(new Set(args.fromEnv))
81
- .sort()
82
- .reduce((acc, i) => {
83
- const [k, v] = i.split("=");
84
- if (v === undefined) {
85
- acc[k] = param.REQUIRED;
86
- }
87
- else {
88
- acc[k] = v;
89
- }
90
- return acc;
91
- }, vals);
92
- }
93
- const rVal = sthis.env.gets(vals);
94
- if (rVal.isErr()) {
95
- throw rVal.Err();
96
- }
97
- const fname = await writeEnvFile(sthis, args.wranglerToml, args.out, args.env, rVal.Ok(), args.doNotOverwrite, args.json);
98
- if (!["-", "stdout"].find((i) => args.out?.includes(i))) {
99
- console.log(`Wrote: ${fname} keys: ${JSON.stringify(Object.keys(rVal.Ok()))}`);
100
- }
101
- },
102
- });
103
- }
104
- //# sourceMappingURL=write-env-cmd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"write-env-cmd.js","sourceRoot":"","sources":["../jsr/write-env-cmd.ts"],"names":[],"mappings":"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"}