2013-11-15 07:07:14 +08:00
|
|
|
// Lint and build CSS
|
2018-09-27 21:15:41 +08:00
|
|
|
module.exports = function (grunt) {
|
2015-09-10 17:26:40 +08:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
grunt.registerTask('default', [
|
2017-10-02 02:02:25 +08:00
|
|
|
'clean:build',
|
|
|
|
'phantomjs',
|
|
|
|
'webpack:dev',
|
|
|
|
]);
|
|
|
|
|
|
|
|
grunt.registerTask('test', [
|
|
|
|
'sasslint',
|
2017-04-20 17:26:30 +08:00
|
|
|
'exec:tslint',
|
2017-10-22 13:03:26 +08:00
|
|
|
"exec:jest",
|
2017-10-02 02:02:25 +08:00
|
|
|
'no-only-tests'
|
2015-09-10 17:26:40 +08:00
|
|
|
]);
|
|
|
|
|
2018-12-21 21:23:32 +08:00
|
|
|
grunt.registerTask('tslint', [
|
|
|
|
'newer:exec:tslintPackages',
|
|
|
|
'newer:exec:tslintRoot',
|
|
|
|
]);
|
|
|
|
|
|
|
|
grunt.registerTask('typecheck', [
|
|
|
|
'newer:exec:typecheckPackages',
|
|
|
|
'newer:exec:typecheckRoot',
|
|
|
|
]);
|
|
|
|
|
2017-10-22 21:11:37 +08:00
|
|
|
grunt.registerTask('precommit', [
|
2018-12-21 21:23:32 +08:00
|
|
|
'newer:sasslint',
|
|
|
|
'typecheck',
|
|
|
|
'tslint',
|
2017-10-22 21:11:37 +08:00
|
|
|
'no-only-tests'
|
|
|
|
]);
|
|
|
|
|
2018-09-27 21:15:41 +08:00
|
|
|
grunt.registerTask('no-only-tests', function () {
|
2016-04-18 23:12:53 +08:00
|
|
|
var files = grunt.file.expand('public/**/*_specs\.ts', 'public/**/*_specs\.js');
|
|
|
|
|
2018-09-27 21:15:41 +08:00
|
|
|
files.forEach(function (spec) {
|
2016-04-18 23:12:53 +08:00
|
|
|
var rows = grunt.file.read(spec).split('\n');
|
2018-09-27 21:15:41 +08:00
|
|
|
rows.forEach(function (row) {
|
2016-04-18 23:12:53 +08:00
|
|
|
if (row.indexOf('.only(') > 0) {
|
|
|
|
grunt.log.errorlns(row);
|
|
|
|
grunt.fail.warn('found only statement in test: ' + spec)
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
2014-05-31 13:46:39 +08:00
|
|
|
};
|