mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-12 17:04:57 +00:00
72 lines
1.9 KiB
JavaScript
72 lines
1.9 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 browserSync = require('browser-sync');
|
|
const reload = browserSync.reload;
|
|
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(['app/**/*',
|
|
'index.html',
|
|
'!app/**/*.ts'], { base : './' })
|
|
.pipe(gulp.dest('dist'))
|
|
});
|
|
|
|
// copy dependencies
|
|
gulp.task('copy:libs', ['clean'], function() {
|
|
return gulp.src([
|
|
'node_modules/**/*'
|
|
])
|
|
.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/app'));
|
|
});
|
|
|
|
// update the tsconfig files based on the glob pattern
|
|
gulp.task('tsconfig-glob', function () {
|
|
return tsconfig({
|
|
configPath: '.',
|
|
indent: 2
|
|
});
|
|
});
|
|
|
|
// Run browsersync for development
|
|
gulp.task('serve', ['build'], function() {
|
|
browserSync({
|
|
server: {
|
|
baseDir: 'dist'
|
|
}
|
|
});
|
|
|
|
gulp.watch(['app/**/*', 'index.html'], ['buildAndReload']);
|
|
});
|
|
|
|
gulp.task('build', ['tslint', 'compile', 'copy:assets', 'copy:libs', ]);
|
|
gulp.task('dev', ['build', 'serve'], reload);
|
|
gulp.task('default', ['build']);
|