@ecomweb/cli 0.2.0 → 0.3.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 +11 -2
- package/dist/base-command.d.ts +3 -0
- package/dist/base-command.js +2 -0
- package/dist/base-command.js.map +1 -1
- package/dist/commands/assets/upload-and-link.js +2 -1
- package/dist/commands/assets/upload-and-link.js.map +1 -1
- package/dist/commands/assets/upload.js +2 -1
- package/dist/commands/assets/upload.js.map +1 -1
- package/dist/commands/attributes/list.d.ts +2 -0
- package/dist/commands/attributes/list.js +20 -9
- package/dist/commands/attributes/list.js.map +1 -1
- package/dist/commands/auth/login.js +9 -0
- package/dist/commands/auth/login.js.map +1 -1
- package/dist/commands/auth/status.js +8 -1
- package/dist/commands/auth/status.js.map +1 -1
- package/dist/commands/blog-posts/create.js.map +1 -1
- package/dist/commands/categories/all.d.ts +2 -18
- package/dist/commands/categories/all.js +2 -24
- package/dist/commands/categories/all.js.map +1 -1
- package/dist/commands/categories/create.d.ts +2 -27
- package/dist/commands/categories/create.js +2 -73
- package/dist/commands/categories/create.js.map +1 -1
- package/dist/commands/categories/delete.d.ts +2 -24
- package/dist/commands/categories/delete.js +2 -30
- package/dist/commands/categories/delete.js.map +1 -1
- package/dist/commands/categories/get.d.ts +2 -23
- package/dist/commands/categories/get.js +2 -26
- package/dist/commands/categories/get.js.map +1 -1
- package/dist/commands/categories/list.d.ts +2 -27
- package/dist/commands/categories/list.js +2 -65
- package/dist/commands/categories/list.js.map +1 -1
- package/dist/commands/categories/update.d.ts +2 -33
- package/dist/commands/categories/update.js +2 -79
- package/dist/commands/categories/update.js.map +1 -1
- package/dist/commands/collections/create.js +3 -2
- package/dist/commands/collections/create.js.map +1 -1
- package/dist/commands/describe.js +6 -0
- package/dist/commands/describe.js.map +1 -1
- package/dist/commands/product-services/assign.d.ts +26 -0
- package/dist/commands/product-services/assign.js +51 -0
- package/dist/commands/product-services/assign.js.map +1 -0
- package/dist/commands/product-services/create.d.ts +25 -0
- package/dist/commands/product-services/create.js +65 -0
- package/dist/commands/product-services/create.js.map +1 -0
- package/dist/commands/product-services/delete.d.ts +24 -0
- package/dist/commands/product-services/delete.js +30 -0
- package/dist/commands/product-services/delete.js.map +1 -0
- package/dist/commands/product-services/list.d.ts +19 -0
- package/dist/commands/product-services/list.js +33 -0
- package/dist/commands/product-services/list.js.map +1 -0
- package/dist/commands/product-services/update.d.ts +31 -0
- package/dist/commands/product-services/update.js +66 -0
- package/dist/commands/product-services/update.js.map +1 -0
- package/dist/commands/product-tags/list.d.ts +5 -0
- package/dist/commands/product-tags/list.js +36 -4
- package/dist/commands/product-tags/list.js.map +1 -1
- package/dist/commands/products/create.d.ts +2 -1
- package/dist/commands/products/create.js +6 -3
- package/dist/commands/products/create.js.map +1 -1
- package/dist/commands/products/get.d.ts +0 -1
- package/dist/commands/products/get.js +1 -3
- package/dist/commands/products/get.js.map +1 -1
- package/dist/commands/products/list.d.ts +0 -2
- package/dist/commands/products/list.js +2 -6
- package/dist/commands/products/list.js.map +1 -1
- package/dist/commands/products/search.d.ts +0 -2
- package/dist/commands/products/search.js +1 -5
- package/dist/commands/products/search.js.map +1 -1
- package/dist/commands/products/update.d.ts +2 -1
- package/dist/commands/products/update.js +6 -3
- package/dist/commands/products/update.js.map +1 -1
- package/dist/commands/store-settings/auth/get.d.ts +18 -0
- package/dist/commands/store-settings/auth/get.js +23 -0
- package/dist/commands/store-settings/auth/get.js.map +1 -0
- package/dist/commands/store-settings/auth/update.d.ts +29 -0
- package/dist/commands/store-settings/auth/update.js +78 -0
- package/dist/commands/store-settings/auth/update.js.map +1 -0
- package/dist/commands/stores/current.js +19 -2
- package/dist/commands/stores/current.js.map +1 -1
- package/dist/commands/stores/update.d.ts +22 -0
- package/dist/commands/stores/update.js +60 -0
- package/dist/commands/stores/update.js.map +1 -0
- package/dist/lib/categories-removed.d.ts +9 -0
- package/dist/lib/categories-removed.js +22 -0
- package/dist/lib/categories-removed.js.map +1 -0
- package/dist/lib/config.d.ts +2 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/email-login.d.ts +7 -0
- package/dist/lib/email-login.js +35 -18
- package/dist/lib/email-login.js.map +1 -1
- package/dist/lib/multipart.d.ts +2 -0
- package/dist/lib/multipart.js +15 -0
- package/dist/lib/multipart.js.map +1 -0
- package/dist/lib/stdin.d.ts +6 -2
- package/dist/lib/stdin.js +9 -9
- package/dist/lib/stdin.js.map +1 -1
- package/dist/lib/validators.d.ts +11 -0
- package/dist/lib/validators.js +104 -43
- package/dist/lib/validators.js.map +1 -1
- package/oclif.manifest.json +4945 -4114
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/products/update.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAC1C,qDAAiD;AACjD,6CAAoD;AACpD,2CAA+C;AAE/C,MAAqB,cAAe,SAAQ,0BAAW;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/products/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BaseCommand } from "../../../base-command";
|
|
2
|
+
export default class StoreSettingsAuthGet extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
"store-ref": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
"api-key": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
"api-url": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
"dry-run": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
12
|
+
profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
|
+
full: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
fields: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
15
|
+
exclude: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
16
|
+
};
|
|
17
|
+
run(): Promise<void>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const base_command_1 = require("../../../base-command");
|
|
4
|
+
const output_1 = require("../../../lib/output");
|
|
5
|
+
class StoreSettingsAuthGet extends base_command_1.BaseCommand {
|
|
6
|
+
async run() {
|
|
7
|
+
const storeRef = this.requireStore();
|
|
8
|
+
const settings = await this.apiClient.storeGet("/settings/auth");
|
|
9
|
+
this.outputResult((0, output_1.getEnvelope)("store-settings-auth", storeRef, settings, {
|
|
10
|
+
hints: {
|
|
11
|
+
update: "ecomweb store-settings auth update --google-enabled",
|
|
12
|
+
describe: "ecomweb describe store-settings-auth --operation update",
|
|
13
|
+
},
|
|
14
|
+
}));
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
StoreSettingsAuthGet.description = "Get how customers sign in to the store (password, Google, email code)";
|
|
18
|
+
StoreSettingsAuthGet.examples = ["ecomweb store-settings auth get"];
|
|
19
|
+
StoreSettingsAuthGet.flags = {
|
|
20
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
21
|
+
};
|
|
22
|
+
exports.default = StoreSettingsAuthGet;
|
|
23
|
+
//# sourceMappingURL=get.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/commands/store-settings/auth/get.ts"],"names":[],"mappings":";;AAAA,wDAAoD;AACpD,gDAAkD;AAElD,MAAqB,oBAAqB,SAAQ,0BAAW;IAS3D,KAAK,CAAC,GAAG;QACP,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAErC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAEjE,IAAI,CAAC,YAAY,CACf,IAAA,oBAAW,EAAC,qBAAqB,EAAE,QAAQ,EAAE,QAAQ,EAAE;YACrD,KAAK,EAAE;gBACL,MAAM,EAAE,qDAAqD;gBAC7D,QAAQ,EAAE,yDAAyD;aACpE;SACF,CAAC,CACH,CAAC;IACJ,CAAC;;AArBM,gCAAW,GAAG,uEAAuE,CAAC;AAEtF,6BAAQ,GAAG,CAAC,iCAAiC,CAAC,CAAC;AAE/C,0BAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;CACzB,CAAC;kBAPiB,oBAAoB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { BaseCommand } from "../../../base-command";
|
|
2
|
+
export default class StoreSettingsAuthUpdate extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
stdin: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
file: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
"password-enabled": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
"google-enabled": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
"otp-enabled": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
"require-email-verification": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
12
|
+
"session-ttl-days": import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
|
+
"password-min-length": import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
|
+
"password-require-number": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
"password-require-symbol": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
"password-require-uppercase": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
17
|
+
"store-ref": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
18
|
+
"api-key": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
19
|
+
"api-url": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
20
|
+
output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
21
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
22
|
+
"dry-run": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
23
|
+
profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
24
|
+
full: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
25
|
+
fields: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
26
|
+
exclude: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
27
|
+
};
|
|
28
|
+
run(): Promise<void>;
|
|
29
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const base_command_1 = require("../../../base-command");
|
|
5
|
+
const output_1 = require("../../../lib/output");
|
|
6
|
+
const stdin_1 = require("../../../lib/stdin");
|
|
7
|
+
class StoreSettingsAuthUpdate extends base_command_1.BaseCommand {
|
|
8
|
+
async run() {
|
|
9
|
+
const storeRef = this.requireStore();
|
|
10
|
+
let body = await (0, stdin_1.getJsonInput)({
|
|
11
|
+
stdin: this.getFlag("stdin"),
|
|
12
|
+
file: this.getFlag("file"),
|
|
13
|
+
});
|
|
14
|
+
if (!body) {
|
|
15
|
+
body = {};
|
|
16
|
+
const flagMap = {
|
|
17
|
+
"password-enabled": "password_enabled",
|
|
18
|
+
"google-enabled": "google_enabled",
|
|
19
|
+
"otp-enabled": "otp_enabled",
|
|
20
|
+
"require-email-verification": "require_email_verification",
|
|
21
|
+
"session-ttl-days": "session_ttl_days",
|
|
22
|
+
"password-min-length": "password_min_length",
|
|
23
|
+
"password-require-number": "password_require_number",
|
|
24
|
+
"password-require-symbol": "password_require_symbol",
|
|
25
|
+
"password-require-uppercase": "password_require_uppercase",
|
|
26
|
+
};
|
|
27
|
+
for (const [flag, field] of Object.entries(flagMap)) {
|
|
28
|
+
const value = this.getFlag(flag);
|
|
29
|
+
if (value !== undefined)
|
|
30
|
+
body[field] = value;
|
|
31
|
+
}
|
|
32
|
+
if (Object.keys(body).length === 0) {
|
|
33
|
+
this.outputJson({
|
|
34
|
+
error: {
|
|
35
|
+
code: "NO_INPUT",
|
|
36
|
+
message: "No input provided.",
|
|
37
|
+
hint: "Run: ecomweb describe store-settings-auth --operation update",
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
this.exit(2);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (this.isDryRun) {
|
|
45
|
+
this.outputResult((0, output_1.mutationEnvelope)("store-settings-auth", "update (dry-run)", storeRef, body));
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const result = await this.apiClient.storePatch("/settings/auth", body);
|
|
49
|
+
this.outputResult((0, output_1.mutationEnvelope)("store-settings-auth", "update", storeRef, result, {
|
|
50
|
+
get: "ecomweb store-settings auth get",
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
StoreSettingsAuthUpdate.description = "Update how customers sign in to the store. The API refuses a change that would turn every method off.";
|
|
55
|
+
StoreSettingsAuthUpdate.examples = [
|
|
56
|
+
"ecomweb store-settings auth update --google-enabled",
|
|
57
|
+
"ecomweb store-settings auth update --otp-enabled --no-password-enabled",
|
|
58
|
+
`ecomweb store-settings auth update --stdin <<< '{"session_ttl_days":30,"password_min_length":10}'`,
|
|
59
|
+
];
|
|
60
|
+
StoreSettingsAuthUpdate.flags = {
|
|
61
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
62
|
+
stdin: core_1.Flags.boolean({ description: "Read JSON body from stdin" }),
|
|
63
|
+
file: core_1.Flags.string({ description: "Read JSON body from file" }),
|
|
64
|
+
"password-enabled": core_1.Flags.boolean({ description: "Email + password sign-in", allowNo: true }),
|
|
65
|
+
"google-enabled": core_1.Flags.boolean({ description: "Google sign-in", allowNo: true }),
|
|
66
|
+
"otp-enabled": core_1.Flags.boolean({ description: "One-time email code sign-in", allowNo: true }),
|
|
67
|
+
"require-email-verification": core_1.Flags.boolean({
|
|
68
|
+
description: "Require a verified email before the first sign-in",
|
|
69
|
+
allowNo: true,
|
|
70
|
+
}),
|
|
71
|
+
"session-ttl-days": core_1.Flags.integer({ description: "Days a customer stays signed in (1-365)", min: 1, max: 365 }),
|
|
72
|
+
"password-min-length": core_1.Flags.integer({ description: "Minimum password length (8-128)", min: 8, max: 128 }),
|
|
73
|
+
"password-require-number": core_1.Flags.boolean({ description: "Passwords need a number", allowNo: true }),
|
|
74
|
+
"password-require-symbol": core_1.Flags.boolean({ description: "Passwords need a symbol", allowNo: true }),
|
|
75
|
+
"password-require-uppercase": core_1.Flags.boolean({ description: "Passwords need an uppercase letter", allowNo: true }),
|
|
76
|
+
};
|
|
77
|
+
exports.default = StoreSettingsAuthUpdate;
|
|
78
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/commands/store-settings/auth/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,14 +13,31 @@ class StoresCurrent extends base_command_1.BaseCommand {
|
|
|
13
13
|
});
|
|
14
14
|
return;
|
|
15
15
|
}
|
|
16
|
+
const isProfileStore = storeRef === profile.store_ref;
|
|
17
|
+
let storeName = isProfileStore ? profile.store_name : undefined;
|
|
18
|
+
let source = "profile";
|
|
19
|
+
try {
|
|
20
|
+
const store = await this.apiClient.getStore(storeRef);
|
|
21
|
+
const liveName = store?.name || store?.store_name;
|
|
22
|
+
if (liveName) {
|
|
23
|
+
storeName = liveName;
|
|
24
|
+
source = "api";
|
|
25
|
+
if (isProfileStore && liveName !== profile.store_name) {
|
|
26
|
+
this.configManager.setStoreRef(storeRef, liveName);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
}
|
|
16
32
|
this.outputJson({
|
|
17
33
|
store_ref: storeRef,
|
|
18
|
-
store_name:
|
|
34
|
+
store_name: storeName || null,
|
|
35
|
+
store_name_source: storeName ? source : null,
|
|
19
36
|
profile: this.configManager.getActiveProfileName(),
|
|
20
37
|
});
|
|
21
38
|
}
|
|
22
39
|
}
|
|
23
|
-
StoresCurrent.description = "Show the currently active store";
|
|
40
|
+
StoresCurrent.description = "Show the currently active store (its live name, or the cached one offline)";
|
|
24
41
|
StoresCurrent.examples = ["ecomweb stores current"];
|
|
25
42
|
StoresCurrent.flags = {
|
|
26
43
|
...base_command_1.BaseCommand.baseFlags,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"current.js","sourceRoot":"","sources":["../../../src/commands/stores/current.ts"],"names":[],"mappings":";;AAAA,qDAAiD;AAEjD,MAAqB,aAAc,SAAQ,0BAAW;IASpD,KAAK,CAAC,GAAG;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QAE/E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,UAAU,CAAC;gBACd,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,oBAAoB;gBAC7B,IAAI,EAAE,kCAAkC;aACzC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,CAAC;YACd,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"current.js","sourceRoot":"","sources":["../../../src/commands/stores/current.ts"],"names":[],"mappings":";;AAAA,qDAAiD;AAEjD,MAAqB,aAAc,SAAQ,0BAAW;IASpD,KAAK,CAAC,GAAG;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QAE/E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,UAAU,CAAC;gBACd,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,oBAAoB;gBAC7B,IAAI,EAAE,kCAAkC;aACzC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAID,MAAM,cAAc,GAAG,QAAQ,KAAK,OAAO,CAAC,SAAS,CAAC;QACtD,IAAI,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,IAAI,MAAM,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACtD,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,UAAU,CAAC;YAClD,IAAI,QAAQ,EAAE,CAAC;gBACb,SAAS,GAAG,QAAQ,CAAC;gBACrB,MAAM,GAAG,KAAK,CAAC;gBACf,IAAI,cAAc,IAAI,QAAQ,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC;oBACtD,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QAED,IAAI,CAAC,UAAU,CAAC;YACd,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE,SAAS,IAAI,IAAI;YAC7B,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;YAC5C,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE;SACnD,CAAC,CAAC;IACL,CAAC;;AA9CM,yBAAW,GAAG,4EAA4E,CAAC;AAE3F,sBAAQ,GAAG,CAAC,wBAAwB,CAAC,CAAC;AAEtC,mBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;CACzB,CAAC;kBAPiB,aAAa"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { BaseCommand } from "../../base-command";
|
|
2
|
+
export default class StoresUpdate extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
stdin: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
file: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
name: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
description: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
"store-ref": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
"api-key": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
"api-url": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
|
+
output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
"dry-run": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
17
|
+
full: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
18
|
+
fields: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
19
|
+
exclude: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
20
|
+
};
|
|
21
|
+
run(): Promise<void>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const base_command_1 = require("../../base-command");
|
|
5
|
+
const output_1 = require("../../lib/output");
|
|
6
|
+
const stdin_1 = require("../../lib/stdin");
|
|
7
|
+
class StoresUpdate extends base_command_1.BaseCommand {
|
|
8
|
+
async run() {
|
|
9
|
+
const storeRef = this.requireStore();
|
|
10
|
+
let body = await (0, stdin_1.getJsonInput)({
|
|
11
|
+
stdin: this.getFlag("stdin"),
|
|
12
|
+
file: this.getFlag("file"),
|
|
13
|
+
});
|
|
14
|
+
if (!body) {
|
|
15
|
+
body = {};
|
|
16
|
+
if (this.getFlag("name"))
|
|
17
|
+
body.name = this.getFlag("name");
|
|
18
|
+
if (this.getFlag("description") !== undefined)
|
|
19
|
+
body.description = this.getFlag("description");
|
|
20
|
+
if (Object.keys(body).length === 0) {
|
|
21
|
+
this.outputJson({
|
|
22
|
+
error: {
|
|
23
|
+
code: "NO_INPUT",
|
|
24
|
+
message: "No input provided.",
|
|
25
|
+
hint: "Use --name, --description, --stdin or --file. Logos, links and the rest: ecomweb store-settings update",
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
this.exit(2);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (this.isDryRun) {
|
|
33
|
+
this.outputResult((0, output_1.mutationEnvelope)("stores", "update (dry-run)", storeRef, body));
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const result = await this.apiClient.put(`/stores/${storeRef}`, body);
|
|
37
|
+
const profile = this.configManager.getProfile();
|
|
38
|
+
if (result?.name && storeRef === profile.store_ref && result.name !== profile.store_name) {
|
|
39
|
+
this.configManager.setStoreRef(storeRef, result.name);
|
|
40
|
+
}
|
|
41
|
+
this.outputResult((0, output_1.mutationEnvelope)("stores", "update", storeRef, result, {
|
|
42
|
+
current: "ecomweb stores current",
|
|
43
|
+
}));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
StoresUpdate.description = "Update the current store's name or description";
|
|
47
|
+
StoresUpdate.examples = [
|
|
48
|
+
`ecomweb stores update --name "Mai Phú Hưng"`,
|
|
49
|
+
`ecomweb stores update --stdin <<< '{"name":"Mai Phú Hưng","description":"Đồ gia dụng"}'`,
|
|
50
|
+
"ecomweb stores update --file store.json",
|
|
51
|
+
];
|
|
52
|
+
StoresUpdate.flags = {
|
|
53
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
54
|
+
stdin: core_1.Flags.boolean({ description: "Read JSON body from stdin" }),
|
|
55
|
+
file: core_1.Flags.string({ description: "Read JSON body from file" }),
|
|
56
|
+
name: core_1.Flags.string({ description: "Store name (2-100 characters)" }),
|
|
57
|
+
description: core_1.Flags.string({ description: "Store description" }),
|
|
58
|
+
};
|
|
59
|
+
exports.default = StoresUpdate;
|
|
60
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/stores/update.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AACpC,qDAAiD;AACjD,6CAAoD;AACpD,2CAA+C;AAE/C,MAAqB,YAAa,SAAQ,0BAAW;IAiBnD,KAAK,CAAC,GAAG;QACP,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAErC,IAAI,IAAI,GAAG,MAAM,IAAA,oBAAY,EAAC;YAC5B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAC5B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,EAAyB,CAAC;YACjC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,SAAS;gBAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAE9F,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,UAAU,CAAC;oBACd,KAAK,EAAE;wBACL,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,oBAAoB;wBAC7B,IAAI,EAAE,wGAAwG;qBAC/G;iBACF,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACb,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,YAAY,CAAC,IAAA,yBAAgB,EAAC,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;YAClF,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;QAGrE,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;QAChD,IAAI,MAAM,EAAE,IAAI,IAAI,QAAQ,KAAK,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC;YACzF,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,YAAY,CACf,IAAA,yBAAgB,EAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE;YACrD,OAAO,EAAE,wBAAwB;SAClC,CAAC,CACH,CAAC;IACJ,CAAC;;AA5DM,wBAAW,GAAG,gDAAgD,CAAC;AAE/D,qBAAQ,GAAG;IAChB,6CAA6C;IAC7C,yFAAyF;IACzF,yCAAyC;CAC1C,CAAC;AAEK,kBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,KAAK,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;IAClE,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;IAC/D,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;IACpE,WAAW,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;CAChE,CAAC;kBAfiB,YAAY"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseCommand } from "../base-command";
|
|
2
|
+
export declare const CATEGORIES_REMOVED_MESSAGE: string;
|
|
3
|
+
export declare abstract class CategoriesRemovedCommand extends BaseCommand {
|
|
4
|
+
static hidden: boolean;
|
|
5
|
+
static strict: boolean;
|
|
6
|
+
static description: string;
|
|
7
|
+
init(): Promise<void>;
|
|
8
|
+
run(): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CategoriesRemovedCommand = exports.CATEGORIES_REMOVED_MESSAGE = void 0;
|
|
4
|
+
const base_command_1 = require("../base-command");
|
|
5
|
+
const errors_1 = require("./errors");
|
|
6
|
+
exports.CATEGORIES_REMOVED_MESSAGE = "Store categories were removed from ecomweb and replaced by collections. " +
|
|
7
|
+
"Products are classified with category_code from the global product taxonomy.";
|
|
8
|
+
class CategoriesRemovedCommand extends base_command_1.BaseCommand {
|
|
9
|
+
async init() {
|
|
10
|
+
await this.parse({ strict: false, flags: {}, args: {} }, []);
|
|
11
|
+
}
|
|
12
|
+
async run() {
|
|
13
|
+
throw new errors_1.CliError("CATEGORIES_REMOVED", exports.CATEGORIES_REMOVED_MESSAGE, errors_1.ExitCode.VALIDATION, {
|
|
14
|
+
hint: "Use collections: ecomweb collections list (create, update, ...); ecomweb describe collections",
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.CategoriesRemovedCommand = CategoriesRemovedCommand;
|
|
19
|
+
CategoriesRemovedCommand.hidden = true;
|
|
20
|
+
CategoriesRemovedCommand.strict = false;
|
|
21
|
+
CategoriesRemovedCommand.description = "Removed: categories were replaced by collections (ecomweb collections --help)";
|
|
22
|
+
//# sourceMappingURL=categories-removed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"categories-removed.js","sourceRoot":"","sources":["../../src/lib/categories-removed.ts"],"names":[],"mappings":";;;AAAA,kDAA8C;AAC9C,qCAA8C;AAEjC,QAAA,0BAA0B,GACrC,0EAA0E;IAC1E,8EAA8E,CAAC;AAOjF,MAAsB,wBAAyB,SAAQ,0BAAW;IAOhE,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAS,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,iBAAQ,CAAC,oBAAoB,EAAE,kCAA0B,EAAE,iBAAQ,CAAC,UAAU,EAAE;YACxF,IAAI,EAAE,+FAA+F;SACtG,CAAC,CAAC;IACL,CAAC;;AAfH,4DAgBC;AAfQ,+BAAM,GAAG,IAAI,CAAC;AACd,+BAAM,GAAG,KAAK,CAAC;AACf,oCAAW,GAAG,+EAA+E,CAAC"}
|
package/dist/lib/config.d.ts
CHANGED
|
@@ -27,11 +27,13 @@ export declare class ConfigManager {
|
|
|
27
27
|
access_token: string;
|
|
28
28
|
refresh_token: string;
|
|
29
29
|
expires_at: number;
|
|
30
|
+
email?: string;
|
|
30
31
|
} | undefined;
|
|
31
32
|
setJwtTokens(tokens: {
|
|
32
33
|
access_token: string;
|
|
33
34
|
refresh_token: string;
|
|
34
35
|
expires_at: number;
|
|
36
|
+
email?: string;
|
|
35
37
|
}, profileName?: string): void;
|
|
36
38
|
removeJwtTokens(profileName?: string): void;
|
|
37
39
|
isJwtExpired(profileName?: string): boolean;
|
package/dist/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,11 @@ export interface LoginStore {
|
|
|
8
8
|
ref: string;
|
|
9
9
|
name: string;
|
|
10
10
|
}
|
|
11
|
+
export interface LoginSession {
|
|
12
|
+
access_token: string;
|
|
13
|
+
refresh_token: string;
|
|
14
|
+
expires_at: number;
|
|
15
|
+
}
|
|
11
16
|
export type LoginResult = {
|
|
12
17
|
status: "code_sent";
|
|
13
18
|
} | {
|
|
@@ -25,4 +30,6 @@ export declare function emailLogin(client: LoginClient, opts: {
|
|
|
25
30
|
askStoreName?: () => Promise<string>;
|
|
26
31
|
askCode?: () => Promise<string>;
|
|
27
32
|
chooseStore?: (stores: LoginStore[]) => Promise<LoginStore>;
|
|
33
|
+
session?: LoginSession;
|
|
34
|
+
onSession?: (session: LoginSession) => void;
|
|
28
35
|
}): Promise<LoginResult>;
|
package/dist/lib/email-login.js
CHANGED
|
@@ -4,26 +4,28 @@ exports.emailLogin = emailLogin;
|
|
|
4
4
|
const errors_1 = require("./errors");
|
|
5
5
|
async function emailLogin(client, opts) {
|
|
6
6
|
let code = opts.code?.trim();
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
if (!
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
7
|
+
let session = !code && opts.session ? await renewSession(client, opts.session) : undefined;
|
|
8
|
+
if (!session) {
|
|
9
|
+
if (!code) {
|
|
10
|
+
await client.post("/auth/signup", { email: opts.email });
|
|
11
|
+
if (!opts.askCode)
|
|
12
|
+
return { status: "code_sent" };
|
|
13
|
+
code = (await opts.askCode()).trim();
|
|
14
|
+
}
|
|
15
|
+
try {
|
|
16
|
+
session = await client.post("/auth/verify", { email: opts.email, token: code });
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
if (isClientError(error)) {
|
|
20
|
+
throw new errors_1.CliError("INVALID_CODE", "That code is wrong or has expired", errors_1.ExitCode.AUTH_FAILURE, {
|
|
21
|
+
hint: `Get a new one: ecomweb auth login --email ${opts.email}`,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
throw error;
|
|
23
25
|
}
|
|
24
|
-
throw error;
|
|
25
26
|
}
|
|
26
27
|
client.setJwtToken(session.access_token);
|
|
28
|
+
opts.onSession?.(session);
|
|
27
29
|
const listed = await client.get("/auth/stores");
|
|
28
30
|
const stores = (Array.isArray(listed) ? listed : listed.data ?? []).map((s) => ({ id: s.id, ref: s.ref, name: s.name }));
|
|
29
31
|
const name = opts.storeName?.trim() || (!stores.length && opts.askStoreName ? (await opts.askStoreName()).trim() : "");
|
|
@@ -37,7 +39,7 @@ async function emailLogin(client, opts) {
|
|
|
37
39
|
}
|
|
38
40
|
if (!stores.length) {
|
|
39
41
|
throw new errors_1.CliError("NO_STORES", "This account has no store yet", errors_1.ExitCode.NOT_FOUND, {
|
|
40
|
-
hint: `
|
|
42
|
+
hint: `Name it to create it (no new code needed): ecomweb auth login --email ${opts.email} --store-name "My Store"`,
|
|
41
43
|
});
|
|
42
44
|
}
|
|
43
45
|
let store;
|
|
@@ -57,6 +59,7 @@ async function emailLogin(client, opts) {
|
|
|
57
59
|
}
|
|
58
60
|
else {
|
|
59
61
|
throw new errors_1.CliError("STORE_REQUIRED", "This account has several stores: say which one with --store-ref", errors_1.ExitCode.VALIDATION, {
|
|
62
|
+
hint: `Run again with no new code needed: ecomweb auth login --email ${opts.email} --store-ref <ref>`,
|
|
60
63
|
details: { stores: stores.map(({ ref, name }) => ({ ref, name })) },
|
|
61
64
|
});
|
|
62
65
|
}
|
|
@@ -66,4 +69,18 @@ async function emailLogin(client, opts) {
|
|
|
66
69
|
});
|
|
67
70
|
return { status: "logged_in", store: store, apiKey: bound.api_key.plain_key };
|
|
68
71
|
}
|
|
72
|
+
async function renewSession(client, kept) {
|
|
73
|
+
try {
|
|
74
|
+
return await client.post("/auth/refresh", { refresh_token: kept.refresh_token });
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
if (isClientError(error))
|
|
78
|
+
return undefined;
|
|
79
|
+
throw error;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
function isClientError(error) {
|
|
83
|
+
const status = error.response?.status;
|
|
84
|
+
return Boolean(status && status >= 400 && status < 500);
|
|
85
|
+
}
|
|
69
86
|
//# sourceMappingURL=email-login.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-login.js","sourceRoot":"","sources":["../../src/lib/email-login.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"email-login.js","sourceRoot":"","sources":["../../src/lib/email-login.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.appendObject = appendObject;
|
|
4
|
+
function appendObject(form, name, value) {
|
|
5
|
+
for (const [key, item] of Object.entries(value)) {
|
|
6
|
+
if (item === undefined || item === null)
|
|
7
|
+
continue;
|
|
8
|
+
const field = `${name}[${key}]`;
|
|
9
|
+
if (typeof item === "object")
|
|
10
|
+
appendObject(form, field, item);
|
|
11
|
+
else
|
|
12
|
+
form.append(field, String(item));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=multipart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multipart.js","sourceRoot":"","sources":["../../src/lib/multipart.ts"],"names":[],"mappings":";;AAOA,oCAOC;AAPD,SAAgB,YAAY,CAAC,IAAc,EAAE,IAAY,EAAE,KAAkC;IAC3F,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YAAE,SAAS;QAClD,MAAM,KAAK,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,CAAC;QAChC,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;;YACzD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,CAAC;AACH,CAAC"}
|
package/dist/lib/stdin.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
type Stdin = NodeJS.ReadableStream & {
|
|
2
|
+
isTTY?: boolean;
|
|
3
|
+
};
|
|
4
|
+
export declare function readStdin(stdin?: Stdin): Promise<string | null>;
|
|
2
5
|
export declare function parseJsonInput(options: {
|
|
3
6
|
stdin?: boolean;
|
|
4
7
|
file?: string;
|
|
@@ -6,4 +9,5 @@ export declare function parseJsonInput(options: {
|
|
|
6
9
|
export declare function getJsonInput(flags: {
|
|
7
10
|
stdin?: boolean;
|
|
8
11
|
file?: string;
|
|
9
|
-
}): Promise<any | null>;
|
|
12
|
+
}, stdin?: Stdin): Promise<any | null>;
|
|
13
|
+
export {};
|
package/dist/lib/stdin.js
CHANGED
|
@@ -37,15 +37,15 @@ exports.readStdin = readStdin;
|
|
|
37
37
|
exports.parseJsonInput = parseJsonInput;
|
|
38
38
|
exports.getJsonInput = getJsonInput;
|
|
39
39
|
const fs = __importStar(require("fs"));
|
|
40
|
-
async function readStdin() {
|
|
41
|
-
if (
|
|
40
|
+
async function readStdin(stdin = process.stdin) {
|
|
41
|
+
if (stdin.isTTY)
|
|
42
42
|
return null;
|
|
43
43
|
return new Promise((resolve, reject) => {
|
|
44
44
|
let data = "";
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
stdin.setEncoding("utf-8");
|
|
46
|
+
stdin.on("data", (chunk) => (data += chunk));
|
|
47
|
+
stdin.on("end", () => resolve(data.trim() || null));
|
|
48
|
+
stdin.on("error", reject);
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
async function parseJsonInput(options) {
|
|
@@ -60,9 +60,9 @@ async function parseJsonInput(options) {
|
|
|
60
60
|
}
|
|
61
61
|
return null;
|
|
62
62
|
}
|
|
63
|
-
async function getJsonInput(flags) {
|
|
64
|
-
if (flags.stdin
|
|
65
|
-
const input = await readStdin();
|
|
63
|
+
async function getJsonInput(flags, stdin = process.stdin) {
|
|
64
|
+
if (flags.stdin) {
|
|
65
|
+
const input = await readStdin(stdin);
|
|
66
66
|
if (input) {
|
|
67
67
|
try {
|
|
68
68
|
return JSON.parse(input);
|