envlockr 2.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.
package/README.md ADDED
@@ -0,0 +1,33 @@
1
+ # EnvLockr (npm wrapper)
2
+
3
+ > Secure your environment variables — locally, encrypted, and stream-safe.
4
+
5
+ This package is a thin Node wrapper for the **EnvLockr CLI**. The canonical
6
+ distribution is the Python package:
7
+
8
+ ```bash
9
+ pip install "envlockr[keychain]"
10
+ ```
11
+
12
+ Once installed, this wrapper lets you call `envlockr` from npm-centric
13
+ workflows (npx, package.json scripts):
14
+
15
+ ```jsonc
16
+ // package.json
17
+ {
18
+ "scripts": {
19
+ "dev": "envlockr run -- next dev"
20
+ }
21
+ }
22
+ ```
23
+
24
+ ## What EnvLockr does
25
+
26
+ - **Local-first**: secrets encrypted on your machine — no cloud, no account
27
+ - **OS keychain**: master key in Windows Credential Manager / macOS Keychain / libsecret
28
+ - **`envlockr run -- <cmd>`**: inject secrets into any process — no `.env` on disk
29
+ - **`envlockr verify`**: check whether stored API keys are still live (Stripe, OpenAI, Anthropic, GitHub, Slack)
30
+
31
+ Full docs: https://github.com/RohanRatwani/envlockr-cli
32
+
33
+ MIT © Rohan Ratwani
@@ -0,0 +1,35 @@
1
+ #!/usr/bin/env node
2
+ // EnvLockr npm wrapper — proxies to the Python CLI (the canonical distribution).
3
+ // If the CLI isn't installed, prints install instructions instead.
4
+ 'use strict';
5
+
6
+ const { spawnSync } = require('child_process');
7
+
8
+ const args = process.argv.slice(2);
9
+
10
+ // 1) envlockr on PATH (pip install puts it there)
11
+ let result = spawnSync('envlockr', args, { stdio: 'inherit', shell: false });
12
+ if (!result.error) {
13
+ process.exit(result.status === null ? 1 : result.status);
14
+ }
15
+
16
+ // 2) fall back to `python -m envlockr`
17
+ for (const py of ['python3', 'python']) {
18
+ result = spawnSync(py, ['-m', 'envlockr', ...args], { stdio: 'inherit', shell: false });
19
+ if (!result.error && result.status !== 9009) {
20
+ process.exit(result.status === null ? 1 : result.status);
21
+ }
22
+ }
23
+
24
+ console.error(`
25
+ EnvLockr CLI not found.
26
+
27
+ The canonical EnvLockr distribution is the Python package:
28
+
29
+ pip install "envlockr[keychain]"
30
+
31
+ Then re-run your command — this npm wrapper will find it automatically.
32
+
33
+ Docs: https://github.com/RohanRatwani/envlockr-cli
34
+ `);
35
+ process.exit(1);
package/package.json ADDED
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "envlockr",
3
+ "version": "2.0.0",
4
+ "description": "Local-first encrypted secrets CLI — OS-keychain key storage, run-with-secrets injection, and API key liveness checks. Node wrapper for the Python CLI.",
5
+ "bin": {
6
+ "envlockr": "bin/envlockr.js"
7
+ },
8
+ "files": [
9
+ "bin/",
10
+ "README.md"
11
+ ],
12
+ "keywords": [
13
+ "secrets",
14
+ "environment-variables",
15
+ "dotenv",
16
+ "encryption",
17
+ "security",
18
+ "cli",
19
+ "env",
20
+ "secrets-management",
21
+ "local-first"
22
+ ],
23
+ "author": "Rohan Ratwani <ratwani.rohan@gmail.com>",
24
+ "license": "MIT",
25
+ "repository": {
26
+ "type": "git",
27
+ "url": "git+https://github.com/RohanRatwani/envlockr-cli.git"
28
+ },
29
+ "homepage": "https://envlockr.dev",
30
+ "bugs": {
31
+ "url": "https://github.com/RohanRatwani/envlockr-cli/issues"
32
+ },
33
+ "engines": {
34
+ "node": ">=14"
35
+ }
36
+ }