@embeddables/cli 0.6.6 → 0.6.8

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 CHANGED
@@ -51,6 +51,20 @@ embeddables/
51
51
  .generated/ # Compiled JSON output
52
52
  ```
53
53
 
54
+ ## Upgrading the CLI
55
+
56
+ When a new CLI version is released, update with:
57
+
58
+ ```bash
59
+ embeddables upgrade
60
+ ```
61
+
62
+ You can check your currently installed version with:
63
+
64
+ ```bash
65
+ embeddables -v
66
+ ```
67
+
54
68
  ## Commands
55
69
 
56
70
  ### `embeddables init`
@@ -1,3 +1,25 @@
1
+ import type { HistoryCommand } from '../types-builder.js';
2
+ export type EditHistoryDescription = {
3
+ origin: string;
4
+ description: string;
5
+ } | {
6
+ overflowed: boolean;
7
+ };
8
+ export type SaveEmbeddableVersionParams = {
9
+ embeddableId: string;
10
+ jsonString: string;
11
+ userId: string;
12
+ projectId: string;
13
+ label?: string;
14
+ fromVersionNumber: number;
15
+ editHistoryLength?: number;
16
+ editHistoryDescriptions?: EditHistoryDescription[];
17
+ workingDraftId?: string;
18
+ editHistoryStorageKey?: string;
19
+ editHistory?: HistoryCommand[];
20
+ branchId?: string | null;
21
+ branchMergedId?: string | null;
22
+ };
1
23
  export declare function runSave(opts: {
2
24
  id?: string;
3
25
  label?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../src/commands/save.ts"],"names":[],"mappings":"AA+OA,wBAAsB,OAAO,CAAC,IAAI,EAAE;IAClC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,iBAoBA"}
1
+ {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../src/commands/save.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,cAAc,EACf,MAAM,qBAAqB,CAAA;AAgC5B,MAAM,MAAM,sBAAsB,GAC9B;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,CAAA;AAE3B,MAAM,MAAM,2BAA2B,GAAG;IACxC,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iBAAiB,EAAE,MAAM,CAAA;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,uBAAuB,CAAC,EAAE,sBAAsB,EAAE,CAAA;IAClD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,WAAW,CAAC,EAAE,cAAc,EAAE,CAAA;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B,CAAA;AAkND,wBAAsB,OAAO,CAAC,IAAI,EAAE;IAClC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,iBAoBA"}
@@ -8,6 +8,8 @@ import { compileAllPages } from '../compiler/index.js';
8
8
  import { formatError } from '../compiler/errors.js';
9
9
  import { promptForLocalEmbeddable, promptForProject } from '../prompts/index.js';
10
10
  import { WEB_APP_BASE_URL } from '../constants.js';
11
+ import { translateJsonDiffToEditCommands } from '../helpers/json.js';
12
+ import { generateId } from '../helpers/utils.js';
11
13
  /** Error with optional gray detail line (hint/next step) for the user. */
12
14
  class SaveError extends Error {
13
15
  detail;
@@ -90,7 +92,9 @@ function getBranchFromConfig(embeddableId) {
90
92
  }
91
93
  /** Slug for branch name/id for versioned filenames (e.g. "my branch" -> "my_branch"). */
92
94
  function slugForBranch(nameOrId) {
93
- return String(nameOrId).replace(/[^a-zA-Z0-9_.-]/g, '_').replace(/_+/g, '_') || 'main';
95
+ return (String(nameOrId)
96
+ .replace(/[^a-zA-Z0-9_.-]/g, '_')
97
+ .replace(/_+/g, '_') || 'main');
94
98
  }
95
99
  /** Get branch slug from config (_branch_name preferred, else _branch_id, else main). */
96
100
  function getBranchSlugFromConfig(embeddableId) {
@@ -320,10 +324,11 @@ async function runSaveInner(opts) {
320
324
  fromVersionNumber = detectedVersion;
321
325
  }
322
326
  // 7b. Check for other users' drafts on this version; warn and optionally abort
327
+ let currentUserId = null;
323
328
  const supabase = await getAuthenticatedSupabaseClient();
324
329
  if (supabase) {
325
330
  const { data: { user }, } = await supabase.auth.getUser();
326
- const currentUserId = user?.id;
331
+ currentUserId = user?.id ?? null;
327
332
  if (currentUserId) {
328
333
  const branchIdForDrafts = effectiveBranch ?? null;
329
334
  const otherDrafts = await fetchOtherUsersDrafts(supabase, embeddableId, fromVersionNumber, branchIdForDrafts, currentUserId);
@@ -331,7 +336,9 @@ async function runSaveInner(opts) {
331
336
  const names = otherDrafts
332
337
  .map((d) => d.author_name?.trim() || d.author_id || 'Someone')
333
338
  .filter((n, i, a) => a.indexOf(n) === i);
334
- const namesText = names.length === 1 ? names[0] : `${names.slice(0, -1).join(', ')} and ${names[names.length - 1]}`;
339
+ const namesText = names.length === 1
340
+ ? names[0]
341
+ : `${names.slice(0, -1).join(', ')} and ${names[names.length - 1]}`;
335
342
  console.log('');
336
343
  console.warn(pc.yellow(`⚠ ${namesText} ${names.length === 1 ? 'has' : 'have'} unsaved edits on version ${fromVersionNumber}. Saving may cause conflicts.`));
337
344
  const { proceed } = await prompts({
@@ -354,11 +361,44 @@ async function runSaveInner(opts) {
354
361
  }
355
362
  // 8. POST to save-version API
356
363
  console.log(pc.cyan(`Saving embeddable (based on v${fromVersionNumber})...`));
364
+ // Resolve current user id (required by API)
365
+ if (!currentUserId && supabase) {
366
+ const { data: { user }, } = await supabase.auth.getUser();
367
+ currentUserId = user?.id ?? null;
368
+ }
369
+ if (!currentUserId) {
370
+ throw new SaveError('You must be logged in to save.', 'Run "embeddables login" to authenticate.');
371
+ }
372
+ // Previous version JSON: from versioned snapshot file, or {} if not found (e.g. --from-version without pull)
373
+ const previousVersionPath = path.join(generatedDir, `embeddable-${getBranchSlugFromConfig(embeddableId)}@${fromVersionNumber}.json`);
374
+ const legacyVersionPath = path.join(generatedDir, `embeddable-v${fromVersionNumber}.json`);
375
+ const previousJsonContent = fs.existsSync(previousVersionPath)
376
+ ? fs.readFileSync(previousVersionPath, 'utf8')
377
+ : fs.existsSync(legacyVersionPath)
378
+ ? fs.readFileSync(legacyVersionPath, 'utf8')
379
+ : '{}';
380
+ const commands = translateJsonDiffToEditCommands({
381
+ previousObject: JSON.parse(previousJsonContent),
382
+ currentObject: JSON.parse(jsonContent),
383
+ basePath: [],
384
+ });
357
385
  const body = {
386
+ userId: currentUserId,
358
387
  embeddableId,
359
388
  jsonString: JSON.stringify(embeddableJson),
360
389
  projectId,
361
390
  fromVersionNumber,
391
+ editHistoryLength: 1,
392
+ editHistoryDescriptions: [{ origin: 'CLI', description: 'Saved version from CLI' }],
393
+ editHistory: [
394
+ setMultipleFlowUpdates({
395
+ commands,
396
+ metadata: {
397
+ description: 'Saved version from CLI',
398
+ trigger: { origin: 'CLI', editor: 'CLI' },
399
+ },
400
+ }),
401
+ ],
362
402
  };
363
403
  if (opts.label) {
364
404
  body.label = opts.label;
@@ -476,3 +516,25 @@ async function runSaveInner(opts) {
476
516
  fs.writeFileSync(versionedPath, jsonContent, 'utf8');
477
517
  console.log(pc.cyan(`✓ Saved version file to ${versionedPath}`));
478
518
  }
519
+ function setMultipleFlowUpdates({ commands, metadata, }) {
520
+ const type = 'set_multiple_embeddable_updates';
521
+ const simpleCommandTypes = {
522
+ add: 'add_embeddable_property',
523
+ remove: 'remove_embeddable_property',
524
+ set: 'update_embeddable_property',
525
+ move: 'move_embeddable_property',
526
+ };
527
+ //* Map the commands to the correct type and data
528
+ const mappedCommands = commands.map((command) => ({
529
+ type: command.type in Object.keys(simpleCommandTypes)
530
+ ? simpleCommandTypes[command.type]
531
+ : command.type,
532
+ data: command.data,
533
+ }));
534
+ return {
535
+ id: generateId('edit'),
536
+ type,
537
+ data: { commands: mappedCommands },
538
+ metadata,
539
+ };
540
+ }
@@ -426,6 +426,10 @@ function attrsToProps(attrs, constEnv, filePath, validationFunctionSource) {
426
426
  }
427
427
  throw new CompileError(`Unsupported JSX attribute value for "${name}".`, loc(filePath, a));
428
428
  }
429
+ // When validation_formula is not "custom", custom_validation_function is ignored and omitted (removed on save).
430
+ if (out.validation_formula != null && out.validation_formula !== 'custom' && 'custom_validation_function' in out) {
431
+ delete out.custom_validation_function;
432
+ }
429
433
  return out;
430
434
  }
431
435
  function getJsxTagName(n) {
@@ -506,25 +510,42 @@ const HTML_VOID_ELEMENTS = new Set([
506
510
  'track',
507
511
  'wbr',
508
512
  ]);
513
+ /**
514
+ * Map React/JSX attribute names to HTML attribute names so serialized HTML
515
+ * uses valid attributes (e.g. class for CSS, not className).
516
+ */
517
+ function jsxAttrNameToHTMLAttrName(jsxName) {
518
+ switch (jsxName) {
519
+ case 'className':
520
+ return 'class';
521
+ case 'htmlFor':
522
+ return 'for';
523
+ case 'tabIndex':
524
+ return 'tabindex';
525
+ default:
526
+ return jsxName;
527
+ }
528
+ }
509
529
  /**
510
530
  * Converts a JSX element to HTML string.
511
531
  */
512
532
  function jsxElementToHTML(el, constEnv, filePath) {
513
533
  const opening = el.openingElement;
514
534
  const tagName = getJsxTagName(opening.name);
515
- // Build attributes string
535
+ // Build attributes string (use HTML attribute names so class selectors work)
516
536
  const attrs = [];
517
537
  for (const attr of opening.attributes) {
518
538
  if (attr.type === 'JSXAttribute') {
519
539
  const name = attr.name.type === 'JSXIdentifier'
520
540
  ? attr.name.name
521
541
  : `${attr.name.namespace.name}:${attr.name.name.name}`;
542
+ const htmlName = jsxAttrNameToHTMLAttrName(name);
522
543
  if (!attr.value) {
523
544
  // Boolean attribute
524
- attrs.push(name);
545
+ attrs.push(htmlName);
525
546
  }
526
547
  else if (attr.value.type === 'StringLiteral') {
527
- attrs.push(`${name}="${escapeHTMLAttribute(attr.value.value)}"`);
548
+ attrs.push(`${htmlName}="${escapeHTMLAttribute(attr.value.value)}"`);
528
549
  }
529
550
  else if (attr.value.type === 'JSXExpressionContainer') {
530
551
  try {
@@ -532,13 +553,13 @@ function jsxElementToHTML(el, constEnv, filePath) {
532
553
  if (name === 'style' && typeof value === 'object' && value !== null) {
533
554
  // Convert style object to CSS string
534
555
  const cssString = styleObjectToCSS(value);
535
- attrs.push(`${name}="${escapeHTMLAttribute(cssString)}"`);
556
+ attrs.push(`${htmlName}="${escapeHTMLAttribute(cssString)}"`);
536
557
  }
537
558
  else if (typeof value === 'string') {
538
- attrs.push(`${name}="${escapeHTMLAttribute(value)}"`);
559
+ attrs.push(`${htmlName}="${escapeHTMLAttribute(value)}"`);
539
560
  }
540
561
  else if (typeof value === 'number' || typeof value === 'boolean') {
541
- attrs.push(`${name}="${String(value)}"`);
562
+ attrs.push(`${htmlName}="${String(value)}"`);
542
563
  }
543
564
  }
544
565
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"reverse.d.ts","sourceRoot":"","sources":["../../src/compiler/reverse.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAA;AAqlBzD,wBAAsB,cAAc,CAClC,UAAU,EAAE;IACV,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,cAAc,CAAC,EAAE,GAAG,EAAE,CAAA;IACtB,WAAW,CAAC,EAAE,GAAG,EAAE,CAAA;IACnB,UAAU,CAAC,EAAE,GAAG,EAAE,CAAA;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB,EACD,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE;IACL,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC5E,iBAoFF;AAyhDD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKpD"}
1
+ {"version":3,"file":"reverse.d.ts","sourceRoot":"","sources":["../../src/compiler/reverse.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAA;AAqlBzD,wBAAsB,cAAc,CAClC,UAAU,EAAE;IACV,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,cAAc,CAAC,EAAE,GAAG,EAAE,CAAA;IACtB,WAAW,CAAC,EAAE,GAAG,EAAE,CAAA;IACnB,UAAU,CAAC,EAAE,GAAG,EAAE,CAAA;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB,EACD,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE;IACL,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC5E,iBAoFF;AAgiDD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKpD"}
@@ -770,6 +770,11 @@ function generateCustomValidationFunctions(node) {
770
770
  }
771
771
  function collect(n) {
772
772
  if (n.component.type === 'InputBox') {
773
+ if (n.component.validation_formula !== 'custom') {
774
+ for (const child of n.children)
775
+ collect(child);
776
+ return;
777
+ }
773
778
  const value = n.component.custom_validation_function;
774
779
  if (typeof value !== 'string' || !value)
775
780
  return;
@@ -968,8 +973,10 @@ function generateJSX(node, indent = 4, pageKey, componentId, nameMap, validation
968
973
  if (value === null || value === undefined)
969
974
  continue;
970
975
  if (typeof value === 'string') {
971
- // custom_validation_function: emit as function reference (validate, validate2, ...)
976
+ // custom_validation_function: only emit when validation_formula is "custom"; otherwise ignore (removed on save).
972
977
  if (key === 'custom_validation_function') {
978
+ if (comp.validation_formula !== 'custom')
979
+ continue;
973
980
  const fnName = validationFunctionNameMap?.get(comp.id) ?? identifierToGeneratedName?.get(value) ?? value;
974
981
  props.push(`custom_validation_function={${fnName}}`);
975
982
  continue;
@@ -1210,13 +1217,15 @@ function htmlToJSXChildren(html, indent) {
1210
1217
  if (!attrMatch[0].includes('=')) {
1211
1218
  continue;
1212
1219
  }
1213
- // Convert HTML attribute names to JSX (e.g., class -> className, for -> htmlFor)
1220
+ // Convert HTML attribute names to JSX (e.g., class -> className, for -> htmlFor).
1221
+ // Normalize classname (wrong serialization) to className so round-trip fixes bad HTML.
1214
1222
  let jsxAttrName = attrName;
1215
- if (attrName === 'class')
1223
+ const attrLower = attrName.toLowerCase();
1224
+ if (attrLower === 'class' || attrLower === 'classname')
1216
1225
  jsxAttrName = 'className';
1217
- else if (attrName === 'for')
1226
+ else if (attrLower === 'for')
1218
1227
  jsxAttrName = 'htmlFor';
1219
- else if (attrName === 'tabindex')
1228
+ else if (attrLower === 'tabindex')
1220
1229
  jsxAttrName = 'tabIndex';
1221
1230
  // Handle style attribute: convert CSS string to JSX object
1222
1231
  if (attrName === 'style' && attrValue) {
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=TEMP%20helpers%20file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TEMP helpers file.d.ts","sourceRoot":"","sources":["../../src/helpers/TEMP helpers file.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,47 @@
1
+ import { type Component, type GlobalComponentLocation, type InsertPosition, SetMultipleEmbeddableUpdateCommands } from '../types-builder';
2
+ export declare function translateJsonDiffToEditCommands({ previousObject, currentObject, path, objectMatchKeys, basePath, forceObjectKeyInFirstLevelIteration, extraAlternativePathObjectMatchKeys, }: {
3
+ previousObject: any;
4
+ currentObject: any;
5
+ path?: string[];
6
+ objectMatchKeys?: {
7
+ [k: string]: string;
8
+ };
9
+ basePath?: string[];
10
+ forceObjectKeyInFirstLevelIteration?: string;
11
+ extraAlternativePathObjectMatchKeys?: string[];
12
+ }): SetMultipleEmbeddableUpdateCommands;
13
+ export declare function translateArrayJsonDiffToEditCommands({ previousArray, currentArray, path, objectMatchKeys, basePath, extraAlternativePathObjectMatchKeys, }: {
14
+ previousArray: any[];
15
+ currentArray: any[];
16
+ path?: string[];
17
+ objectMatchKeys?: {
18
+ [k: string]: string;
19
+ };
20
+ basePath?: string[];
21
+ extraAlternativePathObjectMatchKeys?: string[];
22
+ }): SetMultipleEmbeddableUpdateCommands;
23
+ export declare function findAncestorsOfComponent({ components, componentId, }: {
24
+ components: Component[];
25
+ componentId: string;
26
+ }): Component[];
27
+ export declare function getInsertPositionForComponent({ afterComponentId, beforeComponentId, parentComponentId, globalLocation, components, isGlobalComponents, }: {
28
+ afterComponentId?: string;
29
+ beforeComponentId?: string;
30
+ parentComponentId?: string;
31
+ globalLocation?: GlobalComponentLocation;
32
+ components: Component[];
33
+ isGlobalComponents?: boolean;
34
+ }): InsertPosition | undefined;
35
+ export declare function deepEqual(obj1: any, obj2: any): boolean;
36
+ export declare function findUniqueKey(arr: {
37
+ [key: string]: any;
38
+ }[]): string[];
39
+ export declare function findDifferentPaths(obj1: any, obj2: any): Record<string, string[]>;
40
+ export declare function getValueByPath(obj: any, path: string[]): any;
41
+ export declare function getBreakLineStringFromArray(input: any): any;
42
+ export declare function getMultilanguageKey({ attributeKey, languageKey, }: {
43
+ attributeKey: string;
44
+ languageKey: string;
45
+ }): string;
46
+ export declare function getArrayFromBreakLineString(input: string): string[];
47
+ //# sourceMappingURL=json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/helpers/json.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,mCAAmC,EACpC,MAAM,kBAAkB,CAAA;AAEzB,wBAAgB,+BAA+B,CAAC,EAC9C,cAAmB,EACnB,aAAkB,EAClB,IAAS,EACT,eAAoB,EACpB,QAAa,EACb,mCAAmC,EACnC,mCAAwC,GACzC,EAAE;IACD,cAAc,EAAE,GAAG,CAAA;IACnB,aAAa,EAAE,GAAG,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,eAAe,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IACzC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,mCAAmC,CAAC,EAAE,MAAM,CAAA;IAC5C,mCAAmC,CAAC,EAAE,MAAM,EAAE,CAAA;CAC/C,GAAG,mCAAmC,CA6JtC;AAED,wBAAgB,oCAAoC,CAAC,EACnD,aAAkB,EAClB,YAAiB,EACjB,IAAS,EACT,eAAoB,EACpB,QAAa,EACb,mCAAwC,GACzC,EAAE;IACD,aAAa,EAAE,GAAG,EAAE,CAAA;IACpB,YAAY,EAAE,GAAG,EAAE,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,eAAe,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IACzC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,mCAAmC,CAAC,EAAE,MAAM,EAAE,CAAA;CAC/C,GAAG,mCAAmC,CA2MtC;AAGD,wBAAgB,wBAAwB,CAAC,EACvC,UAAU,EACV,WAAW,GACZ,EAAE;IACD,UAAU,EAAE,SAAS,EAAE,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;CACpB,GAAG,SAAS,EAAE,CAsBd;AAsDD,wBAAgB,6BAA6B,CAAC,EAC5C,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,kBAAkB,GACnB,EAAE;IACD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,cAAc,CAAC,EAAE,uBAAuB,CAAA;IACxC,UAAU,EAAE,SAAS,EAAE,CAAA;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B,GAAG,cAAc,GAAG,SAAS,CAgI7B;AAKD,wBAAgB,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,WAkB7C;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAAE,GAAG,MAAM,EAAE,CA6BrE;AAGD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAqEjF;AAGD,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAYtD;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,GAAG,OAGrD;AAMD,wBAAgB,mBAAmB,CAAC,EAClC,YAAY,EACZ,WAAW,GACZ,EAAE;IACD,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;CACpB,GAAG,MAAM,CAIT;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,YAGxD"}
@@ -0,0 +1,622 @@
1
+ export function translateJsonDiffToEditCommands({ previousObject = {}, currentObject = {}, path = [], objectMatchKeys = {}, basePath = [], forceObjectKeyInFirstLevelIteration, extraAlternativePathObjectMatchKeys = [], }) {
2
+ const commands = [];
3
+ //* Find which key to identify objects an array by. Default is 'id', but can be overridden by objectMatchKeys
4
+ const defaultObjectMatchKeys = {
5
+ load_tags: 'url',
6
+ content_sources: 'key',
7
+ };
8
+ objectMatchKeys = { ...defaultObjectMatchKeys, ...objectMatchKeys };
9
+ let objectMatchKey = undefined; //* default value
10
+ //* Find the latest occurrence of a key in the path that matches objectMatchKeys
11
+ for (let i = path.length - 1; i >= 0; i--) {
12
+ const pathSegment = path[i];
13
+ if (objectMatchKeys[pathSegment]) {
14
+ objectMatchKey = objectMatchKeys[pathSegment];
15
+ break;
16
+ }
17
+ }
18
+ if (forceObjectKeyInFirstLevelIteration)
19
+ objectMatchKey = forceObjectKeyInFirstLevelIteration;
20
+ if (!previousObject && !currentObject)
21
+ return commands;
22
+ if (Array.isArray(previousObject) && Array.isArray(currentObject)) {
23
+ const arrayCommands = translateArrayJsonDiffToEditCommands({
24
+ path,
25
+ previousArray: previousObject,
26
+ currentArray: currentObject,
27
+ objectMatchKeys,
28
+ basePath,
29
+ extraAlternativePathObjectMatchKeys,
30
+ });
31
+ commands.push(...arrayCommands);
32
+ return commands;
33
+ }
34
+ //* Get all unique keys from both objects
35
+ const previousKeys = new Set(Object.keys(previousObject || {}));
36
+ const currentKeys = new Set(Object.keys(currentObject || {}));
37
+ const allKeys = new Set(Array.from(previousKeys).concat(Array.from(currentKeys)));
38
+ allKeys.forEach((key) => {
39
+ const currentPath = [...path, key];
40
+ const previousValue = previousObject?.[key];
41
+ const currentValue = currentObject?.[key];
42
+ //* Property was removed
43
+ if (previousKeys.has(key) && !currentKeys.has(key)) {
44
+ if (currentPath[currentPath.length - 1] === key) {
45
+ commands.push({
46
+ type: 'remove',
47
+ data: {
48
+ path: [...basePath, ...currentPath.slice(0, -1)],
49
+ propertyToRemove: key,
50
+ objectMatchKey,
51
+ alternativePathObjectMatchKeys: objectMatchKey
52
+ ? [...extraAlternativePathObjectMatchKeys, objectMatchKey]
53
+ : !!extraAlternativePathObjectMatchKeys.length
54
+ ? extraAlternativePathObjectMatchKeys
55
+ : undefined,
56
+ },
57
+ });
58
+ }
59
+ else {
60
+ commands.push({
61
+ type: 'remove',
62
+ data: {
63
+ path: [...basePath, ...currentPath],
64
+ propertyToRemove: key,
65
+ objectMatchKey,
66
+ alternativePathObjectMatchKeys: objectMatchKey
67
+ ? [...extraAlternativePathObjectMatchKeys, objectMatchKey]
68
+ : !!extraAlternativePathObjectMatchKeys.length
69
+ ? extraAlternativePathObjectMatchKeys
70
+ : undefined,
71
+ },
72
+ });
73
+ }
74
+ return;
75
+ }
76
+ //* Property was added
77
+ if (!previousKeys.has(key) && currentKeys.has(key)) {
78
+ commands.push({
79
+ type: 'set',
80
+ data: {
81
+ path: [...basePath, ...currentPath],
82
+ value: currentValue,
83
+ objectMatchKey,
84
+ alternativePathObjectMatchKeys: objectMatchKey
85
+ ? [...extraAlternativePathObjectMatchKeys, objectMatchKey]
86
+ : !!extraAlternativePathObjectMatchKeys.length
87
+ ? extraAlternativePathObjectMatchKeys
88
+ : undefined,
89
+ },
90
+ });
91
+ return;
92
+ }
93
+ //* Property exists in both - check for changes
94
+ if (previousKeys.has(key) && currentKeys.has(key)) {
95
+ //* If both values are arrays, handle array comparison
96
+ if (Array.isArray(previousValue) && Array.isArray(currentValue)) {
97
+ const arrayCommands = translateArrayJsonDiffToEditCommands({
98
+ path: currentPath,
99
+ previousArray: previousValue,
100
+ currentArray: currentValue,
101
+ objectMatchKeys,
102
+ basePath,
103
+ extraAlternativePathObjectMatchKeys,
104
+ });
105
+ commands.push(...arrayCommands);
106
+ }
107
+ //* If both values are objects (but not arrays), recurse
108
+ else if (previousValue &&
109
+ currentValue &&
110
+ typeof previousValue === 'object' &&
111
+ typeof currentValue === 'object' &&
112
+ !Array.isArray(previousValue) &&
113
+ !Array.isArray(currentValue)) {
114
+ const nestedCommands = translateJsonDiffToEditCommands({
115
+ path: currentPath,
116
+ previousObject: previousValue,
117
+ currentObject: currentValue,
118
+ objectMatchKeys,
119
+ basePath,
120
+ extraAlternativePathObjectMatchKeys,
121
+ });
122
+ commands.push(...nestedCommands);
123
+ }
124
+ //* Primitive value comparison
125
+ else if (!deepEqual(previousValue, currentValue)) {
126
+ commands.push({
127
+ type: 'set',
128
+ data: {
129
+ path: [...basePath, ...currentPath],
130
+ value: currentValue,
131
+ objectMatchKey,
132
+ alternativePathObjectMatchKeys: objectMatchKey
133
+ ? [...extraAlternativePathObjectMatchKeys, objectMatchKey]
134
+ : !!extraAlternativePathObjectMatchKeys.length
135
+ ? extraAlternativePathObjectMatchKeys
136
+ : undefined,
137
+ },
138
+ });
139
+ }
140
+ }
141
+ });
142
+ return commands;
143
+ }
144
+ export function translateArrayJsonDiffToEditCommands({ previousArray = [], currentArray = [], path = [], objectMatchKeys = {}, basePath = [], extraAlternativePathObjectMatchKeys = [], }) {
145
+ const commands = [];
146
+ //* Find which key to identify objects an array by. Default is 'id', but can be overridden by objectMatchKeys
147
+ const defaultObjectMatchKeys = {
148
+ load_tags: 'url',
149
+ content_sources: 'key',
150
+ };
151
+ objectMatchKeys = { ...defaultObjectMatchKeys, ...objectMatchKeys };
152
+ const lastPathSegment = path[path.length - 1] ?? '';
153
+ const objectMatchKey = objectMatchKeys[lastPathSegment] ?? 'id';
154
+ //* Create maps for objects with 'id' field for efficient lookup
155
+ const previousItemsById = new Map();
156
+ const currentItemsById = new Map();
157
+ //* Separate items with and without 'id' field
158
+ const previousWithoutId = [];
159
+ const currentWithoutId = [];
160
+ previousArray.forEach((item, index) => {
161
+ if (item && typeof item === 'object' && item[objectMatchKey]) {
162
+ previousItemsById.set(item[objectMatchKey], { item, index });
163
+ }
164
+ else {
165
+ previousWithoutId.push(item);
166
+ }
167
+ });
168
+ currentArray.forEach((item, index) => {
169
+ if (item && typeof item === 'object' && item[objectMatchKey]) {
170
+ currentItemsById.set(item[objectMatchKey], { item, index });
171
+ }
172
+ else {
173
+ currentWithoutId.push(item);
174
+ }
175
+ });
176
+ //* Handle items with primary key field
177
+ //* Check for removed items
178
+ previousItemsById.forEach(({ item }, id) => {
179
+ if (!currentItemsById.has(id)) {
180
+ commands.push({
181
+ type: 'remove',
182
+ data: {
183
+ path: [...basePath, ...path, id],
184
+ objectMatchKey,
185
+ alternativePathObjectMatchKeys: [...extraAlternativePathObjectMatchKeys, objectMatchKey],
186
+ },
187
+ });
188
+ }
189
+ });
190
+ //* Check for added and modified items
191
+ currentItemsById.forEach(({ item: currentItem, index }, id) => {
192
+ if (!previousItemsById.has(id)) {
193
+ let position;
194
+ //* Check if the item is a component
195
+ if (currentItem.type && currentItem.id && currentItem.key) {
196
+ //* Components have a type property
197
+ const component = currentItem;
198
+ position = getInsertPositionForComponent({
199
+ afterComponentId: index > 0 ? currentArray[index - 1][objectMatchKey] : undefined,
200
+ beforeComponentId: index < currentArray.length - 1 ? currentArray[index + 1][objectMatchKey] : undefined,
201
+ parentComponentId: component.parent_id || undefined,
202
+ globalLocation: component._location || undefined,
203
+ components: currentArray,
204
+ });
205
+ }
206
+ else {
207
+ //* For non-components, use the original position logic
208
+ position = {
209
+ after: index > 0 ? currentArray[index - 1][objectMatchKey] : undefined,
210
+ before: index < currentArray.length - 1 ? currentArray[index + 1][objectMatchKey] : undefined,
211
+ };
212
+ }
213
+ //* Item was added
214
+ commands.push({
215
+ type: 'add',
216
+ data: {
217
+ path: [...basePath, ...path],
218
+ value: currentItem,
219
+ position,
220
+ objectMatchKey,
221
+ alternativePathObjectMatchKeys: [...extraAlternativePathObjectMatchKeys, objectMatchKey],
222
+ },
223
+ });
224
+ }
225
+ else {
226
+ //* Item exists, check for modifications
227
+ const previousItem = previousItemsById.get(id).item;
228
+ if (!deepEqual(previousItem, currentItem)) {
229
+ //* If it's an object, recurse to find specific changes
230
+ if (typeof currentItem === 'object' && typeof previousItem === 'object') {
231
+ const itemPath = [...path, id];
232
+ const nestedCommands = translateJsonDiffToEditCommands({
233
+ path: itemPath,
234
+ previousObject: previousItem,
235
+ currentObject: currentItem,
236
+ objectMatchKeys,
237
+ basePath,
238
+ extraAlternativePathObjectMatchKeys,
239
+ });
240
+ commands.push(...nestedCommands);
241
+ }
242
+ else {
243
+ const nestedCommands = translateJsonDiffToEditCommands({
244
+ path: [...path, id],
245
+ previousObject: previousItem,
246
+ currentObject: currentItem,
247
+ objectMatchKeys,
248
+ basePath,
249
+ extraAlternativePathObjectMatchKeys,
250
+ });
251
+ commands.push(...nestedCommands);
252
+ }
253
+ }
254
+ }
255
+ });
256
+ //* Handle items without 'id' field (primitives or objects without id)
257
+ //* If it's an array of primitives, remove all items present in previousArray that are not in currentArray and vice versa.
258
+ const isArrayOfPrimitives = previousWithoutId.every((item) => ['string', 'number', 'boolean'].includes(typeof item)) &&
259
+ currentWithoutId.every((item) => ['string', 'number', 'boolean'].includes(typeof item));
260
+ if (isArrayOfPrimitives) {
261
+ const prevPrimitives = new Set(previousWithoutId);
262
+ const currPrimitives = new Set(currentWithoutId);
263
+ //* Find removed primitives
264
+ prevPrimitives.forEach((item) => {
265
+ if (!currPrimitives.has(item)) {
266
+ commands.push({
267
+ type: 'remove',
268
+ data: {
269
+ alternativePathObjectMatchKeys: [...extraAlternativePathObjectMatchKeys],
270
+ path: [...basePath, ...path, item],
271
+ isStringMatch: typeof item === 'string',
272
+ },
273
+ });
274
+ }
275
+ });
276
+ //* Find added primitives
277
+ currPrimitives.forEach((item) => {
278
+ if (!prevPrimitives.has(item)) {
279
+ commands.push({
280
+ type: 'add',
281
+ data: {
282
+ alternativePathObjectMatchKeys: [...extraAlternativePathObjectMatchKeys],
283
+ path: [...basePath, ...path],
284
+ value: item,
285
+ },
286
+ });
287
+ }
288
+ });
289
+ }
290
+ else {
291
+ //* Handle array of objects without a primary key
292
+ //* Find a unique key in both previous and current arrays to identify items.
293
+ const previousUniqueKeys = findUniqueKey(previousWithoutId);
294
+ const currentUniqueKeys = findUniqueKey(currentWithoutId);
295
+ //* Find the intersection of the two arrays of keys to get common unique keys.
296
+ const commonUniqueKeys = previousUniqueKeys.filter((key) => currentUniqueKeys.includes(key));
297
+ const uniqueKey = commonUniqueKeys[0];
298
+ if (uniqueKey) {
299
+ //* Prevent infinite recursion: if both arrays without ID have only one element,
300
+ //* compare them directly instead of using recursion
301
+ if (previousWithoutId.length === 1 && currentWithoutId.length === 1) {
302
+ if (!deepEqual(previousWithoutId[0], currentWithoutId[0])) {
303
+ commands.push({
304
+ type: 'set',
305
+ data: { path: [...basePath, ...path], value: currentArray },
306
+ });
307
+ }
308
+ }
309
+ else {
310
+ //* We can identify items in the array by a unique key, so we compare them
311
+ commands.push(...translateArrayJsonDiffToEditCommands({
312
+ previousArray,
313
+ currentArray,
314
+ path,
315
+ objectMatchKeys: { ...objectMatchKeys, [lastPathSegment]: uniqueKey },
316
+ basePath,
317
+ extraAlternativePathObjectMatchKeys,
318
+ }));
319
+ }
320
+ }
321
+ else {
322
+ //* We cannot identify items in the array, as a fallback we treat it as a set of items and update the entire array if it has changed
323
+ if (!deepEqual(previousArray, currentArray)) {
324
+ commands.push({
325
+ type: 'set',
326
+ data: { path: [...basePath, ...path], value: currentArray },
327
+ });
328
+ }
329
+ }
330
+ }
331
+ return commands;
332
+ }
333
+ //* Find ancestors of a component (containers only, from root to direct parent)
334
+ export function findAncestorsOfComponent({ components, componentId, }) {
335
+ const ancestors = [];
336
+ const currentComponent = components.find((c) => c.id === componentId);
337
+ if (!currentComponent)
338
+ return ancestors;
339
+ const parentId = currentComponent.parent_id;
340
+ if (parentId) {
341
+ const parentComponent = components.find((c) => c.id === parentId);
342
+ if (parentComponent && parentComponent.type === 'Container') {
343
+ const parentAncestors = findAncestorsOfComponent({
344
+ components,
345
+ componentId: parentComponent.id,
346
+ });
347
+ ancestors.push(...parentAncestors);
348
+ ancestors.push(parentComponent);
349
+ }
350
+ }
351
+ return ancestors;
352
+ }
353
+ //* Find next sibling component
354
+ function getNextSiblingComponent({ components, currentComponentId, parentId, globalLocation, isGlobalComponents, }) {
355
+ const siblings = components.filter((c) => parentId ? c.parent_id === parentId : isGlobalComponents ? c._location === globalLocation : !c.parent_id);
356
+ const currentIndex = siblings.findIndex((c) => c.id === currentComponentId);
357
+ if (currentIndex >= 0 && currentIndex < siblings.length - 1) {
358
+ return siblings[currentIndex + 1];
359
+ }
360
+ return null;
361
+ }
362
+ //* Find previous sibling component
363
+ function getPreviousSiblingComponent({ components, currentComponentId, parentId, globalLocation, isGlobalComponents, }) {
364
+ const siblings = components.filter((c) => parentId ? c.parent_id === parentId : isGlobalComponents ? c._location === globalLocation : !c.parent_id);
365
+ const currentIndex = siblings.findIndex((c) => c.id === currentComponentId);
366
+ if (currentIndex > 0)
367
+ return siblings[currentIndex - 1];
368
+ return null;
369
+ }
370
+ export function getInsertPositionForComponent({ afterComponentId, beforeComponentId, parentComponentId, globalLocation, components, isGlobalComponents, }) {
371
+ //* Case 1: I get the afterComponentId
372
+ if (afterComponentId) {
373
+ //* Find the afterElement
374
+ const afterComponent = components.find((c) => c.id === afterComponentId);
375
+ if (afterComponent) {
376
+ //* Find the before compoentn (next sibling of after)
377
+ const beforeElement = getNextSiblingComponent({
378
+ components,
379
+ currentComponentId: afterComponentId,
380
+ parentId: afterComponent.parent_id,
381
+ globalLocation: afterComponent._location,
382
+ isGlobalComponents,
383
+ });
384
+ //* Get ancestors using our new function
385
+ const ancestors = findAncestorsOfComponent({ components, componentId: afterComponentId });
386
+ //* Check if it's global by looking at the last ancestor's _location
387
+ let isGlobal = false;
388
+ let detectedGlobalLocation;
389
+ if (ancestors.length > 0) {
390
+ //* Get the topmost ancestor (last in the array)
391
+ const topmostAncestor = ancestors[ancestors.length - 1];
392
+ if (topmostAncestor._location) {
393
+ isGlobal = true;
394
+ detectedGlobalLocation = topmostAncestor._location;
395
+ }
396
+ }
397
+ else if (afterComponent._location) {
398
+ //* If no ancestors but the component itself has _location
399
+ isGlobal = true;
400
+ detectedGlobalLocation = afterComponent._location;
401
+ }
402
+ //* Build the position
403
+ const position = { after: afterComponentId };
404
+ if (beforeElement)
405
+ position.before = beforeElement.id;
406
+ if (ancestors.length > 0)
407
+ position.inside = ancestors.map((ancestor) => ancestor.id);
408
+ if (isGlobal && detectedGlobalLocation)
409
+ position.globalLocation = detectedGlobalLocation;
410
+ return position;
411
+ }
412
+ }
413
+ //* Case 2: I get the beforeComponentId, but no afterComponentId
414
+ if (beforeComponentId) {
415
+ const beforeComponent = components.find((c) => c.id === beforeComponentId);
416
+ if (beforeComponent) {
417
+ //* Try to find an after component
418
+ const afterComponent = getPreviousSiblingComponent({
419
+ components,
420
+ currentComponentId: beforeComponentId,
421
+ parentId: beforeComponent.parent_id,
422
+ globalLocation: beforeComponent._location,
423
+ isGlobalComponents,
424
+ });
425
+ //* Get ancestors using our new function
426
+ const ancestors = findAncestorsOfComponent({ components, componentId: beforeComponentId });
427
+ //* Check if it's global by looking at the last ancestor's _location
428
+ let isGlobal = false;
429
+ let detectedGlobalLocation;
430
+ if (ancestors.length > 0) {
431
+ //* Get the topmost ancestor (last in the array)
432
+ const topmostAncestor = ancestors[ancestors.length - 1];
433
+ if (topmostAncestor._location) {
434
+ isGlobal = true;
435
+ detectedGlobalLocation = topmostAncestor._location;
436
+ }
437
+ }
438
+ else if (beforeComponent._location) {
439
+ //* If no ancestors but the component itself has _location
440
+ isGlobal = true;
441
+ detectedGlobalLocation = beforeComponent._location;
442
+ }
443
+ //* Build the position for first position
444
+ const position = { before: beforeComponentId };
445
+ if (afterComponent)
446
+ position.after = afterComponent.id;
447
+ if (ancestors.length > 0)
448
+ position.inside = ancestors.map((ancestor) => ancestor.id);
449
+ if (isGlobal && detectedGlobalLocation)
450
+ position.globalLocation = detectedGlobalLocation;
451
+ return position;
452
+ }
453
+ }
454
+ //* Case 3: I get the parentComponentId
455
+ if (parentComponentId) {
456
+ const parentComponent = components.find((c) => c.id === parentComponentId);
457
+ if (parentComponent) {
458
+ //* Get ancestors of the parent to construct inside and define globalLocation
459
+ const ancestors = findAncestorsOfComponent({ components, componentId: parentComponentId });
460
+ //* Check if it's global by looking at the last ancestor's _location
461
+ let isGlobal = false;
462
+ let detectedGlobalLocation;
463
+ if (ancestors.length > 0) {
464
+ //* Get the topmost ancestor (last in the array)
465
+ const topmostAncestor = ancestors[ancestors.length - 1];
466
+ if (topmostAncestor._location) {
467
+ isGlobal = true;
468
+ detectedGlobalLocation = topmostAncestor._location;
469
+ }
470
+ }
471
+ else if (parentComponent._location) {
472
+ //* If no ancestors but the parent itself has _location
473
+ isGlobal = true;
474
+ detectedGlobalLocation = parentComponent._location;
475
+ }
476
+ //* Build the position for insertion inside parent
477
+ const position = {
478
+ inside: [...ancestors.map((ancestor) => ancestor.id), parentComponentId],
479
+ };
480
+ if (isGlobal && detectedGlobalLocation)
481
+ position.globalLocation = detectedGlobalLocation;
482
+ return position;
483
+ }
484
+ }
485
+ //* Case 4: globalLocation provided
486
+ if (globalLocation)
487
+ return { globalLocation: globalLocation };
488
+ return undefined;
489
+ }
490
+ //* -------------------OBJECT FUNCTIONS ------------------- *//
491
+ //* Deep comparison function to check if two objects are equal
492
+ export function deepEqual(obj1, obj2) {
493
+ if (obj1 === obj2)
494
+ return true;
495
+ if (typeof obj1 !== 'object' || obj1 === null || typeof obj2 !== 'object' || obj2 === null) {
496
+ return false;
497
+ }
498
+ const keys1 = Object.keys(obj1);
499
+ const keys2 = Object.keys(obj2);
500
+ if (keys1.length !== keys2.length)
501
+ return false;
502
+ for (let key of keys1) {
503
+ if (!keys2.includes(key) || !deepEqual(obj1[key], obj2[key])) {
504
+ return false;
505
+ }
506
+ }
507
+ return true;
508
+ }
509
+ export function findUniqueKey(arr) {
510
+ const uniqueKeys = [];
511
+ if (!arr.length || typeof arr[0] !== 'object' || arr[0] === null)
512
+ return uniqueKeys;
513
+ const keys = Object.keys(arr[0]);
514
+ for (const key of keys) {
515
+ const values = new Set();
516
+ let allHaveKeyAndArePrimitive = true;
517
+ for (const item of arr) {
518
+ if (item &&
519
+ typeof item === 'object' &&
520
+ key in item &&
521
+ ['string', 'number', 'boolean'].includes(typeof item[key])) {
522
+ values.add(item[key]);
523
+ }
524
+ else {
525
+ allHaveKeyAndArePrimitive = false;
526
+ break;
527
+ }
528
+ }
529
+ if (allHaveKeyAndArePrimitive && values.size === arr.length)
530
+ uniqueKeys.push(key);
531
+ }
532
+ return uniqueKeys;
533
+ }
534
+ //* Find the different paths between two objects
535
+ export function findDifferentPaths(obj1, obj2) {
536
+ const result = {};
537
+ //* Helper function to add a path to results
538
+ function addPath(path) {
539
+ const topLevel = path.split('.')[0];
540
+ if (!result[topLevel]) {
541
+ result[topLevel] = [];
542
+ }
543
+ if (!result[topLevel].includes(path)) {
544
+ result[topLevel].push(path);
545
+ }
546
+ }
547
+ //* Deep compare function to find all differences
548
+ function deepCompare(a, b, currentPath = '') {
549
+ //* If objects are strictly equal, no need to check further
550
+ if (a === b)
551
+ return;
552
+ //* Handle case when either value is not an object or is null
553
+ if (typeof a !== 'object' || typeof b !== 'object' || a === null || b === null) {
554
+ addPath(currentPath);
555
+ return;
556
+ }
557
+ //* Get all keys from both objects
558
+ const allKeys = Array.from(new Set([...Object.keys(a), ...Object.keys(b)]));
559
+ for (const key of allKeys) {
560
+ const newPath = currentPath ? `${currentPath}.${key}` : key;
561
+ //* If key exists only in one object
562
+ if (!(key in a) || !(key in b)) {
563
+ addPath(newPath);
564
+ //* If the key is in b but not a, and it's an object, add all nested paths
565
+ if (!(key in a) && typeof b[key] === 'object' && b[key] !== null) {
566
+ addNestedPaths(b[key], newPath);
567
+ }
568
+ //* If the key is in a but not b, and it's an object, add all nested paths
569
+ else if (!(key in b) && typeof a[key] === 'object' && a[key] !== null) {
570
+ addNestedPaths(a[key], newPath);
571
+ }
572
+ continue;
573
+ }
574
+ //* Recursively check nested properties
575
+ deepCompare(a[key], b[key], newPath);
576
+ }
577
+ }
578
+ //* Helper function to add all paths in a nested object
579
+ function addNestedPaths(obj, basePath) {
580
+ if (typeof obj !== 'object' || obj === null)
581
+ return;
582
+ addPath(basePath);
583
+ for (const key in obj) {
584
+ const newPath = `${basePath}.${key}`;
585
+ addPath(newPath);
586
+ if (typeof obj[key] === 'object' && obj[key] !== null) {
587
+ addNestedPaths(obj[key], newPath);
588
+ }
589
+ }
590
+ }
591
+ deepCompare(obj1, obj2);
592
+ return result;
593
+ }
594
+ //* Get the value of an object by a path
595
+ export function getValueByPath(obj, path) {
596
+ let current = obj;
597
+ for (const key of path) {
598
+ if (current === undefined || current === null) {
599
+ return undefined;
600
+ }
601
+ current = current[key];
602
+ }
603
+ return current;
604
+ }
605
+ export function getBreakLineStringFromArray(input) {
606
+ if (Array.isArray(input))
607
+ return input.join('\n');
608
+ return input;
609
+ }
610
+ const DEFAULT_CONTENT_LANGUAGE_KEY = 'en';
611
+ //* Builds a language-prefixed key for multilanguage properties
612
+ //* For default language, returns the base key; for others, returns `lang--{languageKey}--{attributeKey}`
613
+ export function getMultilanguageKey({ attributeKey, languageKey, }) {
614
+ return languageKey === DEFAULT_CONTENT_LANGUAGE_KEY
615
+ ? attributeKey
616
+ : `lang--${languageKey}--${attributeKey}`;
617
+ }
618
+ export function getArrayFromBreakLineString(input) {
619
+ if (typeof input === 'string')
620
+ return input.split('\n');
621
+ return input;
622
+ }
@@ -0,0 +1,2 @@
1
+ export declare function generateId(prefix: string): string;
2
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/helpers/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,UAIxC"}
@@ -0,0 +1,4 @@
1
+ export function generateId(prefix) {
2
+ const randomString = Math.random().toString(20).slice(2) + Math.random().toString(20).slice(2);
3
+ return prefix ? `${prefix}_${randomString}` : `_${randomString}`;
4
+ }
@@ -0,0 +1,10 @@
1
+ type LogContext = Record<string, string | number | boolean | null | undefined>;
2
+ export interface Logger {
3
+ info(message: string, ctx?: LogContext): void;
4
+ warn(message: string, ctx?: LogContext): void;
5
+ error(message: string, ctx?: LogContext): void;
6
+ }
7
+ export declare function createLogger(fn: string): Logger;
8
+ export declare function captureException(error: unknown): void;
9
+ export {};
10
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAEA,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;AAE9E,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAC7C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAC7C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;CAC/C;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAY/C;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAErD"}
package/dist/logger.js ADDED
@@ -0,0 +1,17 @@
1
+ import * as Sentry from '@sentry/node';
2
+ export function createLogger(fn) {
3
+ return {
4
+ info(message, ctx) {
5
+ Sentry.logger.info(message, { fn, ...ctx });
6
+ },
7
+ warn(message, ctx) {
8
+ Sentry.logger.warn(message, { fn, ...ctx });
9
+ },
10
+ error(message, ctx) {
11
+ Sentry.logger.error(message, { fn, ...ctx });
12
+ },
13
+ };
14
+ }
15
+ export function captureException(error) {
16
+ Sentry.captureException(error);
17
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/proxy/server.ts"],"names":[],"mappings":"AAmCA,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;;GAoTA"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/proxy/server.ts"],"names":[],"mappings":"AAmCA,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;;GAyTA"}
@@ -238,10 +238,16 @@ export async function startProxyServer(opts) {
238
238
  console.log(`[Workbench] Injected API interceptor for ${opts.engineOrigin}`);
239
239
  }
240
240
  modifiedHtml = injectReloadScript(modifiedHtml);
241
- modifiedHtml = injectWorkbenchHtml(modifiedHtml, {
242
- embeddableId: opts.embeddableId,
243
- workbenchOrigin,
244
- });
241
+ const includeWorkbench = req.query?.workbench !== 'false';
242
+ if (includeWorkbench) {
243
+ modifiedHtml = injectWorkbenchHtml(modifiedHtml, {
244
+ embeddableId: opts.embeddableId,
245
+ workbenchOrigin,
246
+ });
247
+ }
248
+ else {
249
+ console.log('[Workbench] Skipping workbench (workbench=false in URL)');
250
+ }
245
251
  console.log(`[Workbench] Injection complete (${modifiedHtml.length} chars), sending response`);
246
252
  res.setHeader('Content-Type', 'text/html; charset=utf-8');
247
253
  res.setHeader('Cache-Control', engineRes.headers.get('cache-control') ?? 'no-store');
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Write a line to stdout. Use this for all user-facing CLI terminal output.
3
+ * Replaces console.log so that user-facing output and observability logging
4
+ * (logger.info → Sentry) are clearly distinct in the code.
5
+ */
6
+ export declare function print(message?: string): void;
7
+ /**
8
+ * Write a warning line to stdout with a yellow WARN badge.
9
+ * Replaces console.warn.
10
+ */
11
+ export declare function warn(message: string): void;
12
+ /**
13
+ * Write an error line to stderr with a red ERROR badge.
14
+ * Replaces console.error.
15
+ */
16
+ export declare function error(message: string): void;
17
+ //# sourceMappingURL=stdout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdout.d.ts","sourceRoot":"","sources":["../src/stdout.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,OAAO,SAAK,GAAG,IAAI,CAExC;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE1C;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE3C"}
package/dist/stdout.js ADDED
@@ -0,0 +1,23 @@
1
+ import pc from 'picocolors';
2
+ /**
3
+ * Write a line to stdout. Use this for all user-facing CLI terminal output.
4
+ * Replaces console.log so that user-facing output and observability logging
5
+ * (logger.info → Sentry) are clearly distinct in the code.
6
+ */
7
+ export function print(message = '') {
8
+ process.stdout.write(message + '\n');
9
+ }
10
+ /**
11
+ * Write a warning line to stdout with a yellow WARN badge.
12
+ * Replaces console.warn.
13
+ */
14
+ export function warn(message) {
15
+ process.stdout.write(`${pc.bold(pc.bgYellow(' WARN '))} ${message}\n`);
16
+ }
17
+ /**
18
+ * Write an error line to stderr with a red ERROR badge.
19
+ * Replaces console.error.
20
+ */
21
+ export function error(message) {
22
+ process.stderr.write(`${pc.bold(pc.bgRed(' ERROR '))} ${message}\n`);
23
+ }
@@ -689,7 +689,7 @@ export type HistoryCommandExecutionResult = {
689
689
  export type HistoryCommandMetadata = {
690
690
  description: string;
691
691
  trigger: {
692
- origin: 'Layers' | 'Pages' | 'Assets' | 'Designer' | 'Options' | 'Add' | 'Logic' | 'AI' | 'DOM' | 'Shortcut' | 'Draft';
692
+ origin: 'Layers' | 'Pages' | 'Assets' | 'Designer' | 'Options' | 'Add' | 'Logic' | 'AI' | 'DOM' | 'Shortcut' | 'Draft' | 'CLI';
693
693
  editor: string;
694
694
  };
695
695
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types-builder.d.ts","sourceRoot":"","sources":["../src/types-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types-builder.d.ts","sourceRoot":"","sources":["../src/types-builder.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@embeddables/cli",
3
- "version": "0.6.6",
3
+ "version": "0.6.8",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "embeddables": "./bin/embeddables.mjs"