coffeehaml 0.5.0 → 0.7.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 +13 -4
- package/dist/ast.d.ts +6 -0
- package/dist/ast.d.ts.map +1 -1
- package/dist/ast.js +2 -0
- package/dist/ast.js.map +1 -1
- package/dist/cli.js +178 -2
- package/dist/cli.js.map +1 -1
- package/dist/compiler.js +8 -10
- package/dist/compiler.js.map +1 -1
- package/dist/emitter.js +81 -5
- package/dist/emitter.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/parser.d.ts +7 -1
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +46 -4
- package/dist/parser.js.map +1 -1
- package/dist/prettier/coffeescript-formatter.d.ts +31 -0
- package/dist/prettier/coffeescript-formatter.d.ts.map +1 -0
- package/dist/prettier/coffeescript-formatter.js +409 -0
- package/dist/prettier/coffeescript-formatter.js.map +1 -0
- package/dist/prettier/index.d.ts +8 -0
- package/dist/prettier/index.d.ts.map +1 -0
- package/dist/prettier/index.js +69 -0
- package/dist/prettier/index.js.map +1 -0
- package/dist/prettier/options.d.ts +10 -0
- package/dist/prettier/options.d.ts.map +1 -0
- package/dist/prettier/options.js +200 -0
- package/dist/prettier/options.js.map +1 -0
- package/dist/prettier/printer.d.ts +45 -0
- package/dist/prettier/printer.d.ts.map +1 -0
- package/dist/prettier/printer.js +652 -0
- package/dist/prettier/printer.js.map +1 -0
- package/dist/vite-plugin.d.ts.map +1 -1
- package/dist/vite-plugin.js +11 -1
- package/dist/vite-plugin.js.map +1 -1
- package/docs/examples.md +201 -1
- package/docs/grammar.md +90 -1
- package/docs/index.html +260 -37
- package/package.json +10 -3
- package/syntaxes/CoffeeHaml.tmLanguage +815 -868
- package/syntaxes/coffeehaml.tmLanguage.json +352 -161
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"printer.js","sourceRoot":"","sources":["../../src/prettier/printer.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,
|
|
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"}
|
package/dist/vite-plugin.js
CHANGED
|
@@ -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:
|
|
50
|
+
code: finalCode,
|
|
41
51
|
map: result.sourceMap ? { mappings: result.sourceMap } : null,
|
|
42
52
|
};
|
|
43
53
|
},
|
package/dist/vite-plugin.js.map
CHANGED
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../src/vite-plugin.ts"],"names":[],"mappings":"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"}
|
package/docs/examples.md
CHANGED
|
@@ -371,6 +371,206 @@ Haml comments and their nested children are stripped entirely.
|
|
|
371
371
|
init = ->
|
|
372
372
|
console.log "ready"
|
|
373
373
|
init()
|
|
374
|
+
|
|
375
|
+
---
|
|
376
|
+
|
|
377
|
+
## 11. Statement Continuation (v0.4.2)
|
|
378
|
+
|
|
379
|
+
Indented children of `-` control blocks compile as continuation code lines.
|
|
380
|
+
No more single-line straitjacket for complex logic:
|
|
381
|
+
|
|
382
|
+
```haml
|
|
383
|
+
- if user.role == 'admin' && user.permissions.includes('write')
|
|
384
|
+
%AdminPanel
|
|
385
|
+
%h2 Admin
|
|
386
|
+
%p Welcome back, = user.name
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
Multi-statement blocks:
|
|
390
|
+
|
|
391
|
+
```haml
|
|
392
|
+
- if results.length > 0
|
|
393
|
+
sorted = results.sort (a, b) -> b.score - a.score
|
|
394
|
+
topThree = sorted.slice 0, 3
|
|
395
|
+
%Results{ data: topThree }
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
Works with `for`, `while`, and bare statements too:
|
|
399
|
+
|
|
400
|
+
```haml
|
|
401
|
+
%div
|
|
402
|
+
- x = computeBaseValue()
|
|
403
|
+
- x *= multiplier
|
|
404
|
+
- x += offset
|
|
405
|
+
%p= x
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
---
|
|
409
|
+
|
|
410
|
+
## 12. Expression Continuation (v0.5.0)
|
|
411
|
+
|
|
412
|
+
Long inline expressions can break across indented continuation lines:
|
|
413
|
+
|
|
414
|
+
```haml
|
|
415
|
+
%h1= "Welcome, " +
|
|
416
|
+
user.firstName + " " +
|
|
417
|
+
user.lastName
|
|
418
|
+
|
|
419
|
+
%div= someFunction(
|
|
420
|
+
arg1,
|
|
421
|
+
arg2,
|
|
422
|
+
arg3
|
|
423
|
+
)
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
Indented TEXT children of `=` are joined into the expression before compilation:
|
|
427
|
+
|
|
428
|
+
```haml
|
|
429
|
+
%p= formatMessage(
|
|
430
|
+
user.name,
|
|
431
|
+
user.role,
|
|
432
|
+
if premium then "⭐" else ""
|
|
433
|
+
)
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
---
|
|
437
|
+
|
|
438
|
+
## 13. Arrow Continuation (v0.6.0)
|
|
439
|
+
|
|
440
|
+
`=` with an arrow function can have indented element children — the elements
|
|
441
|
+
become the arrow body's JSX:
|
|
442
|
+
|
|
443
|
+
```haml
|
|
444
|
+
%ul
|
|
445
|
+
= items.map (item) ->
|
|
446
|
+
%li{ key: item.id }
|
|
447
|
+
%span.icon= item.icon
|
|
448
|
+
%a{ href: item.url }= item.label
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
Compiles to:
|
|
452
|
+
|
|
453
|
+
```js
|
|
454
|
+
jsx("ul", null,
|
|
455
|
+
...items.map(item => jsx("li", { key: item.id },
|
|
456
|
+
jsx("span", { className: "icon" }, item.icon),
|
|
457
|
+
jsx("a", { href: item.url }, item.label)
|
|
458
|
+
))
|
|
459
|
+
)
|
|
460
|
+
```
|
|
461
|
+
|
|
462
|
+
Works inline within elements too:
|
|
463
|
+
|
|
464
|
+
```haml
|
|
465
|
+
%Dashboard
|
|
466
|
+
= widgets.filter (w) -> w.active
|
|
467
|
+
.map (w) ->
|
|
468
|
+
%WidgetCard{ widget: w, key: w.id }
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
---
|
|
472
|
+
|
|
473
|
+
## 14. CLI Init Scaffold (v0.6.0)
|
|
474
|
+
|
|
475
|
+
Interactive project setup wizard:
|
|
476
|
+
|
|
477
|
+
```bash
|
|
478
|
+
$ npx coffeehaml init
|
|
479
|
+
|
|
480
|
+
☕ CoffeeHaml init — project scaffold
|
|
481
|
+
Working directory: /my-react-app
|
|
482
|
+
Detected: package.json, Vite, TypeScript
|
|
483
|
+
|
|
484
|
+
Add coffeehaml as devDependency? (Y/n):
|
|
485
|
+
Configure Vite plugin? (Y/n):
|
|
486
|
+
Create sample .chaml component? (Y/n):
|
|
487
|
+
Add build/watch scripts to package.json? (Y/n):
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
Detects your project type, installs dependencies, patches Vite config,
|
|
491
|
+
creates a sample component, and adds npm scripts — all interactive.
|
|
492
|
+
|
|
493
|
+
---
|
|
494
|
+
|
|
495
|
+
## 15. Watch Mode (v0.5.0)
|
|
496
|
+
|
|
497
|
+
```bash
|
|
498
|
+
# Watch and recompile on every change
|
|
499
|
+
$ npx coffeehaml watch src/ --wrap component
|
|
500
|
+
|
|
501
|
+
# With observer HOC wrapping
|
|
502
|
+
$ npx coffeehaml watch src/ --wrap observer
|
|
503
|
+
```
|
|
504
|
+
|
|
505
|
+
Uses native `fs.watch` — zero dependencies. Recursively scans on startup,
|
|
506
|
+
recompiles individual files on change.
|
|
507
|
+
|
|
508
|
+
---
|
|
509
|
+
|
|
510
|
+
## 16. HOC Wrapping (v0.4.0)
|
|
511
|
+
|
|
512
|
+
Wrap components in higher-order functions:
|
|
513
|
+
|
|
514
|
+
```haml
|
|
515
|
+
-# With Vite plugin (default: component)
|
|
516
|
+
-# Or via CLI / Node API:
|
|
517
|
+
|
|
518
|
+
%div.page
|
|
519
|
+
%h1 Hello
|
|
520
|
+
```
|
|
521
|
+
|
|
522
|
+
```bash
|
|
523
|
+
# Single HOC
|
|
524
|
+
$ npx coffeehaml compile app.chaml --wrap observer
|
|
525
|
+
# → export default observer(function App(props) { ... })
|
|
526
|
+
|
|
527
|
+
# HOC chain
|
|
528
|
+
$ npx coffeehaml compile app.chaml --wrap observer,memo,forwardRef
|
|
529
|
+
# → export default observer(memo(forwardRef(function App(props) { ... })))
|
|
530
|
+
```
|
|
531
|
+
|
|
532
|
+
Node API:
|
|
533
|
+
|
|
534
|
+
```js
|
|
535
|
+
compile(source, { wrap: ['observer', 'memo'] })
|
|
536
|
+
compile(source, { wrap: 'observer' })
|
|
537
|
+
compile(source, { wrap: 'component' }) // plain component
|
|
538
|
+
```
|
|
539
|
+
|
|
540
|
+
---
|
|
541
|
+
|
|
542
|
+
## 17. Multi-Error Parser Recovery (v0.6.0)
|
|
543
|
+
|
|
544
|
+
The parser no longer stops at the first error. It collects all errors,
|
|
545
|
+
recovers at structural boundaries, and returns a partial AST:
|
|
546
|
+
|
|
547
|
+
```js
|
|
548
|
+
const result = compile(brokenSource);
|
|
549
|
+
console.log(result.errors);
|
|
550
|
+
// [
|
|
551
|
+
// { message: "Unexpected token '}'", location: { line: 3, column: 12 } },
|
|
552
|
+
// { message: "Unclosed attribute block", location: { line: 7, column: 1 } },
|
|
553
|
+
// ]
|
|
554
|
+
```
|
|
555
|
+
|
|
556
|
+
Errors carry source locations (line/column) for IDE integration and
|
|
557
|
+
clickable terminal output.
|
|
558
|
+
|
|
559
|
+
---
|
|
560
|
+
|
|
561
|
+
## 18. Source-Located Errors (v0.5.0)
|
|
562
|
+
|
|
563
|
+
All errors carry file, line, and column:
|
|
564
|
+
|
|
565
|
+
```bash
|
|
566
|
+
$ npx coffeehaml compile bad.chaml
|
|
567
|
+
Error: bad.chaml:12:3 — Unexpected ')' in expression
|
|
568
|
+
%div{ onClick: -> handle() ) }
|
|
569
|
+
^
|
|
570
|
+
```
|
|
571
|
+
|
|
572
|
+
CoffeeScript compile errors are wrapped with source location context,
|
|
573
|
+
making it clear which `.chaml` line triggered the failure.
|
|
374
574
|
```
|
|
375
575
|
|
|
376
576
|
### Markdown (build-time)
|
|
@@ -716,4 +916,4 @@ Or use a raw CoffeeScript expression:
|
|
|
716
916
|
```
|
|
717
917
|
|
|
718
918
|
Fragments are implicit — multiple top-level nodes in a Document emit
|
|
719
|
-
a React Fragment automatically.
|
|
919
|
+
a React Fragment automatically.
|
package/docs/grammar.md
CHANGED
|
@@ -341,6 +341,95 @@ arr...
|
|
|
341
341
|
"Hello, #{name}"
|
|
342
342
|
|
|
343
343
|
// Heregex
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
---
|
|
347
|
+
|
|
348
|
+
## Continuation (v0.4.2 / v0.5.0 / v0.6.0)
|
|
349
|
+
|
|
350
|
+
CoffeeHaml supports three forms of indented continuation, extending the
|
|
351
|
+
grammar beyond single-line constructs.
|
|
352
|
+
|
|
353
|
+
### Statement Continuation (`-`, v0.4.2)
|
|
354
|
+
|
|
355
|
+
```
|
|
356
|
+
Statement := '-' Whitespace CodeStatement Newline
|
|
357
|
+
(Indent CodeLine+ Dedent)?
|
|
358
|
+
|
|
359
|
+
CodeLine := [^\\n]+ Newline
|
|
360
|
+
// Indented code lines concatenated to the primary statement.
|
|
361
|
+
// Enables multi-line CoffeeScript inside - blocks.
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
The indented lines are joined to the primary statement with newline
|
|
365
|
+
separators before CoffeeScript compilation:
|
|
366
|
+
|
|
367
|
+
```haml
|
|
368
|
+
- x = computeValue()
|
|
369
|
+
x *= multiplier # continuation
|
|
370
|
+
x += offset # continuation
|
|
371
|
+
%p= x
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
Compiles as a single CoffeeScript block: `x = computeValue(); x *= multiplier; x += offset`.
|
|
375
|
+
|
|
376
|
+
### Expression Continuation (`=`, v0.5.0)
|
|
377
|
+
|
|
378
|
+
```
|
|
379
|
+
Output := '=' Whitespace Expression Newline
|
|
380
|
+
(Indent TextLine+ Dedent)?
|
|
381
|
+
|
|
382
|
+
TextLine := [^\\n]+ Newline
|
|
383
|
+
// TEXT children of = outputs are joined to the expression.
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
Indented TEXT children of `=` outputs are concatenated into the expression:
|
|
387
|
+
|
|
388
|
+
```haml
|
|
389
|
+
%h1= "Hello, " +
|
|
390
|
+
user.firstName +
|
|
391
|
+
" " +
|
|
392
|
+
user.lastName
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
### Arrow Continuation (`= expr ->`, v0.6.0)
|
|
396
|
+
|
|
397
|
+
```
|
|
398
|
+
ArrowOutput := '=' Whitespace Expression ArrowSuffix Newline
|
|
399
|
+
(Indent Node+ Dedent)?
|
|
400
|
+
|
|
401
|
+
ArrowSuffix := '->' | '=>' Arguments?
|
|
402
|
+
// Detected after CoffeeScript expression parsing.
|
|
403
|
+
// Triggers element-body mode for indented children.
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
When `=` is followed by an expression ending in a CoffeeScript arrow
|
|
407
|
+
(`->` or `=>`), the indented children become the arrow body — compiled
|
|
408
|
+
as JSX elements within the arrow function:
|
|
409
|
+
|
|
410
|
+
```haml
|
|
411
|
+
= items.map (item) ->
|
|
412
|
+
%li{ key: item.id }
|
|
413
|
+
%span= item.label
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
Compiles to:
|
|
417
|
+
|
|
418
|
+
```js
|
|
419
|
+
items.map(item => jsx("li", { key: item.id },
|
|
420
|
+
jsx("span", null, item.label)
|
|
421
|
+
))
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
This works both at the module level (`emitOutput`) and inline within
|
|
425
|
+
elements (`emitChildToJs`), enabling functional mapping with full element
|
|
426
|
+
syntax in both positions.
|
|
427
|
+
|
|
428
|
+
### Continuation Precedence
|
|
429
|
+
|
|
430
|
+
1. Arrow continuation takes priority — if the expression ends with `->` or `=>`, children are treated as the arrow body.
|
|
431
|
+
2. Otherwise, TEXT children are joined as expression continuations (for multi-line expressions).
|
|
432
|
+
3. Statement continuations are always code lines, joined before CoffeeScript compilation.
|
|
344
433
|
/// pattern /g
|
|
345
434
|
|
|
346
435
|
// Destructuring
|
|
@@ -429,4 +518,4 @@ it checks patterns in this order:
|
|
|
429
518
|
7. `-` → ControlFlow
|
|
430
519
|
8. `=` / `==` → Output
|
|
431
520
|
9. `:` + identifier → Filter
|
|
432
|
-
10. anything else → RawText
|
|
521
|
+
10. anything else → RawText
|