JSPM

  • Created
  • Published
  • Downloads 3142
  • Score
    100M100P100Q113920F
  • License MIT

Simple API to compile TypeScript code string to JavaScript. That's all!

Package Exports

  • typescript-simple
  • typescript-simple/package.json

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (typescript-simple) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

typescript-simple NPM version build status Dependency Status

Simple API to compile TypeScript code string to JavaScript. That's all!

Description

TypeScirpt 1.4 has official compiler API, but it isn't easy to compile tiny TypeScript code string. typescript-simple provides just one method that accepts TypeScript code string and returns JavaScript code.

Install

$ npm install typescript-simple

Usage

Simple usage (default target is ES5).

var tss = require('typescript-simple');
var js = tss('var n: number = 1;');
console.log(js); // 'var n = 1;'

If the code causes errors, typescript-simple throws errors.

try {
    var js = tss('var n: number = "str";');
} catch (e) {
    console.error(e); // Error: L1: Type 'string' is not assignable to type 'number'.
}

Compiler Options

Specify CompilerOptions at 2nd argument.

var js = tss('var n: number = 1;', {noImplicitAny: true});

Make repeated compilation faster

tss() with options is not best-performance-method to be executed many times. Use TypeScriptSimple class for this purpose.

var TypeScriptSimple = require('typescript-simple').TypeScriptSimple;
var tss = new TypeScriptSimple({target: ts.ScriptTarget.ES6, noImplicitAny: true});
var js1 = tss.compile('var n: number = 1;');
var js2 = tss.compile('var s: string = "foo";');

Ignore semantic errors

If you don't need TypeScript semantic error and just want the result code, give 2nd argument of the constructor false.

var tss = new TypeScriptSimple({target: ts.ScriptTarget.ES6}, false);
var js = tss.compile('var n: string = 1;'); // an error is not thrown.

Note: syntactic errors may be thrown.

Source map

Inline source map is available.

var tss = new TypeScriptSimple({sourceMap: true});
var js = tss.compile('var n: number = 1;', 'path/to/file.ts');

Output:

var n = 1;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uI...

Note: The path to file doesn't need to be an actual file. We just copy the contents of the passed in ts string into the inline sourceMap and make it look like the js is coming from a ts file at that file path.

Limitaions

typescript-simple cannot compile multiple source files.

API

See index.d.ts.

Note

This implementation is derived from code in an official wiki page.

License

MIT License: Teppei Sato <teppeis@gmail.com>