Browserify plugin for compiling TypeScript 1.1
On the command line:
$ browserify main.ts -p [ tsify --noImplicitAny ] > bundle.js
With the Browserify API:
browserify()
.add('main.ts')
.plugin('tsify', { noImplicitAny: true })
.bundle();
Just plain ol' npm installation:
npm install tsify
- tsify will generate sourcemaps if the
--debug
option is set on Browserify. - tsify supports the following options from the TypeScript compiler:
Warn on expressions and declarations with an implied any
type.
Do not emit comments to output.
Specify ECMAScript target version: 'ES3' (default), or 'ES5'
There are several TypeScript compilation transforms available on npm, all with various issues. The TypeScript compiler automatically performs dependency resolution on module imports, much like Browserify itself. Browserify transforms are not flexible enough to deal with multiple file outputs given a single file input, which means that any working TypeScript compilation transform either skips the resolution step (which is necessary for complete type checking) or performs multiple compilations of source files further down the dependency graph.
tsify avoids this problem by using the power of plugins to perform a single compilation of the TypeScript source up-front, using Browserify to glue together the resulting files.
MIT
- 0.6.2 - Include empty *.d.ts compiled files in bundle for Karma compatibility.
- 0.6.1 - Fix compilation cache miss when given absolute filenames.
- 0.6.0 - Updated to TypeScript 1.1 compiler.
- 0.5.2 - Bugfix for 0.5.1 for files not included with expose.
- 0.5.1 - Handled *.d.ts files passed as entries. Fix for files included with expose.
- 0.5.0 - Updated to Browserify 6.x.
- 0.4.1 - Added npmignore to clean up published package.
- 0.4.0 - Dropped Browserify 4.x support. Fixed race condition causing pathological performance with some usage patterns, e.g. when used with karma-bro.
- 0.3.1 - Supported adding files with
bundler.add()
. - 0.3.0 - Added Browserify 5.x support.
- 0.2.1 - Fixed paths for sources in sourcemaps.
- 0.2.0 - Made Browserify prioritize *.ts files over *.js files in dependency resolution.
- 0.1.4 - Handled case where the entry point is not a TypeScript file.
- 0.1.3 - Automatically added *.ts to Browserify's list of file extensions to resolve.
- 0.1.2 - Added sourcemap support.
- 0.1.1 - Fixed issue where intermediate *.js files were being written to disk when using
watchify
. - 0.1.0 - Initial version.