default_task.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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. 'tslint',
  12. 'typecheck',
  13. "exec:jest",
  14. 'no-only-tests'
  15. ]);
  16. grunt.registerTask('tslint', [
  17. 'newer:exec:tslintPackages',
  18. 'newer:exec:tslintRoot',
  19. ]);
  20. grunt.registerTask('typecheck', [
  21. 'newer:exec:typecheckPackages',
  22. 'newer:exec:typecheckRoot',
  23. ]);
  24. grunt.registerTask('precommit', [
  25. 'newer:sasslint',
  26. 'typecheck',
  27. 'tslint',
  28. 'no-only-tests'
  29. ]);
  30. grunt.registerTask('no-only-tests', function () {
  31. var files = grunt.file.expand(
  32. 'public/**/*@(_specs|\.test)\.@(ts|js|tsx|jsx)',
  33. 'packages/grafana-ui/**/*@(_specs|\.test)\.@(ts|js|tsx|jsx)'
  34. );
  35. files.forEach(function (spec) {
  36. var rows = grunt.file.read(spec).split('\n');
  37. rows.forEach(function (row) {
  38. if (row.indexOf('.only(') > 0) {
  39. grunt.log.errorlns(row);
  40. grunt.fail.warn('found only statement in test: ' + spec);
  41. }
  42. });
  43. });
  44. });
  45. };