@project-ajax/cli 0.0.18 → 0.0.19
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/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.impl.d.ts +4 -0
- package/dist/commands/auth.impl.d.ts.map +1 -1
- package/dist/commands/auth.impl.js +42 -1
- package/dist/commands/auth.js +32 -0
- package/dist/config.d.ts +6 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +17 -5
- package/dist/token.d.ts +7 -0
- package/dist/token.d.ts.map +1 -1
- package/dist/token.js +10 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY,wEA0EvB,CAAC"}
|
|
@@ -8,5 +8,9 @@ interface LoginFlags {
|
|
|
8
8
|
}
|
|
9
9
|
export declare const login: (this: import("../context.js").LocalContext, flags: GlobalFlags & LoginFlags) => Promise<void>;
|
|
10
10
|
export declare const show: (this: import("../context.js").LocalContext, flags: GlobalFlags) => Promise<void>;
|
|
11
|
+
interface LogoutFlags {
|
|
12
|
+
all: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare const logout: (this: import("../context.js").LocalContext, flags: GlobalFlags & LogoutFlags, spaceId?: string | undefined) => Promise<void>;
|
|
11
15
|
export {};
|
|
12
16
|
//# sourceMappingURL=auth.impl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.impl.d.ts","sourceRoot":"","sources":["../../src/commands/auth.impl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAiHlE,wBAAsB,QAAQ,CAC7B,OAAO,EAAE,cAAc,EACvB,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,iBA+CxC;AAiFD,UAAU,UAAU;IACnB,gBAAgB,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,KAAK,gGAKhB,CAAC;AAEH,eAAO,MAAM,IAAI,mFAGf,CAAC"}
|
|
1
|
+
{"version":3,"file":"auth.impl.d.ts","sourceRoot":"","sources":["../../src/commands/auth.impl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAiHlE,wBAAsB,QAAQ,CAC7B,OAAO,EAAE,cAAc,EACvB,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,iBA+CxC;AAiFD,UAAU,UAAU;IACnB,gBAAgB,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,KAAK,gGAKhB,CAAC;AAEH,eAAO,MAAM,IAAI,mFAGf,CAAC;AAEH,UAAU,WAAW;IACpB,GAAG,EAAE,OAAO,CAAC;CACb;AAED,eAAO,MAAM,MAAM,+HAuDjB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { buildHandler } from "../handler.js";
|
|
2
|
-
import { fetchToken, parseToken } from "../token.js";
|
|
2
|
+
import { deleteToken, fetchToken, parseToken } from "../token.js";
|
|
3
3
|
import { openNotionUrl } from "../utils/openUrl.js";
|
|
4
4
|
const NEW_SPACE_VALUE = "__new_space__";
|
|
5
5
|
async function loginFetch(baseUrl, endpoint, body) {
|
|
@@ -156,8 +156,49 @@ const show = buildHandler(async function() {
|
|
|
156
156
|
const tokenAndInfo = await this.config.getToken();
|
|
157
157
|
this.io.writeOut(`${tokenAndInfo?.[0] ?? ""}`);
|
|
158
158
|
});
|
|
159
|
+
const logout = buildHandler(async function(flags, spaceId) {
|
|
160
|
+
if (flags.all) {
|
|
161
|
+
const cachedSpaces2 = this.config.getCachedSpaces();
|
|
162
|
+
if (cachedSpaces2.length === 0) {
|
|
163
|
+
this.io.writeErr("No authenticated spaces found.");
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
this.io.writeErr(`Logging out from ${cachedSpaces2.length} space(s)...`);
|
|
167
|
+
let deletedCount = 0;
|
|
168
|
+
for (const space2 of cachedSpaces2) {
|
|
169
|
+
const deleted2 = await deleteToken(space2.id);
|
|
170
|
+
if (deleted2) {
|
|
171
|
+
deletedCount++;
|
|
172
|
+
this.io.writeErr(` Logged out from "${space2.name}"`);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
if (deletedCount > 0) {
|
|
176
|
+
this.io.writeErr(`Logged out from ${deletedCount} space(s).`);
|
|
177
|
+
} else {
|
|
178
|
+
this.io.writeErr("No tokens found to remove.");
|
|
179
|
+
}
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
const targetSpaceId = spaceId ?? this.config.spaceId;
|
|
183
|
+
if (!targetSpaceId) {
|
|
184
|
+
this.io.writeErr(
|
|
185
|
+
"No space specified and no default space configured. Use 'workers auth logout <spaceId>' or 'workers auth logout --all'."
|
|
186
|
+
);
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
const cachedSpaces = this.config.getCachedSpaces();
|
|
190
|
+
const space = cachedSpaces.find((s) => s.id === targetSpaceId);
|
|
191
|
+
const spaceName = space?.name ?? targetSpaceId;
|
|
192
|
+
const deleted = await deleteToken(targetSpaceId);
|
|
193
|
+
if (deleted) {
|
|
194
|
+
this.io.writeErr(`Logged out from "${spaceName}".`);
|
|
195
|
+
} else {
|
|
196
|
+
this.io.writeErr(`No token found for "${spaceName}".`);
|
|
197
|
+
}
|
|
198
|
+
});
|
|
159
199
|
export {
|
|
160
200
|
login,
|
|
201
|
+
logout,
|
|
161
202
|
runLogin,
|
|
162
203
|
show
|
|
163
204
|
};
|
package/dist/commands/auth.js
CHANGED
|
@@ -34,6 +34,38 @@ Opens a browser window for you to authenticate and select a workspace.
|
|
|
34
34
|
}
|
|
35
35
|
},
|
|
36
36
|
loader: () => import("./auth.impl.js").then((m) => m.show)
|
|
37
|
+
}),
|
|
38
|
+
logout: buildCommand({
|
|
39
|
+
docs: {
|
|
40
|
+
brief: "Log out from a space",
|
|
41
|
+
fullDescription: `Removes authentication token from the system keychain.
|
|
42
|
+
|
|
43
|
+
By default, logs out from the current space (from local config or default space).
|
|
44
|
+
Use a space ID argument to log out from a specific space.
|
|
45
|
+
Use --all to log out from all authenticated spaces.`
|
|
46
|
+
},
|
|
47
|
+
parameters: {
|
|
48
|
+
positional: {
|
|
49
|
+
kind: "tuple",
|
|
50
|
+
parameters: [
|
|
51
|
+
{
|
|
52
|
+
brief: "The space ID to log out from (optional)",
|
|
53
|
+
parse: String,
|
|
54
|
+
placeholder: "spaceId",
|
|
55
|
+
optional: true
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
flags: {
|
|
60
|
+
...globalFlags,
|
|
61
|
+
all: {
|
|
62
|
+
kind: "boolean",
|
|
63
|
+
brief: "Log out from all spaces",
|
|
64
|
+
default: false
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
loader: () => import("./auth.impl.js").then((m) => m.logout)
|
|
37
69
|
})
|
|
38
70
|
}
|
|
39
71
|
});
|
package/dist/config.d.ts
CHANGED
|
@@ -22,7 +22,12 @@ declare const LocalConfig: z.ZodObject<{
|
|
|
22
22
|
export type LocalConfig = z.infer<typeof LocalConfig>;
|
|
23
23
|
declare const GlobalConfig: z.ZodObject<{
|
|
24
24
|
version: z.ZodLiteral<"1">;
|
|
25
|
-
|
|
25
|
+
defaultSpaceIds: z.ZodObject<{
|
|
26
|
+
local: z.ZodOptional<z.ZodString>;
|
|
27
|
+
dev: z.ZodOptional<z.ZodString>;
|
|
28
|
+
stg: z.ZodOptional<z.ZodString>;
|
|
29
|
+
prod: z.ZodOptional<z.ZodString>;
|
|
30
|
+
}, z.z.core.$strip>;
|
|
26
31
|
}, z.z.core.$strip>;
|
|
27
32
|
export type GlobalConfig = z.infer<typeof GlobalConfig>;
|
|
28
33
|
export declare class NoSuitableConfigFileError extends Error {
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAIN,KAAK,SAAS,EAEd,MAAM,YAAY,CAAC;AAIpB,eAAO,MAAM,WAAW,gDAA6C,CAAC;AACtE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,QAAA,MAAM,UAAU;;;;;;;mBAMd,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD,QAAA,MAAM,WAAW;;;;;;mBAMf,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAatD,QAAA,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -32,7 +32,12 @@ const LocalConfigV0 = z.object({
|
|
|
32
32
|
}).partial();
|
|
33
33
|
const GlobalConfig = z.object({
|
|
34
34
|
version: z.literal("1"),
|
|
35
|
-
|
|
35
|
+
defaultSpaceIds: z.object({
|
|
36
|
+
local: z.string(),
|
|
37
|
+
dev: z.string(),
|
|
38
|
+
stg: z.string(),
|
|
39
|
+
prod: z.string()
|
|
40
|
+
}).partial()
|
|
36
41
|
});
|
|
37
42
|
class NoSuitableConfigFileError extends Error {
|
|
38
43
|
constructor() {
|
|
@@ -88,7 +93,7 @@ class Config {
|
|
|
88
93
|
* @returns The default space ID, or null if not set.
|
|
89
94
|
*/
|
|
90
95
|
get defaultSpaceId() {
|
|
91
|
-
return this.#globalConfig.
|
|
96
|
+
return this.#globalConfig.defaultSpaceIds[this.#environment] ?? null;
|
|
92
97
|
}
|
|
93
98
|
/**
|
|
94
99
|
* Set the default space ID in global user config.
|
|
@@ -99,7 +104,11 @@ class Config {
|
|
|
99
104
|
* @param spaceId The space ID to set as default, or null to clear.
|
|
100
105
|
*/
|
|
101
106
|
setDefaultSpaceId(spaceId) {
|
|
102
|
-
|
|
107
|
+
if (spaceId) {
|
|
108
|
+
this.#globalConfig.defaultSpaceIds[this.#environment] = spaceId;
|
|
109
|
+
} else {
|
|
110
|
+
delete this.#globalConfig.defaultSpaceIds[this.#environment];
|
|
111
|
+
}
|
|
103
112
|
this.#writeGlobalConfig();
|
|
104
113
|
}
|
|
105
114
|
/**
|
|
@@ -425,7 +434,7 @@ class Config {
|
|
|
425
434
|
);
|
|
426
435
|
const baseURLOverride = env.WORKERS_BASE_URL ?? flags["base-url"] ?? localConfig.baseURL;
|
|
427
436
|
const baseURL = baseURLOverride ?? baseUrlForEnvironment(environment);
|
|
428
|
-
const spaceId = flags.space ?? env.WORKERS_SPACE_ID ?? localConfig.spaceId ?? globalConfig.
|
|
437
|
+
const spaceId = flags.space ?? env.WORKERS_SPACE_ID ?? localConfig.spaceId ?? globalConfig.defaultSpaceIds[environment] ?? null;
|
|
429
438
|
const workerId = localConfig.workerId;
|
|
430
439
|
const token = env.WORKERS_TOKEN ?? flags.token ?? null;
|
|
431
440
|
return new Config({
|
|
@@ -459,7 +468,10 @@ class Config {
|
|
|
459
468
|
* The empty global config.
|
|
460
469
|
*/
|
|
461
470
|
static get emptyGlobalConfig() {
|
|
462
|
-
return {
|
|
471
|
+
return {
|
|
472
|
+
version: "1",
|
|
473
|
+
defaultSpaceIds: {}
|
|
474
|
+
};
|
|
463
475
|
}
|
|
464
476
|
}
|
|
465
477
|
function isDir(path2) {
|
package/dist/token.d.ts
CHANGED
|
@@ -21,6 +21,13 @@ export declare function fetchToken(spaceId: string): Promise<string | null>;
|
|
|
21
21
|
* @param token The token to store.
|
|
22
22
|
*/
|
|
23
23
|
export declare function storeToken(spaceId: string, token: string): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Delete a token from the keychain.
|
|
26
|
+
*
|
|
27
|
+
* @param spaceId The space ID to delete the token for.
|
|
28
|
+
* @returns True if the token was deleted, false if it didn't exist.
|
|
29
|
+
*/
|
|
30
|
+
export declare function deleteToken(spaceId: string): Promise<boolean>;
|
|
24
31
|
/**
|
|
25
32
|
* Given a token string, parse its info and return the info.
|
|
26
33
|
*
|
package/dist/token.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI3B;AAED,qBAAa,gBAAiB,SAAQ,KAAK;gBAEzC,OAAO,GAAE,MAAiF;CAK3F;AAID;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGxE;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,iBAE9D;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAQnD"}
|
|
1
|
+
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI3B;AAED,qBAAa,gBAAiB,SAAQ,KAAK;gBAEzC,OAAO,GAAE,MAAiF;CAK3F;AAID;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGxE;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,iBAE9D;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQnE;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAQnD"}
|
package/dist/token.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getPassword, setPassword } from "cross-keychain";
|
|
1
|
+
import { deletePassword, getPassword, setPassword } from "cross-keychain";
|
|
2
2
|
class InvalidTokenError extends Error {
|
|
3
3
|
constructor(message) {
|
|
4
4
|
super(message);
|
|
@@ -19,6 +19,14 @@ async function fetchToken(spaceId) {
|
|
|
19
19
|
async function storeToken(spaceId, token) {
|
|
20
20
|
await setPassword(SERVICE_NAME, spaceId, token);
|
|
21
21
|
}
|
|
22
|
+
async function deleteToken(spaceId) {
|
|
23
|
+
try {
|
|
24
|
+
await deletePassword(SERVICE_NAME, spaceId);
|
|
25
|
+
return true;
|
|
26
|
+
} catch {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
22
30
|
function parseToken(token) {
|
|
23
31
|
const parts = splitToken(token);
|
|
24
32
|
if (parts[0] !== "v1") {
|
|
@@ -52,6 +60,7 @@ function decodeInfo(encodedInfo) {
|
|
|
52
60
|
export {
|
|
53
61
|
InvalidTokenError,
|
|
54
62
|
TokenNotSetError,
|
|
63
|
+
deleteToken,
|
|
55
64
|
fetchToken,
|
|
56
65
|
parseToken,
|
|
57
66
|
storeToken
|