default_task.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. // Lint and build CSS
  2. module.exports = function (grunt) {
  3. 'use strict';
  4. grunt.registerTask('default', [
  5. 'clean:build',
  6. 'phantomjs',
  7. 'webpack:dev',
  8. ]);
  9. grunt.registerTask('test', [
  10. 'sasslint',
  11. 'exec:tslint',
  12. "exec:jest",
  13. 'no-only-tests'
  14. ]);
  15. grunt.registerTask('tslint', [
  16. 'newer:exec:tslintPackages',
  17. 'newer:exec:tslintRoot',
  18. ]);
  19. grunt.registerTask('typecheck', [
  20. 'newer:exec:typecheckPackages',
  21. 'newer:exec:typecheckRoot',
  22. ]);
  23. grunt.registerTask('precommit', [
  24. 'newer:sasslint',
  25. 'typecheck',
  26. 'tslint',
  27. 'no-only-tests'
  28. ]);
  29. grunt.registerTask('no-only-tests', function () {
  30. var files = grunt.file.expand('public/**/*_specs\.ts', 'public/**/*_specs\.js');
  31. files.forEach(function (spec) {
  32. var rows = grunt.file.read(spec).split('\n');
  33. rows.forEach(function (row) {
  34. if (row.indexOf('.only(') > 0) {
  35. grunt.log.errorlns(row);
  36. grunt.fail.warn('found only statement in test: ' + spec)
  37. }
  38. });
  39. });
  40. });
  41. };