var gulp = require('gulp'); var concat = require('gulp-concat'); var sort = require('gulp-sort'); var minify = require('gulp-minify'); var replace = require('gulp-string-replace'); gulp.task('build', build); gulp.task('monitor', monitor); var code = ' if (R3.Utils.UndefinedOrNull(apiComponent)) {'; code += ' apiComponent = {};'; code += ' }'; code += ' this.apiComponent = apiComponent;'; code += '\n'; code += ' R3.API.Component.call('; code += ' this,'; code += ' this.apiComponent.parent,'; code += ' this.apiComponent.id,'; code += ' this.apiComponent.name'; code += ' );'; function build() { return gulp.src('./src/r3-*.js') .pipe(sort()) .pipe(concat('r3.js')) .pipe(replace('__DATE__', new Date().toString())) .pipe(replace('__API_COMPONENT_MACRO__', code)); .pipe(minify({ ext:{ src:'.js', min:'-min.js' } })) .pipe(gulp.dest('./build/')); } function monitor() { gulp.watch('src/*.js', build); } gulp.task( 'default', gulp.series( build, monitor ) );