Acorn plugin that parses TypeScript
npm install @sveltejs/acorn-typescript 
This is a plugin for Acorn - a tiny, fast JavaScript parser, written completely in JavaScript.
It was created as an experimental alternative, faster TypeScript parser. It will help you to parse
TypeScript using Acorn.
To get started, import the plugin and use Acorn's extension mechanism to register it. You have to enable options.locations while using @sveltejs/acorn-typescript.
``typescript
import { Parser } from 'acorn';
import { tsPlugin } from '@sveltejs/acorn-typescript';
const node = Parser.extend(tsPlugin()).parse(
const a = 1
type A = number
export {
a,
type A as B
},`
{
sourceType: 'module',
ecmaVersion: 'latest',
locations: true
}
);
If you want to enable parsing within a TypeScript ambient context, where certain syntax have different rules (like .d.ts files and inside declare module blocks):
`typescript
import { Parser } from 'acorn';
import { tsPlugin } from '@sveltejs/acorn-typescript';
const node = Parser.extend(tsPlugin({ dts: true })).parse(
const a = 1
type A = number
export {
a,
type A as B
},`
{
sourceType: 'module',
ecmaVersion: 'latest',
locations: true
}
);
- Typescript normal syntax
- Support to parse TypeScript Decorators
- Support to parse JSX & TSX
We want to thank TyrealHu for his original work on this project. He maintained acorn-typescript` until early 2024.