The web framework that scales with you — Build fast content sites, powerful web applications, dynamic server APIs, and everything in-between ️ Star to support our work!
Find a file
Matthew Phillips d27bd74b05
Refactor to enable optimizer modules (#8)
* Refactor to enable optimizer modules

This refactors HMX compilation into steps:

1. Parse - Turn HMX string into an AST.
2. Optimize - Walk the AST making modifications.
3. Codegen - Turn the AST into hyperscript function calls.

There's still more logic in (3) than we probably want. The nice there here is it gives a Visitor API that you can implement to do optimizations. See src/optimize/styles.ts for an example.

* Allow multiple visitors per optimizer
2021-03-18 16:39:17 -04:00
src Refactor to enable optimizer modules (#8) 2021-03-18 16:39:17 -04:00
.eslintrc.cjs Fix a few lint errors 2021-03-16 12:43:23 -06:00
.gitignore initial commit 2021-03-15 13:22:05 -04:00
.prettierrc.json Annoying Lint PR™ (#3) 2021-03-16 12:37:45 -06:00
astro.mjs Add a proper cli 2021-03-15 15:26:23 -04:00
LICENSE Bring compiler into Astro (#4) 2021-03-16 16:08:11 -04:00
package-lock.json Add style transforms (#7) 2021-03-18 11:25:19 -06:00
package.json Add style transforms (#7) 2021-03-18 11:25:19 -06:00
snowpack-plugin.cjs Add style transforms (#7) 2021-03-18 11:25:19 -06:00
tsconfig.json initial commit 2021-03-15 13:22:05 -04:00