@chilts/weave 0.4.0 → 0.6.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/ReadMe.md CHANGED
@@ -45,12 +45,13 @@ template simple({ title, content }: SimpleProps)
45
45
  Compiles to a `.ts` file:
46
46
 
47
47
  ```typescript
48
- import { h, doctype } from "@chilts/weave"
48
+ import { h, doctype, Fragment } from "@chilts/weave"
49
49
  import type { SimpleProps } from '../types/views.js'
50
50
 
51
51
  export function simple({ title, content }: SimpleProps) {
52
- return doctype()
53
- + h("html", { lang: "en" },
52
+ return h(Fragment, {},
53
+ doctype(),
54
+ h("html", { lang: "en" },
54
55
  h("head", {},
55
56
  h("title", {}, title)
56
57
  ),
@@ -59,6 +60,7 @@ export function simple({ title, content }: SimpleProps) {
59
60
  h("p", {}, content)
60
61
  )
61
62
  )
63
+ )
62
64
  }
63
65
  ```
64
66
 
@@ -95,6 +97,86 @@ p.intro This is a paragraph with a class
95
97
  a(href="/about" class="nav-link") About
96
98
  ```
97
99
 
100
+ ### Attributes
101
+
102
+ Attributes live inside parentheses and are separated by spaces. **Every attribute must have a value** — there is no valueless shorthand:
103
+
104
+ ```
105
+ a(href="/about" class="nav-link") About
106
+ input(type="email" name="email")
107
+ ```
108
+
109
+ A value can be a quoted string, a template literal, or a bare TypeScript expression:
110
+
111
+ ```
112
+ a(href=post.author.url)= post.author.title
113
+ button(class=`btn-${variant}`)= label
114
+ ```
115
+
116
+ #### Boolean attributes
117
+
118
+ Write the boolean explicitly. The runtime renders `true` as a bare attribute and omits the attribute entirely when the value is `false` or `undefined`:
119
+
120
+ ```
121
+ input(type="checkbox" checked=true) → <input type="checkbox" checked>
122
+ input(type="checkbox" checked=false) → <input type="checkbox">
123
+ input(type="checkbox" checked=isActive) → omitted when isActive is false
124
+ ```
125
+
126
+ Avoid a quoted `checked="false"` — in HTML any attribute that is present counts as true, so that renders as checked.
127
+
128
+ #### Multi-token values must be wrapped
129
+
130
+ Because a space separates one attribute from the next, a bare (unquoted) value has to be a single token. Wrap anything longer in parentheses or backticks:
131
+
132
+ ```
133
+ main(class=(wide ? "px-6" : "mx-auto px-6"))
134
+ main(class=`${wide ? "" : "mx-auto "}px-6`)
135
+ ```
136
+
137
+ An unwrapped multi-token value is a compile error rather than a silent mis-parse. This is also why `main(class=a b)` is rejected: `b` could be part of the value or a separate attribute, so Weave asks you to say which you meant — `class="a b"` or `class=a b="..."`.
138
+
139
+ #### Long attribute lists
140
+
141
+ An attribute list normally lives on one line. To split it over several lines, end
142
+ the line with the opening `(`, put **one attribute per line**, and close with a `)`
143
+ on a line of its own:
144
+
145
+ ```
146
+ button.btn(
147
+ type="button"
148
+ class="rounded px-2"
149
+ aria-pressed=isActive
150
+ ...attrs
151
+ )
152
+ | Toggle theme
153
+ ```
154
+
155
+ The continuation lines have to be indented further than the element, and the
156
+ closing `)` has to start its own line — `aria-pressed=isActive)` is an error. That
157
+ strictness is what makes a forgotten `)` a local error instead of something that
158
+ swallows the rest of the file. Anything after the closing `)` is read as trailing
159
+ content, so `) Toggle theme` works too.
160
+
161
+ Everything else is unchanged: this is a layout choice, not a different grammar.
162
+ Bare values still have to be a single token here, so a ternary still needs its
163
+ wrapping parentheses.
164
+
165
+ A `(` that is *not* at the end of its line must still close on that line:
166
+
167
+ ```
168
+ a(href="/about"
169
+ class="nav-link") ← error: unterminated attribute list
170
+ ```
171
+
172
+ #### Spread
173
+
174
+ `...attrs` forwards a whole set of attributes, most often a mixin's implicit `attrs`:
175
+
176
+ ```
177
+ button.btn(class=`btn-${variant}` ...attrs)= label
178
+ ```
179
+
98
180
  ### Conditionals
99
181
 
100
182
  ```
@@ -253,6 +335,19 @@ Weave is in early design. The `examples/` directory contains paired `.weave` and
253
335
 
254
336
  - **Emacs** — [`editors/emacs/`](editors/emacs/) — major mode with syntax highlighting, indentation, and comment support
255
337
 
338
+ ## Releases
339
+
340
+ See [CHANGELOG.md](CHANGELOG.md) for the full details of each release.
341
+
342
+ | Version | Date | Highlights |
343
+ |---------|------------|------------|
344
+ | 0.6.0 | 2026-10-19 | Multi-line attribute lists; every attribute requires a value (breaking); watch-mode fixes |
345
+ | 0.5.0 | 2026-06-11 | Type-safe multi-level `extends` and `doctype` |
346
+ | 0.4.0 | 2026-04-05 | Templates return strings directly |
347
+ | 0.3.0 | 2026-04-05 | Raw blocks (`tag!`); Emacs mode |
348
+ | 0.2.0 | 2026-04-05 | Bare `\|` emits a space |
349
+ | 0.1.0 | 2026-04-05 | Initial release |
350
+
256
351
  ## License
257
352
 
258
353
  ISC
@@ -20,12 +20,14 @@ export declare class UsageError extends Error {
20
20
  export declare function parseArgs(argv: string[]): CliArgs;
21
21
  export declare function usage(): string;
22
22
  export declare function discoverFiles(inputDir: string): string[];
23
+ export declare function pruneOrphans(inputDir: string, outputDir: string): void;
23
24
  export declare function formatElapsed(ms: number): string;
24
25
  export declare function formatCodeFrame(source: string, line: number, col: number): string;
25
26
  export declare function formatError(filePath: string, err: unknown, source?: string): string;
26
27
  export declare function compileFile(inputFile: string, outputFile: string, sourcemap?: boolean): void;
27
28
  export declare function compileDir(inputDir: string, outputDir: string, sourcemap?: boolean): boolean;
28
- export declare function watchDir(inputDir: string, outputDir: string, sourcemap?: boolean): void;
29
+ export declare function watchDir(inputDir: string, outputDir: string, sourcemap?: boolean): () => void;
30
+ export declare function reconcile(inputDir: string, outputDir: string, sourcemap: boolean, pending: Map<string, ReturnType<typeof setTimeout>>): void;
29
31
  export declare function main(argv: string[]): void;
30
32
  export {};
31
33
  //# sourceMappingURL=index.d.ts.map
package/dist/cli/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { readFileSync, writeFileSync, mkdirSync, readdirSync, watch } from 'node:fs';
1
+ import { readFileSync, writeFileSync, mkdirSync, readdirSync, statSync, existsSync, unlinkSync, rmdirSync, watch, } from 'node:fs';
2
2
  import path from 'node:path';
3
3
  import { compile, compileWithSourceMap } from '../codegen/index.js';
4
4
  import { LexerError } from '../lexer/index.js';
@@ -44,6 +44,9 @@ export function usage() {
44
44
  ' <input> A .weave file or directory containing .weave files',
45
45
  ' <output> Output .ts file or directory for compiled output',
46
46
  '',
47
+ ' In directory mode the output directory belongs to weave: a .ts (and its',
48
+ ' .ts.map) whose .weave source no longer exists is removed.',
49
+ '',
47
50
  'Options:',
48
51
  ' --watch, -w Watch for changes and recompile (directory mode only)',
49
52
  ' --no-sourcemap Disable source map generation',
@@ -70,6 +73,68 @@ function walk(dir, base, results) {
70
73
  }
71
74
  }
72
75
  }
76
+ // Map a file in the output tree back to the .weave that would have produced it.
77
+ // Anything that is not a compiled artefact returns undefined and is left alone.
78
+ function sourceForOutput(relPath) {
79
+ if (relPath.endsWith('.ts.map'))
80
+ return relPath.slice(0, -'.ts.map'.length) + '.weave';
81
+ if (relPath.endsWith('.ts'))
82
+ return relPath.slice(0, -'.ts'.length) + '.weave';
83
+ return undefined;
84
+ }
85
+ function walkAll(dir, base, files, dirs) {
86
+ for (const entry of readdirSync(dir, { withFileTypes: true })) {
87
+ const rel = base ? path.join(base, entry.name) : entry.name;
88
+ if (entry.isDirectory()) {
89
+ dirs.push(rel);
90
+ walkAll(path.join(dir, entry.name), rel, files, dirs);
91
+ }
92
+ else {
93
+ files.push(rel);
94
+ }
95
+ }
96
+ }
97
+ // The output tree belongs to weave: a .ts (or .ts.map) whose .weave source has
98
+ // gone is an orphan and is removed, so a deleted template stops being compiled
99
+ // into the app. Files weave never emits — anything that is not .ts/.ts.map — are
100
+ // left where they are, as are directories that still hold one of them.
101
+ export function pruneOrphans(inputDir, outputDir) {
102
+ const files = [];
103
+ const dirs = [];
104
+ try {
105
+ walkAll(outputDir, '', files, dirs);
106
+ }
107
+ catch {
108
+ // Nothing compiled here yet — no output tree to prune.
109
+ return;
110
+ }
111
+ for (const relPath of files) {
112
+ const sourceRel = sourceForOutput(relPath);
113
+ if (sourceRel === undefined)
114
+ continue;
115
+ if (existsSync(path.join(inputDir, sourceRel)))
116
+ continue;
117
+ const outFile = path.join(outputDir, relPath);
118
+ try {
119
+ unlinkSync(outFile);
120
+ console.log(`${outFile} (removed)`);
121
+ }
122
+ catch {
123
+ // Already gone, or not ours to delete.
124
+ }
125
+ }
126
+ // Deepest first, so a directory emptied by the pass above goes with its
127
+ // parent. rmdir refuses a non-empty directory, which is exactly the guard
128
+ // we want — anything still holding a file survives.
129
+ for (const rel of dirs.sort((a, b) => b.length - a.length)) {
130
+ try {
131
+ rmdirSync(path.join(outputDir, rel));
132
+ }
133
+ catch {
134
+ // Not empty, or already removed.
135
+ }
136
+ }
137
+ }
73
138
  export function formatElapsed(ms) {
74
139
  if (ms < 1)
75
140
  return `${Math.round(ms * 1000)}µs`;
@@ -165,24 +230,182 @@ export function compileDir(inputDir, outputDir, sourcemap = true) {
165
230
  hasErrors = true;
166
231
  }
167
232
  }
233
+ pruneOrphans(inputDir, outputDir);
168
234
  return hasErrors;
169
235
  }
236
+ // How often the reconciliation pass runs (see reconcile()).
237
+ const RECONCILE_INTERVAL_MS = 2000;
238
+ // Watch the input tree and recompile on change. Returns a function that stops
239
+ // watching.
240
+ //
241
+ // Each directory gets its own non-recursive fs.watch rather than one
242
+ // `{ recursive: true }` watch on the root. On Linux, Node implements recursive
243
+ // watching in JS by watching every *file*, and inotify binds a file watch to
244
+ // the inode — so once an editor saves atomically (write a temp file, rename it
245
+ // over the original) the watch is left on the dead inode and every later save
246
+ // of that file goes unseen. A directory watch reports the rename itself, so it
247
+ // survives atomic saves. New subdirectories are picked up as they appear.
170
248
  export function watchDir(inputDir, outputDir, sourcemap = true) {
171
249
  compileDir(inputDir, outputDir, sourcemap);
172
250
  console.log('\nwatching for changes...');
173
251
  const pending = new Map();
174
- watch(inputDir, { recursive: true }, (_event, filename) => {
175
- if (!filename || !filename.endsWith('.weave'))
176
- return;
252
+ // Keyed by directory relative to inputDir; '' is the root.
253
+ const watchers = new Map();
254
+ const schedule = (relPath) => {
177
255
  // Debounce: fs.watch fires multiple events per save
178
- const existing = pending.get(filename);
256
+ const existing = pending.get(relPath);
179
257
  if (existing)
180
258
  clearTimeout(existing);
181
- pending.set(filename, setTimeout(() => {
182
- pending.delete(filename);
183
- compileWatchedFile(inputDir, outputDir, filename, sourcemap);
259
+ pending.set(relPath, setTimeout(() => {
260
+ pending.delete(relPath);
261
+ compileWatchedFile(inputDir, outputDir, relPath, sourcemap);
184
262
  }, 50));
185
- });
263
+ };
264
+ const isDir = (relPath) => {
265
+ try {
266
+ return statSync(path.join(inputDir, relPath)).isDirectory();
267
+ }
268
+ catch {
269
+ return false;
270
+ }
271
+ };
272
+ // Close the watcher for relDir and everything beneath it.
273
+ const unwatchTree = (relDir) => {
274
+ for (const [dir, watcher] of watchers) {
275
+ if (relDir === '' || dir === relDir || dir.startsWith(relDir + path.sep)) {
276
+ watcher.close();
277
+ watchers.delete(dir);
278
+ }
279
+ }
280
+ };
281
+ const watchTree = (relDir) => {
282
+ if (watchers.has(relDir))
283
+ return;
284
+ const absDir = path.join(inputDir, relDir);
285
+ let watcher;
286
+ try {
287
+ watcher = watch(absDir, (_event, filename) => onEvent(relDir, filename));
288
+ }
289
+ catch {
290
+ // Gone before we got to it.
291
+ return;
292
+ }
293
+ watcher.on('error', () => unwatchTree(relDir));
294
+ watchers.set(relDir, watcher);
295
+ let entries;
296
+ try {
297
+ entries = readdirSync(absDir, { withFileTypes: true });
298
+ }
299
+ catch {
300
+ return;
301
+ }
302
+ for (const entry of entries) {
303
+ if (entry.isDirectory())
304
+ watchTree(path.join(relDir, entry.name));
305
+ }
306
+ };
307
+ const onEvent = (relDir, filename) => {
308
+ if (!filename)
309
+ return;
310
+ const relPath = path.join(relDir, filename);
311
+ if (filename.endsWith('.weave')) {
312
+ schedule(relPath);
313
+ }
314
+ else if (watchers.has(relPath)) {
315
+ // A watched directory was removed or renamed away.
316
+ if (!isDir(relPath)) {
317
+ unwatchTree(relPath);
318
+ pruneOrphans(inputDir, outputDir);
319
+ }
320
+ }
321
+ else if (isDir(relPath)) {
322
+ // A new directory. Anything written into it before its watcher was
323
+ // attached produced no event, so compile what is already there.
324
+ watchTree(relPath);
325
+ for (const file of discoverFiles(path.join(inputDir, relPath))) {
326
+ schedule(path.join(relPath, file));
327
+ }
328
+ }
329
+ };
330
+ // Bring the watcher set in line with the directories on disk, in case a
331
+ // mkdir or rmdir event was missed.
332
+ const syncWatchers = () => {
333
+ for (const dir of watchers.keys()) {
334
+ if (!isDir(dir))
335
+ unwatchTree(dir);
336
+ }
337
+ watchTree('');
338
+ };
339
+ watchTree('');
340
+ // Safety net: fs.watch is not guaranteed to deliver every event. Under load
341
+ // the kernel's inotify queue can overflow (IN_Q_OVERFLOW) and drop events,
342
+ // and atomic-save renames can be coalesced away — leaving a file silently
343
+ // stale forever. Periodically reconcile by comparing source and output
344
+ // mtimes, recompiling anything the watcher missed.
345
+ const interval = setInterval(() => {
346
+ syncWatchers();
347
+ reconcile(inputDir, outputDir, sourcemap, pending);
348
+ }, RECONCILE_INTERVAL_MS);
349
+ return () => {
350
+ clearInterval(interval);
351
+ for (const timer of pending.values())
352
+ clearTimeout(timer);
353
+ pending.clear();
354
+ unwatchTree('');
355
+ };
356
+ }
357
+ // Walk the input dir and recompile any .weave whose .ts output is missing or
358
+ // older than the source. Files with a pending debounce timer are skipped so we
359
+ // never race an edit the watcher is already handling — this only catches
360
+ // changes whose fs.watch event was dropped.
361
+ export function reconcile(inputDir, outputDir, sourcemap, pending) {
362
+ let files;
363
+ try {
364
+ files = discoverFiles(inputDir);
365
+ }
366
+ catch {
367
+ // Input dir may be temporarily unavailable — skip this cycle.
368
+ return;
369
+ }
370
+ for (const relPath of files) {
371
+ if (pending.has(relPath))
372
+ continue;
373
+ const inFile = path.join(inputDir, relPath);
374
+ const outFile = path.join(outputDir, relPath.replace(/\.weave$/, '.ts'));
375
+ let sourceMtime;
376
+ try {
377
+ sourceMtime = statSync(inFile).mtimeMs;
378
+ }
379
+ catch {
380
+ continue;
381
+ }
382
+ let outMtime;
383
+ try {
384
+ outMtime = statSync(outFile).mtimeMs;
385
+ }
386
+ catch {
387
+ outMtime = undefined;
388
+ }
389
+ // Up to date — the watcher already handled this file.
390
+ if (outMtime !== undefined && outMtime >= sourceMtime)
391
+ continue;
392
+ let source;
393
+ try {
394
+ source = readFileSync(inFile, 'utf-8');
395
+ }
396
+ catch {
397
+ continue;
398
+ }
399
+ try {
400
+ const elapsed = writeCompiled(inFile, outFile, source, sourcemap);
401
+ console.log(`${outFile} (reconciled, ${formatElapsed(elapsed)})`);
402
+ }
403
+ catch (err) {
404
+ console.error(formatError(inFile, err, source));
405
+ }
406
+ }
407
+ // A delete event can be dropped just as an edit can, so sweep here too.
408
+ pruneOrphans(inputDir, outputDir);
186
409
  }
187
410
  function compileWatchedFile(inputDir, outputDir, relPath, sourcemap) {
188
411
  const inFile = path.join(inputDir, relPath);
@@ -192,7 +415,8 @@ function compileWatchedFile(inputDir, outputDir, relPath, sourcemap) {
192
415
  source = readFileSync(inFile, 'utf-8');
193
416
  }
194
417
  catch {
195
- // File may have been deleted — ignore
418
+ // The template was deleted (or renamed away) — take its output with it.
419
+ pruneOrphans(inputDir, outputDir);
196
420
  return;
197
421
  }
198
422
  try {
@@ -35,6 +35,13 @@ function templateHasBlocks(node) {
35
35
  }
36
36
  if (n.type === 'Iteration')
37
37
  return n.body.some(walk);
38
+ if (n.type === 'Extends') {
39
+ // The entries in `blocks` are fills (the slots this template fills in
40
+ // its parent), not slots of its own. A mid-layer template defines its
41
+ // own slots by nesting `block` nodes inside that fill content — those
42
+ // are what require a `blocks` parameter on this function.
43
+ return n.blocks.some(fill => fill.children.some(walk));
44
+ }
38
45
  return false;
39
46
  }
40
47
  return node.body.some(walk);
@@ -252,11 +259,10 @@ class CodeGenerator {
252
259
  if (attr.spread) {
253
260
  parts.push(`...${attr.name}`);
254
261
  }
255
- else if (attr.value === null) {
256
- const key = this.attrKey(attr.name);
257
- parts.push(`${key}: true`);
258
- }
259
262
  else {
263
+ // Every non-spread attribute carries a value (the parser rejects
264
+ // valueless attributes); booleans arrive as the verbatim
265
+ // expression `true` / `false`.
260
266
  const key = this.attrKey(attr.name);
261
267
  parts.push(`${key}: ${attr.value}`);
262
268
  }
@@ -317,12 +323,16 @@ class CodeGenerator {
317
323
  }
318
324
  genTemplate(node, indent) {
319
325
  const i1 = this.ind(indent + 1);
320
- const i2 = this.ind(indent + 2);
321
326
  // Check if body contains an ExtendsNode (page template)
322
327
  const extendsNode = node.body.find((c) => c.type === 'Extends');
323
328
  if (extendsNode) {
324
329
  const extendsChunk = this.genExtends(extendsNode, indent + 1);
325
- const code = `export function ${node.name}(${node.params}) {\n${i1}return ${extendsChunk.code}\n}`;
330
+ // A mid-layer template both fills its parent's slots and exposes its
331
+ // own (nested `block` nodes), so it needs a `blocks` parameter too.
332
+ const params = templateHasBlocks(node)
333
+ ? `${node.params}, blocks: ${capitalize(node.name)}Blocks = {}`
334
+ : node.params;
335
+ const code = `export function ${node.name}(${params}) {\n${i1}return ${extendsChunk.code}\n}`;
326
336
  const mappings = [
327
337
  mapping(node.loc),
328
338
  ...offsetMappings(extendsChunk.mappings, 1),
@@ -343,21 +353,11 @@ class CodeGenerator {
343
353
  // Separate comments from code chunks
344
354
  const commentChunks = bodyChunks.filter(c => c.code.startsWith('//'));
345
355
  const codeChunks = bodyChunks.filter(c => !c.code.startsWith('//'));
346
- // Check if first child is a doctype — if so, concatenate with `+`
347
- const hasDoctype = node.body[0]?.type === 'Doctype';
356
+ // A single non-comment child renders inline; multiple children (e.g. a
357
+ // leading `doctype` followed by `html`) are wrapped in a Fragment so the
358
+ // result is a single SafeHtml rather than an untypeable SafeHtml + SafeHtml.
348
359
  let bodyChunk;
349
- if (hasDoctype && codeChunks.length === 2) {
350
- // doctype() + h("html", ...)
351
- const doctypeChunk = codeChunks[0];
352
- const htmlChunk = codeChunks[1];
353
- const code = `${doctypeChunk.code}\n${i2}+ ${htmlChunk.code}`;
354
- const mappings = [
355
- ...doctypeChunk.mappings,
356
- ...offsetMappings(htmlChunk.mappings, 1),
357
- ];
358
- bodyChunk = { code, mappings };
359
- }
360
- else if (codeChunks.length === 1) {
360
+ if (codeChunks.length === 1) {
361
361
  bodyChunk = codeChunks[0];
362
362
  }
363
363
  else {
@@ -408,11 +408,10 @@ class CodeGenerator {
408
408
  if (attr.spread) {
409
409
  parts.push(`...${attr.name}`);
410
410
  }
411
- else if (attr.value === null) {
412
- const key = this.attrKey(attr.name);
413
- parts.push(`${key}: true`);
414
- }
415
411
  else {
412
+ // Every non-spread attribute carries a value (the parser rejects
413
+ // valueless attributes); booleans arrive as the verbatim
414
+ // expression `true` / `false`.
416
415
  const key = this.attrKey(attr.name);
417
416
  parts.push(`${key}: ${attr.value}`);
418
417
  }
@@ -521,9 +520,10 @@ function scanUsedHelpers(node) {
521
520
  walk(c);
522
521
  break;
523
522
  case 'Template': {
524
- // Template body needs Fragment if multiple non-doctype children
525
- const nonDoctype = n.body.filter(c => c.type !== 'Doctype' && c.type !== 'Comment' && c.type !== 'PassthroughComment');
526
- if (nonDoctype.length > 1) {
523
+ // Template body wraps in a Fragment when it has more than one
524
+ // non-comment child — including a leading `doctype` before `html`.
525
+ const effective = n.body.filter(c => c.type !== 'Comment' && c.type !== 'PassthroughComment');
526
+ if (effective.length > 1) {
527
527
  helpers.add('h');
528
528
  helpers.add('Fragment');
529
529
  }
@@ -532,6 +532,10 @@ function scanUsedHelpers(node) {
532
532
  break;
533
533
  }
534
534
  case 'MixinDefinition':
535
+ if (countEffective(n.body) > 1) {
536
+ helpers.add('h');
537
+ helpers.add('Fragment');
538
+ }
535
539
  for (const c of n.body)
536
540
  walk(c);
537
541
  break;
@@ -540,6 +544,10 @@ function scanUsedHelpers(node) {
540
544
  walk(c);
541
545
  break;
542
546
  case 'Block':
547
+ if (countEffective(n.children) > 1) {
548
+ helpers.add('h');
549
+ helpers.add('Fragment');
550
+ }
543
551
  for (const c of n.children)
544
552
  walk(c);
545
553
  break;
@@ -293,6 +293,9 @@ class Lexer {
293
293
  // --- Element scanner ---
294
294
  scanElement() {
295
295
  const ch = this.currentLine[this.pos];
296
+ // Captured up front: a multi-line attribute list moves the cursor onto
297
+ // later lines and updates this.indentWidth as it goes.
298
+ const elementIndent = this.indentWidth;
296
299
  // Tag name or implicit div
297
300
  if (ch === '.' || ch === '#') {
298
301
  this.emit('TAG', 'div');
@@ -307,13 +310,13 @@ class Lexer {
307
310
  if (this.pos < this.currentLine.length && this.currentLine[this.pos] === '(') {
308
311
  this.emit('ATTR_START', '(');
309
312
  this.pos++; // skip '('
310
- this.scanAttributes();
313
+ this.scanAttributes(elementIndent);
311
314
  this.emit('ATTR_END', ')');
312
315
  }
313
316
  // Raw block: tag!
314
317
  if (this.pos < this.currentLine.length && this.currentLine[this.pos] === '!') {
315
318
  this.pos++; // skip !
316
- this.rawBlockIndent = this.indentWidth;
319
+ this.rawBlockIndent = elementIndent;
317
320
  this.rawBlockBaseIndent = null;
318
321
  return;
319
322
  }
@@ -363,7 +366,23 @@ class Lexer {
363
366
  }
364
367
  }
365
368
  }
366
- scanAttributes() {
369
+ // Scans an attribute list, with the cursor just past the opening '('.
370
+ // `ownerIndent` is the indent of the element or mixin call that owns the
371
+ // list, which bounds the multi-line form.
372
+ //
373
+ // Two shapes are accepted:
374
+ // - inline: the whole list lives on one line and ends with ')'
375
+ // - multi-line: the '(' is the last non-space character on its line,
376
+ // one attribute per line follows, and a ')' starting its
377
+ // own line closes the list
378
+ scanAttributes(ownerIndent) {
379
+ const openLine = this.lineIndex + 1;
380
+ const openCol = this.indentWidth + this.pos; // the '(' we just stepped over
381
+ // A '(' with nothing after it opens a multi-line attribute list.
382
+ if (this.currentLine.slice(this.pos).trim() === '') {
383
+ this.scanAttributeBlock(ownerIndent, openLine, openCol);
384
+ return;
385
+ }
367
386
  while (this.pos < this.currentLine.length) {
368
387
  this.skipSpaces();
369
388
  if (this.pos >= this.currentLine.length)
@@ -372,25 +391,103 @@ class Lexer {
372
391
  this.pos++; // skip closing paren
373
392
  return;
374
393
  }
375
- // Spread: ...identifier
376
- if (this.currentLine[this.pos] === '.' &&
377
- this.pos + 2 < this.currentLine.length &&
378
- this.currentLine[this.pos + 1] === '.' &&
379
- this.currentLine[this.pos + 2] === '.') {
380
- this.pos += 3; // skip ...
381
- const name = this.scanIdentifier();
382
- this.emit('SPREAD', name);
394
+ this.scanAttribute();
395
+ }
396
+ // Running off the end of the line without a ')' used to be accepted
397
+ // silently: the following lines were then lexed as child elements, so
398
+ // attribute names became tags and their values became visible text.
399
+ throw new LexerError("Unterminated attribute list; expected ')' before the end of the line. " +
400
+ 'To split attributes over several lines, end the line with the ' +
401
+ "opening '(' and close with a ')' on its own line", openLine, openCol);
402
+ }
403
+ // Consumes the lines of a multi-line attribute list, up to and including
404
+ // the line whose first non-space character is the closing ')'. Those lines
405
+ // never reach the main loop, so they produce no INDENT/DEDENT/NEWLINE
406
+ // tokens and the resulting token stream is identical to the inline form.
407
+ scanAttributeBlock(ownerIndent, openLine, openCol) {
408
+ while (this.lineIndex + 1 < this.lines.length) {
409
+ this.lineIndex++;
410
+ const rawLine = this.lines[this.lineIndex];
411
+ // Blank lines may separate groups of attributes
412
+ if (rawLine.trim().length === 0)
383
413
  continue;
414
+ this.indentWidth = this.measureIndent(rawLine);
415
+ this.currentLine = rawLine.slice(this.indentWidth);
416
+ this.pos = 0;
417
+ // A ')' starting the line closes the list; the rest of that line is
418
+ // trailing content for the owning element, exactly as if the whole
419
+ // list had been written inline.
420
+ if (this.currentLine[0] === ')') {
421
+ this.pos = 1;
422
+ return;
384
423
  }
385
- // Attribute name
386
- const name = this.scanAttrName();
387
- this.emit('ATTR_NAME', name);
388
- // Check for = value
389
- if (this.pos < this.currentLine.length && this.currentLine[this.pos] === '=') {
390
- this.pos++; // skip =
391
- const value = this.scanAttrValue();
392
- this.emit('ATTR_VALUE', value);
424
+ if (this.indentWidth <= ownerIndent) {
425
+ throw new LexerError(`Expected ')' to close the attribute list opened at line ${openLine}; ` +
426
+ 'attributes in a multi-line list must be indented under their element', this.lineIndex + 1, this.indentWidth + 1);
393
427
  }
428
+ this.skipSpaces();
429
+ this.scanAttribute();
430
+ // One attribute per line. This is stricter than the inline form on
431
+ // purpose: it keeps the door open to letting multi-token bare values
432
+ // (ternaries, concatenation) go unwrapped here later, which only
433
+ // works while the newline is the separator.
434
+ this.skipSpaces();
435
+ if (this.pos < this.currentLine.length) {
436
+ const rest = this.currentLine.slice(this.pos);
437
+ const ch = rest[0];
438
+ let message;
439
+ if (ch === ')') {
440
+ message =
441
+ "')' must start its own line to close the attribute list " +
442
+ `opened at line ${openLine}`;
443
+ }
444
+ else if (/^[a-zA-Z_]/.test(rest) || rest.startsWith('...')) {
445
+ message =
446
+ 'Only one attribute is allowed per line in a multi-line ' +
447
+ `attribute list (opened at line ${openLine})`;
448
+ }
449
+ else {
450
+ // Leftovers that can't start another attribute are almost
451
+ // always the tail of a multi-token bare value.
452
+ message =
453
+ `Unexpected '${ch}' in attribute list; ` +
454
+ 'wrap complex attribute values in (parentheses) or `backticks`';
455
+ }
456
+ throw new LexerError(message, this.lineIndex + 1, this.indentWidth + this.pos + 1);
457
+ }
458
+ }
459
+ throw new LexerError("Unterminated attribute list; expected a ')' on its own line", openLine, openCol);
460
+ }
461
+ // Scans a single `...spread`, `name` or `name=value`, with the cursor on
462
+ // its first character.
463
+ scanAttribute() {
464
+ // Spread: ...identifier
465
+ if (this.currentLine[this.pos] === '.' &&
466
+ this.pos + 2 < this.currentLine.length &&
467
+ this.currentLine[this.pos + 1] === '.' &&
468
+ this.currentLine[this.pos + 2] === '.') {
469
+ this.pos += 3; // skip ...
470
+ const name = this.scanIdentifier();
471
+ this.emit('SPREAD', name);
472
+ return;
473
+ }
474
+ // Attribute name
475
+ const name = this.scanAttrName();
476
+ if (name === '') {
477
+ // scanAttrName made no progress: the cursor is parked on a
478
+ // character that can't start an attribute name (e.g. the `?`,
479
+ // `:`, `+` or quote of a multi-token bare attribute value).
480
+ // Without this guard the caller's loop spins forever emitting
481
+ // empty ATTR_NAME tokens until the process aborts.
482
+ throw new LexerError(`Unexpected '${this.currentLine[this.pos]}' in attribute list; ` +
483
+ `wrap complex attribute values in (parentheses) or \`backticks\``, this.lineIndex + 1, this.indentWidth + this.pos + 1);
484
+ }
485
+ this.emit('ATTR_NAME', name);
486
+ // Check for = value
487
+ if (this.pos < this.currentLine.length && this.currentLine[this.pos] === '=') {
488
+ this.pos++; // skip =
489
+ const value = this.scanAttrValue();
490
+ this.emit('ATTR_VALUE', value);
394
491
  }
395
492
  }
396
493
  scanAttrName() {
@@ -471,6 +568,7 @@ class Lexer {
471
568
  }
472
569
  // --- Mixin call scanner ---
473
570
  scanMixinCall() {
571
+ const elementIndent = this.indentWidth;
474
572
  this.pos = 1; // skip +
475
573
  const name = this.scanIdentifier();
476
574
  this.emit('MIXIN_CALL', name);
@@ -483,7 +581,7 @@ class Lexer {
483
581
  if (this.pos < this.currentLine.length && this.currentLine[this.pos] === '(') {
484
582
  this.emit('ATTR_START', '(');
485
583
  this.pos++; // skip '('
486
- this.scanAttributes();
584
+ this.scanAttributes(elementIndent);
487
585
  this.emit('ATTR_END', ')');
488
586
  }
489
587
  }
@@ -12,6 +12,16 @@ const VOID_ELEMENTS = new Set([
12
12
  'area', 'base', 'br', 'col', 'embed', 'hr', 'img',
13
13
  'input', 'link', 'meta', 'source', 'track', 'wbr',
14
14
  ]);
15
+ /** Strip one layer of matching surrounding quotes/backticks, if present. */
16
+ function stripQuotes(s) {
17
+ if (s.length >= 2) {
18
+ const q = s[0];
19
+ if ((q === '"' || q === "'" || q === '`') && s[s.length - 1] === q) {
20
+ return s.slice(1, -1);
21
+ }
22
+ }
23
+ return s;
24
+ }
15
25
  class Parser {
16
26
  tokens;
17
27
  pos = 0;
@@ -365,10 +375,24 @@ class Parser {
365
375
  }
366
376
  else if (this.peekType() === 'ATTR_NAME') {
367
377
  const nameTok = this.advance();
368
- let value = null;
369
- if (this.peekType() === 'ATTR_VALUE') {
370
- value = this.advance().value;
378
+ if (this.peekType() !== 'ATTR_VALUE') {
379
+ // Every attribute must be name=value. A valueless attribute
380
+ // is ambiguous: in `main(class=a b)` the `b` could be part
381
+ // of the value ("a b") or a separate attribute. Rather than
382
+ // guess — the two readings are the same token shape as a
383
+ // real boolean attribute — reject it and surface both.
384
+ const name = nameTok.value;
385
+ const prev = attrs[attrs.length - 1];
386
+ let hint = ` Every attribute needs a value: write ${name}="..." for a string,` +
387
+ ` or ${name}=true / ${name}=false for a boolean.`;
388
+ if (prev && !prev.spread && prev.value !== null) {
389
+ const merged = `${prev.name}="${stripQuotes(prev.value)} ${name}"`;
390
+ const separate = `${prev.name}=${prev.value} ${name}="..."`;
391
+ hint = ` Did you mean ${merged} (one value), or ${separate} (two attributes)?`;
392
+ }
393
+ throw new ParserError(`Attribute '${name}' has no value.` + hint, nameTok.line, nameTok.col);
371
394
  }
395
+ const value = this.advance().value;
372
396
  attrs.push({ name: nameTok.value, value, spread: false });
373
397
  }
374
398
  else {
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@chilts/weave",
3
3
  "title": "Weave",
4
4
  "description": "A Pug-inspired templating engine that compiles to TypeScript.",
5
- "version": "0.4.0",
5
+ "version": "0.6.0",
6
6
  "type": "module",
7
7
  "main": "./dist/index.js",
8
8
  "bin": {
@@ -17,7 +17,8 @@
17
17
  },
18
18
  "files": [
19
19
  "dist/",
20
- "bin/"
20
+ "bin/",
21
+ "!dist/**/*.map"
21
22
  ],
22
23
  "directories": {
23
24
  "doc": "docs",
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AASA,UAAU,WAAW;IACjB,IAAI,EAAE,SAAS,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;CACrB;AAED,UAAU,SAAS;IACf,IAAI,EAAE,OAAO,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;CACrB;AAED,UAAU,QAAQ;IACd,IAAI,EAAE,MAAM,CAAA;CACf;AAED,KAAK,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAA;AAEjD,qBAAa,UAAW,SAAQ,KAAK;gBACrB,OAAO,EAAE,MAAM;CAI9B;AAMD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAsBjD;AAED,wBAAgB,KAAK,IAAI,MAAM,CAkB9B;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAIxD;AAaD,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAIhD;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAOjF;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAuBnF;AA6BD,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,GAAE,OAAc,GAAG,IAAI,CAIlG;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAE,OAAc,GAAG,OAAO,CAgClG;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAE,OAAc,GAAG,IAAI,CAiB7F;AAsBD,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CA4CzC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/codegen/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACR,OAAO,EAIP,YAAY,EAef,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAa,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAGnE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAEnE,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,OAAO,EAAE,CAAA;CACtB;AAED,qBAAa,YAAa,SAAQ,KAAK;IACnC,SAAgB,IAAI,EAAE,MAAM,CAAA;IAC5B,SAAgB,GAAG,EAAE,MAAM,CAAA;gBAEf,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAMzD;AAqlBD,+DAA+D;AAC/D,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAKlD;AAED,sDAAsD;AACtD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,YAAY,GAAG,cAAc,CAwE1D;AAED,wDAAwD;AACxD,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAI9C;AAED,gDAAgD;AAChD,wBAAgB,oBAAoB,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,CAMxC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/codegen/index.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sourcemap.d.ts","sourceRoot":"","sources":["../../src/codegen/sourcemap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAIxD,mFAAmF;AACnF,MAAM,WAAW,OAAO;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,kDAAkD;AAClD,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,OAAO,EAAE,CAAA;CACtB;AAED,6BAA6B;AAC7B,MAAM,WAAW,SAAS;IACtB,OAAO,EAAE,CAAC,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACnB;AAMD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAU/C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAqC1D;AAID,+FAA+F;AAC/F,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,cAAc,GAAG,SAAS,CAWnE;AAED,uDAAuD;AACvD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,EAAE,CAGjF;AAED,kCAAkC;AAClC,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM9C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,CAiB5E;AAID,6CAA6C;AAC7C,wBAAgB,cAAc,CAC1B,QAAQ,EAAE,OAAO,EAAE,EACnB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACnB,SAAS,CASX"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sourcemap.js","sourceRoot":"","sources":["../../src/codegen/sourcemap.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAChF,YAAY,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAG/C,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACxG,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACvF,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACtD,YAAY,EACR,OAAO,EACP,cAAc,EACd,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,SAAS,EACT,WAAW,EACX,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,QAAQ,GACX,MAAM,mBAAmB,CAAA"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAGhF,WAAW;AACX,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAExG,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lexer/index.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,SAAS,GAEf,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,KAAK,GAEL,QAAQ,GACR,UAAU,GACV,OAAO,GACP,SAAS,GACT,OAAO,GACP,SAAS,GACT,SAAS,GAET,IAAI,GACJ,SAAS,GACT,MAAM,GACN,KAAK,GAEL,KAAK,GACL,OAAO,GACP,IAAI,GACJ,YAAY,GACZ,UAAU,GACV,WAAW,GACX,YAAY,GACZ,QAAQ,GAER,eAAe,GACf,MAAM,GACN,eAAe,GACf,MAAM,GACN,UAAU,GAEV,YAAY,GAEZ,SAAS,GACT,qBAAqB,GACrB,QAAQ,GACR,YAAY,GACZ,MAAM,CAAA;AAEZ,MAAM,WAAW,KAAK;IAClB,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACd;AAED,qBAAa,UAAW,SAAQ,KAAK;IACjC,SAAgB,IAAI,EAAE,MAAM,CAAA;IAC5B,SAAgB,GAAG,EAAE,MAAM,CAAA;gBAEf,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAMzD;AAixBD,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,CAE3C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lexer/index.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAa,MAAM,mBAAmB,CAAA;AAEzD,YAAY,EACR,OAAO,EACP,cAAc,EACd,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,SAAS,EACT,WAAW,EACX,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,sBAAsB,EACtB,QAAQ,EACR,YAAY,GACf,MAAM,YAAY,CAAA;AAEnB,OAAO,KAAK,EAMR,YAAY,EAkBf,MAAM,YAAY,CAAA;AAEnB,qBAAa,WAAY,SAAQ,KAAK;IAClC,SAAgB,IAAI,EAAE,MAAM,CAAA;IAC5B,SAAgB,GAAG,EAAE,MAAM,CAAA;gBAEf,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAMzD;AAofD,wBAAgB,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAEnD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/parser/types.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/parser/types.ts"],"names":[],"mappings":"AAAA,iDAAiD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAA;AAEzE,eAAO,MAAM,QAAQ,eAA+B,CAAA;AAEpD,QAAA,MAAM,GAAG,eAA0B,CAAA;AAEnC,qBAAa,QAAQ;IACjB,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAG,IAAI,CAAS;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;gBAET,IAAI,EAAE,MAAM;IAIxB,QAAQ,IAAI,MAAM;CAGrB;AAWD,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO1C;AAED,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAE1C;AAED,wBAAgB,OAAO,IAAI,QAAQ,CAElC;AAkCD,wBAAgB,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,QAAQ,CAatF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"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"}