const path = require('path')const gulp = require('gulp')const less = require('gulp-less')const rename = require('gulp-rename')const cleanCss = require('gulp-clean-css')const babel = require('gulp-babel')const gulpif = require('gulp-if')const isProduction = process.env.NODE_ENV === 'production'const dist = isProduction ? path.join(__dirname, './lib') : path.join(__dirname, './demo/lib')const src = path.join(__dirname, './src')const extTypes = ['ts', 'less', 'json', 'axml', 'sjs']gulp.task('less', () => { gulp.src(`${src}/**/*.less`) .pipe(less()) .pipe(gulpif(isProduction, cleanCss())) .pipe(rename({ extname: '.acss' })) .pipe(gulp.dest(dist))})gulp.task('ts', () => { gulp.src(`${src}/**/*.ts`) .pipe(babel()) .on('error', (err) => { console.log(err) }) .pipe(gulp.dest(dist)) gulp.src(`${src}/**/lv.ts`) .pipe(babel()) .on('error', (err) => { console.log(err) }) .pipe(gulp.dest(dist))})gulp.task('json', () => { gulp.src(`${src}/**/*.json`) .pipe(gulp.dest(dist))})gulp.task('axml', () => { gulp.src(`${src}/**/*.axml`) .pipe(gulp.dest(dist))})gulp.task('sjs', () => { gulp.src(`${src}/**/*.sjs`) .pipe(gulp.dest(dist))})gulp.task('build', extTypes)gulp.start('build')if (!isProduction) { console.log('Start watching') extTypes.forEach((type) => { const watcher = gulp.watch('src/**/*.' + type, { cwd: __dirname }) watcher.on('change', (event) => { gulp.start(type) const d = new Date() console.log(`${d.toLocaleString()} File ` + event.path + ' was ' + event.type) }) })}