/* eslint-disable no-console */ import path from 'path' import fs, { existsSync } from 'fs-extra' import chalk from 'chalk' import { getTempDir, salesAppCoreDir } from './directory' import { logger } from './logger' import { packageName } from './package' export async function createTempDir(monorepoDir: string) { const tempDir = getTempDir(monorepoDir) const tempSrcDir = path.join(tempDir, 'src') const monorepoSrcDir = path.join(monorepoDir, 'src') if (existsSync(tempDir)) { fs.removeSync(tempDir) } fs.mkdirSync(tempSrcDir, { recursive: true }) await fs.copy(salesAppCoreDir, tempDir, { filter: (src: string) => { if (src.includes(`${packageName}/node_modules`)) { return false } if (path.basename(src) === 'package.json') { return false } return true }, dereference: true, }) if (!existsSync(monorepoSrcDir)) { return } await fs.copy(monorepoSrcDir, tempSrcDir, { dereference: true, }) logger.log(`${chalk.green('Success')} - Project copied successfully.`) }