nishant-design-system
Version:
Sense UI components library
50 lines (41 loc) • 1.04 kB
JavaScript
const gulp = require('gulp');
const babel = require('gulp-babel');
const rename = require('gulp-rename');
const replace = require('gulp-replace');
const babelRc = require('./babel.config');
const doNotBuildThese = [
'src/__tests__/**',
'src/**/*.test.js',
'src/**/*.stories.jsx',
'src/**/*.stories.module.css',
'src/stories/**',
];
function getJsStream() {
return gulp.src('src/**/*.{js,jsx}', {
ignore: doNotBuildThese,
});
}
function buildCjs() {
return getJsStream()
.pipe(babel(babelRc))
.pipe(replace('.jsx', '.js'))
.pipe(gulp.dest('lib'));
}
function copyFlow() {
return getJsStream()
.pipe(replace('.jsx', '.js'))
.pipe(
rename((path) => {
path.extname = path.extname.replace('jsx', 'js') + '.flow';
}),
)
.pipe(gulp.dest('lib'));
}
function copyOther() {
return gulp
.src('src/**/*', {
ignore: ['src/**/*.{js,jsx}', ...doNotBuildThese],
})
.pipe(gulp.dest('lib'));
}
module.exports.build = gulp.parallel(buildCjs, copyFlow, copyOther);