Skip to content

Latest commit

 

History

409 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FASTTypeScript

Coverage Status CI

FASTTypeScript is a recently created project that integrates with Moose and leverages the Tree-Sitter parser to analyze TypeScript source code in Pharo.

Features

FASTTypeScript relies on:

  • FAST, to ensure compatibility with Moose.
  • Pharo-Tree-Sitter, implemented in Pharo via the FFI protocol to efficiently parse TypeScript source code. It is also used to do incremental parsing.

FASTTypeScript metamodel is defined in a way where nodes align with those generated by Tree-Sitter.

Installation

To load FASTTypeScript in Pharo, execute the following in a Moose image:

Metacello new  
  baseline: 'FASTTypeScript';  
  repository: 'github://moosetechnology/FASTTypescript:main/src';  
  load.

Usage

To use it, please ensure that you have installed the corresponding libraries for Tree Sitter on your machine, to ensure parsing succeeds. Normally, this has been automated for different operating systems. But for more details, you can have a look at this blog-post.

To use it in Pharo, you can check the example below:

res := FASTTypeScriptImporter new parse: 'class SimpleClass {
    integerProperty = 1;
    doubleProperty = 1.2;
    booleanProperty = true;
    stringProperty = "hello";
}'. 

NB

The project is updated starting October 1 2026. It works on Moose 12+ (despite making the ci runs only for Moose 13, and this is because some tests are using a slot that is not defined in Moose 12, which makes the tests fail). The metamodel is complete following the description of tree sitter typescript original repo.

If you think an update is recommended or new feature is requested ... Your contribution is more than welcome. Happy coding with Pharo and typescript :)

About

FASTTypeScript generated automatically using PharoTreeSitter

Resources

Stars

1 star

Watchers

12 watching

Forks

Releases

Packages

Contributors

Languages