deepstrike 7.0.0 → 8.0.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.
Files changed (2) hide show
  1. package/dist/cli.js +37 -0
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -23297,6 +23297,7 @@ Usage:
23297
23297
  deepstrike pull <environment>
23298
23298
  deepstrike export <environment>
23299
23299
  deepstrike import <dotfilePath> <environment>
23300
+ deepstrike add-secret <environment> <secretName> <secretValue> [--push]
23300
23301
 
23301
23302
  Notes:
23302
23303
  Config directory: ${deepstrikeDirName}
@@ -23427,6 +23428,31 @@ var importCommand = async (dotfilePathRaw, environmentRaw) => {
23427
23428
  process.stdout.write(`Imported ${updatedCount} value${updatedCount === 1 ? "" : "s"} into ${targetSecretsFilePath} from ${dotfilePath}
23428
23429
  `);
23429
23430
  };
23431
+ var addSecretCommand = async (environmentRaw, secretName, secretValue, shouldPush) => {
23432
+ await ensureDir(getDeepstrikeDir());
23433
+ const templateFile = await readTemplateFile();
23434
+ const templateSecretNames = templateFile.secretNames ?? [];
23435
+ if (!templateSecretNames.includes(secretName)) {
23436
+ const updatedTemplateFile = { ...templateFile, secretNames: [...templateSecretNames, secretName] };
23437
+ await fs6.writeFile(getEnvTemplatePath(), JSON.stringify(updatedTemplateFile, null, 4) + `
23438
+ `, "utf8");
23439
+ }
23440
+ const environmentFilePath = path5.join(deepstrikeDirName, formatEnvironmentFileName(environmentRaw));
23441
+ if (!await fileExists(environmentFilePath)) {
23442
+ await createEmptySecretsFile(environmentRaw);
23443
+ }
23444
+ const environmentSecretsFile = await readEnvironmentSecretsFile(environmentRaw);
23445
+ const existingSecrets = environmentSecretsFile.secrets ?? [];
23446
+ const updatedSecrets = existingSecrets.some((secret) => secret.name === secretName) ? existingSecrets.map((secret) => secret.name === secretName ? { ...secret, value: secretValue } : secret) : [...existingSecrets, { name: secretName, value: secretValue }];
23447
+ const updatedEnvironmentFile = { ...environmentSecretsFile, secrets: updatedSecrets };
23448
+ await fs6.writeFile(environmentFilePath, JSON.stringify(updatedEnvironmentFile, null, 4) + `
23449
+ `, "utf8");
23450
+ process.stdout.write(`Added secret ${secretName} to ${environmentFilePath}
23451
+ `);
23452
+ if (shouldPush) {
23453
+ await pushCommand(environmentRaw);
23454
+ }
23455
+ };
23430
23456
  var main = async () => {
23431
23457
  const [, , command, ...args] = process.argv;
23432
23458
  if (!command || command === "help" || command === "--help" || command === "-h") {
@@ -23473,6 +23499,17 @@ var main = async () => {
23473
23499
  await importCommand(dotfilePath, environment);
23474
23500
  return;
23475
23501
  }
23502
+ if (command === "add-secret") {
23503
+ const environment = args[0];
23504
+ const secretName = args[1];
23505
+ const secretValue = args[2];
23506
+ const shouldPush = args.includes("--push");
23507
+ if (!environment || !secretName || secretValue === undefined) {
23508
+ throw new Error("add-secret requires <environment> <secretName> <secretValue> [--push]");
23509
+ }
23510
+ await addSecretCommand(environment, secretName, secretValue, shouldPush);
23511
+ return;
23512
+ }
23476
23513
  throw new Error(`Unknown command: ${command}`);
23477
23514
  };
23478
23515
  main().catch((error) => {
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "7.0.0",
2
+ "version": "8.0.0",
3
3
  "name": "deepstrike",
4
4
  "type": "module",
5
5
  "devDependencies": {