getmyenv 0.3.5 → 0.3.6
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 +3 -2
- package/dist/bin.js +7 -2
- package/dist/bin.js.map +1 -1
- package/dist/commands/run.js +25 -20
- package/dist/commands/run.js.map +1 -1
- package/dist/lib/api.d.ts +1 -1
- package/dist/lib/api.js +1 -1
- package/dist/lib/update-check.d.ts +12 -0
- package/dist/lib/update-check.d.ts.map +1 -0
- package/dist/lib/update-check.js +149 -0
- package/dist/lib/update-check.js.map +1 -0
- package/package.json +58 -58
package/README.md
CHANGED
|
@@ -7,13 +7,14 @@ cd your-project
|
|
|
7
7
|
npx getmyenv run -- npm run dev # authorizes + links this folder on first run
|
|
8
8
|
```
|
|
9
9
|
|
|
10
|
-
The first verb you run in a folder opens the browser to
|
|
10
|
+
The first verb you run in a folder opens the browser to create a per-project CLI token, stores it in `.getmyenv/token.json`, and continues. No separate token step. One folder = one project = one token. Token name is project + scope. Not a full account login.
|
|
11
11
|
|
|
12
12
|
- Development token: `run`, `push`, `pull`, `restore`. `push` skips `.env*` basenames containing `production`.
|
|
13
13
|
- Production token: read-only (`run`, `backup`). Set Production values in the dashboard.
|
|
14
14
|
- Environment comes from token scope. Omit `-e` day to day.
|
|
15
15
|
- Re-authorize this folder: `npx getmyenv token` (or `--paste` from `/cli`).
|
|
16
|
-
- Forget this folder: `npx getmyenv link --clear
|
|
16
|
+
- Forget this folder: `npx getmyenv link --clear` (local token/link only; vault stays on the server).
|
|
17
|
+
- Prefer `npx getmyenv@latest`. An outdated install asks you to update first.
|
|
17
18
|
- CI: set `GETMYENV_TOKEN`. API defaults to `https://getmyenv.com`; use `--api-url` for another origin.
|
|
18
19
|
|
|
19
20
|
Commands: `run`, `push`, `pull`, `backup`, `restore`, `whoami`, `token` (re-auth), `link` (`--clear`).
|
package/dist/bin.js
CHANGED
|
@@ -3,6 +3,7 @@ import fs from "node:fs";
|
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import os from "node:os";
|
|
5
5
|
import { runCli } from "./cli.js";
|
|
6
|
+
import { maybeSuggestUpdate } from "./lib/update-check.js";
|
|
6
7
|
/**
|
|
7
8
|
* One-shot retire of the machine-global credentials store from before 0.3.4.
|
|
8
9
|
* Silent: delete the file (secrets do not linger) and print one honest line so
|
|
@@ -22,8 +23,12 @@ function retireLegacyCredentials() {
|
|
|
22
23
|
/* ignore */
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
async function main() {
|
|
27
|
+
retireLegacyCredentials();
|
|
28
|
+
await maybeSuggestUpdate();
|
|
29
|
+
await runCli(process.argv);
|
|
30
|
+
}
|
|
31
|
+
main().catch((err) => {
|
|
27
32
|
const message = err instanceof Error ? err.message : "Unexpected error";
|
|
28
33
|
// Never print secret values - sanitize to message only
|
|
29
34
|
console.error(`getmyenv: ${message}`);
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;GAIG;AACH,SAAS,uBAAuB;IAC9B,MAAM,IAAI,GACR,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE;QACvC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IACjD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO;IACjC,IAAI,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,CAAC,KAAK,CACX,gHAAgH,CACjH,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,uBAAuB,EAAE,CAAC;IAC1B,MAAM,kBAAkB,EAAE,CAAC;IAC3B,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC5B,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC;IACxE,uDAAuD;IACvD,OAAO,CAAC,KAAK,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/commands/run.js
CHANGED
|
@@ -37,20 +37,13 @@ export async function runCommand(opts, childArgs) {
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
const requestedSecretNames = readRequirements();
|
|
40
|
-
const secretsLine = requestedSecretNames.length > 0
|
|
41
|
-
? requestedSecretNames.join(", ")
|
|
42
|
-
: "all active secrets in this environment";
|
|
43
40
|
const needsDashboardWait = who.cliScope === "production";
|
|
44
|
-
console.log(`Token: ${who.label ?? who.cliScope}`);
|
|
45
41
|
console.log(`Project: ${who.projectName}`);
|
|
46
42
|
console.log(`Environment: ${environment}`);
|
|
47
43
|
if (!isDefaultApiUrl(apiUrl)) {
|
|
48
44
|
console.log(`API: ${apiUrl}`);
|
|
49
45
|
}
|
|
50
|
-
console.log(
|
|
51
|
-
console.log(`Access: ${needsDashboardWait
|
|
52
|
-
? "requesting dashboard approval (production)"
|
|
53
|
-
: "not required (development)"}\n`);
|
|
46
|
+
console.log("");
|
|
54
47
|
const envInfo = await client.request("GET", `/api/cli/projects/${projectId}`);
|
|
55
48
|
const envRow = envInfo.environments.find((e) => e.name.toLowerCase() === environment.toLowerCase());
|
|
56
49
|
if (!envRow) {
|
|
@@ -106,7 +99,7 @@ export async function runCommand(opts, childArgs) {
|
|
|
106
99
|
}
|
|
107
100
|
else {
|
|
108
101
|
const appOrigin = apiUrl.replace(/\/$/, "");
|
|
109
|
-
console.log(`Open ${appOrigin}/requests
|
|
102
|
+
console.log(`Waiting for dashboard approval (production). Open ${appOrigin}/requests\n`);
|
|
110
103
|
console.log(pc.dim("Tip: choose Trust this device in the dashboard to skip approval next time on this machine.\n"));
|
|
111
104
|
console.log(pc.dim("Waiting..."));
|
|
112
105
|
const deadline = new Date(request.expiresAt).getTime();
|
|
@@ -146,10 +139,6 @@ export async function runCommand(opts, childArgs) {
|
|
|
146
139
|
}
|
|
147
140
|
}
|
|
148
141
|
console.log("Loading protected environment...\n");
|
|
149
|
-
// Production always prompts; development also prompts (PEK cache is wrapped key only).
|
|
150
|
-
const password = await promptHidden("Vault password: ", {
|
|
151
|
-
allowStdin: opts.vaultPasswordStdin,
|
|
152
|
-
});
|
|
153
142
|
let bundle;
|
|
154
143
|
try {
|
|
155
144
|
bundle = await client.request("POST", `/api/cli/grants/secrets`, {
|
|
@@ -164,15 +153,31 @@ export async function runCommand(opts, childArgs) {
|
|
|
164
153
|
}
|
|
165
154
|
throw err;
|
|
166
155
|
}
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
156
|
+
// Production always prompts; development also prompts (PEK cache is wrapped key only).
|
|
157
|
+
const maxAttempts = opts.vaultPasswordStdin ? 1 : 3;
|
|
158
|
+
let pek = null;
|
|
159
|
+
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
160
|
+
const password = await promptHidden("Vault password: ", {
|
|
161
|
+
allowStdin: opts.vaultPasswordStdin,
|
|
173
162
|
});
|
|
163
|
+
try {
|
|
164
|
+
pek = await unwrapPek({
|
|
165
|
+
password,
|
|
166
|
+
scope: who.cliScope,
|
|
167
|
+
wrapped: bundle.wrappedProjectKey,
|
|
168
|
+
});
|
|
169
|
+
break;
|
|
170
|
+
}
|
|
171
|
+
catch {
|
|
172
|
+
if (attempt < maxAttempts) {
|
|
173
|
+
console.log(pc.red("Wrong Vault password. Try again.\n"));
|
|
174
|
+
continue;
|
|
175
|
+
}
|
|
176
|
+
clearGrant(projectId, environmentId);
|
|
177
|
+
throw new Error("Could not decrypt secrets. Check your vault password.");
|
|
178
|
+
}
|
|
174
179
|
}
|
|
175
|
-
|
|
180
|
+
if (!pek) {
|
|
176
181
|
clearGrant(projectId, environmentId);
|
|
177
182
|
throw new Error("Could not decrypt secrets. Check your vault password.");
|
|
178
183
|
}
|
package/dist/commands/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EACL,aAAa,EACb,YAAY,EACZ,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,YAAY,EACZ,eAAe,EACf,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACL,UAAU,EACV,SAAS,EACT,oBAAoB,EACpB,SAAS,GACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAStD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAAa,EACb,SAAmB;IAEnB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAErC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,kBAAkB,CAAC;QACjE,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,eAAe,EAAG,CAAC;IAChC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAE5C,IAAI,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1C,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;IAChC,CAAC;IACD,IAAI,WAAW,KAAK,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb;gBACE,kBAAkB,GAAG,CAAC,QAAQ,uBAAuB,WAAW,GAAG;gBACnE,GAAG,CAAC,QAAQ,KAAK,aAAa;oBAC5B,CAAC,CAAC,+CAA+C;oBACjD,CAAC,CAAC,8CAA8C;gBAClD,4DAA4D;aAC7D,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,oBAAoB,GAAG,gBAAgB,EAAE,CAAC;IAChD,MAAM,
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/api.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { type CliScope } from "./credentials.js";
|
|
6
6
|
/** Keep in sync with packages/cli/package.json version. */
|
|
7
|
-
export declare const CLI_VERSION = "0.3.
|
|
7
|
+
export declare const CLI_VERSION = "0.3.6";
|
|
8
8
|
export { PRODUCTION_API, isDefaultApiUrl, apiUrlForDisk, normalizeApiBase } from "./api-url.js";
|
|
9
9
|
export type WhoamiResponse = {
|
|
10
10
|
projectId: string;
|
package/dist/lib/api.js
CHANGED
|
@@ -7,7 +7,7 @@ import { readProjectMeta } from "./fs.js";
|
|
|
7
7
|
import { readFolderToken, } from "./credentials.js";
|
|
8
8
|
import { PRODUCTION_API } from "./api-url.js";
|
|
9
9
|
/** Keep in sync with packages/cli/package.json version. */
|
|
10
|
-
export const CLI_VERSION = "0.3.
|
|
10
|
+
export const CLI_VERSION = "0.3.6";
|
|
11
11
|
export { PRODUCTION_API, isDefaultApiUrl, apiUrlForDisk, normalizeApiBase } from "./api-url.js";
|
|
12
12
|
/** Resolve API base: CLI override → env var → folder token/meta → production. */
|
|
13
13
|
export function resolveApiUrl(cliOverride, _hint) {
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Soft update nudge: compare running CLI_VERSION to npm latest.
|
|
3
|
+
* Cache under ~/.config/getmyenv. Fail-open on network errors.
|
|
4
|
+
*/
|
|
5
|
+
/** Simple semver compare for x.y.z (no prerelease). Returns -1 / 0 / 1. */
|
|
6
|
+
export declare function compareSemver(a: string, b: string): number;
|
|
7
|
+
/**
|
|
8
|
+
* If a newer version exists, suggest updating first.
|
|
9
|
+
* TTY: default No on continue (exit 0). Non-TTY: warn and continue.
|
|
10
|
+
*/
|
|
11
|
+
export declare function maybeSuggestUpdate(): Promise<void>;
|
|
12
|
+
//# sourceMappingURL=update-check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../../src/lib/update-check.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA4BH,2EAA2E;AAC3E,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAU1D;AA6ED;;;GAGG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CA0CxD"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Soft update nudge: compare running CLI_VERSION to npm latest.
|
|
3
|
+
* Cache under ~/.config/getmyenv. Fail-open on network errors.
|
|
4
|
+
*/
|
|
5
|
+
import fs from "node:fs";
|
|
6
|
+
import os from "node:os";
|
|
7
|
+
import path from "node:path";
|
|
8
|
+
import pc from "picocolors";
|
|
9
|
+
import { CLI_VERSION } from "./api.js";
|
|
10
|
+
import { promptConfirm } from "./fs.js";
|
|
11
|
+
const CACHE_TTL_MS = 24 * 60 * 60 * 1000;
|
|
12
|
+
const FETCH_TIMEOUT_MS = 2500;
|
|
13
|
+
function configDir() {
|
|
14
|
+
return (process.env.GETMYENV_CONFIG_DIR?.trim() ||
|
|
15
|
+
path.join(os.homedir(), ".config", "getmyenv"));
|
|
16
|
+
}
|
|
17
|
+
function cachePath() {
|
|
18
|
+
return path.join(configDir(), "latest-version.json");
|
|
19
|
+
}
|
|
20
|
+
/** Simple semver compare for x.y.z (no prerelease). Returns -1 / 0 / 1. */
|
|
21
|
+
export function compareSemver(a, b) {
|
|
22
|
+
const pa = a.replace(/^v/, "").split(".").map((n) => parseInt(n, 10) || 0);
|
|
23
|
+
const pb = b.replace(/^v/, "").split(".").map((n) => parseInt(n, 10) || 0);
|
|
24
|
+
for (let i = 0; i < 3; i++) {
|
|
25
|
+
const da = pa[i] ?? 0;
|
|
26
|
+
const db = pb[i] ?? 0;
|
|
27
|
+
if (da < db)
|
|
28
|
+
return -1;
|
|
29
|
+
if (da > db)
|
|
30
|
+
return 1;
|
|
31
|
+
}
|
|
32
|
+
return 0;
|
|
33
|
+
}
|
|
34
|
+
function readCache() {
|
|
35
|
+
try {
|
|
36
|
+
const raw = fs.readFileSync(cachePath(), "utf8");
|
|
37
|
+
const data = JSON.parse(raw);
|
|
38
|
+
if (!data.latest || !data.checkedAt)
|
|
39
|
+
return null;
|
|
40
|
+
const age = Date.now() - new Date(data.checkedAt).getTime();
|
|
41
|
+
if (Number.isNaN(age) || age > CACHE_TTL_MS)
|
|
42
|
+
return null;
|
|
43
|
+
return data;
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function writeCache(latest) {
|
|
50
|
+
try {
|
|
51
|
+
const dir = configDir();
|
|
52
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
53
|
+
const payload = {
|
|
54
|
+
latest,
|
|
55
|
+
checkedAt: new Date().toISOString(),
|
|
56
|
+
};
|
|
57
|
+
fs.writeFileSync(cachePath(), JSON.stringify(payload, null, 2), {
|
|
58
|
+
mode: 0o600,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
/* ignore */
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
async function fetchLatestFromNpm() {
|
|
66
|
+
const ctrl = new AbortController();
|
|
67
|
+
const timer = setTimeout(() => ctrl.abort(), FETCH_TIMEOUT_MS);
|
|
68
|
+
try {
|
|
69
|
+
const res = await fetch("https://registry.npmjs.org/getmyenv/latest", {
|
|
70
|
+
signal: ctrl.signal,
|
|
71
|
+
headers: { Accept: "application/json" },
|
|
72
|
+
});
|
|
73
|
+
if (!res.ok)
|
|
74
|
+
return null;
|
|
75
|
+
const data = (await res.json());
|
|
76
|
+
const v = data.version?.trim();
|
|
77
|
+
return v || null;
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
finally {
|
|
83
|
+
clearTimeout(timer);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
function looksLikeGlobalBin() {
|
|
87
|
+
const argv1 = (process.argv[1] ?? "").toLowerCase();
|
|
88
|
+
if (argv1.includes(`${path.sep}npx${path.sep}`) || argv1.includes("npm-cache")) {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
// Global installs typically live under npm global node_modules, not a project.
|
|
92
|
+
if (argv1.includes(`${path.sep}node_modules${path.sep}`) &&
|
|
93
|
+
(argv1.includes(`${path.sep}getmyenv${path.sep}`) ||
|
|
94
|
+
argv1.endsWith(`${path.sep}getmyenv`))) {
|
|
95
|
+
const inProject = argv1.includes(`${path.sep}node_modules${path.sep}.bin${path.sep}`);
|
|
96
|
+
if (!inProject && !argv1.includes(`${path.sep}.npm${path.sep}`)) {
|
|
97
|
+
return true;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
function updateCommand() {
|
|
103
|
+
return looksLikeGlobalBin()
|
|
104
|
+
? "npm i -g getmyenv@latest"
|
|
105
|
+
: "npx getmyenv@latest";
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* If a newer version exists, suggest updating first.
|
|
109
|
+
* TTY: default No on continue (exit 0). Non-TTY: warn and continue.
|
|
110
|
+
*/
|
|
111
|
+
export async function maybeSuggestUpdate() {
|
|
112
|
+
if (process.env.GETMYENV_SKIP_UPDATE === "1")
|
|
113
|
+
return;
|
|
114
|
+
// --version / -V only: skip nudge noise
|
|
115
|
+
if (process.argv.includes("-V") ||
|
|
116
|
+
process.argv.includes("--version") ||
|
|
117
|
+
process.argv.includes("-h") ||
|
|
118
|
+
process.argv.includes("--help")) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
let latest = null;
|
|
122
|
+
const cached = readCache();
|
|
123
|
+
if (cached) {
|
|
124
|
+
latest = cached.latest;
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
latest = await fetchLatestFromNpm();
|
|
128
|
+
if (latest)
|
|
129
|
+
writeCache(latest);
|
|
130
|
+
}
|
|
131
|
+
if (!latest)
|
|
132
|
+
return;
|
|
133
|
+
if (compareSemver(CLI_VERSION, latest) >= 0)
|
|
134
|
+
return;
|
|
135
|
+
const cmd = updateCommand();
|
|
136
|
+
const line = `Newer getmyenv: ${latest} (you have ${CLI_VERSION}). Update first: ${cmd}`;
|
|
137
|
+
if (!process.stdin.isTTY || !process.stdout.isTTY) {
|
|
138
|
+
console.error(pc.yellow(`getmyenv: ${line}`));
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
console.log(pc.yellow(`\n${line}\n`));
|
|
142
|
+
const cont = await promptConfirm(`Continue with ${CLI_VERSION} anyway?`, { defaultYes: false });
|
|
143
|
+
if (!cont) {
|
|
144
|
+
console.log(pc.dim(`Run: ${cmd}\n`));
|
|
145
|
+
process.exit(0);
|
|
146
|
+
}
|
|
147
|
+
console.log("");
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=update-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-check.js","sourceRoot":"","sources":["../../src/lib/update-check.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACzC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAO9B,SAAS,SAAS;IAChB,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE;QACvC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAC/C,CAAC;AACJ,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,qBAAqB,CAAC,CAAC;AACvD,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,aAAa,CAAC,CAAS,EAAE,CAAS;IAChD,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,EAAE,GAAG,EAAE;YAAE,OAAO,CAAC,CAAC,CAAC;QACvB,IAAI,EAAE,GAAG,EAAE;YAAE,OAAO,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,SAAS;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAc,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5D,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,YAAY;YAAE,OAAO,IAAI,CAAC;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,MAAc;IAChC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,MAAM,OAAO,GAAc;YACzB,MAAM;YACN,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;YAC9D,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAC/D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,4CAA4C,EAAE;YACpE,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;SACxC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyB,CAAC;QACxD,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,IAAI,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB;IACzB,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACpD,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/E,OAAO,KAAK,CAAC;IACf,CAAC;IACD,+EAA+E;IAC/E,IACE,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,eAAe,IAAI,CAAC,GAAG,EAAE,CAAC;QACpD,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,WAAW,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/C,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,EACxC,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAC9B,GAAG,IAAI,CAAC,GAAG,eAAe,IAAI,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,CACpD,CAAC;QACF,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;YAChE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,kBAAkB,EAAE;QACzB,CAAC,CAAC,0BAA0B;QAC5B,CAAC,CAAC,qBAAqB,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,GAAG;QAAE,OAAO;IACrD,wCAAwC;IACxC,IACE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC/B,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACpC,IAAI,MAAM;YAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,IAAI,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC;QAAE,OAAO;IAEpD,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,mBAAmB,MAAM,cAAc,WAAW,oBAAoB,GAAG,EAAE,CAAC;IAEzF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM,aAAa,CAC9B,iBAAiB,WAAW,UAAU,EACtC,EAAE,UAAU,EAAE,KAAK,EAAE,CACtB,CAAC;IACF,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "getmyenv",
|
|
3
|
-
"version": "0.3.
|
|
4
|
-
"description": "CLI for getmyenv - encrypted environment variables for any language",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"bin": {
|
|
7
|
-
"getmyenv": "./dist/bin.js"
|
|
8
|
-
},
|
|
9
|
-
"main": "./dist/cli.js",
|
|
10
|
-
"types": "./dist/cli.d.ts",
|
|
11
|
-
"files": [
|
|
12
|
-
"dist",
|
|
13
|
-
"README.md",
|
|
14
|
-
"LICENSE"
|
|
15
|
-
],
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
"
|
|
32
|
-
|
|
33
|
-
"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
"
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
"@
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
"
|
|
57
|
-
}
|
|
58
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "getmyenv",
|
|
3
|
+
"version": "0.3.6",
|
|
4
|
+
"description": "CLI for getmyenv - encrypted environment variables for any language",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"getmyenv": "./dist/bin.js"
|
|
8
|
+
},
|
|
9
|
+
"main": "./dist/cli.js",
|
|
10
|
+
"types": "./dist/cli.d.ts",
|
|
11
|
+
"files": [
|
|
12
|
+
"dist",
|
|
13
|
+
"README.md",
|
|
14
|
+
"LICENSE"
|
|
15
|
+
],
|
|
16
|
+
"scripts": {
|
|
17
|
+
"build": "tsc -p tsconfig.json",
|
|
18
|
+
"dev": "tsc -p tsconfig.json --watch",
|
|
19
|
+
"start": "node dist/bin.js",
|
|
20
|
+
"test": "vitest run",
|
|
21
|
+
"lint": "tsc -p tsconfig.json --noEmit"
|
|
22
|
+
},
|
|
23
|
+
"repository": {
|
|
24
|
+
"type": "git",
|
|
25
|
+
"url": "https://github.com/yobotn/getmyenv.git"
|
|
26
|
+
},
|
|
27
|
+
"homepage": "https://getmyenv.com",
|
|
28
|
+
"bugs": {
|
|
29
|
+
"url": "https://github.com/yobotn/getmyenv/issues"
|
|
30
|
+
},
|
|
31
|
+
"keywords": [
|
|
32
|
+
"env",
|
|
33
|
+
"environment",
|
|
34
|
+
"secrets",
|
|
35
|
+
"dotenv",
|
|
36
|
+
"cli"
|
|
37
|
+
],
|
|
38
|
+
"license": "MIT",
|
|
39
|
+
"publishConfig": {
|
|
40
|
+
"access": "public"
|
|
41
|
+
},
|
|
42
|
+
"dependencies": {
|
|
43
|
+
"@getmyenv/crypto": "workspace:*",
|
|
44
|
+
"@getmyenv/shared": "workspace:*",
|
|
45
|
+
"commander": "^13.1.0",
|
|
46
|
+
"dotenv": "^16.4.7",
|
|
47
|
+
"ora": "^8.2.0",
|
|
48
|
+
"picocolors": "^1.1.1"
|
|
49
|
+
},
|
|
50
|
+
"devDependencies": {
|
|
51
|
+
"@types/node": "^22.13.10",
|
|
52
|
+
"typescript": "^5.8.2",
|
|
53
|
+
"vitest": "^4.1.11"
|
|
54
|
+
},
|
|
55
|
+
"engines": {
|
|
56
|
+
"node": ">=24"
|
|
57
|
+
}
|
|
58
|
+
}
|