@teleporthq/teleport-plugin-html-base-component 0.32.0-alpha.0 → 0.32.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.
@@ -8,27 +8,28 @@ import {
8
8
  import { component, dynamicNode, elementNode, staticNode } from '@teleporthq/teleport-uidl-builders'
9
9
  import { createHTMLBasePlugin } from '../src'
10
10
 
11
- describe('plugin-html-base-component', () => {
12
- const { htmlComponentPlugin } = createHTMLBasePlugin()
13
- const structure: ComponentStructure = {
14
- chunks: [],
15
- options: {},
16
- uidl: component('Test', elementNode('container')),
17
- dependencies: {},
18
- }
11
+ const getMockComponentStructure: ComponentStructure = () => ({
12
+ chunks: [],
13
+ options: {},
14
+ uidl: component('Test', elementNode('container')),
15
+ dependencies: {},
16
+ })
19
17
 
18
+ describe('plugin-html-base-component', () => {
20
19
  it('generated HAST nodes with the UIDL that is passed', async () => {
21
- const { chunks } = await htmlComponentPlugin(structure)
20
+ const { htmlComponentPlugin } = createHTMLBasePlugin()
21
+ const { chunks } = await htmlComponentPlugin(getMockComponentStructure())
22
22
  const htmlChunk = chunks.find((chunk) => chunk.fileType === FileType.HTML)
23
23
 
24
24
  expect(chunks.length).toBe(1)
25
25
  expect(htmlChunk).toBeDefined()
26
- expect(htmlChunk.name).toBe('html-template')
26
+ expect(htmlChunk.name).toBe('html-chunk')
27
27
  })
28
28
 
29
29
  it('adds attributes to the HAST node', async () => {
30
+ const { htmlComponentPlugin } = createHTMLBasePlugin()
30
31
  const { chunks } = await htmlComponentPlugin({
31
- ...structure,
32
+ ...getMockComponentStructure(),
32
33
  uidl: component(
33
34
  'Test',
34
35
  elementNode('a', { href: staticNode('/about'), target: staticNode('_blank') }, [
@@ -37,25 +38,27 @@ describe('plugin-html-base-component', () => {
37
38
  ),
38
39
  })
39
40
 
40
- expect(chunks.length).toEqual(2)
41
- expect(((chunks[1].content as HastNode).children[0] as HastNode).properties.href).toBe(
41
+ expect(chunks.length).toEqual(1)
42
+ expect(((chunks[0].content as HastNode).children[0] as HastNode).properties.href).toBe(
42
43
  'about.html'
43
44
  )
44
45
  })
45
46
 
46
47
  it('wraps static content inside div tags', async () => {
48
+ const { htmlComponentPlugin } = createHTMLBasePlugin()
47
49
  const { chunks } = await htmlComponentPlugin({
48
- ...structure,
50
+ ...getMockComponentStructure(),
49
51
  uidl: component('Test', staticNode('Hello') as unknown as UIDLElementNode),
50
52
  })
51
53
 
52
- expect(chunks.length).toEqual(3)
53
- expect((chunks[2].content as HastNode).children.length).toEqual(1)
54
+ expect(chunks.length).toEqual(1)
55
+ expect((chunks[0].content as HastNode).children.length).toEqual(1)
54
56
  })
55
57
 
56
58
  it('Throws error when a external comp is missing', async () => {
59
+ const { htmlComponentPlugin } = createHTMLBasePlugin()
57
60
  const plugin = htmlComponentPlugin({
58
- ...structure,
61
+ ...getMockComponentStructure(),
59
62
  uidl: component('Test', elementNode('Sample', {}, [], { type: 'local' })),
60
63
  })
61
64
 
@@ -63,18 +66,19 @@ describe('plugin-html-base-component', () => {
63
66
  })
64
67
 
65
68
  it('Takes default value from props and state, when nodes are using dynamic ref', async () => {
69
+ const { htmlComponentPlugin } = createHTMLBasePlugin()
66
70
  const { chunks } = await htmlComponentPlugin({
67
- ...structure,
71
+ ...getMockComponentStructure(),
68
72
  uidl: component('Test', elementNode('container', {}, [dynamicNode('prop', 'content')]), {
69
73
  content: { type: 'string', defaultValue: 'Hello World' },
70
74
  }),
71
75
  })
72
76
 
73
77
  const hastText = (
74
- ((chunks[3].content as HastNode).children[0] as HastNode).children[0] as HastNode
78
+ ((chunks[0].content as HastNode).children[0] as HastNode).children[0] as HastNode
75
79
  ).children[0] as HastText
76
80
 
77
- expect(chunks.length).toEqual(4)
81
+ expect(chunks.length).toEqual(1)
78
82
  expect(hastText).toBeDefined()
79
83
  expect(hastText.type).toBe('text')
80
84
  expect(hastText.value).toBe('Hello World')
@@ -1,2 +1,2 @@
1
- export declare const DEFAULT_COMPONENT_CHUNK_NAME = "html-template";
1
+ export declare const DEFAULT_COMPONENT_CHUNK_NAME = "html-chunk";
2
2
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,kBAAkB,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,eAAe,CAAA"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DEFAULT_COMPONENT_CHUNK_NAME = void 0;
4
- exports.DEFAULT_COMPONENT_CHUNK_NAME = 'html-template';
4
+ exports.DEFAULT_COMPONENT_CHUNK_NAME = 'html-chunk';
5
5
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,4BAA4B,GAAG,eAAe,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,4BAA4B,GAAG,YAAY,CAAA"}
@@ -5,9 +5,9 @@ interface HtmlPluginConfig {
5
5
  }
6
6
  interface HtmlPlugin {
7
7
  htmlComponentPlugin: ComponentPlugin;
8
- addExternals: (list: Record<string, ComponentUIDL>) => void;
8
+ addExternals: (list: Record<string, ComponentUIDL>, plugins: ComponentPlugin[]) => void;
9
9
  }
10
- declare type HtmlPluginFactory<T> = (config?: Partial<T & ComponentDefaultPluginParams>) => HtmlPlugin;
10
+ type HtmlPluginFactory<T> = (config?: Partial<T & ComponentDefaultPluginParams>) => HtmlPlugin;
11
11
  export declare const createHTMLBasePlugin: HtmlPluginFactory<HtmlPluginConfig>;
12
12
  declare const _default: HtmlPlugin;
13
13
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAIf,4BAA4B,EAC5B,aAAa,EACd,MAAM,4BAA4B,CAAA;AAMnC,UAAU,gBAAgB;IACxB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,UAAU,UAAU;IAClB,mBAAmB,EAAE,eAAe,CAAA;IACpC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,IAAI,CAAA;CAC5D;AAED,aAAK,iBAAiB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,4BAA4B,CAAC,KAAK,UAAU,CAAA;AAE9F,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,CAAC,gBAAgB,CAuDpE,CAAA;;AAED,wBAAqC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAIf,4BAA4B,EAC5B,aAAa,EACd,MAAM,4BAA4B,CAAA;AAMnC,UAAU,gBAAgB;IACxB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,UAAU,UAAU;IAClB,mBAAmB,EAAE,eAAe,CAAA;IACpC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,IAAI,CAAA;CACxF;AAED,KAAK,iBAAiB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,4BAA4B,CAAC,KAAK,UAAU,CAAA;AAE9F,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,CAAC,gBAAgB,CAiEpE,CAAA;;AAED,wBAAqC"}
package/dist/cjs/index.js CHANGED
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
@@ -56,29 +56,35 @@ var teleport_shared_1 = require("@teleporthq/teleport-shared");
56
56
  var createHTMLBasePlugin = function (config) {
57
57
  var _a = config || {}, _b = _a.componentChunkName, componentChunkName = _b === void 0 ? constants_1.DEFAULT_COMPONENT_CHUNK_NAME : _b, _c = _a.wrapComponent, wrapComponent = _c === void 0 ? false : _c;
58
58
  var externals = {};
59
- var addExternals = function (list) {
59
+ var plugins = [];
60
+ var addExternals = function (list, subComponentPlugins) {
61
+ if (subComponentPlugins === void 0) { subComponentPlugins = []; }
60
62
  externals = __assign(__assign({}, externals), (list || {}));
63
+ plugins = subComponentPlugins;
61
64
  };
62
65
  var htmlComponentPlugin = function (structure) { return __awaiter(void 0, void 0, void 0, function () {
63
- var uidl, chunks, dependencies, options, _a, propDefinitions, _b, stateDefinitions, templatesLookUp, compBase, bodyContent;
64
- return __generator(this, function (_c) {
65
- switch (_c.label) {
66
+ var uidl, _a, chunks, dependencies, options, _b, propDefinitions, _c, stateDefinitions, outputOptions, templatesLookUp, compBase, bodyContent;
67
+ return __generator(this, function (_d) {
68
+ switch (_d.label) {
66
69
  case 0:
67
- uidl = structure.uidl, chunks = structure.chunks, dependencies = structure.dependencies, options = structure.options;
68
- _a = uidl.propDefinitions, propDefinitions = _a === void 0 ? {} : _a, _b = uidl.stateDefinitions, stateDefinitions = _b === void 0 ? {} : _b;
70
+ uidl = structure.uidl, _a = structure.chunks, chunks = _a === void 0 ? [] : _a, dependencies = structure.dependencies, options = structure.options;
71
+ _b = uidl.propDefinitions, propDefinitions = _b === void 0 ? {} : _b, _c = uidl.stateDefinitions, stateDefinitions = _c === void 0 ? {} : _c, outputOptions = uidl.outputOptions;
69
72
  templatesLookUp = {};
70
73
  compBase = wrapComponent
71
74
  ? teleport_plugin_common_1.HASTBuilders.createHTMLNode('body')
72
75
  : teleport_plugin_common_1.HASTBuilders.createHTMLNode('div');
73
- return [4 /*yield*/, (0, node_handlers_1.generateHtmlSynatx)(uidl.node, templatesLookUp, propDefinitions, stateDefinitions, Object.values(externals).reduce(function (acc, comp) {
74
- teleport_shared_1.UIDLUtils.setFriendlyOutputOptions(comp);
75
- comp.name = teleport_shared_1.StringUtils.removeIllegalCharacters(comp.name) || 'AppComponent';
76
- comp.name = teleport_shared_1.UIDLUtils.getComponentClassName(comp);
77
- acc[comp.name] = comp;
78
- return acc;
79
- }, {}), options.projectRouteDefinition, { chunks: chunks, dependencies: dependencies, options: options })];
76
+ return [4 /*yield*/, (0, node_handlers_1.generateHtmlSynatx)(uidl.node, templatesLookUp, propDefinitions, stateDefinitions, {
77
+ externals: Object.values(externals).reduce(function (acc, comp) {
78
+ teleport_shared_1.UIDLUtils.setFriendlyOutputOptions(comp);
79
+ comp.name = teleport_shared_1.StringUtils.removeIllegalCharacters(comp.name) || 'AppComponent';
80
+ comp.name = teleport_shared_1.UIDLUtils.getComponentClassName(comp);
81
+ acc[comp.name] = comp;
82
+ return acc;
83
+ }, {}),
84
+ plugins: plugins,
85
+ }, { chunks: chunks, dependencies: dependencies, options: options, outputOptions: outputOptions })];
80
86
  case 1:
81
- bodyContent = _c.sent();
87
+ bodyContent = _d.sent();
82
88
  teleport_plugin_common_1.HASTUtils.addChildNode(compBase, bodyContent);
83
89
  chunks.push({
84
90
  type: teleport_types_1.ChunkType.HAST,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAOmC;AACnC,6EAA4E;AAC5E,yCAA0D;AAC1D,iDAAoD;AACpD,+DAAoE;AAc7D,IAAM,oBAAoB,GAAwC,UAAC,MAAM;IACxE,IAAA,KAA+E,MAAM,IAAI,EAAE,EAAzF,0BAAiD,EAAjD,kBAAkB,mBAAG,wCAA4B,KAAA,EAAE,qBAAqB,EAArB,aAAa,mBAAG,KAAK,KAAiB,CAAA;IACjG,IAAI,SAAS,GAAkC,EAAE,CAAA;IAEjD,IAAM,YAAY,GAAG,UAAC,IAAoC;QACxD,SAAS,yBACJ,SAAS,GACT,CAAC,IAAI,IAAI,EAAE,CAAC,CAChB,CAAA;IACH,CAAC,CAAA;IAED,IAAM,mBAAmB,GAAoB,UAAO,SAAS;;;;;oBACnD,IAAI,GAAoC,SAAS,KAA7C,EAAE,MAAM,GAA4B,SAAS,OAArC,EAAE,YAAY,GAAc,SAAS,aAAvB,EAAE,OAAO,GAAK,SAAS,QAAd,CAAc;oBACjD,KAAgD,IAAI,gBAAhC,EAApB,eAAe,mBAAG,EAAE,KAAA,EAAE,KAA0B,IAAI,iBAAT,EAArB,gBAAgB,mBAAG,EAAE,KAAA,CAAS;oBAEtD,eAAe,GAA4B,EAAE,CAAA;oBAC7C,QAAQ,GAAG,aAAa;wBAC5B,CAAC,CAAC,qCAAY,CAAC,cAAc,CAAC,MAAM,CAAC;wBACrC,CAAC,CAAC,qCAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;oBAElB,qBAAM,IAAA,kCAAkB,EAC1C,IAAI,CAAC,IAAI,EACT,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,UAAC,GAAkC,EAAE,IAAmB;4BACtF,2BAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAA;4BACxC,IAAI,CAAC,IAAI,GAAG,6BAAW,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,cAAc,CAAA;4BAC5E,IAAI,CAAC,IAAI,GAAG,2BAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAA;4BACjD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;4BACrB,OAAO,GAAG,CAAA;wBACZ,CAAC,EAAE,EAAE,CAAC,EACN,OAAO,CAAC,sBAAsB,EAC9B,EAAE,MAAM,QAAA,EAAE,YAAY,cAAA,EAAE,OAAO,SAAA,EAAE,CAClC,EAAA;;oBAdK,WAAW,GAAG,SAcnB;oBACD,kCAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,WAAuB,CAAC,CAAA;oBAEzD,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,0BAAS,CAAC,IAAI;wBACpB,QAAQ,EAAE,yBAAQ,CAAC,IAAI;wBACvB,IAAI,EAAE,kBAAkB;wBACxB,OAAO,EAAE,QAAQ;wBACjB,SAAS,EAAE,EAAE;wBACb,IAAI,EAAE;4BACJ,WAAW,EAAE,eAAe;yBAC7B;qBACF,CAAC,CAAA;oBAEF,sBAAO,SAAS,EAAA;;;SACjB,CAAA;IAED,OAAO;QACL,mBAAmB,qBAAA;QACnB,YAAY,cAAA;KACb,CAAA;AACH,CAAC,CAAA;AAvDY,QAAA,oBAAoB,wBAuDhC;AAED,kBAAe,IAAA,4BAAoB,GAAE,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAOmC;AACnC,6EAA4E;AAC5E,yCAA0D;AAC1D,iDAAoD;AACpD,+DAAoE;AAc7D,IAAM,oBAAoB,GAAwC,UAAC,MAAM;IACxE,IAAA,KAA+E,MAAM,IAAI,EAAE,EAAzF,0BAAiD,EAAjD,kBAAkB,mBAAG,wCAA4B,KAAA,EAAE,qBAAqB,EAArB,aAAa,mBAAG,KAAK,KAAiB,CAAA;IACjG,IAAI,SAAS,GAAkC,EAAE,CAAA;IACjD,IAAI,OAAO,GAAsB,EAAE,CAAA;IAEnC,IAAM,YAAY,GAAG,UACnB,IAAoC,EACpC,mBAA2C;QAA3C,oCAAA,EAAA,wBAA2C;QAE3C,SAAS,yBACJ,SAAS,GACT,CAAC,IAAI,IAAI,EAAE,CAAC,CAChB,CAAA;QACD,OAAO,GAAG,mBAAmB,CAAA;IAC/B,CAAC,CAAA;IAED,IAAM,mBAAmB,GAAoB,UAAO,SAAS;;;;;oBACnD,IAAI,GAAyC,SAAS,KAAlD,EAAE,KAAuC,SAAS,OAArC,EAAX,MAAM,mBAAG,EAAE,KAAA,EAAE,YAAY,GAAc,SAAS,aAAvB,EAAE,OAAO,GAAK,SAAS,QAAd,CAAc;oBACtD,KAA+D,IAAI,gBAA/C,EAApB,eAAe,mBAAG,EAAE,KAAA,EAAE,KAAyC,IAAI,iBAAxB,EAArB,gBAAgB,mBAAG,EAAE,KAAA,EAAE,aAAa,GAAK,IAAI,cAAT,CAAS;oBAErE,eAAe,GAA4B,EAAE,CAAA;oBAC7C,QAAQ,GAAG,aAAa;wBAC5B,CAAC,CAAC,qCAAY,CAAC,cAAc,CAAC,MAAM,CAAC;wBACrC,CAAC,CAAC,qCAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;oBAElB,qBAAM,IAAA,kCAAkB,EAC1C,IAAI,CAAC,IAAI,EACT,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB;4BACE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CACxC,UAAC,GAAkC,EAAE,IAAmB;gCACtD,2BAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAA;gCACxC,IAAI,CAAC,IAAI,GAAG,6BAAW,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,cAAc,CAAA;gCAC5E,IAAI,CAAC,IAAI,GAAG,2BAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAA;gCACjD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;gCACrB,OAAO,GAAG,CAAA;4BACZ,CAAC,EACD,EAAE,CACH;4BACD,OAAO,SAAA;yBACR,EACD,EAAE,MAAM,QAAA,EAAE,YAAY,cAAA,EAAE,OAAO,SAAA,EAAE,aAAa,eAAA,EAAE,CACjD,EAAA;;oBAnBK,WAAW,GAAG,SAmBnB;oBACD,kCAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,WAAuB,CAAC,CAAA;oBAEzD,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,0BAAS,CAAC,IAAI;wBACpB,QAAQ,EAAE,yBAAQ,CAAC,IAAI;wBACvB,IAAI,EAAE,kBAAkB;wBACxB,OAAO,EAAE,QAAQ;wBACjB,SAAS,EAAE,EAAE;wBACb,IAAI,EAAE;4BACJ,WAAW,EAAE,eAAe;yBAC7B;qBACF,CAAC,CAAA;oBAEF,sBAAO,SAAS,EAAA;;;SACjB,CAAA;IAED,OAAO;QACL,mBAAmB,qBAAA;QACnB,YAAY,cAAA;KACb,CAAA;AACH,CAAC,CAAA;AAjEY,QAAA,oBAAoB,wBAiEhC;AAED,kBAAe,IAAA,4BAAoB,GAAE,CAAA"}
@@ -1,8 +1,12 @@
1
- import { UIDLNode, HastNode, UIDLPropDefinition, UIDLStateDefinition, HastText, ComponentUIDL, ChunkDefinition, UIDLDependency, GeneratorOptions, UIDLRouteDefinitions } from '@teleporthq/teleport-types';
2
- declare type NodeToHTML<NodeType, ReturnType> = (node: NodeType, templatesLookUp: Record<string, unknown>, propDefinitions: Record<string, UIDLPropDefinition>, stateDefinitions: Record<string, UIDLStateDefinition>, externals: Record<string, ComponentUIDL>, routeDefinitions: UIDLRouteDefinitions, structure: {
1
+ import { UIDLNode, HastNode, UIDLPropDefinition, UIDLStateDefinition, HastText, ComponentUIDL, ChunkDefinition, UIDLDependency, GeneratorOptions, ComponentPlugin, UIDLComponentOutputOptions } from '@teleporthq/teleport-types';
2
+ type NodeToHTML<NodeType, ReturnType> = (node: NodeType, templatesLookUp: Record<string, unknown>, propDefinitions: Record<string, UIDLPropDefinition>, stateDefinitions: Record<string, UIDLStateDefinition>, subComponentOptions: {
3
+ externals: Record<string, ComponentUIDL>;
4
+ plugins: ComponentPlugin[];
5
+ }, structure: {
3
6
  chunks: ChunkDefinition[];
4
7
  dependencies: Record<string, UIDLDependency>;
5
8
  options: GeneratorOptions;
9
+ outputOptions: UIDLComponentOutputOptions;
6
10
  }) => ReturnType;
7
11
  export declare const generateHtmlSynatx: NodeToHTML<UIDLNode, Promise<HastNode | HastText>>;
8
12
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"node-handlers.d.ts","sourceRoot":"","sources":["../../src/node-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAER,QAAQ,EAGR,kBAAkB,EAClB,mBAAmB,EAGnB,QAAQ,EACR,aAAa,EAGb,eAAe,EACf,cAAc,EAEd,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,4BAA4B,CAAA;AAOnC,aAAK,UAAU,CAAC,QAAQ,EAAE,UAAU,IAAI,CACtC,IAAI,EAAE,QAAQ,EACd,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,EACnD,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,EACrD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACxC,gBAAgB,EAAE,oBAAoB,EACtC,SAAS,EAAE;IACT,MAAM,EAAE,eAAe,EAAE,CAAA;IACzB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IAC5C,OAAO,EAAE,gBAAgB,CAAA;CAC1B,KACE,UAAU,CAAA;AAEf,eAAO,MAAM,kBAAkB,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAkDjF,CAAA"}
1
+ {"version":3,"file":"node-handlers.d.ts","sourceRoot":"","sources":["../../src/node-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAER,QAAQ,EAGR,kBAAkB,EAClB,mBAAmB,EAGnB,QAAQ,EACR,aAAa,EAGb,eAAe,EACf,cAAc,EAEd,gBAAgB,EAEhB,eAAe,EAEf,0BAA0B,EAE3B,MAAM,4BAA4B,CAAA;AAkBnC,KAAK,UAAU,CAAC,QAAQ,EAAE,UAAU,IAAI,CACtC,IAAI,EAAE,QAAQ,EACd,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,EACnD,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,EACrD,mBAAmB,EAAE;IACnB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IACxC,OAAO,EAAE,eAAe,EAAE,CAAA;CAC3B,EACD,SAAS,EAAE;IACT,MAAM,EAAE,eAAe,EAAE,CAAA;IACzB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IAC5C,OAAO,EAAE,gBAAgB,CAAA;IACzB,aAAa,EAAE,0BAA0B,CAAA;CAC1C,KACE,UAAU,CAAA;AAEf,eAAO,MAAM,kBAAkB,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAgDjF,CAAA"}
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
@@ -58,14 +58,26 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
58
58
  Object.defineProperty(exports, "__esModule", { value: true });
59
59
  exports.generateHtmlSynatx = void 0;
60
60
  var teleport_types_1 = require("@teleporthq/teleport-types");
61
+ var path_1 = require("path");
61
62
  var teleport_plugin_common_1 = require("@teleporthq/teleport-plugin-common");
62
63
  var teleport_shared_1 = require("@teleporthq/teleport-shared");
63
64
  var teleport_uidl_builders_1 = require("@teleporthq/teleport-uidl-builders");
64
65
  var teleport_plugin_css_1 = require("@teleporthq/teleport-plugin-css");
65
66
  var constants_1 = require("./constants");
66
- var generateHtmlSynatx = function (node, templatesLookUp, propDefinitions, stateDefinitions, externals, routeDefinitions, structure) { return __awaiter(void 0, void 0, void 0, function () {
67
+ var isValidURL = function (url) {
68
+ try {
69
+ /* tslint:disable:no-unused-expression */
70
+ new URL(url);
71
+ return true;
72
+ }
73
+ catch (error) {
74
+ return false;
75
+ }
76
+ };
77
+ var generateHtmlSynatx = function (node, templatesLookUp, propDefinitions, stateDefinitions, subComponentOptions, structure) { return __awaiter(void 0, void 0, void 0, function () {
67
78
  return __generator(this, function (_a) {
68
79
  switch (node.type) {
80
+ case 'inject':
69
81
  case 'raw':
70
82
  return [2 /*return*/, teleport_plugin_common_1.HASTBuilders.createTextNode(node.content.toString())];
71
83
  case 'static':
@@ -73,9 +85,9 @@ var generateHtmlSynatx = function (node, templatesLookUp, propDefinitions, state
73
85
  case 'slot':
74
86
  return [2 /*return*/, teleport_plugin_common_1.HASTBuilders.createHTMLNode(node.type)];
75
87
  case 'element':
76
- return [2 /*return*/, generatElementNode(node, templatesLookUp, propDefinitions, stateDefinitions, externals, routeDefinitions, structure)];
88
+ return [2 /*return*/, generatElementNode(node, templatesLookUp, propDefinitions, stateDefinitions, subComponentOptions, structure)];
77
89
  case 'dynamic':
78
- return [2 /*return*/, generateDynamicNode(node, templatesLookUp, propDefinitions, stateDefinitions, externals, routeDefinitions, structure)];
90
+ return [2 /*return*/, generateDynamicNode(node, templatesLookUp, propDefinitions, stateDefinitions, subComponentOptions, structure)];
79
91
  default:
80
92
  throw new teleport_types_1.HTMLComponentGeneratorError("generateHtmlSyntax encountered a node of unsupported type: ".concat(JSON.stringify(node, null, 2), " "));
81
93
  }
@@ -83,7 +95,7 @@ var generateHtmlSynatx = function (node, templatesLookUp, propDefinitions, state
83
95
  });
84
96
  }); };
85
97
  exports.generateHtmlSynatx = generateHtmlSynatx;
86
- var generatElementNode = function (node, templatesLookUp, propDefinitions, stateDefinitions, externals, routeDefinitions, structure) { return __awaiter(void 0, void 0, void 0, function () {
98
+ var generatElementNode = function (node, templatesLookUp, propDefinitions, stateDefinitions, subComponentOptions, structure) { return __awaiter(void 0, void 0, void 0, function () {
87
99
  var _a, elementType, children, _b, attrs, _c, style, _d, referencedStyles, dependency, key, elementNode, dependencies, compTag, _i, children_1, child, childTag;
88
100
  return __generator(this, function (_e) {
89
101
  switch (_e.label) {
@@ -96,7 +108,7 @@ var generatElementNode = function (node, templatesLookUp, propDefinitions, state
96
108
  dependencies[dependency.path] = dependency;
97
109
  }
98
110
  if (!(dependency && (dependency === null || dependency === void 0 ? void 0 : dependency.type) === 'local')) return [3 /*break*/, 2];
99
- return [4 /*yield*/, generateComponentContent(node, propDefinitions, stateDefinitions, externals, routeDefinitions, structure)];
111
+ return [4 /*yield*/, generateComponentContent(node, propDefinitions, stateDefinitions, subComponentOptions, structure)];
100
112
  case 1:
101
113
  compTag = _e.sent();
102
114
  return [2 /*return*/, compTag];
@@ -107,7 +119,7 @@ var generatElementNode = function (node, templatesLookUp, propDefinitions, state
107
119
  case 3:
108
120
  if (!(_i < children_1.length)) return [3 /*break*/, 6];
109
121
  child = children_1[_i];
110
- return [4 /*yield*/, (0, exports.generateHtmlSynatx)(child, templatesLookUp, propDefinitions, stateDefinitions, externals, routeDefinitions, structure)];
122
+ return [4 /*yield*/, (0, exports.generateHtmlSynatx)(child, templatesLookUp, propDefinitions, stateDefinitions, subComponentOptions, structure)];
111
123
  case 4:
112
124
  childTag = _e.sent();
113
125
  if (!childTag) {
@@ -137,21 +149,23 @@ var generatElementNode = function (node, templatesLookUp, propDefinitions, state
137
149
  handleStyles(node, style, propDefinitions, stateDefinitions);
138
150
  }
139
151
  if (Object.keys(attrs).length > 0) {
140
- handleAttributes(elementNode, attrs, propDefinitions, stateDefinitions, routeDefinitions);
152
+ handleAttributes(elementType, elementNode, attrs, propDefinitions, stateDefinitions, structure.options.projectRouteDefinition, structure.outputOptions);
141
153
  }
142
154
  return [2 /*return*/, elementNode];
143
155
  }
144
156
  });
145
157
  }); };
146
- var generateComponentContent = function (node, propDefinitions, stateDefinitions, externals, routeDefinitions, structure) { return __awaiter(void 0, void 0, void 0, function () {
147
- var _a, elementType, _b, attrs, key, _c, children, dependencies, chunks, options, comp, lookUpTemplates, compHasSlots, combinedProps, propsForInstance, combinedStates, statesForInstance, elementNode, compTag, cssPlugin, result, chunk, styleChunk;
148
- var _d;
149
- return __generator(this, function (_e) {
150
- switch (_e.label) {
158
+ var generateComponentContent = function (node, propDefinitions, stateDefinitions, subComponentOptions, structure) { return __awaiter(void 0, void 0, void 0, function () {
159
+ var externals, plugins, _a, elementType, _b, attrs, key, _c, children, dependencies, _d, chunks, options, compName, comp, lookUpTemplates, compHasSlots, combinedProps, propsForInstance, combinedStates, statesForInstance, elementNode, compTag, cssPlugin, initialStructure, result, chunk, styleChunk;
160
+ var _e;
161
+ return __generator(this, function (_f) {
162
+ switch (_f.label) {
151
163
  case 0:
164
+ externals = subComponentOptions.externals, plugins = subComponentOptions.plugins;
152
165
  _a = node.content, elementType = _a.elementType, _b = _a.attrs, attrs = _b === void 0 ? {} : _b, key = _a.key, _c = _a.children, children = _c === void 0 ? [] : _c;
153
- dependencies = structure.dependencies, chunks = structure.chunks, options = structure.options;
154
- comp = teleport_shared_1.UIDLUtils.cloneObject(externals[elementType] || {});
166
+ dependencies = structure.dependencies, _d = structure.chunks, chunks = _d === void 0 ? [] : _d, options = structure.options;
167
+ compName = elementType === 'Component' ? 'AppComponent' : elementType;
168
+ comp = teleport_shared_1.UIDLUtils.cloneObject(externals[compName] || {});
155
169
  lookUpTemplates = {};
156
170
  compHasSlots = false;
157
171
  if (!comp || !(comp === null || comp === void 0 ? void 0 : comp.node)) {
@@ -211,39 +225,50 @@ var generateComponentContent = function (node, propDefinitions, stateDefinitions
211
225
  }, {});
212
226
  elementNode = teleport_plugin_common_1.HASTBuilders.createHTMLNode(teleport_shared_1.StringUtils.camelCaseToDashCase(elementType));
213
227
  lookUpTemplates[key] = elementNode;
214
- return [4 /*yield*/, (0, exports.generateHtmlSynatx)(__assign(__assign({}, comp.node), { content: __assign(__assign({}, comp.node.content), { style: __assign(__assign({}, (((_d = comp.node.content) === null || _d === void 0 ? void 0 : _d.style) || {})), { display: {
228
+ return [4 /*yield*/, (0, exports.generateHtmlSynatx)(__assign(__assign({}, comp.node), { content: __assign(__assign({}, comp.node.content), { style: __assign(__assign({}, (((_e = comp.node.content) === null || _e === void 0 ? void 0 : _e.style) || {})), { display: {
215
229
  type: 'static',
216
230
  content: 'contents',
217
- } }) }) }), lookUpTemplates, propsForInstance, statesForInstance, externals, routeDefinitions, structure)];
231
+ } }) }) }), lookUpTemplates, propsForInstance, statesForInstance, subComponentOptions, structure)];
218
232
  case 1:
219
- compTag = (_e.sent());
233
+ compTag = (_f.sent());
220
234
  cssPlugin = (0, teleport_plugin_css_1.createCSSPlugin)({
221
235
  templateStyle: 'html',
222
- templateChunkName: 'html-template',
236
+ templateChunkName: constants_1.DEFAULT_COMPONENT_CHUNK_NAME,
223
237
  declareDependency: 'import',
224
238
  forceScoping: true,
225
239
  chunkName: comp.name,
226
240
  staticPropReferences: true,
227
241
  });
228
- return [4 /*yield*/, cssPlugin({
229
- uidl: __assign(__assign({}, comp), { propDefinitions: propsForInstance, stateDefinitions: statesForInstance }),
230
- chunks: [
231
- {
232
- type: teleport_types_1.ChunkType.HAST,
233
- fileType: teleport_types_1.FileType.HTML,
234
- name: constants_1.DEFAULT_COMPONENT_CHUNK_NAME,
235
- linkAfter: [],
236
- content: compTag,
237
- meta: {
238
- nodesLookup: lookUpTemplates,
239
- },
242
+ initialStructure = {
243
+ uidl: __assign(__assign({}, comp), { propDefinitions: propsForInstance, stateDefinitions: statesForInstance }),
244
+ chunks: [
245
+ {
246
+ type: teleport_types_1.ChunkType.HAST,
247
+ fileType: teleport_types_1.FileType.HTML,
248
+ name: constants_1.DEFAULT_COMPONENT_CHUNK_NAME,
249
+ linkAfter: [],
250
+ content: compTag,
251
+ meta: {
252
+ nodesLookup: lookUpTemplates,
240
253
  },
241
- ],
242
- dependencies: dependencies,
243
- options: options,
244
- })];
254
+ },
255
+ ],
256
+ dependencies: dependencies,
257
+ options: options,
258
+ };
259
+ return [4 /*yield*/, __spreadArray([cssPlugin], plugins, true).reduce(function (previousPluginOperation, plugin) { return __awaiter(void 0, void 0, void 0, function () {
260
+ var modifiedStructure;
261
+ return __generator(this, function (_a) {
262
+ switch (_a.label) {
263
+ case 0: return [4 /*yield*/, previousPluginOperation];
264
+ case 1:
265
+ modifiedStructure = _a.sent();
266
+ return [2 /*return*/, plugin(modifiedStructure)];
267
+ }
268
+ });
269
+ }); }, Promise.resolve(initialStructure))];
245
270
  case 2:
246
- result = _e.sent();
271
+ result = _f.sent();
247
272
  if (compHasSlots) {
248
273
  result.chunks.forEach(function (chunk) {
249
274
  if (chunk.fileType === teleport_types_1.FileType.CSS) {
@@ -254,7 +279,10 @@ var generateComponentContent = function (node, propDefinitions, stateDefinitions
254
279
  else {
255
280
  chunk = chunks.find(function (item) { return item.name === comp.name; });
256
281
  if (!chunk) {
257
- styleChunk = result.chunks.find(function (item) { return item.name === comp.name; });
282
+ styleChunk = result.chunks.find(function (item) { return item.fileType === teleport_types_1.FileType.CSS; });
283
+ if (!styleChunk) {
284
+ return [2 /*return*/];
285
+ }
258
286
  chunks.push(styleChunk);
259
287
  }
260
288
  }
@@ -285,20 +313,27 @@ var handleStyles = function (node, styles, propDefinitions, stateDefinitions) {
285
313
  }
286
314
  });
287
315
  };
288
- var handleAttributes = function (htmlNode, attrs, propDefinitions, stateDefinitions, routeDefinitions) {
316
+ var handleAttributes = function (elementType, htmlNode, attrs, propDefinitions, stateDefinitions, routeDefinitions, outputOptions) {
289
317
  Object.keys(attrs).forEach(function (attrKey) {
290
318
  var attrValue = attrs[attrKey];
291
319
  if (attrKey === 'href' &&
292
320
  attrValue.type === 'static' &&
293
321
  typeof attrValue.content === 'string' &&
294
322
  attrValue.content.startsWith('/')) {
295
- attrValue =
296
- attrValue.content === '/' ||
297
- attrValue.content ===
298
- "/".concat(teleport_shared_1.StringUtils.camelCaseToDashCase(teleport_shared_1.StringUtils.removeIllegalCharacters((routeDefinitions === null || routeDefinitions === void 0 ? void 0 : routeDefinitions.defaultValue) || '')))
299
- ? (0, teleport_uidl_builders_1.staticNode)('index.html')
300
- : (0, teleport_uidl_builders_1.staticNode)("".concat(attrValue.content.split('/').pop(), ".html"));
301
- teleport_plugin_common_1.HASTUtils.addAttributeToNode(htmlNode, attrKey, String(attrValue.content));
323
+ var targetLink = void 0;
324
+ var targetRoute = ((routeDefinitions === null || routeDefinitions === void 0 ? void 0 : routeDefinitions.values) || []).find(function (route) { return route.pageOptions.navLink === attrValue.content; });
325
+ if (targetRoute) {
326
+ targetLink = targetRoute.pageOptions.navLink;
327
+ }
328
+ if (!targetRoute && attrValue.content === '/home') {
329
+ targetLink = '/';
330
+ }
331
+ if (!targetLink && !targetRoute) {
332
+ targetLink = attrValue.content;
333
+ }
334
+ var currentPageRoute = path_1.join.apply(void 0, __spreadArray(__spreadArray([], ((outputOptions === null || outputOptions === void 0 ? void 0 : outputOptions.folderPath) || []), false), ['./'], false));
335
+ var localPrefix = (0, path_1.relative)("/".concat(currentPageRoute), "/".concat(targetLink === '/' ? 'index' : targetLink));
336
+ teleport_plugin_common_1.HASTUtils.addAttributeToNode(htmlNode, attrKey, "".concat(localPrefix, ".html"));
302
337
  return;
303
338
  }
304
339
  if (attrValue.type === 'dynamic') {
@@ -309,7 +344,7 @@ var handleAttributes = function (htmlNode, attrs, propDefinitions, stateDefiniti
309
344
  return;
310
345
  }
311
346
  if (attrValue.type === 'raw') {
312
- teleport_plugin_common_1.HASTUtils.addAttributeToNode(htmlNode, attrKey, String(attrValue.content));
347
+ teleport_plugin_common_1.HASTUtils.addAttributeToNode(htmlNode, attrKey, attrValue.content);
313
348
  return;
314
349
  }
315
350
  if (typeof attrValue.content === 'boolean') {
@@ -317,20 +352,46 @@ var handleAttributes = function (htmlNode, attrs, propDefinitions, stateDefiniti
317
352
  return;
318
353
  }
319
354
  else if (typeof attrValue.content === 'string' || typeof attrValue.content === 'number') {
320
- teleport_plugin_common_1.HASTUtils.addAttributeToNode(htmlNode, attrKey, teleport_shared_1.StringUtils.encode(String(attrValue.content)));
355
+ var value = teleport_shared_1.StringUtils.encode(String(attrValue.content));
356
+ /*
357
+ elementType of image is always mapped to img.
358
+ For reference, check `html-mapping` file.
359
+ */
360
+ if (elementType === 'img' && attrKey === 'src' && !isValidURL(value)) {
361
+ /*
362
+ By default we just prefix all the asset paths with just the
363
+ assetPrefix that is configured in the project. But for `html` generators
364
+ we need to prefix that with the current file location.
365
+
366
+ Because, all the other frameworks have a build setup. which serves all the
367
+ assets from the `public` folder. But in the case of `html` here is how it works
368
+
369
+ We load a file from `index.html` the request for the image goes from
370
+ '...url.../public/...image...'
371
+ If it's a nested url, then the request goes from
372
+ '...url/nested/public/...image..'
373
+
374
+ But the nested folder is available only on the root. With this
375
+ The url changes prefixes to
376
+
377
+ ../public/playground_assets/..image.. etc depending on the dept the file is in.
378
+ */
379
+ value = (0, path_1.join)((0, path_1.relative)(path_1.join.apply(void 0, outputOptions.folderPath), './'), value);
380
+ }
381
+ teleport_plugin_common_1.HASTUtils.addAttributeToNode(htmlNode, attrKey, value);
321
382
  return;
322
383
  }
323
384
  });
324
385
  };
325
386
  var getValueFromReference = function (key, definitions) {
326
- var usedReferenceValue = definitions[key];
387
+ var usedReferenceValue = definitions[key.includes('.') ? key.split('.')[0] : key];
327
388
  if (!usedReferenceValue) {
328
389
  throw new teleport_types_1.HTMLComponentGeneratorError("Definition for ".concat(key, " is missing from ").concat(JSON.stringify(definitions, null, 2)));
329
390
  }
330
391
  if (!usedReferenceValue.hasOwnProperty('defaultValue')) {
331
392
  throw new teleport_types_1.HTMLComponentGeneratorError("Default value is missing from dynamic reference - ".concat(JSON.stringify(usedReferenceValue, null, 2)));
332
393
  }
333
- if (!['string', 'number'].includes(usedReferenceValue === null || usedReferenceValue === void 0 ? void 0 : usedReferenceValue.type)) {
394
+ if (!['string', 'number', 'object'].includes(usedReferenceValue === null || usedReferenceValue === void 0 ? void 0 : usedReferenceValue.type)) {
334
395
  throw new teleport_types_1.HTMLComponentGeneratorError("Attribute is using dynamic value, but received of type ".concat(JSON.stringify(usedReferenceValue, null, 2)));
335
396
  }
336
397
  return String(usedReferenceValue.defaultValue);
@@ -1 +1 @@
1
- {"version":3,"file":"node-handlers.js","sourceRoot":"","sources":["../../src/node-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-handlers.js","sourceRoot":"","sources":["../../src/node-handlers.ts"],"names":[],"mappings":"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"}