diff --git a/packages/cli/src/utils/generate.ts b/packages/cli/src/utils/generate.ts index 3fa28599d8..7e4d5a6773 100644 --- a/packages/cli/src/utils/generate.ts +++ b/packages/cli/src/utils/generate.ts @@ -6,6 +6,7 @@ import { readdirSync, readFileSync, removeSync, + symlinkSync, writeFileSync, writeJsonSync, } from 'fs-extra' @@ -75,7 +76,7 @@ function copyCoreFiles() { } function copyPublicFiles() { - const allowList = ["json", "txt", "xml", "ico", "public"] + const allowList = ['json', 'txt', 'xml', 'ico', 'public'] try { if (existsSync(`${userDir}/public`)) { copySync(`${userDir}/public`, `${tmpDir}/public`, { @@ -84,7 +85,7 @@ function copyPublicFiles() { const allow = allowList.some((ext) => src.endsWith(ext)) return allow - } + }, }) console.log(`${chalk.green('success')} - Public files copied`) } @@ -254,7 +255,8 @@ function mergeCMSFiles() { function copyUserNodeModules() { try { - copySync(userNodeModulesDir, tmpNodeModulesDir) + symlinkSync(userNodeModulesDir, tmpNodeModulesDir, 'dir') + console.log( `${chalk.green('success')} - ${chalk.dim('node_modules')} files copied` ) diff --git a/packages/core/next.config.js b/packages/core/next.config.js index d50a8cc31f..2a4a4eb846 100644 --- a/packages/core/next.config.js +++ b/packages/core/next.config.js @@ -23,6 +23,9 @@ const nextConfig = { scrollRestoration: true, }, webpack: (config, { isServer, dev }) => { + // Dependencies will be able to be resolved from the symlinked location + config.resolve.symlinks = false + // https://github.com/vercel/next.js/discussions/11267#discussioncomment-2479112 // camel-case style names from css modules config.module.rules