project.json:

1//... 2{ 3 "name": "acme", 4 "$schema": "node_modules/nx/schemas/project-schema.json", 5 "sourceRoot": ".", 6 "projectType": "application", 7 "targets": { 8 //... 9 "build": { 10 "executor": "@nx/next:build", 11 "outputs": ["{options.outputPath}"], 12 "defaultConfiguration": "production", 13 "options": { 14 "outputPath": "dist/acme" 15 } 16 } 17 //... 18 } 19} 20
1nx run acme:build 2

Examples

For Next.js Standalone projects

This is the default configuration for Next.js standalone projects. Our @nx/next:build executor is integrated to use Next.js' CLI. You can read more about the build options at Next.js CLI Options

1 "build": { 2 "executor": "@nx/next:build", 3 "outputs": ["{options.outputPath}"], 4 "defaultConfiguration": "production", 5 "options": { 6 "outputPath": "dist/acme" 7 }, 8 "configurations": { 9 "development": { 10 "outputPath": "." 11 }, 12 "production": {} 13 } 14 }, 15

Options

outputPath

Required
string

The output path of the generated files.

nextConfig

string

Path (relative to workspace root) to a function which takes phase, config, and builder options, and returns the resulting config. This is an advanced option and should not be used with a normal Next.js config file (i.e. next.config.js).

buildLibsFromSource

boolean
Default: true

Read buildable libraries from source instead of building them separately.

debug

boolean

Enable Next.js debug build logging

experimentalAppOnly

boolean

Only build 'app' routes

experimentalBuildMode

string
Accepted values: compile, generate

Change the build mode.

fileReplacements

Default: []

Replace files with other files in the build.

includeDevDependenciesInPackageJson

boolean
Default: false

Include devDependencies in the generated package.json file. By default only production dependencies are included.

profile

boolean

Used to enable React Production Profiling

skipPackageManager

boolean

Do not add a packageManager entry to the generated package.json file.

generateLockfile

Internal
boolean
Default: false

Generate a lockfile (e.g. package-lock.json) that matches the workspace lockfile to ensure package versions match.