diff --git a/packages/next/src/executors/build/build.impl.ts b/packages/next/src/executors/build/build.impl.ts index 7ecfdea5e6..93f7013e8d 100644 --- a/packages/next/src/executors/build/build.impl.ts +++ b/packages/next/src/executors/build/build.impl.ts @@ -1,26 +1,22 @@ import 'dotenv/config'; import { ExecutorContext } from '@nrwl/devkit'; - import build from 'next/dist/build'; - import { join, resolve } from 'path'; import { copySync, mkdir } from 'fs-extra'; - -import { prepareConfig } from '../../utils/config'; -import { NextBuildBuilderOptions } from '../../utils/types'; -import { createPackageJson } from './lib/create-package-json'; -import { createNextConfigFile } from './lib/create-next-config-file'; import { directoryExists } from '@nrwl/workspace/src/utilities/fileutils'; import { readCachedProjectGraph } from '@nrwl/devkit'; import { calculateProjectDependencies, DependentBuildableProjectNode, } from '@nrwl/workspace/src/utilities/buildable-libs-utils'; -import { checkPublicDirectory } from './lib/check-project'; -import { importConstants } from '../../utils/require-shim'; import { workspaceLayout } from '@nrwl/devkit'; -const { PHASE_PRODUCTION_BUILD } = importConstants(); +import { prepareConfig } from '../../utils/config'; +import { createPackageJson } from './lib/create-package-json'; +import { createNextConfigFile } from './lib/create-next-config-file'; +import { checkPublicDirectory } from './lib/check-project'; +import { NextBuildBuilderOptions } from '../../utils/types'; +import { PHASE_PRODUCTION_BUILD } from '../../utils/constants'; export default async function buildExecutor( options: NextBuildBuilderOptions, diff --git a/packages/next/src/executors/export/export.impl.ts b/packages/next/src/executors/export/export.impl.ts index c7d8e6f89c..174c353eb7 100644 --- a/packages/next/src/executors/export/export.impl.ts +++ b/packages/next/src/executors/export/export.impl.ts @@ -7,23 +7,21 @@ import { } from '@nrwl/devkit'; import exportApp from 'next/dist/export'; import { join, resolve } from 'path'; +import { readCachedProjectGraph } from '@nrwl/devkit'; +import { + calculateProjectDependencies, + DependentBuildableProjectNode, +} from '@nrwl/workspace/src/utilities/buildable-libs-utils'; +import { workspaceLayout } from '@nrwl/devkit'; import { prepareConfig } from '../../utils/config'; import { NextBuildBuilderOptions, NextExportBuilderOptions, } from '../../utils/types'; -import { readCachedProjectGraph } from '@nrwl/devkit'; -import { - calculateProjectDependencies, - DependentBuildableProjectNode, -} from '@nrwl/workspace/src/utilities/buildable-libs-utils'; -import { importConstants } from '../../utils/require-shim'; -import { workspaceLayout } from '@nrwl/devkit'; +import { PHASE_EXPORT } from '../../utils/constants'; import nextTrace = require('next/dist/trace'); -const { PHASE_EXPORT } = importConstants(); - export default async function exportExecutor( options: NextExportBuilderOptions, context: ExecutorContext diff --git a/packages/next/src/executors/server/server.impl.ts b/packages/next/src/executors/server/server.impl.ts index 179c60d5d3..3697ac6d0c 100644 --- a/packages/next/src/executors/server/server.impl.ts +++ b/packages/next/src/executors/server/server.impl.ts @@ -5,10 +5,15 @@ import { parseTargetString, readTargetOptions, } from '@nrwl/devkit'; - import * as chalk from 'chalk'; import { existsSync } from 'fs'; import { join, resolve } from 'path'; +import { readCachedProjectGraph } from '@nrwl/devkit'; +import { + calculateProjectDependencies, + DependentBuildableProjectNode, +} from '@nrwl/workspace/src/utilities/buildable-libs-utils'; +import { workspaceLayout } from '@nrwl/devkit'; import { prepareConfig } from '../../utils/config'; import { @@ -20,16 +25,11 @@ import { } from '../../utils/types'; import { customServer } from './lib/custom-server'; import { defaultServer } from './lib/default-server'; -import { readCachedProjectGraph } from '@nrwl/devkit'; -import { - calculateProjectDependencies, - DependentBuildableProjectNode, -} from '@nrwl/workspace/src/utilities/buildable-libs-utils'; import { assertDependentProjectsHaveBeenBuilt } from '../../utils/buildable-libs'; -import { importConstants } from '../../utils/require-shim'; -import { workspaceLayout } from '@nrwl/devkit'; - -const { PHASE_DEVELOPMENT_SERVER, PHASE_PRODUCTION_SERVER } = importConstants(); +import { + PHASE_DEVELOPMENT_SERVER, + PHASE_PRODUCTION_SERVER, +} from '../../utils/constants'; const infoPrefix = `[ ${chalk.dim(chalk.cyan('info'))} ] `; const readyPrefix = `[ ${chalk.green('ready')} ]`; diff --git a/packages/next/src/migrations/update-9-2-0/create-next-config.ts b/packages/next/src/migrations/update-9-2-0/create-next-config.ts index 1e8aecb780..46f9e8a998 100644 --- a/packages/next/src/migrations/update-9-2-0/create-next-config.ts +++ b/packages/next/src/migrations/update-9-2-0/create-next-config.ts @@ -1,9 +1,8 @@ import { chain, Rule, Tree } from '@angular-devkit/schematics'; import { formatFiles, readWorkspace } from '@nrwl/workspace'; import { join } from 'path'; -import { importConstants } from '../../utils/require-shim'; -const { CONFIG_FILE, CONFIG_FILES } = importConstants(); +import { CONFIG_FILES } from '../../utils/constants'; const defaultConfig = `const withSass = require('@zeit/next-sass'); const withLess = require('@zeit/next-less'); @@ -41,7 +40,7 @@ export default function update(): Rule { // Next.js 12 specifies two config files. const configFile = Array.isArray(CONFIG_FILES) ? CONFIG_FILES[0] - : CONFIG_FILE; + : 'next.config.js'; const configPath = join(p.root, configFile); if (!host.exists(configPath)) { host.create(configPath, defaultConfig); diff --git a/packages/next/src/utils/config.spec.ts b/packages/next/src/utils/config.spec.ts index 7673c1f258..f507d0f3c6 100644 --- a/packages/next/src/utils/config.spec.ts +++ b/packages/next/src/utils/config.spec.ts @@ -1,10 +1,9 @@ import { createWebpackConfig, prepareConfig } from './config'; import { NextBuildBuilderOptions } from '@nrwl/next'; import { dirname } from 'path'; -import { importConstants } from './require-shim'; import { TsconfigPathsPlugin } from 'tsconfig-paths-webpack-plugin'; -const { PHASE_PRODUCTION_BUILD } = importConstants(); +import { PHASE_PRODUCTION_BUILD } from './constants'; jest.mock('@nrwl/web/src/utils/config', () => ({ createCopyPlugin: () => {}, diff --git a/packages/next/src/utils/config.ts b/packages/next/src/utils/config.ts index d3a0217db7..a01c52eeec 100644 --- a/packages/next/src/utils/config.ts +++ b/packages/next/src/utils/config.ts @@ -28,8 +28,7 @@ import { createTmpTsConfig, DependentBuildableProjectNode, } from '@nrwl/workspace/src/utilities/buildable-libs-utils'; -import { importConfig } from './require-shim'; -const loadConfig = importConfig(); +const loadConfig = require('next/dist/server/config').default; export function createWebpackConfig( workspaceRoot: string, diff --git a/packages/next/src/utils/constants.ts b/packages/next/src/utils/constants.ts new file mode 100644 index 0000000000..6276788cd8 --- /dev/null +++ b/packages/next/src/utils/constants.ts @@ -0,0 +1 @@ +export * from 'next/dist/shared/lib/constants'; diff --git a/packages/next/src/utils/require-shim.ts b/packages/next/src/utils/require-shim.ts deleted file mode 100644 index 2e9cf52544..0000000000 --- a/packages/next/src/utils/require-shim.ts +++ /dev/null @@ -1,15 +0,0 @@ -export function importConstants() { - try { - return require('next/dist/next-server/lib/constants'); - } catch { - return require('next/dist/shared/lib/constants'); - } -} - -export function importConfig() { - try { - return require('next/dist/next-server/lib/config').default; - } catch { - return require('next/dist/server/config').default; - } -}