mirror of
https://github.com/infeng/react-viewer.git
synced 2025-12-08 17:36:40 +00:00
44 lines
1.5 KiB
JavaScript
44 lines
1.5 KiB
JavaScript
const gulp = require('gulp');
|
|
const ts = require('gulp-typescript');
|
|
const tsConfig = require('./getTSCommonConfig')();
|
|
const babelConfig = require('./getBabelCommonConfig')();
|
|
delete babelConfig.cacheDirectory;
|
|
const babel = require('gulp-babel');
|
|
const transformLess = require('atool-build/lib/transformLess');
|
|
const through2 = require('through2');
|
|
const merge2 = require('merge2');
|
|
|
|
function babelify(js) {
|
|
return js.pipe(babel(babelConfig))
|
|
.pipe(gulp.dest('lib'));
|
|
}
|
|
|
|
gulp.task('default', () => {
|
|
const less = gulp.src(['src/' + '**/' + '*.less'])
|
|
.pipe(through2.obj(function (file, encoding, next) {
|
|
this.push(file.clone());
|
|
if (file.path.match(/\/style\/index\.less$/)) {
|
|
transformLess(file.path).then((css) => {
|
|
file.contents = new Buffer(css);
|
|
file.path = file.path.replace(/\.less$/, '.css');
|
|
this.push(file);
|
|
next();
|
|
}).catch((e) => {
|
|
console.error(e);
|
|
});
|
|
} else {
|
|
next();
|
|
}
|
|
}))
|
|
.pipe(gulp.dest('lib'));
|
|
const img = gulp.src(['src/' + '**/' + '*.png']).pipe(gulp.dest('lib'));
|
|
const fonts = gulp.src(['src/**/*.eot', 'src/**/*.svg', 'src/**/*.ttf', 'src/**/*.woff']).pipe(gulp.dest('lib'));
|
|
const tsResult = gulp.src([
|
|
'src/**/*.tsx',
|
|
'src/**/*.ts',
|
|
'!src/__tests__/**/*.tsx',
|
|
]).pipe(ts(tsConfig));
|
|
const tsFiles = babelify(tsResult.js);
|
|
const tsd = tsResult.dts.pipe(gulp.dest('lib'));
|
|
return merge2([tsFiles, tsd]);
|
|
}); |