You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

57 lines
2.8 KiB

"use strict";
const fs =require('fs');
Object.defineProperty(exports, "__esModule", { value: true });
/**
* 同步 platform-core 定义的前端项目配置
* 从 platform-core 库的 template-project 目录中复制前端项目文件到本地项目
*/
const { rm, cp, mergeJsonFile } =require('./util.js');
const sync = async () => {
const sourceDir =process.cwd() + '/node_modules/platform-core/template-project/';
const targetDir =process.cwd() + '/';
cp(sourceDir + '.browserslistrc', targetDir + '.browserslistrc');
cp(sourceDir + '.editorconfig', targetDir + '.editorconfig');
cp(sourceDir + '.gitignore', targetDir + '.gitignore');
cp(sourceDir + '.npmignore', targetDir + '.npmignore');
cp(sourceDir + '.npmrc', targetDir + '.npmrc');
cp(sourceDir + '.prettierignore', targetDir + '.prettierignore');
cp(sourceDir + '.prettierrc.json', targetDir + '.prettierrc.json');
cp(sourceDir + 'babel.config.cjs', targetDir + 'babel.config.cjs');
cp(sourceDir + 'frontend-register.json', targetDir + 'frontend-register.json');
cp(sourceDir + 'nodemon.json', targetDir + 'nodemon.json');
cp(sourceDir + 'postcss.config.cjs', targetDir + 'postcss.config.cjs');
cp(sourceDir + 'tailwind.config.cjs', targetDir + 'tailwind.config.cjs');
cp(sourceDir + 'util-components-generator.cjs',targetDir + 'util-components-generator.cjs');
cp(sourceDir + 'util-frontend-register.cjs',targetDir + 'util-frontend-register.cjs');
cp(sourceDir + 'webpack.config.common.cjs', targetDir + 'webpack.config.common.cjs');
cp(sourceDir + 'webpack.config.mf.cjs', targetDir + 'webpack.config.mf.cjs');
cp(sourceDir + 'webpack.env.build.cjs', targetDir + 'webpack.env.build.cjs');
cp(sourceDir + 'webpack.env.prod.cjs', targetDir + 'webpack.env.prod.cjs');
cp(sourceDir + 'webpack.env.serve.cjs', targetDir + 'webpack.env.serve.cjs');
if(fs.existsSync(targetDir + 'public/webjars')){
rm(targetDir + 'public/webjars');
}
if(fs.existsSync(targetDir + 'public/svg-path-editor')){
rm(targetDir + 'public/svg-path-editor');
}
rm(targetDir + 'public/configure.js');
rm(targetDir + 'public/favicon.svg');
rm(targetDir + 'public/index.html');
rm(targetDir + 'public/login-bg.jpg');
rm(targetDir + 'public/logo.svg');
cp(sourceDir + 'public', targetDir + 'public');
mergeJsonFile(targetDir + 'frontend-register.json', sourceDir + 'frontend-register.json', ['path']);
mergeJsonFile(targetDir + 'package.json', sourceDir + 'package.json', ['scripts','devDependencies','dependencies']);
mergeJsonFile(targetDir + 'tsconfig.json', sourceDir + 'tsconfig.json', ['compilerOptions']);
console.info('sync completed!');
};
module.exports = sync;