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

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>