Skip to content

withastro/compiler-rs

 
 

Astro Compiler

Astro's compiler, written in Rust with NAPI-RS bindings for Node.js.

Install

npm install @astrojs/compiler-rs

Usage

Transform .astro to JavaScript

The Astro compiler transforms .astro component files into JavaScript modules whose default export generates HTML.

import { transform } from "@astrojs/compiler-rs";

const result = transform(source, {
  filename: "/Users/astro/Code/project/src/pages/index.astro",
  sourcemap: "both",
});

Parse .astro and return an AST

The compiler can emit an ESTree-compatible AST using the parse method.

import { parse } from "@astrojs/compiler-rs";

const result = parse(source);

console.log(JSON.stringify(result.ast, null, 2));

Contributing

New contributors welcome! Check out our Contributors Guide for help getting started.

Join us on Discord to meet other maintainers. We'll help you get your first contribution in no time!

Links

Sponsors

Astro is free, open source software made possible by these wonderful sponsors.

❤️ Sponsor Astro! ❤️

Sponsor logos including the current Astro Sponsors, Gold Sponsors, and Exclusive Partner Sponsors: Netlify, Sentry, and Project IDX.

About

The Astro compiler

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • Rust 73.9%
  • TypeScript 20.1%
  • JavaScript 5.0%
  • Astro 1.0%