@stackable-labs/cli-app-extension 1.99.1 → 1.100.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/dist/index.js +34 -7
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -3732,7 +3732,7 @@ var performCLIOAuthFlow = async ({ dashboardUrl, adminApiBaseUrl }) => {
|
|
|
3732
3732
|
await writeAuthState(authState);
|
|
3733
3733
|
return { authState, loginUrl };
|
|
3734
3734
|
};
|
|
3735
|
-
var AuthLogin = ({ dashboardUrl, adminApiBaseUrl }) => {
|
|
3735
|
+
var AuthLogin = ({ dashboardUrl, adminApiBaseUrl, reason, onSuccess, onError }) => {
|
|
3736
3736
|
const { exit } = useApp();
|
|
3737
3737
|
const [state, setState] = useState("waiting");
|
|
3738
3738
|
const [loginUrl, setLoginUrl] = useState("");
|
|
@@ -3751,12 +3751,15 @@ var AuthLogin = ({ dashboardUrl, adminApiBaseUrl }) => {
|
|
|
3751
3751
|
setUserIdLabel(result.authState.userId);
|
|
3752
3752
|
setOrgIdLabel(result.authState.orgId);
|
|
3753
3753
|
setState("success");
|
|
3754
|
+
onSuccess?.(result.authState);
|
|
3754
3755
|
} catch (err) {
|
|
3755
3756
|
if (cancelled) {
|
|
3756
3757
|
return;
|
|
3757
3758
|
}
|
|
3758
|
-
|
|
3759
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
3760
|
+
setErrorMessage(error.message);
|
|
3759
3761
|
setState("error");
|
|
3762
|
+
onError?.(error);
|
|
3760
3763
|
}
|
|
3761
3764
|
exit();
|
|
3762
3765
|
};
|
|
@@ -3766,8 +3769,9 @@ var AuthLogin = ({ dashboardUrl, adminApiBaseUrl }) => {
|
|
|
3766
3769
|
};
|
|
3767
3770
|
}, []);
|
|
3768
3771
|
return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", children: [
|
|
3769
|
-
/* @__PURE__ */ jsx(Banner, {}),
|
|
3772
|
+
!reason && /* @__PURE__ */ jsx(Banner, {}),
|
|
3770
3773
|
/* @__PURE__ */ jsxs(StepShell, { title: "Authenticate with Stackable", children: [
|
|
3774
|
+
reason && /* @__PURE__ */ jsx(Box, { marginBottom: 1, children: /* @__PURE__ */ jsx(Text, { color: "yellow", children: reason === "expired" ? "Session expired \u2014 re-authenticating before continuing\u2026" : "Not signed in \u2014 opening browser to authenticate\u2026" }) }),
|
|
3771
3775
|
state === "waiting" && /* @__PURE__ */ jsxs(Box, { flexDirection: "column", gap: 1, children: [
|
|
3772
3776
|
/* @__PURE__ */ jsxs(Box, { gap: 1, children: [
|
|
3773
3777
|
/* @__PURE__ */ jsx(Text, { color: "cyan", children: /* @__PURE__ */ jsx(Spinner5, { type: "dots" }) }),
|
|
@@ -3913,6 +3917,7 @@ var checkForUpdate = (currentVersion) => {
|
|
|
3913
3917
|
var require2 = createRequire(import.meta.url);
|
|
3914
3918
|
var { version } = require2("../package.json");
|
|
3915
3919
|
checkForUpdate(version);
|
|
3920
|
+
var DASHBOARD_URL = process.env.ADMIN_DASHBOARD_URL ?? "https://admin.stackablelabs.com";
|
|
3916
3921
|
var ensureToken = async () => {
|
|
3917
3922
|
try {
|
|
3918
3923
|
const token = await getToken();
|
|
@@ -3921,10 +3926,33 @@ var ensureToken = async () => {
|
|
|
3921
3926
|
} catch (err) {
|
|
3922
3927
|
const message = err instanceof Error ? err.message : String(err);
|
|
3923
3928
|
const isExpired = message.toLowerCase().includes("expired");
|
|
3924
|
-
|
|
3925
|
-
|
|
3929
|
+
let recoveredState = null;
|
|
3930
|
+
let flowError = null;
|
|
3931
|
+
const instance = render(
|
|
3932
|
+
/* @__PURE__ */ jsx(
|
|
3933
|
+
AuthLogin,
|
|
3934
|
+
{
|
|
3935
|
+
dashboardUrl: DASHBOARD_URL,
|
|
3936
|
+
adminApiBaseUrl: getAdminApiBaseUrl(),
|
|
3937
|
+
reason: isExpired ? "expired" : "not-logged-in",
|
|
3938
|
+
onSuccess: (authState) => {
|
|
3939
|
+
recoveredState = authState;
|
|
3940
|
+
},
|
|
3941
|
+
onError: (err2) => {
|
|
3942
|
+
flowError = err2;
|
|
3943
|
+
}
|
|
3944
|
+
}
|
|
3945
|
+
)
|
|
3926
3946
|
);
|
|
3927
|
-
|
|
3947
|
+
await instance.waitUntilExit();
|
|
3948
|
+
if (flowError || !recoveredState) {
|
|
3949
|
+
return null;
|
|
3950
|
+
}
|
|
3951
|
+
return {
|
|
3952
|
+
token: recoveredState.token,
|
|
3953
|
+
userId: recoveredState.userId,
|
|
3954
|
+
orgId: recoveredState.orgId
|
|
3955
|
+
};
|
|
3928
3956
|
}
|
|
3929
3957
|
};
|
|
3930
3958
|
program.name("stackable-app-extension").description("Stackable Labs - App Extension developer CLI").version(version);
|
|
@@ -4007,7 +4035,6 @@ program.command("dev" /* DEV */).description("Start dev servers with a public tu
|
|
|
4007
4035
|
{ exitOnCtrlC: false }
|
|
4008
4036
|
);
|
|
4009
4037
|
});
|
|
4010
|
-
var DASHBOARD_URL = process.env.ADMIN_DASHBOARD_URL ?? "https://admin.stackablelabs.com";
|
|
4011
4038
|
var auth = program.command("auth").description("Manage CLI authentication");
|
|
4012
4039
|
auth.command("login").description("Authenticate with Stackable via browser").action(async () => {
|
|
4013
4040
|
render(/* @__PURE__ */ jsx(AuthLogin, { dashboardUrl: DASHBOARD_URL, adminApiBaseUrl: getAdminApiBaseUrl() }));
|