@anvil-works/anvil-cli 0.7.0-canary.6 → 0.7.0-canary.8

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.js CHANGED
@@ -7389,6 +7389,7 @@ var __webpack_exports__ = {};
7389
7389
  const external_node_fs_namespaceObject = require("node:fs");
7390
7390
  const external_node_path_namespaceObject = require("node:path");
7391
7391
  const external_node_crypto_namespaceObject = require("node:crypto");
7392
+ var external_node_crypto_default = /*#__PURE__*/ __webpack_require__.n(external_node_crypto_namespaceObject);
7392
7393
  const external_node_assert_namespaceObject = require("node:assert");
7393
7394
  const isObject = (value)=>{
7394
7395
  const type = typeof value;
@@ -14246,7 +14247,43 @@ Promise.resolve(executeGitCredentialOperation(process.argv[2] || "get", {
14246
14247
  function getAuthFilePath(gitDir) {
14247
14248
  return external_path_default().join(gitDir, "anvil-auth.json");
14248
14249
  }
14249
- async function writeAuthToFile(repoPath, auth) {
14250
+ function decodeKey(b64key) {
14251
+ const key = Buffer.from(b64key, "base64");
14252
+ if (32 !== key.length) throw new Error("Encryption key must be a base64-encoded 32-byte key");
14253
+ return key;
14254
+ }
14255
+ function encrypt(plainText, b64key) {
14256
+ const key = decodeKey(b64key);
14257
+ const iv = external_node_crypto_default().randomBytes(12);
14258
+ const cipher = external_node_crypto_default().createCipheriv("aes-256-gcm", key, iv);
14259
+ const ciphertext = Buffer.concat([
14260
+ cipher.update(plainText, "utf8"),
14261
+ cipher.final()
14262
+ ]);
14263
+ const authTag = cipher.getAuthTag();
14264
+ return JSON.stringify({
14265
+ version: 1,
14266
+ algorithm: "aes-256-gcm",
14267
+ iv: iv.toString("base64"),
14268
+ authTag: authTag.toString("base64"),
14269
+ ciphertext: ciphertext.toString("base64")
14270
+ }, null, 2);
14271
+ }
14272
+ function decrypt(json, b64key) {
14273
+ const key = decodeKey(b64key);
14274
+ const payload = JSON.parse(json);
14275
+ if (1 !== payload.version || "aes-256-gcm" !== payload.algorithm) throw new Error("Unsupported encrypted file format");
14276
+ const iv = Buffer.from(payload.iv, "base64");
14277
+ const authTag = Buffer.from(payload.authTag, "base64");
14278
+ const ciphertext = Buffer.from(payload.ciphertext, "base64");
14279
+ const decipher = external_node_crypto_default().createDecipheriv("aes-256-gcm", key, iv);
14280
+ decipher.setAuthTag(authTag);
14281
+ return Buffer.concat([
14282
+ decipher.update(ciphertext),
14283
+ decipher.final()
14284
+ ]).toString("utf8");
14285
+ }
14286
+ async function writeAuthToFile(repoPath, auth, encryptionKey) {
14250
14287
  const git = esm_default(repoPath);
14251
14288
  const gitDir = await getRepositoryGitDir(repoPath, git);
14252
14289
  const authFilePath = getAuthFilePath(gitDir);
@@ -14254,8 +14291,8 @@ Promise.resolve(executeGitCredentialOperation(process.argv[2] || "get", {
14254
14291
  recursive: true
14255
14292
  });
14256
14293
  const authJson = JSON.stringify(auth, null, 2);
14257
- await external_fs_.promises.writeFile(authFilePath, authJson, {
14258
- mode: 448
14294
+ await external_fs_.promises.writeFile(authFilePath, encrypt(authJson, encryptionKey), {
14295
+ mode: 384
14259
14296
  });
14260
14297
  await external_fs_.promises.chmod(authFilePath, 448);
14261
14298
  await git.raw([
@@ -14272,7 +14309,8 @@ Promise.resolve(executeGitCredentialOperation(process.argv[2] || "get", {
14272
14309
  const authFilePath = getAuthFilePath(gitDir);
14273
14310
  if (!external_fs_default().existsSync(authFilePath)) return;
14274
14311
  const authJson = await external_fs_.promises.readFile(authFilePath, "utf8");
14275
- return JSON.parse(authJson);
14312
+ const key = process.env["ANVIL_AUTH_FILE_ENCRYPTION_KEY"];
14313
+ if (key) return JSON.parse(decrypt(authJson, key));
14276
14314
  };
14277
14315
  function getDefaultAnvilUrl() {
14278
14316
  return resolveAnvilUrl();
@@ -14361,7 +14399,7 @@ Promise.resolve(executeGitCredentialOperation(process.argv[2] || "get", {
14361
14399
  if (inMemoryAuth) inMemoryAuth.tokens = newTokens;
14362
14400
  else if (repoAuth) {
14363
14401
  repoAuth.tokens = newTokens;
14364
- await writeAuthToFile(repoContext, repoAuth);
14402
+ await writeAuthToFile(repoContext, repoAuth, process.env["ANVIL_AUTH_FILE_ENCRYPTION_KEY"]);
14365
14403
  } else {
14366
14404
  let accountUsername = username;
14367
14405
  if (!accountUsername) {
@@ -19310,7 +19348,7 @@ Promise.resolve(executeGitCredentialOperation(process.argv[2] || "get", {
19310
19348
  } catch (e) {
19311
19349
  throw new Error(`Checkout clone succeeded, but failed to configure repository credentials: ${errors_getErrorMessage(e)}. The repository exists at ${destinationDisplay}, but Git auth bridge setup is incomplete.`);
19312
19350
  }
19313
- if (options.storeAuth) await deps.writeAuthToFile(destinationPath, options.storeAuth);
19351
+ if (options.storeAuth) await deps.writeAuthToFile(destinationPath, options.storeAuth.auth, options.storeAuth.encryptionKey);
19314
19352
  return {
19315
19353
  appId: parsed.appId,
19316
19354
  appName: validation.app_name,
@@ -27,7 +27,10 @@ export interface CheckoutOptions {
27
27
  origin?: string;
28
28
  quiet?: boolean;
29
29
  verbose?: boolean;
30
- storeAuth?: AuthData;
30
+ storeAuth?: {
31
+ auth: AuthData;
32
+ encryptionKey: string;
33
+ };
31
34
  }
32
35
  export interface CheckoutResult {
33
36
  appId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../src/commands/checkout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../src/commands/checkout.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -11617,6 +11617,7 @@ var __webpack_exports__ = {};
11617
11617
  const external_node_process_namespaceObject = require("node:process");
11618
11618
  const external_node_fs_namespaceObject = require("node:fs");
11619
11619
  const external_node_crypto_namespaceObject = require("node:crypto");
11620
+ var external_node_crypto_default = /*#__PURE__*/ __webpack_require__.n(external_node_crypto_namespaceObject);
11620
11621
  const external_node_assert_namespaceObject = require("node:assert");
11621
11622
  const isObject = (value)=>{
11622
11623
  const type = typeof value;
@@ -14217,7 +14218,43 @@ Promise.resolve(executeGitCredentialOperation(process.argv[2] || "get", {
14217
14218
  function getAuthFilePath(gitDir) {
14218
14219
  return external_path_default().join(gitDir, "anvil-auth.json");
14219
14220
  }
14220
- async function writeAuthToFile(repoPath, auth) {
14221
+ function decodeKey(b64key) {
14222
+ const key = Buffer.from(b64key, "base64");
14223
+ if (32 !== key.length) throw new Error("Encryption key must be a base64-encoded 32-byte key");
14224
+ return key;
14225
+ }
14226
+ function encrypt(plainText, b64key) {
14227
+ const key = decodeKey(b64key);
14228
+ const iv = external_node_crypto_default().randomBytes(12);
14229
+ const cipher = external_node_crypto_default().createCipheriv("aes-256-gcm", key, iv);
14230
+ const ciphertext = Buffer.concat([
14231
+ cipher.update(plainText, "utf8"),
14232
+ cipher.final()
14233
+ ]);
14234
+ const authTag = cipher.getAuthTag();
14235
+ return JSON.stringify({
14236
+ version: 1,
14237
+ algorithm: "aes-256-gcm",
14238
+ iv: iv.toString("base64"),
14239
+ authTag: authTag.toString("base64"),
14240
+ ciphertext: ciphertext.toString("base64")
14241
+ }, null, 2);
14242
+ }
14243
+ function decrypt(json, b64key) {
14244
+ const key = decodeKey(b64key);
14245
+ const payload = JSON.parse(json);
14246
+ if (1 !== payload.version || "aes-256-gcm" !== payload.algorithm) throw new Error("Unsupported encrypted file format");
14247
+ const iv = Buffer.from(payload.iv, "base64");
14248
+ const authTag = Buffer.from(payload.authTag, "base64");
14249
+ const ciphertext = Buffer.from(payload.ciphertext, "base64");
14250
+ const decipher = external_node_crypto_default().createDecipheriv("aes-256-gcm", key, iv);
14251
+ decipher.setAuthTag(authTag);
14252
+ return Buffer.concat([
14253
+ decipher.update(ciphertext),
14254
+ decipher.final()
14255
+ ]).toString("utf8");
14256
+ }
14257
+ async function writeAuthToFile(repoPath, auth, encryptionKey) {
14221
14258
  const git = esm_default(repoPath);
14222
14259
  const gitDir = await getRepositoryGitDir(repoPath, git);
14223
14260
  const authFilePath = getAuthFilePath(gitDir);
@@ -14225,8 +14262,8 @@ Promise.resolve(executeGitCredentialOperation(process.argv[2] || "get", {
14225
14262
  recursive: true
14226
14263
  });
14227
14264
  const authJson = JSON.stringify(auth, null, 2);
14228
- await external_fs_.promises.writeFile(authFilePath, authJson, {
14229
- mode: 448
14265
+ await external_fs_.promises.writeFile(authFilePath, encrypt(authJson, encryptionKey), {
14266
+ mode: 384
14230
14267
  });
14231
14268
  await external_fs_.promises.chmod(authFilePath, 448);
14232
14269
  await git.raw([
@@ -14243,7 +14280,8 @@ Promise.resolve(executeGitCredentialOperation(process.argv[2] || "get", {
14243
14280
  const authFilePath = getAuthFilePath(gitDir);
14244
14281
  if (!external_fs_default().existsSync(authFilePath)) return;
14245
14282
  const authJson = await external_fs_.promises.readFile(authFilePath, "utf8");
14246
- return JSON.parse(authJson);
14283
+ const key = process.env["ANVIL_AUTH_FILE_ENCRYPTION_KEY"];
14284
+ if (key) return JSON.parse(decrypt(authJson, key));
14247
14285
  };
14248
14286
  function getDefaultAnvilUrl() {
14249
14287
  return resolveAnvilUrl();
@@ -14342,7 +14380,7 @@ Promise.resolve(executeGitCredentialOperation(process.argv[2] || "get", {
14342
14380
  if (inMemoryAuth) inMemoryAuth.tokens = newTokens;
14343
14381
  else if (repoAuth) {
14344
14382
  repoAuth.tokens = newTokens;
14345
- await writeAuthToFile(repoContext, repoAuth);
14383
+ await writeAuthToFile(repoContext, repoAuth, process.env["ANVIL_AUTH_FILE_ENCRYPTION_KEY"]);
14346
14384
  } else {
14347
14385
  let accountUsername = username;
14348
14386
  if (!accountUsername) {
@@ -18504,7 +18542,7 @@ Promise.resolve(executeGitCredentialOperation(process.argv[2] || "get", {
18504
18542
  } catch (e) {
18505
18543
  throw new Error(`Checkout clone succeeded, but failed to configure repository credentials: ${errors_getErrorMessage(e)}. The repository exists at ${destinationDisplay}, but Git auth bridge setup is incomplete.`);
18506
18544
  }
18507
- if (options.storeAuth) await deps.writeAuthToFile(destinationPath, options.storeAuth);
18545
+ if (options.storeAuth) await deps.writeAuthToFile(destinationPath, options.storeAuth.auth, options.storeAuth.encryptionKey);
18508
18546
  return {
18509
18547
  appId: parsed.appId,
18510
18548
  appName: validation.app_name,
@@ -31,6 +31,6 @@ export declare function hardenCheckoutGitAuth(options: {
31
31
  cleanRemoteUrl: string;
32
32
  }>;
33
33
  export declare function parseAppIdFromGitPath(pathValue?: string): string | undefined;
34
- export declare function writeAuthToFile(repoPath: string, auth: AuthData): Promise<string>;
34
+ export declare function writeAuthToFile(repoPath: string, auth: AuthData, encryptionKey: string): Promise<string>;
35
35
  export declare const readAuthFromRepo: (repoPath: string) => Promise<AuthData | undefined>;
36
36
  //# sourceMappingURL=git-auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"git-auth.d.ts","sourceRoot":"","sources":["../../src/services/git-auth.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAIvC,MAAM,WAAW,cAAc;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAkBD,wBAAgB,6BAA6B,CAAC,OAAO,EAAE;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC9B,GAAG,MAAM,CAcT;AAWD,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAUhG;AAED,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ/G;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAI5E;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CA2BpE;AAiCD,wBAAgB,6BAA6B,CAAC,OAAO,CAAC,EAAE;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,MAAM,CAAC;CACtC,GAAG,MAAM,CAWT;AA0BD,wBAAsB,+BAA+B,CACjD,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IACN,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC9B,GACF,OAAO,CAAC,IAAI,CAAC,CA2Cf;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBtC;AAED,wBAAgB,qBAAqB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK5E;AAOD,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,mBAgBrE;AAED,eAAO,MAAM,gBAAgB,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAarF,CAAC"}
1
+ {"version":3,"file":"git-auth.d.ts","sourceRoot":"","sources":["../../src/services/git-auth.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,QAAQ,CAAC;AAIrC,MAAM,WAAW,cAAc;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAkBD,wBAAgB,6BAA6B,CAAC,OAAO,EAAE;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC9B,GAAG,MAAM,CAcT;AAWD,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAUhG;AAED,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ/G;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAI5E;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CA2BpE;AAiCD,wBAAgB,6BAA6B,CAAC,OAAO,CAAC,EAAE;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,MAAM,CAAC;CACtC,GAAG,MAAM,CAWT;AA0BD,wBAAsB,+BAA+B,CACjD,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IACN,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC9B,GACF,OAAO,CAAC,IAAI,CAAC,CA2Cf;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBtC;AAED,wBAAgB,qBAAqB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK5E;AA+DD,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,mBAe5F;AAED,eAAO,MAAM,gBAAgB,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAiBrF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anvil-works/anvil-cli",
3
- "version": "0.7.0-canary.6",
3
+ "version": "0.7.0-canary.8",
4
4
  "description": "CLI tool for developing Anvil apps locally",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/api.d.ts",