@ecomweb/cli 0.6.1 → 0.7.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 +181 -10
- package/dist/commands/deploy.js +16 -3
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/deployments/promote.js +1 -1
- package/dist/commands/deployments/promote.js.map +1 -1
- package/dist/commands/deployments/rollback.js +1 -1
- package/dist/commands/deployments/rollback.js.map +1 -1
- package/dist/commands/deployments/unpublish.js +1 -1
- package/dist/commands/deployments/unpublish.js.map +1 -1
- package/dist/commands/describe.d.ts +1 -1
- package/dist/commands/describe.js +4 -4
- package/dist/commands/describe.js.map +1 -1
- package/dist/commands/metafield-definitions/create.d.ts +20 -0
- package/dist/commands/metafield-definitions/create.js +34 -0
- package/dist/commands/metafield-definitions/create.js.map +1 -0
- package/dist/commands/metafield-definitions/delete.d.ts +21 -0
- package/dist/commands/metafield-definitions/delete.js +32 -0
- package/dist/commands/metafield-definitions/delete.js.map +1 -0
- package/dist/commands/metafield-definitions/get.d.ts +21 -0
- package/dist/commands/metafield-definitions/get.js +30 -0
- package/dist/commands/metafield-definitions/get.js.map +1 -0
- package/dist/commands/metafield-definitions/list.d.ts +19 -0
- package/dist/commands/metafield-definitions/list.js +35 -0
- package/dist/commands/metafield-definitions/list.js.map +1 -0
- package/dist/commands/metafield-definitions/update.d.ts +23 -0
- package/dist/commands/metafield-definitions/update.js +39 -0
- package/dist/commands/metafield-definitions/update.js.map +1 -0
- package/dist/commands/metafields/get.d.ts +19 -0
- package/dist/commands/metafields/get.js +32 -0
- package/dist/commands/metafields/get.js.map +1 -0
- package/dist/commands/metafields/set.d.ts +24 -0
- package/dist/commands/metafields/set.js +83 -0
- package/dist/commands/metafields/set.js.map +1 -0
- package/dist/commands/metaobject-definitions/create.d.ts +20 -0
- package/dist/commands/metaobject-definitions/create.js +33 -0
- package/dist/commands/metaobject-definitions/create.js.map +1 -0
- package/dist/commands/metaobject-definitions/delete.d.ts +21 -0
- package/dist/commands/metaobject-definitions/delete.js +32 -0
- package/dist/commands/metaobject-definitions/delete.js.map +1 -0
- package/dist/commands/metaobject-definitions/get.d.ts +21 -0
- package/dist/commands/metaobject-definitions/get.js +31 -0
- package/dist/commands/metaobject-definitions/get.js.map +1 -0
- package/dist/commands/metaobject-definitions/list.d.ts +20 -0
- package/dist/commands/metaobject-definitions/list.js +41 -0
- package/dist/commands/metaobject-definitions/list.js.map +1 -0
- package/dist/commands/metaobject-definitions/update.d.ts +23 -0
- package/dist/commands/metaobject-definitions/update.js +38 -0
- package/dist/commands/metaobject-definitions/update.js.map +1 -0
- package/dist/commands/metaobjects/create.d.ts +24 -0
- package/dist/commands/metaobjects/create.js +40 -0
- package/dist/commands/metaobjects/create.js.map +1 -0
- package/dist/commands/metaobjects/delete.d.ts +22 -0
- package/dist/commands/metaobjects/delete.js +34 -0
- package/dist/commands/metaobjects/delete.js.map +1 -0
- package/dist/commands/metaobjects/get.d.ts +22 -0
- package/dist/commands/metaobjects/get.js +32 -0
- package/dist/commands/metaobjects/get.js.map +1 -0
- package/dist/commands/metaobjects/list.d.ts +24 -0
- package/dist/commands/metaobjects/list.js +56 -0
- package/dist/commands/metaobjects/list.js.map +1 -0
- package/dist/commands/metaobjects/update.d.ts +27 -0
- package/dist/commands/metaobjects/update.js +45 -0
- package/dist/commands/metaobjects/update.js.map +1 -0
- package/dist/commands/storefront/init.d.ts +3 -1
- package/dist/commands/storefront/init.js +23 -2
- package/dist/commands/storefront/init.js.map +1 -1
- package/dist/commands/theme/create.d.ts +20 -0
- package/dist/commands/theme/create.js +40 -0
- package/dist/commands/theme/create.js.map +1 -0
- package/dist/commands/theme/duplicate.d.ts +22 -0
- package/dist/commands/theme/duplicate.js +34 -0
- package/dist/commands/theme/duplicate.js.map +1 -0
- package/dist/commands/theme/link.d.ts +24 -0
- package/dist/commands/theme/link.js +60 -0
- package/dist/commands/theme/link.js.map +1 -0
- package/dist/commands/theme/list.d.ts +18 -0
- package/dist/commands/theme/list.js +32 -0
- package/dist/commands/theme/list.js.map +1 -0
- package/dist/commands/theme/publish.d.ts +22 -0
- package/dist/commands/theme/publish.js +68 -0
- package/dist/commands/theme/publish.js.map +1 -0
- package/dist/commands/theme/schema/push.d.ts +20 -0
- package/dist/commands/theme/schema/push.js +61 -0
- package/dist/commands/theme/schema/push.js.map +1 -0
- package/dist/commands/theme/update.d.ts +23 -0
- package/dist/commands/theme/update.js +62 -0
- package/dist/commands/theme/update.js.map +1 -0
- package/dist/commands/theme/use.d.ts +23 -0
- package/dist/commands/theme/use.js +71 -0
- package/dist/commands/theme/use.js.map +1 -0
- package/dist/commands/theme/versions.d.ts +21 -0
- package/dist/commands/theme/versions.js +33 -0
- package/dist/commands/theme/versions.js.map +1 -0
- package/dist/lib/custom-data.d.ts +42 -0
- package/dist/lib/custom-data.js +167 -0
- package/dist/lib/custom-data.js.map +1 -0
- package/dist/lib/deployments.d.ts +8 -1
- package/dist/lib/deployments.js +58 -11
- package/dist/lib/deployments.js.map +1 -1
- package/dist/lib/describe-metafields.d.ts +9 -0
- package/dist/lib/describe-metafields.js +213 -0
- package/dist/lib/describe-metafields.js.map +1 -0
- package/dist/lib/live-confirm.d.ts +11 -0
- package/dist/lib/live-confirm.js +34 -0
- package/dist/lib/live-confirm.js.map +1 -0
- package/dist/lib/project-setup.d.ts +1 -0
- package/dist/lib/project-setup.js +20 -0
- package/dist/lib/project-setup.js.map +1 -1
- package/dist/lib/template-scaffold.d.ts +1 -0
- package/dist/lib/template-scaffold.js +5 -2
- package/dist/lib/template-scaffold.js.map +1 -1
- package/dist/lib/theme-schema-export.d.ts +1 -1
- package/dist/lib/theme-schema-export.js +4 -5
- package/dist/lib/theme-schema-export.js.map +1 -1
- package/dist/lib/themes.d.ts +143 -0
- package/dist/lib/themes.js +277 -0
- package/dist/lib/themes.js.map +1 -0
- package/dist/lib/validators.js +16 -0
- package/dist/lib/validators.js.map +1 -1
- package/oclif.manifest.json +7965 -4834
- package/package.json +1 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { BaseCommand } from "../../base-command";
|
|
2
|
+
export default class MetaobjectsCreate extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
handle: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
status: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
data: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
stdin: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
file: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
type: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
"store-ref": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
|
+
"api-key": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
|
+
"api-url": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
15
|
+
output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
16
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
17
|
+
"dry-run": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
18
|
+
profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
19
|
+
full: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
20
|
+
fields: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
21
|
+
exclude: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
22
|
+
};
|
|
23
|
+
run(): Promise<void>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
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 custom_data_1 = require("../../lib/custom-data");
|
|
7
|
+
const HINT = "ecomweb describe metaobjects --operation create";
|
|
8
|
+
class MetaobjectsCreate extends base_command_1.BaseCommand {
|
|
9
|
+
async run() {
|
|
10
|
+
const storeRef = this.requireStore();
|
|
11
|
+
const type = this.getFlag("type");
|
|
12
|
+
const body = await (0, custom_data_1.readEntryBody)({
|
|
13
|
+
stdin: this.getFlag("stdin"),
|
|
14
|
+
file: this.getFlag("file"),
|
|
15
|
+
handle: this.getFlag("handle"),
|
|
16
|
+
status: this.getFlag("status"),
|
|
17
|
+
data: this.getFlag("data"),
|
|
18
|
+
}, HINT);
|
|
19
|
+
if (this.isDryRun) {
|
|
20
|
+
this.outputResult((0, output_1.mutationEnvelope)("metaobjects", "create (dry-run)", storeRef, { type, ...body }));
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const result = await (0, custom_data_1.callApi)(() => this.apiClient.storePost((0, custom_data_1.entriesPath)(type), body));
|
|
24
|
+
this.outputResult((0, output_1.mutationEnvelope)("metaobjects", "create", storeRef, result, {
|
|
25
|
+
get: `ecomweb metaobjects get ${result?.id} --type ${type}`,
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
MetaobjectsCreate.description = "Create a metaobject entry";
|
|
30
|
+
MetaobjectsCreate.examples = [
|
|
31
|
+
`ecomweb metaobjects create --type feedbacks --data '{"name":"Lan Anh","content":"Great quality"}'`,
|
|
32
|
+
`ecomweb metaobjects create --type feedbacks --stdin <<< '{"handle":"lan-anh","status":"draft","fields":{"name":"Lan Anh"}}'`,
|
|
33
|
+
];
|
|
34
|
+
MetaobjectsCreate.flags = {
|
|
35
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
36
|
+
type: core_1.Flags.string({ description: "Metaobject type, e.g. feedbacks", required: true }),
|
|
37
|
+
...custom_data_1.entryFlags,
|
|
38
|
+
};
|
|
39
|
+
exports.default = MetaobjectsCreate;
|
|
40
|
+
//# sourceMappingURL=create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/metaobjects/create.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AACpC,qDAAiD;AACjD,6CAAoD;AACpD,uDAAwF;AAExF,MAAM,IAAI,GAAG,iDAAiD,CAAC;AAE/D,MAAqB,iBAAkB,SAAQ,0BAAW;IAcxD,KAAK,CAAC,GAAG;QACP,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAS,MAAM,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,MAAM,IAAA,2BAAa,EAC9B;YACE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAC5B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC9B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC9B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;SAC3B,EACD,IAAI,CACL,CAAC;QAEF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,YAAY,CAAC,IAAA,yBAAgB,EAAC,aAAa,EAAE,kBAAkB,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;YACpG,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAO,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAA,yBAAW,EAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAEtF,IAAI,CAAC,YAAY,CACf,IAAA,yBAAgB,EAAC,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE;YAC1D,GAAG,EAAE,2BAA2B,MAAM,EAAE,EAAE,WAAW,IAAI,EAAE;SAC5D,CAAC,CACH,CAAC;IACJ,CAAC;;AAvCM,6BAAW,GAAG,2BAA2B,CAAC;AAE1C,0BAAQ,GAAG;IAChB,mGAAmG;IACnG,6HAA6H;CAC9H,CAAC;AAEK,uBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,iCAAiC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACtF,GAAG,wBAAU;CACd,CAAC;kBAZiB,iBAAiB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { BaseCommand } from "../../base-command";
|
|
2
|
+
export default class MetaobjectsDelete extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {
|
|
6
|
+
id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
type: import("@oclif/core/lib/interfaces").OptionFlag<string, 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,34 @@
|
|
|
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 custom_data_1 = require("../../lib/custom-data");
|
|
7
|
+
class MetaobjectsDelete extends base_command_1.BaseCommand {
|
|
8
|
+
async run() {
|
|
9
|
+
const storeRef = this.requireStore();
|
|
10
|
+
const { args } = await this.parse(MetaobjectsDelete);
|
|
11
|
+
const id = (0, custom_data_1.routeIdArg)(args.id, "id");
|
|
12
|
+
const type = this.getFlag("type");
|
|
13
|
+
if (this.isDryRun) {
|
|
14
|
+
this.outputResult((0, output_1.mutationEnvelope)("metaobjects", "delete (dry-run)", storeRef, { id: id, type }));
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
await (0, custom_data_1.callApi)(() => this.apiClient.storeDelete(`${(0, custom_data_1.entriesPath)(type)}/${id}`));
|
|
18
|
+
this.outputResult((0, output_1.mutationEnvelope)("metaobjects", "delete", storeRef, { id: id, type, deleted: true }));
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
MetaobjectsDelete.description = "Delete a metaobject entry. References to it resolve to nothing.";
|
|
22
|
+
MetaobjectsDelete.examples = [
|
|
23
|
+
"ecomweb metaobjects delete 41 --type feedbacks",
|
|
24
|
+
"ecomweb metaobjects delete 41 --type feedbacks --dry-run",
|
|
25
|
+
];
|
|
26
|
+
MetaobjectsDelete.args = {
|
|
27
|
+
id: core_1.Args.string({ description: "Entry ID", required: true }),
|
|
28
|
+
};
|
|
29
|
+
MetaobjectsDelete.flags = {
|
|
30
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
31
|
+
type: core_1.Flags.string({ description: "Metaobject type, e.g. feedbacks", required: true }),
|
|
32
|
+
};
|
|
33
|
+
exports.default = MetaobjectsDelete;
|
|
34
|
+
//# sourceMappingURL=delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/metaobjects/delete.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAC1C,qDAAiD;AACjD,6CAAoD;AACpD,uDAAyE;AAEzE,MAAqB,iBAAkB,SAAQ,0BAAW;IAiBxD,KAAK,CAAC,GAAG;QACP,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrD,MAAM,EAAE,GAAG,IAAA,wBAAU,EAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAS,MAAM,CAAC,CAAC;QAE1C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,YAAY,CAAC,IAAA,yBAAgB,EAAC,aAAa,EAAE,kBAAkB,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACnG,OAAO;QACT,CAAC;QAGD,MAAM,IAAA,qBAAO,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,IAAA,yBAAW,EAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QAE9E,IAAI,CAAC,YAAY,CAAC,IAAA,yBAAgB,EAAC,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1G,CAAC;;AA/BM,6BAAW,GAAG,iEAAiE,CAAC;AAEhF,0BAAQ,GAAG;IAChB,gDAAgD;IAChD,0DAA0D;CAC3D,CAAC;AAEK,sBAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CAC7D,CAAC;AAEK,uBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,iCAAiC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CACvF,CAAC;kBAfiB,iBAAiB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { BaseCommand } from "../../base-command";
|
|
2
|
+
export default class MetaobjectsGet extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {
|
|
6
|
+
id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
type: import("@oclif/core/lib/interfaces").OptionFlag<string, 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,32 @@
|
|
|
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 custom_data_1 = require("../../lib/custom-data");
|
|
7
|
+
class MetaobjectsGet extends base_command_1.BaseCommand {
|
|
8
|
+
async run() {
|
|
9
|
+
const storeRef = this.requireStore();
|
|
10
|
+
const { args } = await this.parse(MetaobjectsGet);
|
|
11
|
+
const id = (0, custom_data_1.routeIdArg)(args.id, "id");
|
|
12
|
+
const type = this.getFlag("type");
|
|
13
|
+
const data = await (0, custom_data_1.callApi)(() => this.apiClient.storeGet(`${(0, custom_data_1.entriesPath)(type)}/${id}`));
|
|
14
|
+
this.outputResult((0, output_1.getEnvelope)("metaobjects", storeRef, data, {
|
|
15
|
+
hints: {
|
|
16
|
+
update: `ecomweb metaobjects update ${id} --type ${type} --stdin`,
|
|
17
|
+
delete: `ecomweb metaobjects delete ${id} --type ${type}`,
|
|
18
|
+
},
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
MetaobjectsGet.description = "Get a metaobject entry, with display data for its references";
|
|
23
|
+
MetaobjectsGet.examples = ["ecomweb metaobjects get 41 --type feedbacks"];
|
|
24
|
+
MetaobjectsGet.args = {
|
|
25
|
+
id: core_1.Args.string({ description: "Entry ID", required: true }),
|
|
26
|
+
};
|
|
27
|
+
MetaobjectsGet.flags = {
|
|
28
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
29
|
+
type: core_1.Flags.string({ description: "Metaobject type, e.g. feedbacks", required: true }),
|
|
30
|
+
};
|
|
31
|
+
exports.default = MetaobjectsGet;
|
|
32
|
+
//# sourceMappingURL=get.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/metaobjects/get.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAC1C,qDAAiD;AACjD,6CAA+C;AAC/C,uDAAyE;AAEzE,MAAqB,cAAe,SAAQ,0BAAW;IAcrD,KAAK,CAAC,GAAG;QACP,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAClD,MAAM,EAAE,GAAG,IAAA,wBAAU,EAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAS,MAAM,CAAC,CAAC;QAE1C,MAAM,IAAI,GAAG,MAAM,IAAA,qBAAO,EAAC,GAAG,EAAE,CAC9B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAA,yBAAW,EAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CACtD,CAAC;QAEF,IAAI,CAAC,YAAY,CACf,IAAA,oBAAW,EAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE;YACzC,KAAK,EAAE;gBACL,MAAM,EAAE,8BAA8B,EAAE,WAAW,IAAI,UAAU;gBACjE,MAAM,EAAE,8BAA8B,EAAE,WAAW,IAAI,EAAE;aAC1D;SACF,CAAC,CACH,CAAC;IACJ,CAAC;;AA/BM,0BAAW,GAAG,8DAA8D,CAAC;AAE7E,uBAAQ,GAAG,CAAC,6CAA6C,CAAC,CAAC;AAE3D,mBAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CAC7D,CAAC;AAEK,oBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,iCAAiC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CACvF,CAAC;kBAZiB,cAAc"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { BaseCommand } from "../../base-command";
|
|
2
|
+
export default class MetaobjectsList extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
type: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
search: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
status: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
filter: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
cursor: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
limit: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
"store-ref": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
|
+
"api-key": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
|
+
"api-url": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
15
|
+
output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
16
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
17
|
+
"dry-run": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
18
|
+
profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
19
|
+
full: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
20
|
+
fields: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
21
|
+
exclude: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
22
|
+
};
|
|
23
|
+
run(): Promise<void>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
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 errors_1 = require("../../lib/errors");
|
|
7
|
+
const custom_data_1 = require("../../lib/custom-data");
|
|
8
|
+
class MetaobjectsList extends base_command_1.BaseCommand {
|
|
9
|
+
async run() {
|
|
10
|
+
const storeRef = this.requireStore();
|
|
11
|
+
const type = this.getFlag("type");
|
|
12
|
+
const params = {};
|
|
13
|
+
for (const name of ["search", "status", "cursor", "limit"]) {
|
|
14
|
+
const value = this.getFlag(name);
|
|
15
|
+
if (value !== undefined)
|
|
16
|
+
params[name] = value;
|
|
17
|
+
}
|
|
18
|
+
for (const pair of this.getFlag("filter") ?? []) {
|
|
19
|
+
const eq = pair.indexOf("=");
|
|
20
|
+
if (eq <= 0) {
|
|
21
|
+
throw new errors_1.CliError("INVALID_FILTER", `--filter must be key=value, got "${pair}".`, errors_1.ExitCode.VALIDATION, {
|
|
22
|
+
hint: `ecomweb metaobjects list --type ${type} --filter rating=5`,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
params[`filter[${pair.slice(0, eq)}]`] = pair.slice(eq + 1);
|
|
26
|
+
}
|
|
27
|
+
const page = await (0, custom_data_1.callApi)(() => this.apiClient.storeGet((0, custom_data_1.entriesPath)(type), params));
|
|
28
|
+
const hints = {
|
|
29
|
+
get: `ecomweb metaobjects get <id> --type ${type}`,
|
|
30
|
+
create: `ecomweb metaobjects create --type ${type} --stdin`,
|
|
31
|
+
};
|
|
32
|
+
if (page.next_cursor) {
|
|
33
|
+
hints.next_page = `ecomweb metaobjects list --type ${type} --cursor '${page.next_cursor}'`;
|
|
34
|
+
}
|
|
35
|
+
this.outputResult((0, output_1.listEnvelope)("metaobjects", storeRef, page.items, { count: page.items.length, next_cursor: page.next_cursor, has_next: page.next_cursor !== null }, { availableActions: ["get", "create", "update", "delete"], hints }));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
MetaobjectsList.description = "List the entries of a metaobject type, most recently updated first";
|
|
39
|
+
MetaobjectsList.examples = [
|
|
40
|
+
"ecomweb metaobjects list --type feedbacks",
|
|
41
|
+
"ecomweb metaobjects list --type feedbacks --status active --filter rating=5 --limit 20",
|
|
42
|
+
];
|
|
43
|
+
MetaobjectsList.flags = {
|
|
44
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
45
|
+
type: core_1.Flags.string({ description: "Metaobject type, e.g. feedbacks", required: true }),
|
|
46
|
+
search: core_1.Flags.string({ description: "Search display names and handles" }),
|
|
47
|
+
status: core_1.Flags.string({ description: "Entry status", options: ["active", "draft"] }),
|
|
48
|
+
filter: core_1.Flags.string({
|
|
49
|
+
description: "Equality filter on a filter key, key=value (repeatable)",
|
|
50
|
+
multiple: true,
|
|
51
|
+
}),
|
|
52
|
+
cursor: core_1.Flags.string({ description: "The next_cursor of the previous page" }),
|
|
53
|
+
limit: core_1.Flags.integer({ description: "Entries per page (1 to 100, default 50)", min: 1, max: 100 }),
|
|
54
|
+
};
|
|
55
|
+
exports.default = MetaobjectsList;
|
|
56
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/metaobjects/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { BaseCommand } from "../../base-command";
|
|
2
|
+
export default class MetaobjectsUpdate extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {
|
|
6
|
+
id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
handle: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
status: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
data: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
stdin: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
file: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
|
+
type: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
15
|
+
"store-ref": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
16
|
+
"api-key": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
17
|
+
"api-url": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
18
|
+
output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
19
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
20
|
+
"dry-run": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
21
|
+
profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
22
|
+
full: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
23
|
+
fields: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
24
|
+
exclude: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
25
|
+
};
|
|
26
|
+
run(): Promise<void>;
|
|
27
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
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 custom_data_1 = require("../../lib/custom-data");
|
|
7
|
+
const HINT = "ecomweb describe metaobjects --operation update";
|
|
8
|
+
class MetaobjectsUpdate extends base_command_1.BaseCommand {
|
|
9
|
+
async run() {
|
|
10
|
+
const storeRef = this.requireStore();
|
|
11
|
+
const { args } = await this.parse(MetaobjectsUpdate);
|
|
12
|
+
const id = (0, custom_data_1.routeIdArg)(args.id, "id");
|
|
13
|
+
const type = this.getFlag("type");
|
|
14
|
+
const body = await (0, custom_data_1.readEntryBody)({
|
|
15
|
+
stdin: this.getFlag("stdin"),
|
|
16
|
+
file: this.getFlag("file"),
|
|
17
|
+
handle: this.getFlag("handle"),
|
|
18
|
+
status: this.getFlag("status"),
|
|
19
|
+
data: this.getFlag("data"),
|
|
20
|
+
}, HINT);
|
|
21
|
+
if (this.isDryRun) {
|
|
22
|
+
this.outputResult((0, output_1.mutationEnvelope)("metaobjects", "update (dry-run)", storeRef, { id: id, type, ...body }));
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const result = await (0, custom_data_1.callApi)(() => this.apiClient.storePatch(`${(0, custom_data_1.entriesPath)(type)}/${id}`, body));
|
|
26
|
+
this.outputResult((0, output_1.mutationEnvelope)("metaobjects", "update", storeRef, result, {
|
|
27
|
+
get: `ecomweb metaobjects get ${id} --type ${type}`,
|
|
28
|
+
}));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
MetaobjectsUpdate.description = "Update a metaobject entry. Fields merge per key; a null value clears that field.";
|
|
32
|
+
MetaobjectsUpdate.examples = [
|
|
33
|
+
`ecomweb metaobjects update 41 --type feedbacks --data '{"content":"Updated"}'`,
|
|
34
|
+
"ecomweb metaobjects update 41 --type feedbacks --status active",
|
|
35
|
+
];
|
|
36
|
+
MetaobjectsUpdate.args = {
|
|
37
|
+
id: core_1.Args.string({ description: "Entry ID", required: true }),
|
|
38
|
+
};
|
|
39
|
+
MetaobjectsUpdate.flags = {
|
|
40
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
41
|
+
type: core_1.Flags.string({ description: "Metaobject type, e.g. feedbacks", required: true }),
|
|
42
|
+
...custom_data_1.entryFlags,
|
|
43
|
+
};
|
|
44
|
+
exports.default = MetaobjectsUpdate;
|
|
45
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/metaobjects/update.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAC1C,qDAAiD;AACjD,6CAAoD;AACpD,uDAAoG;AAEpG,MAAM,IAAI,GAAG,iDAAiD,CAAC;AAE/D,MAAqB,iBAAkB,SAAQ,0BAAW;IAkBxD,KAAK,CAAC,GAAG;QACP,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrD,MAAM,EAAE,GAAG,IAAA,wBAAU,EAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAS,MAAM,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,MAAM,IAAA,2BAAa,EAC9B;YACE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAC5B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC9B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC9B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;SAC3B,EACD,IAAI,CACL,CAAC;QAEF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,YAAY,CAAC,IAAA,yBAAgB,EAAC,aAAa,EAAE,kBAAkB,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5G,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAO,EAAC,GAAG,EAAE,CAChC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,IAAA,yBAAW,EAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAC9D,CAAC;QAEF,IAAI,CAAC,YAAY,CACf,IAAA,yBAAgB,EAAC,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE;YAC1D,GAAG,EAAE,2BAA2B,EAAE,WAAW,IAAI,EAAE;SACpD,CAAC,CACH,CAAC;IACJ,CAAC;;AA/CM,6BAAW,GAAG,kFAAkF,CAAC;AAEjG,0BAAQ,GAAG;IAChB,+EAA+E;IAC/E,gEAAgE;CACjE,CAAC;AAEK,sBAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CAC7D,CAAC;AAEK,uBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,iCAAiC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACtF,GAAG,wBAAU;CACd,CAAC;kBAhBiB,iBAAiB"}
|
|
@@ -20,6 +20,7 @@ export default class StorefrontInit extends BaseCommand {
|
|
|
20
20
|
};
|
|
21
21
|
static flags: {
|
|
22
22
|
github: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
23
|
+
theme: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
23
24
|
"repo-name": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
24
25
|
public: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
25
26
|
install: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
@@ -36,8 +37,9 @@ export default class StorefrontInit extends BaseCommand {
|
|
|
36
37
|
exclude: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
37
38
|
};
|
|
38
39
|
run(): Promise<void>;
|
|
40
|
+
protected checkTheme(id: string | undefined): Promise<string | undefined>;
|
|
39
41
|
protected installStep(dir: string): "installed" | "failed" | "skipped";
|
|
40
42
|
protected finish(dir: string, install: "installed" | "failed" | "skipped"): Promise<void>;
|
|
41
|
-
protected runGitHub(storeRef: string, dir: string, status: RepoStatus): Promise<void>;
|
|
43
|
+
protected runGitHub(storeRef: string, dir: string, status: RepoStatus, storeThemeId?: string): Promise<void>;
|
|
42
44
|
}
|
|
43
45
|
export {};
|
|
@@ -13,6 +13,7 @@ const publishable_key_1 = require("../../lib/publishable-key");
|
|
|
13
13
|
const project_setup_1 = require("../../lib/project-setup");
|
|
14
14
|
const template_download_1 = require("../../lib/template-download");
|
|
15
15
|
const github_flow_1 = require("../../lib/github-flow");
|
|
16
|
+
const themes_1 = require("../../lib/themes");
|
|
16
17
|
const template_scaffold_1 = require("../../lib/template-scaffold");
|
|
17
18
|
class StorefrontInit extends base_command_1.BaseCommand {
|
|
18
19
|
async run() {
|
|
@@ -20,12 +21,13 @@ class StorefrontInit extends base_command_1.BaseCommand {
|
|
|
20
21
|
const storeRef = this.requireStore();
|
|
21
22
|
const dir = node_path_1.default.resolve(args.dir ?? `${storeRef}-storefront`);
|
|
22
23
|
(0, template_scaffold_1.assertEmptyDir)(dir);
|
|
24
|
+
const storeThemeId = await this.checkTheme(this.getFlag("theme")?.trim() || undefined);
|
|
23
25
|
const status = await this.apiClient.storeGet("/storefront/repo");
|
|
24
26
|
if (!status.enabled) {
|
|
25
27
|
throw new errors_1.CliError("NOT_ENABLED", "Storefront code delivery is not enabled on this ecomweb server yet", errors_1.ExitCode.ERROR);
|
|
26
28
|
}
|
|
27
29
|
if (this.getFlag("github")) {
|
|
28
|
-
await this.runGitHub(storeRef, dir, status);
|
|
30
|
+
await this.runGitHub(storeRef, dir, status, storeThemeId);
|
|
29
31
|
return;
|
|
30
32
|
}
|
|
31
33
|
const template = await (0, template_download_1.downloadTemplate)(this.apiClient);
|
|
@@ -38,6 +40,7 @@ class StorefrontInit extends base_command_1.BaseCommand {
|
|
|
38
40
|
publishableKey: key.key,
|
|
39
41
|
siteUrl: status.site_url,
|
|
40
42
|
templateVersion: template.version,
|
|
43
|
+
storeThemeId,
|
|
41
44
|
});
|
|
42
45
|
(0, template_scaffold_1.gitInitialCommit)(dir, `Initial storefront from ecomweb template ${template.version}`);
|
|
43
46
|
const install = this.installStep(dir);
|
|
@@ -45,11 +48,23 @@ class StorefrontInit extends base_command_1.BaseCommand {
|
|
|
45
48
|
dir,
|
|
46
49
|
files,
|
|
47
50
|
template_version: template.version,
|
|
51
|
+
...(storeThemeId && { store_theme_id: storeThemeId }),
|
|
48
52
|
install,
|
|
49
53
|
next_steps: [`cd ${node_path_1.default.relative(process.cwd(), dir) || "."}`, "pnpm install", "pnpm dev"],
|
|
50
54
|
});
|
|
51
55
|
await this.finish(dir, install);
|
|
52
56
|
}
|
|
57
|
+
async checkTheme(id) {
|
|
58
|
+
if (id === undefined)
|
|
59
|
+
return undefined;
|
|
60
|
+
if (!/^\d{1,18}$/.test(id)) {
|
|
61
|
+
throw new errors_1.CliError("INVALID_INPUT", `--theme takes a theme id, not "${id}".`, errors_1.ExitCode.VALIDATION, {
|
|
62
|
+
hint: "List the store's themes with: ecomweb theme list",
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
await (0, themes_1.getTheme)(this.apiClient, id);
|
|
66
|
+
return id;
|
|
67
|
+
}
|
|
53
68
|
installStep(dir) {
|
|
54
69
|
if (!this.getFlag("install"))
|
|
55
70
|
return "skipped";
|
|
@@ -74,7 +89,7 @@ class StorefrontInit extends base_command_1.BaseCommand {
|
|
|
74
89
|
if (start)
|
|
75
90
|
(0, node_child_process_1.spawnSync)("pnpm", ["dev"], { cwd: dir, stdio: ["inherit", 2, 2] });
|
|
76
91
|
}
|
|
77
|
-
async runGitHub(storeRef, dir, status) {
|
|
92
|
+
async runGitHub(storeRef, dir, status, storeThemeId) {
|
|
78
93
|
if (!status.github.connected) {
|
|
79
94
|
const { url } = await this.apiClient.storePost("/integrations/github/install-url");
|
|
80
95
|
this.logToStderr(`Install the ecomweb GitHub App to continue:\n ${url}`);
|
|
@@ -84,6 +99,7 @@ class StorefrontInit extends base_command_1.BaseCommand {
|
|
|
84
99
|
await this.apiClient.storePost("/storefront/repo", {
|
|
85
100
|
name: this.getFlag("repo-name") ?? `${storeRef}-storefront`,
|
|
86
101
|
private: !this.getFlag("public"),
|
|
102
|
+
...(storeThemeId && { store_theme_id: storeThemeId }),
|
|
87
103
|
});
|
|
88
104
|
const done = await (0, github_flow_1.waitFor)(() => this.apiClient.storeGet("/storefront/repo"), (s) => s.repo?.status === "ready" || s.repo?.status === "failed", { intervalMs: 3000, timeoutMs: 5 * 60 * 1000 });
|
|
89
105
|
if (done.repo?.status !== "ready" || !done.repo.html_url) {
|
|
@@ -97,6 +113,7 @@ class StorefrontInit extends base_command_1.BaseCommand {
|
|
|
97
113
|
this.outputJson({
|
|
98
114
|
dir,
|
|
99
115
|
repository: done.repo.html_url,
|
|
116
|
+
...(storeThemeId && { store_theme_id: storeThemeId }),
|
|
100
117
|
install,
|
|
101
118
|
...(warning && { warning }),
|
|
102
119
|
next_steps: [`cd ${node_path_1.default.relative(process.cwd(), dir) || "."}`, "pnpm install", "pnpm dev"],
|
|
@@ -108,6 +125,7 @@ StorefrontInit.description = "Get the current store's storefront as code you own
|
|
|
108
125
|
StorefrontInit.examples = [
|
|
109
126
|
"ecomweb storefront init",
|
|
110
127
|
"ecomweb storefront init ./my-shop",
|
|
128
|
+
"ecomweb storefront init --theme 12",
|
|
111
129
|
];
|
|
112
130
|
StorefrontInit.args = {
|
|
113
131
|
dir: core_1.Args.string({
|
|
@@ -121,6 +139,9 @@ StorefrontInit.flags = {
|
|
|
121
139
|
description: "Create the repository in your GitHub account through the ecomweb GitHub App",
|
|
122
140
|
default: false,
|
|
123
141
|
}),
|
|
142
|
+
theme: core_1.Flags.string({
|
|
143
|
+
description: "The theme this project is for (any theme: a deploy adds a build to its versions): saved as storeThemeId in .ecomweb.json, so deploys go to it",
|
|
144
|
+
}),
|
|
124
145
|
"repo-name": core_1.Flags.string({ description: "Repository name for --github" }),
|
|
125
146
|
public: core_1.Flags.boolean({ description: "Make the --github repository public", default: false }),
|
|
126
147
|
install: core_1.Flags.boolean({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/storefront/init.ts"],"names":[],"mappings":";;;;;AAAA,2DAA6D;AAC7D,+CAA4C;AAC5C,0DAA6B;AAC7B,sCAA0C;AAC1C,qDAAiD;AACjD,6CAAsD;AACtD,+DAAgE;AAChE,2DAAgG;AAChG,mEAA+D;AAC/D,uDAA+D;AAC/D,mEAIqC;AASrC,MAAqB,cAAe,SAAQ,0BAAW;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/storefront/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { BaseCommand } from "../../base-command";
|
|
2
|
+
export default class ThemeCreate extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
from: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
name: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
"store-ref": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
"api-key": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
"api-url": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
"dry-run": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
15
|
+
full: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
fields: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
17
|
+
exclude: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
18
|
+
};
|
|
19
|
+
run(): Promise<void>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
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 themes_1 = require("../../lib/themes");
|
|
7
|
+
const DEFAULT_NOTE = "Note: theme create adds the Default catalog theme (pick another with --from). For your own code, get it with ecomweb storefront init --theme <id>, then ecomweb deploy";
|
|
8
|
+
class ThemeCreate extends base_command_1.BaseCommand {
|
|
9
|
+
async run() {
|
|
10
|
+
const storeRef = this.requireStore();
|
|
11
|
+
const name = this.getFlag("name")?.trim() || undefined;
|
|
12
|
+
const from = this.getFlag("from")?.trim() || undefined;
|
|
13
|
+
if (name && !from && !this.getFlag("quiet")) {
|
|
14
|
+
process.stderr.write(`${DEFAULT_NOTE}\n`);
|
|
15
|
+
}
|
|
16
|
+
const input = { name, from };
|
|
17
|
+
if (this.isDryRun) {
|
|
18
|
+
this.outputResult((0, output_1.mutationEnvelope)("theme", "create (dry-run)", storeRef, (0, themes_1.createThemeBody)(input)));
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const row = (0, themes_1.themeRow)(await (0, themes_1.createTheme)(this.apiClient, input));
|
|
22
|
+
this.outputResult((0, output_1.mutationEnvelope)("theme", "create", storeRef, row, {
|
|
23
|
+
next: `ecomweb storefront init --theme ${row.id}`,
|
|
24
|
+
link: `ecomweb theme link ${row.id} --url <https url>`,
|
|
25
|
+
publish: `ecomweb theme publish ${row.id}`,
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
ThemeCreate.description = "Add a theme from the theme store (--from, default: the Default theme), using its newest release. Put your own code on it with `ecomweb deploy --theme <id>`, or your own site with `ecomweb theme link`";
|
|
30
|
+
ThemeCreate.examples = [
|
|
31
|
+
"ecomweb theme create",
|
|
32
|
+
'ecomweb theme create --from default --name "My code"',
|
|
33
|
+
];
|
|
34
|
+
ThemeCreate.flags = {
|
|
35
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
36
|
+
from: core_1.Flags.string({ description: `The theme store's theme to add (default: ${themes_1.DEFAULT_CATALOG_THEME})` }),
|
|
37
|
+
name: core_1.Flags.string({ description: "The theme's name (default: the catalog theme's)" }),
|
|
38
|
+
};
|
|
39
|
+
exports.default = ThemeCreate;
|
|
40
|
+
//# sourceMappingURL=create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/theme/create.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AACpC,qDAAiD;AACjD,6CAAoD;AACpD,6CAAiG;AAEjG,MAAM,YAAY,GAChB,wKAAwK,CAAC;AAE3K,MAAqB,WAAY,SAAQ,0BAAW;IAelD,KAAK,CAAC,GAAG;QACP,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAqB,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;QAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAqB,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;QAC3E,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAU,OAAO,CAAC,EAAE,CAAC;YACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,YAAY,IAAI,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAE7B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,YAAY,CAAC,IAAA,yBAAgB,EAAC,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAA,wBAAe,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACnG,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,IAAA,iBAAQ,EAAC,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,YAAY,CACf,IAAA,yBAAgB,EAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE;YACjD,IAAI,EAAE,mCAAmC,GAAG,CAAC,EAAE,EAAE;YACjD,IAAI,EAAE,sBAAsB,GAAG,CAAC,EAAE,oBAAoB;YACtD,OAAO,EAAE,yBAAyB,GAAG,CAAC,EAAE,EAAE;SAC3C,CAAC,CACH,CAAC;IACJ,CAAC;;AApCM,uBAAW,GAChB,yMAAyM,CAAC;AAErM,oBAAQ,GAAG;IAChB,sBAAsB;IACtB,sDAAsD;CACvD,CAAC;AAEK,iBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,4CAA4C,8BAAqB,GAAG,EAAE,CAAC;IACzG,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,iDAAiD,EAAE,CAAC;CACvF,CAAC;kBAbiB,WAAW"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { BaseCommand } from "../../base-command";
|
|
2
|
+
export default class ThemeDuplicate extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {
|
|
6
|
+
id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
name: 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
|
+
}
|