Files
douyin/app/gulpfile.babel.js/index.js
T
2025-09-30 15:00:32 +08:00

87 lines
2.2 KiB
JavaScript

import { series, src, dest } from 'gulp';
import clean from 'gulp-clean';
import replace from 'gulp-replace';
import vueTsc from './vueTemplateTsc';
export { default as tsc } from './vueTemplateTsc';
function cleanAll() {
return src(['./target/*', '!./target/node_modules'], { allowEmpty: true }).pipe(clean({ force: true }));
}
function copyIndex() {
return src(['./index.html']).pipe(replace('.ts', '.js')).pipe(replace(' + TS', '')).pipe(dest('./target'));
}
function copyPublic() {
return src(['./public/**/*']).pipe(dest('./target/public'));
}
function copyStyleAndJs() {
return src(['./src/**/*.{less,css,js}']).pipe(dest('./target/src'));
}
function copyAssets() {
return src(['./src/assets/**/*']).pipe(dest('./target/src/assets'));
}
function copyConfig() {
return src([
'./.env*',
'./.gitignore',
'.babelrc',
'./*.{json,cjs}',
'./LICENSE',
'!./tsconfig.*',
'!./package*.json',
]).pipe(dest('./target'));
}
function copyReadme() {
return src(['./*.md']).pipe(replace('stepin-template.git', 'stepin-template-js.git')).pipe(dest('./target'));
}
function copyPackageJson() {
return src(['./package.json'])
.pipe(replace(/,?[\r\n]+.*"(gulp[\-\w]*|vue-tsc|typescript)"[^,\r\n]*/g, ''))
.pipe(replace(/vue-tsc --noEmit && /g, ''))
.pipe(dest('./target'));
}
function cleanJsRepository() {
return src([
'../stepin-template-js/*',
'!../stepin-template-js/node_modules',
'!../stepin-template-js/.git',
'!../stepin-template-js/.history',
'!../stepin-template-js/.vscode',
]).pipe(clean({ force: true }));
}
export function copyToJsRepository() {
return src([
'./target/**/*',
'./.env*',
'./.gitignore',
'.babelrc',
'!./target/node_modules/**/*',
'!./target/node_modules',
]).pipe(dest('../stepin-template-js'));
}
export function copyDocs() {
return src(['./docs/**/*', '!./docs/.vitepress/**/*', '!./docs/.vitepress']).pipe(dest('../stepin-template-js/docs'));
}
export const makeJs = series(cleanJsRepository, copyToJsRepository, copyDocs);
export default series(
cleanAll,
vueTsc,
copyIndex,
copyPublic,
copyStyleAndJs,
copyConfig,
copyReadme,
copyAssets,
copyPackageJson
);