Examples
Usage examples for @constela/compiler
Basic Compilation
typescript
import { compile } from '@constela/compiler';
import type { Program } from '@constela/core';
const program: Program = {
version: '1.0',
state: { count: { type: 'number', initial: 0 } },
actions: [],
view: { kind: 'text', value: { expr: 'state', name: 'count' } }
};
const result = compile(program, {
target: 'esm',
minify: true
});
if (result.ok) {
console.log(result.code);
} else {
console.error(result.errors);
}With Source Maps
typescript
const result = compile(program, {
target: 'esm',
sourcemap: true
});
if (result.ok) {
// Write the compiled code
fs.writeFileSync('dist/app.js', result.code);
// Write the source map
fs.writeFileSync('dist/app.js.map', result.sourcemap);
}Different Output Formats
typescript
// ES Modules (default)
const esmResult = compile(program, { target: 'esm' });
// CommonJS
const cjsResult = compile(program, { target: 'cjs' });
// IIFE (for browser <script> tags)
const iifeResult = compile(program, { target: 'iife' });