/
githubmirror
/
ydb-ui-components
Обзор
Документация
Войти
/
githubmirror
/
ydb-ui-components
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
v3.2.2
gulpfile.js
53 строки
2 KB
trshkv
build: include i18n files
19 май 2022, 13:52
19 май 2022, 13:52
8363de6
Код
Авторство
О чём код?
/* eslint-env node */ const path = require('path'); const {task, src, dest, series, parallel} = require('gulp'); const rimraf = require('rimraf'); const replace = require('gulp-replace'); const ts = require('gulp-typescript'); const babel = require('gulp-babel'); const sass = require('gulp-dart-sass'); const BUILD_DIR = path.resolve('build'); task('clean', (done) => { rimraf.sync(BUILD_DIR); rimraf.sync('styles/**/*.css'); done(); }); task('ts-compile', () => { return src(['src/**/*.{ts,tsx}', '!src/**/__stories__/**/*.{ts,tsx}']) .pipe(replace(/import '.+\.scss';/g, (match) => match.replace('.scss', '.css'))) .pipe( babel({ presets: ['@babel/preset-env', '@babel/preset-react', '@babel/preset-typescript'], }), ) .pipe(dest(path.resolve(BUILD_DIR))); }); task('ts-declaration', () => { const tsProject = ts.createProject('tsconfig.json', { declaration: true, emitDeclarationOnly: true, isolatedModules: false, }); return src(['src/**/*.{ts,tsx}', '!src/**/__stories__/**/*.{ts,tsx}']) .pipe(tsProject()) .pipe(dest(path.resolve(BUILD_DIR))); }); task('i18n', () => { return src('src/**/i18n/*.json').pipe(dest(path.resolve(BUILD_DIR))); }); task('styles', () => { return src(['src/**/*.scss', '!src/**/__stories__/**/*.scss']) .pipe(sass().on('error', sass.logError)) .pipe(dest(path.resolve(BUILD_DIR))); }); task('build', series(['clean', parallel(['ts-compile', 'ts-declaration', 'i18n']), 'styles'])); task('default', series(['build']));