Browse Source

Compile TS of the whole project to detect type errors

- was not covered by TS lint
- TS errors are only noticed in broken builds
- added grunt task to run `tsc --noEmit`
David Kaltschmidt 7 years ago
parent
commit
88f36cbd22
2 changed files with 7 additions and 5 deletions
  1. 5 4
      scripts/grunt/default_task.js
  2. 2 1
      scripts/grunt/options/exec.js

+ 5 - 4
scripts/grunt/default_task.js

@@ -1,5 +1,5 @@
 // Lint and build CSS
-module.exports = function(grunt) {
+module.exports = function (grunt) {
   'use strict';
 
   grunt.registerTask('default', [
@@ -18,15 +18,16 @@ module.exports = function(grunt) {
   grunt.registerTask('precommit', [
     'sasslint',
     'exec:tslint',
+    'exec:tsc',
     'no-only-tests'
   ]);
 
-  grunt.registerTask('no-only-tests', function() {
+  grunt.registerTask('no-only-tests', function () {
     var files = grunt.file.expand('public/**/*_specs\.ts', 'public/**/*_specs\.js');
 
-    files.forEach(function(spec) {
+    files.forEach(function (spec) {
       var rows = grunt.file.read(spec).split('\n');
-      rows.forEach(function(row) {
+      rows.forEach(function (row) {
         if (row.indexOf('.only(') > 0) {
           grunt.log.errorlns(row);
           grunt.fail.warn('found only statement in test: ' + spec)

+ 2 - 1
scripts/grunt/options/exec.js

@@ -1,8 +1,9 @@
-module.exports = function(config, grunt) {
+module.exports = function (config, grunt) {
   'use strict';
 
   return {
     tslint: 'node ./node_modules/tslint/lib/tslintCli.js -c tslint.json --project ./tsconfig.json',
+    tsc: 'yarn tsc --noEmit',
     jest: 'node ./node_modules/jest-cli/bin/jest.js --maxWorkers 2',
     webpack: 'node ./node_modules/webpack/bin/webpack.js --config scripts/webpack/webpack.prod.js',
   };