Add API monorepo
Change-Id: I39aa1707744bb86c4bc9113157bbf815bb3fe33a
This commit is contained in:
parent
b87cff043a
commit
5246efb027
56 changed files with 251 additions and 22 deletions
25
create.js
25
create.js
|
@ -6,7 +6,6 @@ const argv = require('minimist')(process.argv.slice(2));
|
|||
// questions
|
||||
const appName = argv.name ?? 'app';
|
||||
const appPort = argv.port ?? '0';
|
||||
const isMonorepo = argv.monorepo === 'T';
|
||||
|
||||
const defaultContextDir = './';
|
||||
const rootDir = __dirname;
|
||||
|
@ -14,18 +13,19 @@ const contextDir = `${argv._[0]}/` ?? defaultContextDir;
|
|||
|
||||
// create app folder
|
||||
const appsDir = `${contextDir}/apps`;
|
||||
const appDir = isMonorepo ? `${contextDir}/apps/${appName}-fe` : `${contextDir}/`;
|
||||
const uiDir = `${contextDir}/apps/${appName}-ui`;
|
||||
const apiDir = `${contextDir}/apps/${appName}-api`;
|
||||
|
||||
// prepare structure folders
|
||||
if (!fs.existsSync(appDir)) {
|
||||
if (!fs.existsSync(uiDir)) {
|
||||
if (!fs.existsSync(contextDir)) {
|
||||
fs.mkdirSync(contextDir);
|
||||
}
|
||||
if (isMonorepo) {
|
||||
fs.mkdirSync(appsDir);
|
||||
}
|
||||
fs.mkdirSync(appDir);
|
||||
fs.mkdirSync(`${appDir}/src`);
|
||||
fs.mkdirSync(appsDir);
|
||||
fs.mkdirSync(uiDir);
|
||||
fs.mkdirSync(`${uiDir}/src`);
|
||||
fs.mkdirSync(apiDir);
|
||||
fs.mkdirSync(`${apiDir}/src`);
|
||||
}
|
||||
|
||||
// copy folder content
|
||||
|
@ -34,7 +34,11 @@ try {
|
|||
force: true,
|
||||
recursive: true,
|
||||
});
|
||||
fs.cpSync(`${rootDir}/source/app/`, appDir, {
|
||||
fs.cpSync(`${rootDir}/source/ui/`, uiDir, {
|
||||
force: true,
|
||||
recursive: true,
|
||||
});
|
||||
fs.cpSync(`${rootDir}/source/api/`, apiDir, {
|
||||
force: true,
|
||||
recursive: true,
|
||||
});
|
||||
|
@ -50,7 +54,8 @@ fs.renameSync(`${contextDir}/npmrc`, `${contextDir}/.npmrc`);
|
|||
fs.renameSync(`${contextDir}/gitignore`, `${contextDir}/.gitignore`);
|
||||
fs.renameSync(`${contextDir}/prettierrc`, `${contextDir}/.prettierrc`);
|
||||
fs.renameSync(`${contextDir}/.tsconfig.json`, `${contextDir}/tsconfig.json`);
|
||||
fs.renameSync(`${appDir}/.tsconfig.json`, `${appDir}/tsconfig.json`);
|
||||
fs.renameSync(`${uiDir}/.tsconfig.json`, `${uiDir}/tsconfig.json`);
|
||||
fs.renameSync(`${apiDir}/.tsconfig.json`, `${apiDir}/tsconfig.json`);
|
||||
|
||||
// replace in files
|
||||
replaceInFiles.sync({
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue