Skip to content

aaronryden/grunt-typescript

 
 

Repository files navigation

grunt-typescript

Build Status NPM version

NPM

Compile TypeScript in Grunt

Release Note

Documentation

You'll need to install grunt-typescript first:

npm install grunt-typescript --save-dev

or add the following line to devDependencies in your package.json

"grunt-typescript": "",

Then modify your Gruntfile.js file by adding the following line:

grunt.loadNpmTasks('grunt-typescript');

Then add some configuration for the plugin like so:

grunt.initConfig({
    ...
    typescript: {
      base: {
        src: ['path/to/typescript/files/**/*.ts'],
        dest: 'where/you/want/your/js/files',
        options: {
          module: 'amd', //or commonjs
          target: 'es5', //or es3
          basePath: 'path/to/typescript/files',
          sourceMap: true,
          declaration: true
        }
      }
    },
    ...
});

If you want to create a js file that is a concatenation of all the ts file (like -out option from tsc), you should specify the name of the file with the '.js' extension to dest option.

grunt.initConfig({
    ...
    typescript: {
      base: {
        src: ['path/to/typescript/files/**/*.ts'],
        dest: 'where/you/want/your/js/file.js',
        options: {
          module: 'amd', //or commonjs
        }
      }
    },
    ...
});

##Options

###noLib boolean Do not include a default lib.d.ts with global declarations

###target string Specify ECMAScript target version: "ES3" (default) or "ES5"

###module string Specify module code generation: "commonjs" (default) or "amd"

###sourceMap boolean Generates corresponding .map files

###declaration boolean Generates corresponding .d.ts file

###comments boolean Emit comments to output

###noImplicitAny boolean Warn on expressions and declarations with an implied 'any' type.

###noResolve boolean Skip resolution and preprocessing.

##Original Options

###newLine string Specify newline code: "auto" (default) or "crlf" or "lf". This options is experimental.

###indentStep number Specify space indent count for code generation: This value will be disregarded if the useTabIndent option is specified. This options is experimental.

###useTabIndent boolean Specify tab indent for code generation: false (default) or true. This options is experimental.

###ignoreError boolean If the compiler can create a file, the task ignores the error. Default value is false.

###disallowAsi boolean Do not allow auto semicolon insertion. This options is experimental.

###basePath string Path component to cut off when mapping the source files to dest files.

###watch string or boolean or object Watch .ts files. It runs very quickly the second time since the compilation. It is because you only want to read and output file is limited.

Specify the directory where you want to monitor in the options.

grunt.initConfig({
        ...
    typescript: {
      base: {
        src: ['path/to/typescript/files/**/*.ts'],
        options: {
          watch: 'path/to/typescript/files'
        }
      }
    },
    ...
});

If you specify the true, then automatically detects the directory.

grunt.initConfig({
        ...
    typescript: {
      base: {
        src: ['path/to/typescript/files/**/*.ts'],
        options: {
          watch: true   //Detect all target files root. eg: 'path/to/typescript/files/'
        }
      }
    },
    ...
});

For expansion of the future, You can also be specified 'object'.

grunt.initConfig({
        ...
    typescript: {
      base: {
        src: ['path/to/typescript/files/**/*.ts'],
        options: {
          watch: {
            path: 'path/to/typescript/files',
            before: ['beforetasks'],   //Set before tasks. eg: clean task
            after: ['aftertasks']      //Set after tasks.  eg: minify task
            atBegin: true              //Run tasks when watcher starts. default false
          }
        }
      }
    },
    ...
});

※I'm sorry for poor English

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 99.1%
  • TypeScript 0.9%