dc-ops-cli 1.9.1 → 1.10.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/README.md CHANGED
@@ -76,6 +76,9 @@ ops set GITHUB_TOKEN
76
76
  # Pass value directly
77
77
  ops set GITHUB_TOKEN --value "ghp_xxxxxxxxxxxx"
78
78
 
79
+ # Inline KEY=VALUE format (quick one-liner)
80
+ ops set GITHUB_TOKEN=ghp_xxxxxxxxxxxx
81
+
79
82
  # Read value from file or stdin
80
83
  ops set GITHUB_TOKEN --value-file ~/.secrets/github_token
81
84
  cat token.txt | ops set GITHUB_TOKEN --value -
@@ -1 +1 @@
1
- {"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../src/commands/set.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CA4Ff"}
1
+ {"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../src/commands/set.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CAqGf"}
@@ -10,6 +10,14 @@ export async function setCommand(name, options) {
10
10
  if (!name || name.trim().length === 0) {
11
11
  throw new OpError('Secret name cannot be empty.', 2);
12
12
  }
13
+ // Parse KEY=VALUE format if provided
14
+ let actualName = name;
15
+ let inlineValue;
16
+ const eqIndex = name.indexOf('=');
17
+ if (eqIndex > 0) {
18
+ actualName = name.substring(0, eqIndex);
19
+ inlineValue = name.substring(eqIndex + 1);
20
+ }
13
21
  checkOpCli();
14
22
  if (options.value && options.valueFile) {
15
23
  throw new OpError('Use either --value or --value-file, not both.', 2);
@@ -25,7 +33,7 @@ export async function setCommand(name, options) {
25
33
  const canPrompt = !noInput && isInteractiveInput();
26
34
  applyColorConfig(noColor);
27
35
  // Check if secret already exists
28
- const existing = getSecret(name, vault, field);
36
+ const existing = getSecret(actualName, vault, field);
29
37
  if (existing && !options.force) {
30
38
  if (!canPrompt) {
31
39
  throw new OpError('Secret already exists. Use --force to overwrite.', 2);
@@ -34,7 +42,7 @@ export async function setCommand(name, options) {
34
42
  {
35
43
  type: 'confirm',
36
44
  name: 'overwrite',
37
- message: chalk.yellow(`Secret "${name}" already exists. Overwrite it?`),
45
+ message: chalk.yellow(`Secret "${actualName}" already exists. Overwrite it?`),
38
46
  default: false,
39
47
  },
40
48
  ]);
@@ -43,8 +51,8 @@ export async function setCommand(name, options) {
43
51
  return;
44
52
  }
45
53
  }
46
- // Get value from option, file, stdin, or prompt
47
- let value = options.value;
54
+ // Get value from inline KEY=VALUE, option, file, stdin, or prompt
55
+ let value = inlineValue ?? options.value;
48
56
  if (options.valueFile) {
49
57
  value = readValueFromInput(options.valueFile);
50
58
  }
@@ -68,11 +76,11 @@ export async function setCommand(name, options) {
68
76
  }
69
77
  // Store the secret
70
78
  const spinner = createSpinner('Storing secret in 1Password...', quiet);
71
- setSecret(name, value, vault, field);
79
+ setSecret(actualName, value, vault, field);
72
80
  spinner.succeed(chalk.green('Secret stored successfully!'));
73
81
  if (!quiet) {
74
82
  console.log(chalk.cyan('\nRetrieve it with:'));
75
- console.log(chalk.white(` ops get ${name}`));
83
+ console.log(chalk.white(` ops get ${actualName}`));
76
84
  }
77
85
  }
78
86
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"set.js","sourceRoot":"","sources":["../../src/commands/set.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../../src/commands/set.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dc-ops-cli",
3
- "version": "1.9.1",
3
+ "version": "1.10.0",
4
4
  "description": "Easy secret retrieval from 1Password with smart fallbacks",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -20,12 +20,12 @@
20
20
  "scripts": {
21
21
  "build:bin": "bun build --compile src/index.ts --outfile bin/ops",
22
22
  "build": "tsc",
23
- "dev": "TS_NODE_TRANSPILE_ONLY=1 node --loader ts-node/esm src/index.ts",
23
+ "dev": "TS_NODE_TRANSPILE_ONLY=1 node --import ./scripts/register-ts-node.mjs src/index.ts",
24
24
  "typecheck": "tsc --noEmit",
25
25
  "lint": "tsc --noEmit",
26
- "test": "TS_NODE_TRANSPILE_ONLY=1 node --test --loader ts-node/esm tests/commands/*.test.ts tests/utils/*.test.ts",
27
- "test:unit": "TS_NODE_TRANSPILE_ONLY=1 node --test --loader ts-node/esm tests/commands/*.test.ts tests/utils/*.test.ts",
28
- "test:integration": "npm run build && TEST_OP_CLI=1 TS_NODE_TRANSPILE_ONLY=1 node --test --loader ts-node/esm tests/integration/*.test.ts",
26
+ "test": "TS_NODE_TRANSPILE_ONLY=1 node --test --import ./scripts/register-ts-node.mjs tests/commands/*.test.ts tests/utils/*.test.ts",
27
+ "test:unit": "TS_NODE_TRANSPILE_ONLY=1 node --test --import ./scripts/register-ts-node.mjs tests/commands/*.test.ts tests/utils/*.test.ts",
28
+ "test:integration": "npm run build && TEST_OP_CLI=1 TS_NODE_TRANSPILE_ONLY=1 node --test --import ./scripts/register-ts-node.mjs tests/integration/*.test.ts",
29
29
  "test:all": "npm run test:unit && npm run test:integration",
30
30
  "prepublishOnly": "npm run build",
31
31
  "release": "semantic-release --dry-run",
@@ -62,6 +62,6 @@
62
62
  "typescript": "^5.3.3"
63
63
  },
64
64
  "engines": {
65
- "node": ">=18.0.0"
65
+ "node": ">=22.0.0"
66
66
  }
67
67
  }