JSPM

@sveltejs/acorn-typescript

1.0.5
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 704320
  • Score
    100M100P100Q190065F
  • License MIT

Acorn plugin that parses TypeScript

Package Exports

    Readme

    acorn-typescript

    License Chat

    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.

    Usage

    To get started, import the plugin and use Acorn's extension mechanism to register it. You have to enable options.locations while using acorn-typescript.

    import * as acorn from 'acorn';
    import tsPlugin from 'acorn-typescript';
    
    const node = acorn.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):

    import * as acorn from 'acorn';
    import tsPlugin from 'acorn-typescript';
    
    const node = acorn.Parser.extend(tsPlugin({ dts: true })).parse(
        `
    const a = 1
    type A = number
    export {
      a,
      type A as B
    }
    `,
        {
            sourceType: 'module',
            ecmaVersion: 'latest',
            locations: true
        }
    );

    SUPPORTED

    • Typescript normal syntax
    • Support to parse TypeScript Decorators
    • Support to parse JSX & TSX

    CHANGELOG

    click

    Acknowledgments

    We want to thank TyrealHu for his original work on this project. He maintained acorn-typescript until early 2024.