@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.
Files changed (191) hide show
  1. package/README.md +235 -40
  2. package/dist/base-command.d.ts +8 -0
  3. package/dist/base-command.js +43 -4
  4. package/dist/base-command.js.map +1 -1
  5. package/dist/commands/auth/login.d.ts +6 -4
  6. package/dist/commands/auth/login.js +117 -89
  7. package/dist/commands/auth/login.js.map +1 -1
  8. package/dist/commands/auth/logout.js +28 -9
  9. package/dist/commands/auth/logout.js.map +1 -1
  10. package/dist/commands/auth/profiles/delete.js +11 -0
  11. package/dist/commands/auth/profiles/delete.js.map +1 -1
  12. package/dist/commands/auth/profiles/list.js +2 -2
  13. package/dist/commands/auth/profiles/list.js.map +1 -1
  14. package/dist/commands/auth/status.js +17 -9
  15. package/dist/commands/auth/status.js.map +1 -1
  16. package/dist/commands/deploy.js +16 -3
  17. package/dist/commands/deploy.js.map +1 -1
  18. package/dist/commands/deployments/promote.js +1 -1
  19. package/dist/commands/deployments/promote.js.map +1 -1
  20. package/dist/commands/deployments/rollback.js +1 -1
  21. package/dist/commands/deployments/rollback.js.map +1 -1
  22. package/dist/commands/deployments/unpublish.js +1 -1
  23. package/dist/commands/deployments/unpublish.js.map +1 -1
  24. package/dist/commands/describe.d.ts +1 -1
  25. package/dist/commands/describe.js +4 -4
  26. package/dist/commands/describe.js.map +1 -1
  27. package/dist/commands/{init.d.ts → metafield-definitions/create.d.ts} +4 -6
  28. package/dist/commands/metafield-definitions/create.js +34 -0
  29. package/dist/commands/metafield-definitions/create.js.map +1 -0
  30. package/dist/commands/metafield-definitions/delete.d.ts +21 -0
  31. package/dist/commands/metafield-definitions/delete.js +32 -0
  32. package/dist/commands/metafield-definitions/delete.js.map +1 -0
  33. package/dist/commands/metafield-definitions/get.d.ts +21 -0
  34. package/dist/commands/metafield-definitions/get.js +30 -0
  35. package/dist/commands/metafield-definitions/get.js.map +1 -0
  36. package/dist/commands/metafield-definitions/list.d.ts +19 -0
  37. package/dist/commands/metafield-definitions/list.js +35 -0
  38. package/dist/commands/metafield-definitions/list.js.map +1 -0
  39. package/dist/commands/metafield-definitions/update.d.ts +23 -0
  40. package/dist/commands/metafield-definitions/update.js +39 -0
  41. package/dist/commands/metafield-definitions/update.js.map +1 -0
  42. package/dist/commands/{auth/verify.d.ts → metafields/get.d.ts} +2 -3
  43. package/dist/commands/metafields/get.js +32 -0
  44. package/dist/commands/metafields/get.js.map +1 -0
  45. package/dist/commands/metafields/set.d.ts +24 -0
  46. package/dist/commands/metafields/set.js +83 -0
  47. package/dist/commands/metafields/set.js.map +1 -0
  48. package/dist/commands/metaobject-definitions/create.d.ts +20 -0
  49. package/dist/commands/metaobject-definitions/create.js +33 -0
  50. package/dist/commands/metaobject-definitions/create.js.map +1 -0
  51. package/dist/commands/metaobject-definitions/delete.d.ts +21 -0
  52. package/dist/commands/metaobject-definitions/delete.js +32 -0
  53. package/dist/commands/metaobject-definitions/delete.js.map +1 -0
  54. package/dist/commands/metaobject-definitions/get.d.ts +21 -0
  55. package/dist/commands/metaobject-definitions/get.js +31 -0
  56. package/dist/commands/metaobject-definitions/get.js.map +1 -0
  57. package/dist/commands/metaobject-definitions/list.d.ts +20 -0
  58. package/dist/commands/metaobject-definitions/list.js +41 -0
  59. package/dist/commands/metaobject-definitions/list.js.map +1 -0
  60. package/dist/commands/metaobject-definitions/update.d.ts +23 -0
  61. package/dist/commands/metaobject-definitions/update.js +38 -0
  62. package/dist/commands/metaobject-definitions/update.js.map +1 -0
  63. package/dist/commands/metaobjects/create.d.ts +24 -0
  64. package/dist/commands/metaobjects/create.js +40 -0
  65. package/dist/commands/metaobjects/create.js.map +1 -0
  66. package/dist/commands/metaobjects/delete.d.ts +22 -0
  67. package/dist/commands/metaobjects/delete.js +34 -0
  68. package/dist/commands/metaobjects/delete.js.map +1 -0
  69. package/dist/commands/metaobjects/get.d.ts +22 -0
  70. package/dist/commands/metaobjects/get.js +32 -0
  71. package/dist/commands/metaobjects/get.js.map +1 -0
  72. package/dist/commands/metaobjects/list.d.ts +24 -0
  73. package/dist/commands/metaobjects/list.js +56 -0
  74. package/dist/commands/metaobjects/list.js.map +1 -0
  75. package/dist/commands/metaobjects/update.d.ts +27 -0
  76. package/dist/commands/metaobjects/update.js +45 -0
  77. package/dist/commands/metaobjects/update.js.map +1 -0
  78. package/dist/commands/storefront/init.d.ts +3 -1
  79. package/dist/commands/storefront/init.js +23 -2
  80. package/dist/commands/storefront/init.js.map +1 -1
  81. package/dist/commands/stores/create.d.ts +21 -0
  82. package/dist/commands/stores/create.js +68 -0
  83. package/dist/commands/stores/create.js.map +1 -0
  84. package/dist/commands/stores/current.js +1 -1
  85. package/dist/commands/stores/current.js.map +1 -1
  86. package/dist/commands/stores/list.js +3 -3
  87. package/dist/commands/stores/list.js.map +1 -1
  88. package/dist/commands/stores/switch.js +14 -6
  89. package/dist/commands/stores/switch.js.map +1 -1
  90. package/dist/commands/theme/create.d.ts +20 -0
  91. package/dist/commands/theme/create.js +40 -0
  92. package/dist/commands/theme/create.js.map +1 -0
  93. package/dist/commands/{auth/register.d.ts → theme/duplicate.d.ts} +4 -2
  94. package/dist/commands/theme/duplicate.js +34 -0
  95. package/dist/commands/theme/duplicate.js.map +1 -0
  96. package/dist/commands/theme/link.d.ts +24 -0
  97. package/dist/commands/theme/link.js +60 -0
  98. package/dist/commands/theme/link.js.map +1 -0
  99. package/dist/commands/{setup.d.ts → theme/list.d.ts} +2 -3
  100. package/dist/commands/theme/list.js +32 -0
  101. package/dist/commands/theme/list.js.map +1 -0
  102. package/dist/commands/theme/publish.d.ts +22 -0
  103. package/dist/commands/theme/publish.js +68 -0
  104. package/dist/commands/theme/publish.js.map +1 -0
  105. package/dist/commands/theme/schema/push.d.ts +20 -0
  106. package/dist/commands/theme/schema/push.js +61 -0
  107. package/dist/commands/theme/schema/push.js.map +1 -0
  108. package/dist/commands/theme/update.d.ts +23 -0
  109. package/dist/commands/theme/update.js +62 -0
  110. package/dist/commands/theme/update.js.map +1 -0
  111. package/dist/commands/theme/use.d.ts +23 -0
  112. package/dist/commands/theme/use.js +71 -0
  113. package/dist/commands/theme/use.js.map +1 -0
  114. package/dist/commands/theme/versions.d.ts +21 -0
  115. package/dist/commands/theme/versions.js +33 -0
  116. package/dist/commands/theme/versions.js.map +1 -0
  117. package/dist/lib/api-client.d.ts +5 -4
  118. package/dist/lib/api-client.js +32 -16
  119. package/dist/lib/api-client.js.map +1 -1
  120. package/dist/lib/codex-skill.d.ts +1 -1
  121. package/dist/lib/codex-skill.js +12 -8
  122. package/dist/lib/codex-skill.js.map +1 -1
  123. package/dist/lib/config.d.ts +6 -18
  124. package/dist/lib/config.js +35 -64
  125. package/dist/lib/config.js.map +1 -1
  126. package/dist/lib/credential-store.d.ts +44 -0
  127. package/dist/lib/credential-store.js +137 -0
  128. package/dist/lib/credential-store.js.map +1 -0
  129. package/dist/lib/custom-data.d.ts +42 -0
  130. package/dist/lib/custom-data.js +167 -0
  131. package/dist/lib/custom-data.js.map +1 -0
  132. package/dist/lib/deployments.d.ts +8 -1
  133. package/dist/lib/deployments.js +58 -11
  134. package/dist/lib/deployments.js.map +1 -1
  135. package/dist/lib/describe-metafields.d.ts +9 -0
  136. package/dist/lib/describe-metafields.js +213 -0
  137. package/dist/lib/describe-metafields.js.map +1 -0
  138. package/dist/lib/device-login.d.ts +22 -0
  139. package/dist/lib/device-login.js +66 -0
  140. package/dist/lib/device-login.js.map +1 -0
  141. package/dist/lib/errors.d.ts +1 -0
  142. package/dist/lib/errors.js +6 -1
  143. package/dist/lib/errors.js.map +1 -1
  144. package/dist/lib/file-lock.d.ts +6 -0
  145. package/dist/lib/file-lock.js +66 -0
  146. package/dist/lib/file-lock.js.map +1 -0
  147. package/dist/lib/live-confirm.d.ts +11 -0
  148. package/dist/lib/live-confirm.js +34 -0
  149. package/dist/lib/live-confirm.js.map +1 -0
  150. package/dist/lib/open-browser.d.ts +13 -0
  151. package/dist/lib/open-browser.js +38 -0
  152. package/dist/lib/open-browser.js.map +1 -0
  153. package/dist/lib/pending-login.d.ts +5 -0
  154. package/dist/lib/pending-login.js +39 -0
  155. package/dist/lib/pending-login.js.map +1 -0
  156. package/dist/lib/project-setup.d.ts +1 -0
  157. package/dist/lib/project-setup.js +20 -0
  158. package/dist/lib/project-setup.js.map +1 -1
  159. package/dist/lib/secure-file.d.ts +1 -0
  160. package/dist/lib/secure-file.js +15 -0
  161. package/dist/lib/secure-file.js.map +1 -0
  162. package/dist/lib/session.d.ts +40 -0
  163. package/dist/lib/session.js +80 -0
  164. package/dist/lib/session.js.map +1 -0
  165. package/dist/lib/store-selection.d.ts +19 -0
  166. package/dist/lib/store-selection.js +23 -0
  167. package/dist/lib/store-selection.js.map +1 -0
  168. package/dist/lib/template-scaffold.d.ts +1 -0
  169. package/dist/lib/template-scaffold.js +5 -2
  170. package/dist/lib/template-scaffold.js.map +1 -1
  171. package/dist/lib/theme-schema-export.d.ts +1 -1
  172. package/dist/lib/theme-schema-export.js +4 -5
  173. package/dist/lib/theme-schema-export.js.map +1 -1
  174. package/dist/lib/themes.d.ts +143 -0
  175. package/dist/lib/themes.js +277 -0
  176. package/dist/lib/themes.js.map +1 -0
  177. package/dist/lib/validators.js +16 -0
  178. package/dist/lib/validators.js.map +1 -1
  179. package/oclif.manifest.json +8168 -5388
  180. package/package.json +2 -1
  181. package/dist/commands/auth/register.js +0 -35
  182. package/dist/commands/auth/register.js.map +0 -1
  183. package/dist/commands/auth/verify.js +0 -43
  184. package/dist/commands/auth/verify.js.map +0 -1
  185. package/dist/commands/init.js +0 -84
  186. package/dist/commands/init.js.map +0 -1
  187. package/dist/commands/setup.js +0 -186
  188. package/dist/commands/setup.js.map +0 -1
  189. package/dist/lib/email-login.d.ts +0 -35
  190. package/dist/lib/email-login.js +0 -86
  191. 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 email_login_1 = require("../../lib/email-login");
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 apiUrl = this.getFlag("api-url");
11
- const apiKey = this.getFlag("api-key");
12
- const email = this.getFlag("email");
13
- if (email && !apiKey)
14
- return this.loginWithEmail(email, apiUrl);
15
- if (!apiKey) {
16
- this.outputJson({
17
- error: {
18
- code: "MISSING_API_KEY",
19
- message: "Say how to log in: --email (we email you a code) or --api-key.",
20
- hint: "Run: ecomweb auth login --email you@shop.vn",
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
- const profileName = this.getFlag("profile") || this.configManager.getActiveProfileName();
27
- this.configManager.setApiKey(apiKey, profileName);
28
- if (apiUrl) {
29
- this.configManager.setProfile(profileName, { api_url: apiUrl });
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.apiClient.health();
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
- this.outputJson({
42
- message: "Credentials saved (API connection failed — verify API is running).",
43
- profile: profileName,
44
- api_url: this.configManager.getProfile(profileName).api_url,
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
- async loginWithEmail(email, apiUrl) {
50
- const profileName = this.getFlag("profile") || this.configManager.getActiveProfileName();
51
- if (apiUrl)
52
- this.configManager.setProfile(profileName, { api_url: apiUrl });
53
- const interactive = Boolean(process.stdin.isTTY && process.stderr.isTTY);
54
- const prompt = { output: process.stderr };
55
- const sameEmail = (other) => other?.trim().toLowerCase() === email.trim().toLowerCase();
56
- const kept = this.configManager.getJwtTokens(profileName);
57
- const keptSession = kept && sameEmail(kept.email) ? kept : undefined;
58
- const result = await (0, email_login_1.emailLogin)(this.apiClient, {
59
- email,
60
- code: this.getFlag("code"),
61
- session: keptSession,
62
- onSession: ({ access_token, refresh_token, expires_at }) => this.configManager.setJwtTokens({ access_token, refresh_token, expires_at, email }, profileName),
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
- storeName: this.getFlag("store-name"),
65
- keyName: `CLI (${(0, node_os_1.hostname)()})`,
66
- askStoreName: interactive
67
- ? () => {
68
- this.logToStderr("This account has no store yet: name one to create it.");
69
- return (0, prompts_1.input)({ message: "Store name:" }, prompt);
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
- if (result.status === "code_sent") {
83
- if (keptSession)
84
- this.configManager.removeJwtTokens(profileName);
85
- this.outputJson({
86
- status: "code_sent",
87
- email,
88
- hint: `Check your email, then run: ecomweb auth login --email ${email} --code <code>${this.getFlag("store-name") ? ` --store-name ${JSON.stringify(this.getFlag("store-name"))}` : ""}`,
89
- });
90
- return;
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: with --email (a code is emailed to you; no API key needed), or with --api-key";
127
+ AuthLogin.description = "Log in by approving this CLI in your browser";
106
128
  AuthLogin.examples = [
107
- "ecomweb auth login --email you@shop.vn",
108
- "ecomweb auth login --email you@shop.vn --code 123456 --store-ref abc123",
109
- "ecomweb auth login --api-url http://localhost:3001 --api-key sk_live_abc123",
110
- "ECOMWEB_API_KEY=sk_live_abc123 ecomweb auth login",
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
- email: core_1.Flags.string({ description: "Log in with a code emailed to this address" }),
115
- code: core_1.Flags.string({ description: "The emailed code (when not asked for in a terminal)" }),
116
- "store-name": core_1.Flags.string({ description: "Create a store with this name (a new merchant) and log in to it" }),
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":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":";;;AAAA,qCAAmC;AACnC,sCAAoC;AACpC,+CAA2C;AAC3C,qDAAiD;AACjD,6CAAmD;AACnD,6CAAyD;AACzD,mDAAmD;AACnD,yDAAuG;AACvG,yDAAqD;AACrD,2DAAmF;AACnF,+CAAqE;AACrE,+DAAsE;AAGzD,QAAA,aAAa,GAAG,OAAO,CAAC;AAErC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAC,CAAC;AAE3E,MAAqB,SAAU,SAAQ,0BAAW;IAuBhD,KAAK,CAAC,GAAG;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;QAEjC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAS,SAAS,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAEpD,MAAM,QAAQ,GAAG,IAAA,2BAAW,EAAC,wBAAe,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3E,IAAI,OAAO,GAAiB,QAAQ,IAAI,CAAC,MAAM,IAAA,gCAAiB,EAAC,GAAG,EAAE,IAAA,kBAAQ,GAAE,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACvG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAA,4BAAY,EAAC,wBAAe,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAChD,IAAI,IAAI,CAAC,OAAO,CAAU,SAAS,CAAC;gBAAE,IAAA,0BAAW,EAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QACvF,CAAC;QAGD,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAU,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAEtG,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,WAAW,CAAC,cAAc,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,WAAW,CAAC,wBAAwB,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC;YAC9E,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,qBAAa,CAAC,CAAC;QAC7G,IAAI,MAAiC,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAA,wBAAS,EAAC,GAAG,EAAE,OAAO,EAAE;gBACrC,QAAQ;gBACR,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBACrB,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;oBACvB,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC;oBACnC,IAAA,4BAAY,EAAC,wBAAe,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBAClD,CAAC;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,IAAI,KAAK,YAAY,iBAAQ,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,IAAA,6BAAa,EAAC,wBAAe,EAAE,OAAO,CAAC,CAAC;YAC9G,MAAM,KAAK,CAAC;QACd,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,WAAW;gBAAE,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACrD,IAAA,6BAAa,EAAC,wBAAe,EAAE,OAAO,CAAC,CAAC;YACxC,MAAM,IAAA,gCAAiB,GAAE,CAAC;QAC5B,CAAC;QAED,IAAA,6BAAa,EAAC,wBAAe,EAAE,OAAO,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,IAAA,2BAAiB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAElD,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAY,EAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,EAAE;YACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAIvC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpF,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,IAAI,QAAQ,IAAI,QAAQ,CAAC,aAAa,KAAK,OAAO,CAAC,aAAa;YAAE,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAErG,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAA,oBAAW,EAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,IAAI,iBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,2CAA2C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE;gBAC7G,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;gBACrB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;aAC7D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAES,aAAa;QACrB,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjF,CAAC;IAEO,aAAa,CAAC,OAAqB;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAS,SAAS,CAAC,CAAC;QAE7C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAS,SAAS,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,cAAc,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACnG,IAAI,CAAC,UAAU,CAAC;YACd,MAAM,EAAE,uBAAuB;YAC/B,yBAAyB,EAAE,OAAO,CAAC,yBAAyB;YAC5D,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YAC7E,IAAI,EAAE,iEAAiE,KAAK,EAAE;SAC/E,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,KAAoB,EAAE,WAAoB;QACnF,MAAM,MAAM,GAAmB,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACjI,MAAM,MAAM,GAAG,MAAM,IAAA,6BAAW,EAAC;YAC/B,MAAM;YACN,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAS,WAAW,CAAC;YAC3C,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS;YAC5D,MAAM,EAAE,WAAW;gBACjB,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CACnB,IAAA,gBAAM,EACJ;oBACE,OAAO,EAAE,cAAc;oBACvB,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;oBACtE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,UAAU,CAAC;iBAChD,EACD,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAC3B;gBACL,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QACrD,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC7E,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACpD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,kCAAkC,EAAE,CAAC,CAAC;QAC7G,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,8CAA8C,EAAE,CAAC,CAAC;QAClG,CAAC;IACH,CAAC;;AAhJM,qBAAW,GAAG,8CAA8C,CAAC;AAE7D,kBAAQ,GAAG;IAChB,oBAAoB;IACpB,2BAA2B;IAC3B,iCAAiC;IACjC,uCAAuC;CACxC,CAAC;AAEK,eAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,IAAI,EAAE,YAAK,CAAC,OAAO,CAAC;QAClB,WAAW,EAAE,8EAA8E;QAC3F,OAAO,EAAE,KAAK;KACf,CAAC;IACF,OAAO,EAAE,YAAK,CAAC,OAAO,CAAC;QACrB,WAAW,EAAE,qEAAqE;QAClF,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;KACd,CAAC;CACH,CAAC;kBArBiB,SAAS"}
@@ -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 profileName = this.getFlag("profile") || "default";
7
- this.configManager.removeApiKey(profileName);
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: "Credentials removed.",
10
- profile: profileName,
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 = "Clear stored API credentials";
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;AAEjD,MAAqB,UAAW,SAAQ,0BAAW;IAYjD,KAAK,CAAC,GAAG;QACP,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAS,SAAS,CAAC,IAAI,SAAS,CAAC;QACjE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC;YACd,OAAO,EAAE,sBAAsB;YAC/B,OAAO,EAAE,WAAW;SACrB,CAAC,CAAC;IACL,CAAC;;AAnBM,sBAAW,GAAG,8BAA8B,CAAC;AAE7C,mBAAQ,GAAG;IAChB,qBAAqB;IACrB,0CAA0C;CAC3C,CAAC;AAEK,gBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;CACzB,CAAC;kBAViB,UAAU"}
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;QACrE,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAI,CAAC,UAAU,CAAC;YACd,OAAO,EAAE,YAAY,IAAI,YAAY;YACrC,GAAG,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,oCAAoC,EAAE,CAAC;SACjE,CAAC,CAAC;IACL,CAAC;;AA9CM,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"}
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 apiKey = this.configManager.getApiKey(name);
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
- api_key_configured: !!apiKey,
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,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAElD,OAAO;gBACL,IAAI;gBACJ,MAAM,EAAE,IAAI,KAAK,aAAa;gBAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,kBAAkB,EAAE,CAAC,CAAC,MAAM;gBAC5B,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"}
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.configManager.getActiveProfileName();
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 storeRef = this.configManager.resolveStoreRef(this.getFlag("store-ref"));
10
- const apiUrlFromFlag = this.argv.some((arg) => arg === "--api-url" || arg.startsWith("--api-url="));
11
- const apiUrlSource = apiUrlFromFlag
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
- api_key_configured: !!apiKey,
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 current authentication state";
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,oBAAoB,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QAE/E,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,WAAW,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;QACpG,MAAM,YAAY,GAAG,cAAc;YACjC,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,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAClE,cAAc,EAAE,YAAY;YAC5B,kBAAkB,EAAE,CAAC,CAAC,MAAM;YAC5B,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;YACrG,SAAS,EAAE,QAAQ,IAAI,IAAI;YAC3B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;YACtC,cAAc,EAAE,OAAO,CAAC,cAAc;SACvC,CAAC,CAAC;IACL,CAAC;;AA/BM,sBAAW,GAAG,mCAAmC,CAAC;AAElD,mBAAQ,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAEnC,gBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;CACzB,CAAC;kBAPiB,UAAU"}
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"}
@@ -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 a code theme's new version on ecomweb. A theme that isn't live gets a 24-hour preview; the live theme needs --allow-live, and goes live once built (storefront hosting)";
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 code theme to deploy to (its id in the dashboard's Themes page); needed when the store has several. Also ECOMWEB_STORE_THEME_ID or storeThemeId in .ecomweb.json",
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":"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"}
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 = "Serve a deployment as the store's storefront. The current version serves until the new one is ready; if it never is, the store keeps its current version (exit 6)";
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,mKAAmK,CAAC;AAE/J,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"}
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 deployment (the same as promoting it). The store keeps serving until it is ready";
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,wGAAwG,CAAC;AAEpG,4BAAQ,GAAG,CAAC,yCAAyC,CAAC,CAAC;kBAJ3C,mBAAmB"}
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 the hosted storefront: the store goes back to the standard storefront";
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,oFAAoF,CAAC;AAEnG,6BAAQ,GAAG,CAAC,+BAA+B,CAAC,CAAC;AAE7C,0BAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;CACzB,CAAC;kBAPiB,oBAAoB"}
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"}