0.0.2-728e3d8f6f961ed1dd9b59ba3285788cb13ff913 • Published 5 years ago

tsce v0.0.2-728e3d8f6f961ed1dd9b59ba3285788cb13ff913

Weekly downloads
1
License
ISC
Repository
-
Last release
5 years ago

說明

複製自 https://github.com/kristianhasselknippe/tsce/tree/master/tsce

TSCE

Build Status

A TypeScript to Emacs Lisp transpiler

Usage

Creating a new project

To create a new project, create a new folder to act as the project root folder and run the following command in it:

tsce init <projectName>

This gives a folder structure as follows:

- rootFolder
    - tsconfig.json
    - src
        - <projectName>.ts
    - dist

Compiling project

Compile the project by running:

tsce <path to tsconfig.json>

or just

tsce

in the project root folder.

The output of the compile will then appear in the dist folder.

Creating release

cd tsce
tsc
npm pack

Missing language features

  • classes
  • async/await
  • namespaces
  • for-in statements
  • npm
  • switch statements

Dependencies

Requires Emacs version >=25.1 and NodeJS

Why?

I wanted to write more emacs packages, but I prefer working with static type checking. TypeScript has a flexible enough type system that it could be viable as a compiler frontend for elisp, and the typescript compiler API is very accessible.

Goals (short term)

  • Convert a large enough subset of TypeScript to Elisp to be usefull in the creation of new packages.
  • Output readable Elisp code.

Stretch goals

  • Support, if possible, the entire TypeScript language