@ikas/component-cli 1.4.0-beta.215 → 1.4.0-beta.217
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/config.d.ts +10 -0
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +31 -7
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/delete-theme-globals.d.ts.map +1 -1
- package/dist/commands/delete-theme-globals.js +4 -2
- package/dist/commands/delete-theme-globals.js.map +1 -1
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +50 -31
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/enable-builtin-pages.d.ts.map +1 -1
- package/dist/commands/enable-builtin-pages.js +2 -1
- package/dist/commands/enable-builtin-pages.js.map +1 -1
- package/dist/commands/list-translations.d.ts +3 -0
- package/dist/commands/list-translations.d.ts.map +1 -0
- package/dist/commands/list-translations.js +33 -0
- package/dist/commands/list-translations.js.map +1 -0
- package/dist/commands/publish.d.ts.map +1 -1
- package/dist/commands/publish.js +3 -1
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/translation-languages.d.ts +3 -0
- package/dist/commands/translation-languages.d.ts.map +1 -0
- package/dist/commands/translation-languages.js +43 -0
- package/dist/commands/translation-languages.js.map +1 -0
- package/dist/commands/update-translations.d.ts +3 -0
- package/dist/commands/update-translations.d.ts.map +1 -0
- package/dist/commands/update-translations.js +37 -0
- package/dist/commands/update-translations.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +24 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/archive-project.d.ts +0 -19
- package/dist/utils/archive-project.d.ts.map +1 -1
- package/dist/utils/archive-project.js +0 -24
- package/dist/utils/archive-project.js.map +1 -1
- package/dist/utils/component-helpers.d.ts +55 -2
- package/dist/utils/component-helpers.d.ts.map +1 -1
- package/dist/utils/component-helpers.js +112 -14
- package/dist/utils/component-helpers.js.map +1 -1
- package/dist/utils/dev-server-auth.d.ts +19 -0
- package/dist/utils/dev-server-auth.d.ts.map +1 -0
- package/dist/utils/dev-server-auth.js +60 -0
- package/dist/utils/dev-server-auth.js.map +1 -0
- package/dist/utils/editor-action-client.d.ts +1 -1
- package/dist/utils/editor-action-client.d.ts.map +1 -1
- package/dist/utils/editor-action-client.js +2 -1
- package/dist/utils/editor-action-client.js.map +1 -1
- package/dist/utils/websocket-server.d.ts +27 -16
- package/dist/utils/websocket-server.d.ts.map +1 -1
- package/dist/utils/websocket-server.js +42 -2
- package/dist/utils/websocket-server.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { printErrorAndExit, printResultAndExit, runEditorAction, } from "../utils/editor-action-client.js";
|
|
3
|
+
async function runTranslationLanguages(options) {
|
|
4
|
+
if (!options.add === !options.remove) {
|
|
5
|
+
printErrorAndExit(new Error("Pass --add <codes> or --remove <code>, one of them."));
|
|
6
|
+
}
|
|
7
|
+
const port = options.port ? parseInt(options.port, 10) : undefined;
|
|
8
|
+
try {
|
|
9
|
+
// The editor owns the checks and the deletion's consent gate (`--yes` is only forwarded).
|
|
10
|
+
const result = options.add
|
|
11
|
+
? await runEditorAction("add-translation-languages", {
|
|
12
|
+
mode: options.mode,
|
|
13
|
+
add: options.add
|
|
14
|
+
.split(",")
|
|
15
|
+
.map((code) => code.trim())
|
|
16
|
+
.filter(Boolean),
|
|
17
|
+
}, port ? { port } : {})
|
|
18
|
+
: await runEditorAction("delete-translation-language", {
|
|
19
|
+
mode: options.mode,
|
|
20
|
+
remove: options.remove,
|
|
21
|
+
...(options.removePageValues ? { remove_page_values: true } : {}),
|
|
22
|
+
confirmed: !!options.yes,
|
|
23
|
+
}, port ? { port } : {});
|
|
24
|
+
printResultAndExit(result);
|
|
25
|
+
}
|
|
26
|
+
catch (e) {
|
|
27
|
+
printErrorAndExit(e);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export function createTranslationLanguagesCommand() {
|
|
31
|
+
const cmd = new Command("translation-languages");
|
|
32
|
+
cmd
|
|
33
|
+
.description("Add languages to the editor's translations page or delete one. --mode store = store languages (a new one gets ikas's common texts); --mode editor = editor languages (tr/en) for the editor texts. Deleting removes every text in that language and is undoable only from the editor's undo stack — confirm with the user and pass --yes.")
|
|
34
|
+
.requiredOption("--mode <mode>", "store | editor")
|
|
35
|
+
.option("--add <codes>", "Comma-separated language codes to add (e.g. de,fr)")
|
|
36
|
+
.option("--remove <code>", "The language code to delete")
|
|
37
|
+
.option("--remove-page-values", "With --remove on a store language that has a storefront routing: also remove that routing's page values")
|
|
38
|
+
.option("--yes", "Confirm the deletion. Required with --remove.")
|
|
39
|
+
.option("--port <port>", "Dev server WebSocket port", "5201")
|
|
40
|
+
.action(runTranslationLanguages);
|
|
41
|
+
return cmd;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=translation-languages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translation-languages.js","sourceRoot":"","sources":["../../src/commands/translation-languages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAW1C,KAAK,UAAU,uBAAuB,CACpC,OAAoC;IAEpC,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACrC,iBAAiB,CACf,IAAI,KAAK,CAAC,qDAAqD,CAAC,CACjE,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,IAAI,CAAC;QACH,0FAA0F;QAC1F,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG;YACxB,CAAC,CAAC,MAAM,eAAe,CACnB,2BAA2B,EAC3B;gBACE,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,GAAG,EAAE,OAAO,CAAC,GAAG;qBACb,KAAK,CAAC,GAAG,CAAC;qBACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;qBAC1B,MAAM,CAAC,OAAO,CAAC;aACnB,EACD,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CACrB;YACH,CAAC,CAAC,MAAM,eAAe,CACnB,6BAA6B,EAC7B;gBACE,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG;aACzB,EACD,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CACrB,CAAC;QACN,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iCAAiC;IAC/C,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACjD,GAAG;SACA,WAAW,CACV,2UAA2U,CAC5U;SACA,cAAc,CAAC,eAAe,EAAE,gBAAgB,CAAC;SACjD,MAAM,CACL,eAAe,EACf,oDAAoD,CACrD;SACA,MAAM,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;SACxD,MAAM,CACL,sBAAsB,EACtB,yGAAyG,CAC1G;SACA,MAAM,CAAC,OAAO,EAAE,+CAA+C,CAAC;SAChE,MAAM,CAAC,eAAe,EAAE,2BAA2B,EAAE,MAAM,CAAC;SAC5D,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACnC,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-translations.d.ts","sourceRoot":"","sources":["../../src/commands/update-translations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmDpC,wBAAgB,+BAA+B,IAAI,OAAO,CAgBzD"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import * as fs from "fs";
|
|
3
|
+
import { printErrorAndExit, printResultAndExit, runEditorAction, } from "../utils/editor-action-client.js";
|
|
4
|
+
async function runUpdateTranslations(options) {
|
|
5
|
+
if (!options.edits === !options.editsFile) {
|
|
6
|
+
printErrorAndExit(new Error("Pass the edits with --edits <json> or --edits-file <path>, one of them."));
|
|
7
|
+
}
|
|
8
|
+
let edits;
|
|
9
|
+
try {
|
|
10
|
+
edits = JSON.parse(options.edits ?? fs.readFileSync(options.editsFile, "utf8"));
|
|
11
|
+
}
|
|
12
|
+
catch (e) {
|
|
13
|
+
printErrorAndExit(new Error(`The edits are not valid JSON: ${e.message}`));
|
|
14
|
+
}
|
|
15
|
+
const port = options.port ? parseInt(options.port, 10) : undefined;
|
|
16
|
+
try {
|
|
17
|
+
// Every edit is checked by the editor before anything is written.
|
|
18
|
+
const result = await runEditorAction("update-translations", { mode: options.mode, locale: options.locale, edits }, port ? { port } : {});
|
|
19
|
+
printResultAndExit(result);
|
|
20
|
+
}
|
|
21
|
+
catch (e) {
|
|
22
|
+
printErrorAndExit(e);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export function createUpdateTranslationsCommand() {
|
|
26
|
+
const cmd = new Command("update-translations");
|
|
27
|
+
cmd
|
|
28
|
+
.description('Write a batch of translations in one language through the editor\'s translations page: a JSON array of { "area", "item_id", "key", "value" } (or { ..., "reset": true } to put back a design asset\'s value). Keys and value kinds come from list-translations --item. Every edit is checked first (language, item, key, value shape, required default names); a batch with an error writes nothing. The batch is one undo step in the editor.')
|
|
29
|
+
.requiredOption("--mode <mode>", "store | editor")
|
|
30
|
+
.requiredOption("--locale <code>", '"default" (the base texts) or a language code')
|
|
31
|
+
.option("--edits <json>", "The edits as a JSON array")
|
|
32
|
+
.option("--edits-file <path>", "A JSON file holding the edits array")
|
|
33
|
+
.option("--port <port>", "Dev server WebSocket port", "5201")
|
|
34
|
+
.action(runUpdateTranslations);
|
|
35
|
+
return cmd;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=update-translations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-translations.js","sourceRoot":"","sources":["../../src/commands/update-translations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAU1C,KAAK,UAAU,qBAAqB,CAClC,OAAkC;IAElC,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAC1C,iBAAiB,CACf,IAAI,KAAK,CACP,yEAAyE,CAC1E,CACF,CAAC;IACJ,CAAC;IACD,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAChB,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,SAAU,EAAE,MAAM,CAAC,CAC7D,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,iBAAiB,CACf,IAAI,KAAK,CAAC,iCAAkC,CAAW,CAAC,OAAO,EAAE,CAAC,CACnE,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,IAAI,CAAC;QACH,kEAAkE;QAClE,MAAM,MAAM,GAAG,MAAM,eAAe,CAClC,qBAAqB,EACrB,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EACrD,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CACrB,CAAC;QACF,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC/C,GAAG;SACA,WAAW,CACV,gbAAgb,CACjb;SACA,cAAc,CAAC,eAAe,EAAE,gBAAgB,CAAC;SACjD,cAAc,CACb,iBAAiB,EACjB,+CAA+C,CAChD;SACA,MAAM,CAAC,gBAAgB,EAAE,2BAA2B,CAAC;SACrD,MAAM,CAAC,qBAAqB,EAAE,qCAAqC,CAAC;SACpE,MAAM,CAAC,eAAe,EAAE,2BAA2B,EAAE,MAAM,CAAC;SAC5D,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACjC,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+GpC,wBAAgB,GAAG,qBAElB;AAED,cAAc,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -16,6 +16,9 @@ import { createEnableBuiltinPagesCommand } from "./commands/enable-builtin-pages
|
|
|
16
16
|
import { createGetPageByTypeCommand } from "./commands/get-page-by-type.js";
|
|
17
17
|
import { createListBuiltinPagesCommand } from "./commands/list-builtin-pages.js";
|
|
18
18
|
import { createUpdateBuiltinPagePropCommand } from "./commands/update-builtin-page-prop.js";
|
|
19
|
+
import { createListTranslationsCommand } from "./commands/list-translations.js";
|
|
20
|
+
import { createUpdateTranslationsCommand } from "./commands/update-translations.js";
|
|
21
|
+
import { createTranslationLanguagesCommand } from "./commands/translation-languages.js";
|
|
19
22
|
import { createGetSectionValuesCommand } from "./commands/get-section-values.js";
|
|
20
23
|
import { createImportCommand } from "./commands/import.js";
|
|
21
24
|
import { createListEntitiesCommand } from "./commands/list-entities.js";
|
|
@@ -75,6 +78,9 @@ program.addCommand(createGetPageByTypeCommand());
|
|
|
75
78
|
program.addCommand(createListBuiltinPagesCommand());
|
|
76
79
|
program.addCommand(createUpdateBuiltinPagePropCommand());
|
|
77
80
|
program.addCommand(createEnableBuiltinPagesCommand());
|
|
81
|
+
program.addCommand(createListTranslationsCommand());
|
|
82
|
+
program.addCommand(createUpdateTranslationsCommand());
|
|
83
|
+
program.addCommand(createTranslationLanguagesCommand());
|
|
78
84
|
program.addCommand(createCreatePageCommand());
|
|
79
85
|
program.addCommand(createDeletePageCommand());
|
|
80
86
|
program.addCommand(createPublishThemeCommand());
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -17,6 +17,12 @@ export interface IkasComponentConfig {
|
|
|
17
17
|
/** Custom type definitions received from the editor (for portability across projects) */
|
|
18
18
|
customTypes?: Array<Record<string, any>>;
|
|
19
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Translations keyed by locale, as the config holds them: `{ "en": { "displayName": "Heading" } }`.
|
|
22
|
+
* The base field (`name`, `displayName`, ...) is the default text; a locale's entry is that
|
|
23
|
+
* language's text. The CLI turns the map into the editor's record list (see `translationRecords`).
|
|
24
|
+
*/
|
|
25
|
+
export type ConfigTranslations<T> = Record<string, T>;
|
|
20
26
|
/**
|
|
21
27
|
* Definition of a single component in the project
|
|
22
28
|
*/
|
|
@@ -26,6 +32,14 @@ export interface ComponentDefinition {
|
|
|
26
32
|
entry: string;
|
|
27
33
|
styles: string;
|
|
28
34
|
props: ComponentProp[];
|
|
35
|
+
/**
|
|
36
|
+
* The component's name in an editor language (`en`), and a store language's default prop
|
|
37
|
+
* values (`propValues`, by prop name) over the config's `defaultValue`s.
|
|
38
|
+
*/
|
|
39
|
+
translations?: ConfigTranslations<{
|
|
40
|
+
name?: string;
|
|
41
|
+
propValues?: Record<string, unknown>;
|
|
42
|
+
}>;
|
|
29
43
|
/** Component type - 'component' (child of section) or 'section' (page-level section) */
|
|
30
44
|
type?: "component" | "section";
|
|
31
45
|
/** Mark this section as the store's header (only for type: "section") */
|
|
@@ -42,6 +56,11 @@ export interface ComponentPropGroup {
|
|
|
42
56
|
id: string;
|
|
43
57
|
name: string;
|
|
44
58
|
description?: string;
|
|
59
|
+
/** The group's name and description in an editor language (`en`). */
|
|
60
|
+
translations?: ConfigTranslations<{
|
|
61
|
+
name?: string;
|
|
62
|
+
description?: string;
|
|
63
|
+
}>;
|
|
45
64
|
children?: ComponentPropGroup[];
|
|
46
65
|
/**
|
|
47
66
|
* Conditional visibility ("Koşullu Prop"). Names a BOOLEAN or ENUM prop on this component; the
|
|
@@ -72,6 +91,11 @@ export interface ComponentProp {
|
|
|
72
91
|
required: boolean;
|
|
73
92
|
defaultValue?: unknown;
|
|
74
93
|
description?: string;
|
|
94
|
+
/** The prop's label and description in an editor language (`en`). */
|
|
95
|
+
translations?: ConfigTranslations<{
|
|
96
|
+
displayName?: string;
|
|
97
|
+
description?: string;
|
|
98
|
+
}>;
|
|
75
99
|
/** Assign this prop to a group (references ComponentPropGroup.id) */
|
|
76
100
|
groupId?: string;
|
|
77
101
|
/** For TYPE props — the type ID from TypeStore (e.g. "@ikas/bp-storefront-models-PaddingStyleType") */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,18 +23,6 @@ export interface ArchiveProjectResult {
|
|
|
23
23
|
size: number;
|
|
24
24
|
fileCount: number;
|
|
25
25
|
}
|
|
26
|
-
export interface UploadArchiveOptions {
|
|
27
|
-
zipPath: string;
|
|
28
|
-
uploadUrl: string;
|
|
29
|
-
/** HTTP method the upload URL was signed for; presigned PUT is the norm. */
|
|
30
|
-
method?: string;
|
|
31
|
-
/** Extra headers the signature requires (e.g. a Content-Type it was signed with). */
|
|
32
|
-
headers?: Record<string, string>;
|
|
33
|
-
}
|
|
34
|
-
export interface UploadArchiveResult {
|
|
35
|
-
status: number;
|
|
36
|
-
etag?: string;
|
|
37
|
-
}
|
|
38
26
|
export declare function isRewritableFile(rel: string): boolean;
|
|
39
27
|
/**
|
|
40
28
|
* Replace every occurrence of a table key with its value, longest key first so
|
|
@@ -57,13 +45,6 @@ export declare function collectProjectFiles(rootDir: string, patterns: string[])
|
|
|
57
45
|
* those entries, which yields the same zip as deleting them first would.
|
|
58
46
|
*/
|
|
59
47
|
export declare function archiveProject(options: ArchiveProjectOptions): Promise<ArchiveProjectResult>;
|
|
60
|
-
/**
|
|
61
|
-
* PUT the zip to a presigned URL (Cloudflare R2 / S3 style). The CLI holds no
|
|
62
|
-
* cloud credentials: the editor asks the ikas backend for a short-lived signed
|
|
63
|
-
* URL and hands it over, so the bytes go straight from the partner's machine
|
|
64
|
-
* to the bucket without passing through the browser or the websocket tunnel.
|
|
65
|
-
*/
|
|
66
|
-
export declare function uploadArchive(options: UploadArchiveOptions): Promise<UploadArchiveResult>;
|
|
67
48
|
/** Delete the zip; also drops the temp dir when it is one `archiveProject` created. */
|
|
68
49
|
export declare function removeArchive(zipPath: string): void;
|
|
69
50
|
//# sourceMappingURL=archive-project.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archive-project.d.ts","sourceRoot":"","sources":["../../src/utils/archive-project.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,UAUpC,CAAC;AAIF,MAAM,WAAW,qBAAqB;IACpC,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"archive-project.d.ts","sourceRoot":"","sources":["../../src/utils/archive-project.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,UAUpC,CAAC;AAIF,MAAM,WAAW,qBAAqB;IACpC,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AA0BD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAIrD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,MAAM,CAUR;AAUD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAEpE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAAE,GACjB,MAAM,EAAE,CAkBV;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CA2D/B;AAED,uFAAuF;AACvF,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAanD"}
|
|
@@ -161,30 +161,6 @@ export async function archiveProject(options) {
|
|
|
161
161
|
});
|
|
162
162
|
return { zipPath, size: fs.statSync(zipPath).size, fileCount: files.length };
|
|
163
163
|
}
|
|
164
|
-
/**
|
|
165
|
-
* PUT the zip to a presigned URL (Cloudflare R2 / S3 style). The CLI holds no
|
|
166
|
-
* cloud credentials: the editor asks the ikas backend for a short-lived signed
|
|
167
|
-
* URL and hands it over, so the bytes go straight from the partner's machine
|
|
168
|
-
* to the bucket without passing through the browser or the websocket tunnel.
|
|
169
|
-
*/
|
|
170
|
-
export async function uploadArchive(options) {
|
|
171
|
-
const body = fs.readFileSync(options.zipPath);
|
|
172
|
-
const method = (options.method ?? "PUT").toUpperCase();
|
|
173
|
-
const headers = {
|
|
174
|
-
"Content-Type": "application/zip",
|
|
175
|
-
"Content-Length": String(body.byteLength),
|
|
176
|
-
...(options.headers ?? {}),
|
|
177
|
-
};
|
|
178
|
-
const response = await fetch(options.uploadUrl, { method, headers, body });
|
|
179
|
-
if (!response.ok) {
|
|
180
|
-
const text = await response.text().catch(() => "");
|
|
181
|
-
throw new Error(`Archive upload failed: ${response.status} ${response.statusText}${text ? ` — ${text.slice(0, 300)}` : ""}`);
|
|
182
|
-
}
|
|
183
|
-
return {
|
|
184
|
-
status: response.status,
|
|
185
|
-
etag: response.headers.get("etag") ?? undefined,
|
|
186
|
-
};
|
|
187
|
-
}
|
|
188
164
|
/** Delete the zip; also drops the temp dir when it is one `archiveProject` created. */
|
|
189
165
|
export function removeArchive(zipPath) {
|
|
190
166
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archive-project.js","sourceRoot":"","sources":["../../src/utils/archive-project.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,cAAc;IACd,MAAM;IACN,WAAW;IACX,MAAM;IACN,QAAQ;IACR,WAAW;IACX,2EAA2E;IAC3E,gEAAgE;IAChE,OAAO;CACR,CAAC;AAEF,MAAM,eAAe,GAAG,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"archive-project.js","sourceRoot":"","sources":["../../src/utils/archive-project.ts"],"names":[],"mappings":"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"}
|
|
@@ -184,9 +184,12 @@ export declare function shouldWriteGlobalTypes(existing: string | null, next: st
|
|
|
184
184
|
export declare function generateComponentFile(componentName: string, props: ComponentProp[], type?: "component" | "section"): string;
|
|
185
185
|
export declare function generateStylesFile(componentName: string, type?: "component" | "section"): string;
|
|
186
186
|
/**
|
|
187
|
-
* Update the barrel export file (src/components/index.ts) to include all components
|
|
187
|
+
* Update the barrel export file (src/components/index.ts) to include all components. Each is exported by its
|
|
188
|
+
* entry's folder, which is named after the function it exports when created; its name may change later.
|
|
188
189
|
*/
|
|
189
|
-
export declare function updateBarrelExport(projectRoot: string,
|
|
190
|
+
export declare function updateBarrelExport(projectRoot: string, components: {
|
|
191
|
+
entry: string;
|
|
192
|
+
}[]): void;
|
|
190
193
|
/**
|
|
191
194
|
* Data shape for IThemePropGroup entries sent via WebSocket / stored in editor.
|
|
192
195
|
* Matches the IThemePropGroup interface from @ikas/editor-models.
|
|
@@ -195,6 +198,11 @@ export interface IThemePropGroupData {
|
|
|
195
198
|
id: string;
|
|
196
199
|
name?: string;
|
|
197
200
|
description?: string;
|
|
201
|
+
translations?: Array<{
|
|
202
|
+
locale: string;
|
|
203
|
+
name?: string;
|
|
204
|
+
description?: string;
|
|
205
|
+
}>;
|
|
198
206
|
propId?: string;
|
|
199
207
|
children?: IThemePropGroupData[];
|
|
200
208
|
requiredPropId?: string;
|
|
@@ -232,6 +240,51 @@ export declare function propIdsByName(props: Array<{
|
|
|
232
240
|
id: string;
|
|
233
241
|
name: string;
|
|
234
242
|
}>): ReadonlyMap<string, string>;
|
|
243
|
+
/** Technical texts the editor saved on a component's wrapper section, keyed as the config keys them. */
|
|
244
|
+
export interface WrapperTechnicalTexts {
|
|
245
|
+
name: string;
|
|
246
|
+
translations: Record<string, {
|
|
247
|
+
name?: string;
|
|
248
|
+
}>;
|
|
249
|
+
props: Record<string, {
|
|
250
|
+
displayName?: string;
|
|
251
|
+
description?: string;
|
|
252
|
+
translations: Record<string, {
|
|
253
|
+
displayName?: string;
|
|
254
|
+
description?: string;
|
|
255
|
+
}>;
|
|
256
|
+
}>;
|
|
257
|
+
propGroups: Record<string, {
|
|
258
|
+
name?: string;
|
|
259
|
+
description?: string;
|
|
260
|
+
translations: Record<string, {
|
|
261
|
+
name?: string;
|
|
262
|
+
description?: string;
|
|
263
|
+
}>;
|
|
264
|
+
}>;
|
|
265
|
+
/** A component's store content edited in the editor: its props' defaults (`null` removes one) */
|
|
266
|
+
defaults?: Record<string, unknown>;
|
|
267
|
+
/** ...and each language's values, replacing the config's */
|
|
268
|
+
propValues?: Record<string, Record<string, unknown>>;
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Writes the technical texts the editor saved back onto a config component: the base fields and the
|
|
272
|
+
* editor-language `translations`. A store language's `propValues` on the component stay as they are,
|
|
273
|
+
* unless the editor sent its store content too (a component's, not a section's).
|
|
274
|
+
*/
|
|
275
|
+
export declare function applyTechnicalTexts(component: ComponentDefinition, texts: WrapperTechnicalTexts): void;
|
|
276
|
+
/**
|
|
277
|
+
* A config translation map (`{ en: { displayName: "Heading" } }`) as the editor's record list
|
|
278
|
+
* (`[{ locale: "en", displayName: "Heading" }]`); nothing for an empty or missing map, so the
|
|
279
|
+
* wire payload carries the key only when there is something to carry. Spread the result.
|
|
280
|
+
*/
|
|
281
|
+
export declare function translationRecords<T extends object>(translations: Record<string, T> | undefined): {
|
|
282
|
+
translations?: Array<T & {
|
|
283
|
+
locale: string;
|
|
284
|
+
}>;
|
|
285
|
+
};
|
|
286
|
+
/** The editor's id of a config prop group: the component's id prefixed, so it is unique across components. */
|
|
287
|
+
export declare const propGroupGlobalId: (componentId: string, groupId: string) => string;
|
|
235
288
|
/**
|
|
236
289
|
* Convert flat config-format prop groups into an IThemePropGroup[] hierarchy.
|
|
237
290
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/component-helpers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAGrB;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAQ1C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CASzC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,QAAsB,CAAC;AAEtD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,oBAAoB,QAC0B,CAAC;AAQ5D;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EAChD,SAAS,CAAC,EAAE,MAAM,GACjB,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAuBtD;AAED,KAAK,cAAc,GAAG;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CACxE,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,cAAc,GACvB,MAAM,EAAE,CAiBV;AAED,+DAA+D;AAC/D,eAAO,MAAM,iBAAiB,QAEuE,CAAC;AAEtG;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,GAChC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAGvB;AAED,eAAO,MAAM,UAAU,0YA+Bb,CAAC;AAEX,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA+BlD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAEhE;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAI/D;AAID;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,GACb;IAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"component-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/component-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -227,15 +227,22 @@ export function normalizeEnumOptionsInput(input) {
|
|
|
227
227
|
const options = {};
|
|
228
228
|
for (const item of input) {
|
|
229
229
|
if (!item || typeof item !== "object" || Array.isArray(item)) {
|
|
230
|
-
return {
|
|
230
|
+
return {
|
|
231
|
+
error: `Each option in the array must be an object { "name", "value" }, e.g. ${ENUM_OPTIONS_EXAMPLE}.`,
|
|
232
|
+
};
|
|
231
233
|
}
|
|
232
234
|
const { name, label, value } = item;
|
|
233
235
|
const optionLabel = name ?? label;
|
|
234
236
|
if (typeof optionLabel !== "string" || !optionLabel.trim()) {
|
|
235
|
-
return {
|
|
237
|
+
return {
|
|
238
|
+
error: `Every option needs a non-empty string "name", e.g. ${ENUM_OPTIONS_EXAMPLE}.`,
|
|
239
|
+
};
|
|
236
240
|
}
|
|
237
|
-
if ((typeof value !== "string" && typeof value !== "number") ||
|
|
238
|
-
|
|
241
|
+
if ((typeof value !== "string" && typeof value !== "number") ||
|
|
242
|
+
String(value).trim() === "") {
|
|
243
|
+
return {
|
|
244
|
+
error: `Option "${optionLabel}" needs a non-empty string "value", e.g. ${ENUM_OPTIONS_EXAMPLE}.`,
|
|
245
|
+
};
|
|
239
246
|
}
|
|
240
247
|
if (Object.prototype.hasOwnProperty.call(options, optionLabel)) {
|
|
241
248
|
return { error: `Duplicate option name "${optionLabel}".` };
|
|
@@ -243,14 +250,18 @@ export function normalizeEnumOptionsInput(input) {
|
|
|
243
250
|
options[optionLabel] = String(value);
|
|
244
251
|
}
|
|
245
252
|
if (Object.keys(options).length === 0) {
|
|
246
|
-
return {
|
|
253
|
+
return {
|
|
254
|
+
error: `Options must not be empty, e.g. ${ENUM_OPTIONS_EXAMPLE}.`,
|
|
255
|
+
};
|
|
247
256
|
}
|
|
248
257
|
return { options };
|
|
249
258
|
}
|
|
250
259
|
if (input && typeof input === "object" && Object.keys(input).length > 0) {
|
|
251
260
|
return { options: input };
|
|
252
261
|
}
|
|
253
|
-
return {
|
|
262
|
+
return {
|
|
263
|
+
error: `Options must be a non-empty JSON object or array, e.g. ${ENUM_OPTIONS_EXAMPLE}.`,
|
|
264
|
+
};
|
|
254
265
|
}
|
|
255
266
|
export function toKebabCase(str) {
|
|
256
267
|
return str
|
|
@@ -660,14 +671,15 @@ export function generateStylesFile(componentName, type) {
|
|
|
660
671
|
return readTemplate(templateName, { KEBAB_NAME: kebabName });
|
|
661
672
|
}
|
|
662
673
|
/**
|
|
663
|
-
* Update the barrel export file (src/components/index.ts) to include all components
|
|
674
|
+
* Update the barrel export file (src/components/index.ts) to include all components. Each is exported by its
|
|
675
|
+
* entry's folder, which is named after the function it exports when created; its name may change later.
|
|
664
676
|
*/
|
|
665
|
-
export function updateBarrelExport(projectRoot,
|
|
677
|
+
export function updateBarrelExport(projectRoot, components) {
|
|
666
678
|
const indexPath = path.resolve(projectRoot, "src/components/index.ts");
|
|
667
|
-
const content =
|
|
668
|
-
.map((
|
|
669
|
-
const
|
|
670
|
-
return `export { ${
|
|
679
|
+
const content = components
|
|
680
|
+
.map((c) => {
|
|
681
|
+
const folder = path.basename(path.dirname(c.entry));
|
|
682
|
+
return `export { ${folder} } from "./${folder}/index";`;
|
|
671
683
|
})
|
|
672
684
|
.join("\n") + "\n";
|
|
673
685
|
fs.writeFileSync(indexPath, content);
|
|
@@ -705,6 +717,90 @@ export function resolveCondition(gate, propIdByName) {
|
|
|
705
717
|
export function propIdsByName(props) {
|
|
706
718
|
return new Map(props.map((prop) => [prop.name, prop.id]));
|
|
707
719
|
}
|
|
720
|
+
/**
|
|
721
|
+
* Sets a field, or removes it when emptied (a blank text, a map without entries, so the key leaves
|
|
722
|
+
* the config); a required field keeps its old value instead.
|
|
723
|
+
*/
|
|
724
|
+
function setField(target, field, value, required = false) {
|
|
725
|
+
const fields = target;
|
|
726
|
+
const empty = !value || (typeof value === "object" && Object.keys(value).length === 0);
|
|
727
|
+
if (!empty)
|
|
728
|
+
fields[field] = value;
|
|
729
|
+
else if (!required)
|
|
730
|
+
delete fields[field];
|
|
731
|
+
}
|
|
732
|
+
/**
|
|
733
|
+
* Writes the technical texts the editor saved back onto a config component: the base fields and the
|
|
734
|
+
* editor-language `translations`. A store language's `propValues` on the component stay as they are,
|
|
735
|
+
* unless the editor sent its store content too (a component's, not a section's).
|
|
736
|
+
*/
|
|
737
|
+
export function applyTechnicalTexts(component, texts) {
|
|
738
|
+
setField(component, "name", texts.name, true);
|
|
739
|
+
const locales = new Set([
|
|
740
|
+
...Object.keys(component.translations || {}),
|
|
741
|
+
...Object.keys(texts.translations),
|
|
742
|
+
...Object.keys(texts.propValues || {}),
|
|
743
|
+
]);
|
|
744
|
+
const translations = {};
|
|
745
|
+
locales.forEach((locale) => {
|
|
746
|
+
const { name: _name, propValues: configValues, ...rest } = component.translations?.[locale] || {};
|
|
747
|
+
const name = texts.translations[locale]?.name;
|
|
748
|
+
const propValues = texts.propValues
|
|
749
|
+
? texts.propValues[locale]
|
|
750
|
+
: configValues;
|
|
751
|
+
const record = {
|
|
752
|
+
...(name ? { name } : {}),
|
|
753
|
+
...rest,
|
|
754
|
+
...(propValues && Object.keys(propValues).length ? { propValues } : {}),
|
|
755
|
+
};
|
|
756
|
+
if (Object.keys(record).length > 0)
|
|
757
|
+
translations[locale] = record;
|
|
758
|
+
});
|
|
759
|
+
setField(component, "translations", translations);
|
|
760
|
+
const defaults = texts.defaults;
|
|
761
|
+
if (defaults)
|
|
762
|
+
component.props.forEach((prop) => {
|
|
763
|
+
if (!(prop.name in defaults))
|
|
764
|
+
return;
|
|
765
|
+
const value = defaults[prop.name];
|
|
766
|
+
if (value === null || value === undefined)
|
|
767
|
+
delete prop.defaultValue;
|
|
768
|
+
else
|
|
769
|
+
prop.defaultValue = value;
|
|
770
|
+
});
|
|
771
|
+
component.props.forEach((prop) => {
|
|
772
|
+
const text = texts.props[prop.name];
|
|
773
|
+
if (!text)
|
|
774
|
+
return;
|
|
775
|
+
setField(prop, "displayName", text.displayName, true);
|
|
776
|
+
setField(prop, "description", text.description);
|
|
777
|
+
setField(prop, "translations", text.translations);
|
|
778
|
+
});
|
|
779
|
+
// The editor knows a group by its global id; prop wrappers carry no texts of their own
|
|
780
|
+
(component.propGroups || [])
|
|
781
|
+
.flatMap((group) => [group, ...(group.children || [])])
|
|
782
|
+
.forEach((group) => {
|
|
783
|
+
const text = texts.propGroups[propGroupGlobalId(component.id, group.id)];
|
|
784
|
+
if (!text)
|
|
785
|
+
return;
|
|
786
|
+
setField(group, "name", text.name, true);
|
|
787
|
+
setField(group, "description", text.description);
|
|
788
|
+
setField(group, "translations", text.translations);
|
|
789
|
+
});
|
|
790
|
+
}
|
|
791
|
+
/**
|
|
792
|
+
* A config translation map (`{ en: { displayName: "Heading" } }`) as the editor's record list
|
|
793
|
+
* (`[{ locale: "en", displayName: "Heading" }]`); nothing for an empty or missing map, so the
|
|
794
|
+
* wire payload carries the key only when there is something to carry. Spread the result.
|
|
795
|
+
*/
|
|
796
|
+
export function translationRecords(translations) {
|
|
797
|
+
const records = Object.entries(translations || {})
|
|
798
|
+
.filter(([, fields]) => fields && Object.keys(fields).length > 0)
|
|
799
|
+
.map(([locale, fields]) => ({ locale, ...fields }));
|
|
800
|
+
return records.length > 0 ? { translations: records } : {};
|
|
801
|
+
}
|
|
802
|
+
/** The editor's id of a config prop group: the component's id prefixed, so it is unique across components. */
|
|
803
|
+
export const propGroupGlobalId = (componentId, groupId) => `${componentId}_pg_${groupId}`;
|
|
708
804
|
/**
|
|
709
805
|
* Convert flat config-format prop groups into an IThemePropGroup[] hierarchy.
|
|
710
806
|
*
|
|
@@ -722,7 +818,7 @@ export function buildPropGroupHierarchy(componentId, propGroups, props) {
|
|
|
722
818
|
// prop's gate travels on the prop itself (see `resolveCondition` at each prop mapping site).
|
|
723
819
|
const propIdByName = propIdsByName(props);
|
|
724
820
|
for (const group of propGroups) {
|
|
725
|
-
const groupGlobalId =
|
|
821
|
+
const groupGlobalId = propGroupGlobalId(componentId, group.id);
|
|
726
822
|
// Collect props assigned to this group
|
|
727
823
|
const groupProps = props.filter((p) => p.groupId === group.id);
|
|
728
824
|
const propChildren = groupProps.map((p) => ({
|
|
@@ -733,7 +829,7 @@ export function buildPropGroupHierarchy(componentId, propGroups, props) {
|
|
|
733
829
|
let nestedChildren = [];
|
|
734
830
|
if (group.children) {
|
|
735
831
|
for (const child of group.children) {
|
|
736
|
-
const childGlobalId =
|
|
832
|
+
const childGlobalId = propGroupGlobalId(componentId, child.id);
|
|
737
833
|
// Collect props assigned to this child group
|
|
738
834
|
const childProps = props.filter((p) => p.groupId === child.id);
|
|
739
835
|
const childPropChildren = childProps.map((p) => ({
|
|
@@ -744,6 +840,7 @@ export function buildPropGroupHierarchy(componentId, propGroups, props) {
|
|
|
744
840
|
id: childGlobalId,
|
|
745
841
|
name: child.name,
|
|
746
842
|
...(child.description ? { description: child.description } : {}),
|
|
843
|
+
...translationRecords(child.translations),
|
|
747
844
|
...resolveCondition(child, propIdByName),
|
|
748
845
|
...(childPropChildren.length > 0
|
|
749
846
|
? { children: childPropChildren }
|
|
@@ -756,6 +853,7 @@ export function buildPropGroupHierarchy(componentId, propGroups, props) {
|
|
|
756
853
|
id: groupGlobalId,
|
|
757
854
|
name: group.name,
|
|
758
855
|
...(group.description ? { description: group.description } : {}),
|
|
856
|
+
...translationRecords(group.translations),
|
|
759
857
|
...resolveCondition(group, propIdByName),
|
|
760
858
|
...(allChildren.length > 0 ? { children: allChildren } : {}),
|
|
761
859
|
});
|