Files
alfresco-ng2-components/ng2-components/ng2-alfresco-documentslist/gulpfile.js
2016-04-21 11:39:16 +01:00

58 lines
1.5 KiB
JavaScript

const gulp = require('gulp');
const del = require('del');
const typescript = require('gulp-typescript');
const tscConfig = require('./tsconfig.json');
const sourcemaps = require('gulp-sourcemaps');
const tslint = require('gulp-tslint');
const tsconfig = require('tsconfig-glob');
// clean the contents of the distribution directory
gulp.task('clean', function () {
return del('dist/**/*');
});
// copy static assets - i.e. non TypeScript compiled source
gulp.task('copy:assets', ['clean'], function () {
return gulp.src(['src/**/*.ts','!node_modules/**/*.*'])
.pipe(gulp.dest('dist'))
});
// copy dependencies
gulp.task('copy:libs', ['clean'], function () {
return gulp.src([
'node_modules/**/*',
'!node_modules/**/*.d.ts'
])
.pipe(gulp.dest('dist/node_modules'))
});
// linting
gulp.task('tslint', function () {
return gulp.src('app/**/*.ts')
.pipe(tslint())
.pipe(tslint.report('verbose'));
});
// TypeScript compile
gulp.task('compile', ['clean'], function () {
return gulp
.src(tscConfig.files)
.pipe(sourcemaps.init())
.pipe(typescript(tscConfig.compilerOptions))
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest('dist'));
});
// update the tsconfig files based on the glob pattern
gulp.task('tsconfig-glob', function () {
return tsconfig({
configPath: '.',
indent: 2
});
});
gulp.task('build', ['tslint', 'copy:assets', 'copy:libs', 'compile']);
gulp.task('default', ['build']);