htl-to-js 1.1.2 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -5
- package/dist/transpiler/directives.d.ts +12 -2
- package/dist/transpiler/directives.js +169 -59
- package/dist/transpiler/directives.js.map +1 -1
- package/dist/transpiler/expr.js +7 -1
- package/dist/transpiler/expr.js.map +1 -1
- package/dist/transpiler/index.js +104 -37
- package/dist/transpiler/index.js.map +1 -1
- package/dist/transpiler/walker.d.ts +1 -0
- package/dist/transpiler/walker.js +85 -29
- package/dist/transpiler/walker.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -82,7 +82,7 @@ module.exports = {
|
|
|
82
82
|
| `data-sly-include="./file.html"` | Delegates to `_includes` map |
|
|
83
83
|
| `<sly>` | Transparent wrapper — only children are rendered |
|
|
84
84
|
|
|
85
|
-
Both `data-sly-repeat` and `data-sly-list` support bare forms (without `.varName`) that default to `item` as the iteration variable. They also provide a `${itemList}` status object with `index`, `count`, `first`, `last`, `odd`, and `even` properties.
|
|
85
|
+
Both `data-sly-repeat` and `data-sly-list` support bare forms (without `.varName`) that default to `item` as the iteration variable. They also provide a `${itemList}` status object with `index`, `count`, `first`, `last`, `middle`, `odd`, and `even` properties.
|
|
86
86
|
|
|
87
87
|
### Expression conversions
|
|
88
88
|
|
|
@@ -90,18 +90,36 @@ Both `data-sly-repeat` and `data-sly-list` support bare forms (without `.varName
|
|
|
90
90
|
|---|---|
|
|
91
91
|
| `${expr @ context='html'}` | `${expr}` (context options stripped) |
|
|
92
92
|
| `${expr @ context='urlencode'}` | `${encodeURIComponent(expr ?? '')}` (URL-encodes the value) |
|
|
93
|
+
| `${expr @ context='uri'}` on any attribute | `${_htlUri(expr ?? '')}` (URI-encodes the value) |
|
|
93
94
|
| `${'string' @ i18n}` | `${_i18n?.['string'] ?? 'string'}` (dictionary lookup) |
|
|
94
95
|
| `${list.size}` | `${list.length}` |
|
|
95
96
|
| `${obj.jcr:title}` | `${obj?.['jcr:title']}` |
|
|
96
97
|
| `${tags @ join=', '}` | `${(tags).join(', ')}` |
|
|
97
98
|
| `${'pattern {0}/{1}' @ format=[a, b]}` | `${a + '/' + b}` |
|
|
98
|
-
| `${key in obj}` | `${(
|
|
99
|
+
| `${key in obj}` | `${_htlIn(key, obj)}` — string containment, array `.includes()`, or object key check |
|
|
100
|
+
|
|
101
|
+
### Auto-URI context
|
|
102
|
+
|
|
103
|
+
When a dynamic expression appears in an attribute whose name is a URI attribute (`href`, `src`, `action`, `formaction`, `cite`, `data`, `manifest`, `poster`), the `uri` display context is applied automatically even without an explicit `@ context='uri'`:
|
|
104
|
+
|
|
105
|
+
```html
|
|
106
|
+
<!-- Both of these produce the same generated code -->
|
|
107
|
+
<a href="${model.url}">link</a>
|
|
108
|
+
<a href="${model.url @ context='uri'}">link</a>
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Generated:
|
|
112
|
+
|
|
113
|
+
```js
|
|
114
|
+
href="${_htlDynAttr('href', _htlUri(model?.url ?? ''))}"
|
|
115
|
+
```
|
|
99
116
|
|
|
100
117
|
### HTML escaping
|
|
101
118
|
|
|
102
119
|
Attribute values are automatically escaped via the `_htlAttr` helper:
|
|
103
120
|
- `&` → `&`, `<` → `<`, `>` → `>`, `"` → `"`
|
|
104
|
-
-
|
|
121
|
+
- Array values are rendered as comma-joined strings: `['a','b']` → `a,b`
|
|
122
|
+
- Plain object values are serialized with `JSON.stringify`
|
|
105
123
|
- `null`/`undefined` produce an empty string
|
|
106
124
|
|
|
107
125
|
Dynamic named attributes (`data-sly-attribute.name`) use `_htlDynAttr`:
|
|
@@ -223,12 +241,19 @@ module.exports = { createDefault };
|
|
|
223
241
|
|
|
224
242
|
<!-- With @path fallback -->
|
|
225
243
|
<sly data-sly-resource="${@ path=model.path}"></sly>
|
|
244
|
+
|
|
245
|
+
<!-- appendPath / prependPath -->
|
|
246
|
+
<sly data-sly-resource="${'my/path' @ appendPath='child'}"></sly>
|
|
247
|
+
<sly data-sly-resource="${'my/path' @ prependPath='root'}"></sly>
|
|
226
248
|
```
|
|
227
249
|
|
|
228
250
|
```js
|
|
229
251
|
// Generated
|
|
230
252
|
${_incSlot(_includes, 'header')}
|
|
231
253
|
${_incSlot(_includes, model?.path)}
|
|
254
|
+
// appendPath/prependPath resolved at compile time when static
|
|
255
|
+
${_incSlot(_includes, 'my/path/child')}
|
|
256
|
+
${_incSlot(_includes, 'root/my/path')}
|
|
232
257
|
```
|
|
233
258
|
|
|
234
259
|
Pass content via `_includes` in your story args. Strings, functions, and arrays are all accepted:
|
|
@@ -354,6 +379,13 @@ Includes another HTL file at runtime. The loader generates a slot in the `_inclu
|
|
|
354
379
|
|
|
355
380
|
<!-- Dynamic path -->
|
|
356
381
|
<sly data-sly-include="${model.templatePath}"></sly>
|
|
382
|
+
|
|
383
|
+
<!-- Arguments are forwarded to the slot function -->
|
|
384
|
+
<sly data-sly-include="./header.html @ wcmmode='edit'"></sly>
|
|
385
|
+
|
|
386
|
+
<!-- appendPath / prependPath -->
|
|
387
|
+
<sly data-sly-include="${'partials' @ appendPath='template.html'}"></sly>
|
|
388
|
+
<sly data-sly-include="${'template.html' @ prependPath='partials'}"></sly>
|
|
357
389
|
```
|
|
358
390
|
|
|
359
391
|
Generated:
|
|
@@ -364,6 +396,14 @@ ${_incSlot(_includes, './header.html')}
|
|
|
364
396
|
|
|
365
397
|
// Dynamic path
|
|
366
398
|
${_incSlot(_includes, model?.templatePath)}
|
|
399
|
+
|
|
400
|
+
// With args
|
|
401
|
+
${_incSlot(_includes, './header.html', { wcmmode: 'edit' })}
|
|
402
|
+
|
|
403
|
+
// appendPath/prependPath — resolved at compile time when both sides are string literals
|
|
404
|
+
${_incSlot(_includes, 'partials/template.html')}
|
|
405
|
+
// Dynamic operands fall back to a runtime helper
|
|
406
|
+
${_incSlot(_includes, _htlJoinPaths('partials', undefined, model?.tpl))}
|
|
367
407
|
```
|
|
368
408
|
|
|
369
409
|
In the story, pass either a function (component factory) or a plain string:
|
|
@@ -566,9 +606,33 @@ Both iterate over a list, but they differ in what gets repeated:
|
|
|
566
606
|
|
|
567
607
|
Both support:
|
|
568
608
|
- Null items are automatically skipped
|
|
569
|
-
- A `${itemList}` status object with `index`, `count`, `first`, `last`, `odd`, `even`
|
|
609
|
+
- A `${itemList}` status object with `index`, `count`, `first`, `last`, `middle`, `odd`, `even`
|
|
570
610
|
- Combined `data-sly-test.var` + `data-sly-repeat` on the same element (test var is hoisted before the loop in a scoped IIFE)
|
|
571
611
|
|
|
612
|
+
### Iteration control: `begin`, `end`, `step`
|
|
613
|
+
|
|
614
|
+
Both directives accept `begin`, `end`, and `step` options to control which items are iterated:
|
|
615
|
+
|
|
616
|
+
```html
|
|
617
|
+
<!-- Skip the first item (begin is 0-based, inclusive) -->
|
|
618
|
+
<ul data-sly-list.item="${items @ begin=1}"><li>${item}</li></ul>
|
|
619
|
+
|
|
620
|
+
<!-- Stop after the second item (end is 0-based, inclusive) -->
|
|
621
|
+
<ul data-sly-list.item="${items @ end=1}"><li>${item}</li></ul>
|
|
622
|
+
|
|
623
|
+
<!-- Every other item -->
|
|
624
|
+
<ul data-sly-list.item="${items @ step=2}"><li>${item}</li></ul>
|
|
625
|
+
|
|
626
|
+
<!-- Combined -->
|
|
627
|
+
<ul data-sly-list.item="${items @ begin=1, end=5, step=2}"><li>${item}</li></ul>
|
|
628
|
+
```
|
|
629
|
+
|
|
630
|
+
Options can also be dynamic expressions:
|
|
631
|
+
|
|
632
|
+
```html
|
|
633
|
+
<ul data-sly-list.item="${items @ begin=model.start, end=model.end}"><li>${item}</li></ul>
|
|
634
|
+
```
|
|
635
|
+
|
|
572
636
|
---
|
|
573
637
|
|
|
574
638
|
## Options
|
|
@@ -629,6 +693,8 @@ const html = createColumn({ _wrapperClass: 'aem-GridColumn aem-GridColumn--defau
|
|
|
629
693
|
|
|
630
694
|
Object mapping resource keys **or `resourceType` paths** to CSS classes (or configuration objects) that wrap `data-sly-resource` slot output. Mimics the extra wrapper divs that AEM's responsive grid adds around its children.
|
|
631
695
|
|
|
696
|
+
HTL options on `data-sly-resource` are forwarded to the slot function, so wrappers can react to values such as `wcmmode` or `resourceType`-driven paths.
|
|
697
|
+
|
|
632
698
|
Keys are matched in this order:
|
|
633
699
|
1. **Resource name** — the value in the expression (e.g. `'par'` from `data-sly-resource="${'par' @ ...}"`)
|
|
634
700
|
2. **`resourceType`** — the `@resourceType` option value (e.g. `'mysite/components/responsivegrid'`)
|
|
@@ -964,7 +1030,6 @@ Each `.d.ts` file re-exports the function signatures from the generated module s
|
|
|
964
1030
|
|
|
965
1031
|
## Known limitations
|
|
966
1032
|
|
|
967
|
-
- **`data-sly-include` with args** — passing parameters to included files (`@ wcmmode=wcmmode`) is not supported; only the path is used.
|
|
968
1033
|
- **`data-sly-call` across files** — the called template must be imported and passed explicitly via args; cross-file resolution at build time is not supported unless the file is declared via `data-sly-use`.
|
|
969
1034
|
- **Java expressions** in `data-sly-use` — the class path is ignored; the binding name becomes a function parameter.
|
|
970
1035
|
- **`data-sly-use` with `@` defaults** — the default values are extracted as destructuring defaults, but complex expressions are not supported.
|
|
@@ -11,26 +11,36 @@ export interface Directives {
|
|
|
11
11
|
use: Record<string, string>;
|
|
12
12
|
useDefaults: Record<string, string>;
|
|
13
13
|
fileUse: Record<string, string>;
|
|
14
|
+
dynamicFileUse: Record<string, string>;
|
|
14
15
|
jsFileUse: Record<string, string>;
|
|
15
16
|
test: string | null;
|
|
16
17
|
repeat: {
|
|
17
18
|
varName: string;
|
|
18
19
|
listExpr: string;
|
|
19
20
|
listMode: boolean;
|
|
21
|
+
beginExpr: string | null;
|
|
22
|
+
endExpr: string | null;
|
|
23
|
+
stepExpr: string | null;
|
|
20
24
|
} | null;
|
|
21
25
|
element: string | null;
|
|
22
26
|
unwrap: string | null;
|
|
23
27
|
sets: SetDecl[];
|
|
24
28
|
text: string | null;
|
|
25
29
|
textContext: string | null;
|
|
26
|
-
resource:
|
|
30
|
+
resource: {
|
|
31
|
+
path: string;
|
|
32
|
+
params: Record<string, string>;
|
|
33
|
+
} | null;
|
|
27
34
|
resourceType: string | null;
|
|
28
35
|
template: {
|
|
29
36
|
name: string;
|
|
30
37
|
params: string[];
|
|
31
38
|
} | null;
|
|
32
39
|
call: CallDescriptor | null;
|
|
33
|
-
include:
|
|
40
|
+
include: {
|
|
41
|
+
path: string;
|
|
42
|
+
params: Record<string, string>;
|
|
43
|
+
} | null;
|
|
34
44
|
dynamicAttrs?: {
|
|
35
45
|
name: string;
|
|
36
46
|
expr: string;
|
|
@@ -12,6 +12,34 @@ const expr_1 = require("./expr");
|
|
|
12
12
|
* Walks up the directory tree (up to 4 levels) to find the file.
|
|
13
13
|
* Returns a './relative/path.js' or './relative/path.json' string, or null.
|
|
14
14
|
*/
|
|
15
|
+
function resolveCandidatePath(val, sourceDir, maxLevels) {
|
|
16
|
+
let dir = sourceDir;
|
|
17
|
+
for (let i = 0; i < maxLevels; i++) {
|
|
18
|
+
const candidate = node_path_1.default.join(dir, val);
|
|
19
|
+
if (node_fs_1.default.existsSync(candidate)) {
|
|
20
|
+
const rel = node_path_1.default.relative(sourceDir, candidate).replaceAll('\\', '/');
|
|
21
|
+
return rel.startsWith('.') ? rel : `./${rel}`;
|
|
22
|
+
}
|
|
23
|
+
dir = node_path_1.default.dirname(dir);
|
|
24
|
+
}
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
function resolveWithinJcrRoot(val, sourceDir) {
|
|
28
|
+
let dir = sourceDir;
|
|
29
|
+
for (let i = 0; i < 10; i++) {
|
|
30
|
+
const jcrRoot = node_path_1.default.join(dir, 'jcr_root');
|
|
31
|
+
if (node_fs_1.default.existsSync(jcrRoot)) {
|
|
32
|
+
const candidate = node_path_1.default.join(jcrRoot, val);
|
|
33
|
+
if (node_fs_1.default.existsSync(candidate)) {
|
|
34
|
+
const rel = node_path_1.default.relative(sourceDir, candidate).replaceAll('\\', '/');
|
|
35
|
+
return rel.startsWith('.') ? rel : `./${rel}`;
|
|
36
|
+
}
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
dir = node_path_1.default.dirname(dir);
|
|
40
|
+
}
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
15
43
|
function resolveJsUsePath(val, sourceDir) {
|
|
16
44
|
if (!sourceDir)
|
|
17
45
|
return null;
|
|
@@ -22,31 +50,9 @@ function resolveJsUsePath(val, sourceDir) {
|
|
|
22
50
|
if (!isJs && !isJson)
|
|
23
51
|
return null;
|
|
24
52
|
if (val.startsWith('/')) {
|
|
25
|
-
|
|
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);
|
|
53
|
+
return resolveWithinJcrRoot(val, sourceDir);
|
|
48
54
|
}
|
|
49
|
-
return
|
|
55
|
+
return resolveCandidatePath(val, sourceDir, 4);
|
|
50
56
|
}
|
|
51
57
|
/**
|
|
52
58
|
* Resolves an HTL data-sly-use file path to a require()-ready relative path.
|
|
@@ -58,33 +64,11 @@ function resolveHtlPath(val, sourceDir) {
|
|
|
58
64
|
if (!val.endsWith('.html') || val.includes('${'))
|
|
59
65
|
return null;
|
|
60
66
|
if (val.startsWith('/')) {
|
|
61
|
-
|
|
62
|
-
for (let i = 0; i < 10; i++) {
|
|
63
|
-
const jcrRoot = node_path_1.default.join(dir, 'jcr_root');
|
|
64
|
-
if (node_fs_1.default.existsSync(jcrRoot)) {
|
|
65
|
-
const candidate = node_path_1.default.join(jcrRoot, val);
|
|
66
|
-
if (node_fs_1.default.existsSync(candidate)) {
|
|
67
|
-
const rel = node_path_1.default.relative(sourceDir, candidate).replaceAll('\\', '/');
|
|
68
|
-
return rel.startsWith('.') ? rel : `./${rel}`;
|
|
69
|
-
}
|
|
70
|
-
return null;
|
|
71
|
-
}
|
|
72
|
-
dir = node_path_1.default.dirname(dir);
|
|
73
|
-
}
|
|
74
|
-
return null;
|
|
67
|
+
return resolveWithinJcrRoot(val, sourceDir);
|
|
75
68
|
}
|
|
76
69
|
if (val.split('/').length > 2)
|
|
77
70
|
return null;
|
|
78
|
-
|
|
79
|
-
for (let i = 0; i < 4; i++) {
|
|
80
|
-
const candidate = node_path_1.default.join(dir, val);
|
|
81
|
-
if (node_fs_1.default.existsSync(candidate)) {
|
|
82
|
-
const rel = node_path_1.default.relative(sourceDir, candidate).replaceAll('\\', '/');
|
|
83
|
-
return rel.startsWith('.') ? rel : `./${rel}`;
|
|
84
|
-
}
|
|
85
|
-
dir = node_path_1.default.dirname(dir);
|
|
86
|
-
}
|
|
87
|
-
return null;
|
|
71
|
+
return resolveCandidatePath(val, sourceDir, 4);
|
|
88
72
|
}
|
|
89
73
|
function parseUseDefault(val) {
|
|
90
74
|
const atIdx = val.indexOf('@');
|
|
@@ -93,6 +77,104 @@ function parseUseDefault(val) {
|
|
|
93
77
|
const vals = [...val.slice(atIdx + 1).matchAll(/\w+\s*=\s*(\w+)/g)].map((m) => m[1]);
|
|
94
78
|
return vals.length ? `{ ${vals.join(', ')} }` : null;
|
|
95
79
|
}
|
|
80
|
+
function parseHtlOptions(value) {
|
|
81
|
+
const options = {};
|
|
82
|
+
const valueRe = /(\w+)\s*=\s*((?:'(?:\\.|[^'\\])*'|"(?:\\.|[^"\\])*"|\$\{(?:[^{}]|\{[^{}]*\})*\}|\[[^\]]*\]|[^,}])+)/g;
|
|
83
|
+
for (const match of value.matchAll(valueRe)) {
|
|
84
|
+
options[match[1].trim()] = (0, expr_1.convertExpr)(match[2].trim());
|
|
85
|
+
}
|
|
86
|
+
return options;
|
|
87
|
+
}
|
|
88
|
+
function parseHtlPathAndOptions(raw) {
|
|
89
|
+
const trimmed = raw.trim();
|
|
90
|
+
const isWrappedExpr = trimmed.startsWith('${') && trimmed.endsWith('}');
|
|
91
|
+
const inner = isWrappedExpr ? trimmed.slice(2, -1).trim() : trimmed;
|
|
92
|
+
const atIdx = inner.indexOf('@');
|
|
93
|
+
const pathPart = (atIdx === -1 ? inner : inner.slice(0, atIdx)).trim();
|
|
94
|
+
const params = atIdx === -1 ? {} : parseHtlOptions(inner.slice(atIdx + 1));
|
|
95
|
+
const overridePath = params.path;
|
|
96
|
+
if (overridePath)
|
|
97
|
+
delete params.path;
|
|
98
|
+
const literalPath = pathPart.replace(/^['"](.+)['"]$/, '$1').replaceAll("'", String.raw `\'`);
|
|
99
|
+
const pathExpr = overridePath ?? (isWrappedExpr || pathPart.startsWith('${')
|
|
100
|
+
? (0, expr_1.convertExpr)('${' + pathPart + '}')
|
|
101
|
+
: "'" + literalPath + "'");
|
|
102
|
+
const appendPath = params.appendPath;
|
|
103
|
+
const prependPath = params.prependPath;
|
|
104
|
+
delete params.appendPath;
|
|
105
|
+
delete params.prependPath;
|
|
106
|
+
const finalPath = composeHtlPath(pathExpr, prependPath, appendPath);
|
|
107
|
+
return { path: finalPath, params };
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Composes an HTL path expression with optional prependPath/appendPath options.
|
|
111
|
+
* Uses compile-time string concatenation when both operands are static string
|
|
112
|
+
* literals; falls back to a runtime `_htlJoinPaths` call otherwise.
|
|
113
|
+
*/
|
|
114
|
+
function composeHtlPath(pathExpr, prependExpr, appendExpr) {
|
|
115
|
+
if (!prependExpr && !appendExpr)
|
|
116
|
+
return pathExpr;
|
|
117
|
+
const staticBase = /^'([^']*)'$/.exec(pathExpr)?.[1];
|
|
118
|
+
const staticPrepend = prependExpr ? /^'([^']*)'$/.exec(prependExpr)?.[1] : undefined;
|
|
119
|
+
const staticAppend = appendExpr ? /^'([^']*)'$/.exec(appendExpr)?.[1] : undefined;
|
|
120
|
+
if (staticBase !== undefined) {
|
|
121
|
+
let composed = staticBase;
|
|
122
|
+
if (prependExpr !== undefined) {
|
|
123
|
+
if (staticPrepend === undefined) {
|
|
124
|
+
return `_htlJoinPaths('${composed}', ${prependExpr}, ${appendExpr ?? 'undefined'})`;
|
|
125
|
+
}
|
|
126
|
+
composed =
|
|
127
|
+
staticPrepend.replace(/\/$/, '') + '/' + composed.replace(/^\//, '');
|
|
128
|
+
}
|
|
129
|
+
if (appendExpr !== undefined) {
|
|
130
|
+
if (staticAppend === undefined) {
|
|
131
|
+
return `_htlJoinPaths('${composed}', undefined, ${appendExpr})`;
|
|
132
|
+
}
|
|
133
|
+
composed =
|
|
134
|
+
composed.replace(/\/$/, '') + '/' + staticAppend.replace(/^\//, '');
|
|
135
|
+
}
|
|
136
|
+
return `'${composed}'`;
|
|
137
|
+
}
|
|
138
|
+
return `_htlJoinPaths(${pathExpr}, ${prependExpr ?? 'undefined'}, ${appendExpr ?? 'undefined'})`;
|
|
139
|
+
}
|
|
140
|
+
function unwrapPureStringExpression(val) {
|
|
141
|
+
const match = /^\$\{\s*(['"])([\s\S]*)\1\s*\}$/.exec(val.trim());
|
|
142
|
+
return match ? match[2] : null;
|
|
143
|
+
}
|
|
144
|
+
function convertInterpolatedString(value) {
|
|
145
|
+
const parts = [];
|
|
146
|
+
let last = 0;
|
|
147
|
+
for (const { index, expr, end } of (0, expr_1.extractExprs)(value)) {
|
|
148
|
+
if (index > last)
|
|
149
|
+
parts.push((0, expr_1.escapeLiteral)(value.slice(last, index)));
|
|
150
|
+
parts.push(`\${${(0, expr_1.convertExpr)(expr)}}`);
|
|
151
|
+
last = end;
|
|
152
|
+
}
|
|
153
|
+
if (last < value.length)
|
|
154
|
+
parts.push((0, expr_1.escapeLiteral)(value.slice(last)));
|
|
155
|
+
return '`' + parts.join('') + '`';
|
|
156
|
+
}
|
|
157
|
+
function buildDynamicJsUseDefault(pathExpr) {
|
|
158
|
+
return `(() => { const _m = require(__resolveUsePath(${pathExpr})); return typeof _m === 'function' ? _m({}) : _m; })()`;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Extracts begin / end / step iteration-control options from a data-sly-list or
|
|
162
|
+
* data-sly-repeat attribute value. Returns null for each option not present.
|
|
163
|
+
*/
|
|
164
|
+
function parseRepeatIterationOptions(raw) {
|
|
165
|
+
const trimmed = raw.trim();
|
|
166
|
+
const inner = trimmed.startsWith('${') && trimmed.endsWith('}')
|
|
167
|
+
? trimmed.slice(2, -1).trim() : trimmed;
|
|
168
|
+
const atIdx = inner.indexOf('@');
|
|
169
|
+
if (atIdx === -1)
|
|
170
|
+
return { beginExpr: null, endExpr: null, stepExpr: null };
|
|
171
|
+
const opts = parseHtlOptions(inner.slice(atIdx + 1));
|
|
172
|
+
return {
|
|
173
|
+
beginExpr: opts.begin ?? null,
|
|
174
|
+
endExpr: opts.end ?? null,
|
|
175
|
+
stepExpr: opts.step ?? null,
|
|
176
|
+
};
|
|
177
|
+
}
|
|
96
178
|
/**
|
|
97
179
|
* Parses all data-sly-* attributes from a node's attribute map and returns
|
|
98
180
|
* a structured descriptor used by the walker to generate JS code.
|
|
@@ -102,6 +184,7 @@ function parseDirectives(attrs, sourceDir = '') {
|
|
|
102
184
|
use: {},
|
|
103
185
|
useDefaults: {},
|
|
104
186
|
fileUse: {},
|
|
187
|
+
dynamicFileUse: {},
|
|
105
188
|
jsFileUse: {},
|
|
106
189
|
test: null,
|
|
107
190
|
repeat: null,
|
|
@@ -122,14 +205,32 @@ function parseDirectives(attrs, sourceDir = '') {
|
|
|
122
205
|
if (useMatch) {
|
|
123
206
|
const name = useMatch[1];
|
|
124
207
|
const trimmed = val.trim();
|
|
125
|
-
const
|
|
126
|
-
const
|
|
208
|
+
const literalExpr = unwrapPureStringExpression(trimmed);
|
|
209
|
+
const staticCandidate = literalExpr ?? trimmed;
|
|
210
|
+
const requirePath = sourceDir ? resolveHtlPath(staticCandidate, sourceDir) : null;
|
|
211
|
+
const jsRequirePath = requirePath ? null : (sourceDir ? resolveJsUsePath(staticCandidate, sourceDir) : null);
|
|
127
212
|
if (requirePath) {
|
|
128
213
|
directives.fileUse[name] = requirePath;
|
|
129
214
|
}
|
|
130
215
|
else if (jsRequirePath) {
|
|
131
216
|
directives.jsFileUse[name] = jsRequirePath;
|
|
132
217
|
}
|
|
218
|
+
else if (trimmed.includes('${') && (trimmed.endsWith('.js') || trimmed.endsWith('.json'))) {
|
|
219
|
+
directives.use[name] = val;
|
|
220
|
+
directives.useDefaults[name] = buildDynamicJsUseDefault(convertInterpolatedString(trimmed));
|
|
221
|
+
}
|
|
222
|
+
else if (trimmed.includes('${') && trimmed.endsWith('.html')) {
|
|
223
|
+
const converted = convertInterpolatedString(trimmed);
|
|
224
|
+
if (trimmed.startsWith('/')) {
|
|
225
|
+
directives.dynamicFileUse[name] = `__resolveUsePath(${converted})`;
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
const normalized = !trimmed.startsWith('./') && !trimmed.startsWith('.')
|
|
229
|
+
? converted.replace(/^`/, '`./')
|
|
230
|
+
: converted;
|
|
231
|
+
directives.dynamicFileUse[name] = normalized;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
133
234
|
else {
|
|
134
235
|
directives.use[name] = val;
|
|
135
236
|
const def = parseUseDefault(trimmed);
|
|
@@ -140,7 +241,7 @@ function parseDirectives(attrs, sourceDir = '') {
|
|
|
140
241
|
continue;
|
|
141
242
|
}
|
|
142
243
|
if (key === 'data-sly-test') {
|
|
143
|
-
directives.test = (0, expr_1.convertExpr)(val);
|
|
244
|
+
directives.test = val.trim() ? (0, expr_1.convertExpr)(val) : 'false';
|
|
144
245
|
directives.skip.add(key);
|
|
145
246
|
continue;
|
|
146
247
|
}
|
|
@@ -158,19 +259,27 @@ function parseDirectives(attrs, sourceDir = '') {
|
|
|
158
259
|
}
|
|
159
260
|
const repeatMatch = /^data-sly-(?:repeat|list)\.(\w+)$/.exec(key);
|
|
160
261
|
if (repeatMatch) {
|
|
262
|
+
const { beginExpr, endExpr, stepExpr } = parseRepeatIterationOptions(val);
|
|
161
263
|
directives.repeat = {
|
|
162
264
|
varName: repeatMatch[1],
|
|
163
265
|
listExpr: (0, expr_1.convertExpr)(val),
|
|
164
266
|
listMode: key.startsWith('data-sly-list.'),
|
|
267
|
+
beginExpr,
|
|
268
|
+
endExpr,
|
|
269
|
+
stepExpr,
|
|
165
270
|
};
|
|
166
271
|
directives.skip.add(key);
|
|
167
272
|
continue;
|
|
168
273
|
}
|
|
169
274
|
if (key === 'data-sly-list' || key === 'data-sly-repeat') {
|
|
275
|
+
const { beginExpr, endExpr, stepExpr } = parseRepeatIterationOptions(val);
|
|
170
276
|
directives.repeat = {
|
|
171
277
|
varName: 'item',
|
|
172
278
|
listExpr: (0, expr_1.convertExpr)(val),
|
|
173
279
|
listMode: key === 'data-sly-list',
|
|
280
|
+
beginExpr,
|
|
281
|
+
endExpr,
|
|
282
|
+
stepExpr,
|
|
174
283
|
};
|
|
175
284
|
directives.skip.add(key);
|
|
176
285
|
continue;
|
|
@@ -202,16 +311,17 @@ function parseDirectives(attrs, sourceDir = '') {
|
|
|
202
311
|
continue;
|
|
203
312
|
}
|
|
204
313
|
if (key === 'data-sly-resource') {
|
|
205
|
-
|
|
206
|
-
if (!resource) {
|
|
207
|
-
const pathMatch = /@\s*path\s*=\s*([^,}@\s'"]+)/.exec(val);
|
|
208
|
-
if (pathMatch)
|
|
209
|
-
resource = (0, expr_1.convertExpr)('${' + pathMatch[1] + '}');
|
|
210
|
-
}
|
|
314
|
+
const parsed = parseHtlPathAndOptions(val);
|
|
211
315
|
const rtMatch = /@\s*resourceType\s*=\s*['"]([^'"]+)['"]/.exec(val);
|
|
212
316
|
if (rtMatch)
|
|
213
317
|
directives.resourceType = rtMatch[1];
|
|
214
|
-
|
|
318
|
+
const params = { ...parsed.params };
|
|
319
|
+
const { resourceType } = params;
|
|
320
|
+
delete params.resourceType;
|
|
321
|
+
delete params.path;
|
|
322
|
+
if (resourceType && !directives.resourceType)
|
|
323
|
+
directives.resourceType = resourceType;
|
|
324
|
+
directives.resource = { path: parsed.path, params };
|
|
215
325
|
directives.skip.add(key);
|
|
216
326
|
continue;
|
|
217
327
|
}
|
|
@@ -268,7 +378,7 @@ function parseDirectives(attrs, sourceDir = '') {
|
|
|
268
378
|
continue;
|
|
269
379
|
}
|
|
270
380
|
if (key === 'data-sly-include') {
|
|
271
|
-
directives.include = val;
|
|
381
|
+
directives.include = parseHtlPathAndOptions(val);
|
|
272
382
|
directives.skip.add(key);
|
|
273
383
|
continue;
|
|
274
384
|
}
|
|
@@ -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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"}
|
package/dist/transpiler/expr.js
CHANGED
|
@@ -73,7 +73,7 @@ function transformValue(expr) {
|
|
|
73
73
|
result = result
|
|
74
74
|
.replace(/(\w|\])(?<!\?)\[/g, '$1?.[')
|
|
75
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) => `(${
|
|
76
|
+
.replace(/([\w$.?[\]]+)\s+in\s+([\w$.?[\]]+)/g, (_match, left, right) => `_htlIn(${left}, ${right})`)
|
|
77
77
|
.replace(/(?<![?.])\b(class|for)\b/g, '_$1');
|
|
78
78
|
// Restore string literals last so their content is never touched.
|
|
79
79
|
strings.forEach((str, i) => { result = result.replace(`__STR${i}__`, str); });
|
|
@@ -223,6 +223,9 @@ function convertAttrValue(value) {
|
|
|
223
223
|
else if (ctx === 'uri') {
|
|
224
224
|
parts.push(`\${_htlUri(${converted})}`);
|
|
225
225
|
}
|
|
226
|
+
else if (ctx === 'number') {
|
|
227
|
+
parts.push(`\${_htlNum(${converted}) ?? ''}`);
|
|
228
|
+
}
|
|
226
229
|
else {
|
|
227
230
|
parts.push(`\${_htlAttr(${converted})}`);
|
|
228
231
|
}
|
|
@@ -248,6 +251,9 @@ function convertTextContent(text) {
|
|
|
248
251
|
const safe = /\|\||&&/.test(converted) ? `(${converted})` : converted;
|
|
249
252
|
parts.push(`\${${safe} ?? ''}`);
|
|
250
253
|
}
|
|
254
|
+
else if (ctx === 'number') {
|
|
255
|
+
parts.push(`\${_htlNum(${converted}) ?? ''}`);
|
|
256
|
+
}
|
|
251
257
|
else {
|
|
252
258
|
parts.push(`\${_htlText(${converted})}`);
|
|
253
259
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expr.js","sourceRoot":"","sources":["../../src/transpiler/expr.ts"],"names":[],"mappings":";;AAiFA,kCA8FC;AAYD,oCAqBC;AAMD,wCAGC;AAOD,
|
|
1
|
+
{"version":3,"file":"expr.js","sourceRoot":"","sources":["../../src/transpiler/expr.ts"],"names":[],"mappings":"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"}
|