nx/docs/generated/cli/create-nx-workspace.md
Leosvel Pérez Espinosa cfe32c2560
feat(misc): add --useProjectJson flag to CNW (#30475)
## Current Behavior

Creating new workspaces since Nx 20.6.0 will generate the Nx
configuration in `package.json` files. This is intended, given that it
is part of the new setup using TypeScript Project References and Package
Manager Workspaces, but there's no way to choose to generate the Nx
configuration in `project.json` files. Project generators do allow to
choose but there's no way to do it when creating a new workspace. This
forces users who want to use `project.json` files to generate an empty
workspace and then use a project generator.

## Expected Behavior

When creating a new Nx workspace, users can provide an option
(`--use-project-json`) to generate the Nx configuration in
`project.json` files.

## Related Issue(s)

Fixes #30464
2025-03-24 08:42:18 -04:00

23 KiB

title description
create-nx-workspace - CLI command Create a new Nx workspace

create-nx-workspace

Create a new Nx workspace

Usage

create-nx-workspace [name] [options]

Install create-nx-workspace globally to invoke the command directly, or use npx create-nx-workspace, yarn create nx-workspace, or pnpx create-nx-workspace.

Options

Option Type Description
--allPrompts, --a boolean Show all prompts. (Default: false)
--appName string The name of the app when using a monorepo with certain stacks.
--bundler string Bundler to be used to build the app.
--commit.email string E-mail of the committer.
--commit.message string Commit message. (Default: Initial commit)
--commit.name string Name of the committer.
--defaultBase string Default base to use for new projects. (Default: main)
--docker boolean Generate a Dockerfile for the Node API.
--e2eTestRunner playwright, cypress, none Test runner to use for end to end (E2E) tests.
--formatter string Code formatter to use.
--framework string Framework option to be used with certain stacks.
--help boolean Show help.
--interactive boolean Enable interactive mode with presets. (Default: true)
--name string Workspace name (e.g. org name).
--nextAppDir boolean Enable the App Router for Next.js.
--nextSrcDir boolean Generate a 'src/' directory for Next.js.
--nxCloud, --ci github, gitlab, azure, bitbucket-pipelines, circleci, skip, yes Which CI provider would you like to use?
--packageManager, --pm bun, npm, pnpm, yarn Package manager to use. (Default: npm)
--prefix string Prefix to use for Angular component and directive selectors.
--preset string Customizes the initial content of your workspace. Default presets include: ["apps", "npm", "ts", "web-components", "angular-monorepo", "angular-standalone", "react-monorepo", "react-standalone", "vue-monorepo", "vue-standalone", "nuxt", "nuxt-standalone", "next", "nextjs-standalone", "react-native", "expo", "nest", "express", "react", "vue", "angular", "node-standalone", "node-monorepo", "ts-standalone"]. To build your own see https://nx.dev/extending-nx/recipes/create-preset.
--routing boolean Add a routing setup for an Angular or React app. (Default: true)
--skipGit, --g boolean Skip initializing a git repository. (Default: false)
--ssr boolean Enable Server-Side Rendering (SSR) and Static Site Generation (SSG/Prerendering) for the Angular application.
--standaloneApi boolean Use Standalone Components if generating an Angular app. (Default: true)
--style string Stylesheet type to be used with certain stacks.
--unitTestRunner jest, vitest, none Test runner to use for unit tests.
--useGitHub boolean Will you be using GitHub as your git hosting provider? (Default: false)
--useProjectJson boolean Use a 'project.json' file for the Nx configuration instead of a 'package.json' file. This defaults to 'true' when '--no-workspaces' is used. Otherwise, it defaults to 'false'.
--useReactRouter boolean Generate a Server-Side Rendered (SSR) React app using React Router.
--version boolean Show version number.
--workspaces boolean Use package manager workspaces. (Default: true)
--workspaceType integrated, package-based, standalone The type of workspace to create.

Presets

Preset Description
angular Allows you to choose between the angular-standalone or angular-monorepo presets
angular-monorepo An Angular monorepo
angular-standalone A single Angular application
apps A basic integrated style repository starting with no projects
expo A monorepo with an Expo application
express A monorepo with an Express application
nest A monorepo with a Nest application
next A Next monorepo
nextjs-standalone A single Next application
node-monorepo A Node monorepo
node-standalone A single Node application
npm A repository configured with NPM Workspaces using a package-based style.
nuxt A Nuxt monorepo
nuxt-standalone A single Nuxt application
react Allows you to choose between the react-standalone or react-monorepo presets
react-monorepo A React monorepo
react-native A monorepo with a React Native application
react-standalone A single React application
ts A basic integrated style repository starting with TypeScript configured but no projects
ts-standalone A single TypeScript application
vue Allows you to choose between the vue-standalone or vue-monorepo presets
vue-monorepo A Vue monorepo
vue-standalone A single Vue application
web-components An integrated style repository with an application configured to use web components