pug-tail 0.2.0-alpha.0 → 0.2.0-alpha.2

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.
Files changed (53) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +40 -1
  3. package/dist/core/compiler/index.d.ts +3 -0
  4. package/dist/core/compiler/index.d.ts.map +1 -0
  5. package/dist/core/compiler/index.js +3 -0
  6. package/dist/core/compiler/index.js.map +1 -0
  7. package/dist/core/compiler/transformer.d.ts +20 -0
  8. package/dist/core/compiler/transformer.d.ts.map +1 -0
  9. package/dist/core/compiler/transformer.js +37 -0
  10. package/dist/core/compiler/transformer.js.map +1 -0
  11. package/dist/core/compiler/traverser.d.ts +18 -0
  12. package/dist/core/compiler/traverser.d.ts.map +1 -0
  13. package/dist/core/compiler/traverser.js +175 -0
  14. package/dist/core/compiler/traverser.js.map +1 -0
  15. package/dist/core/visitors/componentDetector.d.ts +27 -0
  16. package/dist/core/visitors/componentDetector.d.ts.map +1 -0
  17. package/dist/core/visitors/componentDetector.js +118 -0
  18. package/dist/core/visitors/componentDetector.js.map +1 -0
  19. package/dist/core/visitors/componentExpander.d.ts +24 -0
  20. package/dist/core/visitors/componentExpander.d.ts.map +1 -0
  21. package/dist/core/visitors/componentExpander.js +293 -0
  22. package/dist/core/visitors/componentExpander.js.map +1 -0
  23. package/dist/core/visitors/definitionRemover.d.ts +9 -0
  24. package/dist/core/visitors/definitionRemover.d.ts.map +1 -0
  25. package/dist/core/visitors/definitionRemover.js +14 -0
  26. package/dist/core/visitors/definitionRemover.js.map +1 -0
  27. package/dist/core/visitors/includeFlattener.d.ts +12 -0
  28. package/dist/core/visitors/includeFlattener.d.ts.map +1 -0
  29. package/dist/core/visitors/includeFlattener.js +23 -0
  30. package/dist/core/visitors/includeFlattener.js.map +1 -0
  31. package/dist/core/visitors/index.d.ts +6 -0
  32. package/dist/core/visitors/index.d.ts.map +1 -0
  33. package/dist/core/visitors/index.js +6 -0
  34. package/dist/core/visitors/index.js.map +1 -0
  35. package/dist/core/visitors/visitor.d.ts +32 -0
  36. package/dist/core/visitors/visitor.d.ts.map +1 -0
  37. package/dist/core/visitors/visitor.js +3 -0
  38. package/dist/core/visitors/visitor.js.map +1 -0
  39. package/dist/index.d.ts +0 -1
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +0 -1
  42. package/dist/index.js.map +1 -1
  43. package/dist/transform.js +4 -4
  44. package/dist/transform.js.map +1 -1
  45. package/dist/utils/astHelpers.d.ts +4 -0
  46. package/dist/utils/astHelpers.d.ts.map +1 -1
  47. package/dist/utils/astHelpers.js +9 -0
  48. package/dist/utils/astHelpers.js.map +1 -1
  49. package/package.json +2 -2
  50. package/dist/core/astTransformer.d.ts +0 -33
  51. package/dist/core/astTransformer.d.ts.map +0 -1
  52. package/dist/core/astTransformer.js +0 -598
  53. package/dist/core/astTransformer.js.map +0 -1
@@ -0,0 +1,293 @@
1
+ import { getNodeLocationObject, isCapitalizedTag } from '../../utils/astHelpers.js';
2
+ import { categorizeAttributes } from '../../utils/attributeCategorizer.js';
3
+ import { addAttributeFallthrough, createAttributesCode, extractAttributes, findSingleRootElement, hasAnyAttributeBlocks, hasMultipleRoots, } from '../../utils/attributes/index.js';
4
+ import { extractSlotName, isSlotDefinitionNode, } from '../../utils/componentDetector.js';
5
+ import { deepCloneBlock } from '../../utils/deepClone.js';
6
+ import { createAttrsCode, createPropsCode, extractReferencedVariables, } from '../../utils/usageDetector.js';
7
+ import { SlotResolver } from '../slotResolver.js';
8
+ export class ComponentExpanderVisitor {
9
+ constructor(registry, errorHandler, options = {}) {
10
+ this.registry = registry;
11
+ this.errorHandler = errorHandler;
12
+ this.callStack = [];
13
+ this.Block = {
14
+ enter: (node, _parent) => {
15
+ const block = node;
16
+ const newNodes = [];
17
+ for (const childNode of block.nodes) {
18
+ if (!childNode)
19
+ continue;
20
+ if (this.isComponentCall(childNode)) {
21
+ const expanded = this.expandComponentCall(childNode);
22
+ newNodes.push(...expanded.nodes);
23
+ }
24
+ else {
25
+ newNodes.push(childNode);
26
+ }
27
+ }
28
+ return {
29
+ ...block,
30
+ nodes: newNodes,
31
+ };
32
+ },
33
+ };
34
+ this.slotResolver = new SlotResolver({
35
+ filename: options.debug ? 'debug' : undefined,
36
+ });
37
+ }
38
+ isComponentCall(node) {
39
+ return isCapitalizedTag(node);
40
+ }
41
+ expandComponentCall(callNode) {
42
+ const componentName = callNode.name;
43
+ const location = getNodeLocationObject(callNode);
44
+ if (this.callStack.includes(componentName)) {
45
+ throw this.errorHandler.recursiveComponentCall(componentName, this.callStack, location);
46
+ }
47
+ this.callStack.push(componentName);
48
+ try {
49
+ const component = this.registry.get(componentName);
50
+ if (!component) {
51
+ const available = this.registry.getNames();
52
+ throw this.errorHandler.componentNotFound(componentName, location, available);
53
+ }
54
+ const componentBodyCopy = deepCloneBlock(component.body);
55
+ const providedSlots = this.slotResolver.extractProvidedSlots(callNode);
56
+ const attributes = extractAttributes(callNode);
57
+ this.injectAttributes(componentBodyCopy, attributes, component);
58
+ const result = this.replaceSlots(componentBodyCopy, providedSlots, component.slots, location);
59
+ return result;
60
+ }
61
+ finally {
62
+ this.callStack.pop();
63
+ }
64
+ }
65
+ injectAttributes(componentBody, attributes, component) {
66
+ if (component.usage) {
67
+ const { props, attrs } = categorizeAttributes(attributes, component.usage);
68
+ const referencedVars = extractReferencedVariables(props, attrs);
69
+ const paramPrefix = referencedVars.size > 0 ? '__pug_arg_' : undefined;
70
+ const propsCodes = createPropsCode(props, paramPrefix);
71
+ const attrsCodes = createAttrsCode(attrs, paramPrefix);
72
+ if (referencedVars.size > 0) {
73
+ const paramNames = Array.from(referencedVars).map((v) => `__pug_arg_${v}`);
74
+ const argNames = Array.from(referencedVars);
75
+ const iifeStart = {
76
+ type: 'Code',
77
+ val: `;((${paramNames.join(', ')}) => {`,
78
+ buffer: false,
79
+ mustEscape: false,
80
+ isInline: false,
81
+ line: 0,
82
+ column: 0,
83
+ filename: '',
84
+ };
85
+ const iifeEnd = {
86
+ type: 'Code',
87
+ val: `})(${argNames.join(', ')})`,
88
+ buffer: false,
89
+ mustEscape: false,
90
+ isInline: false,
91
+ line: 0,
92
+ column: 0,
93
+ filename: '',
94
+ };
95
+ for (let i = attrsCodes.length - 1; i >= 0; i--) {
96
+ const code = attrsCodes[i];
97
+ if (code)
98
+ componentBody.nodes.unshift(code);
99
+ }
100
+ for (let i = propsCodes.length - 1; i >= 0; i--) {
101
+ const code = propsCodes[i];
102
+ if (code)
103
+ componentBody.nodes.unshift(code);
104
+ }
105
+ componentBody.nodes.unshift(iifeStart);
106
+ componentBody.nodes.push(iifeEnd);
107
+ }
108
+ else {
109
+ const blockStart = {
110
+ type: 'Code',
111
+ val: '{',
112
+ buffer: false,
113
+ mustEscape: false,
114
+ isInline: false,
115
+ line: 0,
116
+ column: 0,
117
+ filename: '',
118
+ };
119
+ const blockEnd = {
120
+ type: 'Code',
121
+ val: '}',
122
+ buffer: false,
123
+ mustEscape: false,
124
+ isInline: false,
125
+ line: 0,
126
+ column: 0,
127
+ filename: '',
128
+ };
129
+ for (let i = attrsCodes.length - 1; i >= 0; i--) {
130
+ const code = attrsCodes[i];
131
+ if (code)
132
+ componentBody.nodes.unshift(code);
133
+ }
134
+ for (let i = propsCodes.length - 1; i >= 0; i--) {
135
+ const code = propsCodes[i];
136
+ if (code)
137
+ componentBody.nodes.unshift(code);
138
+ }
139
+ componentBody.nodes.unshift(blockStart);
140
+ componentBody.nodes.push(blockEnd);
141
+ }
142
+ }
143
+ else {
144
+ const attributesCode = createAttributesCode(attributes);
145
+ componentBody.nodes.unshift(attributesCode);
146
+ }
147
+ if (hasAnyAttributeBlocks(componentBody)) {
148
+ return;
149
+ }
150
+ const singleRoot = findSingleRootElement(componentBody);
151
+ if (singleRoot) {
152
+ if (component.usage) {
153
+ const fromAttrsSet = new Set(component.usage.fromAttrs);
154
+ const hasExplicitAttrs = singleRoot.attrs?.some((attr) => fromAttrsSet.has(attr.name));
155
+ if (!hasExplicitAttrs) {
156
+ addAttributeFallthrough(singleRoot, '$attrs');
157
+ }
158
+ }
159
+ else {
160
+ addAttributeFallthrough(singleRoot, 'attributes');
161
+ }
162
+ }
163
+ else if (hasMultipleRoots(componentBody)) {
164
+ console.warn(`[pug-tail] Component "${component.name}" has multiple root elements. ` +
165
+ `Attribute fallthrough is disabled. ` +
166
+ `Use &attributes($attrs) explicitly if needed.`);
167
+ }
168
+ }
169
+ replaceSlots(componentBody, providedSlots, slotDefinitions, callLocation) {
170
+ for (const [slotName] of providedSlots) {
171
+ if (!slotDefinitions.has(slotName)) {
172
+ if (slotName === 'default') {
173
+ continue;
174
+ }
175
+ const availableSlots = Array.from(slotDefinitions.keys());
176
+ throw this.errorHandler.slotNotDefined(slotName, callLocation, availableSlots);
177
+ }
178
+ }
179
+ const result = deepCloneBlock(componentBody);
180
+ const traverse = (block) => {
181
+ const newNodes = [];
182
+ for (const node of block.nodes) {
183
+ if (!node)
184
+ continue;
185
+ if (isSlotDefinitionNode(node)) {
186
+ const slotName = extractSlotName(node);
187
+ let replacement;
188
+ if (providedSlots.has(slotName)) {
189
+ const provided = providedSlots.get(slotName);
190
+ if (provided) {
191
+ replacement = provided;
192
+ }
193
+ else {
194
+ replacement = this.getDefaultSlotBlock(slotName, slotDefinitions, node);
195
+ }
196
+ }
197
+ else {
198
+ replacement = this.getDefaultSlotBlock(slotName, slotDefinitions, node);
199
+ }
200
+ newNodes.push(...replacement.nodes);
201
+ }
202
+ else {
203
+ newNodes.push(node);
204
+ }
205
+ }
206
+ block.nodes = newNodes;
207
+ for (const node of block.nodes) {
208
+ if (!node)
209
+ continue;
210
+ if (node.type === 'Tag' && /^[A-Z]/.test(node.name)) {
211
+ continue;
212
+ }
213
+ if (node.type === 'Tag' && node.block) {
214
+ const tagBlock = node.block;
215
+ if (tagBlock)
216
+ traverse(tagBlock);
217
+ }
218
+ else if (node.type === 'InterpolatedTag' &&
219
+ node.block) {
220
+ const interpolatedBlock = node.block;
221
+ if (interpolatedBlock)
222
+ traverse(interpolatedBlock);
223
+ }
224
+ else if (node.type === 'Block') {
225
+ traverse(node);
226
+ }
227
+ else if (node.type === 'Conditional') {
228
+ const conditional = node;
229
+ if (conditional.consequent)
230
+ traverse(conditional.consequent);
231
+ if (conditional.alternate) {
232
+ if (conditional.alternate.type === 'Block') {
233
+ traverse(conditional.alternate);
234
+ }
235
+ else if (conditional.alternate.type === 'Conditional') {
236
+ const handleConditional = (cond) => {
237
+ if (cond.consequent)
238
+ traverse(cond.consequent);
239
+ if (cond.alternate) {
240
+ if (cond.alternate.type === 'Block') {
241
+ traverse(cond.alternate);
242
+ }
243
+ else if (cond.alternate.type === 'Conditional') {
244
+ handleConditional(cond.alternate);
245
+ }
246
+ }
247
+ };
248
+ handleConditional(conditional.alternate);
249
+ }
250
+ }
251
+ }
252
+ else if (node.type === 'Each') {
253
+ const each = node;
254
+ if (each.block)
255
+ traverse(each.block);
256
+ if (each.alternate)
257
+ traverse(each.alternate);
258
+ }
259
+ else if (node.type === 'Case') {
260
+ const caseNode = node;
261
+ if (caseNode.block)
262
+ traverse(caseNode.block);
263
+ }
264
+ else if (node.type === 'When') {
265
+ const whenNode = node;
266
+ if (whenNode.block)
267
+ traverse(whenNode.block);
268
+ }
269
+ else if (node.type === 'While') {
270
+ const whileNode = node;
271
+ if (whileNode.block)
272
+ traverse(whileNode.block);
273
+ }
274
+ }
275
+ };
276
+ traverse(result);
277
+ return result;
278
+ }
279
+ getDefaultSlotBlock(slotName, slotDefinitions, slotNode) {
280
+ const slotDef = slotDefinitions.get(slotName);
281
+ if (slotDef?.placeholder?.block) {
282
+ return deepCloneBlock(slotDef.placeholder.block);
283
+ }
284
+ return {
285
+ type: 'Block',
286
+ nodes: [],
287
+ line: slotNode.line,
288
+ column: slotNode.column,
289
+ filename: slotNode.filename,
290
+ };
291
+ }
292
+ }
293
+ //# sourceMappingURL=componentExpander.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"componentExpander.js","sourceRoot":"","sources":["../../../src/core/visitors/componentExpander.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { Node } from '@/types/pug';
2
+ import type { Visitor, VisitorMethods } from './visitor.js';
3
+ export declare class DefinitionRemoverVisitor implements Visitor {
4
+ [nodeType: string]: VisitorMethods | undefined;
5
+ Tag: {
6
+ enter: (node: Node, _parent: Node | null) => Node | undefined;
7
+ };
8
+ }
9
+ //# sourceMappingURL=definitionRemover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitionRemover.d.ts","sourceRoot":"","sources":["../../../src/core/visitors/definitionRemover.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAkBxD,qBAAa,wBAAyB,YAAW,OAAO;IACtD,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAA;IAK9C,GAAG;sBACa,IAAI,WAAW,IAAI,GAAG,IAAI,KAAG,IAAI,GAAG,SAAS;MAS5D;CACF"}
@@ -0,0 +1,14 @@
1
+ import { isComponentDefinitionNode } from '../../utils/componentDetector.js';
2
+ export class DefinitionRemoverVisitor {
3
+ constructor() {
4
+ this.Tag = {
5
+ enter: (node, _parent) => {
6
+ if (isComponentDefinitionNode(node)) {
7
+ return null;
8
+ }
9
+ return undefined;
10
+ },
11
+ };
12
+ }
13
+ }
14
+ //# sourceMappingURL=definitionRemover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitionRemover.js","sourceRoot":"","sources":["../../../src/core/visitors/definitionRemover.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAmBrE,MAAM,OAAO,wBAAwB;IAArC;QAME,QAAG,GAAG;YACJ,KAAK,EAAE,CAAC,IAAU,EAAE,OAAoB,EAAoB,EAAE;gBAC5D,IAAI,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAGpC,OAAO,IAA4B,CAAA;gBACrC,CAAC;gBAED,OAAO,SAAS,CAAA;YAClB,CAAC;SACF,CAAA;IACH,CAAC;CAAA"}
@@ -0,0 +1,12 @@
1
+ import type { Node } from '@/types/pug';
2
+ import type { Visitor, VisitorMethods } from './visitor.js';
3
+ export declare class IncludeFlattenerVisitor implements Visitor {
4
+ [nodeType: string]: VisitorMethods | undefined;
5
+ Include: {
6
+ enter: (node: Node, _parent: Node | null) => Node | undefined;
7
+ };
8
+ Extends: {
9
+ enter: (node: Node, _parent: Node | null) => Node | undefined;
10
+ };
11
+ }
12
+ //# sourceMappingURL=includeFlattener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"includeFlattener.d.ts","sourceRoot":"","sources":["../../../src/core/visitors/includeFlattener.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAoB,IAAI,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAmBxD,qBAAa,uBAAwB,YAAW,OAAO;IACrD,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAA;IAK9C,OAAO;sBACS,IAAI,WAAW,IAAI,GAAG,IAAI,KAAG,IAAI,GAAG,SAAS;MAW5D;IAKD,OAAO;sBACS,IAAI,WAAW,IAAI,GAAG,IAAI,KAAG,IAAI,GAAG,SAAS;MAW5D;CACF"}
@@ -0,0 +1,23 @@
1
+ export class IncludeFlattenerVisitor {
2
+ constructor() {
3
+ this.Include = {
4
+ enter: (node, _parent) => {
5
+ const includeNode = node;
6
+ if (includeNode.file?.ast) {
7
+ return includeNode.file.ast;
8
+ }
9
+ return node;
10
+ },
11
+ };
12
+ this.Extends = {
13
+ enter: (node, _parent) => {
14
+ const extendsNode = node;
15
+ if (extendsNode.file?.ast) {
16
+ return extendsNode.file.ast;
17
+ }
18
+ return node;
19
+ },
20
+ };
21
+ }
22
+ }
23
+ //# sourceMappingURL=includeFlattener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"includeFlattener.js","sourceRoot":"","sources":["../../../src/core/visitors/includeFlattener.ts"],"names":[],"mappings":"AA6BA,MAAM,OAAO,uBAAuB;IAApC;QAME,YAAO,GAAG;YACR,KAAK,EAAE,CAAC,IAAU,EAAE,OAAoB,EAAoB,EAAE;gBAC5D,MAAM,WAAW,GAAG,IAAe,CAAA;gBAGnC,IAAI,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;oBAC1B,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAA;gBAC7B,CAAC;gBAGD,OAAO,IAAI,CAAA;YACb,CAAC;SACF,CAAA;QAKD,YAAO,GAAG;YACR,KAAK,EAAE,CAAC,IAAU,EAAE,OAAoB,EAAoB,EAAE;gBAC5D,MAAM,WAAW,GAAG,IAAe,CAAA;gBAGnC,IAAI,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;oBAC1B,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAA;gBAC7B,CAAC;gBAGD,OAAO,IAAI,CAAA;YACb,CAAC;SACF,CAAA;IACH,CAAC;CAAA"}
@@ -0,0 +1,6 @@
1
+ export * from './componentDetector.js';
2
+ export * from './componentExpander.js';
3
+ export * from './definitionRemover.js';
4
+ export * from './includeFlattener.js';
5
+ export * from './visitor.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/visitors/index.ts"],"names":[],"mappings":"AAMA,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,WAAW,CAAA"}
@@ -0,0 +1,6 @@
1
+ export * from './componentDetector.js';
2
+ export * from './componentExpander.js';
3
+ export * from './definitionRemover.js';
4
+ export * from './includeFlattener.js';
5
+ export * from './visitor.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/visitors/index.ts"],"names":[],"mappings":"AAMA,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,WAAW,CAAA"}
@@ -0,0 +1,32 @@
1
+ import type { Node } from '@/types/pug';
2
+ export interface VisitorMethods {
3
+ enter?(node: Node, parent: Node | null): Node | undefined;
4
+ exit?(node: Node, parent: Node | null): Node | undefined;
5
+ }
6
+ export interface Visitor {
7
+ [nodeType: string]: unknown;
8
+ Block?: VisitorMethods;
9
+ Tag?: VisitorMethods;
10
+ Text?: VisitorMethods;
11
+ Code?: VisitorMethods;
12
+ Comment?: VisitorMethods;
13
+ Conditional?: VisitorMethods;
14
+ Each?: VisitorMethods;
15
+ Case?: VisitorMethods;
16
+ When?: VisitorMethods;
17
+ While?: VisitorMethods;
18
+ Include?: VisitorMethods;
19
+ Extends?: VisitorMethods;
20
+ NamedBlock?: VisitorMethods;
21
+ BlockStatement?: VisitorMethods;
22
+ Mixin?: VisitorMethods;
23
+ MixinBlock?: VisitorMethods;
24
+ Doctype?: VisitorMethods;
25
+ Filter?: VisitorMethods;
26
+ InterpolatedTag?: VisitorMethods;
27
+ FileReference?: VisitorMethods;
28
+ }
29
+ export declare abstract class BaseVisitor implements Visitor {
30
+ [nodeType: string]: unknown;
31
+ }
32
+ //# sourceMappingURL=visitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../../../src/core/visitors/visitor.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAUvC,MAAM,WAAW,cAAc;IAQ7B,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAA;IASzD,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAA;CACzD;AAyBD,MAAM,WAAW,OAAO;IAKtB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;IAG3B,KAAK,CAAC,EAAE,cAAc,CAAA;IACtB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,OAAO,CAAC,EAAE,cAAc,CAAA;IAGxB,WAAW,CAAC,EAAE,cAAc,CAAA;IAC5B,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,KAAK,CAAC,EAAE,cAAc,CAAA;IAGtB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,UAAU,CAAC,EAAE,cAAc,CAAA;IAC3B,cAAc,CAAC,EAAE,cAAc,CAAA;IAG/B,KAAK,CAAC,EAAE,cAAc,CAAA;IACtB,UAAU,CAAC,EAAE,cAAc,CAAA;IAC3B,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,eAAe,CAAC,EAAE,cAAc,CAAA;IAChC,aAAa,CAAC,EAAE,cAAc,CAAA;CAC/B;AAkBD,8BAAsB,WAAY,YAAW,OAAO;IAClD,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;CAC5B"}
@@ -0,0 +1,3 @@
1
+ export class BaseVisitor {
2
+ }
3
+ //# sourceMappingURL=visitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visitor.js","sourceRoot":"","sources":["../../../src/core/visitors/visitor.ts"],"names":[],"mappings":"AAgHA,MAAM,OAAgB,WAAW;CAEhC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  export declare const version = "0.1.0-alpha.0";
2
- export { ASTTransformer } from './core/astTransformer.js';
3
2
  export { ComponentRegistry } from './core/componentRegistry.js';
4
3
  export type { ExtendedPugTailError } from './core/errorHandler.js';
5
4
  export { ErrorHandler, type ErrorHandlerOptions } from './core/errorHandler.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,OAAO,kBAAkB,CAAA;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,SAAS,GACV,MAAM,aAAa,CAAA;AAEpB,YAAY,EACV,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,MAAM,SAAS,CAAA;AAEhB,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,EACf,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,OAAO,kBAAkB,CAAA;AAItC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,SAAS,GACV,MAAM,aAAa,CAAA;AAEpB,YAAY,EACV,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,MAAM,SAAS,CAAA;AAEhB,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,EACf,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,2BAA2B,CAAA"}
package/dist/index.js CHANGED
@@ -1,5 +1,4 @@
1
1
  export const version = '0.1.0-alpha.0';
2
- export { ASTTransformer } from './core/astTransformer.js';
3
2
  export { ComponentRegistry } from './core/componentRegistry.js';
4
3
  export { ErrorHandler } from './core/errorHandler.js';
5
4
  export { SlotResolver } from './core/slotResolver.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAA;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,EAAE,YAAY,EAA4B,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAGL,SAAS,GACV,MAAM,aAAa,CAAA;AASpB,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,EACf,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAA;AAItC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,EAAE,YAAY,EAA4B,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAGL,SAAS,GACV,MAAM,aAAa,CAAA;AASpB,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,EACf,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,2BAA2B,CAAA"}
package/dist/transform.js CHANGED
@@ -2,9 +2,9 @@ import generateCode from 'pug-code-gen';
2
2
  import lex from 'pug-lexer';
3
3
  import load from 'pug-load';
4
4
  import parse from 'pug-parser';
5
- import { ASTTransformer } from './core/astTransformer.js';
5
+ import { Transformer } from './core/compiler/transformer.js';
6
6
  import { ComponentRegistry } from './core/componentRegistry.js';
7
- import { SlotResolver } from './core/slotResolver.js';
7
+ import { ErrorHandler } from './core/errorHandler.js';
8
8
  import { detectDataFiles, removeDataFilesDeclaration, } from './utils/dataFilesDetector.js';
9
9
  import { dataLoader } from './cli/dataLoader.js';
10
10
  export function transform(source, options = {}) {
@@ -76,8 +76,8 @@ export function transform(source, options = {}) {
76
76
  throw new Error(`Loading $dataFiles failed: ${error instanceof Error ? error.message : String(error)}`);
77
77
  }
78
78
  const registry = new ComponentRegistry(errorHandlerOptions);
79
- const resolver = new SlotResolver(errorHandlerOptions);
80
- const transformer = new ASTTransformer(registry, resolver, {
79
+ const errorHandler = new ErrorHandler(errorHandlerOptions);
80
+ const transformer = new Transformer(registry, errorHandler, {
81
81
  ...errorHandlerOptions,
82
82
  validation: options.validation,
83
83
  debug,
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"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"}
@@ -13,4 +13,8 @@ export declare function getNodeLocation(node: Node): string;
13
13
  export declare function getFirstTextContent(node: Tag): string | undefined;
14
14
  export declare function filterNodes(block: Block, predicate: (node: Node) => boolean): Node[];
15
15
  export declare function findNode(block: Block, predicate: (node: Node) => boolean): Node | undefined;
16
+ export declare function assertDefined<T>(value: T | null | undefined, message?: string): T;
17
+ export declare function hasBlock(tag: Tag): tag is Tag & {
18
+ block: Block;
19
+ };
16
20
  //# sourceMappingURL=astHelpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"astHelpers.d.ts","sourceRoot":"","sources":["../../src/utils/astHelpers.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAepE,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,GAAG,CAEjD;AAQD,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,KAAK,CAErD;AAQD,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,CAEnD;AAgBD,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,CAEnE;AAeD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,GAAG,CAExD;AAeD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAC9B,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,OAAO,GAAG,SAAS,CAI9B;AAcD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAG1E;AAgBD,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI,EAAE,CAE9D;AAcD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,CAM9D;AAeD,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAWlD;AAeD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAUjE;AAeD,wBAAgB,WAAW,CACzB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,GACjC,IAAI,EAAE,CAER;AAeD,wBAAgB,QAAQ,CACtB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,GACjC,IAAI,GAAG,SAAS,CAElB"}
1
+ {"version":3,"file":"astHelpers.d.ts","sourceRoot":"","sources":["../../src/utils/astHelpers.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAepE,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,GAAG,CAEjD;AAQD,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,KAAK,CAErD;AAQD,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,CAEnD;AAgBD,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,CAEnE;AAeD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,GAAG,CAExD;AAeD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAC9B,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,OAAO,GAAG,SAAS,CAI9B;AAcD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAG1E;AAgBD,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI,EAAE,CAE9D;AAcD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,CAM9D;AAeD,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAWlD;AAeD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAUjE;AAeD,wBAAgB,WAAW,CACzB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,GACjC,IAAI,EAAE,CAER;AAeD,wBAAgB,QAAQ,CACtB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,GACjC,IAAI,GAAG,SAAS,CAElB;AAoBD,wBAAgB,aAAa,CAAC,CAAC,EAC7B,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,EAC3B,OAAO,CAAC,EAAE,MAAM,GACf,CAAC,CAKH;AAkBD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAEhE"}
@@ -63,4 +63,13 @@ export function filterNodes(block, predicate) {
63
63
  export function findNode(block, predicate) {
64
64
  return block.nodes.find(predicate);
65
65
  }
66
+ export function assertDefined(value, message) {
67
+ if (value === null || value === undefined) {
68
+ throw new Error(message ?? 'Expected value to be defined');
69
+ }
70
+ return value;
71
+ }
72
+ export function hasBlock(tag) {
73
+ return tag.block !== undefined;
74
+ }
66
75
  //# sourceMappingURL=astHelpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"astHelpers.js","sourceRoot":"","sources":["../../src/utils/astHelpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"astHelpers.js","sourceRoot":"","sources":["../../src/utils/astHelpers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pug-tail",
3
- "version": "0.2.0-alpha.0",
3
+ "version": "0.2.0-alpha.2",
4
4
  "type": "module",
5
5
  "description": "A transpiler that statically expands component DSL with slot syntax on Pug AST",
6
6
  "main": "./dist/index.js",
@@ -32,7 +32,7 @@
32
32
  "pretest:coverage": "rimraf ./coverage",
33
33
  "test:coverage": "vitest run --coverage",
34
34
  "test:dev": "vitest --ui",
35
- "check": "biome check && npm run check:types",
35
+ "check": "biome ci && npm run check:types",
36
36
  "check:format": "biome format",
37
37
  "check:lint": "biome lint",
38
38
  "check:types": "tsc --noEmit",