@envsave/cli 1.0.42 → 1.0.43

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 (2) hide show
  1. package/dist/cli.js +24 -16
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -836,7 +836,7 @@ async function checkLicense() {
836
836
  // package.json
837
837
  var package_default = {
838
838
  name: "@envsave/cli",
839
- version: "1.0.42",
839
+ version: "1.0.43",
840
840
  description: "Local secret vault for LLM-safe environments — encrypted secrets that agents can't bulk-discover",
841
841
  type: "module",
842
842
  main: "dist/index.js",
@@ -933,7 +933,7 @@ Usage:
933
933
  envsave backup Upload encrypted vault to server
934
934
  envsave restore Download vault backup from server
935
935
  envsave sync Sync vault with server (pull if cloud newer)
936
- envsave vercel <KEY|es_key>... Push secrets to Vercel (accepts names or opaque keys)
936
+ envsave vercel <KEY|es_key>... Push secrets to Vercel under both clean name + opaque id
937
937
  envsave help Show this help
938
938
 
939
939
  Security model:
@@ -1568,22 +1568,30 @@ Pushing ${secrets.length} secret(s) to Vercel (${environments.join(", ")})...
1568
1568
  `);
1569
1569
  let success = 0;
1570
1570
  let failed = 0;
1571
+ const pushVar = (varName, value, env) => {
1572
+ spawnSync("vercel", ["env", "rm", varName, env, "-y"], {
1573
+ stdio: "ignore"
1574
+ });
1575
+ const proc = spawnSync("vercel", ["env", "add", varName, env], {
1576
+ input: Buffer.from(value),
1577
+ stdio: ["pipe", "pipe", "pipe"]
1578
+ });
1579
+ if (proc.status === 0)
1580
+ return true;
1581
+ const errMsg = proc.stderr.toString().trim();
1582
+ console.error(` \x1B[31m✗\x1B[0m ${varName} [${env}]: ${errMsg}`);
1583
+ return false;
1584
+ };
1571
1585
  for (const secret of secrets) {
1586
+ const varNames = secret.name !== secret.opaque ? [secret.opaque, secret.name] : [secret.opaque];
1572
1587
  for (const env of environments) {
1573
- spawnSync("vercel", ["env", "rm", secret.opaque, env, "-y"], {
1574
- stdio: "ignore"
1575
- });
1576
- const proc = spawnSync("vercel", ["env", "add", secret.opaque, env], {
1577
- input: Buffer.from(secret.value),
1578
- stdio: ["pipe", "pipe", "pipe"]
1579
- });
1580
- if (proc.status === 0) {
1581
- console.log(` \x1B[32m✓\x1B[0m ${secret.name} → ${secret.opaque} [${env}]`);
1582
- success++;
1583
- } else {
1584
- const errMsg = proc.stderr.toString().trim();
1585
- console.error(` \x1B[31m✗\x1B[0m ${secret.name} → ${secret.opaque} [${env}]: ${errMsg}`);
1586
- failed++;
1588
+ for (const varName of varNames) {
1589
+ if (pushVar(varName, secret.value, env)) {
1590
+ console.log(` \x1B[32m✓\x1B[0m ${varName} [${env}]`);
1591
+ success++;
1592
+ } else {
1593
+ failed++;
1594
+ }
1587
1595
  }
1588
1596
  }
1589
1597
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@envsave/cli",
3
- "version": "1.0.42",
3
+ "version": "1.0.43",
4
4
  "description": "Local secret vault for LLM-safe environments — encrypted secrets that agents can't bulk-discover",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",