coffeehaml 0.5.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
@@ -79,6 +79,9 @@ expressions like `{onClick: handler}` or `{disabled: !connected}`).
79
79
  ### CLI
80
80
 
81
81
  ```bash
82
+ # Scaffold a new project (interactive wizard)
83
+ npx coffeehaml init
84
+
82
85
  # One-shot compile
83
86
  npx coffeehaml compile app.chaml -o app.js --wrap component
84
87
 
@@ -88,6 +91,7 @@ npx coffeehaml watch src/ --wrap observer
88
91
 
89
92
  | Flag | Description |
90
93
  |------|-------------|
94
+ | `init` | Interactive project scaffold (Vite, dependency, samples) |
91
95
  | `-o`, `--output` | Write output to file |
92
96
  | `--source-map` | Emit inline source map |
93
97
  | `--wrap <mode>` | Wrap mode: `component`, `observer`, or comma-separated HOC list |
@@ -156,9 +160,11 @@ Full grammar: [`docs/grammar.md`](docs/grammar.md)
156
160
 
157
161
  ## Status
158
162
 
159
- **v0.5.0 — production beta.** The compiler pipeline (Lexer → Parser → Emitter)
160
- is complete. Source maps, component wrapping, spread attributes, statement/expression
161
- continuation, and source-located errors are all functional.
163
+ **v0.6.0 — production beta.** The compiler pipeline (Lexer → Parser → Emitter)
164
+ is complete. Source maps, component wrapping, spread attributes, arrow
165
+ continuation (`= items.map (item) ->`), statement/expression continuation,
166
+ source-located errors, `coffeehaml init` scaffold, Fast Refresh annotations,
167
+ and multi-error parser recovery are all functional.
162
168
 
163
169
  | Feature | Status |
164
170
  |---------|--------|
@@ -178,10 +184,13 @@ continuation, and source-located errors are all functional.
178
184
  | Vite plugin with HMR | ✅ |
179
185
  | CLI `--wrap` flag | ✅ |
180
186
  | CLI `watch` mode | ✅ |
187
+ | CLI `init` scaffold | ✅ |
188
+ | `= expr ->` arrow continuation | ✅ |
181
189
  | Source-located error messages | ✅ |
190
+ | Multi-error parser recovery | ✅ |
182
191
  | Source maps | ✅ |
183
192
  | CoffeeScript expression compilation | ✅ (requires peer dep) |
184
- | React Fast Refresh | 📅 Planned |
193
+ | React Fast Refresh annotations | ✅ |
185
194
 
186
195
  ---
187
196
 
package/dist/cli.js CHANGED
@@ -3,6 +3,7 @@ import { compileFile } from './index.js';
3
3
  import { writeFileSync, readFileSync, existsSync, watch, statSync, readdirSync } from 'fs';
4
4
  import { fileURLToPath } from 'url';
5
5
  import { dirname, join, resolve, relative } from 'path';
6
+ import { createInterface } from 'readline';
6
7
  function getVersion() {
7
8
  try {
8
9
  const __dirname = dirname(fileURLToPath(import.meta.url));
@@ -19,6 +20,7 @@ if (args.length === 0 || args.includes('--help') || args.includes('-h')) {
19
20
  Haml structure. CoffeeScript semantics. React runtime.
20
21
 
21
22
  Usage:
23
+ coffeehaml init scaffold a new project
22
24
  coffeehaml compile <input> [-o <output>] [--source-map] [--wrap <mode>]
23
25
  coffeehaml watch <input> [-o <output>] [--source-map] [--wrap <mode>]
24
26
 
@@ -29,9 +31,10 @@ Options:
29
31
  -h, --help Show this help
30
32
 
31
33
  Examples:
34
+ coffeehaml init # interactive project scaffold
32
35
  coffeehaml compile app.chaml -o app.js --wrap component
33
- coffeehaml compile app.chaml # prints to stdout
34
- coffeehaml watch src/ --wrap observer # watch and recompile on change
36
+ coffeehaml compile app.chaml # prints to stdout
37
+ coffeehaml watch src/ --wrap observer # watch and recompile on change
35
38
  `);
36
39
  process.exit(0);
37
40
  }
@@ -95,6 +98,176 @@ function doCompile(input, opts) {
95
98
  }
96
99
  return true;
97
100
  }
101
+ // ─── Init ──────────────────────────────────────────────────
102
+ function ask(q) {
103
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
104
+ return new Promise(resolve => {
105
+ rl.question(q, (answer) => {
106
+ rl.close();
107
+ resolve(answer.trim());
108
+ });
109
+ });
110
+ }
111
+ async function doInit() {
112
+ const cwd = process.cwd();
113
+ const hasPkg = existsSync(join(cwd, 'package.json'));
114
+ const hasViteConfig = existsSync(join(cwd, 'vite.config.ts')) || existsSync(join(cwd, 'vite.config.js'));
115
+ const hasTsConfig = existsSync(join(cwd, 'tsconfig.json'));
116
+ console.log(`\n ☕ CoffeeHaml init — project scaffold\n`);
117
+ console.log(` Working directory: ${cwd}`);
118
+ console.log(` Detected: ${[
119
+ hasPkg ? 'package.json' : '',
120
+ hasViteConfig ? 'Vite' : '',
121
+ hasTsConfig ? 'TypeScript' : '',
122
+ !hasPkg ? 'bare project' : '',
123
+ ].filter(Boolean).join(', ')}\n`);
124
+ // Question 1: Add dependency?
125
+ let addDep = true;
126
+ if (hasPkg) {
127
+ const ans = await ask(' Add coffeehaml as devDependency? (Y/n): ');
128
+ addDep = !/^n/i.test(ans);
129
+ }
130
+ else {
131
+ console.log(' No package.json found — skipping dependency install.');
132
+ addDep = false;
133
+ }
134
+ // Question 2: Vite plugin?
135
+ let setupVite = false;
136
+ if (hasViteConfig) {
137
+ const ans = await ask(' Configure Vite plugin? (Y/n): ');
138
+ setupVite = !/^n/i.test(ans);
139
+ }
140
+ else if (hasPkg) {
141
+ const ans = await ask(' No vite.config detected. Create one with CoffeeHaml plugin? (y/N): ');
142
+ setupVite = /^y/i.test(ans);
143
+ }
144
+ // Question 3: Sample component?
145
+ let createSample = true;
146
+ const ans = await ask(' Create sample .chaml component? (Y/n): ');
147
+ createSample = !/^n/i.test(ans);
148
+ // Question 4: npm scripts?
149
+ let addScripts = false;
150
+ if (hasPkg) {
151
+ const ans = await ask(' Add build/watch scripts to package.json? (Y/n): ');
152
+ addScripts = !/^n/i.test(ans);
153
+ }
154
+ console.log();
155
+ // ── Execute ──
156
+ // 1. Install dependency
157
+ if (addDep) {
158
+ console.log(' ⚡ Installing coffeehaml...');
159
+ const { execSync } = await import('child_process');
160
+ try {
161
+ execSync('npm install --save-dev coffeehaml', { cwd, stdio: 'inherit' });
162
+ console.log(' ✓ coffeehaml installed\n');
163
+ }
164
+ catch {
165
+ console.log(' ✗ Install failed — continuing anyway\n');
166
+ }
167
+ }
168
+ // 2. Vite plugin
169
+ if (setupVite) {
170
+ const configPath = join(cwd, hasViteConfig
171
+ ? (existsSync(join(cwd, 'vite.config.ts')) ? 'vite.config.ts' : 'vite.config.js')
172
+ : 'vite.config.ts');
173
+ const ext = configPath.endsWith('.ts') ? 'ts' : 'js';
174
+ if (hasViteConfig) {
175
+ // Modify existing vite config — inject the import and plugin
176
+ let existing = readFileSync(configPath, 'utf-8');
177
+ const hasImport = /coffeehaml/.test(existing);
178
+ const hasPlugin = /coffeehaml\(\)/.test(existing);
179
+ if (!hasImport) {
180
+ existing = `import coffeehaml from 'coffeehaml/vite-plugin';\n` + existing;
181
+ }
182
+ if (!hasPlugin) {
183
+ // Insert coffeehaml() into plugins array
184
+ existing = existing.replace(/(plugins\s*:\s*\[)/, '$1\n coffeehaml(),');
185
+ if (!/plugins\s*:\s*\[/.test(existing)) {
186
+ // No plugins array — add one after defineConfig({
187
+ existing = existing.replace(/(defineConfig\s*\(\s*\{)/, '$1\n plugins: [coffeehaml()],');
188
+ }
189
+ }
190
+ writeFileSync(configPath, existing);
191
+ console.log(` ✓ Updated ${relative(cwd, configPath)}\n`);
192
+ }
193
+ else {
194
+ // Create new vite config
195
+ const tsContent = `import { defineConfig } from 'vite';
196
+ import react from '@vitejs/plugin-react';
197
+ import coffeehaml from 'coffeehaml/vite-plugin';
198
+
199
+ export default defineConfig({
200
+ plugins: [
201
+ react(),
202
+ coffeehaml(),
203
+ ],
204
+ });`;
205
+ const jsContent = `import { defineConfig } from 'vite';
206
+ import react from '@vitejs/plugin-react';
207
+ import coffeehaml from 'coffeehaml/vite-plugin';
208
+
209
+ export default defineConfig({
210
+ plugins: [
211
+ react(),
212
+ coffeehaml(),
213
+ ],
214
+ });`;
215
+ writeFileSync(configPath, ext === 'ts' ? tsContent : jsContent);
216
+ console.log(` ✓ Created ${relative(cwd, configPath)}\n`);
217
+ }
218
+ }
219
+ // 3. Sample component
220
+ if (createSample) {
221
+ const srcDir = join(cwd, 'src');
222
+ if (!existsSync(srcDir)) {
223
+ const { mkdirSync } = await import('fs');
224
+ mkdirSync(srcDir, { recursive: true });
225
+ }
226
+ const samplePath = join(srcDir, 'App.chaml');
227
+ if (existsSync(samplePath)) {
228
+ console.log(` ⚠ ${relative(cwd, samplePath)} already exists — skipping\n`);
229
+ }
230
+ else {
231
+ const sample = `-# App.chaml — a sample CoffeeHaml component
232
+ import { useState } from 'react'
233
+
234
+ %div.app
235
+ %header
236
+ %h1= "CoffeeHaml ✨"
237
+ %p.subtitle Haml structure. CoffeeScript semantics. React runtime.
238
+
239
+ %main
240
+ - name = 'World'
241
+ %section.card
242
+ %h2= "Hello, #{name}!"
243
+ %p= "Counter: 0"
244
+
245
+ %footer
246
+ %small Built with coffeehaml v${getVersion()}
247
+ `;
248
+ writeFileSync(samplePath, sample);
249
+ console.log(` ✓ Created ${relative(cwd, samplePath)}\n`);
250
+ }
251
+ }
252
+ // 4. npm scripts
253
+ if (addScripts && hasPkg) {
254
+ const pkgPath = join(cwd, 'package.json');
255
+ const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
256
+ pkg.scripts = pkg.scripts || {};
257
+ if (!pkg.scripts['build:chaml']) {
258
+ pkg.scripts['build:chaml'] = 'coffeehaml compile src/ -o dist/';
259
+ }
260
+ if (!pkg.scripts['watch:chaml']) {
261
+ pkg.scripts['watch:chaml'] = 'coffeehaml watch src/ --wrap component';
262
+ }
263
+ writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + '\n');
264
+ console.log(' ✓ Added build:chaml and watch:chaml scripts\n');
265
+ }
266
+ console.log(' 🎉 Done! Start building:\n');
267
+ console.log(' npm run build:chaml # compile once');
268
+ console.log(' npm run watch:chaml # watch and recompile');
269
+ console.log(' npx coffeehaml watch src/ # ad-hoc watch\n');
270
+ }
98
271
  const cmd = args[0];
99
272
  const rest = args.slice(1);
100
273
  if (cmd === 'compile') {
@@ -175,6 +348,9 @@ else if (cmd === 'watch') {
175
348
  process.exit(0);
176
349
  });
177
350
  }
351
+ else if (cmd === 'init') {
352
+ doInit();
353
+ }
178
354
  else {
179
355
  console.error(`Unknown command: ${cmd}`);
180
356
  process.exit(1);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/compiler.js CHANGED
@@ -41,16 +41,14 @@ export function compile(source, options = {}) {
41
41
  };
42
42
  }
43
43
  // Phase 2: Parse
44
- let ast;
45
- try {
46
- ast = parse(tokens, options.filename);
47
- }
48
- catch (e) {
49
- return {
50
- code: '',
51
- errors: [wrapError(e, 'parser')],
52
- warnings: [],
53
- };
44
+ const parsed = parse(tokens, options.filename);
45
+ const ast = parsed.document;
46
+ // Collect parse errors (non-fatal — parsing continues with recovery)
47
+ if (parsed.errors.length > 0) {
48
+ errors.push(...parsed.errors);
49
+ if (ast.children.length === 0) {
50
+ return { code: '', errors, warnings };
51
+ }
54
52
  }
55
53
  // Phase 3: Emit
56
54
  let result;
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../src/compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../src/compiler.ts"],"names":[],"mappings":"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"}
package/dist/emitter.js CHANGED
@@ -326,7 +326,18 @@ function emitChildToJs(node, state) {
326
326
  return escapeString(node.value);
327
327
  }
328
328
  if (node instanceof Output) {
329
- return compileExpression(node.expression, node.location);
329
+ // Arrow continuation: = expr -> with indented element children
330
+ if (node.children.length > 0 && /->\s*$/.test(node.expression.source.trim())) {
331
+ return emitArrowOutputToJs(node.expression.source, node.children, state);
332
+ }
333
+ // TEXT continuation: join text children into expression
334
+ const textContinuations = node.children
335
+ .filter(c => c instanceof Text)
336
+ .map(c => c.value);
337
+ const exprSource = textContinuations.length > 0
338
+ ? [node.expression.source, ...textContinuations].join(' ')
339
+ : node.expression.source;
340
+ return compileExpression(new Expression(exprSource), node.location);
330
341
  }
331
342
  if (node instanceof Element) {
332
343
  const hasChildren = node.children.length > 0;
@@ -588,6 +599,12 @@ function emitOutput(out, state) {
588
599
  if (textLines.length > 0) {
589
600
  exprSource = [exprSource, ...textLines].join(' ');
590
601
  }
602
+ // Arrow continuation: = items.map (item) -> with indented element children
603
+ // Compiles to target.map((args) => <JSX>) — CoffeeScript arrow becomes JS arrow
604
+ if (elementChildren.length > 0 && /->\s*$/.test(exprSource.trim())) {
605
+ emitArrowOutput(exprSource, elementChildren, out, state);
606
+ return;
607
+ }
591
608
  const js = compileExpression(new Expression(exprSource), out.location);
592
609
  let result;
593
610
  if (out.outputKind === 'escaped') {
@@ -596,16 +613,75 @@ function emitOutput(out, state) {
596
613
  else {
597
614
  result = `jsx(Fragment, {}, ${js})`;
598
615
  }
599
- // Emit nested element children after the expression
616
+ // Emit nested element children after the expression (siblings, not body)
600
617
  for (const child of elementChildren) {
601
618
  emitNode(child, state, false);
602
619
  }
603
- if (state.directEmit) {
604
- state.emitLine(result + ';');
620
+ state.emitLine(result + ';');
621
+ }
622
+ /** Handle = expr -> with indented element children — compiles to an arrow function
623
+ * returning JSX. E.g., = items.map (item) -> + indented %li → items.map((item) => <li/>) */
624
+ function emitArrowOutput(exprSource, elementChildren, out, state) {
625
+ // Parse: strip trailing ->, extract call target and arrow args
626
+ const stripped = exprSource.replace(/\s*->\s*$/, '').trim();
627
+ // Match pattern: target (args) — everything up to last parenthesized arg list
628
+ const arrowMatch = stripped.match(/^(.+?)\s*\(([^)]*)\)\s*$/);
629
+ let callTarget;
630
+ let arrowArgs;
631
+ if (arrowMatch) {
632
+ callTarget = arrowMatch[1].trim(); // e.g., "items.map"
633
+ arrowArgs = arrowMatch[2].trim(); // e.g., "item" or "item, i"
634
+ }
635
+ else {
636
+ // No parens: = -> with just -> (bare arrow)
637
+ callTarget = stripped;
638
+ arrowArgs = '';
639
+ }
640
+ // Compile the call target as a CoffeeScript expression
641
+ const compiledTarget = compileExpression(new Expression(callTarget), out.location);
642
+ // Compile children as JSX body
643
+ let body;
644
+ if (elementChildren.length === 1) {
645
+ body = emitChildToJs(elementChildren[0], state);
646
+ }
647
+ else {
648
+ body = `jsxs(Fragment, { children: [${elementChildren.map(c => emitChildToJs(c, state)).join(', ')}] })`;
649
+ }
650
+ // Build the final expression
651
+ const arrowFn = arrowArgs
652
+ ? `(${arrowArgs}) => ${body}`
653
+ : `() => ${body}`;
654
+ const result = out.outputKind === 'escaped'
655
+ ? `jsx(Fragment, { children: ${compiledTarget}(${arrowFn}) })`
656
+ : `jsx(Fragment, {}, ${compiledTarget}(${arrowFn}))`;
657
+ state.emitLine(result + ';');
658
+ }
659
+ /** Inline version of emitArrowOutput — returns JS string for use inside emitChildToJs. */
660
+ function emitArrowOutputToJs(exprSource, elementChildren, state) {
661
+ const stripped = exprSource.replace(/\s*->\s*$/, '').trim();
662
+ const arrowMatch = stripped.match(/^(.+?)\s*\(([^)]*)\)\s*$/);
663
+ let callTarget;
664
+ let arrowArgs;
665
+ if (arrowMatch) {
666
+ callTarget = arrowMatch[1].trim();
667
+ arrowArgs = arrowMatch[2].trim();
668
+ }
669
+ else {
670
+ callTarget = stripped;
671
+ arrowArgs = '';
672
+ }
673
+ const compiledTarget = compileExpression(new Expression(callTarget));
674
+ let body;
675
+ if (elementChildren.length === 1) {
676
+ body = emitChildToJs(elementChildren[0], state);
605
677
  }
606
678
  else {
607
- state.emitLine(result + ';');
679
+ body = `jsxs(Fragment, { children: [${elementChildren.map(c => emitChildToJs(c, state)).join(', ')}] })`;
608
680
  }
681
+ const arrowFn = arrowArgs
682
+ ? `(${arrowArgs}) => ${body}`
683
+ : `() => ${body}`;
684
+ return `${compiledTarget}(${arrowFn})`;
609
685
  }
610
686
  function emitComment(comment, state) {
611
687
  if (comment.commentKind === 'html') {
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../src/emitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../src/emitter.ts"],"names":[],"mappings":"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"}
package/dist/parser.d.ts CHANGED
@@ -1,4 +1,10 @@
1
1
  import { Token } from './lexer.js';
2
2
  import { Document } from './ast.js';
3
- export declare function parse(tokens: Token[], filename?: string): Document;
3
+ import { CompileError } from './types.js';
4
+ /** Result of parsing — AST plus any errors collected during error-recovery parsing. */
5
+ export interface ParseResult {
6
+ document: Document;
7
+ errors: CompileError[];
8
+ }
9
+ export declare function parse(tokens: Token[], filename?: string): ParseResult;
4
10
  //# sourceMappingURL=parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAa,MAAM,YAAY,CAAC;AAC9C,OAAO,EACL,QAAQ,EAGT,MAAM,UAAU,CAAC;AA0DlB,wBAAgB,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAWlE"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAa,MAAM,YAAY,CAAC;AAC9C,OAAO,EACL,QAAQ,EAGT,MAAM,UAAU,CAAC;AAClB,OAAO,EAAkB,YAAY,EAAE,MAAM,YAAY,CAAC;AAkF1D,uFAAuF;AACvF,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB;AAID,wBAAgB,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,CAWrE"}
package/dist/parser.js CHANGED
@@ -4,6 +4,7 @@ import { CompileError } from './types.js';
4
4
  // ─── Parser State ──────────────────────────────────────────
5
5
  class ParserState {
6
6
  constructor(tokens, filename) {
7
+ this.errors = [];
7
8
  this.tokens = tokens;
8
9
  this.pos = 0;
9
10
  this.filename = filename;
@@ -19,13 +20,34 @@ class ParserState {
19
20
  this.pos++;
20
21
  return token;
21
22
  }
23
+ /** Record an error and attempt recovery by skipping to the next safe boundary. */
24
+ error(message, code = 'PARSE_ERROR') {
25
+ this.errors.push(new CompileError(message, 'parser', code, this.current?.location));
26
+ }
27
+ /** Expect a token type. On mismatch, records error and recovers (never throws). */
22
28
  expect(type) {
23
29
  const token = this.current;
24
30
  if (!token || token.type !== type) {
25
- throw new CompileError(`Expected ${type} but got ${token?.type ?? 'EOF'}`, 'parser', 'UNEXPECTED_TOKEN', token?.location);
31
+ this.error(`Expected ${type} but got ${token?.type ?? 'EOF'}`, 'UNEXPECTED_TOKEN');
32
+ // Recovery: skip to next structural token
33
+ this.recover();
34
+ return null;
26
35
  }
27
36
  return this.advance();
28
37
  }
38
+ /** Skip tokens until a structural boundary (INDENT/DEDENT/block-level token). */
39
+ recover() {
40
+ while (this.current) {
41
+ const t = this.current.type;
42
+ if (t === TokenType.TAG || t === TokenType.CLASS || t === TokenType.ID ||
43
+ t === TokenType.OUTPUT || t === TokenType.OUTPUT_UNESC || t === TokenType.CONTROL ||
44
+ t === TokenType.FILTER || t === TokenType.COMMENT || t === TokenType.HTML_COMMENT ||
45
+ t === TokenType.DOCTYPE || t === TokenType.INDENT || t === TokenType.DEDENT) {
46
+ return;
47
+ }
48
+ this.advance();
49
+ }
50
+ }
29
51
  skip(type) {
30
52
  if (this.current?.type === type) {
31
53
  this.advance();
@@ -46,7 +68,7 @@ export function parse(tokens, filename) {
46
68
  prologue.push(state.advance().value);
47
69
  }
48
70
  const children = parseBlock(state);
49
- return new Document(children, prologue);
71
+ return { document: new Document(children, prologue), errors: state.errors };
50
72
  }
51
73
  // ─── Block Parsing ─────────────────────────────────────────
52
74
  /** Parse nodes until DEDENT or EOF. */
@@ -101,6 +123,8 @@ function parseNode(state) {
101
123
  // ─── Element ───────────────────────────────────────────────
102
124
  function parseElement(state) {
103
125
  const tagToken = state.expect(TokenType.TAG);
126
+ if (!tagToken)
127
+ return new Element('div', { location: state.current?.location });
104
128
  const tag = tagToken.value;
105
129
  const isComponent = /^[A-Z]/.test(tag);
106
130
  let classes = [];
@@ -221,6 +245,8 @@ function parseOutput(state) {
221
245
  // ─── Control Flow ──────────────────────────────────────────
222
246
  function parseControlFlow(state) {
223
247
  const token = state.expect(TokenType.CONTROL);
248
+ if (!token)
249
+ return new ControlFlow('statement', new Expression(''), [], null, state.current?.location);
224
250
  let source = token.value;
225
251
  // Normalize "else if" → "if" so it chains naturally in ternary
226
252
  if (/^\s*else\s+if\b/.test(source)) {
@@ -276,15 +302,21 @@ function isElse(source) {
276
302
  // ─── Comments ──────────────────────────────────────────────
277
303
  function parseComment(state) {
278
304
  const token = state.expect(TokenType.COMMENT);
305
+ if (!token)
306
+ return new Comment('haml', '');
279
307
  return new Comment('haml', token.value, token.location);
280
308
  }
281
309
  function parseHtmlComment(state) {
282
310
  const token = state.expect(TokenType.HTML_COMMENT);
311
+ if (!token)
312
+ return new Comment('html', '');
283
313
  return new Comment('html', token.value, token.location);
284
314
  }
285
315
  // ─── Filter ────────────────────────────────────────────────
286
316
  function parseFilter(state) {
287
317
  const token = state.expect(TokenType.FILTER);
318
+ if (!token)
319
+ return new Filter('', '');
288
320
  const parts = token.value.split('\n');
289
321
  const filterName = parts[0];
290
322
  let content = parts.slice(1).join('\n');
@@ -320,11 +352,15 @@ function parseFilter(state) {
320
352
  // ─── Doctype ───────────────────────────────────────────────
321
353
  function parseDoctype(state) {
322
354
  const token = state.expect(TokenType.DOCTYPE);
355
+ if (!token)
356
+ return new Doctype('html');
323
357
  return new Doctype(token.value || 'html', token.location);
324
358
  }
325
359
  // ─── Text ──────────────────────────────────────────────────
326
360
  function parseText(state) {
327
361
  const token = state.expect(TokenType.TEXT);
362
+ if (!token)
363
+ return new Text('');
328
364
  return new Text(token.value, token.location);
329
365
  }
330
366
  // ─── Attribute Block Parser ────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../src/vite-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,MAAM,WAAW,uBAAuB;IACtC,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAUD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,OAAO,GAAE,uBAA4B,GAAG,MAAM,CAgDhF"}
1
+ {"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../src/vite-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,MAAM,WAAW,uBAAuB;IACtC,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAUD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,OAAO,GAAE,uBAA4B,GAAG,MAAM,CA4DhF"}
@@ -23,6 +23,16 @@ export default function coffeehaml(options = {}) {
23
23
  filename: id,
24
24
  componentName: compilerOpts.componentName || componentNameFromPath(id),
25
25
  });
26
+ // Inject React Fast Refresh pragma and HMR accept when in component mode
27
+ let preamble = '';
28
+ let postamble = '';
29
+ if (compilerOpts.wrap && compilerOpts.wrap !== 'none' && !compilerOpts.wrap.includes) {
30
+ // Component or observer mode — add Fast Refresh support
31
+ preamble = '// @refresh reset\n';
32
+ const name = compilerOpts.componentName || componentNameFromPath(id);
33
+ postamble = `\nif (import.meta.hot) {\n import.meta.hot.accept((mod) => {\n if (mod?.${name}) import.meta.hot?.data?.refresh?.();\n });\n}\n`;
34
+ }
35
+ const finalCode = preamble + result.code + postamble;
26
36
  if (result.errors.length > 0) {
27
37
  const err = result.errors[0];
28
38
  this.error({
@@ -37,7 +47,7 @@ export default function coffeehaml(options = {}) {
37
47
  return null;
38
48
  }
39
49
  return {
40
- code: result.code,
50
+ code: finalCode,
41
51
  map: result.sourceMap ? { mappings: result.sourceMap } : null,
42
52
  };
43
53
  },
@@ -1 +1 @@
1
- {"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../src/vite-plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAMhC,MAAM,aAAa,GAAG,8BAA8B,CAAC;AAErD,+DAA+D;AAC/D,SAAS,qBAAqB,CAAC,QAAgB;IAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,WAAW,CAAC;IAClE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,UAAmC,EAAE;IACtE,gFAAgF;IAChF,MAAM,YAAY,GAAoB;QACpC,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,WAAW;QACjB,GAAG,OAAO,CAAC,eAAe;KAC3B,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,YAAY;QAElB,SAAS,CAAC,IAAY,EAAE,EAAU;YAChC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,OAAO;YAEpC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE;gBAC3B,GAAG,YAAY;gBACf,QAAQ,EAAE,EAAE;gBACZ,aAAa,EAAE,YAAY,CAAC,aAAa,IAAI,qBAAqB,CAAC,EAAE,CAAC;aACvE,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,CAAC,KAAK,CAAC;oBACT,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,EAAE;oBACF,aAAa;oBACb,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAClB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;wBACjC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;qBACtC,CAAC,CAAC,CAAC,SAAS;iBACd,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAS,CAAC,CAAC,CAAC,IAAI;aACrE,CAAC;QACJ,CAAC;QAED,eAAe,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;YAC9B,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,4DAA4D;gBAC5D,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;gBACxC,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../src/vite-plugin.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "coffeehaml",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "Haml structure. CoffeeScript semantics. React runtime. Zero runtime. Vite-native.",
5
5
  "type": "module",
6
6
  "license": "MIT",