## 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
145 lines
4.8 KiB
JSON
145 lines
4.8 KiB
JSON
{
|
|
"name": "preset",
|
|
"factory": "./src/generators/preset/preset#presetGenerator",
|
|
"schema": {
|
|
"$schema": "https://json-schema.org/schema",
|
|
"$id": "NxWorkspacePreset",
|
|
"cli": "nx",
|
|
"title": "Creates applications in a new workspace",
|
|
"description": "Creates applications in a new workspace.",
|
|
"type": "object",
|
|
"properties": {
|
|
"preset": { "description": "The name of the preset.", "type": "string" },
|
|
"name": {
|
|
"description": "The name of the application.",
|
|
"type": "string"
|
|
},
|
|
"linter": {
|
|
"description": "The tool to use for running lint checks.",
|
|
"type": "string",
|
|
"enum": ["eslint", "none"],
|
|
"default": "eslint"
|
|
},
|
|
"routing": {
|
|
"description": "Add routing to the generated application.",
|
|
"type": "boolean",
|
|
"default": true
|
|
},
|
|
"useReactRouter": {
|
|
"description": "Use React Router for routing.",
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"style": {
|
|
"description": "The file extension to be used for style files.",
|
|
"type": "string",
|
|
"default": "css",
|
|
"x-prompt": {
|
|
"message": "Which stylesheet format would you like to use?",
|
|
"type": "list",
|
|
"items": [
|
|
{ "value": "css", "label": "CSS" },
|
|
{
|
|
"value": "scss",
|
|
"label": "SASS(.scss) [ https://sass-lang.com ]"
|
|
},
|
|
{
|
|
"value": "less",
|
|
"label": "LESS [ https://lesscss.org ]"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"standaloneApi": {
|
|
"description": "Use Standalone Components if generating an Angular application.",
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"standaloneConfig": {
|
|
"description": "Split the project configurations into `<projectRoot>/project.json` rather than including it inside `workspace.json`.",
|
|
"type": "boolean",
|
|
"default": true,
|
|
"x-deprecated": "Nx only supports standaloneConfig"
|
|
},
|
|
"packageManager": {
|
|
"description": "The package manager used to install dependencies.",
|
|
"type": "string",
|
|
"enum": ["npm", "yarn", "pnpm", "bun"]
|
|
},
|
|
"framework": {
|
|
"description": "The framework which the application is using",
|
|
"type": "string",
|
|
"enum": ["express", "koa", "fastify", "nest", "none"]
|
|
},
|
|
"bundler": {
|
|
"description": "The bundler to use for building the application.",
|
|
"type": "string",
|
|
"enum": ["vite", "rspack", "rsbuild", "esbuild", "webpack"],
|
|
"default": "vite"
|
|
},
|
|
"docker": {
|
|
"description": "Generate a Dockerfile",
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"nextAppDir": {
|
|
"description": "Enable the App Router for this project.",
|
|
"type": "boolean",
|
|
"default": true
|
|
},
|
|
"nextSrcDir": {
|
|
"description": "Generate a `src` directory for this project.",
|
|
"type": "boolean",
|
|
"default": true
|
|
},
|
|
"unitTestRunner": {
|
|
"description": "The tool to use for running unit tests.",
|
|
"type": "string",
|
|
"enum": ["jest", "vitest", "none"]
|
|
},
|
|
"e2eTestRunner": {
|
|
"description": "The tool to use for running e2e tests.",
|
|
"type": "string",
|
|
"enum": ["playwright", "cypress", "jest", "detox", "none"]
|
|
},
|
|
"ssr": {
|
|
"description": "Enable Server-Side Rendering (SSR) and Static Site Generation (SSG/Prerendering) for the Angular application.",
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"serverRouting": {
|
|
"description": "Use the Angular Server Routing and App Engine APIs (Developer Preview).",
|
|
"type": "boolean"
|
|
},
|
|
"prefix": {
|
|
"description": "The prefix to use for Angular component and directive selectors.",
|
|
"type": "string"
|
|
},
|
|
"formatter": {
|
|
"description": "The tool to use for code formatting.",
|
|
"type": "string",
|
|
"enum": ["none", "prettier"],
|
|
"default": "none"
|
|
},
|
|
"workspaces": {
|
|
"description": "Whether to use package manager workspaces.",
|
|
"type": "boolean",
|
|
"default": true
|
|
},
|
|
"useProjectJson": {
|
|
"type": "boolean",
|
|
"description": "Use a `project.json` configuration file instead of inlining the Nx configuration in the `package.json` file."
|
|
}
|
|
},
|
|
"required": ["preset", "name"],
|
|
"presets": []
|
|
},
|
|
"description": "Create application in an empty workspace.",
|
|
"x-use-standalone-layout": true,
|
|
"hidden": true,
|
|
"implementation": "/packages/workspace/src/generators/preset/preset#presetGenerator.ts",
|
|
"aliases": [],
|
|
"path": "/packages/workspace/src/generators/preset/schema.json",
|
|
"type": "generator"
|
|
}
|