@prisma/compute-cli 0.5.0 → 0.6.0

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/dist/cli.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { parseEnvAssignments, parseEnvFromArgs } from "./commands/helpers.ts";
1
+ export { mergeEnvVars, parseEnvAssignments, parseEnvFromArgs, parseEnvVarsFromArgs, parseUnsetEnvFromArgs, parseUnsetEnvKeys, } from "./commands/helpers.ts";
2
2
  export declare const mainCommand: import("citty").CommandDef<import("citty").ArgsDef>;
3
3
  export declare function runCli(): Promise<void>;
4
4
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9E,eAAO,MAAM,WAAW,qDActB,CAAC;AAEH,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAE5C"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AASA,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,WAAW,qDActB,CAAC;AAEH,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAE5C"}
package/dist/cli.js CHANGED
@@ -6,7 +6,7 @@ import { logoutCommand } from "./commands/logout.js";
6
6
  import { projectsGroup } from "./commands/projects.js";
7
7
  import { servicesGroup } from "./commands/services.js";
8
8
  import { versionsGroup } from "./commands/versions.js";
9
- export { parseEnvAssignments, parseEnvFromArgs } from "./commands/helpers.js";
9
+ export { mergeEnvVars, parseEnvAssignments, parseEnvFromArgs, parseEnvVarsFromArgs, parseUnsetEnvFromArgs, parseUnsetEnvKeys, } from "./commands/helpers.js";
10
10
  export const mainCommand = defineCommand({
11
11
  meta: {
12
12
  name: "compute",
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9E,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;IACvC,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,oBAAoB;KAClC;IACD,WAAW,EAAE;QACX,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,aAAa;QACrB,GAAG,EAAE,QAAQ;QACb,QAAQ,EAAE,aAAa;QACvB,QAAQ,EAAE,aAAa;QACvB,QAAQ,EAAE,aAAa;KACxB;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;IACvC,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,oBAAoB;KAClC;IACD,WAAW,EAAE;QACX,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,aAAa;QACrB,GAAG,EAAE,QAAQ;QACb,QAAQ,EAAE,aAAa;QACvB,QAAQ,EAAE,aAAa;QACvB,QAAQ,EAAE,aAAa;KACxB;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;AAC7B,CAAC"}
@@ -33,6 +33,10 @@ export declare const deployCommand: import("citty").CommandDef<{
33
33
  readonly type: "string";
34
34
  readonly description: "Environment variables (repeat --env KEY=VALUE)";
35
35
  };
36
+ readonly unsetEnv: {
37
+ readonly type: "string";
38
+ readonly description: "Remove environment variables (repeat --unset-env KEY)";
39
+ };
36
40
  readonly httpPort: {
37
41
  readonly type: "string";
38
42
  readonly description: "HTTP port your application listens on";
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsHxB,CAAC"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0HxB,CAAC"}
@@ -4,7 +4,7 @@ import { defineCommand } from "citty";
4
4
  import { createDeployInteraction } from "../lib/interaction.js";
5
5
  import { printJsonResult } from "../lib/json-output.js";
6
6
  import { createDeployProgress } from "../lib/progress.js";
7
- import { endFlow, handleError, parseEnvFromArgs, parsePollOptions, parsePortMapping, resolveServiceId, startFlow, withAuthAndSignal, } from "./helpers.js";
7
+ import { endFlow, handleError, parseEnvVarsFromArgs, parsePollOptions, parsePortMapping, resolveServiceId, startFlow, withAuthAndSignal, } from "./helpers.js";
8
8
  export const deployCommand = defineCommand({
9
9
  meta: { name: "deploy", description: "Build and deploy your application" },
10
10
  args: {
@@ -26,6 +26,10 @@ export const deployCommand = defineCommand({
26
26
  type: "string",
27
27
  description: "Environment variables (repeat --env KEY=VALUE)",
28
28
  },
29
+ unsetEnv: {
30
+ type: "string",
31
+ description: "Remove environment variables (repeat --unset-env KEY)",
32
+ },
29
33
  httpPort: {
30
34
  type: "string",
31
35
  description: "HTTP port your application listens on",
@@ -58,7 +62,7 @@ export const deployCommand = defineCommand({
58
62
  try {
59
63
  const sdk = new ComputeClient(managementClient);
60
64
  const appPath = path.resolve(process.cwd(), args.path);
61
- const envVars = parseEnvFromArgs(rawArgs);
65
+ const envVars = parseEnvVarsFromArgs(rawArgs);
62
66
  const portMapping = parsePortMapping(args.httpPort);
63
67
  const inputServiceId = resolveServiceId(args);
64
68
  let strategy;
@@ -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":"env.d.ts","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"AAqGA,eAAO,MAAM,QAAQ,qDAGnB,CAAC"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"AA+GA,eAAO,MAAM,QAAQ,qDAGnB,CAAC"}
@@ -3,7 +3,7 @@ import { defineCommand } from "citty";
3
3
  import { createDeployInteraction } from "../lib/interaction.js";
4
4
  import { printJsonResult } from "../lib/json-output.js";
5
5
  import { createUpdateEnvProgress } from "../lib/progress.js";
6
- import { endFlow, handleError, parseEnvFromArgs, parsePollOptions, parsePortMapping, printServiceIdHint, resolveServiceId, startFlow, withAuthAndSignal, } from "./helpers.js";
6
+ import { endFlow, handleError, parseEnvVarsFromArgs, parsePollOptions, parsePortMapping, printServiceIdHint, resolveServiceId, startFlow, withAuthAndSignal, } from "./helpers.js";
7
7
  const envUpdateCommand = defineCommand({
8
8
  meta: {
9
9
  name: "update",
@@ -15,7 +15,10 @@ const envUpdateCommand = defineCommand({
15
15
  env: {
16
16
  type: "string",
17
17
  description: "Environment variables (repeat --env KEY=VALUE)",
18
- required: true,
18
+ },
19
+ unsetEnv: {
20
+ type: "string",
21
+ description: "Remove environment variables (repeat --unset-env KEY)",
19
22
  },
20
23
  httpPort: {
21
24
  type: "string",
@@ -38,8 +41,12 @@ const envUpdateCommand = defineCommand({
38
41
  const flowStarted = !args.json && startFlow("Prisma Compute · Env Update");
39
42
  try {
40
43
  const sdk = new ComputeClient(managementClient);
41
- const envVars = parseEnvFromArgs(rawArgs);
44
+ const envVars = parseEnvVarsFromArgs(rawArgs);
42
45
  const portMapping = parsePortMapping(args.httpPort);
46
+ if (!envVars && !portMapping) {
47
+ console.error("Nothing to update: provide --env, --unset-env, or --http-port");
48
+ return 1;
49
+ }
43
50
  const inputServiceId = resolveServiceId(args);
44
51
  const result = await sdk.updateEnv({
45
52
  projectId: args.project,
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
1
  import type { ManagementApiClient } from "@prisma/management-api-sdk";
2
- import { isInteractiveSession } from "../lib/interaction.ts";
3
2
  export declare const PRISMA_COMPUTE_SERVICE_ID_ENV = "PRISMA_COMPUTE_SERVICE_ID";
4
3
  export declare function parseEnvAssignments(entries: string[]): Record<string, string>;
5
4
  export declare function parseEnvFromArgs(rawArgs: string[]): Record<string, string>;
5
+ export declare function parseUnsetEnvKeys(entries: string[]): string[];
6
+ export declare function parseUnsetEnvFromArgs(rawArgs: string[]): string[];
7
+ export declare function mergeEnvVars(setVars: Record<string, string>, unsetKeys: string[]): Record<string, string | null>;
8
+ export declare function parseEnvVarsFromArgs(rawArgs: string[]): Record<string, string | null> | undefined;
6
9
  export declare function parsePortMapping(httpPort: string | undefined): {
7
10
  http: number;
8
11
  } | undefined;
@@ -25,5 +28,4 @@ export declare function withAuthAndSignal(fn: (client: ManagementApiClient, sign
25
28
  export declare function handleError(error: unknown): number;
26
29
  export declare function startFlow(title: string): boolean;
27
30
  export declare function endFlow(started: boolean, message?: string): void;
28
- export { isInteractiveSession };
29
31
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/commands/helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,oBAAoB,EAAqB,MAAM,uBAAuB,CAAC;AAEhF,eAAO,MAAM,6BAA6B,8BAA8B,CAAC;AAEzE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAe7E;AA6BD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAI1E;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAO9B;AAUD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;;;EAKA;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,GAAG,SAAS,CAIrB;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAI1D;AAED,wBAAgB,wBAAwB,IAAI;IAC1C,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,IAAI,IAAI,CAAC;CACjB,CAuBA;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,GACxE,OAAO,CAAC,MAAM,CAAC,CASjB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAIlD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAIhD;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,SAAU,GAAG,IAAI,CAEjE;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/commands/helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAItE,eAAO,MAAM,6BAA6B,8BAA8B,CAAC;AAEzE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAe7E;AA8BD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE1E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAe7D;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEjE;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,SAAS,EAAE,MAAM,EAAE,GAClB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAa/B;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EAAE,GAChB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,SAAS,CAO3C;AAUD,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAG9B;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;;;EAKA;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,GAAG,SAAS,CAIrB;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAI1D;AAED,wBAAgB,wBAAwB,IAAI;IAC1C,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,IAAI,IAAI,CAAC;CACjB,CAuBA;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,GACxE,OAAO,CAAC,MAAM,CAAC,CASjB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAIlD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAIhD;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,SAAU,GAAG,IAAI,CAEjE"}
@@ -18,44 +18,70 @@ export function parseEnvAssignments(entries) {
18
18
  }
19
19
  return envVars;
20
20
  }
21
- function extractEnvBatches(rawArgs) {
22
- const batches = [];
21
+ function extractFlagValues(rawArgs, flag) {
22
+ const values = [];
23
+ const prefix = `${flag}=`;
23
24
  for (let i = 0; i < rawArgs.length; i++) {
24
25
  const arg = rawArgs[i];
25
26
  if (arg === undefined)
26
27
  continue;
27
28
  if (arg === "--")
28
29
  break;
29
- if (arg === "--env") {
30
+ if (arg === flag) {
30
31
  const value = rawArgs[i + 1];
31
32
  if (value === undefined || value.startsWith("-")) {
32
- batches.push("");
33
+ values.push("");
33
34
  }
34
35
  else {
35
- batches.push(value);
36
+ values.push(value);
36
37
  i++;
37
38
  }
38
39
  continue;
39
40
  }
40
- if (arg.startsWith("--env=")) {
41
- batches.push(arg.slice("--env=".length));
41
+ if (arg.startsWith(prefix)) {
42
+ values.push(arg.slice(prefix.length));
42
43
  }
43
44
  }
44
- return batches;
45
+ return values;
45
46
  }
46
47
  export function parseEnvFromArgs(rawArgs) {
47
- // Citty still collapses repeated string flags, so preserve each --env from raw args.
48
- const batches = extractEnvBatches(rawArgs);
49
- return parseEnvAssignments(batches);
48
+ return parseEnvAssignments(extractFlagValues(rawArgs, "--env"));
50
49
  }
51
- export function parsePortMapping(httpPort) {
52
- if (!httpPort)
50
+ export function parseUnsetEnvKeys(entries) {
51
+ const keys = [];
52
+ for (const raw of entries) {
53
+ const key = raw.trim();
54
+ if (key.length === 0) {
55
+ throw new Error("Invalid --unset-env value; expected a variable name");
56
+ }
57
+ if (key.includes("=")) {
58
+ throw new Error(`Invalid --unset-env value \`${raw}\`; use --env KEY=VALUE to set a value`);
59
+ }
60
+ keys.push(key);
61
+ }
62
+ return keys;
63
+ }
64
+ export function parseUnsetEnvFromArgs(rawArgs) {
65
+ return parseUnsetEnvKeys(extractFlagValues(rawArgs, "--unset-env"));
66
+ }
67
+ export function mergeEnvVars(setVars, unsetKeys) {
68
+ const conflicts = unsetKeys.filter((key) => Object.hasOwn(setVars, key));
69
+ if (conflicts.length > 0) {
70
+ throw new Error(`Conflicting env flags: ${conflicts.map((k) => `\`${k}\``).join(", ")} appear in both --env and --unset-env`);
71
+ }
72
+ const merged = { ...setVars };
73
+ for (const key of unsetKeys) {
74
+ merged[key] = null;
75
+ }
76
+ return merged;
77
+ }
78
+ export function parseEnvVarsFromArgs(rawArgs) {
79
+ const setVars = parseEnvFromArgs(rawArgs);
80
+ const unsetKeys = parseUnsetEnvFromArgs(rawArgs);
81
+ if (Object.keys(setVars).length === 0 && unsetKeys.length === 0) {
53
82
  return undefined;
54
- const port = Number.parseInt(httpPort, 10);
55
- if (Number.isNaN(port)) {
56
- throw new Error(`Invalid --http-port value: ${httpPort}`);
57
83
  }
58
- return { http: port };
84
+ return mergeEnvVars(setVars, unsetKeys);
59
85
  }
60
86
  function parseIntOrThrow(value, flag) {
61
87
  const n = Number.parseInt(value, 10);
@@ -64,6 +90,11 @@ function parseIntOrThrow(value, flag) {
64
90
  }
65
91
  return n;
66
92
  }
93
+ export function parsePortMapping(httpPort) {
94
+ if (!httpPort)
95
+ return undefined;
96
+ return { http: parseIntOrThrow(httpPort, "--http-port") };
97
+ }
67
98
  export function parsePollOptions(args) {
68
99
  return {
69
100
  timeoutSeconds: parseIntOrThrow(args.timeout, "--timeout"),
@@ -125,5 +156,4 @@ export function endFlow(started, message = "Done.") {
125
156
  if (started)
126
157
  outro(message);
127
158
  }
128
- export { isInteractiveSession };
129
159
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/commands/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/commands/helpers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prisma/compute-cli",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "repository": "prisma/project-compute",
5
5
  "type": "module",
6
6
  "bin": {
@@ -31,7 +31,7 @@
31
31
  },
32
32
  "dependencies": {
33
33
  "@clack/prompts": "^1.1.0",
34
- "@prisma/compute-sdk": "0.5.0",
34
+ "@prisma/compute-sdk": "0.6.0",
35
35
  "@prisma/credentials-store": "^7.5.0",
36
36
  "@prisma/management-api-sdk": "^1.23.0",
37
37
  "citty": "^0.2.1",
package/src/cli.ts CHANGED
@@ -7,7 +7,14 @@ import { projectsGroup } from "./commands/projects.ts";
7
7
  import { servicesGroup } from "./commands/services.ts";
8
8
  import { versionsGroup } from "./commands/versions.ts";
9
9
 
10
- export { parseEnvAssignments, parseEnvFromArgs } from "./commands/helpers.ts";
10
+ export {
11
+ mergeEnvVars,
12
+ parseEnvAssignments,
13
+ parseEnvFromArgs,
14
+ parseEnvVarsFromArgs,
15
+ parseUnsetEnvFromArgs,
16
+ parseUnsetEnvKeys,
17
+ } from "./commands/helpers.ts";
11
18
 
12
19
  export const mainCommand = defineCommand({
13
20
  meta: {
@@ -12,7 +12,7 @@ import { createDeployProgress } from "../lib/progress.ts";
12
12
  import {
13
13
  endFlow,
14
14
  handleError,
15
- parseEnvFromArgs,
15
+ parseEnvVarsFromArgs,
16
16
  parsePollOptions,
17
17
  parsePortMapping,
18
18
  resolveServiceId,
@@ -41,6 +41,10 @@ export const deployCommand = defineCommand({
41
41
  type: "string",
42
42
  description: "Environment variables (repeat --env KEY=VALUE)",
43
43
  },
44
+ unsetEnv: {
45
+ type: "string",
46
+ description: "Remove environment variables (repeat --unset-env KEY)",
47
+ },
44
48
  httpPort: {
45
49
  type: "string",
46
50
  description: "HTTP port your application listens on",
@@ -76,7 +80,7 @@ export const deployCommand = defineCommand({
76
80
  try {
77
81
  const sdk = new ComputeClient(managementClient);
78
82
  const appPath = path.resolve(process.cwd(), args.path);
79
- const envVars = parseEnvFromArgs(rawArgs);
83
+ const envVars = parseEnvVarsFromArgs(rawArgs);
80
84
  const portMapping = parsePortMapping(args.httpPort);
81
85
 
82
86
  const inputServiceId = resolveServiceId(args);
@@ -6,7 +6,7 @@ import { createUpdateEnvProgress } from "../lib/progress.ts";
6
6
  import {
7
7
  endFlow,
8
8
  handleError,
9
- parseEnvFromArgs,
9
+ parseEnvVarsFromArgs,
10
10
  parsePollOptions,
11
11
  parsePortMapping,
12
12
  printServiceIdHint,
@@ -26,7 +26,10 @@ const envUpdateCommand = defineCommand({
26
26
  env: {
27
27
  type: "string",
28
28
  description: "Environment variables (repeat --env KEY=VALUE)",
29
- required: true,
29
+ },
30
+ unsetEnv: {
31
+ type: "string",
32
+ description: "Remove environment variables (repeat --unset-env KEY)",
30
33
  },
31
34
  httpPort: {
32
35
  type: "string",
@@ -52,9 +55,16 @@ const envUpdateCommand = defineCommand({
52
55
 
53
56
  try {
54
57
  const sdk = new ComputeClient(managementClient);
55
- const envVars = parseEnvFromArgs(rawArgs);
58
+ const envVars = parseEnvVarsFromArgs(rawArgs);
56
59
  const portMapping = parsePortMapping(args.httpPort);
57
60
 
61
+ if (!envVars && !portMapping) {
62
+ console.error(
63
+ "Nothing to update: provide --env, --unset-env, or --http-port",
64
+ );
65
+ return 1;
66
+ }
67
+
58
68
  const inputServiceId = resolveServiceId(args);
59
69
 
60
70
  const result = await sdk.updateEnv({
@@ -22,48 +22,86 @@ export function parseEnvAssignments(entries: string[]): Record<string, string> {
22
22
  return envVars;
23
23
  }
24
24
 
25
- function extractEnvBatches(rawArgs: string[]): string[] {
26
- const batches: string[] = [];
25
+ function extractFlagValues(rawArgs: string[], flag: string): string[] {
26
+ const values: string[] = [];
27
+ const prefix = `${flag}=`;
27
28
 
28
29
  for (let i = 0; i < rawArgs.length; i++) {
29
30
  const arg = rawArgs[i];
30
31
  if (arg === undefined) continue;
31
32
  if (arg === "--") break;
32
33
 
33
- if (arg === "--env") {
34
+ if (arg === flag) {
34
35
  const value = rawArgs[i + 1];
35
36
  if (value === undefined || value.startsWith("-")) {
36
- batches.push("");
37
+ values.push("");
37
38
  } else {
38
- batches.push(value);
39
+ values.push(value);
39
40
  i++;
40
41
  }
41
42
  continue;
42
43
  }
43
44
 
44
- if (arg.startsWith("--env=")) {
45
- batches.push(arg.slice("--env=".length));
45
+ if (arg.startsWith(prefix)) {
46
+ values.push(arg.slice(prefix.length));
46
47
  }
47
48
  }
48
49
 
49
- return batches;
50
+ return values;
50
51
  }
51
52
 
52
53
  export function parseEnvFromArgs(rawArgs: string[]): Record<string, string> {
53
- // Citty still collapses repeated string flags, so preserve each --env from raw args.
54
- const batches = extractEnvBatches(rawArgs);
55
- return parseEnvAssignments(batches);
54
+ return parseEnvAssignments(extractFlagValues(rawArgs, "--env"));
56
55
  }
57
56
 
58
- export function parsePortMapping(
59
- httpPort: string | undefined,
60
- ): { http: number } | undefined {
61
- if (!httpPort) return undefined;
62
- const port = Number.parseInt(httpPort, 10);
63
- if (Number.isNaN(port)) {
64
- throw new Error(`Invalid --http-port value: ${httpPort}`);
57
+ export function parseUnsetEnvKeys(entries: string[]): string[] {
58
+ const keys: string[] = [];
59
+ for (const raw of entries) {
60
+ const key = raw.trim();
61
+ if (key.length === 0) {
62
+ throw new Error("Invalid --unset-env value; expected a variable name");
63
+ }
64
+ if (key.includes("=")) {
65
+ throw new Error(
66
+ `Invalid --unset-env value \`${raw}\`; use --env KEY=VALUE to set a value`,
67
+ );
68
+ }
69
+ keys.push(key);
70
+ }
71
+ return keys;
72
+ }
73
+
74
+ export function parseUnsetEnvFromArgs(rawArgs: string[]): string[] {
75
+ return parseUnsetEnvKeys(extractFlagValues(rawArgs, "--unset-env"));
76
+ }
77
+
78
+ export function mergeEnvVars(
79
+ setVars: Record<string, string>,
80
+ unsetKeys: string[],
81
+ ): Record<string, string | null> {
82
+ const conflicts = unsetKeys.filter((key) => Object.hasOwn(setVars, key));
83
+ if (conflicts.length > 0) {
84
+ throw new Error(
85
+ `Conflicting env flags: ${conflicts.map((k) => `\`${k}\``).join(", ")} appear in both --env and --unset-env`,
86
+ );
65
87
  }
66
- return { http: port };
88
+
89
+ const merged: Record<string, string | null> = { ...setVars };
90
+ for (const key of unsetKeys) {
91
+ merged[key] = null;
92
+ }
93
+ return merged;
94
+ }
95
+
96
+ export function parseEnvVarsFromArgs(
97
+ rawArgs: string[],
98
+ ): Record<string, string | null> | undefined {
99
+ const setVars = parseEnvFromArgs(rawArgs);
100
+ const unsetKeys = parseUnsetEnvFromArgs(rawArgs);
101
+ if (Object.keys(setVars).length === 0 && unsetKeys.length === 0) {
102
+ return undefined;
103
+ }
104
+ return mergeEnvVars(setVars, unsetKeys);
67
105
  }
68
106
 
69
107
  function parseIntOrThrow(value: string, flag: string): number {
@@ -74,6 +112,13 @@ function parseIntOrThrow(value: string, flag: string): number {
74
112
  return n;
75
113
  }
76
114
 
115
+ export function parsePortMapping(
116
+ httpPort: string | undefined,
117
+ ): { http: number } | undefined {
118
+ if (!httpPort) return undefined;
119
+ return { http: parseIntOrThrow(httpPort, "--http-port") };
120
+ }
121
+
77
122
  export function parsePollOptions(args: {
78
123
  timeout: string;
79
124
  pollInterval: string;
@@ -154,5 +199,3 @@ export function startFlow(title: string): boolean {
154
199
  export function endFlow(started: boolean, message = "Done."): void {
155
200
  if (started) outro(message);
156
201
  }
157
-
158
- export { isInteractiveSession };