mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
58 lines
1.5 KiB
JavaScript
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']);
|