@juuno-sdk/cli 1.0.11 → 1.0.13
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 +61 -11
- package/bin/cli-router.js +18 -4
- package/bin/cli.js +40 -15
- package/dist/cli/src/auth/index.js +128 -39
- package/dist/cli/src/deploy/index.js +11 -6
- package/dist/cli/src/info/index.js +3 -3
- package/dist/cli/src/list/index.js +3 -3
- package/dist/cli/src/login/index.js +11 -8
- package/dist/cli/src/logout/index.js +29 -8
- package/dist/cli/src/whoami/index.js +31 -10
- package/dist/cli/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/src/auth/index.d.ts +84 -0
- package/dist/types/src/auth/index.d.ts.map +1 -0
- package/dist/{cli → types}/src/deploy/index.d.ts +6 -0
- package/dist/{cli → types}/src/deploy/index.d.ts.map +1 -1
- package/dist/{cli → types}/src/info/index.d.ts.map +1 -1
- package/dist/{cli → types}/src/list/index.d.ts.map +1 -1
- package/dist/{cli → types}/src/login/index.d.ts +3 -1
- package/dist/types/src/login/index.d.ts.map +1 -0
- package/dist/types/src/logout/index.d.ts +12 -0
- package/dist/types/src/logout/index.d.ts.map +1 -0
- package/dist/types/src/whoami/index.d.ts +12 -0
- package/dist/types/src/whoami/index.d.ts.map +1 -0
- package/package.json +2 -2
- package/dist/assets/main-B8xiNI5_.js +0 -1
- package/dist/assets/main-Bf2N9gBQ.js +0 -1
- package/dist/assets/main-Bo8Yyr87.js +0 -1
- package/dist/assets/main-C3hW0d-b.css +0 -1
- package/dist/assets/main-C6ZAJydH.js +0 -1
- package/dist/assets/main-CCYNXtGp.css +0 -1
- package/dist/assets/main-COSZCfRq.css +0 -1
- package/dist/assets/main-CnpUG-52.js +0 -1
- package/dist/assets/main-D0353jp3.js +0 -1
- package/dist/assets/main-D7UD6CXw.css +0 -1
- package/dist/assets/main-DC3n4QV-.css +0 -1
- package/dist/assets/main-DWrNgA-L.js +0 -1
- package/dist/assets/main-HbFBqUMx.js +0 -1
- package/dist/assets/main-jQYqLcLk.js +0 -1
- package/dist/cli/src/auth/index.d.ts +0 -51
- package/dist/cli/src/auth/index.d.ts.map +0 -1
- package/dist/cli/src/login/index.d.ts.map +0 -1
- package/dist/cli/src/logout/index.d.ts +0 -5
- package/dist/cli/src/logout/index.d.ts.map +0 -1
- package/dist/cli/src/monorepo/index.d.ts +0 -37
- package/dist/cli/src/monorepo/index.d.ts.map +0 -1
- package/dist/cli/src/monorepo/index.js +0 -94
- package/dist/cli/src/whoami/index.d.ts +0 -5
- package/dist/cli/src/whoami/index.d.ts.map +0 -1
- /package/dist/{cli → types}/src/dev/index.d.ts +0 -0
- /package/dist/{cli → types}/src/dev/index.d.ts.map +0 -0
- /package/dist/{cli → types}/src/info/index.d.ts +0 -0
- /package/dist/{cli → types}/src/list/index.d.ts +0 -0
- /package/dist/{cli → types}/src/simulator/index.d.ts +0 -0
- /package/dist/{cli → types}/src/simulator/index.d.ts.map +0 -0
- /package/dist/{cli → types}/src/utils/fs.d.ts +0 -0
- /package/dist/{cli → types}/src/utils/fs.d.ts.map +0 -0
|
@@ -1,22 +1,43 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { removeProfile, removeAllProfiles, listProfiles, resolveProfile, isLoggedIn, formatProfileFlag, } from '../auth/index.js';
|
|
2
2
|
/**
|
|
3
|
-
* Logs out of Juuno by removing stored credentials.
|
|
3
|
+
* Logs out of Juuno by removing stored credentials for the target profile.
|
|
4
4
|
*/
|
|
5
|
-
export async function logout() {
|
|
5
|
+
export async function logout(options = {}) {
|
|
6
6
|
console.log('📦 Juuno CLI - Logout');
|
|
7
7
|
console.log('');
|
|
8
|
-
if (
|
|
9
|
-
|
|
8
|
+
if (options.all) {
|
|
9
|
+
const profiles = listProfiles();
|
|
10
|
+
if (profiles.length === 0) {
|
|
11
|
+
console.log(' No profiles are currently logged in.');
|
|
12
|
+
console.log('');
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
try {
|
|
16
|
+
removeAllProfiles();
|
|
17
|
+
console.log(` ✓ Removed ${profiles.length} profile${profiles.length === 1 ? '' : 's'}: ${profiles.join(', ')}`);
|
|
18
|
+
console.log('');
|
|
19
|
+
console.log('✅ All profiles logged out.');
|
|
20
|
+
console.log('');
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
console.error(`❌ Failed to remove credentials: ${error instanceof Error ? error.message : String(error)}`);
|
|
24
|
+
process.exit(1);
|
|
25
|
+
}
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const profile = resolveProfile(options);
|
|
29
|
+
if (!isLoggedIn(profile)) {
|
|
30
|
+
console.log(` Profile "${profile}" is not currently logged in.`);
|
|
10
31
|
console.log('');
|
|
11
32
|
return;
|
|
12
33
|
}
|
|
13
34
|
try {
|
|
14
|
-
|
|
15
|
-
console.log(
|
|
35
|
+
removeProfile(profile);
|
|
36
|
+
console.log(` ✓ Credentials removed for profile "${profile}"`);
|
|
16
37
|
console.log('');
|
|
17
38
|
console.log('✅ Logged out successfully!');
|
|
18
39
|
console.log('');
|
|
19
|
-
console.log(
|
|
40
|
+
console.log(`💡 Run "juuno-cli login${formatProfileFlag(profile)}" to authenticate again.`);
|
|
20
41
|
console.log('');
|
|
21
42
|
}
|
|
22
43
|
catch (error) {
|
|
@@ -1,24 +1,45 @@
|
|
|
1
|
-
import { isLoggedIn, getApiUrl } from '../auth/index.js';
|
|
1
|
+
import { isLoggedIn, getApiUrl, resolveProfile, listProfiles, getProfile, formatProfileFlag, } from '../auth/index.js';
|
|
2
2
|
/**
|
|
3
|
-
* Shows current authentication status.
|
|
3
|
+
* Shows current authentication status for a profile or all profiles.
|
|
4
4
|
*/
|
|
5
|
-
export async function whoami() {
|
|
5
|
+
export async function whoami(options = {}) {
|
|
6
6
|
console.log('📦 Juuno CLI - Authentication Status');
|
|
7
7
|
console.log('');
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
if (options.all) {
|
|
9
|
+
const profiles = listProfiles();
|
|
10
|
+
if (profiles.length === 0) {
|
|
11
|
+
console.log('❌ No profiles configured');
|
|
12
|
+
console.log('');
|
|
13
|
+
console.log('💡 Run "juuno-cli login" to authenticate.');
|
|
14
|
+
console.log('');
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
console.log(`✅ ${profiles.length} profile${profiles.length === 1 ? '' : 's'} configured`);
|
|
11
18
|
console.log('');
|
|
12
|
-
|
|
19
|
+
for (const name of profiles) {
|
|
20
|
+
const creds = getProfile(name);
|
|
21
|
+
console.log(` ${name}`);
|
|
22
|
+
console.log(` API: ${creds?.api_url || 'unknown'}`);
|
|
23
|
+
console.log(` Created: ${creds?.created_at || 'unknown'}`);
|
|
24
|
+
console.log('');
|
|
25
|
+
}
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const profile = resolveProfile(options);
|
|
29
|
+
const apiUrl = getApiUrl(options);
|
|
30
|
+
if (isLoggedIn(profile)) {
|
|
31
|
+
console.log(`✅ Logged in (profile: ${profile})`);
|
|
32
|
+
console.log('');
|
|
33
|
+
console.log(` API: ${apiUrl}`);
|
|
13
34
|
console.log(` Credentials: ~/.juuno/credentials.json`);
|
|
14
35
|
console.log('');
|
|
15
|
-
console.log(
|
|
36
|
+
console.log(`💡 Run "juuno-cli logout${formatProfileFlag(profile)}" to remove stored credentials.`);
|
|
16
37
|
console.log('');
|
|
17
38
|
}
|
|
18
39
|
else {
|
|
19
|
-
console.log(
|
|
40
|
+
console.log(`❌ Not logged in (profile: ${profile})`);
|
|
20
41
|
console.log('');
|
|
21
|
-
console.log(
|
|
42
|
+
console.log(`💡 Run "juuno-cli login${formatProfileFlag(profile)}" to authenticate.`);
|
|
22
43
|
console.log('');
|
|
23
44
|
}
|
|
24
45
|
}
|