diff --git a/package.json b/package.json index d38de899bf5..326c813dc93 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "systemjs-builder": "^0.15.34", "tether": "^1.4.0", "tether-drop": "https://github.com/torkelo/drop", - "tslint": "^4.0.2", + "tslint": "^4.5.1", "typescript": "^2.1.4", "virtual-scroll": "^1.1.1" } diff --git a/tasks/options/exec.js b/tasks/options/exec.js index 65de74fef9f..98927436518 100644 --- a/tasks/options/exec.js +++ b/tasks/options/exec.js @@ -1,7 +1,7 @@ module.exports = function(config) { 'use strict' return { - tslint : "node ./node_modules/tslint/lib/tslint-cli.js -c tslint.json --project ./tsconfig.json", + tslint : "node ./node_modules/tslint/lib/tslint-cli.js -c tslint.json --project ./tsconfig.json <%= tslint.source.files.src %>", tscompile: "node ./node_modules/typescript/lib/tsc.js -p tsconfig.json --diagnostics", tswatch: "node ./node_modules/typescript/lib/tsc.js -p tsconfig.json --diagnostics --watch", }; diff --git a/tasks/options/watch.js b/tasks/options/watch.js index 545a149054a..612b4d2b86c 100644 --- a/tasks/options/watch.js +++ b/tasks/options/watch.js @@ -8,6 +8,10 @@ module.exports = function(config, grunt) { var lastTime; grunt.registerTask('watch', function() { + if (!grunt.option('skip-ts-compile')) { + grunt.log.writeln('We recommoned starting with: grunt watch --force --skip-ts-compile') + grunt.log.writeln('Then do incremental typescript builds with: grunt exec:tswatch') + } done = this.async(); lastTime = new Date().getTime(); @@ -58,6 +62,14 @@ module.exports = function(config, grunt) { newPath = filepath.replace(/^public/, 'public_gen'); grunt.log.writeln('Copying to ' + newPath); grunt.file.copy(filepath, newPath); + + if (grunt.option('skip-ts-compile')) { + grunt.log.writeln('Skipping ts compile, run grunt exec:tswatch to start typescript watcher') + } else { + grunt.task.run('exec:tscompile'); + } + + grunt.config('tslint.source.files.src', filepath); grunt.task.run('exec:tslint'); }