@cyberxon/xon 0.3.0 → 0.3.1
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/cli.js +7 -2
- package/dist/org-store.js +10 -2
- package/dist/org.js +3 -2
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -10,7 +10,7 @@ import { cancelDeploy, COVERAGE_FORMATTERS, previewDeploy, quickDeploy, reportDe
|
|
|
10
10
|
import { previewRetrieve, resumeRetrieve, startRetrieve } from "./retrieve.js";
|
|
11
11
|
import { collectSourceFiles, writeSourceFiles } from "./source.js";
|
|
12
12
|
import { displayOrg, loginAccessToken, loginCredentials, loginJwt, loginSfdxUrl, loginWeb, logoutOrg, openInBrowser, openOrg } from "./org.js";
|
|
13
|
-
import { clearOrgs, listOrgs } from "./org-store.js";
|
|
13
|
+
import { clearOrgs, listOrgs, tryGetOrg } from "./org-store.js";
|
|
14
14
|
import { applyFlagsDir } from "./flags-dir.js";
|
|
15
15
|
const cliVersion = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8")).version;
|
|
16
16
|
const program = new Command();
|
|
@@ -30,7 +30,12 @@ async function apiClient(options) {
|
|
|
30
30
|
if (!baseUrl) {
|
|
31
31
|
throw new Error("An API base URL is required. Set XON_BASE_URL, pass --base-url, or run 'xon org login' inside a project to save one.");
|
|
32
32
|
}
|
|
33
|
-
|
|
33
|
+
let token = options.token ?? process.env.XON_TOKEN;
|
|
34
|
+
if (!token) {
|
|
35
|
+
const org = await tryGetOrg(options.targetOrg ?? project?.defaultOrg);
|
|
36
|
+
token = org?.token;
|
|
37
|
+
}
|
|
38
|
+
return new ApiClient({ baseUrl, token });
|
|
34
39
|
}
|
|
35
40
|
async function requireProjectRoot() {
|
|
36
41
|
try {
|
package/dist/org-store.js
CHANGED
|
@@ -13,8 +13,8 @@ async function readStore() {
|
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
async function writeStore(data) {
|
|
16
|
-
await mkdir(storeDir, { recursive: true });
|
|
17
|
-
await writeFile(storePath, `${JSON.stringify(data, null, 2)}\n
|
|
16
|
+
await mkdir(storeDir, { recursive: true, mode: 0o700 });
|
|
17
|
+
await writeFile(storePath, `${JSON.stringify(data, null, 2)}\n`, { mode: 0o600 });
|
|
18
18
|
}
|
|
19
19
|
export async function saveOrg(record, setDefault) {
|
|
20
20
|
const data = await readStore();
|
|
@@ -54,3 +54,11 @@ export async function listOrgs() {
|
|
|
54
54
|
const data = await readStore();
|
|
55
55
|
return { orgs: Object.values(data.orgs), defaultOrg: data.defaultOrg };
|
|
56
56
|
}
|
|
57
|
+
export async function tryGetOrg(alias) {
|
|
58
|
+
try {
|
|
59
|
+
return await getOrg(alias);
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
}
|
package/dist/org.js
CHANGED
|
@@ -9,13 +9,14 @@ export function openInBrowser(url) {
|
|
|
9
9
|
: `xdg-open "${url}"`;
|
|
10
10
|
exec(command);
|
|
11
11
|
}
|
|
12
|
-
async function finishLogin(response, alias, setDefault) {
|
|
12
|
+
async function finishLogin(response, alias, setDefault, tokenOverride) {
|
|
13
13
|
const record = {
|
|
14
14
|
alias: alias ?? response.username,
|
|
15
15
|
orgId: response.orgId,
|
|
16
16
|
username: response.username,
|
|
17
17
|
instanceUrl: response.instanceUrl,
|
|
18
18
|
connectedAt: new Date().toISOString(),
|
|
19
|
+
token: tokenOverride ?? response.token,
|
|
19
20
|
};
|
|
20
21
|
await saveOrg(record, setDefault);
|
|
21
22
|
return record;
|
|
@@ -56,7 +57,7 @@ export async function loginAccessToken(client, options) {
|
|
|
56
57
|
instanceUrl: options.instanceUrl,
|
|
57
58
|
accessToken: options.accessToken,
|
|
58
59
|
});
|
|
59
|
-
return finishLogin(response, options.alias, options.setDefault);
|
|
60
|
+
return finishLogin(response, options.alias, options.setDefault, options.accessToken);
|
|
60
61
|
}
|
|
61
62
|
export async function loginCredentials(client, options) {
|
|
62
63
|
const { token } = await client.post("/auth/login", {
|