@ecomweb/cli 0.6.1 → 0.8.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/README.md +235 -40
- package/dist/base-command.d.ts +8 -0
- package/dist/base-command.js +43 -4
- package/dist/base-command.js.map +1 -1
- package/dist/commands/auth/login.d.ts +6 -4
- package/dist/commands/auth/login.js +117 -89
- package/dist/commands/auth/login.js.map +1 -1
- package/dist/commands/auth/logout.js +28 -9
- package/dist/commands/auth/logout.js.map +1 -1
- package/dist/commands/auth/profiles/delete.js +11 -0
- package/dist/commands/auth/profiles/delete.js.map +1 -1
- package/dist/commands/auth/profiles/list.js +2 -2
- package/dist/commands/auth/profiles/list.js.map +1 -1
- package/dist/commands/auth/status.js +17 -9
- package/dist/commands/auth/status.js.map +1 -1
- package/dist/commands/deploy.js +16 -3
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/deployments/promote.js +1 -1
- package/dist/commands/deployments/promote.js.map +1 -1
- package/dist/commands/deployments/rollback.js +1 -1
- package/dist/commands/deployments/rollback.js.map +1 -1
- package/dist/commands/deployments/unpublish.js +1 -1
- package/dist/commands/deployments/unpublish.js.map +1 -1
- package/dist/commands/describe.d.ts +1 -1
- package/dist/commands/describe.js +4 -4
- package/dist/commands/describe.js.map +1 -1
- package/dist/commands/{init.d.ts → metafield-definitions/create.d.ts} +4 -6
- package/dist/commands/metafield-definitions/create.js +34 -0
- package/dist/commands/metafield-definitions/create.js.map +1 -0
- package/dist/commands/metafield-definitions/delete.d.ts +21 -0
- package/dist/commands/metafield-definitions/delete.js +32 -0
- package/dist/commands/metafield-definitions/delete.js.map +1 -0
- package/dist/commands/metafield-definitions/get.d.ts +21 -0
- package/dist/commands/metafield-definitions/get.js +30 -0
- package/dist/commands/metafield-definitions/get.js.map +1 -0
- package/dist/commands/metafield-definitions/list.d.ts +19 -0
- package/dist/commands/metafield-definitions/list.js +35 -0
- package/dist/commands/metafield-definitions/list.js.map +1 -0
- package/dist/commands/metafield-definitions/update.d.ts +23 -0
- package/dist/commands/metafield-definitions/update.js +39 -0
- package/dist/commands/metafield-definitions/update.js.map +1 -0
- package/dist/commands/{auth/verify.d.ts → metafields/get.d.ts} +2 -3
- package/dist/commands/metafields/get.js +32 -0
- package/dist/commands/metafields/get.js.map +1 -0
- package/dist/commands/metafields/set.d.ts +24 -0
- package/dist/commands/metafields/set.js +83 -0
- package/dist/commands/metafields/set.js.map +1 -0
- package/dist/commands/metaobject-definitions/create.d.ts +20 -0
- package/dist/commands/metaobject-definitions/create.js +33 -0
- package/dist/commands/metaobject-definitions/create.js.map +1 -0
- package/dist/commands/metaobject-definitions/delete.d.ts +21 -0
- package/dist/commands/metaobject-definitions/delete.js +32 -0
- package/dist/commands/metaobject-definitions/delete.js.map +1 -0
- package/dist/commands/metaobject-definitions/get.d.ts +21 -0
- package/dist/commands/metaobject-definitions/get.js +31 -0
- package/dist/commands/metaobject-definitions/get.js.map +1 -0
- package/dist/commands/metaobject-definitions/list.d.ts +20 -0
- package/dist/commands/metaobject-definitions/list.js +41 -0
- package/dist/commands/metaobject-definitions/list.js.map +1 -0
- package/dist/commands/metaobject-definitions/update.d.ts +23 -0
- package/dist/commands/metaobject-definitions/update.js +38 -0
- package/dist/commands/metaobject-definitions/update.js.map +1 -0
- package/dist/commands/metaobjects/create.d.ts +24 -0
- package/dist/commands/metaobjects/create.js +40 -0
- package/dist/commands/metaobjects/create.js.map +1 -0
- package/dist/commands/metaobjects/delete.d.ts +22 -0
- package/dist/commands/metaobjects/delete.js +34 -0
- package/dist/commands/metaobjects/delete.js.map +1 -0
- package/dist/commands/metaobjects/get.d.ts +22 -0
- package/dist/commands/metaobjects/get.js +32 -0
- package/dist/commands/metaobjects/get.js.map +1 -0
- package/dist/commands/metaobjects/list.d.ts +24 -0
- package/dist/commands/metaobjects/list.js +56 -0
- package/dist/commands/metaobjects/list.js.map +1 -0
- package/dist/commands/metaobjects/update.d.ts +27 -0
- package/dist/commands/metaobjects/update.js +45 -0
- package/dist/commands/metaobjects/update.js.map +1 -0
- package/dist/commands/storefront/init.d.ts +3 -1
- package/dist/commands/storefront/init.js +23 -2
- package/dist/commands/storefront/init.js.map +1 -1
- package/dist/commands/stores/create.d.ts +21 -0
- package/dist/commands/stores/create.js +68 -0
- package/dist/commands/stores/create.js.map +1 -0
- package/dist/commands/stores/current.js +1 -1
- package/dist/commands/stores/current.js.map +1 -1
- package/dist/commands/stores/list.js +3 -3
- package/dist/commands/stores/list.js.map +1 -1
- package/dist/commands/stores/switch.js +14 -6
- package/dist/commands/stores/switch.js.map +1 -1
- package/dist/commands/theme/create.d.ts +20 -0
- package/dist/commands/theme/create.js +40 -0
- package/dist/commands/theme/create.js.map +1 -0
- package/dist/commands/{auth/register.d.ts → theme/duplicate.d.ts} +4 -2
- package/dist/commands/theme/duplicate.js +34 -0
- package/dist/commands/theme/duplicate.js.map +1 -0
- package/dist/commands/theme/link.d.ts +24 -0
- package/dist/commands/theme/link.js +60 -0
- package/dist/commands/theme/link.js.map +1 -0
- package/dist/commands/{setup.d.ts → theme/list.d.ts} +2 -3
- package/dist/commands/theme/list.js +32 -0
- package/dist/commands/theme/list.js.map +1 -0
- package/dist/commands/theme/publish.d.ts +22 -0
- package/dist/commands/theme/publish.js +68 -0
- package/dist/commands/theme/publish.js.map +1 -0
- package/dist/commands/theme/schema/push.d.ts +20 -0
- package/dist/commands/theme/schema/push.js +61 -0
- package/dist/commands/theme/schema/push.js.map +1 -0
- package/dist/commands/theme/update.d.ts +23 -0
- package/dist/commands/theme/update.js +62 -0
- package/dist/commands/theme/update.js.map +1 -0
- package/dist/commands/theme/use.d.ts +23 -0
- package/dist/commands/theme/use.js +71 -0
- package/dist/commands/theme/use.js.map +1 -0
- package/dist/commands/theme/versions.d.ts +21 -0
- package/dist/commands/theme/versions.js +33 -0
- package/dist/commands/theme/versions.js.map +1 -0
- package/dist/lib/api-client.d.ts +5 -4
- package/dist/lib/api-client.js +32 -16
- package/dist/lib/api-client.js.map +1 -1
- package/dist/lib/codex-skill.d.ts +1 -1
- package/dist/lib/codex-skill.js +12 -8
- package/dist/lib/codex-skill.js.map +1 -1
- package/dist/lib/config.d.ts +6 -18
- package/dist/lib/config.js +35 -64
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/credential-store.d.ts +44 -0
- package/dist/lib/credential-store.js +137 -0
- package/dist/lib/credential-store.js.map +1 -0
- package/dist/lib/custom-data.d.ts +42 -0
- package/dist/lib/custom-data.js +167 -0
- package/dist/lib/custom-data.js.map +1 -0
- package/dist/lib/deployments.d.ts +8 -1
- package/dist/lib/deployments.js +58 -11
- package/dist/lib/deployments.js.map +1 -1
- package/dist/lib/describe-metafields.d.ts +9 -0
- package/dist/lib/describe-metafields.js +213 -0
- package/dist/lib/describe-metafields.js.map +1 -0
- package/dist/lib/device-login.d.ts +22 -0
- package/dist/lib/device-login.js +66 -0
- package/dist/lib/device-login.js.map +1 -0
- package/dist/lib/errors.d.ts +1 -0
- package/dist/lib/errors.js +6 -1
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/file-lock.d.ts +6 -0
- package/dist/lib/file-lock.js +66 -0
- package/dist/lib/file-lock.js.map +1 -0
- package/dist/lib/live-confirm.d.ts +11 -0
- package/dist/lib/live-confirm.js +34 -0
- package/dist/lib/live-confirm.js.map +1 -0
- package/dist/lib/open-browser.d.ts +13 -0
- package/dist/lib/open-browser.js +38 -0
- package/dist/lib/open-browser.js.map +1 -0
- package/dist/lib/pending-login.d.ts +5 -0
- package/dist/lib/pending-login.js +39 -0
- package/dist/lib/pending-login.js.map +1 -0
- package/dist/lib/project-setup.d.ts +1 -0
- package/dist/lib/project-setup.js +20 -0
- package/dist/lib/project-setup.js.map +1 -1
- package/dist/lib/secure-file.d.ts +1 -0
- package/dist/lib/secure-file.js +15 -0
- package/dist/lib/secure-file.js.map +1 -0
- package/dist/lib/session.d.ts +40 -0
- package/dist/lib/session.js +80 -0
- package/dist/lib/session.js.map +1 -0
- package/dist/lib/store-selection.d.ts +19 -0
- package/dist/lib/store-selection.js +23 -0
- package/dist/lib/store-selection.js.map +1 -0
- package/dist/lib/template-scaffold.d.ts +1 -0
- package/dist/lib/template-scaffold.js +5 -2
- package/dist/lib/template-scaffold.js.map +1 -1
- package/dist/lib/theme-schema-export.d.ts +1 -1
- package/dist/lib/theme-schema-export.js +4 -5
- package/dist/lib/theme-schema-export.js.map +1 -1
- package/dist/lib/themes.d.ts +143 -0
- package/dist/lib/themes.js +277 -0
- package/dist/lib/themes.js.map +1 -0
- package/dist/lib/validators.js +16 -0
- package/dist/lib/validators.js.map +1 -1
- package/oclif.manifest.json +8168 -5388
- package/package.json +2 -1
- package/dist/commands/auth/register.js +0 -35
- package/dist/commands/auth/register.js.map +0 -1
- package/dist/commands/auth/verify.js +0 -43
- package/dist/commands/auth/verify.js.map +0 -1
- package/dist/commands/init.js +0 -84
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/setup.js +0 -186
- package/dist/commands/setup.js.map +0 -1
- package/dist/lib/email-login.d.ts +0 -35
- package/dist/lib/email-login.js +0 -86
- package/dist/lib/email-login.js.map +0 -1
|
@@ -1,119 +1,147 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WAIT_LIMIT_MS = void 0;
|
|
3
4
|
const node_os_1 = require("node:os");
|
|
4
5
|
const core_1 = require("@oclif/core");
|
|
5
6
|
const prompts_1 = require("@inquirer/prompts");
|
|
6
7
|
const base_command_1 = require("../../base-command");
|
|
7
|
-
const
|
|
8
|
+
const config_1 = require("../../lib/config");
|
|
9
|
+
const errors_1 = require("../../lib/errors");
|
|
10
|
+
const file_lock_1 = require("../../lib/file-lock");
|
|
11
|
+
const device_login_1 = require("../../lib/device-login");
|
|
12
|
+
const open_browser_1 = require("../../lib/open-browser");
|
|
13
|
+
const pending_login_1 = require("../../lib/pending-login");
|
|
14
|
+
const session_1 = require("../../lib/session");
|
|
15
|
+
const store_selection_1 = require("../../lib/store-selection");
|
|
16
|
+
exports.WAIT_LIMIT_MS = 100_000;
|
|
17
|
+
const FINAL_CODES = new Set(["DEVICE_AUTH_DENIED", "DEVICE_AUTH_EXPIRED"]);
|
|
8
18
|
class AuthLogin extends base_command_1.BaseCommand {
|
|
9
19
|
async run() {
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
const profile = this.profileName;
|
|
21
|
+
const givenApiUrl = this.getFlag("api-url");
|
|
22
|
+
const apiUrl = this.apiUrl;
|
|
23
|
+
const api = this.apiClient.anonymous();
|
|
24
|
+
const interactive = this.isInteractive();
|
|
25
|
+
this.configManager.removeLegacyCredentials(profile);
|
|
26
|
+
const existing = (0, pending_login_1.readPending)(config_1.CREDENTIALS_DIR, profile, apiUrl, this.now());
|
|
27
|
+
let pending = existing ?? (await (0, device_login_1.requestDeviceCode)(api, (0, node_os_1.hostname)(), apiUrl, this.now()));
|
|
28
|
+
if (!existing) {
|
|
29
|
+
(0, pending_login_1.writePending)(config_1.CREDENTIALS_DIR, profile, pending);
|
|
30
|
+
if (this.getFlag("browser"))
|
|
31
|
+
(0, open_browser_1.openBrowser)(pending.verification_uri_complete);
|
|
32
|
+
}
|
|
33
|
+
if (!interactive && (!this.getFlag("wait") || !existing))
|
|
34
|
+
return this.outputPending(pending);
|
|
35
|
+
if (interactive) {
|
|
36
|
+
this.logToStderr(`Your code: ${pending.user_code}`);
|
|
37
|
+
this.logToStderr(`Approve this CLI at: ${pending.verification_uri_complete}`);
|
|
38
|
+
this.logToStderr("Waiting for approval...");
|
|
39
|
+
}
|
|
40
|
+
const deadline = interactive ? pending.expires_at : Math.min(pending.expires_at, this.now() + exports.WAIT_LIMIT_MS);
|
|
41
|
+
let tokens;
|
|
42
|
+
try {
|
|
43
|
+
tokens = await (0, device_login_1.pollUntil)(api, pending, {
|
|
44
|
+
deadline,
|
|
45
|
+
now: () => this.now(),
|
|
46
|
+
sleep: (ms) => this.sleep(ms),
|
|
47
|
+
onInterval: (interval) => {
|
|
48
|
+
pending = { ...pending, interval };
|
|
49
|
+
(0, pending_login_1.writePending)(config_1.CREDENTIALS_DIR, profile, pending);
|
|
21
50
|
},
|
|
22
51
|
});
|
|
23
|
-
this.exit(2);
|
|
24
|
-
return;
|
|
25
52
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
53
|
+
catch (error) {
|
|
54
|
+
if (error instanceof errors_1.CliError && FINAL_CODES.has(error.payload.code))
|
|
55
|
+
(0, pending_login_1.deletePending)(config_1.CREDENTIALS_DIR, profile);
|
|
56
|
+
throw error;
|
|
30
57
|
}
|
|
58
|
+
if (!tokens) {
|
|
59
|
+
if (!interactive)
|
|
60
|
+
return this.outputPending(pending);
|
|
61
|
+
(0, pending_login_1.deletePending)(config_1.CREDENTIALS_DIR, profile);
|
|
62
|
+
throw (0, device_login_1.deviceAuthExpired)();
|
|
63
|
+
}
|
|
64
|
+
(0, pending_login_1.deletePending)(config_1.CREDENTIALS_DIR, profile);
|
|
65
|
+
const session = (0, session_1.sessionFromTokens)(tokens, apiUrl);
|
|
66
|
+
const previous = await (0, file_lock_1.withFileLock)(this.lockPathFor(profile), async () => {
|
|
67
|
+
const previous = this.credentials.get(profile);
|
|
68
|
+
this.credentials.set(profile, session);
|
|
69
|
+
this.configManager.setProfile(profile, givenApiUrl ? { api_url: givenApiUrl } : {});
|
|
70
|
+
return previous;
|
|
71
|
+
});
|
|
72
|
+
if (previous && previous.refresh_token !== session.refresh_token)
|
|
73
|
+
await this.revokeSession(previous);
|
|
31
74
|
try {
|
|
32
|
-
await this.
|
|
33
|
-
this.outputJson({
|
|
34
|
-
message: "Login successful.",
|
|
35
|
-
profile: profileName,
|
|
36
|
-
api_url: this.configManager.getProfile(profileName).api_url,
|
|
37
|
-
hint: "Run: ecomweb stores list to see available stores",
|
|
38
|
-
});
|
|
75
|
+
await this.selectStore(profile, session.email, interactive);
|
|
39
76
|
}
|
|
40
|
-
catch {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
hint: "Run: ecomweb health check to verify connectivity",
|
|
77
|
+
catch (error) {
|
|
78
|
+
const { json, exitCode } = (0, errors_1.formatError)(error);
|
|
79
|
+
throw new errors_1.CliError(json.error.code, `Signed in, but choosing a store failed: ${json.error.message}`, exitCode, {
|
|
80
|
+
hint: json.error.hint,
|
|
81
|
+
details: { ...json.error.details, logged_in: true, profile },
|
|
46
82
|
});
|
|
47
83
|
}
|
|
48
84
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const
|
|
54
|
-
const
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
85
|
+
isInteractive() {
|
|
86
|
+
return Boolean(process.stdin.isTTY && process.stderr.isTTY && !process.env.CI);
|
|
87
|
+
}
|
|
88
|
+
outputPending(pending) {
|
|
89
|
+
const flag = this.getFlag("profile");
|
|
90
|
+
const apiUrlFlag = this.getFlag("api-url");
|
|
91
|
+
const again = `${flag ? ` --profile ${flag}` : ""}${apiUrlFlag ? ` --api-url ${apiUrlFlag}` : ""}`;
|
|
92
|
+
this.outputJson({
|
|
93
|
+
status: "authorization_pending",
|
|
94
|
+
verification_uri_complete: pending.verification_uri_complete,
|
|
95
|
+
user_code: pending.user_code,
|
|
96
|
+
expires_in: Math.max(0, Math.round((pending.expires_at - this.now()) / 1000)),
|
|
97
|
+
hint: `Open the link and approve, then run: ecomweb auth login --wait${again}`,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
async selectStore(profile, email, interactive) {
|
|
101
|
+
const stores = (await this.apiClient.listStores({ limit: 100 })).map((s) => ({ ref: s.ref, name: s.name }));
|
|
102
|
+
const choice = await (0, store_selection_1.chooseStore)({
|
|
103
|
+
stores,
|
|
63
104
|
storeRef: this.getFlag("store-ref"),
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
71
|
-
: undefined,
|
|
72
|
-
askCode: interactive
|
|
73
|
-
? () => {
|
|
74
|
-
this.logToStderr(`We emailed a 6-digit code to ${email}.`);
|
|
75
|
-
return (0, prompts_1.input)({ message: "Code:" }, prompt);
|
|
76
|
-
}
|
|
77
|
-
: undefined,
|
|
78
|
-
chooseStore: interactive
|
|
79
|
-
? (stores) => (0, prompts_1.select)({ message: "Which store?", choices: stores.map((s) => ({ name: `${s.name} (${s.ref})`, value: s })) }, prompt)
|
|
105
|
+
currentRef: this.configManager.getProfile(profile).store_ref,
|
|
106
|
+
prompt: interactive
|
|
107
|
+
? (list, currentRef) => (0, prompts_1.select)({
|
|
108
|
+
message: "Which store?",
|
|
109
|
+
choices: list.map((s) => ({ name: `${s.name} (${s.ref})`, value: s })),
|
|
110
|
+
default: list.find((s) => s.ref === currentRef),
|
|
111
|
+
}, { output: process.stderr })
|
|
80
112
|
: undefined,
|
|
81
113
|
});
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
this.outputJson({
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
114
|
+
const done = { status: "logged_in", email, profile };
|
|
115
|
+
if (choice.kind === "selected") {
|
|
116
|
+
this.configManager.setStoreRef(choice.store.ref, choice.store.name, profile);
|
|
117
|
+
this.outputJson({ ...done, store: choice.store });
|
|
118
|
+
}
|
|
119
|
+
else if (choice.kind === "choose") {
|
|
120
|
+
this.outputJson({ ...done, store: null, stores: choice.stores, hint: "Run: ecomweb stores switch <ref>" });
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
this.outputJson({ ...done, store: null, hint: 'Run: ecomweb stores create --name "My Store"' });
|
|
91
124
|
}
|
|
92
|
-
this.configManager.setApiKey(result.apiKey, profileName);
|
|
93
|
-
this.configManager.setStoreRef(result.store.ref, result.store.name, profileName);
|
|
94
|
-
if (sameEmail(this.configManager.getJwtTokens(profileName)?.email))
|
|
95
|
-
this.configManager.removeJwtTokens(profileName);
|
|
96
|
-
this.outputJson({
|
|
97
|
-
status: "logged_in",
|
|
98
|
-
email,
|
|
99
|
-
profile: profileName,
|
|
100
|
-
store: { ref: result.store.ref, name: result.store.name },
|
|
101
|
-
...(result.created && { created: true }),
|
|
102
|
-
});
|
|
103
125
|
}
|
|
104
126
|
}
|
|
105
|
-
AuthLogin.description = "Log in
|
|
127
|
+
AuthLogin.description = "Log in by approving this CLI in your browser";
|
|
106
128
|
AuthLogin.examples = [
|
|
107
|
-
"ecomweb auth login
|
|
108
|
-
"ecomweb auth login --
|
|
109
|
-
"ecomweb auth login --
|
|
110
|
-
"
|
|
129
|
+
"ecomweb auth login",
|
|
130
|
+
"ecomweb auth login --wait",
|
|
131
|
+
"ecomweb auth login --no-browser",
|
|
132
|
+
"ecomweb auth login --store-ref abc123",
|
|
111
133
|
];
|
|
112
134
|
AuthLogin.flags = {
|
|
113
135
|
...base_command_1.BaseCommand.baseFlags,
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
136
|
+
wait: core_1.Flags.boolean({
|
|
137
|
+
description: "Wait (up to 100 seconds) for the approval of the code an earlier run printed",
|
|
138
|
+
default: false,
|
|
139
|
+
}),
|
|
140
|
+
browser: core_1.Flags.boolean({
|
|
141
|
+
description: "Open the approval link in the browser (--no-browser only prints it)",
|
|
142
|
+
default: true,
|
|
143
|
+
allowNo: true,
|
|
144
|
+
}),
|
|
117
145
|
};
|
|
118
146
|
exports.default = AuthLogin;
|
|
119
147
|
//# sourceMappingURL=login.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const base_command_1 = require("../../base-command");
|
|
4
|
+
const config_1 = require("../../lib/config");
|
|
5
|
+
const file_lock_1 = require("../../lib/file-lock");
|
|
6
|
+
const pending_login_1 = require("../../lib/pending-login");
|
|
4
7
|
class AuthLogout extends base_command_1.BaseCommand {
|
|
5
8
|
async run() {
|
|
6
|
-
const
|
|
7
|
-
this.
|
|
9
|
+
const profile = this.profileName;
|
|
10
|
+
const { session, failure } = await (0, file_lock_1.withFileLock)(this.lockPathFor(profile), async () => {
|
|
11
|
+
const session = this.credentials.get(profile);
|
|
12
|
+
const failure = session ? await this.revokeSession(session) : undefined;
|
|
13
|
+
this.credentials.delete(profile);
|
|
14
|
+
return { session, failure };
|
|
15
|
+
});
|
|
16
|
+
const revoked = Boolean(session) && !failure;
|
|
17
|
+
const warning = failure
|
|
18
|
+
? `Could not revoke the session on the server (${failure instanceof Error ? failure.message : String(failure)}). ` +
|
|
19
|
+
"It was forgotten here; it ends by itself after 30 days unused, or revoke it now on your profile page in the dashboard."
|
|
20
|
+
: undefined;
|
|
21
|
+
(0, pending_login_1.deletePending)(config_1.CREDENTIALS_DIR, profile);
|
|
22
|
+
this.configManager.removeLegacyCredentials(profile);
|
|
23
|
+
const usingApiKey = !session && this.configManager.resolveApiKey(this.getFlag("api-key")) !== undefined;
|
|
8
24
|
this.outputJson({
|
|
9
|
-
message:
|
|
10
|
-
|
|
25
|
+
message: session
|
|
26
|
+
? "Logged out."
|
|
27
|
+
: usingApiKey
|
|
28
|
+
? "No session to log out of: this command is using an API key from --api-key or ECOMWEB_API_KEY."
|
|
29
|
+
: "Not logged in.",
|
|
30
|
+
profile,
|
|
31
|
+
server_session_revoked: revoked,
|
|
32
|
+
...(warning && { warning }),
|
|
11
33
|
});
|
|
12
34
|
}
|
|
13
35
|
}
|
|
14
|
-
AuthLogout.description = "
|
|
15
|
-
AuthLogout.examples = [
|
|
16
|
-
"ecomweb auth logout",
|
|
17
|
-
"ecomweb auth logout --profile production",
|
|
18
|
-
];
|
|
36
|
+
AuthLogout.description = "Log out: revoke this CLI's session and forget it";
|
|
37
|
+
AuthLogout.examples = ["ecomweb auth logout", "ecomweb auth logout --profile staging"];
|
|
19
38
|
AuthLogout.flags = {
|
|
20
39
|
...base_command_1.BaseCommand.baseFlags,
|
|
21
40
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../src/commands/auth/logout.ts"],"names":[],"mappings":";;AAAA,qDAAiD;
|
|
1
|
+
{"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../src/commands/auth/logout.ts"],"names":[],"mappings":";;AAAA,qDAAiD;AACjD,6CAAmD;AACnD,mDAAmD;AACnD,2DAAwD;AAExD,MAAqB,UAAW,SAAQ,0BAAW;IASjD,KAAK,CAAC,GAAG;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;QAGjC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,wBAAY,EAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,EAAE;YACpF,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACjC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7C,MAAM,OAAO,GAAG,OAAO;YACrB,CAAC,CAAC,+CAA+C,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK;gBAChH,wHAAwH;YAC1H,CAAC,CAAC,SAAS,CAAC;QACd,IAAA,6BAAa,EAAC,wBAAe,EAAE,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAEpD,MAAM,WAAW,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,SAAS,CAAC;QACxG,IAAI,CAAC,UAAU,CAAC;YACd,OAAO,EAAE,OAAO;gBACd,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,WAAW;oBACX,CAAC,CAAC,+FAA+F;oBACjG,CAAC,CAAC,gBAAgB;YACtB,OAAO;YACP,sBAAsB,EAAE,OAAO;YAC/B,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC;SAC5B,CAAC,CAAC;IACL,CAAC;;AArCM,sBAAW,GAAG,kDAAkD,CAAC;AAEjE,mBAAQ,GAAG,CAAC,qBAAqB,EAAE,uCAAuC,CAAC,CAAC;AAE5E,gBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;CACzB,CAAC;kBAPiB,UAAU"}
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const core_1 = require("@oclif/core");
|
|
4
4
|
const base_command_1 = require("../../../base-command");
|
|
5
|
+
const config_1 = require("../../../lib/config");
|
|
6
|
+
const file_lock_1 = require("../../../lib/file-lock");
|
|
7
|
+
const pending_login_1 = require("../../../lib/pending-login");
|
|
5
8
|
const errors_1 = require("../../../lib/errors");
|
|
6
9
|
class AuthProfilesDelete extends base_command_1.BaseCommand {
|
|
7
10
|
async run() {
|
|
@@ -15,9 +18,17 @@ class AuthProfilesDelete extends base_command_1.BaseCommand {
|
|
|
15
18
|
throw new errors_1.CliError("PROFILE_NOT_FOUND", `Profile "${name}" does not exist.`, errors_1.ExitCode.NOT_FOUND, { hint: `Available profiles: ${profileNames.join(", ")}` });
|
|
16
19
|
}
|
|
17
20
|
const wasActive = this.configManager.getActiveProfileName() === name;
|
|
21
|
+
const revoked = await (0, file_lock_1.withFileLock)(this.lockPathFor(name), async () => {
|
|
22
|
+
const session = this.credentials.get(name);
|
|
23
|
+
const failure = session ? await this.revokeSession(session, name) : undefined;
|
|
24
|
+
this.credentials.delete(name);
|
|
25
|
+
return Boolean(session) && !failure;
|
|
26
|
+
});
|
|
18
27
|
this.configManager.deleteProfile(name);
|
|
28
|
+
(0, pending_login_1.deletePending)(config_1.CREDENTIALS_DIR, name);
|
|
19
29
|
this.outputJson({
|
|
20
30
|
message: `Profile "${name}" deleted.`,
|
|
31
|
+
server_session_revoked: revoked,
|
|
21
32
|
...(wasActive && { note: 'Active profile reset to "default".' }),
|
|
22
33
|
});
|
|
23
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/commands/auth/profiles/delete.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,wDAAoD;AACpD,gDAAyD;AAEzD,MAAqB,kBAAmB,SAAQ,0BAAW;IAkBzD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAEtB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,iBAAQ,CAChB,uBAAuB,EACvB,oCAAoC,EACpC,iBAAQ,CAAC,UAAU,CACpB,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;QAC1D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,iBAAQ,CAChB,mBAAmB,EACnB,YAAY,IAAI,mBAAmB,EACnC,iBAAQ,CAAC,SAAS,EAClB,EAAE,IAAI,EAAE,uBAAuB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAC3D,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/commands/auth/profiles/delete.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,wDAAoD;AACpD,gDAAsD;AACtD,sDAAsD;AACtD,8DAA2D;AAC3D,gDAAyD;AAEzD,MAAqB,kBAAmB,SAAQ,0BAAW;IAkBzD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAEtB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,iBAAQ,CAChB,uBAAuB,EACvB,oCAAoC,EACpC,iBAAQ,CAAC,UAAU,CACpB,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;QAC1D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,iBAAQ,CAChB,mBAAmB,EACnB,YAAY,IAAI,mBAAmB,EACnC,iBAAQ,CAAC,SAAS,EAClB,EAAE,IAAI,EAAE,uBAAuB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAC3D,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,KAAK,IAAI,CAAC;QAErE,MAAM,OAAO,GAAG,MAAM,IAAA,wBAAY,EAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9E,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9B,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACvC,IAAA,6BAAa,EAAC,wBAAe,EAAE,IAAI,CAAC,CAAC;QAErC,IAAI,CAAC,UAAU,CAAC;YACd,OAAO,EAAE,YAAY,IAAI,YAAY;YACrC,sBAAsB,EAAE,OAAO;YAC/B,GAAG,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,oCAAoC,EAAE,CAAC;SACjE,CAAC,CAAC;IACL,CAAC;;AAvDM,8BAAW,GAAG,sCAAsC,CAAC;AAErD,2BAAQ,GAAG;IAChB,sCAAsC;CACvC,CAAC;AAEK,uBAAI,GAAG;IACZ,IAAI,EAAE,WAAI,CAAC,MAAM,CAAC;QAChB,WAAW,EAAE,wBAAwB;QACrC,QAAQ,EAAE,IAAI;KACf,CAAC;CACH,CAAC;AAEK,wBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;CACzB,CAAC;kBAhBiB,kBAAkB"}
|
|
@@ -7,12 +7,12 @@ class AuthProfilesList extends base_command_1.BaseCommand {
|
|
|
7
7
|
const profileNames = this.configManager.getProfileNames();
|
|
8
8
|
const profiles = profileNames.map((name) => {
|
|
9
9
|
const profile = this.configManager.getProfile(name);
|
|
10
|
-
const
|
|
10
|
+
const loggedIn = this.credentials.get(name) !== undefined;
|
|
11
11
|
return {
|
|
12
12
|
name,
|
|
13
13
|
active: name === activeProfile,
|
|
14
14
|
api_url: profile.api_url,
|
|
15
|
-
|
|
15
|
+
logged_in: loggedIn,
|
|
16
16
|
store_ref: profile.store_ref || null,
|
|
17
17
|
store_name: profile.store_name || null,
|
|
18
18
|
default_output: profile.default_output,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/auth/profiles/list.ts"],"names":[],"mappings":";;AAAA,wDAAoD;AAEpD,MAAqB,gBAAiB,SAAQ,0BAAW;IASvD,KAAK,CAAC,GAAG;QACP,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC;QAChE,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;QAE1D,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/auth/profiles/list.ts"],"names":[],"mappings":";;AAAA,wDAAoD;AAEpD,MAAqB,gBAAiB,SAAQ,0BAAW;IASvD,KAAK,CAAC,GAAG;QACP,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC;QAChE,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;QAE1D,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;YAE1D,OAAO;gBACL,IAAI;gBACJ,MAAM,EAAE,IAAI,KAAK,aAAa;gBAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,SAAS,EAAE,QAAQ;gBACnB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;gBACpC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;gBACtC,cAAc,EAAE,OAAO,CAAC,cAAc;aACvC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChC,CAAC;;AA5BM,4BAAW,GAAG,8BAA8B,CAAC;AAE7C,yBAAQ,GAAG,CAAC,4BAA4B,CAAC,CAAC;AAE1C,sBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;CACzB,CAAC;kBAPiB,gBAAgB"}
|
|
@@ -3,30 +3,38 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const base_command_1 = require("../../base-command");
|
|
4
4
|
class AuthStatus extends base_command_1.BaseCommand {
|
|
5
5
|
async run() {
|
|
6
|
-
const profileName = this.
|
|
6
|
+
const profileName = this.profileName;
|
|
7
7
|
const profile = this.configManager.getProfile();
|
|
8
|
+
const fromArgv = (flag) => this.argv.some((arg) => arg === flag || arg.startsWith(`${flag}=`));
|
|
8
9
|
const apiKey = this.configManager.resolveApiKey(this.getFlag("api-key"));
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
|
|
10
|
+
const session = apiKey ? undefined : this.credentials.get(profileName);
|
|
11
|
+
const credential = apiKey
|
|
12
|
+
? fromArgv("--api-key")
|
|
13
|
+
? "flag-api-key"
|
|
14
|
+
: "env-api-key"
|
|
15
|
+
: session
|
|
16
|
+
? this.credentials.kind
|
|
17
|
+
: null;
|
|
18
|
+
const apiUrlSource = fromArgv("--api-url")
|
|
12
19
|
? "flag --api-url"
|
|
13
20
|
: process.env.ECOMWEB_API_URL !== undefined
|
|
14
21
|
? "env ECOMWEB_API_URL"
|
|
15
22
|
: `profile ${profileName}`;
|
|
16
23
|
this.outputJson({
|
|
17
24
|
profile: profileName,
|
|
25
|
+
logged_in: credential !== null,
|
|
26
|
+
email: session?.email ?? null,
|
|
27
|
+
credential,
|
|
18
28
|
api_url: this.configManager.resolveApiUrl(this.getFlag("api-url")),
|
|
19
29
|
api_url_source: apiUrlSource,
|
|
20
|
-
|
|
21
|
-
api_key_preview: apiKey ? `${apiKey.substring(0, 8)}...${apiKey.substring(apiKey.length - 4)}` : null,
|
|
22
|
-
store_ref: storeRef || null,
|
|
30
|
+
store_ref: this.configManager.resolveStoreRef(this.getFlag("store-ref")) || null,
|
|
23
31
|
store_name: profile.store_name || null,
|
|
24
32
|
default_output: profile.default_output,
|
|
25
33
|
});
|
|
26
34
|
}
|
|
27
35
|
}
|
|
28
|
-
AuthStatus.description = "Show
|
|
29
|
-
AuthStatus.examples = ["ecomweb auth status"];
|
|
36
|
+
AuthStatus.description = "Show who you are logged in as, and with what";
|
|
37
|
+
AuthStatus.examples = ["ecomweb auth status", "ecomweb auth status --profile staging"];
|
|
30
38
|
AuthStatus.flags = {
|
|
31
39
|
...base_command_1.BaseCommand.baseFlags,
|
|
32
40
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/auth/status.ts"],"names":[],"mappings":";;AAAA,qDAAiD;AAEjD,MAAqB,UAAW,SAAQ,0BAAW;IASjD,KAAK,CAAC,GAAG;QACP,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/auth/status.ts"],"names":[],"mappings":";;AAAA,qDAAiD;AAEjD,MAAqB,UAAW,SAAQ,0BAAW;IASjD,KAAK,CAAC,GAAG;QACP,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;QAEhD,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;QACvG,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACvE,MAAM,UAAU,GAAG,MAAM;YACvB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;gBACrB,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAC,aAAa;YACjB,CAAC,CAAC,OAAO;gBACP,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI;gBACvB,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC;YACxC,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,SAAS;gBACzC,CAAC,CAAC,qBAAqB;gBACvB,CAAC,CAAC,WAAW,WAAW,EAAE,CAAC;QAE/B,IAAI,CAAC,UAAU,CAAC;YACd,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,UAAU,KAAK,IAAI;YAC9B,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI;YAC7B,UAAU;YACV,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAClE,cAAc,EAAE,YAAY;YAC5B,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,IAAI;YAChF,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;YACtC,cAAc,EAAE,OAAO,CAAC,cAAc;SACvC,CAAC,CAAC;IACL,CAAC;;AAvCM,sBAAW,GAAG,8CAA8C,CAAC;AAE7D,mBAAQ,GAAG,CAAC,qBAAqB,EAAE,uCAAuC,CAAC,CAAC;AAE5E,gBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;CACzB,CAAC;kBAPiB,UAAU"}
|
package/dist/commands/deploy.js
CHANGED
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const node_path_1 = __importDefault(require("node:path"));
|
|
7
7
|
const core_1 = require("@oclif/core");
|
|
8
|
+
const prompts_1 = require("@inquirer/prompts");
|
|
8
9
|
const base_command_1 = require("../base-command");
|
|
9
10
|
const deployments_1 = require("../lib/deployments");
|
|
10
11
|
const errors_1 = require("../lib/errors");
|
|
@@ -14,10 +15,11 @@ const pack_prebuilt_1 = require("../lib/pack-prebuilt");
|
|
|
14
15
|
const project_setup_1 = require("../lib/project-setup");
|
|
15
16
|
const deploy_flags_1 = require("../lib/deploy-flags");
|
|
16
17
|
const theme_schema_export_1 = require("../lib/theme-schema-export");
|
|
18
|
+
const themes_1 = require("../lib/themes");
|
|
17
19
|
class Deploy extends base_command_1.BaseCommand {
|
|
18
20
|
async run() {
|
|
19
21
|
const dir = node_path_1.default.resolve(this.getFlag("dir"));
|
|
20
|
-
this.requireStore(dir);
|
|
22
|
+
const storeRef = this.requireStore(dir);
|
|
21
23
|
const draft = this.getFlag("draft") ?? false;
|
|
22
24
|
const allowLive = this.getFlag("allow-live") ?? false;
|
|
23
25
|
const prod = this.getFlag("prod") ?? false;
|
|
@@ -40,9 +42,20 @@ class Deploy extends base_command_1.BaseCommand {
|
|
|
40
42
|
const quiet = this.getFlag("quiet") ?? false;
|
|
41
43
|
const storeThemeId = draft ? undefined : (this.getFlag("theme") ?? (0, project_setup_1.projectStoreThemeId)(dir));
|
|
42
44
|
const settingsSchema = await (0, theme_schema_export_1.exportThemeSchema)(dir);
|
|
45
|
+
const interactive = Boolean(process.stdin.isTTY && process.stderr.isTTY) && !process.env.CI;
|
|
46
|
+
const projectRef = (0, project_setup_1.projectStoreRef)(dir);
|
|
47
|
+
const canSave = projectRef === undefined || projectRef === storeRef;
|
|
43
48
|
const result = await (0, exit_guard_1.untilSettled)((0, deployments_1.deploy)(dir, {
|
|
44
49
|
storeThemeId,
|
|
45
50
|
settingsSchema,
|
|
51
|
+
...(interactive && {
|
|
52
|
+
chooseTheme: (options) => (0, themes_1.promptForTheme)(options, {
|
|
53
|
+
select: (config) => (0, prompts_1.select)(config, { output: process.stderr }),
|
|
54
|
+
confirm: (config) => (0, prompts_1.confirm)(config, { output: process.stderr }),
|
|
55
|
+
...(canSave && { save: (id) => (0, project_setup_1.writeProjectStoreThemeId)(dir, id, storeRef) }),
|
|
56
|
+
stderr: (text) => process.stderr.write(text),
|
|
57
|
+
}, { allowLive: allowLive || prod }),
|
|
58
|
+
}),
|
|
46
59
|
client: this.apiClient,
|
|
47
60
|
pack,
|
|
48
61
|
artifact: prebuilt ? "prebuilt" : "source",
|
|
@@ -66,7 +79,7 @@ class Deploy extends base_command_1.BaseCommand {
|
|
|
66
79
|
this.outputJson(result);
|
|
67
80
|
}
|
|
68
81
|
}
|
|
69
|
-
Deploy.description = "Build
|
|
82
|
+
Deploy.description = "Build your code on ecomweb as a new version of a theme (any theme; storefront hosting). A theme that isn't live gets a 24-hour preview; the live theme needs --allow-live, and goes live once built. A theme that uses a link keeps the build in its versions, unused";
|
|
70
83
|
Deploy.examples = [
|
|
71
84
|
"ecomweb deploy",
|
|
72
85
|
"ecomweb deploy --draft",
|
|
@@ -95,7 +108,7 @@ Deploy.flags = {
|
|
|
95
108
|
default: false,
|
|
96
109
|
}),
|
|
97
110
|
theme: core_1.Flags.string({
|
|
98
|
-
description: "The
|
|
111
|
+
description: "The theme to deploy to (see ecomweb theme list); asked on a terminal when none is named, required in CI. Also ECOMWEB_STORE_THEME_ID or storeThemeId in .ecomweb.json",
|
|
99
112
|
env: "ECOMWEB_STORE_THEME_ID",
|
|
100
113
|
}),
|
|
101
114
|
"allow-live": core_1.Flags.boolean({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":";;;;;AAAA,0DAA6B;AAC7B,sCAAoC;AACpC,kDAA8C;AAC9C,oDAA0D;AAC1D,0CAAyC;AACzC,kDAAiD;AACjD,oDAAgD;AAChD,wDAAqE;AACrE,
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ class DeploymentsPromote extends base_command_1.BaseCommand {
|
|
|
22
22
|
this.outputJson(view);
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
DeploymentsPromote.description = "
|
|
25
|
+
DeploymentsPromote.description = "Use a build as its theme's version and serve it as the store's storefront (the same as ecomweb theme use with the build's version, on the live theme). The current version serves until the new one is ready; if it never is, the store keeps its current version (exit 6)";
|
|
26
26
|
DeploymentsPromote.examples = ["ecomweb deployments promote d_7f3k2abc", "ecomweb deployments promote d_7f3k2abc --no-wait"];
|
|
27
27
|
DeploymentsPromote.args = {
|
|
28
28
|
id: core_1.Args.string({ description: "Deployment id", required: true }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promote.js","sourceRoot":"","sources":["../../../src/commands/deployments/promote.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAC1C,qDAAiD;AACjD,uDAAgD;AAEhD,MAAqB,kBAAmB,SAAQ,0BAAW;IAmBzD,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAwC,CAAC,CAAC;QACjF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAU,OAAO,CAAC,IAAI,KAAK,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,IAAA,qBAAO,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE;YAClD,IAAI,EAAE,IAAI,CAAC,OAAO,CAAU,MAAM,CAAC,IAAI,IAAI;YAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACf,IAAI,CAAC,KAAK;oBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzC,CAAC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;;AAjCM,8BAAW,GAChB,
|
|
1
|
+
{"version":3,"file":"promote.js","sourceRoot":"","sources":["../../../src/commands/deployments/promote.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAC1C,qDAAiD;AACjD,uDAAgD;AAEhD,MAAqB,kBAAmB,SAAQ,0BAAW;IAmBzD,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAwC,CAAC,CAAC;QACjF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAU,OAAO,CAAC,IAAI,KAAK,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,IAAA,qBAAO,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE;YAClD,IAAI,EAAE,IAAI,CAAC,OAAO,CAAU,MAAM,CAAC,IAAI,IAAI;YAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACf,IAAI,CAAC,KAAK;oBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzC,CAAC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;;AAjCM,8BAAW,GAChB,4QAA4Q,CAAC;AAExQ,2BAAQ,GAAG,CAAC,wCAAwC,EAAE,kDAAkD,CAAC,CAAC;AAE1G,uBAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CAClE,CAAC;AAEK,wBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,IAAI,EAAE,YAAK,CAAC,OAAO,CAAC;QAClB,WAAW,EAAE,gCAAgC;QAC7C,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;KACd,CAAC;CACH,CAAC;kBAjBiB,kBAAkB"}
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const promote_1 = __importDefault(require("./promote"));
|
|
7
7
|
class DeploymentsRollback extends promote_1.default {
|
|
8
8
|
}
|
|
9
|
-
DeploymentsRollback.description = "Go back to an earlier
|
|
9
|
+
DeploymentsRollback.description = "Go back to an earlier build (the same as promoting it; ecomweb theme use goes back to any version). The store keeps serving until it is ready";
|
|
10
10
|
DeploymentsRollback.examples = ["ecomweb deployments rollback d_5h2m9xyz"];
|
|
11
11
|
exports.default = DeploymentsRollback;
|
|
12
12
|
//# sourceMappingURL=rollback.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollback.js","sourceRoot":"","sources":["../../../src/commands/deployments/rollback.ts"],"names":[],"mappings":";;;;;AAAA,wDAA2C;AAE3C,MAAqB,mBAAoB,SAAQ,iBAAkB;;AAC1D,+BAAW,GAChB,
|
|
1
|
+
{"version":3,"file":"rollback.js","sourceRoot":"","sources":["../../../src/commands/deployments/rollback.ts"],"names":[],"mappings":";;;;;AAAA,wDAA2C;AAE3C,MAAqB,mBAAoB,SAAQ,iBAAkB;;AAC1D,+BAAW,GAChB,+IAA+I,CAAC;AAE3I,4BAAQ,GAAG,CAAC,yCAAyC,CAAC,CAAC;kBAJ3C,mBAAmB"}
|
|
@@ -12,7 +12,7 @@ class DeploymentsUnpublish extends base_command_1.BaseCommand {
|
|
|
12
12
|
this.outputJson(await (0, deployments_1.unpublish)(this.apiClient));
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
DeploymentsUnpublish.description = "Stop serving
|
|
15
|
+
DeploymentsUnpublish.description = "Stop serving your build: the live theme, if it uses a build, switches to its newest release version";
|
|
16
16
|
DeploymentsUnpublish.examples = ["ecomweb deployments unpublish"];
|
|
17
17
|
DeploymentsUnpublish.flags = {
|
|
18
18
|
...base_command_1.BaseCommand.baseFlags,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unpublish.js","sourceRoot":"","sources":["../../../src/commands/deployments/unpublish.ts"],"names":[],"mappings":";;AAAA,qDAAiD;AACjD,uDAAkD;AAElD,MAAqB,oBAAqB,SAAQ,0BAAW;IAS3D,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,IAAA,uBAAS,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACnD,CAAC;;AAfM,gCAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"unpublish.js","sourceRoot":"","sources":["../../../src/commands/deployments/unpublish.ts"],"names":[],"mappings":";;AAAA,qDAAiD;AACjD,uDAAkD;AAElD,MAAqB,oBAAqB,SAAQ,0BAAW;IAS3D,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,IAAA,uBAAS,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACnD,CAAC;;AAfM,gCAAW,GAAG,qGAAqG,CAAC;AAEpH,6BAAQ,GAAG,CAAC,+BAA+B,CAAC,CAAC;AAE7C,0BAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;CACzB,CAAC;kBAPiB,oBAAoB"}
|