@lizard-build/cli 4.0.3 → 4.0.4
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/dist/lib/auth.d.ts +8 -0
- package/dist/lib/auth.js +16 -7
- package/dist/lib/auth.js.map +1 -1
- package/dist/lib/updater.d.ts +1 -1
- package/dist/lib/updater.js +1 -1
- package/package.json +1 -1
- package/src/lib/auth.ts +17 -6
- package/src/lib/updater.ts +1 -1
package/dist/lib/auth.d.ts
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import { type Credentials, type PendingAuth } from "./config.js";
|
|
2
2
|
export type { Credentials } from "./config.js";
|
|
3
|
+
/**
|
|
4
|
+
* The env var carrying a token or a `liz_` API key. LIZARD_TOKEN is the
|
|
5
|
+
* original name; LIZARD_API_KEY is what people reach for when what they hold
|
|
6
|
+
* is an API key, and it silently did nothing before — the CLI fell through to
|
|
7
|
+
* the credentials file and reported "Not authenticated" while the key sat
|
|
8
|
+
* right there in the environment. Both names go to the same header.
|
|
9
|
+
*/
|
|
10
|
+
export declare function envToken(): string | null;
|
|
3
11
|
/** Get the active token in priority order: env → file */
|
|
4
12
|
export declare function getToken(): string | null;
|
|
5
13
|
export declare function loadCredentials(): Credentials | null;
|
package/dist/lib/auth.js
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
import open from "open";
|
|
2
2
|
import chalk from "chalk";
|
|
3
3
|
import { loadConfig, saveConfig, } from "./config.js";
|
|
4
|
+
/**
|
|
5
|
+
* The env var carrying a token or a `liz_` API key. LIZARD_TOKEN is the
|
|
6
|
+
* original name; LIZARD_API_KEY is what people reach for when what they hold
|
|
7
|
+
* is an API key, and it silently did nothing before — the CLI fell through to
|
|
8
|
+
* the credentials file and reported "Not authenticated" while the key sat
|
|
9
|
+
* right there in the environment. Both names go to the same header.
|
|
10
|
+
*/
|
|
11
|
+
export function envToken() {
|
|
12
|
+
return process.env.LIZARD_TOKEN || process.env.LIZARD_API_KEY || null;
|
|
13
|
+
}
|
|
4
14
|
/** Get the active token in priority order: env → file */
|
|
5
15
|
export function getToken() {
|
|
6
|
-
|
|
7
|
-
return process.env.LIZARD_TOKEN;
|
|
8
|
-
return loadCredentials()?.accessToken ?? null;
|
|
16
|
+
return envToken() ?? loadCredentials()?.accessToken ?? null;
|
|
9
17
|
}
|
|
10
18
|
export function loadCredentials() {
|
|
11
19
|
return loadConfig().credentials ?? null;
|
|
@@ -76,8 +84,9 @@ function isExpired(creds) {
|
|
|
76
84
|
* expired, starts a fresh one.
|
|
77
85
|
*/
|
|
78
86
|
export async function requireAuth() {
|
|
79
|
-
|
|
80
|
-
|
|
87
|
+
const fromEnv = envToken();
|
|
88
|
+
if (fromEnv) {
|
|
89
|
+
return { accessToken: fromEnv, userId: "", username: "" };
|
|
81
90
|
}
|
|
82
91
|
const creds = loadCredentials();
|
|
83
92
|
if (creds && !isExpired(creds))
|
|
@@ -120,8 +129,8 @@ export async function requireAuth() {
|
|
|
120
129
|
// No credentials and no pending session — need to start a new auth flow
|
|
121
130
|
if (!isTTY()) {
|
|
122
131
|
const err = new Error(creds
|
|
123
|
-
? "Session expired. Run `lizard login` again or set LIZARD_TOKEN."
|
|
124
|
-
: "Not authenticated. Set LIZARD_TOKEN or run `lizard login` first.");
|
|
132
|
+
? "Session expired. Run `lizard login` again or set LIZARD_TOKEN / LIZARD_API_KEY."
|
|
133
|
+
: "Not authenticated. Set LIZARD_TOKEN (or LIZARD_API_KEY) or run `lizard login` first.");
|
|
125
134
|
err.code = "NOT_AUTHENTICATED";
|
|
126
135
|
throw err;
|
|
127
136
|
}
|
package/dist/lib/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,UAAU,EACV,UAAU,GAGX,MAAM,aAAa,CAAC;AAIrB
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/updater.d.ts
CHANGED
package/dist/lib/updater.js
CHANGED
|
@@ -4,7 +4,7 @@ import { Readable } from "node:stream";
|
|
|
4
4
|
import { join, dirname } from "node:path";
|
|
5
5
|
import os from "node:os";
|
|
6
6
|
import { spawn } from "node:child_process";
|
|
7
|
-
export const CURRENT_VERSION = "4.0.
|
|
7
|
+
export const CURRENT_VERSION = "4.0.4";
|
|
8
8
|
const RELEASES_API = "https://api.github.com/repos/lizard-build/lizard-cli/releases/latest";
|
|
9
9
|
const RELEASE_BASE = "https://github.com/lizard-build/lizard-cli/releases/latest/download";
|
|
10
10
|
/** Minimum gap between background update checks. */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lizard-build/cli",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.4",
|
|
4
4
|
"description": "Lizard CLI — deploy apps, databases and sandboxes to Lizard (lizard.build) from your terminal or your coding agent. Detects Go, Node, Python, Rust, Ruby, PHP, Java and static sites; adds Managed Postgres, Managed Redis and Managed Object Storage in one command.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
package/src/lib/auth.ts
CHANGED
|
@@ -9,10 +9,20 @@ import {
|
|
|
9
9
|
|
|
10
10
|
export type { Credentials } from "./config.js";
|
|
11
11
|
|
|
12
|
+
/**
|
|
13
|
+
* The env var carrying a token or a `liz_` API key. LIZARD_TOKEN is the
|
|
14
|
+
* original name; LIZARD_API_KEY is what people reach for when what they hold
|
|
15
|
+
* is an API key, and it silently did nothing before — the CLI fell through to
|
|
16
|
+
* the credentials file and reported "Not authenticated" while the key sat
|
|
17
|
+
* right there in the environment. Both names go to the same header.
|
|
18
|
+
*/
|
|
19
|
+
export function envToken(): string | null {
|
|
20
|
+
return process.env.LIZARD_TOKEN || process.env.LIZARD_API_KEY || null;
|
|
21
|
+
}
|
|
22
|
+
|
|
12
23
|
/** Get the active token in priority order: env → file */
|
|
13
24
|
export function getToken(): string | null {
|
|
14
|
-
|
|
15
|
-
return loadCredentials()?.accessToken ?? null;
|
|
25
|
+
return envToken() ?? loadCredentials()?.accessToken ?? null;
|
|
16
26
|
}
|
|
17
27
|
|
|
18
28
|
export function loadCredentials(): Credentials | null {
|
|
@@ -92,8 +102,9 @@ function isExpired(creds: Credentials): boolean {
|
|
|
92
102
|
* expired, starts a fresh one.
|
|
93
103
|
*/
|
|
94
104
|
export async function requireAuth(): Promise<Credentials> {
|
|
95
|
-
|
|
96
|
-
|
|
105
|
+
const fromEnv = envToken();
|
|
106
|
+
if (fromEnv) {
|
|
107
|
+
return { accessToken: fromEnv, userId: "", username: "" };
|
|
97
108
|
}
|
|
98
109
|
|
|
99
110
|
const creds = loadCredentials();
|
|
@@ -137,8 +148,8 @@ export async function requireAuth(): Promise<Credentials> {
|
|
|
137
148
|
if (!isTTY()) {
|
|
138
149
|
const err = new Error(
|
|
139
150
|
creds
|
|
140
|
-
? "Session expired. Run `lizard login` again or set LIZARD_TOKEN."
|
|
141
|
-
: "Not authenticated. Set LIZARD_TOKEN or run `lizard login` first.",
|
|
151
|
+
? "Session expired. Run `lizard login` again or set LIZARD_TOKEN / LIZARD_API_KEY."
|
|
152
|
+
: "Not authenticated. Set LIZARD_TOKEN (or LIZARD_API_KEY) or run `lizard login` first.",
|
|
142
153
|
) as Error & { code: string };
|
|
143
154
|
err.code = "NOT_AUTHENTICATED";
|
|
144
155
|
throw err;
|
package/src/lib/updater.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { join, dirname } from "node:path";
|
|
|
5
5
|
import os from "node:os";
|
|
6
6
|
import { spawn } from "node:child_process";
|
|
7
7
|
|
|
8
|
-
export const CURRENT_VERSION = "4.0.
|
|
8
|
+
export const CURRENT_VERSION = "4.0.4";
|
|
9
9
|
const RELEASES_API = "https://api.github.com/repos/lizard-build/lizard-cli/releases/latest";
|
|
10
10
|
const RELEASE_BASE = "https://github.com/lizard-build/lizard-cli/releases/latest/download";
|
|
11
11
|
|