@komaci/esm-generator 244.0.0 → 244.1.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.
@@ -29,4 +29,157 @@ describe('composeAdgFunction', () => {
29
29
  expect(res.id.name).toBe('adg0');
30
30
  });
31
31
  });
32
+ describe('composeAdgStaticMetadata', () => {
33
+ it('creates a static metadata object', () => {
34
+ const moduleMetadata = (0, common_shared_1.initModuleMetadataObject)();
35
+ const adg = (0, common_shared_1.initAdgMetadataObject)('adg0');
36
+ adg.exportName = 'default';
37
+ moduleMetadata.defaultComponentId = 'c-test-comp';
38
+ const res = (0, functionAstGeneration_1.composeAdgStaticMetadata)(adg, moduleMetadata);
39
+ expect(res.type).toBe('VariableDeclaration');
40
+ const varDeclarator = res.declarations[0];
41
+ expect(varDeclarator.id.name).toBe('adg0Meta');
42
+ const properties = varDeclarator.init.properties;
43
+ expect(properties).toHaveLength(4);
44
+ expect(properties[0].value.value).toBe('c-test-comp');
45
+ });
46
+ it('creates a static metadata object for non default export', () => {
47
+ const moduleMetadata = (0, common_shared_1.initModuleMetadataObject)();
48
+ const adg = (0, common_shared_1.initAdgMetadataObject)('adg1');
49
+ adg.exportName = 'base';
50
+ moduleMetadata.defaultComponentId = 'c-test-comp';
51
+ const res = (0, functionAstGeneration_1.composeAdgStaticMetadata)(adg, moduleMetadata);
52
+ expect(res.type).toBe('VariableDeclaration');
53
+ const varDeclarator = res.declarations[0];
54
+ expect(varDeclarator.id.name).toBe('adg1Meta');
55
+ const properties = varDeclarator.init.properties;
56
+ expect(properties).toHaveLength(4);
57
+ expect(properties[0].value.value).toBe('c-test-comp__base');
58
+ });
59
+ it('creates a static metadata object with child metadata and true for img', () => {
60
+ const moduleMetadata = (0, common_shared_1.initModuleMetadataObject)();
61
+ const adg = (0, common_shared_1.initAdgMetadataObject)('adg0');
62
+ adg.exportName = 'default';
63
+ moduleMetadata.defaultComponentId = 'c-test-comp';
64
+ adg.compositionRootIndex = 0;
65
+ adg.compositions = [
66
+ {
67
+ type: 'Container',
68
+ compositions: [
69
+ {
70
+ type: 'ComposedAdg',
71
+ input: { type: 'ImportReference', value: 'test' },
72
+ properties: {
73
+ attr1: { type: 'Binding', value: 'input1' },
74
+ attr2: { type: 'Binding', value: 'input2' },
75
+ attr3: { type: 'PrimitiveValue', value: 'Literal!' },
76
+ },
77
+ },
78
+ {
79
+ type: 'Image',
80
+ src: { type: 'Binding', value: 'input1' },
81
+ },
82
+ ],
83
+ },
84
+ ];
85
+ moduleMetadata.importIndexReference.set('test', 'import1');
86
+ moduleMetadata.importsByName.set('import1', {
87
+ generatorAlias: 'i0',
88
+ name: '',
89
+ resourceName: '',
90
+ komaciDocImportRef: '',
91
+ isFromInternalNamespace: false,
92
+ isFromSupportedLibrary: false,
93
+ usedInPriming: false,
94
+ staticallyAnalyzable: false,
95
+ });
96
+ const res = (0, functionAstGeneration_1.composeAdgStaticMetadata)(adg, moduleMetadata);
97
+ expect(res.type).toBe('VariableDeclaration');
98
+ const varDeclarator = res.declarations[0];
99
+ expect(varDeclarator.id.name).toBe('adg0Meta');
100
+ const properties = varDeclarator.init.properties;
101
+ expect(properties).toHaveLength(4);
102
+ expect(properties[0].value.value).toBe('c-test-comp');
103
+ expect(properties[1].value
104
+ .properties[0].value.type).toBe('ArrayExpression');
105
+ const childMetaArr = properties[1].value
106
+ .properties[0].value;
107
+ expect(childMetaArr.elements).toHaveLength(2);
108
+ expect(childMetaArr.elements[0].properties).toHaveLength(2);
109
+ expect(childMetaArr.elements[1].properties).toHaveLength(1);
110
+ expect(childMetaArr.elements[0].properties).toHaveLength(2);
111
+ const prop1 = childMetaArr.elements[0]
112
+ .properties[0];
113
+ expect(prop1.value.name).toEqual('i0');
114
+ const prop2 = childMetaArr.elements[0]
115
+ .properties[1];
116
+ expect(prop2.value.properties).toHaveLength(3);
117
+ const propObj = prop2.value.properties[0].value;
118
+ expect(propObj.properties[1].value.value).toEqual('input1');
119
+ expect(childMetaArr.elements[1].properties).toHaveLength(1);
120
+ expect(properties[3].value.value).toBeTruthy();
121
+ });
122
+ it('static meta data object has true for PF', () => {
123
+ const moduleMetadata = (0, common_shared_1.initModuleMetadataObject)();
124
+ const adg = (0, common_shared_1.initAdgMetadataObject)('adg0');
125
+ adg.exportName = 'default';
126
+ moduleMetadata.defaultComponentId = 'c-test-comp';
127
+ adg.compositionRootIndex = 0;
128
+ const primingFunction = {
129
+ requiredProperties: [],
130
+ importReference: { functionName: 'test' },
131
+ type: common_shared_1.FunctionTypes.PRIMING_FUNCTION,
132
+ };
133
+ adg.functions.push(primingFunction);
134
+ const res = (0, functionAstGeneration_1.composeAdgStaticMetadata)(adg, moduleMetadata);
135
+ expect(res.type).toBe('VariableDeclaration');
136
+ const varDeclarator = res.declarations[0];
137
+ expect(varDeclarator.id.name).toBe('adg0Meta');
138
+ const properties = varDeclarator.init.properties;
139
+ expect(properties).toHaveLength(4);
140
+ expect(properties[0].value.value).toBe('c-test-comp');
141
+ expect(properties[2].value.value).toBeTruthy();
142
+ });
143
+ it('static meta data object has true for PF for wire function', () => {
144
+ const moduleMetadata = (0, common_shared_1.initModuleMetadataObject)();
145
+ const adg = (0, common_shared_1.initAdgMetadataObject)('adg0');
146
+ adg.exportName = 'default';
147
+ moduleMetadata.defaultComponentId = 'c-test-comp';
148
+ adg.compositionRootIndex = 0;
149
+ const primingFunction = {
150
+ requiredProperties: [],
151
+ importReference: { functionName: 'test' },
152
+ type: common_shared_1.FunctionTypes.WIRE_FUNCTION,
153
+ };
154
+ adg.functions.push(primingFunction);
155
+ const res = (0, functionAstGeneration_1.composeAdgStaticMetadata)(adg, moduleMetadata);
156
+ expect(res.type).toBe('VariableDeclaration');
157
+ const varDeclarator = res.declarations[0];
158
+ expect(varDeclarator.id.name).toBe('adg0Meta');
159
+ const properties = varDeclarator.init.properties;
160
+ expect(properties).toHaveLength(4);
161
+ expect(properties[0].value.value).toBe('c-test-comp');
162
+ expect(properties[2].value.value).toBeTruthy();
163
+ });
164
+ it('static meta data object has false for PF for getter', () => {
165
+ const moduleMetadata = (0, common_shared_1.initModuleMetadataObject)();
166
+ const adg = (0, common_shared_1.initAdgMetadataObject)('adg0');
167
+ adg.exportName = 'default';
168
+ moduleMetadata.defaultComponentId = 'c-test-comp';
169
+ adg.compositionRootIndex = 0;
170
+ const primingFunction = {
171
+ requiredProperties: [],
172
+ type: common_shared_1.FunctionTypes.GETTER_FUNCTION,
173
+ };
174
+ adg.functions.push(primingFunction);
175
+ const res = (0, functionAstGeneration_1.composeAdgStaticMetadata)(adg, moduleMetadata);
176
+ expect(res.type).toBe('VariableDeclaration');
177
+ const varDeclarator = res.declarations[0];
178
+ expect(varDeclarator.id.name).toBe('adg0Meta');
179
+ const properties = varDeclarator.init.properties;
180
+ expect(properties).toHaveLength(4);
181
+ expect(properties[0].value.value).toBe('c-test-comp');
182
+ expect(properties[2].value.value).toBeFalsy();
183
+ });
184
+ });
32
185
  //# sourceMappingURL=adgAstGeneration.spec.js.map
@@ -234,7 +234,7 @@ describe('compositionToExpression', () => {
234
234
  const res = (0, compositionAstGeneration_1.compositionToExpression)(moduleMetadata, complexDoc.compositions[0].compositions[2].compositions[0]);
235
235
  expect(res.type).toBe('CallExpression');
236
236
  const code = (0, generator_1.default)(res).code;
237
- expect(code).toBe('cg(i1, {\n slot: "title",\n componentId: "c-title",\n props: {\n size: "medium",\n icon: "standard:apex"\n }\n}, ctx)');
237
+ expect(code).toBe('cg(i1, {\n slot: "title",\n componentId: "c-title",\n props: {\n icon: "standard:apex",\n size: "medium"\n }\n}, ctx)');
238
238
  });
239
239
  });
240
240
  describe('containerToExpression', () => {
@@ -273,14 +273,14 @@ describe('composedAdgToExpression', () => {
273
273
  expect(res.type).toBe('CallExpression');
274
274
  expect(res.callee.name).toBe('cg');
275
275
  const code = (0, generator_1.default)(res).code;
276
- expect(code).toBe('cg(i3, {\n componentId: "c-lookup-field-row",\n props: {\n recordId: ctx.props.record?.data?.fields?.CreatedById?.value,\n label: "CreatedBy User Info",\n objectApiName: "User"\n }\n}, ctx)');
276
+ expect(code).toBe('cg(i3, {\n componentId: "c-lookup-field-row",\n props: {\n label: "CreatedBy User Info",\n objectApiName: "User",\n recordId: ctx.props.record?.data?.fields?.CreatedById?.value\n }\n}, ctx)');
277
277
  });
278
278
  it('properly composed composedAdg with children', () => {
279
279
  const res = (0, compositionAstGeneration_1.composedAdgToExpression)(moduleMetadata, complexDoc.compositions[0].compositions[0]);
280
280
  expect(res.type).toBe('CallExpression');
281
281
  expect(res.callee.name).toBe('cg');
282
282
  const code = (0, generator_1.default)(res).code;
283
- expect(code).toBe('cg(i0, {\n componentId: "lightning-card",\n props: {}\n}, ctx, [cg(i1, {\n slot: "title",\n componentId: "c-title",\n props: {\n size: "large",\n icon: "standard:account"\n }\n}, ctx), u(ctx.props.record) || ctx.props.record?.data ? [cg(i2, {\n componentId: "c-fieldrow",\n props: {\n label: "Object Type",\n value: ctx.props.objectApiName\n }\n}, ctx), cg(i2, {\n componentId: "c-fieldrow",\n props: {\n label: "Account Id",\n value: ctx.props.record?.data?.fields?.Id?.value\n }\n}, ctx), cg(i2, {\n componentId: "c-fieldrow",\n props: {\n label: "Account Name",\n value: ctx.props.record?.data?.fields?.Name?.value\n }\n}, ctx), u(ctx.props.ownerRecord) || ctx.props.ownerRecord?.data ? cg(i2, {\n componentId: "c-fieldrow",\n props: {\n label: "Account Owner",\n value: ctx.props.ownerRecord?.data?.fields?.Name?.value\n }\n}, ctx) : undefined, u(ctx.props.createdByRecord) || ctx.props.createdByRecord?.data ? cg(i2, {\n componentId: "c-fieldrow",\n props: {\n label: "Created By",\n value: ctx.props.createdByRecord?.data?.fields?.Name?.value\n }\n}, ctx) : undefined] : undefined])');
283
+ expect(code).toBe('cg(i0, {\n componentId: "lightning-card",\n props: {}\n}, ctx, [cg(i1, {\n slot: "title",\n componentId: "c-title",\n props: {\n icon: "standard:account",\n size: "large"\n }\n}, ctx), u(ctx.props.record) || ctx.props.record?.data ? [cg(i2, {\n componentId: "c-fieldrow",\n props: {\n label: "Object Type",\n value: ctx.props.objectApiName\n }\n}, ctx), cg(i2, {\n componentId: "c-fieldrow",\n props: {\n label: "Account Id",\n value: ctx.props.record?.data?.fields?.Id?.value\n }\n}, ctx), cg(i2, {\n componentId: "c-fieldrow",\n props: {\n label: "Account Name",\n value: ctx.props.record?.data?.fields?.Name?.value\n }\n}, ctx), u(ctx.props.ownerRecord) || ctx.props.ownerRecord?.data ? cg(i2, {\n componentId: "c-fieldrow",\n props: {\n label: "Account Owner",\n value: ctx.props.ownerRecord?.data?.fields?.Name?.value\n }\n}, ctx) : undefined, u(ctx.props.createdByRecord) || ctx.props.createdByRecord?.data ? cg(i2, {\n componentId: "c-fieldrow",\n props: {\n label: "Created By",\n value: ctx.props.createdByRecord?.data?.fields?.Name?.value\n }\n}, ctx) : undefined] : undefined])');
284
284
  });
285
285
  });
286
286
  describe('iterationToExpression', () => {
@@ -372,7 +372,34 @@ describe('getCompositionConfig', () => {
372
372
  it('collects composition config for a composedAdg', () => {
373
373
  const res = (0, compositionAstGeneration_1.getCompositionConfig)(complexDoc.compositions[0].compositions[2].compositions[0]);
374
374
  const code = (0, generator_1.default)(res).code;
375
- expect(code).toBe('{\n slot: "title",\n props: {\n size: "medium",\n icon: "standard:apex"\n }\n}');
375
+ expect(code).toBe('{\n slot: "title",\n props: {\n icon: "standard:apex",\n size: "medium"\n }\n}');
376
+ });
377
+ it('generates duplicate composition configs for similar composedAdgs', () => {
378
+ const res = (0, compositionAstGeneration_1.getCompositionConfig)(complexDoc.compositions[0].compositions[2].compositions[0]);
379
+ // generate config for composedAdg that is identical apart from ordering of props
380
+ const swapRes = (0, compositionAstGeneration_1.getCompositionConfig)({
381
+ type: 'ComposedAdg',
382
+ input: {
383
+ type: 'ImportReference',
384
+ value: '1names/0',
385
+ },
386
+ properties: {
387
+ icon: {
388
+ type: 'PrimitiveValue',
389
+ value: 'standard:apex',
390
+ },
391
+ size: {
392
+ type: 'PrimitiveValue',
393
+ value: 'medium',
394
+ },
395
+ },
396
+ slot: 'title',
397
+ });
398
+ const swappedCode = (0, generator_1.default)(swapRes).code;
399
+ const code = (0, generator_1.default)(res).code;
400
+ const expected = '{\n slot: "title",\n props: {\n icon: "standard:apex",\n size: "medium"\n }\n}';
401
+ expect(code).toBe(expected);
402
+ expect(swappedCode).toBe(expected);
376
403
  });
377
404
  it('collects composition config for a slot', () => {
378
405
  const res = (0, compositionAstGeneration_1.getCompositionConfig)({
@@ -281,7 +281,8 @@ function getCompositionConfig(composition, componentId, iterationContext) {
281
281
  }
282
282
  if (composition.properties) {
283
283
  const props = [];
284
- for (const propName of Object.keys(composition.properties)) {
284
+ const sortedCompositions = Object.keys(composition.properties).sort();
285
+ for (const propName of sortedCompositions) {
285
286
  const prop = composition.properties[propName];
286
287
  if (prop.type === 'Binding') {
287
288
  props.push(t.objectProperty(t.identifier(propName), (0, genericAstGeneration_1.bindingToExpression)(prop, iterationContext)));
@@ -48,6 +48,13 @@ export declare function getFactoryFuncDeclaration(factoryFuncs: Set<IdKeys>): t.
48
48
  * @returns the declaration for a given adg
49
49
  */
50
50
  export declare function composeAdgFunction(adg: AdgMetadata, moduleMetadata: ModuleMetadata): t.ExportNamedDeclaration | t.ExportDefaultDeclaration | t.FunctionDeclaration;
51
+ /**
52
+ * Helper function to compose the static metadata object for a specific adg.
53
+ * @param adg the adg object we are building a metadata object for
54
+ * @param moduleMetadata the module metadata object.
55
+ * @returns a babel representation of a static metadata object.
56
+ */
57
+ export declare function composeAdgStaticMetadata(adg: AdgMetadata, moduleMetadata: ModuleMetadata): t.VariableDeclaration;
51
58
  /**
52
59
  * associate composed adgs with their exported names
53
60
  * @param adgName the name of the adg
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.produceErrorAdgFunction = exports.getInlineFunctionFromTemplateCompositions = exports.getAdgFunctionBody = exports.addExportStatement = exports.composeAdgFunction = exports.getFactoryFuncDeclaration = exports.adgToExpression = exports.sanitizeFunction = exports.hoistLocalFunction = void 0;
26
+ exports.produceErrorAdgFunction = exports.getInlineFunctionFromTemplateCompositions = exports.getAdgFunctionBody = exports.addExportStatement = exports.composeAdgStaticMetadata = exports.composeAdgFunction = exports.getFactoryFuncDeclaration = exports.adgToExpression = exports.sanitizeFunction = exports.hoistLocalFunction = void 0;
27
27
  const t = __importStar(require("@babel/types"));
28
28
  const common_shared_1 = require("@komaci/common-shared");
29
29
  const compositionAstGeneration_1 = require("./compositionAstGeneration");
@@ -235,6 +235,115 @@ function composeAdgFunction(adg, moduleMetadata) {
235
235
  return t.functionDeclaration(t.identifier(adg.defaultGeneratedName), [types_1.ID.FACTORY, types_1.ID.CONTEXT], body);
236
236
  }
237
237
  exports.composeAdgFunction = composeAdgFunction;
238
+ /**
239
+ * Helper function to compose the static metadata object for a specific adg.
240
+ * @param adg the adg object we are building a metadata object for
241
+ * @param moduleMetadata the module metadata object.
242
+ * @returns a babel representation of a static metadata object.
243
+ */
244
+ function composeAdgStaticMetadata(adg, moduleMetadata) {
245
+ const compId = adg.exportName == 'default'
246
+ ? moduleMetadata.defaultComponentId
247
+ : `${moduleMetadata.defaultComponentId}__${adg.exportName}`;
248
+ const metaDataProps = [];
249
+ //creating id: "comp-id";
250
+ const idProp = t.objectProperty(t.identifier('id'), t.stringLiteral(compId));
251
+ metaDataProps.push(idProp);
252
+ const tPropBody = [];
253
+ let hasImg = false;
254
+ if (adg.compositions && adg.compositionRootIndex != undefined) {
255
+ // creating an array of child metadata objects from composition.
256
+ const childMetadataObjects = collectChildrenStaticMetadata(adg.compositions[adg.compositionRootIndex], moduleMetadata);
257
+ //eg creating -> t0: [] with the array of child metadata objects.
258
+ const tmplEntry = t.objectProperty(t.identifier('t0'), t.arrayExpression(childMetadataObjects.childrenArray));
259
+ tPropBody.push(tmplEntry);
260
+ hasImg = childMetadataObjects.imgFound;
261
+ }
262
+ //creating t: {...tPropBody}
263
+ const tProp = t.objectProperty(t.identifier('t'), t.objectExpression(tPropBody));
264
+ metaDataProps.push(tProp);
265
+ const hasPrimableFunction = adg.functions.filter((f) => f.type == common_shared_1.FunctionTypes.PRIMING_FUNCTION ||
266
+ f.type == common_shared_1.FunctionTypes.WIRE_FUNCTION).length > 0;
267
+ //creating pf: false as the default.
268
+ const pfProp = t.objectProperty(t.identifier('pf'), t.booleanLiteral(hasPrimableFunction));
269
+ //creating img: prop based on if we found an img in the children traversal
270
+ const imgProp = t.objectProperty(t.identifier('pf'), t.booleanLiteral(hasImg));
271
+ metaDataProps.push(pfProp);
272
+ metaDataProps.push(imgProp);
273
+ //eg: adg0Meta: {...metadataProps}
274
+ const metaVarDeclarator = t.variableDeclarator(t.identifier(`${adg.defaultGeneratedName}Meta`), t.objectExpression(metaDataProps));
275
+ return t.variableDeclaration('const', [metaVarDeclarator]);
276
+ }
277
+ exports.composeAdgStaticMetadata = composeAdgStaticMetadata;
278
+ /**
279
+ * Function to traverse a composition and collect static metada about children in the composition.
280
+ * @param compositions the compisition array.
281
+ * @param moduleMetadata the module metadata object.
282
+ * @returns a collection of children static metadata objects.
283
+ */
284
+ function collectChildrenStaticMetadata(rootComposition, moduleMetadata) {
285
+ const childrenArray = [];
286
+ let imgFound = false;
287
+ if (rootComposition) {
288
+ (0, common_shared_1.traverseComposition)(rootComposition, (comp) => {
289
+ if (comp.type == 'ComposedAdg' || comp.type == 'Image') {
290
+ if (comp.type == 'Image') {
291
+ imgFound = true;
292
+ }
293
+ const childProp = generateComposisitonMetadata(comp, moduleMetadata);
294
+ childrenArray.push(childProp);
295
+ }
296
+ return false;
297
+ });
298
+ }
299
+ return { childrenArray, imgFound };
300
+ }
301
+ /**
302
+ * Function to generate a babel object expression based on the compisition type.
303
+ * @param comp the compisition
304
+ * @param moduleMetadata the module metadata object.
305
+ * @returns a babel object expression.
306
+ */
307
+ function generateComposisitonMetadata(comp, moduleMetadata) {
308
+ const propsArray = [];
309
+ if ((0, common_shared_1.isCompositionAComposedAdg)(comp)) {
310
+ //create child metadata object.
311
+ if (comp.input.type == 'ImportReference') {
312
+ const importName = moduleMetadata.importIndexReference.get(comp.input.value);
313
+ if (importName) {
314
+ const importMetadata = moduleMetadata.importsByName.get(importName);
315
+ if (importMetadata) {
316
+ propsArray.push(t.objectProperty(t.identifier('a'), t.identifier(importMetadata.generatorAlias)));
317
+ }
318
+ }
319
+ }
320
+ if (comp.properties) {
321
+ const props = [];
322
+ for (const [key, value] of Object.entries(comp.properties)) {
323
+ //eg. creating -> type: "Binding"
324
+ const typeProp = t.objectProperty(t.identifier('type'), t.stringLiteral(value.type));
325
+ const stringValue = value.value != undefined ? value.value.toString() : 'undefined';
326
+ //eg. creating -> value: "input1"
327
+ const valueProp = t.objectProperty(t.identifier('value'), t.stringLiteral(stringValue));
328
+ const propObject = t.objectExpression([typeProp, valueProp]);
329
+ //eg creating -> prop1: {type: "", value: ""};
330
+ props.push(t.objectProperty(t.identifier(key), propObject));
331
+ }
332
+ propsArray.push(t.objectProperty(t.identifier('p'), t.objectExpression(props)));
333
+ }
334
+ }
335
+ else if ((0, common_shared_1.isCompositionAnImage)(comp)) {
336
+ //eg. creating -> type: "Binding"
337
+ const typeProp = t.objectProperty(t.identifier('type'), t.stringLiteral(comp.src.type));
338
+ const stringValue = comp.src.value != undefined ? comp.src.value.toString() : 'undefined';
339
+ //eg. creating -> value: "input1"
340
+ const valueProp = t.objectProperty(t.identifier('value'), t.stringLiteral(stringValue));
341
+ const propObject = t.objectExpression([typeProp, valueProp]);
342
+ //eg creating -> prop1: {type: "", value: ""};
343
+ propsArray.push(t.objectProperty(t.identifier('p'), propObject));
344
+ }
345
+ return t.objectExpression(propsArray);
346
+ }
238
347
  /**
239
348
  * associate composed adgs with their exported names
240
349
  * @param adgName the name of the adg
@@ -61,6 +61,10 @@ function generateResolvableModule(input, scriptKomaciDoc, templateKomaciDocMap,
61
61
  : undefined;
62
62
  const hasScriptKomaciDoc = scriptKomaciDoc && Object.keys(scriptKomaciDoc).length !== 0;
63
63
  const hasTemplateKomaciDoc = defaultTemplateKomaciDoc && Object.keys(defaultTemplateKomaciDoc).length !== 0;
64
+ if (hasTemplateKomaciDoc) {
65
+ //generates the component name eg. komaciAction.js/html -> c-komaci-action
66
+ moduleMetadata.defaultComponentId = (0, common_shared_1.getComponentId)(input.moduleInfo.namespace, input.moduleInfo.name);
67
+ }
64
68
  const combinedModule = scriptKomaciDoc !== undefined && defaultTemplateKomaciDoc !== undefined;
65
69
  const isBundle = input.moduleInfo.type === 'bundle';
66
70
  let renderFunctionMetadata = undefined;
package/build/types.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import * as t from '@babel/types';
2
2
  import { KomaciDocument } from '@komaci/types';
3
3
  import { IdKeys } from '@komaci/common-shared';
4
+ import { LuvioMetadata } from '@lwc/metadata/dist/schema/typescript-types/luvio-metadata-types';
4
5
  export declare const ERROR_PREFIX = "[komaci esm-generator] ";
5
6
  export declare const CONTEXT = "ctx";
6
7
  export declare const PROPS = "props";
@@ -18,6 +19,7 @@ export declare type GeneratorInput = {
18
19
  srcFileMap?: {
19
20
  [filename: string]: string;
20
21
  };
22
+ luvioMetadata?: Map<string, LuvioMetadata | undefined>;
21
23
  };
22
24
  declare type ModuleInfo = {
23
25
  type: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@komaci/esm-generator",
3
- "version": "244.0.0",
3
+ "version": "244.1.0",
4
4
  "description": "Komaci generator for ADG ES modules",
5
5
  "homepage": "https://komaci.dev/",
6
6
  "repository": {
@@ -28,12 +28,12 @@
28
28
  "dependencies": {
29
29
  "@babel/core": "^7.9.0",
30
30
  "@babel/generator": "^7.9.0",
31
- "@komaci/common-shared": "244.0.0",
32
- "@komaci/static-analyzer": "244.0.0"
31
+ "@babel/types": "^7.9.0",
32
+ "@komaci/common-shared": "244.1.0",
33
+ "@komaci/static-analyzer": "244.1.0"
33
34
  },
34
35
  "devDependencies": {
35
- "@babel/types": "^7.9.0",
36
- "@komaci/types": "244.0.0",
36
+ "@komaci/types": "244.1.0",
37
37
  "@lwc-platform/sfdc-lwc-compiler": "242.15.1-2.28.0",
38
38
  "@lwc/metadata": "^2.28.0-0"
39
39
  }