TypeScript
StableRun .ts and .tsx files directly. Amber transpiles with oxc and does not type-check.
TypeScript transpile-only is Stable (G36). The contract is docs/TYPESCRIPT_CONTRACT.md.
What runs
- Entry files ending in
.ts,.tsx,.mts,.cts, or.jsx. - Files loaded with CommonJS
requirethat use those extensions. amber evalsnippets that look like TypeScript or JSX.
ts
// app.ts
type Status = "ok" | "error";
function report(status: Status): string {
return `status=${status}`;
}
console.log(report("ok"));
bash
amber run app.ts
How it works
Amber uses oxc to strip types and emit JavaScript, then runs it on V8.
usingdeclarations and Stage 3 decorators are lowered to ES2022.- TSX emits classic
React.createElementcalls. - When a source map is active, stack traces point at
.tslines. - A parse or transform error fails the run. Amber does not guess.
What it does not do
This is not tsc. These are permanent non-goals for this surface:
- Type checking. A file with type errors still runs.
tsconfig.jsonprograms, path aliases, and project references.- The automatic JSX runtime and
emitDecoratorMetadata.
Run tsc --noEmit in CI if you need type errors to fail the build.
Type definitions for Amber APIs
amber types prints type definitions for Amber built-ins. That command is not classified in the scope page yet, so treat its output as Experimental.