Integrating with Build Tools - zhengbli/TypeScript GitHub Wiki
Browserify
Install
npm install tsify
Using Command Line Interface
browserify main.ts -p [ tsify --noImplicitAny ] > bundle.js
Using API
var browserify = require("browserify");
var tsify = require("tsify");
browserify()
.add('main.ts')
.plugin('tsify', { noImplicitAny: true })
.bundle()
.pipe(process.stdout);
More details: smrq/tsify
Duo
Install
npm install duo-typescript
Using Command Line Interface
duo --use duo-typescript entry.ts
Using API
var Duo = require('duo');
var fs = require('fs')
var path = require('path')
var typescript = require('duo-typescript');
var out = path.join(__dirname, "output.js")
Duo(__dirname)
.entry('entry.ts')
.use(typescript())
.run(function (err, results) {
if (err) throw err;
// Write compiled result to output file
fs.writeFileSync(out, results.code);
});
More details: frankwallis/duo-typescript
Grunt
Install
npm install grunt-ts
Basic Gruntfile.js
module.exports = function(grunt) {
grunt.initConfig({
ts: {
default : {
src: ["**/*.ts", "!node_modules/**/*.ts"]
}
}
});
grunt.loadNpmTasks("grunt-ts");
grunt.registerTask("default", ["ts"]);
};
More details: TypeStrong/grunt-ts
gulp
Install
npm install gulp-typescript
Basic gulpfile.js
var gulp = require("gulp");
var ts = require("gulp-typescript");
gulp.task("default", function () {
var tsResult = gulp.src("src/*.ts")
.pipe(ts({
noImplicitAny: true,
out: "output.js"
}));
return tsResult.js.pipe(gulp.dest('built/local'));
});
More details: ivogabe/gulp-typescript
jspm
Install
npm install -g jspm@beta
Note: Currently TypeScript support in jspm is in 0.16beta
More details: TypeScriptSamples/jspm
webpack
Install
npm install awesome-typescript-loader --save-dev
Basic webpack.config.js
module.exports = {
// Currently we need to add '.ts' to resolve.extensions array.
resolve: {
extensions: ['', '.ts', '.webpack.js', '.web.js', '.js']
},
// Source maps support (or 'inline-source-map' also works)
devtool: 'source-map',
// Add loader for .ts files.
module: {
loaders: [
{
test: /\.ts$/,
loader: 'awesome-typescript-loader'
}
]
}
};
More details: s-panferov/awesome-typescript-loader