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.
 
 
 
 
 
 

56 lines
2.6 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 + 'src/css/tailwind.css', targetDir + 'src/css/tailwind.css');
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');
}
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;