@prisma/compute-cli 0.14.0 → 0.16.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.
@@ -36,7 +36,7 @@ export declare const deployCommand: import("citty").CommandDef<{
36
36
  };
37
37
  readonly env: {
38
38
  readonly type: "string";
39
- readonly description: "Environment variables (repeat --env KEY=VALUE)";
39
+ readonly description: "Environment variables. Accepts KEY=VALUE, comma-separated KEY=V1,KEY2=V2, or a path to a .env file. Values containing commas can be quoted when needed, for example `--env 'DB_URL=\"a,b\"'`. Repeatable.";
40
40
  };
41
41
  readonly "unset-env": {
42
42
  readonly type: "string";
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+JxB,CAAC"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgKxB,CAAC"}
@@ -32,7 +32,7 @@ export const deployCommand = defineCommand({
32
32
  },
33
33
  env: {
34
34
  type: "string",
35
- description: "Environment variables (repeat --env KEY=VALUE)",
35
+ description: "Environment variables. Accepts KEY=VALUE, comma-separated KEY=V1,KEY2=V2, or a path to a .env file. Values containing commas can be quoted when needed, for example `--env 'DB_URL=\"a,b\"'`. Repeatable.",
36
36
  },
37
37
  "unset-env": {
38
38
  type: "string",
@@ -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":"AA+GA,eAAO,MAAM,QAAQ,qDAGnB,CAAC"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"AAgHA,eAAO,MAAM,QAAQ,qDAGnB,CAAC"}
@@ -14,7 +14,7 @@ const envUpdateCommand = defineCommand({
14
14
  service: { type: "string", description: "Compute service ID" },
15
15
  env: {
16
16
  type: "string",
17
- description: "Environment variables (repeat --env KEY=VALUE)",
17
+ description: "Environment variables. Accepts KEY=VALUE, comma-separated KEY=V1,KEY2=V2, or a path to a .env file. Values containing commas can be quoted when needed, for example `--env 'DB_URL=\"a,b\"'`. Repeatable.",
18
18
  },
19
19
  "unset-env": {
20
20
  type: "string",
@@ -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,5 +1,7 @@
1
1
  import type { ManagementApiClient } from "@prisma/management-api-sdk";
2
2
  export declare const PRISMA_COMPUTE_SERVICE_ID_ENV = "PRISMA_COMPUTE_SERVICE_ID";
3
+ export declare function parseDotenvContent(content: string): Record<string, string>;
4
+ export declare function loadEnvFile(filePath: string): Record<string, string>;
3
5
  export declare function parseEnvAssignments(entries: string[]): Record<string, string>;
4
6
  export declare function parseEnvFromArgs(rawArgs: string[]): Record<string, string>;
5
7
  export declare function parseUnsetEnvKeys(entries: string[]): string[];
@@ -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;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,eAAe,EAAE,MAAM,CAAC;CACzB;;;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"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/commands/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAItE,eAAO,MAAM,6BAA6B,8BAA8B,CAAC;AAiJzE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmC1E;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqBpE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoB7E;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,eAAe,EAAE,MAAM,CAAC;CACzB;;;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"}
@@ -1,20 +1,166 @@
1
+ import { readFileSync } from "node:fs";
1
2
  import { intro, outro } from "@clack/prompts";
2
3
  import { requireAuth } from "../lib/auth/guard.js";
3
4
  import { isInteractiveSession, isPromptCancelled } from "../lib/interaction.js";
4
5
  export const PRISMA_COMPUTE_SERVICE_ID_ENV = "PRISMA_COMPUTE_SERVICE_ID";
5
- export function parseEnvAssignments(entries) {
6
- const envVars = {};
7
- for (const value of entries) {
8
- const delimiter = value.indexOf("=");
6
+ function parseInlineAssignment(segment) {
7
+ const delimiter = segment.indexOf("=");
8
+ if (delimiter <= 0) {
9
+ throw new Error(`Invalid --env value \`${segment}\`; expected KEY=VALUE`);
10
+ }
11
+ const key = segment.slice(0, delimiter).trim();
12
+ const value = parseInlineValue(segment.slice(delimiter + 1));
13
+ if (key.length === 0) {
14
+ throw new Error(`Invalid --env key in \`${segment}\``);
15
+ }
16
+ return { key, value };
17
+ }
18
+ function parseInlineValue(rawValue) {
19
+ const value = rawValue.trim();
20
+ if (value.length === 0) {
21
+ return rawValue;
22
+ }
23
+ const first = value[0];
24
+ if (first !== '"' && first !== "'") {
25
+ return rawValue;
26
+ }
27
+ const closingIndex = findClosingQuote(value, first, 1);
28
+ if (closingIndex === -1) {
29
+ throw new Error(`Invalid --env value \`${rawValue}\`; expected a closing ${first}`);
30
+ }
31
+ if (closingIndex !== value.length - 1) {
32
+ throw new Error(`Invalid --env value \`${rawValue}\`; unexpected trailing content`);
33
+ }
34
+ return value.slice(1, closingIndex);
35
+ }
36
+ function isUnescapedQuote(entry, index, quote) {
37
+ let backslashCount = 0;
38
+ for (let i = index - 1; i >= 0 && entry[i] === "\\"; i--) {
39
+ backslashCount++;
40
+ }
41
+ return entry[index] === quote && backslashCount % 2 === 0;
42
+ }
43
+ function findClosingQuote(value, quote, startIndex) {
44
+ for (let i = startIndex; i < value.length; i++) {
45
+ if (isUnescapedQuote(value, i, quote)) {
46
+ return i;
47
+ }
48
+ }
49
+ return -1;
50
+ }
51
+ function splitInlineAssignments(entry) {
52
+ const segments = [];
53
+ let start = 0;
54
+ let quote = null;
55
+ for (let i = 0; i < entry.length; i++) {
56
+ const char = entry[i];
57
+ if (char === '"' || char === "'") {
58
+ if (!isUnescapedQuote(entry, i, char)) {
59
+ continue;
60
+ }
61
+ if (quote === null) {
62
+ quote = char;
63
+ }
64
+ else if (quote === char) {
65
+ quote = null;
66
+ }
67
+ continue;
68
+ }
69
+ if (char !== "," || quote !== null)
70
+ continue;
71
+ const remainder = entry.slice(i + 1);
72
+ if (!/^\s*[^=,\s][^=,]*\s*=/.test(remainder)) {
73
+ continue;
74
+ }
75
+ segments.push(entry.slice(start, i));
76
+ start = i + 1;
77
+ }
78
+ if (quote !== null) {
79
+ throw new Error(`Invalid --env value \`${entry}\`; expected a closing ${quote}`);
80
+ }
81
+ segments.push(entry.slice(start));
82
+ return segments;
83
+ }
84
+ function parseEnvFileValue(rawValue, lineNumber, rawLine) {
85
+ const value = rawValue.trimStart();
86
+ if (value.length === 0) {
87
+ return "";
88
+ }
89
+ const first = value[0];
90
+ if (first === '"' || first === "'") {
91
+ const closingIndex = findClosingQuote(value, first, 1);
92
+ if (closingIndex === -1) {
93
+ throw new Error(`Invalid env file line ${lineNumber}: \`${rawLine}\`; expected a closing ${first}`);
94
+ }
95
+ const remainder = value.slice(closingIndex + 1).trim();
96
+ if (remainder.length > 0 && !remainder.startsWith("#")) {
97
+ throw new Error(`Invalid env file line ${lineNumber}: \`${rawLine}\`; unexpected trailing content`);
98
+ }
99
+ return value.slice(1, closingIndex);
100
+ }
101
+ return value.replace(/\s+#.*$/, "").trim();
102
+ }
103
+ export function parseDotenvContent(content) {
104
+ const result = {};
105
+ const lines = content.split(/\r?\n/);
106
+ for (let i = 0; i < lines.length; i++) {
107
+ const rawLine = lines[i] ?? "";
108
+ const line = rawLine.trim();
109
+ if (line.length === 0 || line.startsWith("#"))
110
+ continue;
111
+ const withoutExport = line.startsWith("export ") || line.startsWith("export\t")
112
+ ? line.slice("export".length).trimStart()
113
+ : line;
114
+ const delimiter = withoutExport.indexOf("=");
9
115
  if (delimiter <= 0) {
10
- throw new Error(`Invalid --env value \`${value}\`; expected KEY=VALUE`);
116
+ throw new Error(`Invalid env file line ${i + 1}: \`${rawLine}\`; expected KEY=VALUE`);
11
117
  }
12
- const key = value.slice(0, delimiter).trim();
13
- const envValue = value.slice(delimiter + 1);
118
+ const key = withoutExport.slice(0, delimiter).trim();
14
119
  if (key.length === 0) {
15
- throw new Error(`Invalid --env key in \`${value}\``);
120
+ throw new Error(`Invalid env file line ${i + 1}: \`${rawLine}\`; expected KEY=VALUE`);
121
+ }
122
+ const value = parseEnvFileValue(withoutExport.slice(delimiter + 1), i + 1, rawLine);
123
+ result[key] = value;
124
+ }
125
+ return result;
126
+ }
127
+ export function loadEnvFile(filePath) {
128
+ let content;
129
+ try {
130
+ content = readFileSync(filePath, "utf8");
131
+ }
132
+ catch (err) {
133
+ const code = err && typeof err === "object" && "code" in err
134
+ ? err.code
135
+ : undefined;
136
+ if (code === "ENOENT") {
137
+ throw new Error(`Env file not found: \`${filePath}\``);
138
+ }
139
+ const message = err instanceof Error ? err.message : String(err);
140
+ throw new Error(`Failed to read env file \`${filePath}\`: ${message}`);
141
+ }
142
+ try {
143
+ return parseDotenvContent(content);
144
+ }
145
+ catch (err) {
146
+ const message = err instanceof Error ? err.message : String(err);
147
+ throw new Error(`Failed to parse env file \`${filePath}\`: ${message}`);
148
+ }
149
+ }
150
+ export function parseEnvAssignments(entries) {
151
+ const envVars = {};
152
+ for (const entry of entries) {
153
+ if (entry.trim().length === 0) {
154
+ throw new Error(`Invalid --env value \`${entry}\`; expected KEY=VALUE or a path to an env file`);
155
+ }
156
+ if (!entry.includes("=")) {
157
+ Object.assign(envVars, loadEnvFile(entry));
158
+ continue;
159
+ }
160
+ for (const segment of splitInlineAssignments(entry)) {
161
+ const { key, value } = parseInlineAssignment(segment);
162
+ envVars[key] = value;
16
163
  }
17
- envVars[key] = envValue;
18
164
  }
19
165
  return envVars;
20
166
  }
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/commands/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEhF,MAAM,CAAC,MAAM,6BAA6B,GAAG,2BAA2B,CAAC;AAEzE,MAAM,UAAU,mBAAmB,CAAC,OAAiB;IACnD,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,wBAAwB,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAC5C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,IAAI,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;IAC1B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAiB,EAAE,IAAY;IACxD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC;IAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,GAAG,KAAK,SAAS;YAAE,SAAS;QAChC,IAAI,GAAG,KAAK,IAAI;YAAE,MAAM;QAExB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnB,CAAC,EAAE,CAAC;YACN,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAiB;IAChD,OAAO,mBAAmB,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAiB;IACjD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,+BAA+B,GAAG,wCAAwC,CAC3E,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAiB;IACrD,OAAO,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,OAA+B,EAC/B,SAAmB;IAEnB,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IACzE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,0BAA0B,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,uCAAuC,CAC7G,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAkC,EAAE,GAAG,OAAO,EAAE,CAAC;IAC7D,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,OAAiB;IAEjB,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,eAAe,CAAC,KAAa,EAAE,IAAY;IAClD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,WAAW,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,QAA4B;IAE5B,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAGhC;IACC,OAAO;QACL,cAAc,EAAE,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;QAC1D,cAAc,EAAE,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,iBAAiB,CAAC;KAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAEhC;IACC,OAAO,CACL,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,IAAI,SAAS,CACxE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,OAAO,CAAC,GAAG,CACT,+DAA+D,6BAA6B,IAAI,SAAS,IAAI,CAC9G,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB;IAItC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,SAAS,OAAO;QACd,IAAI,SAAS;YAAE,OAAO;QACtB,SAAS,GAAG,IAAI,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,SAAS,OAAO;QACd,OAAO,EAAE,CAAC;QACV,UAAU,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAEjC,OAAO;QACL,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,OAAO;KACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,EAAyE;IAEzE,MAAM,MAAM,GAAG,MAAM,WAAW,EAAE,CAAC;IACnC,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,wBAAwB,EAAE,CAAC;IACvD,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;YAAS,CAAC;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,iBAAiB,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACvC,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,IAAI,CAAC,oBAAoB,EAAE;QAAE,OAAO,KAAK,CAAC;IAC1C,KAAK,CAAC,KAAK,CAAC,CAAC;IACb,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAgB,EAAE,OAAO,GAAG,OAAO;IACzD,IAAI,OAAO;QAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC"}
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.14.0",
3
+ "version": "0.16.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.14.0",
34
+ "@prisma/compute-sdk": "0.16.0",
35
35
  "@prisma/credentials-store": "^7.5.0",
36
36
  "@prisma/management-api-sdk": "^1.23.0",
37
37
  "citty": "^0.2.1",
@@ -51,7 +51,8 @@ export const deployCommand = defineCommand({
51
51
  },
52
52
  env: {
53
53
  type: "string",
54
- description: "Environment variables (repeat --env KEY=VALUE)",
54
+ description:
55
+ "Environment variables. Accepts KEY=VALUE, comma-separated KEY=V1,KEY2=V2, or a path to a .env file. Values containing commas can be quoted when needed, for example `--env 'DB_URL=\"a,b\"'`. Repeatable.",
55
56
  },
56
57
  "unset-env": {
57
58
  type: "string",
@@ -25,7 +25,8 @@ const envUpdateCommand = defineCommand({
25
25
  service: { type: "string", description: "Compute service ID" },
26
26
  env: {
27
27
  type: "string",
28
- description: "Environment variables (repeat --env KEY=VALUE)",
28
+ description:
29
+ "Environment variables. Accepts KEY=VALUE, comma-separated KEY=V1,KEY2=V2, or a path to a .env file. Values containing commas can be quoted when needed, for example `--env 'DB_URL=\"a,b\"'`. Repeatable.",
29
30
  },
30
31
  "unset-env": {
31
32
  type: "string",
@@ -1,3 +1,4 @@
1
+ import { readFileSync } from "node:fs";
1
2
  import { intro, outro } from "@clack/prompts";
2
3
  import type { ManagementApiClient } from "@prisma/management-api-sdk";
3
4
  import { requireAuth } from "../lib/auth/guard.ts";
@@ -5,19 +6,227 @@ import { isInteractiveSession, isPromptCancelled } from "../lib/interaction.ts";
5
6
 
6
7
  export const PRISMA_COMPUTE_SERVICE_ID_ENV = "PRISMA_COMPUTE_SERVICE_ID";
7
8
 
8
- export function parseEnvAssignments(entries: string[]): Record<string, string> {
9
- const envVars: Record<string, string> = {};
10
- for (const value of entries) {
11
- const delimiter = value.indexOf("=");
9
+ function parseInlineAssignment(segment: string): {
10
+ key: string;
11
+ value: string;
12
+ } {
13
+ const delimiter = segment.indexOf("=");
14
+ if (delimiter <= 0) {
15
+ throw new Error(`Invalid --env value \`${segment}\`; expected KEY=VALUE`);
16
+ }
17
+ const key = segment.slice(0, delimiter).trim();
18
+ const value = parseInlineValue(segment.slice(delimiter + 1));
19
+ if (key.length === 0) {
20
+ throw new Error(`Invalid --env key in \`${segment}\``);
21
+ }
22
+ return { key, value };
23
+ }
24
+
25
+ function parseInlineValue(rawValue: string): string {
26
+ const value = rawValue.trim();
27
+ if (value.length === 0) {
28
+ return rawValue;
29
+ }
30
+
31
+ const first = value[0];
32
+ if (first !== '"' && first !== "'") {
33
+ return rawValue;
34
+ }
35
+
36
+ const closingIndex = findClosingQuote(value, first, 1);
37
+ if (closingIndex === -1) {
38
+ throw new Error(
39
+ `Invalid --env value \`${rawValue}\`; expected a closing ${first}`,
40
+ );
41
+ }
42
+
43
+ if (closingIndex !== value.length - 1) {
44
+ throw new Error(
45
+ `Invalid --env value \`${rawValue}\`; unexpected trailing content`,
46
+ );
47
+ }
48
+
49
+ return value.slice(1, closingIndex);
50
+ }
51
+
52
+ function isUnescapedQuote(
53
+ entry: string,
54
+ index: number,
55
+ quote: '"' | "'",
56
+ ): boolean {
57
+ let backslashCount = 0;
58
+ for (let i = index - 1; i >= 0 && entry[i] === "\\"; i--) {
59
+ backslashCount++;
60
+ }
61
+
62
+ return entry[index] === quote && backslashCount % 2 === 0;
63
+ }
64
+
65
+ function findClosingQuote(
66
+ value: string,
67
+ quote: '"' | "'",
68
+ startIndex: number,
69
+ ): number {
70
+ for (let i = startIndex; i < value.length; i++) {
71
+ if (isUnescapedQuote(value, i, quote)) {
72
+ return i;
73
+ }
74
+ }
75
+
76
+ return -1;
77
+ }
78
+
79
+ function splitInlineAssignments(entry: string): string[] {
80
+ const segments: string[] = [];
81
+ let start = 0;
82
+ let quote: '"' | "'" | null = null;
83
+
84
+ for (let i = 0; i < entry.length; i++) {
85
+ const char = entry[i];
86
+ if (char === '"' || char === "'") {
87
+ if (!isUnescapedQuote(entry, i, char)) {
88
+ continue;
89
+ }
90
+
91
+ if (quote === null) {
92
+ quote = char;
93
+ } else if (quote === char) {
94
+ quote = null;
95
+ }
96
+ continue;
97
+ }
98
+
99
+ if (char !== "," || quote !== null) continue;
100
+
101
+ const remainder = entry.slice(i + 1);
102
+ if (!/^\s*[^=,\s][^=,]*\s*=/.test(remainder)) {
103
+ continue;
104
+ }
105
+
106
+ segments.push(entry.slice(start, i));
107
+ start = i + 1;
108
+ }
109
+
110
+ if (quote !== null) {
111
+ throw new Error(
112
+ `Invalid --env value \`${entry}\`; expected a closing ${quote}`,
113
+ );
114
+ }
115
+
116
+ segments.push(entry.slice(start));
117
+ return segments;
118
+ }
119
+
120
+ function parseEnvFileValue(
121
+ rawValue: string,
122
+ lineNumber: number,
123
+ rawLine: string,
124
+ ): string {
125
+ const value = rawValue.trimStart();
126
+ if (value.length === 0) {
127
+ return "";
128
+ }
129
+
130
+ const first = value[0];
131
+ if (first === '"' || first === "'") {
132
+ const closingIndex = findClosingQuote(value, first, 1);
133
+ if (closingIndex === -1) {
134
+ throw new Error(
135
+ `Invalid env file line ${lineNumber}: \`${rawLine}\`; expected a closing ${first}`,
136
+ );
137
+ }
138
+
139
+ const remainder = value.slice(closingIndex + 1).trim();
140
+ if (remainder.length > 0 && !remainder.startsWith("#")) {
141
+ throw new Error(
142
+ `Invalid env file line ${lineNumber}: \`${rawLine}\`; unexpected trailing content`,
143
+ );
144
+ }
145
+
146
+ return value.slice(1, closingIndex);
147
+ }
148
+
149
+ return value.replace(/\s+#.*$/, "").trim();
150
+ }
151
+
152
+ export function parseDotenvContent(content: string): Record<string, string> {
153
+ const result: Record<string, string> = {};
154
+ const lines = content.split(/\r?\n/);
155
+ for (let i = 0; i < lines.length; i++) {
156
+ const rawLine = lines[i] ?? "";
157
+ const line = rawLine.trim();
158
+ if (line.length === 0 || line.startsWith("#")) continue;
159
+
160
+ const withoutExport =
161
+ line.startsWith("export ") || line.startsWith("export\t")
162
+ ? line.slice("export".length).trimStart()
163
+ : line;
164
+
165
+ const delimiter = withoutExport.indexOf("=");
12
166
  if (delimiter <= 0) {
13
- throw new Error(`Invalid --env value \`${value}\`; expected KEY=VALUE`);
167
+ throw new Error(
168
+ `Invalid env file line ${i + 1}: \`${rawLine}\`; expected KEY=VALUE`,
169
+ );
14
170
  }
15
- const key = value.slice(0, delimiter).trim();
16
- const envValue = value.slice(delimiter + 1);
171
+
172
+ const key = withoutExport.slice(0, delimiter).trim();
17
173
  if (key.length === 0) {
18
- throw new Error(`Invalid --env key in \`${value}\``);
174
+ throw new Error(
175
+ `Invalid env file line ${i + 1}: \`${rawLine}\`; expected KEY=VALUE`,
176
+ );
177
+ }
178
+
179
+ const value = parseEnvFileValue(
180
+ withoutExport.slice(delimiter + 1),
181
+ i + 1,
182
+ rawLine,
183
+ );
184
+ result[key] = value;
185
+ }
186
+ return result;
187
+ }
188
+
189
+ export function loadEnvFile(filePath: string): Record<string, string> {
190
+ let content: string;
191
+ try {
192
+ content = readFileSync(filePath, "utf8");
193
+ } catch (err) {
194
+ const code =
195
+ err && typeof err === "object" && "code" in err
196
+ ? (err as { code?: string }).code
197
+ : undefined;
198
+ if (code === "ENOENT") {
199
+ throw new Error(`Env file not found: \`${filePath}\``);
200
+ }
201
+ const message = err instanceof Error ? err.message : String(err);
202
+ throw new Error(`Failed to read env file \`${filePath}\`: ${message}`);
203
+ }
204
+ try {
205
+ return parseDotenvContent(content);
206
+ } catch (err) {
207
+ const message = err instanceof Error ? err.message : String(err);
208
+ throw new Error(`Failed to parse env file \`${filePath}\`: ${message}`);
209
+ }
210
+ }
211
+
212
+ export function parseEnvAssignments(entries: string[]): Record<string, string> {
213
+ const envVars: Record<string, string> = {};
214
+ for (const entry of entries) {
215
+ if (entry.trim().length === 0) {
216
+ throw new Error(
217
+ `Invalid --env value \`${entry}\`; expected KEY=VALUE or a path to an env file`,
218
+ );
219
+ }
220
+
221
+ if (!entry.includes("=")) {
222
+ Object.assign(envVars, loadEnvFile(entry));
223
+ continue;
224
+ }
225
+
226
+ for (const segment of splitInlineAssignments(entry)) {
227
+ const { key, value } = parseInlineAssignment(segment);
228
+ envVars[key] = value;
19
229
  }
20
- envVars[key] = envValue;
21
230
  }
22
231
  return envVars;
23
232
  }