Просмотр исходного кода

build: updated grunt watch to explain best usage

Torkel Ödegaard 8 лет назад
Родитель
Сommit
473006e8cf
3 измененных файлов с 14 добавлено и 2 удалено
  1. 1 1
      package.json
  2. 1 1
      tasks/options/exec.js
  3. 12 0
      tasks/options/watch.js

+ 1 - 1
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"
   }

+ 1 - 1
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",
   };

+ 12 - 0
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');
         }