htl-to-js 0.9.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -15,32 +15,44 @@ if (!args.length || args.includes('--help') || args.includes('-h')) {
15
15
  htl-gen — transpile HTL templates to JS template string functions
16
16
 
17
17
  Usage:
18
- htl-gen <glob> Transpile matching files once
19
- htl-gen --watch <glob> Watch and re-transpile on changes
20
- htl-gen --i18n <dict.xml> <glob> Pre-load i18n dictionary from AEM XML
18
+ htl-gen <glob> Transpile matching files once
19
+ htl-gen --watch <glob> Watch and re-transpile on changes
20
+ htl-gen --i18n <dict.xml> <glob> Pre-load i18n dictionary from AEM XML
21
+ htl-gen --i18n <primary.xml> --i18n <fallback.xml> <glob>
22
+ Multiple locales: first = primary, rest = fallbacks
21
23
 
22
24
  Examples:
23
25
  htl-gen "components/**/*.html"
24
26
  htl-gen accordion.html
25
27
  htl-gen --watch "src/**/*.html"
26
28
  htl-gen --i18n i18n/en.xml "src/**/*.html"
29
+ htl-gen --i18n i18n/es_MX.xml --i18n i18n/es.xml --i18n i18n/en.xml "src/**/*.html"
27
30
  `);
28
31
  process.exit(0);
29
32
  }
30
33
  const watchMode = args.includes('--watch') || args.includes('-w');
31
- const i18nFlagIdx = args.indexOf('--i18n');
32
- const i18nXmlPath = i18nFlagIdx === -1 ? undefined : args[i18nFlagIdx + 1];
33
- const patternArg = args.find((a) => !a.startsWith('-') && a !== i18nXmlPath);
34
+ // Collect all --i18n paths in order. First = primary locale, rest = fallbacks.
35
+ const i18nPaths = [];
36
+ for (let i = 0; i < args.length; i++) {
37
+ if (args[i] === '--i18n' && args[i + 1] && !args[i + 1].startsWith('-')) {
38
+ i18nPaths.push(args[i + 1]);
39
+ i++;
40
+ }
41
+ }
42
+ const patternArg = args.find((a) => !a.startsWith('-') && !i18nPaths.includes(a));
34
43
  if (!patternArg) {
35
44
  console.error('Error: no glob pattern provided.');
36
45
  process.exit(1);
37
46
  }
38
47
  let i18nDict;
39
- if (i18nXmlPath) {
48
+ if (i18nPaths.length) {
40
49
  try {
41
- const xmlContent = node_fs_1.default.readFileSync(i18nXmlPath, 'utf8');
42
- i18nDict = (0, parseI18nXml_1.parseI18nXml)(xmlContent);
43
- console.log(`i18n: loaded ${Object.keys(i18nDict).length} keys from ${node_path_1.default.relative(process.cwd(), i18nXmlPath)}`);
50
+ const allDicts = i18nPaths.map((p) => (0, parseI18nXml_1.parseI18nXml)(node_fs_1.default.readFileSync(p, 'utf8')));
51
+ // Primary (first) wins; merge fallbacks in ascending priority order so primary overrides all.
52
+ i18nDict = allDicts.length > 1 ? (0, parseI18nXml_1.mergeI18nDicts)(...allDicts.slice(1).reverse(), allDicts[0]) : allDicts[0];
53
+ const totalKeys = Object.keys(i18nDict).length;
54
+ const paths = i18nPaths.map((p) => node_path_1.default.relative(process.cwd(), p)).join(', ');
55
+ console.log(`i18n: loaded ${totalKeys} keys from [${paths}]`);
44
56
  }
45
57
  catch (err) {
46
58
  console.error(`Error loading i18n file: ${err.message}`);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/loader.js CHANGED
@@ -24,7 +24,7 @@ const node_fs_1 = __importDefault(require("node:fs"));
24
24
  */
25
25
  function htlLoader(source) {
26
26
  this.cacheable(true);
27
- const { i18nPath, ...transpileOptions } = this.getOptions ? this.getOptions() : {};
27
+ const { i18nPath, i18nFallbackPaths, ...transpileOptions } = this.getOptions ? this.getOptions() : {};
28
28
  let i18nDict;
29
29
  if (i18nPath) {
30
30
  this.addDependency(i18nPath);
@@ -36,8 +36,24 @@ function htlLoader(source) {
36
36
  this.emitWarning(new Error(`[htl-to-js] Could not load i18n file ${i18nPath}: ${err.message}`));
37
37
  }
38
38
  }
39
+ let i18nFallbackDicts;
40
+ if (Array.isArray(i18nFallbackPaths) && i18nFallbackPaths.length) {
41
+ i18nFallbackDicts = [];
42
+ for (const fbPath of i18nFallbackPaths) {
43
+ this.addDependency(fbPath);
44
+ try {
45
+ const xmlContent = node_fs_1.default.readFileSync(fbPath, 'utf8');
46
+ i18nFallbackDicts.push((0, parseI18nXml_1.parseI18nXml)(xmlContent));
47
+ }
48
+ catch (err) {
49
+ this.emitWarning(new Error(`[htl-to-js] Could not load i18n fallback file ${fbPath}: ${err.message}`));
50
+ }
51
+ }
52
+ if (!i18nFallbackDicts.length)
53
+ i18nFallbackDicts = undefined;
54
+ }
39
55
  try {
40
- return (0, index_1.transpile)(source, { filename: this.resourcePath, ...transpileOptions, i18nDict });
56
+ return (0, index_1.transpile)(source, { filename: this.resourcePath, ...transpileOptions, i18nDict, i18nFallbackDicts });
41
57
  }
42
58
  catch (err) {
43
59
  this.emitError(new Error(`[htl-to-js] ${this.resourcePath}: ${err.message}`));
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":";;;;AAAA,8CAA+C;AAC/C,iDAA8C;AAC9C,sDAAyB;AAEzB;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,SAAS,CAAY,MAAc;IAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAErB,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAS,CAAC;IAE1F,IAAI,QAA4C,CAAC;IACjD,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,iBAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACrD,QAAQ,GAAG,IAAA,2BAAY,EAAC,UAAU,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,wCAAwC,QAAQ,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAClG,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAA,iBAAS,EAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,GAAG,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3F,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,CAAC,SAAS,CACZ,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,YAAY,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAC9D,CAAC;QACF,OAAO,sBAAsB,CAAC;IAChC,CAAC;AACH,CAAC;AAED,iBAAS,SAAS,CAAC"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":";;;;AAAA,8CAA+C;AAC/C,iDAA8C;AAC9C,sDAAyB;AAEzB;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,SAAS,CAAY,MAAc;IAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAErB,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,gBAAgB,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAS,CAAC;IAE7G,IAAI,QAA4C,CAAC;IACjD,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,iBAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACrD,QAAQ,GAAG,IAAA,2BAAY,EAAC,UAAU,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,wCAAwC,QAAQ,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAClG,CAAC;IACH,CAAC;IAED,IAAI,iBAAuD,CAAC;IAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;QACjE,iBAAiB,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;YACvC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,iBAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACnD,iBAAiB,CAAC,IAAI,CAAC,IAAA,2BAAY,EAAC,UAAU,CAAC,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,iDAAiD,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACzG,CAAC;QACH,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,MAAM;YAAE,iBAAiB,GAAG,SAAS,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAA,iBAAS,EAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,GAAG,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC9G,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,CAAC,SAAS,CACZ,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,YAAY,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAC9D,CAAC;QACF,OAAO,sBAAsB,CAAC;IAChC,CAAC;AACH,CAAC;AAED,iBAAS,SAAS,CAAC"}
@@ -11,3 +11,20 @@
11
11
  * The optional {Type} prefix on sling:message values (e.g. "{String}Hello") is stripped.
12
12
  */
13
13
  export declare function parseI18nXml(xmlContent: string): Record<string, string>;
14
+ /**
15
+ * Merges multiple i18n dictionaries. Arguments are in ascending priority order —
16
+ * later arguments override earlier ones. Pass fallback dicts first, primary last.
17
+ *
18
+ * mergeI18nDicts(enDict, esDict, esMxDict)
19
+ * // → es_MX keys win, es fills missing, en fills the rest
20
+ */
21
+ export declare function mergeI18nDicts(...dicts: Record<string, string>[]): Record<string, string>;
22
+ /**
23
+ * Resolves a locale code into an ascending-priority chain for use with mergeI18nDicts.
24
+ * 'en' is always the base. The primary locale is last (highest priority).
25
+ *
26
+ * resolveLocaleChain('es_MX') → ['en', 'es', 'es_MX']
27
+ * resolveLocaleChain('de') → ['en', 'de']
28
+ * resolveLocaleChain('en') → ['en']
29
+ */
30
+ export declare function resolveLocaleChain(locale: string): string[];
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parseI18nXml = parseI18nXml;
4
+ exports.mergeI18nDicts = mergeI18nDicts;
5
+ exports.resolveLocaleChain = resolveLocaleChain;
4
6
  /**
5
7
  * Parses an AEM JCR i18n XML file into a plain string dictionary.
6
8
  *
@@ -41,4 +43,32 @@ function decodeXmlEntities(s) {
41
43
  .replaceAll('&quot;', '"')
42
44
  .replaceAll('&apos;', "'");
43
45
  }
46
+ /**
47
+ * Merges multiple i18n dictionaries. Arguments are in ascending priority order —
48
+ * later arguments override earlier ones. Pass fallback dicts first, primary last.
49
+ *
50
+ * mergeI18nDicts(enDict, esDict, esMxDict)
51
+ * // → es_MX keys win, es fills missing, en fills the rest
52
+ */
53
+ function mergeI18nDicts(...dicts) {
54
+ return Object.assign({}, ...dicts);
55
+ }
56
+ /**
57
+ * Resolves a locale code into an ascending-priority chain for use with mergeI18nDicts.
58
+ * 'en' is always the base. The primary locale is last (highest priority).
59
+ *
60
+ * resolveLocaleChain('es_MX') → ['en', 'es', 'es_MX']
61
+ * resolveLocaleChain('de') → ['en', 'de']
62
+ * resolveLocaleChain('en') → ['en']
63
+ */
64
+ function resolveLocaleChain(locale) {
65
+ const normalised = locale.replace('-', '_');
66
+ const parts = normalised.split('_');
67
+ const chain = ['en'];
68
+ if (parts[0] !== 'en')
69
+ chain.push(parts[0]);
70
+ if (parts.length > 1)
71
+ chain.push(normalised);
72
+ return [...new Set(chain)];
73
+ }
44
74
  //# sourceMappingURL=parseI18nXml.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parseI18nXml.js","sourceRoot":"","sources":["../src/parseI18nXml.ts"],"names":[],"mappings":";;AAYA,oCAsBC;AAlCD;;;;;;;;;;;GAWG;AACH,SAAgB,YAAY,CAAC,UAAkB;IAC7C,MAAM,IAAI,GAA2B,EAAE,CAAC;IAExC,gDAAgD;IAChD,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,wBAAwB;YAC9E,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,mFAAmF;IACnF,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,6CAA6C,CAAC,EAAE,CAAC;YACnF,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAS;IAClC,OAAO,CAAC;SACL,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC;SACxB,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC;SACvB,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC;SACvB,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC;SACzB,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"parseI18nXml.js","sourceRoot":"","sources":["../src/parseI18nXml.ts"],"names":[],"mappings":";;AAYA,oCAsBC;AAkBD,wCAEC;AAUD,gDAOC;AAvED;;;;;;;;;;;GAWG;AACH,SAAgB,YAAY,CAAC,UAAkB;IAC7C,MAAM,IAAI,GAA2B,EAAE,CAAC;IAExC,gDAAgD;IAChD,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,wBAAwB;YAC9E,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,mFAAmF;IACnF,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,6CAA6C,CAAC,EAAE,CAAC;YACnF,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAS;IAClC,OAAO,CAAC;SACL,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC;SACxB,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC;SACvB,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC;SACvB,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC;SACzB,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,cAAc,CAAC,GAAG,KAA+B;IAC/D,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAAC,MAAc;IAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,KAAK,GAAa,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,CAAC"}
@@ -11,6 +11,7 @@ export interface Directives {
11
11
  use: Record<string, string>;
12
12
  useDefaults: Record<string, string>;
13
13
  fileUse: Record<string, string>;
14
+ jsFileUse: Record<string, string>;
14
15
  test: string | null;
15
16
  repeat: {
16
17
  varName: string;
@@ -21,6 +22,7 @@ export interface Directives {
21
22
  unwrap: string | null;
22
23
  sets: SetDecl[];
23
24
  text: string | null;
25
+ textContext: string | null;
24
26
  resource: string | null;
25
27
  resourceType: string | null;
26
28
  template: {
@@ -7,6 +7,47 @@ exports.parseDirectives = parseDirectives;
7
7
  const node_fs_1 = __importDefault(require("node:fs"));
8
8
  const node_path_1 = __importDefault(require("node:path"));
9
9
  const expr_1 = require("./expr");
10
+ /**
11
+ * Resolves a JS or JSON data-sly-use path to a require()-ready relative path.
12
+ * Walks up the directory tree (up to 4 levels) to find the file.
13
+ * Returns a './relative/path.js' or './relative/path.json' string, or null.
14
+ */
15
+ function resolveJsUsePath(val, sourceDir) {
16
+ if (!sourceDir)
17
+ return null;
18
+ if (val.includes('${'))
19
+ return null;
20
+ const isJs = val.endsWith('.js');
21
+ const isJson = val.endsWith('.json');
22
+ if (!isJs && !isJson)
23
+ return null;
24
+ if (val.startsWith('/')) {
25
+ let dir = sourceDir;
26
+ for (let i = 0; i < 10; i++) {
27
+ const jcrRoot = node_path_1.default.join(dir, 'jcr_root');
28
+ if (node_fs_1.default.existsSync(jcrRoot)) {
29
+ const candidate = node_path_1.default.join(jcrRoot, val);
30
+ if (node_fs_1.default.existsSync(candidate)) {
31
+ const rel = node_path_1.default.relative(sourceDir, candidate).replaceAll('\\', '/');
32
+ return rel.startsWith('.') ? rel : `./${rel}`;
33
+ }
34
+ return null;
35
+ }
36
+ dir = node_path_1.default.dirname(dir);
37
+ }
38
+ return null;
39
+ }
40
+ let dir = sourceDir;
41
+ for (let i = 0; i < 4; i++) {
42
+ const candidate = node_path_1.default.join(dir, val);
43
+ if (node_fs_1.default.existsSync(candidate)) {
44
+ const rel = node_path_1.default.relative(sourceDir, candidate).replaceAll('\\', '/');
45
+ return rel.startsWith('.') ? rel : `./${rel}`;
46
+ }
47
+ dir = node_path_1.default.dirname(dir);
48
+ }
49
+ return null;
50
+ }
10
51
  /**
11
52
  * Resolves an HTL data-sly-use file path to a require()-ready relative path.
12
53
  * AEM resolves paths relative to the component root, not the current file,
@@ -61,12 +102,14 @@ function parseDirectives(attrs, sourceDir = '') {
61
102
  use: {},
62
103
  useDefaults: {},
63
104
  fileUse: {},
105
+ jsFileUse: {},
64
106
  test: null,
65
107
  repeat: null,
66
108
  element: null,
67
109
  unwrap: null,
68
110
  sets: [],
69
111
  text: null,
112
+ textContext: null,
70
113
  resource: null,
71
114
  resourceType: null,
72
115
  template: null,
@@ -80,9 +123,13 @@ function parseDirectives(attrs, sourceDir = '') {
80
123
  const name = useMatch[1];
81
124
  const trimmed = val.trim();
82
125
  const requirePath = sourceDir ? resolveHtlPath(trimmed, sourceDir) : null;
126
+ const jsRequirePath = requirePath ? null : (sourceDir ? resolveJsUsePath(trimmed, sourceDir) : null);
83
127
  if (requirePath) {
84
128
  directives.fileUse[name] = requirePath;
85
129
  }
130
+ else if (jsRequirePath) {
131
+ directives.jsFileUse[name] = jsRequirePath;
132
+ }
86
133
  else {
87
134
  directives.use[name] = val;
88
135
  const def = parseUseDefault(trimmed);
@@ -150,6 +197,7 @@ function parseDirectives(attrs, sourceDir = '') {
150
197
  }
151
198
  if (key === 'data-sly-text') {
152
199
  directives.text = (0, expr_1.convertExpr)(val);
200
+ directives.textContext = (0, expr_1.extractContext)(val);
153
201
  directives.skip.add(key);
154
202
  continue;
155
203
  }
@@ -1 +1 @@
1
- {"version":3,"file":"directives.js","sourceRoot":"","sources":["../../src/transpiler/directives.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"directives.js","sourceRoot":"","sources":["../../src/transpiler/directives.ts"],"names":[],"mappings":"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"}
@@ -17,9 +17,15 @@ interface ExprMatch {
17
17
  * any depth of nested braces (e.g. '{{url}}' or '{0}/{1}' placeholders).
18
18
  */
19
19
  export declare function extractExprs(str: string): ExprMatch[];
20
+ /**
21
+ * Extracts the @ context='...' value from a raw HTL expression string.
22
+ * Returns the lowercase context name, or null if not specified.
23
+ */
24
+ export declare function extractContext(raw: string): string | null;
20
25
  /**
21
26
  * Converts all ${htlExpr} occurrences within an attribute value string,
22
27
  * while escaping literal backticks and bare $ signs.
28
+ * Respects @ context option: 'unsafe' skips HTML-escaping, 'uri' applies URI encoding.
23
29
  */
24
30
  export declare function convertAttrValue(value: string): string;
25
31
  /**
@@ -2,9 +2,83 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.convertExpr = convertExpr;
4
4
  exports.extractExprs = extractExprs;
5
+ exports.extractContext = extractContext;
5
6
  exports.convertAttrValue = convertAttrValue;
6
7
  exports.convertTextContent = convertTextContent;
7
8
  exports.escapeLiteral = escapeLiteral;
9
+ /**
10
+ * Splits an HTL expression at the first @ that sits at the top level —
11
+ * i.e. not inside a string literal, parentheses, or brackets.
12
+ * Returns [valuePart, optionsPart] where optionsPart is null when there is no @.
13
+ */
14
+ function splitAtAtSign(expr) {
15
+ let inStr = null;
16
+ let depth = 0;
17
+ for (let i = 0; i < expr.length; i++) {
18
+ const c = expr[i];
19
+ if (inStr) {
20
+ if (c === '\\') {
21
+ i++;
22
+ continue;
23
+ }
24
+ if (c === inStr)
25
+ inStr = null;
26
+ continue;
27
+ }
28
+ if (c === "'" || c === '"') {
29
+ inStr = c;
30
+ continue;
31
+ }
32
+ if (c === '(' || c === '[') {
33
+ depth++;
34
+ continue;
35
+ }
36
+ if (c === ')' || c === ']') {
37
+ depth--;
38
+ continue;
39
+ }
40
+ if (c === '@' && depth === 0) {
41
+ return [expr.slice(0, i).trim(), expr.slice(i + 1).trim()];
42
+ }
43
+ }
44
+ return [expr.trim(), null];
45
+ }
46
+ /**
47
+ * Applies value-level HTL-to-JS transforms to an expression fragment:
48
+ * optional chaining, .size → .length, jcr: property access, in-operator,
49
+ * and reserved-word renaming (class, for).
50
+ *
51
+ * String literals inside the expression are protected so their content is
52
+ * never accidentally modified.
53
+ */
54
+ function transformValue(expr) {
55
+ // Protect string literals from being mangled by the transforms below.
56
+ const strings = [];
57
+ let result = expr.replace(/'[^']*'|"[^"]*"/g, (m) => {
58
+ strings.push(m);
59
+ return `__STR${strings.length - 1}__`;
60
+ });
61
+ // Protect array literals (used in @format args etc.)
62
+ const arrays = [];
63
+ result = result.replace(/\[[^\]]*\]/g, (m) => {
64
+ arrays.push(m);
65
+ return `__ARR${arrays.length - 1}__`;
66
+ });
67
+ result = result
68
+ .replace(/\.size\b/g, '.length')
69
+ .replace(/(\w+)\.jcr:(\w+)/g, "$1?.['jcr:$2']")
70
+ .trim();
71
+ // Restore arrays before optional-chaining so a[i] becomes a?.[i].
72
+ arrays.forEach((arr, i) => { result = result.replace(`__ARR${i}__`, arr); });
73
+ result = result
74
+ .replace(/(\w|\])(?<!\?)\[/g, '$1?.[')
75
+ .replace(/(\w|\])\.(?=([\w$]))/g, (m, a, b) => /\d/.test(a) && /\d/.test(b) ? m : `${a}?.`)
76
+ .replace(/([\w$.?[\]]+)\s+in\s+([\w$.?[\]]+)/g, (_match, left, right) => `(${right}) && (${left} in ${right})`)
77
+ .replace(/(?<![?.])\b(class|for)\b/g, '_$1');
78
+ // Restore string literals last so their content is never touched.
79
+ strings.forEach((str, i) => { result = result.replace(`__STR${i}__`, str); });
80
+ return result;
81
+ }
8
82
  /**
9
83
  * Converts a raw HTL expression (with or without ${}) to a JS expression string.
10
84
  *
@@ -20,62 +94,77 @@ function convertExpr(raw) {
20
94
  if (inner.startsWith('${') && inner.endsWith('}')) {
21
95
  inner = inner.slice(2, -1).trim();
22
96
  }
23
- const i18nMatch = /^\s*(['"])([^'"]*?)\1\s*@\s*(?:.*,\s*)?i18n\b/.exec(inner);
24
- const hasVarI18n = !i18nMatch && /@[^@]*\bi18n\b/.test(inner);
25
- inner = inner.replace(/^([\s\S]+?)\s*@\s*join\s*=\s*(?:'([^']*)'|"([^"]*)")/, (_, expr, sepSingle, sepDouble) => {
26
- const sep = sepSingle ?? sepDouble;
27
- return `(${expr.trim()}).join('${sep}')`;
28
- });
29
- inner = inner.replaceAll(/['"]([^'"]*)['"]\s*@\s*format=\[([^\]]*)\]/g, (_, tmpl, args) => {
30
- const argList = args.split(',').map((a) => a.trim());
31
- const parts = tmpl.split(/\{(\d+)\}/);
32
- return (parts
33
- .map((part, i) => i % 2 === 1
34
- ? argList[Number.parseInt(part)] || "''"
35
- : part
36
- ? `'${part}'`
37
- : null)
38
- .filter(Boolean)
39
- .join(' + ') || "''");
40
- });
41
- const arrays = [];
42
- inner = inner.replaceAll(/\[[^\]]*\]/g, (m) => {
43
- arrays.push(m);
44
- return `__ARR${arrays.length - 1}__`;
45
- });
46
- const urlencodeMatch = /\s*@\s*(?:.*,\s*)?context\s*=\s*['"]urlencode['"]/i.test(inner);
47
- const OPT_VAL = String.raw `(?:'[^']*'|"[^"]*"|__ARR\d+__|(?:[^,@}'"\n]|'[^']*'|"[^"]*")+)`;
48
- inner = inner
49
- .replaceAll(new RegExp(String.raw `\s*@\s*[\w]+\s*=\s*${OPT_VAL}`, 'g'), '')
50
- .replaceAll(new RegExp(String.raw `,\s*\w+\s*=\s*${OPT_VAL}`, 'g'), '')
51
- .replaceAll(/,\s*\w+\b(?!\s*[=.(])/g, '')
52
- .replaceAll(/\s*@\s*\w+\b/g, '')
53
- .replaceAll(/\s*@\s*$/g, '')
54
- .replaceAll(/\.size\b/g, '.length')
55
- .replaceAll(/(\w+)\.jcr:(\w+)/g, "$1?.['jcr:$2']")
56
- .trim();
57
- arrays.forEach((arr, i) => {
58
- inner = inner.replace(`__ARR${i}__`, arr);
59
- });
60
- inner = inner.replaceAll(/(\w|\])(?<!\?)\[/g, '$1?.[');
61
- inner = inner.replaceAll(/(\w|\])\.(?=([\w$]))/g, (m, a, b) => /\d/.test(a) && /\d/.test(b) ? m : `${a}?.`);
62
- inner = inner.replaceAll(/([\w$.?[\]]+)\s+in\s+([\w$.?[\]]+)/g, (_match, left, right) => {
63
- return `(${right}) && (${left} in ${right})`;
64
- });
65
- inner = inner.replaceAll(/(?<![?.])\b(class|for)\b/g, '_$1');
66
- if (i18nMatch) {
67
- const escapedKey = i18nMatch[2].replaceAll("'", String.raw `\'`);
68
- inner = "_i18n?.['" + escapedKey + "'] ?? " + inner;
97
+ // Split at the first top-level @ so that @ inside string literals is
98
+ // never mistaken for the option separator.
99
+ const [valuePart, optStr] = splitAtAtSign(inner);
100
+ // --- Parse options from the options string only ---
101
+ const hasI18n = optStr != null && /(?:^|,)\s*i18n\b/.test(optStr);
102
+ const i18nLiteralMatch = hasI18n
103
+ ? /^\s*(['"])([^'"]*?)\1\s*$/.exec(valuePart)
104
+ : null;
105
+ const hasVarI18n = hasI18n && i18nLiteralMatch == null;
106
+ const countRaw = optStr == null
107
+ ? null
108
+ : /\bcount\s*=\s*((?:'[^']*'|"[^"]*"|[^,\s'")}]+))/.exec(optStr)?.[1];
109
+ const joinMatch = optStr == null
110
+ ? null
111
+ : /\bjoin\s*=\s*(?:'([^']*)'|"([^"]*)")/.exec(optStr);
112
+ const formatArgs = optStr == null
113
+ ? null
114
+ : /\bformat\s*=\s*\[([^\]]*)\]/.exec(optStr)?.[1];
115
+ const urlencodeMatch = optStr != null && /\bcontext\s*=\s*['"]urlencode['"]/i.test(optStr);
116
+ // --- Apply @format: expand a string template against an argument list ---
117
+ if (formatArgs != null) {
118
+ const templateMatch = /^\s*(['"])([^'"]*)\1\s*$/.exec(valuePart);
119
+ if (templateMatch) {
120
+ const tmpl = templateMatch[2];
121
+ const args = formatArgs.split(',').map((a) => a.trim());
122
+ const parts = tmpl.split(/\{(\d+)\}/);
123
+ const result = parts
124
+ .map((part, i) => i % 2 === 1
125
+ ? args[Number.parseInt(part)]
126
+ ? transformValue(args[Number.parseInt(part)])
127
+ : "''"
128
+ : part
129
+ ? `'${part}'`
130
+ : null)
131
+ .filter(Boolean)
132
+ .join(' + ') || "''";
133
+ return urlencodeMatch ? `encodeURIComponent(${result} ?? '')` : result;
134
+ }
135
+ }
136
+ // --- Apply value-level transforms ---
137
+ let value = transformValue(valuePart);
138
+ // --- Apply @join ---
139
+ if (joinMatch) {
140
+ const sep = joinMatch[1] ?? joinMatch[2];
141
+ value = `(${value}).join('${sep}')`;
142
+ }
143
+ // --- Apply @i18n / @count (pluralisation) ---
144
+ if (i18nLiteralMatch) {
145
+ const key = i18nLiteralMatch[2].replaceAll("'", String.raw `\'`);
146
+ if (countRaw == null) {
147
+ value = `_i18n?.['${key}'] ?? ${valuePart}`;
148
+ }
149
+ else {
150
+ value = `_htlI18nPlural('${key}', ${convertExpr(countRaw)}, _i18n)`;
151
+ }
69
152
  }
70
- if (hasVarI18n) {
71
- const needsParens = /\|\||\&\&/.test(inner);
72
- const safe = needsParens ? `(${inner})` : inner;
73
- inner = `_i18n?.[${safe}] ?? ${safe}`;
153
+ else if (hasVarI18n) {
154
+ const needsParens = /\|\||&&/.test(value);
155
+ const safe = needsParens ? `(${value})` : value;
156
+ if (countRaw == null) {
157
+ value = `_i18n?.[${safe}] ?? ${safe}`;
158
+ }
159
+ else {
160
+ value = `_htlI18nPlural(${safe}, ${convertExpr(countRaw)}, _i18n)`;
161
+ }
74
162
  }
163
+ // --- Apply @context='urlencode' ---
75
164
  if (urlencodeMatch) {
76
- inner = `encodeURIComponent(${inner} ?? '')`;
165
+ value = `encodeURIComponent(${value} ?? '')`;
77
166
  }
78
- return inner;
167
+ return value;
79
168
  }
80
169
  /**
81
170
  * Extracts all ${...} HTL expressions from a string, correctly handling
@@ -106,9 +195,18 @@ function extractExprs(str) {
106
195
  }
107
196
  return results;
108
197
  }
198
+ /**
199
+ * Extracts the @ context='...' value from a raw HTL expression string.
200
+ * Returns the lowercase context name, or null if not specified.
201
+ */
202
+ function extractContext(raw) {
203
+ const m = /\bcontext\s*=\s*['"](\w+)['"]/.exec(raw);
204
+ return m ? m[1].toLowerCase() : null;
205
+ }
109
206
  /**
110
207
  * Converts all ${htlExpr} occurrences within an attribute value string,
111
208
  * while escaping literal backticks and bare $ signs.
209
+ * Respects @ context option: 'unsafe' skips HTML-escaping, 'uri' applies URI encoding.
112
210
  */
113
211
  function convertAttrValue(value) {
114
212
  const parts = [];
@@ -116,7 +214,17 @@ function convertAttrValue(value) {
116
214
  for (const { index, expr, end } of extractExprs(value)) {
117
215
  if (index > last)
118
216
  parts.push(escapeLiteral(value.slice(last, index)));
119
- parts.push(`\${_htlAttr(${convertExpr(expr)})}`);
217
+ const ctx = extractContext(expr);
218
+ const converted = convertExpr(expr);
219
+ if (ctx === 'unsafe') {
220
+ parts.push(`\${${converted} ?? ''}`);
221
+ }
222
+ else if (ctx === 'uri') {
223
+ parts.push(`\${_htlUri(${converted})}`);
224
+ }
225
+ else {
226
+ parts.push(`\${_htlAttr(${converted})}`);
227
+ }
120
228
  last = end;
121
229
  }
122
230
  if (last < value.length)
@@ -133,7 +241,14 @@ function convertTextContent(text) {
133
241
  for (const { index, expr, end } of extractExprs(text)) {
134
242
  if (index > last)
135
243
  parts.push(escapeLiteral(text.slice(last, index)));
136
- parts.push(`\${(${convertExpr(expr)}) ?? ''}`);
244
+ const ctx = extractContext(expr);
245
+ const converted = convertExpr(expr);
246
+ if (ctx === 'html' || ctx === 'unsafe') {
247
+ parts.push(`\${${converted} ?? ''}`);
248
+ }
249
+ else {
250
+ parts.push(`\${_htlText(${converted})}`);
251
+ }
137
252
  last = end;
138
253
  }
139
254
  if (last < text.length)
@@ -1 +1 @@
1
- {"version":3,"file":"expr.js","sourceRoot":"","sources":["../../src/transpiler/expr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expr.js","sourceRoot":"","sources":["../../src/transpiler/expr.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ interface TranspileOptions {
2
2
  filename?: string;
3
3
  omitAttrs?: RegExp[];
4
4
  i18nDict?: Record<string, string>;
5
+ i18nFallbackDicts?: Record<string, string>[];
5
6
  modelTransforms?: Record<string, Record<string, string | ((varName: string) => string)>>;
6
7
  wrapperClass?: string | boolean;
7
8
  resourceWrappers?: Record<string, string | {
@@ -12,6 +13,7 @@ interface TranspileOptions {
12
13
  expression?: string;
13
14
  htl?: string;
14
15
  }>;
16
+ format?: 'cjs' | 'esm';
15
17
  }
16
18
  /**
17
19
  * Transpiles an HTL source string into a JavaScript module that exports
@@ -21,6 +23,6 @@ interface TranspileOptions {
21
23
  * @param options
22
24
  * @returns A valid CJS module source string
23
25
  */
24
- export declare function transpile(htlSource: string, { filename, omitAttrs, i18nDict, modelTransforms, wrapperClass, resourceWrappers, fileOverrides, }?: TranspileOptions): string;
26
+ export declare function transpile(htlSource: string, { filename, omitAttrs, i18nDict, i18nFallbackDicts, modelTransforms, wrapperClass, resourceWrappers, fileOverrides, format, }?: TranspileOptions): string;
25
27
  export declare function generateDts(jsSource: string): string;
26
28
  export {};
@@ -43,7 +43,7 @@ const AEM_IMPLICITS = {
43
43
  * @param options
44
44
  * @returns A valid CJS module source string
45
45
  */
46
- function transpile(htlSource, { filename = 'component', omitAttrs = DEFAULT_OMIT_ATTRS, i18nDict, modelTransforms = {}, wrapperClass, resourceWrappers, fileOverrides = {}, } = {}) {
46
+ function transpile(htlSource, { filename = 'component', omitAttrs = DEFAULT_OMIT_ATTRS, i18nDict, i18nFallbackDicts, modelTransforms = {}, wrapperClass, resourceWrappers, fileOverrides = {}, format = 'cjs', } = {}) {
47
47
  const expandedSource = htlSource.replaceAll(/<sly\b([^>]*?)\/>/g, '<sly$1></sly>');
48
48
  const { normalized: normalizedSource, restoreMap } = normalizeSetVarCasing(expandedSource);
49
49
  const document = (0, htmlparser2_1.parseDocument)(normalizedSource);
@@ -65,17 +65,23 @@ function transpile(htlSource, { filename = 'component', omitAttrs = DEFAULT_OMIT
65
65
  serializedFileOverrides[key] = val.expression;
66
66
  }
67
67
  }
68
- const i18nDefault = i18nDict ? JSON.stringify(i18nDict) : undefined;
68
+ const effectiveI18nDict = i18nFallbackDicts?.length
69
+ ? Object.assign({}, ...i18nFallbackDicts, i18nDict ?? {})
70
+ : i18nDict;
71
+ const i18nDefault = effectiveI18nDict ? JSON.stringify(effectiveI18nDict) : undefined;
69
72
  let body;
70
73
  if (templates.length > 0) {
71
- body = transpileNamedTemplates(templates, omitAttrs, sourceDir, modelTransforms, serializedFileOverrides, i18nDefault);
74
+ body = transpileNamedTemplates(templates, omitAttrs, sourceDir, modelTransforms, serializedFileOverrides, i18nDefault, format);
72
75
  }
73
76
  else {
74
- body = transpileSingleTemplate(document, filename, omitAttrs, sourceDir, modelTransforms, wrapperClass, serializedFileOverrides, i18nDefault);
77
+ body = transpileSingleTemplate(document, filename, omitAttrs, sourceDir, modelTransforms, wrapperClass, serializedFileOverrides, i18nDefault, format);
75
78
  }
76
79
  const banner = `// AUTO-GENERATED from ${node_path_1.default.basename(filename)} — DO NOT EDIT\n\n`;
77
80
  const helpers = [
78
81
  `const _htlAttr = (v) => v == null ? '' : (typeof v === 'object' ? JSON.stringify(v).replace(/"/g, '&quot;') : String(v).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;'));`,
82
+ `const _htlText = (v) => v == null ? '' : String(v).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');`,
83
+ `const _htlUri = (v) => { if (v == null) return ''; try { return encodeURI(String(v)).replace(/"/g, '&quot;'); } catch { return ''; } };`,
84
+ `const _htlI18nPlural = (key, count, dict) => { if (key == null) return ''; const n = Number(count); const tmpl = (n === 1 ? dict?.[key] : (dict?.[key + '_plural'] ?? dict?.[key])) ?? String(key); return String(tmpl).replace('{0}', String(n)); };`,
79
85
  `const _htlDynAttr = (name, val) => { if (val == null || val === false) return ''; if (val === true) return ' ' + name; return ' ' + name + '="' + _htlAttr(val) + '"'; };`,
80
86
  `const _htlSpreadAttrs = (obj) => { if (!obj || typeof obj !== 'object') return ''; return Object.entries(obj).map(([k, v]) => _htlDynAttr(k, v)).join(''); };`,
81
87
  `const _inc = (v) => typeof v === 'function' ? v() : String(v ?? '');`,
@@ -111,14 +117,31 @@ function transpile(htlSource, { filename = 'component', omitAttrs = DEFAULT_OMIT
111
117
  ? inlinedDeclarations.join('\n\n') + '\n\n'
112
118
  : '';
113
119
  const finalBody = restoreVarCasing(body, restoreMap);
120
+ // For ESM, hoist import declarations (emitted at the top of body) before helpers
121
+ let esmImports = '';
122
+ let codeBody = finalBody;
123
+ if (format === 'esm') {
124
+ const importLines = [];
125
+ const restLines = [];
126
+ for (const line of finalBody.split('\n')) {
127
+ if (/^import\s/.test(line))
128
+ importLines.push(line);
129
+ else
130
+ restLines.push(line);
131
+ }
132
+ esmImports = importLines.length ? importLines.join('\n') + '\n\n' : '';
133
+ codeBody = restLines.join('\n');
134
+ }
114
135
  const slotsSet = new Set();
115
- for (const m of finalBody.matchAll(/_incSlot\(_includes,\s*'([^']+)'\)/g)) {
136
+ for (const m of codeBody.matchAll(/_incSlot\(_includes,\s*'([^']+)'\)/g)) {
116
137
  slotsSet.add(m[1]);
117
138
  }
118
139
  const slotsLine = slotsSet.size
119
- ? `\nconst __slots__ = ${JSON.stringify([...slotsSet])};\nObject.assign(module.exports, { __slots__ });\nfor (const _fn of Object.values(module.exports)) { if (typeof _fn === 'function') _fn.__slots__ = __slots__; }\n`
140
+ ? (format === 'esm'
141
+ ? `\nexport const __slots__ = ${JSON.stringify([...slotsSet])};\n`
142
+ : `\nconst __slots__ = ${JSON.stringify([...slotsSet])};\nObject.assign(module.exports, { __slots__ });\nfor (const _fn of Object.values(module.exports)) { if (typeof _fn === 'function') _fn.__slots__ = __slots__; }\n`)
120
143
  : '';
121
- return (banner + helpers + resourceWrapperDecl + inlinedCode + finalBody + slotsLine);
144
+ return (banner + esmImports + helpers + resourceWrapperDecl + inlinedCode + codeBody + slotsLine);
122
145
  }
123
146
  // ---------------------------------------------------------------------------
124
147
  // Inline HTL transpilation for fileOverrides with htl content
@@ -169,10 +192,11 @@ function collectTemplates(nodes, acc, originalNames = {}) {
169
192
  collectTemplates(node.children, acc, originalNames);
170
193
  }
171
194
  }
172
- function transpileNamedTemplates(templates, omitAttrs, sourceDir, modelTransforms = {}, fileOverrides = {}, i18nDefault) {
195
+ function transpileNamedTemplates(templates, omitAttrs, sourceDir, modelTransforms = {}, fileOverrides = {}, i18nDefault, format = 'cjs') {
173
196
  const implicits = i18nDefault ? { ...AEM_IMPLICITS, _i18n: i18nDefault } : AEM_IMPLICITS;
174
197
  const localTemplates = Object.fromEntries(templates.map(({ name }) => [name, toPascalFnName('create', name)]));
175
198
  const fnNames = [];
199
+ const esmImportLines = [];
176
200
  const parts = templates.map(({ name, params, node }) => {
177
201
  const ctx = (0, walker_1.createContext)(omitAttrs, sourceDir, fileOverrides);
178
202
  Object.assign(ctx.localTemplates, localTemplates);
@@ -191,6 +215,10 @@ function transpileNamedTemplates(templates, omitAttrs, sourceDir, modelTransform
191
215
  if (!allParams.includes(useName))
192
216
  allParams.push(useName);
193
217
  }
218
+ for (const useName of Object.keys(ctx.jsFileUse)) {
219
+ if (!allParams.includes(useName))
220
+ allParams.push(useName);
221
+ }
194
222
  const setDecls = buildSetDecls(ctx.sets);
195
223
  for (const implicitName of Object.keys(implicits)) {
196
224
  if (!allParams.includes(implicitName) &&
@@ -206,22 +234,41 @@ function transpileNamedTemplates(templates, omitAttrs, sourceDir, modelTransform
206
234
  for (const p of tempParams)
207
235
  if (!allParams.includes(p.name))
208
236
  allParams.push(p.name);
237
+ const jsUseBindings = {};
238
+ if (format === 'esm') {
239
+ for (const [useName, filePath] of Object.entries(ctx.jsFileUse)) {
240
+ const { importDecl, constDecl, bindingName } = buildJsUseEsm(useName, filePath);
241
+ if (!esmImportLines.includes(importDecl)) {
242
+ esmImportLines.push(importDecl);
243
+ if (constDecl)
244
+ esmImportLines.push(constDecl);
245
+ }
246
+ jsUseBindings[useName] = bindingName;
247
+ }
248
+ }
209
249
  const paramStr = buildParamStr(allParams.map((p) => ({
210
250
  name: p,
211
251
  default: implicits[p] ??
252
+ (ctx.jsFileUse[p]
253
+ ? (format === 'esm' ? (jsUseBindings[p] ?? buildJsUseDefault(ctx.jsFileUse[p])) : buildJsUseDefault(ctx.jsFileUse[p]))
254
+ : undefined) ??
212
255
  ctx.useDefaults[p] ??
213
256
  (params.includes(p) ? "''" : '{}'),
214
257
  })));
215
258
  const transformDecls = buildModelTransformDecls(ctx.uses, modelTransforms);
216
259
  return buildFunctionBody(fnName, paramStr, setDecls, body, transformDecls);
217
260
  });
218
- parts.push(`module.exports = { ${fnNames.join(', ')} };`);
219
- return parts.join('\n\n');
261
+ const exportLine = format === 'esm'
262
+ ? `export { ${fnNames.join(', ')} };`
263
+ : `module.exports = { ${fnNames.join(', ')} };`;
264
+ parts.push(exportLine);
265
+ const prefix = esmImportLines.length ? esmImportLines.join('\n') + '\n' : '';
266
+ return prefix + parts.join('\n\n');
220
267
  }
221
268
  // ---------------------------------------------------------------------------
222
269
  // Single template mode
223
270
  // ---------------------------------------------------------------------------
224
- function transpileSingleTemplate(document, filename, omitAttrs, sourceDir, modelTransforms = {}, wrapperClass, fileOverrides = {}, i18nDefault) {
271
+ function transpileSingleTemplate(document, filename, omitAttrs, sourceDir, modelTransforms = {}, wrapperClass, fileOverrides = {}, i18nDefault, format = 'cjs') {
225
272
  const implicits = i18nDefault ? { ...AEM_IMPLICITS, _i18n: i18nDefault } : AEM_IMPLICITS;
226
273
  const ctx = (0, walker_1.createContext)(omitAttrs, sourceDir, fileOverrides);
227
274
  let body = (0, walker_1.walkNodes)(document.children, ctx);
@@ -237,21 +284,71 @@ function transpileSingleTemplate(document, filename, omitAttrs, sourceDir, model
237
284
  name,
238
285
  default: ctx.useDefaults[name] ?? '{}',
239
286
  }));
287
+ const esmImportLines = [];
288
+ const jsUseBindings = {};
289
+ for (const [name, filePath] of Object.entries(ctx.jsFileUse)) {
290
+ if (format === 'esm') {
291
+ const { importDecl, constDecl, bindingName } = buildJsUseEsm(name, filePath);
292
+ esmImportLines.push(importDecl);
293
+ if (constDecl)
294
+ esmImportLines.push(constDecl);
295
+ jsUseBindings[name] = bindingName;
296
+ params.push({ name, default: bindingName });
297
+ }
298
+ else {
299
+ params.push({ name, default: buildJsUseDefault(filePath) });
300
+ }
301
+ }
240
302
  const setDecls = buildSetDecls(ctx.sets);
241
303
  for (const [name, defaultVal] of Object.entries(implicits)) {
242
- if (!ctx.uses[name] && (body.includes(name) || setDecls.includes(name))) {
304
+ if (!ctx.uses[name] && !ctx.jsFileUse[name] && (body.includes(name) || setDecls.includes(name))) {
243
305
  params.push({ name, default: defaultVal });
244
306
  }
245
307
  }
246
308
  addFreeVarParams(params, ctx);
247
309
  const transformDecls = buildModelTransformDecls(ctx.uses, modelTransforms);
248
310
  const paramStr = buildParamStr(params);
249
- return (buildFunctionBody(fnName, paramStr, setDecls, body, transformDecls) +
250
- `\nmodule.exports = { ${fnName} };`);
311
+ const exportLine = format === 'esm'
312
+ ? `\nexport { ${fnName} };`
313
+ : `\nmodule.exports = { ${fnName} };`;
314
+ const prefix = esmImportLines.length ? esmImportLines.join('\n') + '\n' : '';
315
+ return (prefix +
316
+ buildFunctionBody(fnName, paramStr, setDecls, body, transformDecls) +
317
+ exportLine);
251
318
  }
252
319
  // ---------------------------------------------------------------------------
253
320
  // Code generation helpers
254
321
  // ---------------------------------------------------------------------------
322
+ /**
323
+ * Generates the default-parameter expression for a data-sly-use JS/JSON file.
324
+ *
325
+ * - JSON files: require() directly — they're always plain objects.
326
+ * - JS files: require() and call the export if it's a factory function,
327
+ * otherwise use it as-is. This mirrors AEM's JS Use-API pattern where
328
+ * a use-script may export either data or a factory (bindings) => data.
329
+ *
330
+ * The require() is inside an IIFE so it's evaluated lazily (only when the
331
+ * caller does not pass an explicit value) but still benefits from Node's
332
+ * module cache on subsequent calls.
333
+ */
334
+ function buildJsUseDefault(filePath) {
335
+ if (filePath.endsWith('.json')) {
336
+ return `require('${filePath}')`;
337
+ }
338
+ return `(() => { const _m = require('${filePath}'); return typeof _m === 'function' ? _m({}) : _m; })()`;
339
+ }
340
+ function buildJsUseEsm(varName, filePath) {
341
+ const bindingName = `_jsuse_${varName}`;
342
+ if (filePath.endsWith('.json')) {
343
+ return { importDecl: `import ${bindingName} from '${filePath}';`, constDecl: null, bindingName };
344
+ }
345
+ const rawName = `${bindingName}_raw`;
346
+ return {
347
+ importDecl: `import ${rawName} from '${filePath}';`,
348
+ constDecl: `const ${bindingName} = typeof ${rawName} === 'function' ? ${rawName}({}) : ${rawName};`,
349
+ bindingName,
350
+ };
351
+ }
255
352
  function buildFunctionBody(fnName, paramStr, setDecls, body, transformDecls = '') {
256
353
  const lines = [`const ${fnName} = (${paramStr}) => {`];
257
354
  if (transformDecls)
@@ -306,8 +403,9 @@ function generateDts(jsSource) {
306
403
  .split(',')
307
404
  .map((p) => p.replace(/\s*=[\s\S]*/g, '').trim())
308
405
  .filter((p) => /^\w+$/.test(p));
406
+ const slopMapper = slots.map((s) => `'${s}'?: string | (() => string)`).join('; ');
309
407
  const incType = slots.length > 0
310
- ? `{ ${slots.map((s) => `'${s}'?: string | (() => string)`).join('; ')}; [key: string]: string | (() => string) | undefined }`
408
+ ? `{ ${slopMapper}; [key: string]: string | (() => string) | undefined }`
311
409
  : `Record<string, string | (() => string) | undefined>`;
312
410
  const propList = paramNames.map((p) => p === '_includes' ? `${p}?: ${incType}` : `${p}?: any`).join('; ');
313
411
  const propsType = paramNames.length ? `{ ${propList} }` : 'Record<string, any>';
@@ -386,6 +484,7 @@ function addFreeVarParams(params, ctx) {
386
484
  ...params.map((p) => p.name),
387
485
  ...Object.keys(AEM_IMPLICITS),
388
486
  ...Object.keys(ctx.fileUse || {}),
487
+ ...Object.keys(ctx.jsFileUse || {}),
389
488
  ...(ctx.definedVars || []),
390
489
  ]);
391
490
  for (const ref of ctx.refs || []) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transpiler/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transpiler/index.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export interface WalkerContext {
3
3
  uses: Record<string, string>;
4
4
  useDefaults: Record<string, string>;
5
5
  fileUse: Record<string, string>;
6
+ jsFileUse: Record<string, string>;
6
7
  sets: SetDecl[];
7
8
  omitAttrs: RegExp[];
8
9
  sourceDir: string;
@@ -25,6 +25,7 @@ function createContext(omitAttrs = [], sourceDir = '', fileOverrides = {}) {
25
25
  uses: {},
26
26
  useDefaults: {},
27
27
  fileUse: {},
28
+ jsFileUse: {},
28
29
  sets: [],
29
30
  omitAttrs,
30
31
  sourceDir,
@@ -57,6 +58,9 @@ function walkNodes(nodes, ctx) {
57
58
  function walkNode(node, ctx) {
58
59
  switch (node.type) {
59
60
  case 'text':
61
+ for (const { expr } of (0, expr_1.extractExprs)(node.data)) {
62
+ addRootRefs(expr, ctx.refs);
63
+ }
60
64
  return (0, expr_1.convertTextContent)(node.data);
61
65
  case 'comment':
62
66
  if (node.data?.trimStart().startsWith('/*'))
@@ -78,6 +82,7 @@ function processElement(node, ctx) {
78
82
  Object.assign(ctx.uses, dir.use);
79
83
  Object.assign(ctx.useDefaults, dir.useDefaults);
80
84
  Object.assign(ctx.fileUse, dir.fileUse);
85
+ Object.assign(ctx.jsFileUse, dir.jsFileUse);
81
86
  for (const [varName, filePath] of Object.entries(dir.fileUse)) {
82
87
  const basename = filePath.replace(/^.*[\\/]/, '');
83
88
  if (ctx.fileOverrides[filePath] || ctx.fileOverrides[basename]) {
@@ -139,6 +144,7 @@ function processElement(node, ctx) {
139
144
  uses: ctx.uses,
140
145
  useDefaults: ctx.useDefaults,
141
146
  fileUse: ctx.fileUse,
147
+ jsFileUse: ctx.jsFileUse,
142
148
  sets: [],
143
149
  omitAttrs: ctx.omitAttrs,
144
150
  sourceDir: ctx.sourceDir,
@@ -295,8 +301,10 @@ function buildInnerContent(node, dir, ctx) {
295
301
  const rtArg = dir.resourceType ? "'" + dir.resourceType + "'" : 'undefined';
296
302
  return `\${_wrapResource(${dir.resource}, _incSlot(_includes, ${dir.resource}), Object.assign({}, _staticResourceWrappers ?? {}, _resourceWrappers), ${rtArg})}`;
297
303
  }
298
- if (dir.text)
299
- return `\${${dir.text}}`;
304
+ if (dir.text) {
305
+ const isRaw = dir.textContext === 'html' || dir.textContext === 'unsafe';
306
+ return isRaw ? `\${${dir.text} ?? ''}` : `\${_htlText(${dir.text})}`;
307
+ }
300
308
  return walkNodes(node.children, ctx);
301
309
  }
302
310
  function buildAttrs(attrsMap, dir, omitAttrs) {
@@ -306,7 +314,15 @@ function buildAttrs(attrsMap, dir, omitAttrs) {
306
314
  .map(([key, val]) => {
307
315
  const exprs = (0, expr_1.extractExprs)(val);
308
316
  if (exprs.length === 1 && exprs[0].index === 0 && exprs[0].end === val.length) {
309
- return `\${_htlDynAttr('${key}', ${(0, expr_1.convertExpr)(exprs[0].expr)})}`;
317
+ const ctx = (0, expr_1.extractContext)(exprs[0].expr);
318
+ const converted = (0, expr_1.convertExpr)(exprs[0].expr);
319
+ if (ctx === 'unsafe') {
320
+ return ` ${key}="\${${converted} ?? ''}"`;
321
+ }
322
+ if (ctx === 'uri') {
323
+ return `\${_htlDynAttr('${key}', _htlUri(${converted}))}`;
324
+ }
325
+ return `\${_htlDynAttr('${key}', ${converted})}`;
310
326
  }
311
327
  return ` ${key}="${(0, expr_1.convertAttrValue)(val)}"`;
312
328
  })
@@ -1 +1 @@
1
- {"version":3,"file":"walker.js","sourceRoot":"","sources":["../../src/transpiler/walker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walker.js","sourceRoot":"","sources":["../../src/transpiler/walker.ts"],"names":[],"mappings":";;AAmCA,sCAkBC;AAuBD,8BAEC;AA9ED,6CAA+C;AAE/C,iCAAyG;AAEzG,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,MAAM;IACN,MAAM;IACN,IAAI;IACJ,KAAK;IACL,OAAO;IACP,IAAI;IACJ,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,KAAK;CACN,CAAC,CAAC;AAgBH,SAAgB,aAAa,CAC3B,YAAsB,EAAE,EACxB,SAAS,GAAG,EAAE,EACd,gBAAwC,EAAE;IAE1C,OAAO;QACL,IAAI,EAAE,EAAE;QACR,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,EAAE;QACb,IAAI,EAAE,EAAE;QACR,SAAS;QACT,SAAS;QACT,IAAI,EAAE,IAAI,GAAG,EAAE;QACf,WAAW,EAAE,IAAI,GAAG,EAAE;QACtB,cAAc,EAAE,EAAE;QAClB,aAAa;KACd,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,IAA+B,EAAE,IAAiB;IACrE,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;SAC1B,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC;SAC1B,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAC/B,0CAA0C,CAC3C,EAAE,CAAC;QACF,IACE,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG;YACvC,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG;YAE3C,SAAS;QACX,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAgB,SAAS,CAAC,KAAY,EAAE,GAAkB;IACxD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,QAAQ,CAAC,IAAS,EAAE,GAAkB;IAC7C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,IAAA,mBAAY,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/C,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO,IAAA,yBAAkB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,KAAK,SAAS;YACZ,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,CAAC;YACvD,OAAO,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC;QAC/B,KAAK,MAAM;YACT,OAAO,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACvC,KAAK,KAAK,CAAC;QACX,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO;YACV,OAAO,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACnC;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAS,EAAE,GAAkB;IACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACpC,MAAM,GAAG,GAAG,IAAA,4BAAe,EAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IAErD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IAE5C,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9D,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/D,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC5B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC;YAC7B,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC;gBACtB,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACjD,MAAM,QAAQ,GACZ,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC5D,IAAI,QAAQ,EAAE,CAAC;gBACb,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,GAAG,CAAC,IAAI;QAAE,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,GAAG,CAAC,IAAI;QAAE,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,MAAM,oBAAoB,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3E,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACzH,GAAG,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,GAAG,CAAC;QACrC,CAAC;QACD,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,GAAG,CAAC,OAAO;QAAE,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,GAAG,CAAC,MAAM,IAAI,IAAI;QAAE,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1D,IAAI,GAAG,CAAC,MAAM;QAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,GAAG,CAAC,IAAI;QACV,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI;QAAE,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,GAAG,CAAC,YAAY;QAClB,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,YAAY;YAAE,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAClE,IAAI,GAAG,CAAC,UAAU;QAAE,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAE1D,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvE,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI;QAAE,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;QACjD,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,QAAQ,GAAkB,GAAG,CAAC,MAAM;QACxC,CAAC,CAAC;YACE,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,IAAI,EAAE,EAAE;YACR,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,aAAa,EAAE,GAAG,CAAC,aAAa;SACjC;QACH,CAAC,CAAC,GAAG,CAAC;IAER,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI;QAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEhD,IAAI,GAAG,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE5D,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAChC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;aACrC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;aAC7B,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,IAAI,WAA+B,CAAC;QACpC,IAAI,WAA+B,CAAC;QACpC,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;gBACxE,WAAW,GAAG,MAAM,OAAO,QAAQ,WAAW,YAAY,CAAC;YAC7D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAClC,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACtE,IAAI,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvC,MAAM,QAAQ,GACZ,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtE,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;gBACxE,WAAW,GAAG,eAAe,QAAQ,MAAM,QAAQ,QAAQ,WAAW,YAAY,CAAC;YACrF,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;gBAC/C,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,WAAW,GAAG,SAAS;wBAC3B,CAAC,CAAC,GAAG,SAAS,aAAa;wBAC3B,CAAC,CAAC,WAAW,CAAC;oBAChB,WAAW,GAAG,MAAM,OAAO,QAAQ,WAAW,YAAY,CAAC;gBAC7D,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;YACxE,WAAW,GAAG,MAAM,EAAE,QAAQ,WAAW,YAAY,CAAC;QACxD,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,GAAG,QAAQ,IAAI,WAAW,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC;YACzE,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC;QACxB,IAAI,GAAW,CAAC;QAChB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAA,kBAAW,EAAC,GAAG,CAAC,CAAC;YAC9B,GAAG,GAAG,IAAI,IAAI,GAAG,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;YACxD,GAAG,GAAG,KAAK,WAAW,IAAI,CAAC;QAC7B,CAAC;QACD,MAAM,WAAW,GAAG,uBAAuB,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/D,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,WAAW,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;QAC5E,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ;YAC3B,CAAC,CAAC,oBAAoB,GAAG,CAAC,QAAQ,yBAAyB,GAAG,CAAC,QAAQ,2EAA2E,KAAK,IAAI;YAC3J,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvC,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO;QACzB,CAAC,CAAC,MAAM,GAAG,CAAC,OAAO,QAAQ,IAAI,CAAC,IAAI,IAAI;QACxC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAEd,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAE5D,MAAM,OAAO,GACX,IAAI,CAAC,IAAI,KAAK,KAAK;QACjB,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5B,CAAC,CAAC,IAAI,OAAO,GAAG,QAAQ,GAAG;YAC3B,CAAC,CAAC,IAAI,OAAO,GAAG,QAAQ,IAAI,YAAY,KAAK,OAAO,GAAG,CAAC;IAE9D,IAAI,MAAM,GAAG,OAAO,CAAC;IAErB,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,SAAS,YAAY,UAAU,OAAO,KAAK,CAAC;IACxE,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACnD,MAAM,OAAO,GAAG,GAAG,OAAO,MAAM,CAAC;QACjC,MAAM,QAAQ,GAAG,SAAS,OAAO,oIAAoI,CAAC;QACtK,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC;QAC7B,MAAM,OAAO,GAAyB,EAAE,CAAC;QACzC,MAAM,KAAK,GAAyB,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC/B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjB,IAAI,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;gBACtD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,CAAgD,EAAE,EAAE;YAClE,MAAM,IAAI,GACR,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACjE,OAAO,CAAC,CAAC,GAAG;gBACV,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC,IAAI,GAAG;gBAC9B,CAAC,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAC;QACvC,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEjD,IAAI,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,QAAQ;gBACxB,CAAC,CAAC,GAAG,QAAQ,IAAI,QAAQ,aAAa,YAAY,KAAK;gBACvD,CAAC,CAAC,GAAG,QAAQ,aAAa,YAAY,KAAK,CAAC;YAC9C,MAAM,SAAS,GAAG,QAAQ,QAAQ,iBAAiB,OAAO,wBAAwB,OAAO,wBAAwB,SAAS,eAAe,CAAC;YAC1I,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnC,CAAC,CAAC,IAAI,OAAO,GAAG,QAAQ,GAAG;gBAC3B,CAAC,CAAC,IAAI,OAAO,GAAG,QAAQ,IAAI,SAAS,KAAK,OAAO,GAAG,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,QAAQ;gBACnB,CAAC,CAAC,GAAG,QAAQ,IAAI,QAAQ,aAAa,MAAM,KAAK;gBACjD,CAAC,CAAC,GAAG,QAAQ,aAAa,MAAM,KAAK,CAAC;YACxC,MAAM,GAAG,QAAQ,QAAQ,iBAAiB,OAAO,wBAAwB,OAAO,wBAAwB,IAAI,eAAe,CAAC;QAC9H,CAAC;QAED,IAAI,UAAU,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YAC3B,MAAM,QAAQ,GACZ,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;YACzE,MAAM,GAAG,eAAe,UAAU,YAAY,QAAQ,SAAS,MAAM,gBAAgB,CAAC;QACxF,CAAC;aAAM,CAAC;YACN,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,GAAG,eAAe,UAAU,aAAa,MAAM,WAAW,CAAC;YACnE,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBACb,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CACxB,IAAS,EACT,GAAe,EACf,GAAkB;IAElB,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;QAC5E,OAAO,oBAAoB,GAAG,CAAC,QAAQ,yBAAyB,GAAG,CAAC,QAAQ,2EAA2E,KAAK,IAAI,CAAC;IACnK,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,KAAK,MAAM,IAAI,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC;QACzE,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,CAAC;IACvE,CAAC;IACD,OAAO,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,UAAU,CACjB,QAAgC,EAChC,GAAe,EACf,SAAmB;IAEnB,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;SAClC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACrC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAClE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;QAClB,MAAM,KAAK,GAAG,IAAA,mBAAY,EAAC,GAAG,CAAC,CAAC;QAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC;YAC9E,MAAM,GAAG,GAAG,IAAA,qBAAc,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAG,IAAA,kBAAW,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACrB,OAAO,IAAI,GAAG,QAAQ,SAAS,UAAU,CAAC;YAC5C,CAAC;YACD,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBAClB,OAAO,mBAAmB,GAAG,cAAc,SAAS,KAAK,CAAC;YAC5D,CAAC;YACD,OAAO,mBAAmB,GAAG,MAAM,SAAS,IAAI,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,GAAG,KAAK,IAAA,uBAAgB,EAAC,GAAG,CAAC,GAAG,CAAC;IAC9C,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;IAEZ,IAAI,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;QAC7B,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;YAC9C,MAAM,IAAI,mBAAmB,IAAI,MAAM,IAAI,IAAI,CAAC;QAClD,CAAC;IACH,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,IAAI,sBAAsB,GAAG,CAAC,UAAU,IAAI,CAAC;IACrD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,SAAS,CAAC,SAAwB,EAAE,OAAe;IAC1D,IAAI,CAAC,SAAS;QAAE,OAAO,OAAO,CAAC;IAC/B,OAAO,OAAO,SAAS,SAAS,OAAO,UAAU,CAAC;AACpD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "htl-to-js",
3
- "version": "0.9.0",
3
+ "version": "1.0.0",
4
4
  "description": "Webpack loader and CLI that transpiles AEM HTL (Sightly) templates into JavaScript template string functions.",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",