From decf7f5af8c6ec5c7d15967ab7f65b6f4c218cc4 Mon Sep 17 00:00:00 2001 From: Jason Jean Date: Mon, 28 Jun 2021 13:02:36 -0400 Subject: [PATCH] chore(nxdev): update latest version documentation to v12.5.0 --- .../api-angular/generators/application.md | 10 +- .../generators/downgrade-module.md | 8 +- .../angular/api-angular/generators/library.md | 8 + .../angular/api-angular/generators/ngrx.md | 16 +- .../api-angular/generators/upgrade-module.md | 12 +- .../api-angular/generators/web-worker.md | 59 ++++ .../api-express/generators/application.md | 8 + .../api-gatsby/generators/application.md | 8 + .../api-nest/generators/application.md | 8 + .../api-next/generators/application.md | 8 + .../api-node/generators/application.md | 8 + .../angular/api-node/generators/library.md | 8 + .../latest/angular/api-nx-devkit/index.md | 61 +++- .../api-nx-plugin/generators/plugin.md | 8 + .../api-react/generators/application.md | 8 + .../angular/api-react/generators/library.md | 8 + .../generators/storybook-configuration.md | 8 + .../api-storybook/generators/configuration.md | 8 + .../generators/cypress-project.md | 8 + .../angular/api-web/generators/application.md | 8 + .../generators/convert-to-nx-project.md | 51 +++ .../api-workspace/generators/library.md | 8 + .../latest/angular/cli/affected-dep-graph.md | 6 + .../latest/angular/cli/dep-graph.md | 12 + .../generators/composing-generators.md | 39 +++ .../angular/generators/using-generators.md | 28 ++ .../generators/workspace-generators.md | 107 ++++++ .../latest/angular/getting-started/intro.md | 6 +- .../latest/angular/getting-started/nx-cli.md | 36 +- .../latest/angular/guides/configuration.md | 132 +++++++- .../latest/angular/guides/storybook-plugin.md | 10 - .../latest/angular/guides/update.md | 84 ++--- .../angular/migration/migration-angular.md | 12 +- .../tutorial/10-computation-caching.md | 2 +- .../latest/angular/tutorial/12-summary.md | 4 +- .../public/documentation/latest/map.json | 295 ++++++++++++----- .../api-angular/generators/application.md | 10 +- .../generators/downgrade-module.md | 8 +- .../node/api-angular/generators/library.md | 8 + .../node/api-angular/generators/ngrx.md | 16 +- .../api-angular/generators/upgrade-module.md | 12 +- .../node/api-angular/generators/web-worker.md | 59 ++++ .../api-express/generators/application.md | 8 + .../node/api-gatsby/generators/application.md | 8 + .../node/api-nest/generators/application.md | 8 + .../node/api-next/generators/application.md | 8 + .../node/api-node/generators/application.md | 8 + .../node/api-node/generators/library.md | 8 + .../latest/node/api-nx-devkit/index.md | 61 +++- .../node/api-nx-plugin/generators/plugin.md | 8 + .../node/api-react/generators/application.md | 8 + .../node/api-react/generators/library.md | 8 + .../generators/storybook-configuration.md | 8 + .../api-storybook/generators/configuration.md | 8 + .../generators/cypress-project.md | 8 + .../node/api-web/generators/application.md | 8 + .../generators/convert-to-nx-project.md | 51 +++ .../node/api-workspace/generators/library.md | 8 + .../latest/node/cli/affected-dep-graph.md | 6 + .../latest/node/cli/dep-graph.md | 12 + .../latest/node/getting-started/intro.md | 6 +- .../latest/node/getting-started/nx-cli.md | 36 +- .../latest/node/guides/configuration.md | 135 +++++++- .../latest/node/tutorial/08-summary.md | 4 +- .../api-angular/generators/application.md | 10 +- .../generators/downgrade-module.md | 8 +- .../react/api-angular/generators/library.md | 8 + .../react/api-angular/generators/ngrx.md | 16 +- .../api-angular/generators/upgrade-module.md | 12 +- .../api-angular/generators/web-worker.md | 59 ++++ .../api-express/generators/application.md | 8 + .../api-gatsby/generators/application.md | 8 + .../react/api-nest/generators/application.md | 8 + .../react/api-next/generators/application.md | 8 + .../react/api-node/generators/application.md | 8 + .../react/api-node/generators/library.md | 8 + .../latest/react/api-nx-devkit/index.md | 61 +++- .../react/api-nx-plugin/generators/plugin.md | 8 + .../react/api-react/generators/application.md | 8 + .../react/api-react/generators/library.md | 8 + .../generators/storybook-configuration.md | 8 + .../api-storybook/generators/configuration.md | 8 + .../generators/cypress-project.md | 8 + .../react/api-web/generators/application.md | 8 + .../generators/convert-to-nx-project.md | 51 +++ .../react/api-workspace/generators/library.md | 8 + .../latest/react/cli/affected-dep-graph.md | 6 + .../latest/react/cli/dep-graph.md | 12 + .../latest/react/getting-started/intro.md | 6 +- .../latest/react/getting-started/nx-cli.md | 40 ++- .../latest/react/guides/configuration.md | 143 +++++++- .../react/guides/environment-variables.md | 2 +- .../latest/react/guides/nextjs-webpack5.md | 9 +- .../latest/react/guides/nextjs.md | 16 +- .../latest/react/guides/storybook-plugin.md | 10 - .../react/tutorial/10-computation-caching.md | 2 +- .../latest/react/tutorial/12-summary.md | 4 +- .../latest/shared/computation-caching.md | 8 +- .../latest/shared/devkit-and-nx-plugins.md | 2 +- .../shared/generators/composing-generators.md | 18 + .../shared/generators/creating-files.md | 146 +++++++++ .../shared/generators/generator-options.md | 103 ++++++ .../shared/generators/modifying-files.md | 132 ++++++++ .../shared/generators/using-generators.md | 26 ++ .../shared/generators/workspace-generators.md | 93 ++++++ .../latest/shared/guides/browser-support.md | 4 +- .../latest/shared/mental-model.md | 238 ++++++++++++++ .../latest/shared/mental-model/affected.png | Bin 0 -> 13335 bytes .../latest/shared/mental-model/cache.png | Bin 0 -> 38455 bytes .../mental-model/computation-hashing.png | Bin 0 -> 39581 bytes .../latest/shared/mental-model/metadata.png | Bin 0 -> 418204 bytes .../mental-model/project-graph-import.png | Bin 0 -> 14629 bytes .../mental-model/project-graph-updated.png | Bin 0 -> 23587 bytes .../shared/mental-model/project-graph.png | Bin 0 -> 7485 bytes .../shared/mental-model/task-graph-big.png | Bin 0 -> 68484 bytes .../mental-model/task-graph-creation.png | Bin 0 -> 16736 bytes .../mental-model/task-graph-execution.png | Bin 0 -> 28486 bytes .../shared/mental-model/task-graph-run.png | Bin 0 -> 15159 bytes .../latest/shared/mental-model/task-graph.png | Bin 0 -> 2969 bytes .../shared/migration/adding-to-monorepo.md | 2 +- .../latest/shared/migration/overview.md | 2 +- .../shared/tools-workspace-generators.md | 308 ------------------ .../documentation/latest/shared/update.md | 68 ++-- .../latest/shared/using-generators.md | 301 ----------------- .../shared/workspace/creating-libraries.md | 2 +- .../nx-dev/public/documentation/versions.json | 4 +- 126 files changed, 2723 insertions(+), 967 deletions(-) create mode 100644 nx-dev/nx-dev/public/documentation/latest/angular/api-angular/generators/web-worker.md create mode 100644 nx-dev/nx-dev/public/documentation/latest/angular/api-workspace/generators/convert-to-nx-project.md create mode 100644 nx-dev/nx-dev/public/documentation/latest/angular/generators/composing-generators.md create mode 100644 nx-dev/nx-dev/public/documentation/latest/angular/generators/using-generators.md create mode 100644 nx-dev/nx-dev/public/documentation/latest/angular/generators/workspace-generators.md create mode 100644 nx-dev/nx-dev/public/documentation/latest/node/api-angular/generators/web-worker.md create mode 100644 nx-dev/nx-dev/public/documentation/latest/node/api-workspace/generators/convert-to-nx-project.md create mode 100644 nx-dev/nx-dev/public/documentation/latest/react/api-angular/generators/web-worker.md create mode 100644 nx-dev/nx-dev/public/documentation/latest/react/api-workspace/generators/convert-to-nx-project.md create mode 100644 nx-dev/nx-dev/public/documentation/latest/shared/generators/composing-generators.md create mode 100644 nx-dev/nx-dev/public/documentation/latest/shared/generators/creating-files.md create mode 100644 nx-dev/nx-dev/public/documentation/latest/shared/generators/generator-options.md create mode 100644 nx-dev/nx-dev/public/documentation/latest/shared/generators/modifying-files.md create mode 100644 nx-dev/nx-dev/public/documentation/latest/shared/generators/using-generators.md create mode 100644 nx-dev/nx-dev/public/documentation/latest/shared/generators/workspace-generators.md create mode 100644 nx-dev/nx-dev/public/documentation/latest/shared/mental-model.md create mode 100644 nx-dev/nx-dev/public/documentation/latest/shared/mental-model/affected.png create mode 100644 nx-dev/nx-dev/public/documentation/latest/shared/mental-model/cache.png create mode 100644 nx-dev/nx-dev/public/documentation/latest/shared/mental-model/computation-hashing.png create mode 100644 nx-dev/nx-dev/public/documentation/latest/shared/mental-model/metadata.png create mode 100644 nx-dev/nx-dev/public/documentation/latest/shared/mental-model/project-graph-import.png create mode 100644 nx-dev/nx-dev/public/documentation/latest/shared/mental-model/project-graph-updated.png create mode 100644 nx-dev/nx-dev/public/documentation/latest/shared/mental-model/project-graph.png create mode 100644 nx-dev/nx-dev/public/documentation/latest/shared/mental-model/task-graph-big.png create mode 100644 nx-dev/nx-dev/public/documentation/latest/shared/mental-model/task-graph-creation.png create mode 100644 nx-dev/nx-dev/public/documentation/latest/shared/mental-model/task-graph-execution.png create mode 100644 nx-dev/nx-dev/public/documentation/latest/shared/mental-model/task-graph-run.png create mode 100644 nx-dev/nx-dev/public/documentation/latest/shared/mental-model/task-graph.png delete mode 100644 nx-dev/nx-dev/public/documentation/latest/shared/tools-workspace-generators.md delete mode 100644 nx-dev/nx-dev/public/documentation/latest/shared/using-generators.md diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/api-angular/generators/application.md b/nx-dev/nx-dev/public/documentation/latest/angular/api-angular/generators/application.md index e2407bbe4b..5c317fad44 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/api-angular/generators/application.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/api-angular/generators/application.md @@ -128,6 +128,14 @@ Type: `boolean` Skip creating spec files. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### strict Default: `true` @@ -142,7 +150,7 @@ Default: `css` Type: `string` -Possible values: `css`, `scss`, `styl`, `less` +Possible values: `css`, `scss`, `less` The file extension to be used for style files. diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/api-angular/generators/downgrade-module.md b/nx-dev/nx-dev/public/documentation/latest/angular/api-angular/generators/downgrade-module.md index bf61edc6e0..0112606aba 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/api-angular/generators/downgrade-module.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/api-angular/generators/downgrade-module.md @@ -1,6 +1,6 @@ # downgrade-module -Setup Downgrade Module +Setup Downgrade Module. ## Usage @@ -40,7 +40,7 @@ The name of the main AngularJS module. Type: `string` -The name of the project +The name of the project. ### skipFormat @@ -48,7 +48,7 @@ Default: `false` Type: `boolean` -Skip formatting files +Skip formatting files. ### skipPackageJson @@ -56,4 +56,4 @@ Default: `false` Type: `boolean` -Do not add @angular/upgrade to package.json (e.g., --skipPackageJson) +Do not add @angular/upgrade to package.json (e.g., --skipPackageJson). diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/api-angular/generators/library.md b/nx-dev/nx-dev/public/documentation/latest/angular/api-angular/generators/library.md index c4987372f8..08495ee7c3 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/api-angular/generators/library.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/api-angular/generators/library.md @@ -150,6 +150,14 @@ Type: `boolean` Do not update tsconfig.json for development experience. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### strict Default: `true` diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/api-angular/generators/ngrx.md b/nx-dev/nx-dev/public/documentation/latest/angular/api-angular/generators/ngrx.md index 2b80efe29e..f4a49fdd4c 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/api-angular/generators/ngrx.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/api-angular/generators/ngrx.md @@ -1,6 +1,6 @@ # ngrx -Add an ngrx config to a project +Add NgRx support to an application or library. ## Usage @@ -66,23 +66,27 @@ The path to NgModule where the feature state will be registered. The host direct Type: `string` -Name of the NgRx feature state, such as "products" or "users"). Recommended to use the plural form of the name. +Name of the NgRx feature state, such as `products` or `users`. Recommended to use the plural form of the name. -### onlyAddFiles +### ~~onlyAddFiles~~ Default: `false` Type: `boolean` -**Deprecated**, use `skipImport`. Only add new NgRx files, without changing the module file (e.g., --onlyAddFiles). +**Deprecated:** Use the `skipImport` option instead. -### onlyEmptyRoot +Only add new NgRx files, without changing the module file (e.g., --onlyAddFiles). + +### ~~onlyEmptyRoot~~ Default: `false` Type: `boolean` -**Deprecated**, use `minimal`. Do not generate any files. Only generate StoreModule.forRoot and EffectsModule.forRoot (e.g., --onlyEmptyRoot). +**Deprecated:** Use the `minimal` option instead. + +Do not generate any files. Only generate StoreModule.forRoot and EffectsModule.forRoot (e.g., --onlyEmptyRoot). ### root diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/api-angular/generators/upgrade-module.md b/nx-dev/nx-dev/public/documentation/latest/angular/api-angular/generators/upgrade-module.md index 5ef0b73705..9bbc95c372 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/api-angular/generators/upgrade-module.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/api-angular/generators/upgrade-module.md @@ -1,6 +1,6 @@ # upgrade-module -Add an upgrade module +Add an upgrade module. ## Usage @@ -28,7 +28,7 @@ nx g upgrade-module ... --dry-run Type: `string` -The selector of an AngularJS component (e.g., --angularJsCmpSelector=myComponent) +The selector of an AngularJS component (e.g., --angularJsCmpSelector=myComponent). ### angularJsImport @@ -46,7 +46,7 @@ The name of the main AngularJS module. Type: `string` -The name of the project +The name of the project. ### router @@ -54,7 +54,7 @@ Default: `false` Type: `boolean` -Sets up router synchronization (e.g., --router) +Sets up router synchronization (e.g., --router). ### skipFormat @@ -62,7 +62,7 @@ Default: `false` Type: `boolean` -Skip formatting files +Skip formatting files. ### skipPackageJson @@ -70,4 +70,4 @@ Default: `false` Type: `boolean` -Do not add @angular/upgrade to package.json (e.g., --skipPackageJson) +Do not add @angular/upgrade to package.json (e.g., --skipPackageJson). diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/api-angular/generators/web-worker.md b/nx-dev/nx-dev/public/documentation/latest/angular/api-angular/generators/web-worker.md new file mode 100644 index 0000000000..bee7e29698 --- /dev/null +++ b/nx-dev/nx-dev/public/documentation/latest/angular/api-angular/generators/web-worker.md @@ -0,0 +1,59 @@ +# web-worker + +Create a Web Worker. + +## Usage + +```bash +nx generate web-worker ... +``` + +By default, Nx will search for `web-worker` in the default collection provisioned in `angular.json`. + +You can specify the collection explicitly as follows: + +```bash +nx g @nrwl/angular:web-worker ... +``` + +Show what will be generated without writing to disk: + +```bash +nx g web-worker ... --dry-run +``` + +## Options + +### name + +Type: `string` + +The name of the worker. + +### path + +Type: `string` + +The path at which to create the worker file, relative to the current workspace. + +### project + +Type: `string` + +The name of the project. + +### skipFormat + +Default: `false` + +Type: `boolean` + +Skip formatting files. + +### snippet + +Default: `true` + +Type: `boolean` + +Add a worker creation snippet in a sibling file of the same name. diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/api-express/generators/application.md b/nx-dev/nx-dev/public/documentation/latest/angular/api-express/generators/application.md index fa4f5a0ae5..8e49680aa1 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/api-express/generators/application.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/api-express/generators/application.md @@ -98,6 +98,14 @@ Type: `boolean` Do not add dependencies to package.json. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### tags Type: `string` diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/api-gatsby/generators/application.md b/nx-dev/nx-dev/public/documentation/latest/angular/api-gatsby/generators/application.md index ed72dbe620..bb5cb750ab 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/api-gatsby/generators/application.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/api-gatsby/generators/application.md @@ -66,6 +66,14 @@ Type: `boolean` Whether or not to configure the ESLint "parserOptions.project" option. We do not do this by default for lint performance reasons. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### style Alias(es): s diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/api-nest/generators/application.md b/nx-dev/nx-dev/public/documentation/latest/angular/api-nest/generators/application.md index a8033843a3..67dedc1057 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/api-nest/generators/application.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/api-nest/generators/application.md @@ -72,6 +72,14 @@ Type: `boolean` Do not add dependencies to package.json. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### tags Type: `string` diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/api-next/generators/application.md b/nx-dev/nx-dev/public/documentation/latest/angular/api-next/generators/application.md index 292a04726d..669219336d 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/api-next/generators/application.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/api-next/generators/application.md @@ -108,6 +108,14 @@ Type: `boolean` Skip updating workspace.json with default options based on values provided to this app (e.g. babel, style) +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### style Alias(es): s diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/api-node/generators/application.md b/nx-dev/nx-dev/public/documentation/latest/angular/api-node/generators/application.md index f187df290d..2d4718b74f 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/api-node/generators/application.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/api-node/generators/application.md @@ -106,6 +106,14 @@ Type: `boolean` Do not add dependencies to package.json. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### tags Type: `string` diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/api-node/generators/library.md b/nx-dev/nx-dev/public/documentation/latest/angular/api-node/generators/library.md index bffb37794f..f8b89989f7 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/api-node/generators/library.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/api-node/generators/library.md @@ -138,6 +138,14 @@ Type: `boolean` Do not update tsconfig.base.json for development experience. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### strict Default: `false` diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/api-nx-devkit/index.md b/nx-dev/nx-dev/public/documentation/latest/angular/api-nx-devkit/index.md index 22d4c4c357..9346199a10 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/api-nx-devkit/index.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/api-nx-devkit/index.md @@ -60,9 +60,11 @@ - [applyChangesToString](../../angular/nx-devkit/index#applychangestostring) - [convertNxExecutor](../../angular/nx-devkit/index#convertnxexecutor) - [convertNxGenerator](../../angular/nx-devkit/index#convertnxgenerator) +- [detectPackageManager](../../angular/nx-devkit/index#detectpackagemanager) - [formatFiles](../../angular/nx-devkit/index#formatfiles) - [generateFiles](../../angular/nx-devkit/index#generatefiles) - [getPackageManagerCommand](../../angular/nx-devkit/index#getpackagemanagercommand) +- [getPackageManagerVersion](../../angular/nx-devkit/index#getpackagemanagerversion) - [getProjects](../../angular/nx-devkit/index#getprojects) - [getWorkspaceLayout](../../angular/nx-devkit/index#getworkspacelayout) - [getWorkspacePath](../../angular/nx-devkit/index#getworkspacepath) @@ -473,7 +475,7 @@ Callback to install dependencies only if necessary. undefined is returned if cha ### addProjectConfiguration -▸ **addProjectConfiguration**(`host`: [_Tree_](../../angular/nx-devkit/index#tree), `projectName`: _string_, `projectConfiguration`: [_ProjectConfiguration_](../../angular/nx-devkit/index#projectconfiguration) & [_NxJsonProjectConfiguration_](../../angular/nx-devkit/index#nxjsonprojectconfiguration)): _void_ +▸ **addProjectConfiguration**(`host`: [_Tree_](../../angular/nx-devkit/index#tree), `projectName`: _string_, `projectConfiguration`: [_ProjectConfiguration_](../../angular/nx-devkit/index#projectconfiguration) & [_NxJsonProjectConfiguration_](../../angular/nx-devkit/index#nxjsonprojectconfiguration), `standalone?`: _boolean_): _void_ Adds project configuration to the Nx workspace. @@ -482,11 +484,12 @@ both files. #### Parameters -| Name | Type | Description | -| :--------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------- | -| `host` | [_Tree_](../../angular/nx-devkit/index#tree) | the file system tree | -| `projectName` | _string_ | unique name. Often directories are part of the name (e.g., mydir-mylib) | -| `projectConfiguration` | [_ProjectConfiguration_](../../angular/nx-devkit/index#projectconfiguration) & [_NxJsonProjectConfiguration_](../../angular/nx-devkit/index#nxjsonprojectconfiguration) | project configuration | +| Name | Type | Default value | Description | +| :--------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------ | :----------------------------------------------------------------------------------------- | +| `host` | [_Tree_](../../angular/nx-devkit/index#tree) | - | the file system tree | +| `projectName` | _string_ | - | unique name. Often directories are part of the name (e.g., mydir-mylib) | +| `projectConfiguration` | [_ProjectConfiguration_](../../angular/nx-devkit/index#projectconfiguration) & [_NxJsonProjectConfiguration_](../../angular/nx-devkit/index#nxjsonprojectconfiguration) | - | project configuration | +| `standalone` | _boolean_ | false | should the project use package.json? If false, the project config is inside workspace.json | **Returns:** _void_ @@ -577,6 +580,22 @@ Convert an Nx Generator into an Angular Devkit Schematic --- +### detectPackageManager + +▸ **detectPackageManager**(`dir?`: _string_): [_PackageManager_](../../angular/nx-devkit/index#packagemanager) + +Detects which package manager is used in the workspace based on the lock file. + +#### Parameters + +| Name | Type | Default value | +| :---- | :------- | :------------ | +| `dir` | _string_ | '' | + +**Returns:** [_PackageManager_](../../angular/nx-devkit/index#packagemanager) + +--- + ### formatFiles ▸ **formatFiles**(`host`: [_Tree_](../../angular/nx-devkit/index#tree)): _Promise_ @@ -634,7 +653,7 @@ doesn't get confused about incorrect TypeScript files. ### getPackageManagerCommand -▸ **getPackageManagerCommand**(`packageManager?`: [_PackageManager_](../../angular/nx-devkit/index#packagemanager)): _object_ +▸ **getPackageManagerCommand**(`packageManager?`: [_PackageManager_](../../angular/nx-devkit/index#packagemanager)): PackageManagerCommands Returns commands for the package manager used in the workspace. By default, the package manager is derived based on the lock file, @@ -652,17 +671,25 @@ execSync(`${getPackageManagerCommand().addDev} my-dev-package`); | :--------------- | :--------------------------------------------------------------- | | `packageManager` | [_PackageManager_](../../angular/nx-devkit/index#packagemanager) | -**Returns:** _object_ +**Returns:** PackageManagerCommands -| Name | Type | -| :-------- | :------------------------------------------------- | -| `add` | _string_ | -| `addDev` | _string_ | -| `exec` | _string_ | -| `install` | _string_ | -| `list` | _string_ | -| `rm` | _string_ | -| `run` | (`script`: _string_, `args`: _string_) => _string_ | +--- + +### getPackageManagerVersion + +▸ **getPackageManagerVersion**(`packageManager?`: [_PackageManager_](../../angular/nx-devkit/index#packagemanager)): _string_ + +Returns the version of the package manager used in the workspace. +By default, the package manager is derived based on the lock file, +but it can also be passed in explicitly. + +#### Parameters + +| Name | Type | +| :--------------- | :--------------------------------------------------------------- | +| `packageManager` | [_PackageManager_](../../angular/nx-devkit/index#packagemanager) | + +**Returns:** _string_ --- diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/api-nx-plugin/generators/plugin.md b/nx-dev/nx-dev/public/documentation/latest/angular/api-nx-plugin/generators/plugin.md index 656fff8080..ea1023a339 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/api-nx-plugin/generators/plugin.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/api-nx-plugin/generators/plugin.md @@ -78,6 +78,14 @@ Type: `boolean` Do not update tsconfig.json for development experience. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### tags Alias(es): t diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/api-react/generators/application.md b/nx-dev/nx-dev/public/documentation/latest/angular/api-react/generators/application.md index 9845367f40..53173b4df3 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/api-react/generators/application.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/api-react/generators/application.md @@ -150,6 +150,14 @@ Type: `boolean` Skip updating workspace.json with default options based on values provided to this app (e.g. babel, style). +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### strict Default: `true` diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/api-react/generators/library.md b/nx-dev/nx-dev/public/documentation/latest/angular/api-react/generators/library.md index a8ba5c65cb..629dd33712 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/api-react/generators/library.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/api-react/generators/library.md @@ -158,6 +158,14 @@ Type: `boolean` Do not update tsconfig.json for development experience. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### strict Default: `true` diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/api-react/generators/storybook-configuration.md b/nx-dev/nx-dev/public/documentation/latest/angular/api-react/generators/storybook-configuration.md index 0960cd8121..5def48cdd8 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/api-react/generators/storybook-configuration.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/api-react/generators/storybook-configuration.md @@ -77,3 +77,11 @@ The tool to use for running lint checks. Type: `string` Project name + +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/api-storybook/generators/configuration.md b/nx-dev/nx-dev/public/documentation/latest/angular/api-storybook/generators/configuration.md index bbfd23285d..0b8b80da6c 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/api-storybook/generators/configuration.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/api-storybook/generators/configuration.md @@ -60,6 +60,14 @@ Type: `string` Library or application name +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### uiFramework Type: `string` diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/api-storybook/generators/cypress-project.md b/nx-dev/nx-dev/public/documentation/latest/angular/api-storybook/generators/cypress-project.md index cb0211937b..5e75a55405 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/api-storybook/generators/cypress-project.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/api-storybook/generators/cypress-project.md @@ -53,3 +53,11 @@ The tool to use for running lint checks. Type: `string` Library or application name + +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/api-web/generators/application.md b/nx-dev/nx-dev/public/documentation/latest/angular/api-web/generators/application.md index c7954c442c..d20d9fb8c1 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/api-web/generators/application.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/api-web/generators/application.md @@ -76,6 +76,14 @@ Type: `boolean` Skip formatting files +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### style Default: `css` diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/api-workspace/generators/convert-to-nx-project.md b/nx-dev/nx-dev/public/documentation/latest/angular/api-workspace/generators/convert-to-nx-project.md new file mode 100644 index 0000000000..2373901192 --- /dev/null +++ b/nx-dev/nx-dev/public/documentation/latest/angular/api-workspace/generators/convert-to-nx-project.md @@ -0,0 +1,51 @@ +# convert-to-nx-project + +Moves a project's configuration outside of workspace.json + +## Usage + +```bash +nx generate convert-to-nx-project ... +``` + +By default, Nx will search for `convert-to-nx-project` in the default collection provisioned in `angular.json`. + +You can specify the collection explicitly as follows: + +```bash +nx g @nrwl/workspace:convert-to-nx-project ... +``` + +Show what will be generated without writing to disk: + +```bash +nx g convert-to-nx-project ... --dry-run +``` + +### Examples + +Convert the my-feature-lib project to use project.json file instead of workspace.json: + +```bash +nx g @nrwl/workspace:convert-to-nx-project --project my-feature-lib +``` + +Convert all projects in workspace.json to separate project.json files.: + +```bash +nx g @nrwl/workspace:convert-to-nx-project --all +``` + +## Options + +### all + +Type: `boolean` + +Should every project be converted? + +### project + +Type: `string` + +Project name diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/api-workspace/generators/library.md b/nx-dev/nx-dev/public/documentation/latest/angular/api-workspace/generators/library.md index ff8fcffd4e..5ef0a69ab5 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/api-workspace/generators/library.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/api-workspace/generators/library.md @@ -130,6 +130,14 @@ Type: `boolean` Do not update tsconfig.json for development experience. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### strict Default: `false` diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/cli/affected-dep-graph.md b/nx-dev/nx-dev/public/documentation/latest/angular/cli/affected-dep-graph.md index 1f5311aa42..e96515443d 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/cli/affected-dep-graph.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/cli/affected-dep-graph.md @@ -131,3 +131,9 @@ Print additional error stack trace on failure ### version Show version number + +### watch + +Default: `false` + +Watch for changes to dep graph and update in-browser diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/cli/dep-graph.md b/nx-dev/nx-dev/public/documentation/latest/angular/cli/dep-graph.md index 7de42387d7..8db615a505 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/cli/dep-graph.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/cli/dep-graph.md @@ -54,6 +54,12 @@ Show the graph where every node is either an ancestor or a descendant of todos-f nx dep-graph --focus=todos-feature-main --exclude=project-one,project-two ``` +Watch for changes to dep graph and update in-browser: + +```bash +nx dep-graph --watch +``` + ## Options ### exclude @@ -87,3 +93,9 @@ Bind the dep graph server to a specific port. ### version Show version number + +### watch + +Default: `false` + +Watch for changes to dep graph and update in-browser diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/generators/composing-generators.md b/nx-dev/nx-dev/public/documentation/latest/angular/generators/composing-generators.md new file mode 100644 index 0000000000..6d289141e6 --- /dev/null +++ b/nx-dev/nx-dev/public/documentation/latest/angular/generators/composing-generators.md @@ -0,0 +1,39 @@ +# Composing Generators + +Generators are useful individually, but reusing and composing generators allows you to build whole workflows out of simpler building blocks. + +## Using Nx Devkit Generators + +Nx Devkit generators can be imported and invoked like any javascript function. They often return a `Promise`, so they can be used with the `await` keyword to mimic synchronous code. Because this is standard javascript, control flow logic can be adjusted with `if` blocks and `for` loops as usual. + +```typescript +import { libraryGenerator } from '@nrwl/workspace'; + +export default async function (tree: Tree, schema: any) { + await libraryGenerator( + tree, // virtual file system tree + { name: schema.name } // options for the generator + ); +} +``` + +## Using Angular Devkit Schematics + +If you need to use a generator written with the Angular devkit (also known as a schematic) inside of an Nx devkit generator, you need to wrap the schematic inside the `wrapAngularDevkitSchematic` function. + +Note: All Nrwl maintained schematics have been migrated over to the Nx Devkit, so this should only be necessary for third party schematics. + +```typescript +import { wrapAngularDevkitSchematic } from '@nrwl/devkit/ngcli-adapter'; + +export default async function (tree: Tree, schema: any) { + const libraryGenerator = wrapAngularDevkitSchematic( + '@nrwl/angular', // plugin name + 'lib' // schematic name + ); + await libraryGenerator( + tree, // virtual file system tree + { name: schema.name } // options for the generator + ); +} +``` diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/generators/using-generators.md b/nx-dev/nx-dev/public/documentation/latest/angular/generators/using-generators.md new file mode 100644 index 0000000000..c842f48632 --- /dev/null +++ b/nx-dev/nx-dev/public/documentation/latest/angular/generators/using-generators.md @@ -0,0 +1,28 @@ +# Using Generators + +## Overview + +Generators provide a way to automate many tasks you regularly perform as part of your development workflow. Whether it is scaffolding out components, features, ensuring libraries are generated and structured in a certain way, or updating your configuration files, generators help you standardize these tasks in a consistent, and predictable manner. + +Generators can be written using `@nrwl/devkit` or `@angular-devkit`. Generators written with the `@angular-devkit` are called schematics. To read more about the concepts of `@angular-devkit` schematics, and building an example schematic, see the [Schematics Authoring Guide](https://angular.io/guide/schematics-authoring). + +The [Workspace Generators](/{{framework}}/generators/workspace-generators) guide shows you how to create, run, and customize workspace generators within your Nx workspace. + +## Types of Generators + +There are three main types of generators: + +1. **Plugin Generators** are available when an Nx plugin has been installed in your workspace. +2. **Workspace Generators** are generators that you can create for your own workspace. [Workspace generators](/{{framework}}/generators/workspace-generators) allow you to codify the processes that are unique to your own organization. +3. **Update Generators** are invoked by Nx plugins when you [update Nx](/{{framework}}/core-concepts/updating-nx) to keep your config files in sync with the latest versions of third party tools. + +## Invoking Plugin Generators + +Generators allow you to create or modify your codebase in a simple and repeatable way. Generators are invoked using the [`nx generate`](/{{framework}}/cli/generate) command. + +```bash +nx generate [plugin]:[generator-name] [options] +nx generate @nrwl/react:component mycmp --project=myapp +``` + +It is important to have a clean git working directory before invoking a generator so that you can easily revert changes and re-invoke the generator with different inputs. diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/generators/workspace-generators.md b/nx-dev/nx-dev/public/documentation/latest/angular/generators/workspace-generators.md new file mode 100644 index 0000000000..0bce4cdbdf --- /dev/null +++ b/nx-dev/nx-dev/public/documentation/latest/angular/generators/workspace-generators.md @@ -0,0 +1,107 @@ +# Workspace Generators + +Workspace generators provide a way to automate many tasks you regularly perform as part of your development workflow. Whether it is scaffolding out components, features, or ensuring libraries are generated and structured in a certain way, generators help you standardize these tasks in a consistent, and predictable manner. Nx provides tooling around creating, and running custom generators from within your workspace. This guide shows you how to create, run, and customize workspace generators within your Nx workspace. + +## Creating a workspace generator + +Use the Nx CLI to generate the initial files needed for your workspace generator. + +```bash +nx generate @nrwl/workspace:workspace-generator my-generator +``` + +After the command is finished, the workspace generator is created under the `tools/generators` folder. + +```treeview +happynrwl/ +├── apps/ +├── libs/ +├── tools/ +│ ├── generators +│ | └── my-generator/ +│ | | ├── index.ts +│ | | └── schema.json +├── nx.json +├── package.json +└── tsconfig.base.json +``` + +The `index.ts` provides an entry point to the generator. The file contains a function that is called to perform manipulations on a tree that represents the file system. +The `schema.json` provides a description of the generator, available options, validation information, and default values. + +The initial generator function creates a library. + +```typescript +import { Tree, formatFiles, installPackagesTask } from '@nrwl/devkit'; +import { libraryGenerator } from '@nrwl/workspace'; + +export default async function (tree: Tree, schema: any) { + await libraryGenerator(tree, { name: schema.name }); + await formatFiles(tree); + return () => { + installPackagesTask(tree); + }; +} +``` + +To invoke other generators, import the entry point function and run it against the tree tree. `async/await` can be used to make code with Promises read like procedural code. The generator function may return a callback function that is executed after changes to the file system have been applied. + +In the schema.json file for your generator, the `name` is provided as a default option. The `cli` property is set to `nx` to signal that this is a generator that uses `@nrwl/devkit` and not `@angular-devkit`. + +```json +{ + "cli": "nx", + "id": "test", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Library name", + "$default": { + "$source": "argv", + "index": 0 + } + } + }, + "required": ["name"] +} +``` + +The `$default` object is used to read arguments from the command-line that are passed to the generator. The first argument passed to this schematic is used as the `name` property. + +## Running a workspace generator + +To run a generator, invoke the `nx workspace-generator` command with the name of the generator. + +```bash +nx workspace-generator my-generator mylib +``` + +## Running a workspace schematic created with @angular-devkit + +Generators that are created using the `@angular-devkit` are called schematics. Workspace schematics that have been created with the `@angular-devkit` will omit the `"cli": "nx"` property in `schema.json`. Nx will recognize this and correctly run the schematic using the same command as an `@nrwl/devkit` generator. + +```bash +nx workspace-generator my-schematic mylib +``` + +The command is also aliased to the previous `workspace-schematic` command, so this still works: + +```bash +nx workspace-schematic my-schematic mylib +``` + +## Debugging Workspace generators + +### With Visual Studio Code + +1. Open the Command Palette and choose `Debug: Create JavaScript Debug Terminal`. + This will open a terminal with debugging enabled. +2. Set breakpoints in your code +3. Run `nx workspace-generator my-generator` in the debug terminal. + +![](/shared/vscode-schematics-debug.png) + +## Workspace Generator Utilities + +The `@nrwl/devkit` package provides many utility functions that can be used in schematics to help with modifying files, reading and updating configuration files, and working with an Abstract Syntax Tree (AST). diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/getting-started/intro.md b/nx-dev/nx-dev/public/documentation/latest/angular/getting-started/intro.md index 2c470947be..7be0315e67 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/getting-started/intro.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/getting-started/intro.md @@ -17,7 +17,7 @@ Nx works especially well for [monorepos](/{{framework}}/core-concepts/why-monore ## Features - Test (or builds or lints) only the projects [affected](/{{framework}}/cli/affected) by a code change. -- [Cache](/{{framework}}/core-concepts/computation-caching) command output locally so that future runs on the same code happen in seconds. The paid [Nx Cloud](https://nx.app) offering allows this cache to be shared across every developer in your organization. +- [Cache](/{{framework}}/core-extended/computation-caching) command output locally so that future runs on the same code happen in seconds. The paid [Nx Cloud](https://nx.app) offering allows this cache to be shared across every developer in your organization. - Provide a consistent syntax for [executing commands](/{{framework}}/executors/using-builders). `nx build my-app` works no matter what framework `my-app` uses. - Automate code modification tasks with [generators](/{{framework}}/cli/affected). - Access a thriving ecosystem of [plugins](/{{framework}}/generators/using-schematics) from Nrwl and the [community](/community). @@ -32,5 +32,5 @@ Nx works especially well for [monorepos](/{{framework}}/core-concepts/why-monore - [Nx CLI](/{{framework}}/getting-started/nx-cli) - [Configuration Files](/{{framework}}/core-concepts/configuration) -- [Computation Caching](/{{framework}}/core-concepts/computation-caching) -- [Rebuilding What is Affected](/{{framework}}/core-concepts/affected) +- [Computation Caching](/{{framework}}/core-extended/computation-caching) +- [Rebuilding What is Affected](/{{framework}}/core-extended/affected) diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/getting-started/nx-cli.md b/nx-dev/nx-dev/public/documentation/latest/angular/getting-started/nx-cli.md index 765cf5b30c..9922dd0781 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/getting-started/nx-cli.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/getting-started/nx-cli.md @@ -41,15 +41,6 @@ nx workspace-generator my-generator [The first command](/{{framework}}/cli/generate) scaffolds a new customizable workspace generator named `my-generator` and [the second command](/{{framework}}/cli/workspace-generator) invokes it. -**Update plugins:** - -```bash -nx migrate latest -nx migrate --run-migrations=migrations.json -``` - -[The first command](/{{framework}}/cli/migrate) updates the installed Nx plugin versions and creates a list of generators to keep configuration files up to date. [The second command](/{{framework}}/cli/migrate) invokes those generators. - **Run an executor on one project:** ```bash @@ -57,7 +48,15 @@ nx run my-app:build nx build my-app ``` -Both of [these commands](/{{framework}}/cli/run) build the `my-app` application. Custom executors need to use the more verbose `nx run project:target` syntax. See the [workspace.json documentation](/{{framework}}/core-concepts/configuration) for information on configuring executor options. +Both of [these commands](/{{framework}}/cli/run) build the `my-app` application. See the [workspace.json documentation](/{{framework}}/core-concepts/configuration) for information on configuring executor options. + +**Run an executor for many projects:** + +```bash +nx run-many --target=build --projects=app1,app2 +``` + +[This command](/{{framework}}/cli/run-many) builds `app1` and `app2`. **Run an executor for all affected projects:** @@ -71,10 +70,11 @@ nx affected --target=build ```bash nx dep-graph +nx dep-graph --watch nx affected:dep-graph ``` -[The first command](/{{framework}}/cli/dep-graph) launches a web browser with repository's dependency graph rendered visually. [The second command](/{{framework}}/cli/affected-dep-graph) renders the same graph with projects affected by the current code change highlighted. +[The first command](/{{framework}}/cli/dep-graph) launches a web browser with repository's dependency graph rendered visually. You can add the `--watch` flag to watch for changes to the dep grpah and update the view in-browser. [The second command](/{{framework}}/cli/affected-dep-graph) renders the same graph with projects affected by the current code change highlighted. **List installed plugins:** @@ -84,6 +84,20 @@ nx list [This command](/{{framework}}/cli/list) lists the currently installed Nx plugins and shows other plugins that are available. +**Update plugins:** + +```bash +nx migrate latest +nx migrate --run-migrations=migrations.json +``` + +[The first command](/{{framework}}/cli/migrate) updates the installed Nx plugin versions and creates a list of generators to keep configuration files up to date. [The second command](/{{framework}}/cli/migrate) invokes those generators. + +## Common Env Variables + +- Setting **NX_VERBOSE_LOGGING=true** will print debug information useful for troubleshooting. +- Setting **NX_PERF_LOGGING=true** will print debug information useful for profiling executors and Nx itself. + ## Nx and Angular CLI Nx supports Angular Devkit. When you run `nx build myapp`, and the build target for `myapp` is implemented using Angular Devkit, Nx behaves exactly the same as the Angular CLI. When you run `nx g component mycmp`, once again, Nx invokes the same schematic. You can think of Nx wrapping the Angular CLI. The results of running commands produces the same result, except that running `nx` is often a lot faster. diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/guides/configuration.md b/nx-dev/nx-dev/public/documentation/latest/angular/guides/configuration.md index 515cac921a..fa5cf56a96 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/guides/configuration.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/guides/configuration.md @@ -17,6 +17,12 @@ The `angular.json` configuration file contains information about the targets and "build": { "builder": "@nrwl/web:build", "outputs": ["dist/apps/myapp"], + "dependsOn": [ + { + "target": "build", + "projects": "dependencies" + } + ], "options": { "index": "apps/myapp/src/app.html", "main": "apps/myapp/src/main.ts" @@ -88,6 +94,8 @@ For instance, the following configures `mylib`. > Nx uses the architect library built by the Angular team at Google. The naming reflects that. Important to note: it's a general purpose library that **does not** have any dependency on Angular. +> Projects utilizing `project.json` files will not be present in `angular.json`. + ### Targets Let's look at the simple architect target: @@ -106,7 +114,7 @@ Let's look at the simple architect target: **Target Name** -The name of the target `test` means that you can invoke it as follows: `nx test mylib` or `nx run mylib:test`. The name isn't significant in any other way. If you rename it to, for example, `mytest`, you will be able to run as follows: `nx run mylib:mytest`. +The name of the target `test` means that you can invoke it as follows: `nx test mylib` or `nx run mylib:test`. The name isn't significant in any other way. If you rename it to, for example, `mytest`, you will be able to run as follows: `nx mytest mylib` or `nx run mylib:mytest`. **Builder** @@ -172,6 +180,66 @@ require(`@nrwl/jest`).builders['jest']({...options, ...selectedConfiguration, .. The selected configuration adds/overrides the default options, and the provided command line args add/override the configuration options. +**Target Dependencies** + +Targets can depend on other targets. A common scenario is having to build dependencies of a project first before building the project. You can specify this using the `dependsOn`. + +```json +{ + "build": { + "executor": "@nrwl/web:build", + "outputs": ["dist/apps/myapp"], + "options": { + "index": "apps/myapp/src/app.html", + "main": "apps/myapp/src/main.ts" + }, + "dependsOn": [ + { + "target": "build", + "projects": "dependencies" + } + ] + } +} +``` + +In this case, running `nx build myapp` will build all the buildable libraries `myapp` depends on first. In other words, `nx build myapp` will result in multiple tasks executing. The `--parallel`, and `--max-parallel` flags will have the same effect as they would with `run-many` or `affected`. + +It is also possible to define dependencies between the targets of the same project. + +In the following example invoking `nx build myapp` will build all the libraries first, then `nx build-base myapp` will be executed and only then `nx build myapp` will be executed. + +```json +{ + "build-base": { + "executor": "@nrwl/web:build", + "outputs": ["dist/apps/myapp"], + "options": { + "index": "apps/myapp/src/app.html", + "main": "apps/myapp/src/main.ts" + } + }, + "build": { + "executor": "@nrwl/workspace:run-commands", + "dependsOn": [ + { + "target": "build", + "projects": "dependencies" + }, + { + "target": "build-base", + "projects": "self" + } + ], + "options": { + "command": "./copy-readme-and-license.sh" + } + } +} +``` + +Often the same `dependsOn` configuration has to be defined for every project in the repo. You can define it once in `nx.json` (see below). + ### Generators Generators that are created using `@angular-devkit` are called schematics. You can configure default generator options in `angular.json` as well. For instance, the following will tell Nx to always pass `--style=scss` when creating new libraries. @@ -202,6 +270,33 @@ The following command will generate a new library: `nx g @nrwl/angular:lib mylib Your `angular.json` file can be renamed to `workspace.json` and Nx will process it in the same way. The `workspace.json` has one additional top level property `version`. Setting `version` to 1 means the `workspace.json` file syntax is identical to `angular.json` When the `version` of `workspace.json` is set to 2, `targets`, `generators` and `executor` properties are used instead of the version 1 properties `architect`, `schematics` and `builder`. +## project.json + +Project configurations can also be independent files, referenced by `angular.json`. For instance, an `angular.json` may contain projects configured as below. + +```json +{ + "projects": { + "mylib": "libs/mylib" + } +} +``` + +This tells Nx that all configuration for that project is found in the `libs/mylib/project.json` file. This file contains a combination of the project's configuration from both `angular.json` and `nx.json`. + +```json +{ + "mylib": { + "root": "libs/mylib/", + "sourceRoot": "libs/mylib/src", + "projectType": "library", + "targets": {}, + "tags": [], + "implicitDependencies": [] + } +} +``` + ## nx.json The `nx.json` file contains extra configuration options mostly related to the project graph. @@ -229,6 +324,14 @@ The `nx.json` file contains extra configuration options mostly related to the pr "tsconfig.base.json": "*", "nx.json": "*" }, + "targetDependencies": { + "build": [ + { + "target": "build", + "projects": "dependencies" + } + ] + }, "projects": { "myapp": { "tags": [] @@ -244,6 +347,8 @@ The `nx.json` file contains extra configuration options mostly related to the pr } ``` +> Projects utilizing `project.json` files will not be present in `nx.json`. + **NPM Scope** Tells Nx what prefix to use when generating library imports. @@ -352,9 +457,32 @@ You can also add dependencies between projects. For instance, the example below } ``` +### Target Dependencies + +Targets can depend on other targets. A common scenario is having to build dependencies of a project first before building the project. The `dependsOn` property in `workspace.json` can be used to define the list of dependencies of an individual target. + +Often the same `dependsOn` configuration has to be defined for every project in the repo, and that's when defining `targetDependencies` in `nx.json` is helpful. + +```json +{ + "targetDependencies": { + "build": [ + { + "target": "build", + "projects": "dependencies" + } + ] + } +} +``` + +The configuration above is identical to adding `{"dependsOn": [{"target": "build", "projects": "dependencies"]}` to every build target in `workspace.json`. + +The `dependsOn` property in `workspace.json` takes precedence over the `targetDependencies` in `nx.json`. + ## .nxignore -You may optionally add an `.nxignore` file to the root. This file is used to specify files in your workspace that should be completely ignored by nx. +You may optionally add an `.nxignore` file to the root. This file is used to specify files in your workspace that should be completely ignored by Nx. The syntax is the same as a [`.gitignore` file](https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository#_ignoring). diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/guides/storybook-plugin.md b/nx-dev/nx-dev/public/documentation/latest/angular/guides/storybook-plugin.md index 025d7f93cb..32892c3c72 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/guides/storybook-plugin.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/guides/storybook-plugin.md @@ -394,13 +394,3 @@ Your folder structure should now look like this: ├── README.md └── etc... ``` - -### Storybook v6 args and controls - -Storybook v6 moves from "knobs" to args and controls when it comes to defining and manipulating your storybook -component properties. Feel free to use the new args way of defining stories. More can be found -[on the official Storybook docs](https://storybook.js.org/docs/angular/writing-stories/args). - -> **Note:** Nx does not yet automatically generate stories that use the args syntax. The main reason is that args don't -> yet support being loaded via the iframe URL which is used in Nx to setup your Storybook based e2e tests. Once support -> is present in Storybook v6, we will provide a way to generate args & controls based stories. More on the progress [here](https://github.com/storybookjs/storybook/issues/12291). diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/guides/update.md b/nx-dev/nx-dev/public/documentation/latest/angular/guides/update.md index e20c638c65..eca39651e6 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/guides/update.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/guides/update.md @@ -1,23 +1,23 @@ # Updating Nx -Nx provides the `migrate` command which help you stay up to date with the latest version of Nx. +The Nx CLI provides the `migrate` command to help you stay up to date with the latest version of Nx. -Not only `nx migrate` updates the version of Nx, but it also updates the versions of dependencies which we install such as jest and cypress. You can also use the `migrate` command to update any Nx plugin or any Angular package. +Not only does `nx migrate` update you to the latest version of Nx, but it also updates the versions of dependencies that we support and test such as Jest and Cypress. You can also use the `migrate` command to update any Nx plugin. -## What About "Ng Update?" +## What about "ng update?" -**TLDR: So if you are using Nx 10, run `nx migrate latest` instead of `ng update`.** +**TLDR: So if you are using Nx 10 or later, run `nx migrate latest` instead of `ng update`.** If you haven't used Nx before and used the Angular CLI, you probably ran `ng update`. What is the difference? `nx migrate` is a much improved version of `ng update`. It runs the same migrations, but allows you to: -- rerun the same migration multiple times -- reorder migrations -- skip migrations -- fix migrations that "almost work" -- commit a partially migrated state -- change versions of packages to match org requirements +- Rerun the same migration multiple times. +- Reorder migrations. +- Skip migrations. +- Fix migrations that "almost work". +- Commit a partially migrated state. +- Change versions of packages to match org requirements. And, in general, it is lot more reliable for non-trivial workspaces. Why? @@ -44,16 +44,16 @@ If you ran `ng update` and saw the error telling you to use `nx migrate`, do the - `npm install` (or `yarn install`) - `nx migrate --run-migrations=migrations.json` -## How to Migrate +## Migrating to the latest Nx version Migration happens in two steps: -- Updating `package.json` (and `node_modules`) -- Updating the source code of the repo to match the new versions of packages in `package.json` +- The installed dependencies are updated including the `package.json` (and `node_modules`). +- The source code in the repo is updated to match the new versions of packages in `package.json`. -### Step 1: Updating package.json and generating migrations.json +### Step 1: Updating dependencies and generating migrations -Run the following: +First, run the `migrate` command: ```bash nx migrate latest # same as nx migrate @nrwl/workspace@latest @@ -65,75 +65,81 @@ You can also specify the name of the package and the version: nx migrate @nrwl/workspace@version # you can also specify version ``` -This will fetch the specified version of `@nrwl/workspace`, analyze the dependencies and fetch all the dependent packages. The process will keep going until the whole tree of dependencies is resolved. This will result in: +This fetches the specified version of the `@nrwl/workspace` package, analyzes the dependencies and fetches all the dependent packages. The process keeps going until all the dependencies are resolved. This results in: -- `package.json` being updated -- `migrations.json` being generated +- The `package.json` being updated +- A `migrations.json` being generated if there are pending migrations. At this point, no packages have been installed, and no other files have been touched. -Now, you can inspect `package.json` to see if the changes make sense. Sometimes the migration can update some package to the version that is either not allowed or conflicts with with another package. Feel free to manually apply the desired adjustments. +Now, you can inspect `package.json` to see if the changes make sense. Sometimes the migration can update some package to the version that is either not allowed or conflicts with another package. Feel free to manually apply the desired adjustments. ### Step 2: Install the packages -After you are satisfied, make sure to actuall install the packages by running `npm install`, `yarn`, or `pnpm install`. +After inspecting the `package.json`, make sure to install the updated package versions by running `npm install`, `yarn`, or `pnpm install`. ### Step 3: Running migrations -Next, we need to update the repo to match the updated `package.json` and `node_modules`. Every Nx plugin comes with a set of migrations that describe how to update the workspace to make it work with the new version of the plugin. During Step 1 Nx looked at all of the packages being updated and collected their migrations into `migrations.json`. It's important to note that because Nx knows the from and to versions of every package, the `migrations.json` file only contains the relevant migrations. +Next, update the repo to match the updated `package.json` and `node_modules`. Every Nx plugin comes with a set of migrations that describe how to update the workspace to make it work with the new version of the plugin. During step one, Nx looked at all of the packages being updated and collected their migrations into `migrations.json`. It's important to note that because Nx knows the from and to versions of every package, the `migrations.json` file only contains the relevant migrations. -Each migration in `migrations.json` updates the source code in the repository. To run all the migrations in order, invoke: +Each migration in `migrations.json` updates the source code in the repository. To run all the migrations in order, run the following command: + +```bash +nx migrate --run-migrations +``` + +To specify a custom migrations file, pass it to the `--run-migrations` option: ```bash nx migrate --run-migrations=migrations.json ``` -For small projects, running all the migrations at once often succeeds without any issues. For large projects, more flexibility is sometimes needed: +For small projects, running all the migrations at once often succeeds without any issues. For large projects, more flexibility is needed: - You may have to skip a migration. - You may want to run one migration at a time to address minor issues. - You may want to reorder migrations. - You may want to run the same migration multiple time if the process takes a long time and you had to rebase. -Since you can run `nx migrate --run-migrations=migrations.json` as many times as you want, you can achieve all of that by commenting out and reordering items in `migrations.json`. The migrate process can take a long time, sometimes a day, so it can be useful to commit the migrations file with the partially-updated repo. +Because you can run `nx migrate --run-migrations` as many times as you want, you can achieve all of that by commenting out and reordering items in `migrations.json`. The migration process can take a long time, depending on the number of migrations, so it is useful to commit the migrations file with the partially-updated repo. ### Step 4: Cleaning up -After you run all the migrations, you can remove `migration.json` and commit the changes. +After you run all the migrations, you can remove `migrations.json` and commit the changes. -## Advanced Capabilities & Recommendations +## Advanced capabilities & recommendations -### One Major Version at a Time, Small Steps +### One major version at a time, small steps -Migrating Jest, Cypress, ESLint, React, Angular, Next etc... is a difficult task. All the tools change at different rates, they can conflict with each other etc.. In addition, every workspace is different. Even though our goal is to let you update any version of Nx to any other version in a single go, sometimes it doesn't work. The following process is better for large workspaces. +Migrating Jest, Cypress, ESLint, React, Angular, Next, and more is a difficult task. All the tools change at different rates, they can conflict with each other. In addition, every workspace is different. Even though our goal is for you to update any version of Nx to a newer version of Nx in a single go, sometimes it doesn't work. The following process is better for large workspaces. Say you want to migrate from Nx 10.1.0 to Nx 11.0.1. The following steps are more likely to work comparing to `nx migrate 11.0.1`. -- Run `nx migrate 10.4.5` to update the latest version in the 10x branch. -- Run `npm install` -- Run `nx migrate --run-migrations=migrations.json` -- Next, run `nx migrate 11.0.1` -- Run `npm install` -- Run `nx migrate --run-migrations=migrations.json` +- Run `nx migrate 10.4.5` to update the latest version in the 10.x branch. +- Run `npm install`. +- Run `nx migrate --run-migrations`. +- Next, run `nx migrate 11.0.1`. +- Run `npm install`. +- Run `nx migrate --run-migrations`. ### Overriding versions -Sometimes, you may want to use a different version of a package than what Nx recommends. You can do it as follows: +Sometimes, you may want to use a different version of a package than what Nx recommends. To do that, specify the package and version: ```bash nx migrate @nrwl/workspace --to="jest@22.0.0,cypress:3.4.0" ``` -By default, Nx uses currently installed packages to calculate what migrations need to run. You can override them like this: +By default, Nx uses currently installed packages to calculate what migrations need to run. To override them, override the version: ```bash -nx migrate @nrwl/workspace --to="@nrwl/jest@8.0.0" +nx migrate @nrwl/workspace --to="@nrwl/jest@12.0.0" ``` ### Reverting a failed update -Updates are best done on a clean git history so that it can be easily reversed if something fails. -We try our best to make sure migrations do not fail but if one does, **please report it** on [Github](https://www.github.com/nrwl/nx/issues/new/). +Updates are best done on a clean git history so that it can be easily reversed if something fails. We try our best to make sure migrations do not fail but if one does, **please report it** on [GitHub](https://www.github.com/nrwl/nx/issues/new/). + If an update fails for any reason, you can revert it as you do any other set of changes: ```bash diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/migration/migration-angular.md b/nx-dev/nx-dev/public/documentation/latest/angular/migration/migration-angular.md index cb5d9b9ecf..5646c3a176 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/migration/migration-angular.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/migration/migration-angular.md @@ -12,7 +12,7 @@ using a monorepo approach. If you are currently using an Angular CLI workspace, To add Nx to an existing Angular CLI workspace to an Nx workspace, with keeping your existing file structure in place, use the `ng add` command with the `--preserveAngularCLILayout` option: -``` +```bash ng add @nrwl/workspace --preserveAngularCLILayout ``` @@ -28,7 +28,7 @@ After the process completes, you continue using the same serve/build/lint/test c To transform a Angular CLI workspace to an Nx workspace, use the `ng add` command: -``` +```bash ng add @nrwl/workspace ``` @@ -86,14 +86,14 @@ Your workspace is now powered by Nx! You can verify out that your application st - To run e2e tests, run `ng e2e`. - To see your dependency graph, run `nx dep-graph`. -> Your dependency graph will grow as you add, and use more applications and libraries. +> Your dependency graph will grow as you add, and use more applications and libraries. You can add the `--watch` flag to `nx dep-graph` to see this changes in-browser as you add them. Learn more about the advantages of Nx in the following guides: - [Using Cypress for e2e tests](/angular/cypress/overview) - [Using Jest for unit tests](/angular/jest/overview) -- [Computation Caching](/angular/core-concepts/computation-caching) -- [Rebuilding and Retesting What is Affected](/angular/core-concepts/affected) +- [Computation Caching](/angular/core-extended/computation-caching) +- [Rebuilding and Retesting What is Affected](/angular/core-extended/affected) ## Transitioning Manually @@ -376,4 +376,4 @@ Learn more about the advantages of Nx in the following guides: [Using Cypress for e2e tests](/angular/cypress/overview) \ [Using Jest for unit tests](/angular/jest/overview) \ -[Rebuilding and Retesting What is Affected](/angular/core-concepts/affected) +[Rebuilding and Retesting What is Affected](/angular/core-extended/affected) diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/tutorial/10-computation-caching.md b/nx-dev/nx-dev/public/documentation/latest/angular/tutorial/10-computation-caching.md index ad97f93597..98223a09a7 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/tutorial/10-computation-caching.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/tutorial/10-computation-caching.md @@ -59,7 +59,7 @@ Based on the state of the source code and the environment, Nx was able to figure Nx read the output from cache instead of running the command for 1 out of 2 projects. ``` -Nx built `api` and retrieved `todos` from its computation cache. Read more about the cache here [here](/{{framework}}/core-concepts/computation-caching). +Nx built `api` and retrieved `todos` from its computation cache. Read more about the cache here [here](/{{framework}}/core-extended/computation-caching). ## --with-deps diff --git a/nx-dev/nx-dev/public/documentation/latest/angular/tutorial/12-summary.md b/nx-dev/nx-dev/public/documentation/latest/angular/tutorial/12-summary.md index 0963e7923a..f00dd1c556 100644 --- a/nx-dev/nx-dev/public/documentation/latest/angular/tutorial/12-summary.md +++ b/nx-dev/nx-dev/public/documentation/latest/angular/tutorial/12-summary.md @@ -14,5 +14,5 @@ In this tutorial you: **Dive Deep:** - [Nx CLI](/{{framework}}/getting-started/nx-cli) -- [Computation Caching](/{{framework}}/core-concepts/computation-caching) -- [Rebuilding What is Affected](/{{framework}}/core-concepts/affected) +- [Computation Caching](/{{framework}}/core-extended/computation-caching) +- [Rebuilding What is Affected](/{{framework}}/core-extended/affected) diff --git a/nx-dev/nx-dev/public/documentation/latest/map.json b/nx-dev/nx-dev/public/documentation/latest/map.json index d78d5a72ef..3ed72f2e02 100644 --- a/nx-dev/nx-dev/public/documentation/latest/map.json +++ b/nx-dev/nx-dev/public/documentation/latest/map.json @@ -86,21 +86,16 @@ "name": "Using Nx", "id": "core-concepts", "itemList": [ - { - "name": "Computation Caching", - "id": "computation-caching", - "file": "shared/computation-caching" - }, - { - "name": "Rebuild Only What is Affected", - "id": "affected", - "file": "shared/affected" - }, { "name": "Monorepos", "id": "why-monorepos", "file": "shared/guides/why-monorepos" }, + { + "name": "Mental Model", + "id": "mental-model", + "file": "shared/mental-model" + }, { "name": "Updating Nx", "id": "updating-nx", @@ -318,6 +313,11 @@ "id": "workspace-generator", "file": "angular/api-workspace/generators/workspace-generator" }, + { + "name": "convert-to-nx-project generator", + "id": "convert-to-nx-project-generator", + "file": "angular/api-workspace/generators/convert-to-nx-project" + }, { "name": "run-commands executor", "id": "run-commands-executor", @@ -387,21 +387,26 @@ "id": "application", "file": "angular/api-angular/generators/application" }, + { + "name": "convert-tslint-to-eslint", + "id": "convert-tslint-to-eslint", + "file": "angular/api-angular/generators/convert-tslint-to-eslint" + }, { "name": "downgrade-module generator", "id": "downgrade-module", "file": "angular/api-angular/generators/downgrade-module" }, - { - "name": "karma-project generator", - "id": "karma-project", - "file": "angular/api-angular/generators/karma-project" - }, { "name": "karma generator", "id": "karma", "file": "angular/api-angular/generators/karma" }, + { + "name": "karma-project generator", + "id": "karma-project", + "file": "angular/api-angular/generators/karma-project" + }, { "name": "library generator", "id": "library", @@ -443,29 +448,29 @@ "file": "angular/api-angular/generators/upgrade-module" }, { - "name": "convert-tslint-to-eslint", - "id": "convert-tslint-to-eslint", - "file": "angular/api-angular/generators/convert-tslint-to-eslint" + "name": "web-worker generator", + "id": "web-worker", + "file": "angular/api-angular/generators/web-worker" }, { - "name": "package executor", - "id": "package", - "file": "angular/api-angular/executors/package" + "name": "delegate-build executor", + "id": "delegate-build", + "file": "angular/api-angular/executors/delegate-build" }, { "name": "ng packagr lite executor", "id": "ng-packagr-lite", "file": "angular/api-angular/executors/ng-packagr-lite" }, + { + "name": "package executor", + "id": "package", + "file": "angular/api-angular/executors/package" + }, { "name": "webpack-browser executor", "id": "webpack-browser", "file": "angular/api-angular/executors/webpack-browser" - }, - { - "name": "delegate-build executor", - "id": "delegate-build", - "file": "angular/api-angular/executors/delegate-build" } ] }, @@ -903,6 +908,22 @@ } ] }, + { + "name": "Core", + "id": "core-extended", + "itemList": [ + { + "name": "Computation Caching", + "id": "computation-caching", + "file": "shared/computation-caching" + }, + { + "name": "Rebuild Only What is Affected", + "id": "affected", + "file": "shared/affected" + } + ] + }, { "name": "Executors / Builders", "id": "executors", @@ -931,12 +952,32 @@ { "name": "Using Generators", "id": "using-schematics", - "file": "shared/using-generators" + "file": "angular/generators/using-generators" }, { "name": "Workspace Generators", "id": "workspace-generators", - "file": "shared/tools-workspace-generators" + "file": "angular/generators/workspace-generators" + }, + { + "name": "Composing Generators", + "id": "composing-generators", + "file": "angular/generators/composing-generators" + }, + { + "name": "Generator Options", + "id": "generator-options", + "file": "shared/generators/generator-options" + }, + { + "name": "Creating Files", + "id": "creating-files", + "file": "shared/generators/creating-files" + }, + { + "name": "Modifying Files", + "id": "modifying-files", + "file": "shared/generators/modifying-files" } ] }, @@ -1185,21 +1226,16 @@ "name": "Using Nx", "id": "core-concepts", "itemList": [ - { - "name": "Computation Caching", - "id": "computation-caching", - "file": "shared/computation-caching" - }, - { - "name": "Rebuild Only What is Affected", - "id": "affected", - "file": "shared/affected" - }, { "name": "Monorepos", "id": "why-monorepos", "file": "shared/guides/why-monorepos" }, + { + "name": "Mental Model", + "id": "mental-model", + "file": "shared/mental-model" + }, { "name": "Updating Nx", "id": "updating-nx", @@ -1413,6 +1449,11 @@ "id": "workspace-generator", "file": "react/api-workspace/generators/workspace-generator" }, + { + "name": "convert-to-nx-project generator", + "id": "convert-to-nx-project-generator", + "file": "react/api-workspace/generators/convert-to-nx-project" + }, { "name": "run-commands executor", "id": "run-commands-executor", @@ -1482,21 +1523,26 @@ "id": "application", "file": "react/api-angular/generators/application" }, + { + "name": "convert-tslint-to-eslint", + "id": "convert-tslint-to-eslint", + "file": "react/api-angular/generators/convert-tslint-to-eslint" + }, { "name": "downgrade-module generator", "id": "downgrade-module", "file": "react/api-angular/generators/downgrade-module" }, - { - "name": "karma-project generator", - "id": "karma-project", - "file": "react/api-angular/generators/karma-project" - }, { "name": "karma generator", "id": "karma", "file": "react/api-angular/generators/karma" }, + { + "name": "karma-project generator", + "id": "karma-project", + "file": "react/api-angular/generators/karma-project" + }, { "name": "library generator", "id": "library", @@ -1512,11 +1558,6 @@ "id": "ngrx", "file": "react/api-angular/generators/ngrx" }, - { - "name": "convert-tslint-to-eslint", - "id": "convert-tslint-to-eslint", - "file": "react/api-angular/generators/convert-tslint-to-eslint" - }, { "name": "stories generator", "id": "stories", @@ -1543,24 +1584,29 @@ "file": "react/api-angular/generators/upgrade-module" }, { - "name": "package executor", - "id": "package", - "file": "react/api-angular/executors/package" + "name": "web-worker generator", + "id": "web-worker", + "file": "react/api-angular/generators/web-worker" + }, + { + "name": "delegate-build executor", + "id": "delegate-build", + "file": "react/api-angular/executors/delegate-build" }, { "name": "ng packagr lite executor", "id": "ng-packagr-lite", "file": "react/api-angular/executors/ng-packagr-lite" }, + { + "name": "package executor", + "id": "package", + "file": "react/api-angular/executors/package" + }, { "name": "webpack-browser executor", "id": "webpack-browser", "file": "react/api-angular/executors/webpack-browser" - }, - { - "name": "delegate-build executor", - "id": "delegate-build", - "file": "react/api-angular/executors/delegate-build" } ] }, @@ -2004,6 +2050,22 @@ } ] }, + { + "name": "Core", + "id": "core-extended", + "itemList": [ + { + "name": "Computation Caching", + "id": "computation-caching", + "file": "shared/computation-caching" + }, + { + "name": "Rebuild Only What is Affected", + "id": "affected", + "file": "shared/affected" + } + ] + }, { "name": "Executors / Builders", "id": "executors", @@ -2032,12 +2094,32 @@ { "name": "Using Generators", "id": "using-schematics", - "file": "shared/using-generators" + "file": "shared/generators/using-generators" }, { "name": "Workspace Generators", "id": "workspace-generators", - "file": "shared/tools-workspace-generators" + "file": "shared/generators/workspace-generators" + }, + { + "name": "Composing Generators", + "id": "composing-generators", + "file": "shared/generators/composing-generators" + }, + { + "name": "Generator Options", + "id": "generator-options", + "file": "shared/generators/generator-options" + }, + { + "name": "Creating Files", + "id": "creating-files", + "file": "shared/generators/creating-files" + }, + { + "name": "Modifying Files", + "id": "modifying-files", + "file": "shared/generators/modifying-files" } ] }, @@ -2248,21 +2330,16 @@ "name": "Using Nx", "id": "core-concepts", "itemList": [ - { - "name": "Computation Caching", - "id": "computation-caching", - "file": "shared/computation-caching" - }, - { - "name": "Rebuild Only What is Affected", - "id": "affected", - "file": "shared/affected" - }, { "name": "Monorepos", "id": "why-monorepos", "file": "shared/guides/why-monorepos" }, + { + "name": "Mental Model", + "id": "mental-model", + "file": "shared/mental-model" + }, { "name": "Updating Nx", "id": "updating-nx", @@ -2472,6 +2549,11 @@ "id": "workspace-generator", "file": "node/api-workspace/generators/workspace-generator" }, + { + "name": "convert-to-nx-project generator", + "id": "convert-to-nx-project-generator", + "file": "node/api-workspace/generators/convert-to-nx-project" + }, { "name": "run-commands executor", "id": "run-commands-executor", @@ -2541,21 +2623,26 @@ "id": "application", "file": "node/api-angular/generators/application" }, + { + "name": "convert-tslint-to-eslint", + "id": "convert-tslint-to-eslint", + "file": "node/api-angular/generators/convert-tslint-to-eslint" + }, { "name": "downgrade-module generator", "id": "downgrade-module", "file": "node/api-angular/generators/downgrade-module" }, - { - "name": "karma-project generator", - "id": "karma-project", - "file": "node/api-angular/generators/karma-project" - }, { "name": "karma generator", "id": "karma", "file": "node/api-angular/generators/karma" }, + { + "name": "karma-project generator", + "id": "karma-project", + "file": "node/api-angular/generators/karma-project" + }, { "name": "library generator", "id": "library", @@ -2597,29 +2684,29 @@ "file": "node/api-angular/generators/upgrade-module" }, { - "name": "convert-tslint-to-eslint", - "id": "convert-tslint-to-eslint", - "file": "node/api-angular/generators/convert-tslint-to-eslint" + "name": "web-worker generator", + "id": "web-worker", + "file": "node/api-angular/generators/web-worker" }, { - "name": "package executor", - "id": "package", - "file": "node/api-angular/executors/package" + "name": "delegate-build executor", + "id": "delegate-build", + "file": "node/api-angular/executors/delegate-build" }, { "name": "ng packagr lite executor", "id": "ng-packagr-lite", "file": "node/api-angular/executors/ng-packagr-lite" }, + { + "name": "package executor", + "id": "package", + "file": "node/api-angular/executors/package" + }, { "name": "webpack-browser executor", "id": "webpack-browser", "file": "node/api-angular/executors/webpack-browser" - }, - { - "name": "delegate-build executor", - "id": "delegate-build", - "file": "node/api-angular/executors/delegate-build" } ] }, @@ -3056,6 +3143,22 @@ } ] }, + { + "name": "Core", + "id": "core-extended", + "itemList": [ + { + "name": "Computation Caching", + "id": "computation-caching", + "file": "shared/computation-caching" + }, + { + "name": "Rebuild Only What is Affected", + "id": "affected", + "file": "shared/affected" + } + ] + }, { "name": "Executors / Builders", "id": "executors", @@ -3084,12 +3187,32 @@ { "name": "Using Generators", "id": "using-schematics", - "file": "shared/using-generators" + "file": "shared/generators/using-generators" }, { "name": "Workspace Generators", "id": "workspace-generators", - "file": "shared/tools-workspace-generators" + "file": "shared/generators/workspace-generators" + }, + { + "name": "Composing Generators", + "id": "composing-generators", + "file": "shared/generators/composing-generators" + }, + { + "name": "Generator Options", + "id": "generator-options", + "file": "shared/generators/generator-options" + }, + { + "name": "Creating Files", + "id": "creating-files", + "file": "shared/generators/creating-files" + }, + { + "name": "Modifying Files", + "id": "modifying-files", + "file": "shared/generators/modifying-files" } ] }, diff --git a/nx-dev/nx-dev/public/documentation/latest/node/api-angular/generators/application.md b/nx-dev/nx-dev/public/documentation/latest/node/api-angular/generators/application.md index 5c11383f44..26b9fa5d6f 100644 --- a/nx-dev/nx-dev/public/documentation/latest/node/api-angular/generators/application.md +++ b/nx-dev/nx-dev/public/documentation/latest/node/api-angular/generators/application.md @@ -128,6 +128,14 @@ Type: `boolean` Skip creating spec files. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### strict Default: `true` @@ -142,7 +150,7 @@ Default: `css` Type: `string` -Possible values: `css`, `scss`, `styl`, `less` +Possible values: `css`, `scss`, `less` The file extension to be used for style files. diff --git a/nx-dev/nx-dev/public/documentation/latest/node/api-angular/generators/downgrade-module.md b/nx-dev/nx-dev/public/documentation/latest/node/api-angular/generators/downgrade-module.md index 83a9b97974..f0fa6fc1e7 100644 --- a/nx-dev/nx-dev/public/documentation/latest/node/api-angular/generators/downgrade-module.md +++ b/nx-dev/nx-dev/public/documentation/latest/node/api-angular/generators/downgrade-module.md @@ -1,6 +1,6 @@ # downgrade-module -Setup Downgrade Module +Setup Downgrade Module. ## Usage @@ -40,7 +40,7 @@ The name of the main AngularJS module. Type: `string` -The name of the project +The name of the project. ### skipFormat @@ -48,7 +48,7 @@ Default: `false` Type: `boolean` -Skip formatting files +Skip formatting files. ### skipPackageJson @@ -56,4 +56,4 @@ Default: `false` Type: `boolean` -Do not add @angular/upgrade to package.json (e.g., --skipPackageJson) +Do not add @angular/upgrade to package.json (e.g., --skipPackageJson). diff --git a/nx-dev/nx-dev/public/documentation/latest/node/api-angular/generators/library.md b/nx-dev/nx-dev/public/documentation/latest/node/api-angular/generators/library.md index 617acfa27e..a2d8fa56f9 100644 --- a/nx-dev/nx-dev/public/documentation/latest/node/api-angular/generators/library.md +++ b/nx-dev/nx-dev/public/documentation/latest/node/api-angular/generators/library.md @@ -150,6 +150,14 @@ Type: `boolean` Do not update tsconfig.json for development experience. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### strict Default: `true` diff --git a/nx-dev/nx-dev/public/documentation/latest/node/api-angular/generators/ngrx.md b/nx-dev/nx-dev/public/documentation/latest/node/api-angular/generators/ngrx.md index 9d4a0f23dc..7995a15629 100644 --- a/nx-dev/nx-dev/public/documentation/latest/node/api-angular/generators/ngrx.md +++ b/nx-dev/nx-dev/public/documentation/latest/node/api-angular/generators/ngrx.md @@ -1,6 +1,6 @@ # ngrx -Add an ngrx config to a project +Add NgRx support to an application or library. ## Usage @@ -66,23 +66,27 @@ The path to NgModule where the feature state will be registered. The host direct Type: `string` -Name of the NgRx feature state, such as "products" or "users"). Recommended to use the plural form of the name. +Name of the NgRx feature state, such as `products` or `users`. Recommended to use the plural form of the name. -### onlyAddFiles +### ~~onlyAddFiles~~ Default: `false` Type: `boolean` -**Deprecated**, use `skipImport`. Only add new NgRx files, without changing the module file (e.g., --onlyAddFiles). +**Deprecated:** Use the `skipImport` option instead. -### onlyEmptyRoot +Only add new NgRx files, without changing the module file (e.g., --onlyAddFiles). + +### ~~onlyEmptyRoot~~ Default: `false` Type: `boolean` -**Deprecated**, use `minimal`. Do not generate any files. Only generate StoreModule.forRoot and EffectsModule.forRoot (e.g., --onlyEmptyRoot). +**Deprecated:** Use the `minimal` option instead. + +Do not generate any files. Only generate StoreModule.forRoot and EffectsModule.forRoot (e.g., --onlyEmptyRoot). ### root diff --git a/nx-dev/nx-dev/public/documentation/latest/node/api-angular/generators/upgrade-module.md b/nx-dev/nx-dev/public/documentation/latest/node/api-angular/generators/upgrade-module.md index 093f05de01..bf85ee63b3 100644 --- a/nx-dev/nx-dev/public/documentation/latest/node/api-angular/generators/upgrade-module.md +++ b/nx-dev/nx-dev/public/documentation/latest/node/api-angular/generators/upgrade-module.md @@ -1,6 +1,6 @@ # upgrade-module -Add an upgrade module +Add an upgrade module. ## Usage @@ -28,7 +28,7 @@ nx g upgrade-module ... --dry-run Type: `string` -The selector of an AngularJS component (e.g., --angularJsCmpSelector=myComponent) +The selector of an AngularJS component (e.g., --angularJsCmpSelector=myComponent). ### angularJsImport @@ -46,7 +46,7 @@ The name of the main AngularJS module. Type: `string` -The name of the project +The name of the project. ### router @@ -54,7 +54,7 @@ Default: `false` Type: `boolean` -Sets up router synchronization (e.g., --router) +Sets up router synchronization (e.g., --router). ### skipFormat @@ -62,7 +62,7 @@ Default: `false` Type: `boolean` -Skip formatting files +Skip formatting files. ### skipPackageJson @@ -70,4 +70,4 @@ Default: `false` Type: `boolean` -Do not add @angular/upgrade to package.json (e.g., --skipPackageJson) +Do not add @angular/upgrade to package.json (e.g., --skipPackageJson). diff --git a/nx-dev/nx-dev/public/documentation/latest/node/api-angular/generators/web-worker.md b/nx-dev/nx-dev/public/documentation/latest/node/api-angular/generators/web-worker.md new file mode 100644 index 0000000000..67031d48f7 --- /dev/null +++ b/nx-dev/nx-dev/public/documentation/latest/node/api-angular/generators/web-worker.md @@ -0,0 +1,59 @@ +# web-worker + +Create a Web Worker. + +## Usage + +```bash +nx generate web-worker ... +``` + +By default, Nx will search for `web-worker` in the default collection provisioned in `workspace.json`. + +You can specify the collection explicitly as follows: + +```bash +nx g @nrwl/angular:web-worker ... +``` + +Show what will be generated without writing to disk: + +```bash +nx g web-worker ... --dry-run +``` + +## Options + +### name + +Type: `string` + +The name of the worker. + +### path + +Type: `string` + +The path at which to create the worker file, relative to the current workspace. + +### project + +Type: `string` + +The name of the project. + +### skipFormat + +Default: `false` + +Type: `boolean` + +Skip formatting files. + +### snippet + +Default: `true` + +Type: `boolean` + +Add a worker creation snippet in a sibling file of the same name. diff --git a/nx-dev/nx-dev/public/documentation/latest/node/api-express/generators/application.md b/nx-dev/nx-dev/public/documentation/latest/node/api-express/generators/application.md index c801960e6a..1f5b44281a 100644 --- a/nx-dev/nx-dev/public/documentation/latest/node/api-express/generators/application.md +++ b/nx-dev/nx-dev/public/documentation/latest/node/api-express/generators/application.md @@ -98,6 +98,14 @@ Type: `boolean` Do not add dependencies to package.json. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### tags Type: `string` diff --git a/nx-dev/nx-dev/public/documentation/latest/node/api-gatsby/generators/application.md b/nx-dev/nx-dev/public/documentation/latest/node/api-gatsby/generators/application.md index 7269ac5bbd..304a5932ed 100644 --- a/nx-dev/nx-dev/public/documentation/latest/node/api-gatsby/generators/application.md +++ b/nx-dev/nx-dev/public/documentation/latest/node/api-gatsby/generators/application.md @@ -66,6 +66,14 @@ Type: `boolean` Whether or not to configure the ESLint "parserOptions.project" option. We do not do this by default for lint performance reasons. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### style Alias(es): s diff --git a/nx-dev/nx-dev/public/documentation/latest/node/api-nest/generators/application.md b/nx-dev/nx-dev/public/documentation/latest/node/api-nest/generators/application.md index cca4d44354..bff9cfa98d 100644 --- a/nx-dev/nx-dev/public/documentation/latest/node/api-nest/generators/application.md +++ b/nx-dev/nx-dev/public/documentation/latest/node/api-nest/generators/application.md @@ -72,6 +72,14 @@ Type: `boolean` Do not add dependencies to package.json. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### tags Type: `string` diff --git a/nx-dev/nx-dev/public/documentation/latest/node/api-next/generators/application.md b/nx-dev/nx-dev/public/documentation/latest/node/api-next/generators/application.md index ebdc892804..7fdb044de5 100644 --- a/nx-dev/nx-dev/public/documentation/latest/node/api-next/generators/application.md +++ b/nx-dev/nx-dev/public/documentation/latest/node/api-next/generators/application.md @@ -108,6 +108,14 @@ Type: `boolean` Skip updating workspace.json with default options based on values provided to this app (e.g. babel, style) +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### style Alias(es): s diff --git a/nx-dev/nx-dev/public/documentation/latest/node/api-node/generators/application.md b/nx-dev/nx-dev/public/documentation/latest/node/api-node/generators/application.md index 7978f16169..6da0095e63 100644 --- a/nx-dev/nx-dev/public/documentation/latest/node/api-node/generators/application.md +++ b/nx-dev/nx-dev/public/documentation/latest/node/api-node/generators/application.md @@ -106,6 +106,14 @@ Type: `boolean` Do not add dependencies to package.json. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### tags Type: `string` diff --git a/nx-dev/nx-dev/public/documentation/latest/node/api-node/generators/library.md b/nx-dev/nx-dev/public/documentation/latest/node/api-node/generators/library.md index 3097fb9634..317300e3be 100644 --- a/nx-dev/nx-dev/public/documentation/latest/node/api-node/generators/library.md +++ b/nx-dev/nx-dev/public/documentation/latest/node/api-node/generators/library.md @@ -138,6 +138,14 @@ Type: `boolean` Do not update tsconfig.base.json for development experience. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### strict Default: `false` diff --git a/nx-dev/nx-dev/public/documentation/latest/node/api-nx-devkit/index.md b/nx-dev/nx-dev/public/documentation/latest/node/api-nx-devkit/index.md index 4362e49c99..c05636dfb6 100644 --- a/nx-dev/nx-dev/public/documentation/latest/node/api-nx-devkit/index.md +++ b/nx-dev/nx-dev/public/documentation/latest/node/api-nx-devkit/index.md @@ -60,9 +60,11 @@ - [applyChangesToString](../../node/nx-devkit/index#applychangestostring) - [convertNxExecutor](../../node/nx-devkit/index#convertnxexecutor) - [convertNxGenerator](../../node/nx-devkit/index#convertnxgenerator) +- [detectPackageManager](../../node/nx-devkit/index#detectpackagemanager) - [formatFiles](../../node/nx-devkit/index#formatfiles) - [generateFiles](../../node/nx-devkit/index#generatefiles) - [getPackageManagerCommand](../../node/nx-devkit/index#getpackagemanagercommand) +- [getPackageManagerVersion](../../node/nx-devkit/index#getpackagemanagerversion) - [getProjects](../../node/nx-devkit/index#getprojects) - [getWorkspaceLayout](../../node/nx-devkit/index#getworkspacelayout) - [getWorkspacePath](../../node/nx-devkit/index#getworkspacepath) @@ -473,7 +475,7 @@ Callback to install dependencies only if necessary. undefined is returned if cha ### addProjectConfiguration -▸ **addProjectConfiguration**(`host`: [_Tree_](../../node/nx-devkit/index#tree), `projectName`: _string_, `projectConfiguration`: [_ProjectConfiguration_](../../node/nx-devkit/index#projectconfiguration) & [_NxJsonProjectConfiguration_](../../node/nx-devkit/index#nxjsonprojectconfiguration)): _void_ +▸ **addProjectConfiguration**(`host`: [_Tree_](../../node/nx-devkit/index#tree), `projectName`: _string_, `projectConfiguration`: [_ProjectConfiguration_](../../node/nx-devkit/index#projectconfiguration) & [_NxJsonProjectConfiguration_](../../node/nx-devkit/index#nxjsonprojectconfiguration), `standalone?`: _boolean_): _void_ Adds project configuration to the Nx workspace. @@ -482,11 +484,12 @@ both files. #### Parameters -| Name | Type | Description | -| :--------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------- | -| `host` | [_Tree_](../../node/nx-devkit/index#tree) | the file system tree | -| `projectName` | _string_ | unique name. Often directories are part of the name (e.g., mydir-mylib) | -| `projectConfiguration` | [_ProjectConfiguration_](../../node/nx-devkit/index#projectconfiguration) & [_NxJsonProjectConfiguration_](../../node/nx-devkit/index#nxjsonprojectconfiguration) | project configuration | +| Name | Type | Default value | Description | +| :--------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------ | :----------------------------------------------------------------------------------------- | +| `host` | [_Tree_](../../node/nx-devkit/index#tree) | - | the file system tree | +| `projectName` | _string_ | - | unique name. Often directories are part of the name (e.g., mydir-mylib) | +| `projectConfiguration` | [_ProjectConfiguration_](../../node/nx-devkit/index#projectconfiguration) & [_NxJsonProjectConfiguration_](../../node/nx-devkit/index#nxjsonprojectconfiguration) | - | project configuration | +| `standalone` | _boolean_ | false | should the project use package.json? If false, the project config is inside workspace.json | **Returns:** _void_ @@ -577,6 +580,22 @@ Convert an Nx Generator into an Angular Devkit Schematic --- +### detectPackageManager + +▸ **detectPackageManager**(`dir?`: _string_): [_PackageManager_](../../node/nx-devkit/index#packagemanager) + +Detects which package manager is used in the workspace based on the lock file. + +#### Parameters + +| Name | Type | Default value | +| :---- | :------- | :------------ | +| `dir` | _string_ | '' | + +**Returns:** [_PackageManager_](../../node/nx-devkit/index#packagemanager) + +--- + ### formatFiles ▸ **formatFiles**(`host`: [_Tree_](../../node/nx-devkit/index#tree)): _Promise_ @@ -634,7 +653,7 @@ doesn't get confused about incorrect TypeScript files. ### getPackageManagerCommand -▸ **getPackageManagerCommand**(`packageManager?`: [_PackageManager_](../../node/nx-devkit/index#packagemanager)): _object_ +▸ **getPackageManagerCommand**(`packageManager?`: [_PackageManager_](../../node/nx-devkit/index#packagemanager)): PackageManagerCommands Returns commands for the package manager used in the workspace. By default, the package manager is derived based on the lock file, @@ -652,17 +671,25 @@ execSync(`${getPackageManagerCommand().addDev} my-dev-package`); | :--------------- | :------------------------------------------------------------ | | `packageManager` | [_PackageManager_](../../node/nx-devkit/index#packagemanager) | -**Returns:** _object_ +**Returns:** PackageManagerCommands -| Name | Type | -| :-------- | :------------------------------------------------- | -| `add` | _string_ | -| `addDev` | _string_ | -| `exec` | _string_ | -| `install` | _string_ | -| `list` | _string_ | -| `rm` | _string_ | -| `run` | (`script`: _string_, `args`: _string_) => _string_ | +--- + +### getPackageManagerVersion + +▸ **getPackageManagerVersion**(`packageManager?`: [_PackageManager_](../../node/nx-devkit/index#packagemanager)): _string_ + +Returns the version of the package manager used in the workspace. +By default, the package manager is derived based on the lock file, +but it can also be passed in explicitly. + +#### Parameters + +| Name | Type | +| :--------------- | :------------------------------------------------------------ | +| `packageManager` | [_PackageManager_](../../node/nx-devkit/index#packagemanager) | + +**Returns:** _string_ --- diff --git a/nx-dev/nx-dev/public/documentation/latest/node/api-nx-plugin/generators/plugin.md b/nx-dev/nx-dev/public/documentation/latest/node/api-nx-plugin/generators/plugin.md index f7bce6c1ba..2934ff0176 100644 --- a/nx-dev/nx-dev/public/documentation/latest/node/api-nx-plugin/generators/plugin.md +++ b/nx-dev/nx-dev/public/documentation/latest/node/api-nx-plugin/generators/plugin.md @@ -78,6 +78,14 @@ Type: `boolean` Do not update tsconfig.json for development experience. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### tags Alias(es): t diff --git a/nx-dev/nx-dev/public/documentation/latest/node/api-react/generators/application.md b/nx-dev/nx-dev/public/documentation/latest/node/api-react/generators/application.md index 15bc5d395c..db9e3c7ab8 100644 --- a/nx-dev/nx-dev/public/documentation/latest/node/api-react/generators/application.md +++ b/nx-dev/nx-dev/public/documentation/latest/node/api-react/generators/application.md @@ -150,6 +150,14 @@ Type: `boolean` Skip updating workspace.json with default options based on values provided to this app (e.g. babel, style). +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### strict Default: `true` diff --git a/nx-dev/nx-dev/public/documentation/latest/node/api-react/generators/library.md b/nx-dev/nx-dev/public/documentation/latest/node/api-react/generators/library.md index bd622569cf..d605dfc63a 100644 --- a/nx-dev/nx-dev/public/documentation/latest/node/api-react/generators/library.md +++ b/nx-dev/nx-dev/public/documentation/latest/node/api-react/generators/library.md @@ -158,6 +158,14 @@ Type: `boolean` Do not update tsconfig.json for development experience. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### strict Default: `true` diff --git a/nx-dev/nx-dev/public/documentation/latest/node/api-react/generators/storybook-configuration.md b/nx-dev/nx-dev/public/documentation/latest/node/api-react/generators/storybook-configuration.md index c013ff5a7d..06dc9ea29f 100644 --- a/nx-dev/nx-dev/public/documentation/latest/node/api-react/generators/storybook-configuration.md +++ b/nx-dev/nx-dev/public/documentation/latest/node/api-react/generators/storybook-configuration.md @@ -77,3 +77,11 @@ The tool to use for running lint checks. Type: `string` Project name + +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json diff --git a/nx-dev/nx-dev/public/documentation/latest/node/api-storybook/generators/configuration.md b/nx-dev/nx-dev/public/documentation/latest/node/api-storybook/generators/configuration.md index dffb1048ab..6e982ee587 100644 --- a/nx-dev/nx-dev/public/documentation/latest/node/api-storybook/generators/configuration.md +++ b/nx-dev/nx-dev/public/documentation/latest/node/api-storybook/generators/configuration.md @@ -60,6 +60,14 @@ Type: `string` Library or application name +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### uiFramework Type: `string` diff --git a/nx-dev/nx-dev/public/documentation/latest/node/api-storybook/generators/cypress-project.md b/nx-dev/nx-dev/public/documentation/latest/node/api-storybook/generators/cypress-project.md index 5783c6d340..c3e27b2976 100644 --- a/nx-dev/nx-dev/public/documentation/latest/node/api-storybook/generators/cypress-project.md +++ b/nx-dev/nx-dev/public/documentation/latest/node/api-storybook/generators/cypress-project.md @@ -53,3 +53,11 @@ The tool to use for running lint checks. Type: `string` Library or application name + +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json diff --git a/nx-dev/nx-dev/public/documentation/latest/node/api-web/generators/application.md b/nx-dev/nx-dev/public/documentation/latest/node/api-web/generators/application.md index 914d89a1c5..e2595bf10f 100644 --- a/nx-dev/nx-dev/public/documentation/latest/node/api-web/generators/application.md +++ b/nx-dev/nx-dev/public/documentation/latest/node/api-web/generators/application.md @@ -76,6 +76,14 @@ Type: `boolean` Skip formatting files +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### style Default: `css` diff --git a/nx-dev/nx-dev/public/documentation/latest/node/api-workspace/generators/convert-to-nx-project.md b/nx-dev/nx-dev/public/documentation/latest/node/api-workspace/generators/convert-to-nx-project.md new file mode 100644 index 0000000000..b86c1820e6 --- /dev/null +++ b/nx-dev/nx-dev/public/documentation/latest/node/api-workspace/generators/convert-to-nx-project.md @@ -0,0 +1,51 @@ +# convert-to-nx-project + +Moves a project's configuration outside of workspace.json + +## Usage + +```bash +nx generate convert-to-nx-project ... +``` + +By default, Nx will search for `convert-to-nx-project` in the default collection provisioned in `workspace.json`. + +You can specify the collection explicitly as follows: + +```bash +nx g @nrwl/workspace:convert-to-nx-project ... +``` + +Show what will be generated without writing to disk: + +```bash +nx g convert-to-nx-project ... --dry-run +``` + +### Examples + +Convert the my-feature-lib project to use project.json file instead of workspace.json: + +```bash +nx g @nrwl/workspace:convert-to-nx-project --project my-feature-lib +``` + +Convert all projects in workspace.json to separate project.json files.: + +```bash +nx g @nrwl/workspace:convert-to-nx-project --all +``` + +## Options + +### all + +Type: `boolean` + +Should every project be converted? + +### project + +Type: `string` + +Project name diff --git a/nx-dev/nx-dev/public/documentation/latest/node/api-workspace/generators/library.md b/nx-dev/nx-dev/public/documentation/latest/node/api-workspace/generators/library.md index 44fd48eafb..1e2dd53851 100644 --- a/nx-dev/nx-dev/public/documentation/latest/node/api-workspace/generators/library.md +++ b/nx-dev/nx-dev/public/documentation/latest/node/api-workspace/generators/library.md @@ -130,6 +130,14 @@ Type: `boolean` Do not update tsconfig.json for development experience. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### strict Default: `false` diff --git a/nx-dev/nx-dev/public/documentation/latest/node/cli/affected-dep-graph.md b/nx-dev/nx-dev/public/documentation/latest/node/cli/affected-dep-graph.md index 1f5311aa42..e96515443d 100644 --- a/nx-dev/nx-dev/public/documentation/latest/node/cli/affected-dep-graph.md +++ b/nx-dev/nx-dev/public/documentation/latest/node/cli/affected-dep-graph.md @@ -131,3 +131,9 @@ Print additional error stack trace on failure ### version Show version number + +### watch + +Default: `false` + +Watch for changes to dep graph and update in-browser diff --git a/nx-dev/nx-dev/public/documentation/latest/node/cli/dep-graph.md b/nx-dev/nx-dev/public/documentation/latest/node/cli/dep-graph.md index 7de42387d7..8db615a505 100644 --- a/nx-dev/nx-dev/public/documentation/latest/node/cli/dep-graph.md +++ b/nx-dev/nx-dev/public/documentation/latest/node/cli/dep-graph.md @@ -54,6 +54,12 @@ Show the graph where every node is either an ancestor or a descendant of todos-f nx dep-graph --focus=todos-feature-main --exclude=project-one,project-two ``` +Watch for changes to dep graph and update in-browser: + +```bash +nx dep-graph --watch +``` + ## Options ### exclude @@ -87,3 +93,9 @@ Bind the dep graph server to a specific port. ### version Show version number + +### watch + +Default: `false` + +Watch for changes to dep graph and update in-browser diff --git a/nx-dev/nx-dev/public/documentation/latest/node/getting-started/intro.md b/nx-dev/nx-dev/public/documentation/latest/node/getting-started/intro.md index 7d0b96c932..186f806b0e 100644 --- a/nx-dev/nx-dev/public/documentation/latest/node/getting-started/intro.md +++ b/nx-dev/nx-dev/public/documentation/latest/node/getting-started/intro.md @@ -17,7 +17,7 @@ Nx works especially well for [monorepos](/{{framework}}/core-concepts/why-monore ## Features - Test (or builds or lints) only the projects [affected](/{{framework}}/cli/affected) by a code change. -- [Cache](/{{framework}}/core-concepts/computation-caching) command output locally so that future runs on the same code happen in seconds. The paid [Nx Cloud](https://nx.app) offering allows this cache to be shared across every developer in your organization. +- [Cache](/{{framework}}/core-extended/computation-caching) command output locally so that future runs on the same code happen in seconds. The paid [Nx Cloud](https://nx.app) offering allows this cache to be shared across every developer in your organization. - Provide a consistent syntax for [executing commands](/{{framework}}/executors/using-builders). `nx build my-app` works no matter what framework `my-app` uses. - Automate code modification tasks with [generators](/{{framework}}/cli/affected). - Access a thriving ecosystem of [plugins](/{{framework}}/generators/using-schematics) from Nrwl and the [community](/community). @@ -31,5 +31,5 @@ Nx works especially well for [monorepos](/{{framework}}/core-concepts/why-monore - [Nx CLI](/{{framework}}/getting-started/nx-cli) - [Configuration Files](/{{framework}}/core-concepts/configuration) -- [Computation Caching](/{{framework}}/core-concepts/computation-caching) -- [Rebuilding What is Affected](/{{framework}}/core-concepts/affected) +- [Computation Caching](/{{framework}}/core-extended/computation-caching) +- [Rebuilding What is Affected](/{{framework}}/core-extended/affected) diff --git a/nx-dev/nx-dev/public/documentation/latest/node/getting-started/nx-cli.md b/nx-dev/nx-dev/public/documentation/latest/node/getting-started/nx-cli.md index b49c55fe12..9b35846133 100644 --- a/nx-dev/nx-dev/public/documentation/latest/node/getting-started/nx-cli.md +++ b/nx-dev/nx-dev/public/documentation/latest/node/getting-started/nx-cli.md @@ -41,15 +41,6 @@ nx workspace-generator my-generator [The first command](/{{framework}}/cli/generate) scaffolds a new customizable workspace generator named `my-generator` and [the second command](/{{framework}}/cli/workspace-generator) invokes it. -**Update plugins:** - -```bash -nx migrate latest -nx migrate --run-migrations=migrations.json -``` - -[The first command](/{{framework}}/cli/migrate) updates the installed Nx plugin versions and creates a list of generators to keep configuration files up to date. [The second command](/{{framework}}/cli/migrate) invokes those generators. - **Run an executor on one project:** ```bash @@ -57,7 +48,15 @@ nx run my-app:build nx build my-app ``` -Both of [these commands](/{{framework}}/cli/run) build the `my-app` application. Custom executors need to use the more verbose `nx run project:target` syntax. See the [workspace.json documentation](/{{framework}}/core-concepts/configuration) for information on configuring executor options. +Both of [these commands](/{{framework}}/cli/run) build the `my-app` application. See the [workspace.json documentation](/{{framework}}/core-concepts/configuration) for information on configuring executor options. + +**Run an executor for many projects:** + +```bash +nx run-many --target=build --projects=app1,app2 +``` + +[This command](/{{framework}}/cli/run-many) builds `app1` and `app2`. **Run an executor for all affected projects:** @@ -71,10 +70,11 @@ nx affected --target=build ```bash nx dep-graph +nx dep-graph --watch nx affected:dep-graph ``` -[The first command](/{{framework}}/cli/dep-graph) launches a web browser with repository's dependency graph rendered visually. [The second command](/{{framework}}/cli/affected-dep-graph) renders the same graph with projects affected by the current code change highlighted. +[The first command](/{{framework}}/cli/dep-graph) launches a web browser with repository's dependency graph rendered visually. You can add the `--watch` flag to watch for changes to the dep grpah and update the view in-browser. [The second command](/{{framework}}/cli/affected-dep-graph) renders the same graph with projects affected by the current code change highlighted. **List installed plugins:** @@ -83,3 +83,17 @@ nx list ``` [This command](/{{framework}}/cli/list) lists the currently installed Nx plugins and shows other plugins that are available. + +**Update plugins:** + +```bash +nx migrate latest +nx migrate --run-migrations=migrations.json +``` + +[The first command](/{{framework}}/cli/migrate) updates the installed Nx plugin versions and creates a list of generators to keep configuration files up to date. [The second command](/{{framework}}/cli/migrate) invokes those generators. + +## Common Env Variables + +- Setting **NX_VERBOSE_LOGGING=true** will print debug information useful for troubleshooting. +- Setting **NX_PERF_LOGGING=true** will print debug information useful for profiling executors and Nx itself. diff --git a/nx-dev/nx-dev/public/documentation/latest/node/guides/configuration.md b/nx-dev/nx-dev/public/documentation/latest/node/guides/configuration.md index 38166a0b99..4e57334292 100644 --- a/nx-dev/nx-dev/public/documentation/latest/node/guides/configuration.md +++ b/nx-dev/nx-dev/public/documentation/latest/node/guides/configuration.md @@ -18,6 +18,12 @@ The `workspace.json` configuration file contains information about the targets a "build": { "executor": "@nrwl/node:build", "outputs": ["dist/apps/myapp"], + "dependsOn": [ + { + "target": "build", + "projects": "dependencies" + } + ], "options": { "outputPath": "dist/packages/myapp", "main": "packages/myapp/src/main.ts", @@ -99,9 +105,11 @@ For instance, the following configures `mylib`. - `root` tells Nx the location of the library including its sources and configuration files. - `sourceRoot` tells Nx the location of the library's source files. -- `projectType` is either 'application' or 'library'. +- `projectType` is either 'application' or 'library'. The project type is used in dep graph viz and in a few aux commands. - `targets` configures all the targets which define what tasks you can run against the library. +> Projects utilizing `project.json` files will not be present in `workspace.json`. + ### Targets Let's look at the simple target: @@ -119,7 +127,7 @@ Let's look at the simple target: **Target Name** -The name of the target `test` means that you can invoke it as follows: `nx test mylib` or `nx run mylib:test`. The name isn't significant in any other way. If you rename it to, for example, `mytest`, you will be able to run as follows: `nx run mylib:mytest`. +The name of the target `test` means that you can invoke it as follows: `nx test mylib` or `nx run mylib:test`. The name isn't significant in any other way. If you rename it to, for example, `mytest`, you will be able to run as follows: `nx mytest mylib` or `nx run mylib:mytest`. **Executor** @@ -188,6 +196,66 @@ require(`@nrwl/jest`).executors['jest']({...options, ...selectedConfiguration, . The selected configuration adds/overrides the default options, and the provided command line args add/override the configuration options. +**Target Dependencies** + +Targets can depend on other targets. A common scenario is having to build dependencies of a project first before building the project. You can specify this using the `dependsOn`. + +```json +{ + "build": { + "executor": "@nrwl/node:build", + "outputs": ["dist/apps/myapp"], + "options": { + "index": "apps/myapp/src/app.html", + "main": "apps/myapp/src/main.ts" + }, + "dependsOn": [ + { + "target": "build", + "projects": "dependencies" + } + ] + } +} +``` + +In this case, running `nx build myapp` will build all the buildable libraries `myapp` depends on first. In other words, `nx build myapp` will result in multiple tasks executing. The `--parallel`, and `--max-parallel` flags will have the same effect as they would with `run-many` or `affected`. + +It is also possible to define dependencies between the targets of the same project. + +In the following example invoking `nx build myapp` will build all the libraries first, then `nx build-base myapp` will be executed and only then `nx build myapp` will be executed. + +```json +{ + "build-base": { + "executor": "@nrwl/node:build", + "outputs": ["dist/apps/myapp"], + "options": { + "index": "apps/myapp/src/app.html", + "main": "apps/myapp/src/main.ts" + } + }, + "build": { + "executor": "@nrwl/workspace:run-commands", + "dependsOn": [ + { + "target": "build", + "projects": "dependencies" + }, + { + "target": "build-base", + "projects": "self" + } + ], + "options": { + "command": "./copy-readme-and-license.sh" + } + } +} +``` + +Often the same `dependsOn` configuration has to be defined for every project in the repo. You can define it once in `nx.json` (see below). + ### Generators You can configure default generator options in `workspace.json` as well. For instance, the following will tell Nx to always pass `--js` when creating new libraries. @@ -236,6 +304,33 @@ The following command will generate a new library: `nx g @nrwl/node:lib mylib`. When the `version` of `workspace.json` is set to 2, `targets`, `generators` and `executor` properties are used instead of the version 1 properties `architect`, `schematics` and `builder`. +## project.json + +Project configurations can also be independent files, referenced by `workspace.json`. For instance, a `workspace.json` may contain projects configured as below. + +```json +{ + "projects": { + "mylib": "libs/mylib" + } +} +``` + +This tells Nx that all configuration for that project is found in the `libs/mylib/project.json` file. This file contains a combination of the project's configuration from both `workspace.json` and `nx.json`. + +```json +{ + "mylib": { + "root": "libs/mylib/", + "sourceRoot": "libs/mylib/src", + "projectType": "library", + "targets": {}, + "tags": [], + "implicitDependencies": [] + } +} +``` + ## nx.json The `nx.json` file contains extra configuration options mostly related to the project graph. @@ -370,3 +465,39 @@ You can also add dependencies between projects. For instance, the example below } } ``` + +> Projects utilizing `project.json` files will not be present in `nx.json`. + +### Target Dependencies + +Targets can depend on other targets. A common scenario is having to build dependencies of a project first before building the project. The `dependsOn` property in `workspace.json` can be used to define the list of dependencies of an individual target. + +Often the same `dependsOn` configuration has to be defined for every project in the repo, and that's when defining `targetDependencies` in `nx.json` is helpful. + +```json +{ + "targetDependencies": { + "build": [ + { + "target": "build", + "projects": "dependencies" + } + ] + } +} +``` + +The configuration above is identical to adding `{"dependsOn": [{"target": "build", "projects": "dependencies"]}` to every build target in `workspace.json`. + +The `dependsOn` property in `workspace.json` takes precedence over the `targetDependencies` in `nx.json`. + +## .nxignore + +You may optionally add an `.nxignore` file to the root. This file is used to specify files in your workspace that should be completely ignored by Nx. + +The syntax is the same as a [`.gitignore` file](https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository#_ignoring). + +**When a file is specified in the `.nxignore` file:** + +1. Changes to that file will not be taken into account in the `affected` calculations. +2. Even if the file is outside an app or library, `nx workspace-lint` will not warn about it. diff --git a/nx-dev/nx-dev/public/documentation/latest/node/tutorial/08-summary.md b/nx-dev/nx-dev/public/documentation/latest/node/tutorial/08-summary.md index 7331a421a0..30eb36b758 100644 --- a/nx-dev/nx-dev/public/documentation/latest/node/tutorial/08-summary.md +++ b/nx-dev/nx-dev/public/documentation/latest/node/tutorial/08-summary.md @@ -14,5 +14,5 @@ In this tutorial you: **Dive Deep:** - [Nx CLI](/{{framework}}/getting-started/nx-cli) -- [Computation Caching](/{{framework}}/core-concepts/computation-caching) -- [Rebuilding What is Affected](/{{framework}}/core-concepts/affected) +- [Computation Caching](/{{framework}}/core-extended/computation-caching) +- [Rebuilding What is Affected](/{{framework}}/core-extended/affected) diff --git a/nx-dev/nx-dev/public/documentation/latest/react/api-angular/generators/application.md b/nx-dev/nx-dev/public/documentation/latest/react/api-angular/generators/application.md index 5c11383f44..26b9fa5d6f 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/api-angular/generators/application.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/api-angular/generators/application.md @@ -128,6 +128,14 @@ Type: `boolean` Skip creating spec files. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### strict Default: `true` @@ -142,7 +150,7 @@ Default: `css` Type: `string` -Possible values: `css`, `scss`, `styl`, `less` +Possible values: `css`, `scss`, `less` The file extension to be used for style files. diff --git a/nx-dev/nx-dev/public/documentation/latest/react/api-angular/generators/downgrade-module.md b/nx-dev/nx-dev/public/documentation/latest/react/api-angular/generators/downgrade-module.md index 83a9b97974..f0fa6fc1e7 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/api-angular/generators/downgrade-module.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/api-angular/generators/downgrade-module.md @@ -1,6 +1,6 @@ # downgrade-module -Setup Downgrade Module +Setup Downgrade Module. ## Usage @@ -40,7 +40,7 @@ The name of the main AngularJS module. Type: `string` -The name of the project +The name of the project. ### skipFormat @@ -48,7 +48,7 @@ Default: `false` Type: `boolean` -Skip formatting files +Skip formatting files. ### skipPackageJson @@ -56,4 +56,4 @@ Default: `false` Type: `boolean` -Do not add @angular/upgrade to package.json (e.g., --skipPackageJson) +Do not add @angular/upgrade to package.json (e.g., --skipPackageJson). diff --git a/nx-dev/nx-dev/public/documentation/latest/react/api-angular/generators/library.md b/nx-dev/nx-dev/public/documentation/latest/react/api-angular/generators/library.md index 617acfa27e..a2d8fa56f9 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/api-angular/generators/library.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/api-angular/generators/library.md @@ -150,6 +150,14 @@ Type: `boolean` Do not update tsconfig.json for development experience. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### strict Default: `true` diff --git a/nx-dev/nx-dev/public/documentation/latest/react/api-angular/generators/ngrx.md b/nx-dev/nx-dev/public/documentation/latest/react/api-angular/generators/ngrx.md index 9d4a0f23dc..7995a15629 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/api-angular/generators/ngrx.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/api-angular/generators/ngrx.md @@ -1,6 +1,6 @@ # ngrx -Add an ngrx config to a project +Add NgRx support to an application or library. ## Usage @@ -66,23 +66,27 @@ The path to NgModule where the feature state will be registered. The host direct Type: `string` -Name of the NgRx feature state, such as "products" or "users"). Recommended to use the plural form of the name. +Name of the NgRx feature state, such as `products` or `users`. Recommended to use the plural form of the name. -### onlyAddFiles +### ~~onlyAddFiles~~ Default: `false` Type: `boolean` -**Deprecated**, use `skipImport`. Only add new NgRx files, without changing the module file (e.g., --onlyAddFiles). +**Deprecated:** Use the `skipImport` option instead. -### onlyEmptyRoot +Only add new NgRx files, without changing the module file (e.g., --onlyAddFiles). + +### ~~onlyEmptyRoot~~ Default: `false` Type: `boolean` -**Deprecated**, use `minimal`. Do not generate any files. Only generate StoreModule.forRoot and EffectsModule.forRoot (e.g., --onlyEmptyRoot). +**Deprecated:** Use the `minimal` option instead. + +Do not generate any files. Only generate StoreModule.forRoot and EffectsModule.forRoot (e.g., --onlyEmptyRoot). ### root diff --git a/nx-dev/nx-dev/public/documentation/latest/react/api-angular/generators/upgrade-module.md b/nx-dev/nx-dev/public/documentation/latest/react/api-angular/generators/upgrade-module.md index 093f05de01..bf85ee63b3 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/api-angular/generators/upgrade-module.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/api-angular/generators/upgrade-module.md @@ -1,6 +1,6 @@ # upgrade-module -Add an upgrade module +Add an upgrade module. ## Usage @@ -28,7 +28,7 @@ nx g upgrade-module ... --dry-run Type: `string` -The selector of an AngularJS component (e.g., --angularJsCmpSelector=myComponent) +The selector of an AngularJS component (e.g., --angularJsCmpSelector=myComponent). ### angularJsImport @@ -46,7 +46,7 @@ The name of the main AngularJS module. Type: `string` -The name of the project +The name of the project. ### router @@ -54,7 +54,7 @@ Default: `false` Type: `boolean` -Sets up router synchronization (e.g., --router) +Sets up router synchronization (e.g., --router). ### skipFormat @@ -62,7 +62,7 @@ Default: `false` Type: `boolean` -Skip formatting files +Skip formatting files. ### skipPackageJson @@ -70,4 +70,4 @@ Default: `false` Type: `boolean` -Do not add @angular/upgrade to package.json (e.g., --skipPackageJson) +Do not add @angular/upgrade to package.json (e.g., --skipPackageJson). diff --git a/nx-dev/nx-dev/public/documentation/latest/react/api-angular/generators/web-worker.md b/nx-dev/nx-dev/public/documentation/latest/react/api-angular/generators/web-worker.md new file mode 100644 index 0000000000..67031d48f7 --- /dev/null +++ b/nx-dev/nx-dev/public/documentation/latest/react/api-angular/generators/web-worker.md @@ -0,0 +1,59 @@ +# web-worker + +Create a Web Worker. + +## Usage + +```bash +nx generate web-worker ... +``` + +By default, Nx will search for `web-worker` in the default collection provisioned in `workspace.json`. + +You can specify the collection explicitly as follows: + +```bash +nx g @nrwl/angular:web-worker ... +``` + +Show what will be generated without writing to disk: + +```bash +nx g web-worker ... --dry-run +``` + +## Options + +### name + +Type: `string` + +The name of the worker. + +### path + +Type: `string` + +The path at which to create the worker file, relative to the current workspace. + +### project + +Type: `string` + +The name of the project. + +### skipFormat + +Default: `false` + +Type: `boolean` + +Skip formatting files. + +### snippet + +Default: `true` + +Type: `boolean` + +Add a worker creation snippet in a sibling file of the same name. diff --git a/nx-dev/nx-dev/public/documentation/latest/react/api-express/generators/application.md b/nx-dev/nx-dev/public/documentation/latest/react/api-express/generators/application.md index c801960e6a..1f5b44281a 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/api-express/generators/application.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/api-express/generators/application.md @@ -98,6 +98,14 @@ Type: `boolean` Do not add dependencies to package.json. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### tags Type: `string` diff --git a/nx-dev/nx-dev/public/documentation/latest/react/api-gatsby/generators/application.md b/nx-dev/nx-dev/public/documentation/latest/react/api-gatsby/generators/application.md index 7269ac5bbd..304a5932ed 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/api-gatsby/generators/application.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/api-gatsby/generators/application.md @@ -66,6 +66,14 @@ Type: `boolean` Whether or not to configure the ESLint "parserOptions.project" option. We do not do this by default for lint performance reasons. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### style Alias(es): s diff --git a/nx-dev/nx-dev/public/documentation/latest/react/api-nest/generators/application.md b/nx-dev/nx-dev/public/documentation/latest/react/api-nest/generators/application.md index cca4d44354..bff9cfa98d 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/api-nest/generators/application.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/api-nest/generators/application.md @@ -72,6 +72,14 @@ Type: `boolean` Do not add dependencies to package.json. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### tags Type: `string` diff --git a/nx-dev/nx-dev/public/documentation/latest/react/api-next/generators/application.md b/nx-dev/nx-dev/public/documentation/latest/react/api-next/generators/application.md index ebdc892804..7fdb044de5 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/api-next/generators/application.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/api-next/generators/application.md @@ -108,6 +108,14 @@ Type: `boolean` Skip updating workspace.json with default options based on values provided to this app (e.g. babel, style) +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### style Alias(es): s diff --git a/nx-dev/nx-dev/public/documentation/latest/react/api-node/generators/application.md b/nx-dev/nx-dev/public/documentation/latest/react/api-node/generators/application.md index 7978f16169..6da0095e63 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/api-node/generators/application.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/api-node/generators/application.md @@ -106,6 +106,14 @@ Type: `boolean` Do not add dependencies to package.json. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### tags Type: `string` diff --git a/nx-dev/nx-dev/public/documentation/latest/react/api-node/generators/library.md b/nx-dev/nx-dev/public/documentation/latest/react/api-node/generators/library.md index 3097fb9634..317300e3be 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/api-node/generators/library.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/api-node/generators/library.md @@ -138,6 +138,14 @@ Type: `boolean` Do not update tsconfig.base.json for development experience. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### strict Default: `false` diff --git a/nx-dev/nx-dev/public/documentation/latest/react/api-nx-devkit/index.md b/nx-dev/nx-dev/public/documentation/latest/react/api-nx-devkit/index.md index 9a38cb6e71..c57d7462ae 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/api-nx-devkit/index.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/api-nx-devkit/index.md @@ -60,9 +60,11 @@ - [applyChangesToString](../../react/nx-devkit/index#applychangestostring) - [convertNxExecutor](../../react/nx-devkit/index#convertnxexecutor) - [convertNxGenerator](../../react/nx-devkit/index#convertnxgenerator) +- [detectPackageManager](../../react/nx-devkit/index#detectpackagemanager) - [formatFiles](../../react/nx-devkit/index#formatfiles) - [generateFiles](../../react/nx-devkit/index#generatefiles) - [getPackageManagerCommand](../../react/nx-devkit/index#getpackagemanagercommand) +- [getPackageManagerVersion](../../react/nx-devkit/index#getpackagemanagerversion) - [getProjects](../../react/nx-devkit/index#getprojects) - [getWorkspaceLayout](../../react/nx-devkit/index#getworkspacelayout) - [getWorkspacePath](../../react/nx-devkit/index#getworkspacepath) @@ -473,7 +475,7 @@ Callback to install dependencies only if necessary. undefined is returned if cha ### addProjectConfiguration -▸ **addProjectConfiguration**(`host`: [_Tree_](../../react/nx-devkit/index#tree), `projectName`: _string_, `projectConfiguration`: [_ProjectConfiguration_](../../react/nx-devkit/index#projectconfiguration) & [_NxJsonProjectConfiguration_](../../react/nx-devkit/index#nxjsonprojectconfiguration)): _void_ +▸ **addProjectConfiguration**(`host`: [_Tree_](../../react/nx-devkit/index#tree), `projectName`: _string_, `projectConfiguration`: [_ProjectConfiguration_](../../react/nx-devkit/index#projectconfiguration) & [_NxJsonProjectConfiguration_](../../react/nx-devkit/index#nxjsonprojectconfiguration), `standalone?`: _boolean_): _void_ Adds project configuration to the Nx workspace. @@ -482,11 +484,12 @@ both files. #### Parameters -| Name | Type | Description | -| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :---------------------------------------------------------------------- | -| `host` | [_Tree_](../../react/nx-devkit/index#tree) | the file system tree | -| `projectName` | _string_ | unique name. Often directories are part of the name (e.g., mydir-mylib) | -| `projectConfiguration` | [_ProjectConfiguration_](../../react/nx-devkit/index#projectconfiguration) & [_NxJsonProjectConfiguration_](../../react/nx-devkit/index#nxjsonprojectconfiguration) | project configuration | +| Name | Type | Default value | Description | +| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------ | :----------------------------------------------------------------------------------------- | +| `host` | [_Tree_](../../react/nx-devkit/index#tree) | - | the file system tree | +| `projectName` | _string_ | - | unique name. Often directories are part of the name (e.g., mydir-mylib) | +| `projectConfiguration` | [_ProjectConfiguration_](../../react/nx-devkit/index#projectconfiguration) & [_NxJsonProjectConfiguration_](../../react/nx-devkit/index#nxjsonprojectconfiguration) | - | project configuration | +| `standalone` | _boolean_ | false | should the project use package.json? If false, the project config is inside workspace.json | **Returns:** _void_ @@ -577,6 +580,22 @@ Convert an Nx Generator into an Angular Devkit Schematic --- +### detectPackageManager + +▸ **detectPackageManager**(`dir?`: _string_): [_PackageManager_](../../react/nx-devkit/index#packagemanager) + +Detects which package manager is used in the workspace based on the lock file. + +#### Parameters + +| Name | Type | Default value | +| :---- | :------- | :------------ | +| `dir` | _string_ | '' | + +**Returns:** [_PackageManager_](../../react/nx-devkit/index#packagemanager) + +--- + ### formatFiles ▸ **formatFiles**(`host`: [_Tree_](../../react/nx-devkit/index#tree)): _Promise_ @@ -634,7 +653,7 @@ doesn't get confused about incorrect TypeScript files. ### getPackageManagerCommand -▸ **getPackageManagerCommand**(`packageManager?`: [_PackageManager_](../../react/nx-devkit/index#packagemanager)): _object_ +▸ **getPackageManagerCommand**(`packageManager?`: [_PackageManager_](../../react/nx-devkit/index#packagemanager)): PackageManagerCommands Returns commands for the package manager used in the workspace. By default, the package manager is derived based on the lock file, @@ -652,17 +671,25 @@ execSync(`${getPackageManagerCommand().addDev} my-dev-package`); | :--------------- | :------------------------------------------------------------- | | `packageManager` | [_PackageManager_](../../react/nx-devkit/index#packagemanager) | -**Returns:** _object_ +**Returns:** PackageManagerCommands -| Name | Type | -| :-------- | :------------------------------------------------- | -| `add` | _string_ | -| `addDev` | _string_ | -| `exec` | _string_ | -| `install` | _string_ | -| `list` | _string_ | -| `rm` | _string_ | -| `run` | (`script`: _string_, `args`: _string_) => _string_ | +--- + +### getPackageManagerVersion + +▸ **getPackageManagerVersion**(`packageManager?`: [_PackageManager_](../../react/nx-devkit/index#packagemanager)): _string_ + +Returns the version of the package manager used in the workspace. +By default, the package manager is derived based on the lock file, +but it can also be passed in explicitly. + +#### Parameters + +| Name | Type | +| :--------------- | :------------------------------------------------------------- | +| `packageManager` | [_PackageManager_](../../react/nx-devkit/index#packagemanager) | + +**Returns:** _string_ --- diff --git a/nx-dev/nx-dev/public/documentation/latest/react/api-nx-plugin/generators/plugin.md b/nx-dev/nx-dev/public/documentation/latest/react/api-nx-plugin/generators/plugin.md index f7bce6c1ba..2934ff0176 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/api-nx-plugin/generators/plugin.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/api-nx-plugin/generators/plugin.md @@ -78,6 +78,14 @@ Type: `boolean` Do not update tsconfig.json for development experience. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### tags Alias(es): t diff --git a/nx-dev/nx-dev/public/documentation/latest/react/api-react/generators/application.md b/nx-dev/nx-dev/public/documentation/latest/react/api-react/generators/application.md index 15bc5d395c..db9e3c7ab8 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/api-react/generators/application.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/api-react/generators/application.md @@ -150,6 +150,14 @@ Type: `boolean` Skip updating workspace.json with default options based on values provided to this app (e.g. babel, style). +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### strict Default: `true` diff --git a/nx-dev/nx-dev/public/documentation/latest/react/api-react/generators/library.md b/nx-dev/nx-dev/public/documentation/latest/react/api-react/generators/library.md index bd622569cf..d605dfc63a 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/api-react/generators/library.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/api-react/generators/library.md @@ -158,6 +158,14 @@ Type: `boolean` Do not update tsconfig.json for development experience. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### strict Default: `true` diff --git a/nx-dev/nx-dev/public/documentation/latest/react/api-react/generators/storybook-configuration.md b/nx-dev/nx-dev/public/documentation/latest/react/api-react/generators/storybook-configuration.md index c013ff5a7d..06dc9ea29f 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/api-react/generators/storybook-configuration.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/api-react/generators/storybook-configuration.md @@ -77,3 +77,11 @@ The tool to use for running lint checks. Type: `string` Project name + +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json diff --git a/nx-dev/nx-dev/public/documentation/latest/react/api-storybook/generators/configuration.md b/nx-dev/nx-dev/public/documentation/latest/react/api-storybook/generators/configuration.md index dffb1048ab..6e982ee587 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/api-storybook/generators/configuration.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/api-storybook/generators/configuration.md @@ -60,6 +60,14 @@ Type: `string` Library or application name +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### uiFramework Type: `string` diff --git a/nx-dev/nx-dev/public/documentation/latest/react/api-storybook/generators/cypress-project.md b/nx-dev/nx-dev/public/documentation/latest/react/api-storybook/generators/cypress-project.md index 5783c6d340..c3e27b2976 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/api-storybook/generators/cypress-project.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/api-storybook/generators/cypress-project.md @@ -53,3 +53,11 @@ The tool to use for running lint checks. Type: `string` Library or application name + +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json diff --git a/nx-dev/nx-dev/public/documentation/latest/react/api-web/generators/application.md b/nx-dev/nx-dev/public/documentation/latest/react/api-web/generators/application.md index 914d89a1c5..e2595bf10f 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/api-web/generators/application.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/api-web/generators/application.md @@ -76,6 +76,14 @@ Type: `boolean` Skip formatting files +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### style Default: `css` diff --git a/nx-dev/nx-dev/public/documentation/latest/react/api-workspace/generators/convert-to-nx-project.md b/nx-dev/nx-dev/public/documentation/latest/react/api-workspace/generators/convert-to-nx-project.md new file mode 100644 index 0000000000..b86c1820e6 --- /dev/null +++ b/nx-dev/nx-dev/public/documentation/latest/react/api-workspace/generators/convert-to-nx-project.md @@ -0,0 +1,51 @@ +# convert-to-nx-project + +Moves a project's configuration outside of workspace.json + +## Usage + +```bash +nx generate convert-to-nx-project ... +``` + +By default, Nx will search for `convert-to-nx-project` in the default collection provisioned in `workspace.json`. + +You can specify the collection explicitly as follows: + +```bash +nx g @nrwl/workspace:convert-to-nx-project ... +``` + +Show what will be generated without writing to disk: + +```bash +nx g convert-to-nx-project ... --dry-run +``` + +### Examples + +Convert the my-feature-lib project to use project.json file instead of workspace.json: + +```bash +nx g @nrwl/workspace:convert-to-nx-project --project my-feature-lib +``` + +Convert all projects in workspace.json to separate project.json files.: + +```bash +nx g @nrwl/workspace:convert-to-nx-project --all +``` + +## Options + +### all + +Type: `boolean` + +Should every project be converted? + +### project + +Type: `string` + +Project name diff --git a/nx-dev/nx-dev/public/documentation/latest/react/api-workspace/generators/library.md b/nx-dev/nx-dev/public/documentation/latest/react/api-workspace/generators/library.md index 44fd48eafb..1e2dd53851 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/api-workspace/generators/library.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/api-workspace/generators/library.md @@ -130,6 +130,14 @@ Type: `boolean` Do not update tsconfig.json for development experience. +### standaloneConfig + +Default: `false` + +Type: `boolean` + +Split the project configuration into /project.json rather than including it inside workspace.json + ### strict Default: `false` diff --git a/nx-dev/nx-dev/public/documentation/latest/react/cli/affected-dep-graph.md b/nx-dev/nx-dev/public/documentation/latest/react/cli/affected-dep-graph.md index 1f5311aa42..e96515443d 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/cli/affected-dep-graph.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/cli/affected-dep-graph.md @@ -131,3 +131,9 @@ Print additional error stack trace on failure ### version Show version number + +### watch + +Default: `false` + +Watch for changes to dep graph and update in-browser diff --git a/nx-dev/nx-dev/public/documentation/latest/react/cli/dep-graph.md b/nx-dev/nx-dev/public/documentation/latest/react/cli/dep-graph.md index 7de42387d7..8db615a505 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/cli/dep-graph.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/cli/dep-graph.md @@ -54,6 +54,12 @@ Show the graph where every node is either an ancestor or a descendant of todos-f nx dep-graph --focus=todos-feature-main --exclude=project-one,project-two ``` +Watch for changes to dep graph and update in-browser: + +```bash +nx dep-graph --watch +``` + ## Options ### exclude @@ -87,3 +93,9 @@ Bind the dep graph server to a specific port. ### version Show version number + +### watch + +Default: `false` + +Watch for changes to dep graph and update in-browser diff --git a/nx-dev/nx-dev/public/documentation/latest/react/getting-started/intro.md b/nx-dev/nx-dev/public/documentation/latest/react/getting-started/intro.md index 492695c2f0..a3b4d5df09 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/getting-started/intro.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/getting-started/intro.md @@ -17,7 +17,7 @@ Nx works especially well for [monorepos](/{{framework}}/core-concepts/why-monore ## Features - Test (or builds or lints) only the projects [affected](/{{framework}}/cli/affected) by a code change. -- [Cache](/{{framework}}/core-concepts/computation-caching) command output locally so that future runs on the same code happen in seconds. The paid [Nx Cloud](https://nx.app) offering allows this cache to be shared across every developer in your organization. +- [Cache](/{{framework}}/core-extended/computation-caching) command output locally so that future runs on the same code happen in seconds. The paid [Nx Cloud](https://nx.app) offering allows this cache to be shared across every developer in your organization. - Provide a consistent syntax for [executing commands](/{{framework}}/executors/using-builders). `nx build my-app` works no matter what framework `my-app` uses. - Automate code modification tasks with [generators](/{{framework}}/cli/affected). - Access a thriving ecosystem of [plugins](/{{framework}}/generators/using-schematics) from Nrwl and the [community](/community). @@ -32,5 +32,5 @@ Nx works especially well for [monorepos](/{{framework}}/core-concepts/why-monore - [Nx CLI](/{{framework}}/getting-started/nx-cli) - [Configuration Files](/{{framework}}/core-concepts/configuration) -- [Computation Caching](/{{framework}}/core-concepts/computation-caching) -- [Rebuilding What is Affected](/{{framework}}/core-concepts/affected) +- [Computation Caching](/{{framework}}/core-extended/computation-caching) +- [Rebuilding What is Affected](/{{framework}}/core-extended/affected) diff --git a/nx-dev/nx-dev/public/documentation/latest/react/getting-started/nx-cli.md b/nx-dev/nx-dev/public/documentation/latest/react/getting-started/nx-cli.md index 6de49934dc..c48ae96593 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/getting-started/nx-cli.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/getting-started/nx-cli.md @@ -41,23 +41,22 @@ nx workspace-generator my-generator [The first command](/{{framework}}/cli/generate) scaffolds a new customizable workspace generator named `my-generator` and [the second command](/{{framework}}/cli/workspace-generator) invokes it. -**Update plugins:** - -```bash -nx migrate latest -nx migrate --run-migrations=migrations.json -``` - -[The first command](/{{framework}}/cli/migrate) updates the installed Nx plugin versions and creates a list of generators to keep configuration files up to date. [The second command](/{{framework}}/cli/migrate) invokes those generators. - **Run an executor on one project:** ```bash -nx run my-app:build -nx build my-app +nx run my-react-app:build +nx build my-react-app ``` -Both of [these commands](/{{framework}}/cli/run) build the `my-app` application. Custom executors need to use the more verbose `nx run project:target` syntax. See the [workspace.json documentation](/{{framework}}/core-concepts/configuration) for information on configuring executor options. +Both of [these commands](/{{framework}}/cli/run) build the `my-app` application. See the [workspace.json documentation](/{{framework}}/core-concepts/configuration) for information on configuring executor options. + +**Run an executor for many projects:** + +```bash +nx run-many --target=build --projects=app1,app2 +``` + +[This command](/{{framework}}/cli/run-many) builds `app1` and `app2`. **Run an executor for all affected projects:** @@ -71,10 +70,11 @@ nx affected --target=build ```bash nx dep-graph +nx dep-graph --watch nx affected:dep-graph ``` -[The first command](/{{framework}}/cli/dep-graph) launches a web browser with repository's dependency graph rendered visually. [The second command](/{{framework}}/cli/affected-dep-graph) renders the same graph with projects affected by the current code change highlighted. +[The first command](/{{framework}}/cli/dep-graph) launches a web browser with repository's dependency graph rendered visually. You can add the `--watch` flag to watch for changes to the dep grpah and update the view in-browser. [The second command](/{{framework}}/cli/affected-dep-graph) renders the same graph with projects affected by the current code change highlighted. **List installed plugins:** @@ -83,3 +83,17 @@ nx list ``` [This command](/{{framework}}/cli/list) lists the currently installed Nx plugins and shows other plugins that are available. + +**Update plugins:** + +```bash +nx migrate latest +nx migrate --run-migrations=migrations.json +``` + +[The first command](/{{framework}}/cli/migrate) updates the installed Nx plugin versions and creates a list of generators to keep configuration files up to date. [The second command](/{{framework}}/cli/migrate) invokes those generators. + +## Common Env Variables + +- Setting **NX_VERBOSE_LOGGING=true** will print debug information useful for troubleshooting. +- Setting **NX_PERF_LOGGING=true** will print debug information useful for profiling executors and Nx itself. diff --git a/nx-dev/nx-dev/public/documentation/latest/react/guides/configuration.md b/nx-dev/nx-dev/public/documentation/latest/react/guides/configuration.md index 8404bd7c8c..59ea456d31 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/guides/configuration.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/guides/configuration.md @@ -18,6 +18,12 @@ The `workspace.json` configuration file contains information about the targets a "build": { "executor": "@nrwl/web:build", "outputs": ["dist/apps/myapp"], + "dependsOn": [ + { + "target": "build", + "projects": "dependencies" + } + ], "options": { "index": "apps/myapp/src/app.html", "main": "apps/myapp/src/main.ts" @@ -89,9 +95,11 @@ For instance, the following configures `mylib`. - `root` tells Nx the location of the library including its sources and configuration files. - `sourceRoot` tells Nx the location of the library's source files. -- `projectType` is either 'application' or 'library'. +- `projectType` is either 'application' or 'library'. The project type is used in dep graph viz and in a few aux commands. - `targets` configures all the targets which define what tasks you can run against the library. +> Projects utilizing `project.json` files will not be present in `workspace.json`. + ### Targets Let's look at the simple target: @@ -110,7 +118,7 @@ Let's look at the simple target: **Target Name** -The name of the target `test` means that you can invoke it as follows: `nx test mylib` or `nx run mylib:test`. The name isn't significant in any other way. If you rename it to, for example, `mytest`, you will be able to run as follows: `nx run mylib:mytest`. +The name of the target `test` means that you can invoke it as follows: `nx test mylib` or `nx run mylib:test`. The name isn't significant in any other way. If you rename it to, for example, `mytest`, you will be able to run as follows: `nx mytest mylib` or `nx run mylib:mytest`. **Executor** @@ -176,6 +184,66 @@ require(`@nrwl/jest`).executors['jest']({...options, ...selectedConfiguration, . The selected configuration adds/overrides the default options, and the provided command line args add/override the configuration options. +**Target Dependencies** + +Targets can depend on other targets. A common scenario is having to build dependencies of a project first before building the project. You can specify this using the `dependsOn`. + +```json +{ + "build": { + "executor": "@nrwl/web:build", + "outputs": ["dist/apps/myapp"], + "options": { + "index": "apps/myapp/src/app.html", + "main": "apps/myapp/src/main.ts" + }, + "dependsOn": [ + { + "target": "build", + "projects": "dependencies" + } + ] + } +} +``` + +In this case, running `nx build myapp` will build all the buildable libraries `myapp` depends on first. In other words, `nx build myapp` will result in multiple tasks executing. The `--parallel`, and `--max-parallel` flags will have the same effect as they would with `run-many` or `affected`. + +It is also possible to define dependencies between the targets of the same project. + +In the following example invoking `nx build myapp` will build all the libraries first, then `nx build-base myapp` will be executed and only then `nx build myapp` will be executed. + +```json +{ + "build-base": { + "executor": "@nrwl/web:build", + "outputs": ["dist/apps/myapp"], + "options": { + "index": "apps/myapp/src/app.html", + "main": "apps/myapp/src/main.ts" + } + }, + "build": { + "executor": "@nrwl/workspace:run-commands", + "dependsOn": [ + { + "target": "build", + "projects": "dependencies" + }, + { + "target": "build-base", + "projects": "self" + } + ], + "options": { + "command": "./copy-readme-and-license.sh" + } + } +} +``` + +Often the same `dependsOn` configuration has to be defined for every project in the repo. You can define it once in `nx.json` (see below). + ### Generators You can configure default generator options in `workspace.json` as well. For instance, the following will tell Nx to always pass `--js` when creating new libraries. @@ -224,6 +292,33 @@ The following command will generate a new library: `nx g @nrwl/react:lib mylib`. When the `version` of `workspace.json` is set to 2, `targets`, `generators` and `executor` properties are used instead of the version 1 properties `architect`, `schematics` and `builder`. +## project.json + +Project configurations can also be independent files, referenced by `workspace.json`. For instance, a `workspace.json` may contain projects configured as below. + +```json +{ + "projects": { + "mylib": "libs/mylib" + } +} +``` + +This tells Nx that all configuration for that project is found in the `libs/mylib/project.json` file. This file contains a combination of the project's configuration from both `workspace.json` and `nx.json`. + +```json +{ + "mylib": { + "root": "libs/mylib/", + "sourceRoot": "libs/mylib/src", + "projectType": "library", + "targets": {}, + "tags": [], + "implicitDependencies": [] + } +} +``` + ## nx.json The `nx.json` file contains extra configuration options mostly related to the project graph. @@ -251,6 +346,14 @@ The `nx.json` file contains extra configuration options mostly related to the pr "tsconfig.base.json": "*", "nx.json": "*" }, + "targetDependencies": { + "build": [ + { + "target": "build", + "projects": "dependencies" + } + ] + }, "projects": { "myapp": { "tags": [] @@ -358,3 +461,39 @@ You can also add dependencies between projects. For instance, the example below } } ``` + +> Projects utilizing `project.json` files will not be present in `nx.json`. + +### Target Dependencies + +Targets can depend on other targets. A common scenario is having to build dependencies of a project first before building the project. The `dependsOn` property in `workspace.json` can be used to define the list of dependencies of an individual target. + +Often the same `dependsOn` configuration has to be defined for every project in the repo, and that's when defining `targetDependencies` in `nx.json` is helpful. + +```json +{ + "targetDependencies": { + "build": [ + { + "target": "build", + "projects": "dependencies" + } + ] + } +} +``` + +The configuration above is identical to adding `{"dependsOn": [{"target": "build", "projects": "dependencies"]}` to every build target in `workspace.json`. + +The `dependsOn` property in `workspace.json` takes precedence over the `targetDependencies` in `nx.json`. + +## .nxignore + +You may optionally add an `.nxignore` file to the root. This file is used to specify files in your workspace that should be completely ignored by Nx. + +The syntax is the same as a [`.gitignore` file](https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository#_ignoring). + +**When a file is specified in the `.nxignore` file:** + +1. Changes to that file will not be taken into account in the `affected` calculations. +2. Even if the file is outside an app or library, `nx workspace-lint` will not warn about it. diff --git a/nx-dev/nx-dev/public/documentation/latest/react/guides/environment-variables.md b/nx-dev/nx-dev/public/documentation/latest/react/guides/environment-variables.md index 27044501c1..03943a07f3 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/guides/environment-variables.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/guides/environment-variables.md @@ -58,7 +58,7 @@ For example: 2. `workspaceRoot/apps/my-app/.env` contains `AUTH_URL=https://prod-url.com/auth` 3. Nx will first load the variables from `apps/my-app/.env.local` into the process. When it tries to load the variables from `apps/my-app/.env`, it will notice that `AUTH_URL` already exists, so it will ignore it. -We recommend nesting your **app** specific `env` files in `apps/your-app`, and creating workspace/root level `env` files for workspace-specific settings (like the [Nx Cloud token](/{{framework}}/core-concepts/computation-caching#nx-cloud-and-distributed-computation-caching)). +We recommend nesting your **app** specific `env` files in `apps/your-app`, and creating workspace/root level `env` files for workspace-specific settings (like the [Nx Cloud token](/{{framework}}/core-extended/computation-caching#nx-cloud-and-distributed-computation-caching)). ### Pointing to custom env files diff --git a/nx-dev/nx-dev/public/documentation/latest/react/guides/nextjs-webpack5.md b/nx-dev/nx-dev/public/documentation/latest/react/guides/nextjs-webpack5.md index eff052ba04..29e8a5d533 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/guides/nextjs-webpack5.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/guides/nextjs-webpack5.md @@ -8,9 +8,14 @@ Next.js applications within an Nx workspace are generated with a `next.config.js // eslint-disable-next-line @typescript-eslint/no-var-requires const withNx = require('@nrwl/next/plugins/with-nx'); -module.exports = withNx({ +/** + * @type {import('@nrwl/next/plugins/with-nx').WithNxOptions} + **/ +const nextConfig = { future: { webpack5: true, }, -}); +}; + +module.exports = withNx(nextConfig); ``` diff --git a/nx-dev/nx-dev/public/documentation/latest/react/guides/nextjs.md b/nx-dev/nx-dev/public/documentation/latest/react/guides/nextjs.md index e0eb2e2f0e..212b76730c 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/guides/nextjs.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/guides/nextjs.md @@ -157,7 +157,12 @@ Let's continue to use our `tuskdesk` example from above, and so we need to check // eslint-disable-next-line @typescript-eslint/no-var-requires const withNx = require('@nrwl/next/plugins/with-nx'); -module.exports = withNx({}); +/** + * @type {import('@nrwl/next/plugins/with-nx').WithNxOptions} + **/ +const nextConfig = {}; + +module.exports = withNx(nextConfig); ``` If you have a config which looks like that (leveraging the `withNx()` config plugin) **AND** the version of Nx you are using is `11.1.0` or later, **no further action is needed** in your config. @@ -180,10 +185,15 @@ E.g. // eslint-disable-next-line @typescript-eslint/no-var-requires const withNx = require('@nrwl/next/plugins/with-nx'); -module.exports = withNx({ +/** + * @type {import('@nrwl/next/plugins/with-nx').WithNxOptions} + **/ +const nextConfig = { target: 'experimental-serverless-trace', // ...You can of course have other Next.js config options specified here too, but the "target" is critical for Vercel deployments... -}); +}; + +module.exports = withNx(nextConfig); ``` OR diff --git a/nx-dev/nx-dev/public/documentation/latest/react/guides/storybook-plugin.md b/nx-dev/nx-dev/public/documentation/latest/react/guides/storybook-plugin.md index 1762f9d3fe..4e0900c45c 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/guides/storybook-plugin.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/guides/storybook-plugin.md @@ -374,13 +374,3 @@ Your folder structure should now look like this: ├── README.md └── etc... ``` - -### Storybook v6 args and controls - -Storybook v6 moves from "knobs" to args and controls when it comes to defining and manipulating your storybook -component properties. Feel free to use the new args way of defining stories. More can be found -[on the official Storybook docs](https://storybook.js.org/docs/react/writing-stories/args). - -> **Note:** Nx does not yet automatically generate stories that use the args syntax. The main reason is that args don't -> yet support being loaded via the iframe URL which is used in Nx to setup your Storybook based e2e tests. Once support -> is present in Storybook v6, we will provide a way to generate args & controls based stories. More on the progress [here](https://github.com/storybookjs/storybook/issues/12291). diff --git a/nx-dev/nx-dev/public/documentation/latest/react/tutorial/10-computation-caching.md b/nx-dev/nx-dev/public/documentation/latest/react/tutorial/10-computation-caching.md index 1e58540d14..6fb8c5c30e 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/tutorial/10-computation-caching.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/tutorial/10-computation-caching.md @@ -54,7 +54,7 @@ Based on the state of the source code and the environment, Nx was able to figure Nx read the output from cache instead of running the command for 1 out of 2 projects. ``` -Nx built `api` and retrieved `todos` from its computation cache. Read more about the cache [here](/{{framework}}/core-concepts/computation-caching). +Nx built `api` and retrieved `todos` from its computation cache. Read more about the cache [here](/{{framework}}/core-extended/computation-caching). ## --with-deps diff --git a/nx-dev/nx-dev/public/documentation/latest/react/tutorial/12-summary.md b/nx-dev/nx-dev/public/documentation/latest/react/tutorial/12-summary.md index baf2fd890e..4a0cefcc3e 100644 --- a/nx-dev/nx-dev/public/documentation/latest/react/tutorial/12-summary.md +++ b/nx-dev/nx-dev/public/documentation/latest/react/tutorial/12-summary.md @@ -14,5 +14,5 @@ In this tutorial you: **Dive Deep:** - [Nx CLI](/{{framework}}/getting-started/nx-cli) -- [Computation Caching](/{{framework}}/core-concepts/computation-caching) -- [Rebuilding What is Affected](/{{framework}}/core-concepts/affected) +- [Computation Caching](/{{framework}}/core-extended/computation-caching) +- [Rebuilding What is Affected](/{{framework}}/core-extended/affected) diff --git a/nx-dev/nx-dev/public/documentation/latest/shared/computation-caching.md b/nx-dev/nx-dev/public/documentation/latest/shared/computation-caching.md index 55d65ce69f..209ad53b58 100644 --- a/nx-dev/nx-dev/public/documentation/latest/shared/computation-caching.md +++ b/nx-dev/nx-dev/public/documentation/latest/shared/computation-caching.md @@ -4,11 +4,15 @@ It's costly to rebuild and retest the same code over and over again. Nx uses a c **In order not to recompute something twice, we need two things:** -**1. We need to store the results of the computation.** -**2. We need to know when we are about to compute something we already computed before.** +1. We need to store the results of the computation. +2. We need to know when we are about to compute something we already computed before. There are three things that tell Nx if something has been computed before: +- [Source Code Cache Inputs](#source-code-cache-inputs) +- [Runtime Cache Inputs](#runtime-cache-inputs) +- [Args Cache Inputs](#args-cache-inputs) + ## Source Code Cache Inputs The result of building/testing an application or a library depends on the source code of that project and all the source codes of all the libraries it depends on (directly or indirectly). It also depends on the configuration files like `package.json`, `workspace.json`, `nx.json`, `tsconfig.base.json`, and `package-lock.json`. The list of these files isn't arbitrary. Nx can deduce most of them by analyzing our codebase. Few will have to be listed manually in the `implicitDependencies` property of `nx.json`. diff --git a/nx-dev/nx-dev/public/documentation/latest/shared/devkit-and-nx-plugins.md b/nx-dev/nx-dev/public/documentation/latest/shared/devkit-and-nx-plugins.md index ae8fe092cf..e35869a6ea 100644 --- a/nx-dev/nx-dev/public/documentation/latest/shared/devkit-and-nx-plugins.md +++ b/nx-dev/nx-dev/public/documentation/latest/shared/devkit-and-nx-plugins.md @@ -40,7 +40,7 @@ The Nx Devkit is the underlying technology used to customize Nx to support diffe ### Pay as you go -As with most things in Nx, the core of Nx Devkit is very simple. It only uses language primitives and immutable objects (the tree being the only exception). See [Simplest Generator](/{{framework}}/generators/using-schematics#simplest-generator) and [Simplest Executor](/{{framework}}/executors/using-builders#simplest-executor) for examples on creating generators and executors. The [Using Executors](/{{framework}}/executors/using-builders) and [Using Generators](/{{framework}}/generators/using-schematics) guides also have additional information on executors and generators. +As with most things in Nx, the core of Nx Devkit is very simple. It only uses language primitives and immutable objects (the tree being the only exception). See [Simplest Generator](/{{framework}}/generators/creating-files) and [Simplest Executor](/{{framework}}/executors/using-builders#simplest-executor) for examples on creating generators and executors. The [Using Executors](/{{framework}}/executors/using-builders) and [Using Generators](/{{framework}}/generators/using-schematics) guides also have additional information on executors and generators. ## Learn more diff --git a/nx-dev/nx-dev/public/documentation/latest/shared/generators/composing-generators.md b/nx-dev/nx-dev/public/documentation/latest/shared/generators/composing-generators.md new file mode 100644 index 0000000000..04186e0cb6 --- /dev/null +++ b/nx-dev/nx-dev/public/documentation/latest/shared/generators/composing-generators.md @@ -0,0 +1,18 @@ +# Composing Generators + +Generators are useful individually, but reusing and composing generators allows you to build whole workflows out of simpler building blocks. + +## Using Nx Devkit Generators + +Nx Devkit generators can be imported and invoked like any javascript function. They often return a `Promise`, so they can be used with the `await` keyword to mimic synchronous code. Because this is standard javascript, control flow logic can be adjusted with `if` blocks and `for` loops as usual. + +```typescript +import { libraryGenerator } from '@nrwl/workspace'; + +export default async function (tree: Tree, schema: any) { + await libraryGenerator( + tree, // virtual file system tree + { name: schema.name } // options for the generator + ); +} +``` diff --git a/nx-dev/nx-dev/public/documentation/latest/shared/generators/creating-files.md b/nx-dev/nx-dev/public/documentation/latest/shared/generators/creating-files.md new file mode 100644 index 0000000000..01a61879fc --- /dev/null +++ b/nx-dev/nx-dev/public/documentation/latest/shared/generators/creating-files.md @@ -0,0 +1,146 @@ +# Creating files with a generator + +Generators provide an API for managing files within your workspace. You can use generators to do things such as create, update, move, and delete files. Files with static or dynamic content can also be created. + +The generator below shows you how to generate a library, and then scaffold out additional files with the newly created library. + +First, you define a folder to store your static or dynamic templates used to generated files. This is commonly done in a `files` folder. + +```treeview +happynrwl/ +├── apps/ +├── libs/ +├── tools/ +│ ├── generators +│ | └── my-generator/ +│ | | └── files +│ | | └── NOTES.md +│ | | ├── index.ts +│ | | └── schema.json +├── nx.json +├── package.json +└── tsconfig.base.json +``` + +The files can use EJS syntax to substitute variables and logic. See the [EJS Docs](https://ejs.co/) to see more information about how to write these template files. + +Example NOTES.md: + +```markdown +Hello, my name is <%= name %>! +``` + +Next, update the `index.ts` file for the generator, and generate the new files. + +```typescript +import { + Tree, + formatFiles, + installPackagesTask, + generateFiles, + joinPathFragments, + readProjectConfiguration, +} from '@nrwl/devkit'; +import { libraryGenerator } from '@nrwl/workspace'; + +export default async function (tree: Tree, schema: any) { + await libraryGenerator(tree, { name: schema.name }); + const libraryRoot = readProjectConfiguration(tree, schema.name).root; + generateFiles( + tree, // the virtual file system + joinPathFragments(__dirname, './files'), // path to the file templates + libraryRoot, // destination path of the files + schema // config object to replace variable in file templates + ); + await formatFiles(tree); + return () => { + installPackagesTask(tree); + }; +} +``` + +The exported function first creates the library, then creates the additional files in the new library's folder. + +Next, run the generator: + +> Use the `-d` or `--dry-run` flag to see your changes without applying them. + +```bash +nx workspace-generator my-generator mylib +``` + +The following information will be displayed. + +```bash +CREATE libs/mylib/README.md +CREATE libs/mylib/.babelrc +CREATE libs/mylib/src/index.ts +CREATE libs/mylib/src/lib/mylib.spec.ts +CREATE libs/mylib/src/lib/mylib.ts +CREATE libs/mylib/tsconfig.json +CREATE libs/mylib/tsconfig.lib.json +UPDATE tsconfig.base.json +UPDATE workspace.json +UPDATE nx.json +CREATE libs/mylib/.eslintrc.json +CREATE libs/mylib/jest.config.js +CREATE libs/mylib/tsconfig.spec.json +UPDATE jest.config.js +CREATE libs/mylib/NOTES.md +``` + +`libs/mylib/NOTES.md` will contain the content with substituted variables: + +```markdown +Hello, my name is mylib! +``` + +## Dynamic File Names + +If you want the generated file or folder name to contain variable values, use `__variable__`. So `NOTES-for-__name__.md` would be resolved to `NOTES_for_mylib.md` in the above example. + +## EJS Syntax Quickstart + +The EJS syntax can do much more than replace variable names with values. Here are some common techniques. + +1. Pass a function into the template: + +```typescript +// template file +This is my <%= uppercase(name) %> +``` + +```typescript +// typescript file +function uppercase(val) { + val.toUppercase(); +} + +// later + +generateFiles(tree, joinPathFragments(__dirname, './files'), libraryRoot, { + uppercase, + name: schema.name, +}); +``` + +2. Use javascript for control flow in the template: + +```typescript +<% if(shortVersion) { %> +This is the short version. +<% } else { + for(let x=0; x + This text will be repeated <%= numRepetitions %> times. +<% } // end for loop +} // end else block %> +``` + +```typescript +// typescript file +generateFiles(tree, joinPathFragments(__dirname, './files'), libraryRoot, { + shortVerstion: false, + numRepetitions: 3, +}); +``` diff --git a/nx-dev/nx-dev/public/documentation/latest/shared/generators/generator-options.md b/nx-dev/nx-dev/public/documentation/latest/shared/generators/generator-options.md new file mode 100644 index 0000000000..4e3053819b --- /dev/null +++ b/nx-dev/nx-dev/public/documentation/latest/shared/generators/generator-options.md @@ -0,0 +1,103 @@ +# Customizing generator options + +## Adding a TypeScript schema + +To create a TypeScript schema to use in your generator function, define a TypeScript file next to your schema.json named `schema.ts`. Inside the `schema.ts`, define an interface to match the properties in your schema.json file, and whether they are required. + +```typescript +export interface GeneratorOptions { + name: string; + type?: string; +} +``` + +Import the TypeScript schema into your generator file and replace the any in your generator function with the interface. + +```typescript +import { Tree, formatFiles, installPackagesTask } from '@nrwl/devkit'; +import { libraryGenerator } from '@nrwl/workspace'; + +export default async function (tree: Tree, schema: GeneratorOptions) { + await libraryGenerator(tree, { name: `${schema.name}-${schema.type || ''}` }); + await formatFiles(tree); + return () => { + installPackagesTask(tree); + }; +} +``` + +## Adding static options + +Static options for a generator don't prompt the user for input. To add a static option, define a key in the schema.json file with the option name, and define an object with its type, description, and optional default value. + +```json +{ + "$schema": "http://json-schema.org/schema", + "id": "my-generator", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Library name", + "$default": { + "$source": "argv", + "index": 0 + } + }, + "type": { + "type": "string", + "description": "Provide the library type, such as 'data-access' or 'state'" + } + }, + "required": ["name"] +} +``` + +If you run the generator without providing a value for the type, it is not included in the generated name of the library. + +## Adding dynamic prompts + +Dynamic options can prompt the user to select from a list of options. To define a prompt, add an `x-prompt` property to the option object, set the type to list, and define an items array for the choices. + +```json +{ + "$schema": "http://json-schema.org/schema", + "id": "my-generator", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Library name", + "$default": { + "$source": "argv", + "index": 0 + } + }, + "type": { + "type": "string", + "description": "Provide the library type", + "x-prompt": { + "message": "Which type of library would you like to generate?", + "type": "list", + "items": [ + { + "value": "data-access", + "label": "Data Access" + }, + { + "value": "feature", + "label": "Feature" + }, + { + "value": "state", + "label": "State Management" + } + ] + } + } + }, + "required": ["name"] +} +``` + +Running the generator without providing a value for the type will prompt the user to make a selection. diff --git a/nx-dev/nx-dev/public/documentation/latest/shared/generators/modifying-files.md b/nx-dev/nx-dev/public/documentation/latest/shared/generators/modifying-files.md new file mode 100644 index 0000000000..8a0af7fb04 --- /dev/null +++ b/nx-dev/nx-dev/public/documentation/latest/shared/generators/modifying-files.md @@ -0,0 +1,132 @@ +# Modifying Files with a Generator + +Modifying existing files is an order of magnitude harder than creating new files, so care should be taken when trying to automate this process. When the situation merits it, automating a process can lead to tremendous benefits across the organization. Here are some approaches listed from simplest to most complex. + +## Compose Existing Generators + +If you can compose together existing generators to modify the files you need, you should take that approach. See [Composing Generators](./composing-generators) for more information. + +## Modify JSON Files + +JSON files are fairly simple to modify, given their predictable structure. + +The following example adds a `package.json` script that issues a friendly greeting. + +```typescript +import { updateJson } from '@nrwl/devkit'; + +export default async function (tree: Tree, schema: any) { + updateJson(tree, 'package.json', (pkgJson) => { + // if scripts is undefined, set it to an empty object + pkgJson.scripts = pkgJson.scripts ?? {}; + // add greet script + pkgJson.scripts.greet = 'echo "Hello!"'; + // return modified JSON object + return pkgJson; + }); +} +``` + +## String Replace + +For files that are not as predictable as JSON files (like `.ts`, `.md` or `.css` files), modifying the contents can get tricky. One approach is to do a find and replace on the string contents of the file. + +Let's say we want to replace any instance of `thomasEdison` with `nikolaTesla` in the `index.ts` file. + +```typescript +export default async function (tree: Tree, schema: any) { + const filePath = `path/to/index.ts`; + const contents = tree.read(filePath); + contents.replace('thomasEdison', 'nikolaTesla'); + tree.write(filePath, contents); +} +``` + +This works, but only replaces the first instance of `thomasEdison`. To replace them all, you need to use regular expressions. (Regular expressions also give you a lot more flexibility in how you search for a string.) + +```typescript +export default async function (tree: Tree, schema: any) { + const filePath = `path/to/index.ts`; + const contents = tree.read(filePath); + contents.replace(/thomasEdison/g, 'nikolaTesla'); + tree.write(filePath, contents); +} +``` + +## AST Manipulation + +ASTs (Abstract Syntax Trees) allow you to understand exactly the code you're modifying. Replacing a string value can accidentally modify text found in a comment rather than changing the name of a variable. + +We'll write a generator that replaces all instances of the type `Array` with `something[]`. To help accomplish this, we'll use the `@phenomnominal/tsquery` npm package and the [AST Explorer](https://astexplorer.net) site. TSQuery allows you to query and modify ASTs with a syntax similar to CSS selectors. The AST Explorer tool allows you to easily examine the AST for a given snippet of code. + +First, go to [AST Explorer](https://astexplorer.net) and paste in a snippet of code that contains the input and desired output of our generator. + +```typescript +// input +const arr: Array = []; + +// desired output +const arr: string[] = []; +``` + +Make sure the parser is set to `typescript`. When you place the cursor on the `Array` text, the right hand panel highlights the corresponding node of the AST. The AST node we're looking for looks like this: + +```typescript +{ // TypeReference + typeName: { // Identifier + escapedText: "Array" + }, + typeArguments: [/* this is where the generic type parameter is specified */] +} +``` + +Second, we need to choose a selector to target this node. Just like with CSS selectors, there is an art to choosing a selector that is specific enough to target the correct nodes, but not overly tied to a certain structure. For our simple example, we can use `TypeReference` to select the parent node and check to see if it has a `typeName` of `Array` before we perform the replacement. We'll then use the `typeArguments` to get the text inside the `<>` characters. + +The finished code looks like this: + +```typescript +import { readProjectConfiguration, Tree } from '@nrwl/devkit'; +import { tsquery } from '@phenomnomnominal/tsquery'; +import { TypeReferenceNode } from 'typescript'; + +/** + * Run the callback on all files inside the specified path + */ +function visitAllFiles( + tree: Tree, + path: string, + callback: (filePath: string) => void +) { + tree.children(path).forEach((fileName) => { + const filePath = `${path}/${fileName}`; + if (!tree.isFile(filePath)) { + visitAllFiles(tree, filePath, callback); + } else { + callback(filePath); + } + }); +} + +export default function (tree: Tree, schema: any) { + const sourceRoot = readProjectConfiguration(tree, schema.name).sourceRoot; + visitAllFiles(tree, sourceRoot, (filePath) => { + const fileEntry = tree.read(filePath); + const contents = fileEntry.toString(); + + // Check each `TypeReference` node to see if we need to replace it + const newContents = tsquery.replace(contents, 'TypeReference', (node) => { + const trNode = node as TypeReferenceNode; + if (trNode.typeName.getText() === 'Array') { + const typeArgument = trNode.typeArguments[0]; + return `${typeArgument.getText()}[]`; + } + // return undefined does not replace anything + }); + + // only write the file if something has changed + if (newContents !== contents) { + tree.write(filePath, newContents); + } + }); +} +``` diff --git a/nx-dev/nx-dev/public/documentation/latest/shared/generators/using-generators.md b/nx-dev/nx-dev/public/documentation/latest/shared/generators/using-generators.md new file mode 100644 index 0000000000..8c765ed11e --- /dev/null +++ b/nx-dev/nx-dev/public/documentation/latest/shared/generators/using-generators.md @@ -0,0 +1,26 @@ +# Using Generators + +## Overview + +Generators provide a way to automate many tasks you regularly perform as part of your development workflow. Whether it is scaffolding out components, features, ensuring libraries are generated and structured in a certain way, or updating your configuration files, generators help you standardize these tasks in a consistent, and predictable manner. + +The [Workspace Generators](/{{framework}}/generators/workspace-generators) guide shows you how to create, run, and customize workspace generators within your Nx workspace. + +## Types of Generators + +There are three main types of generators: + +1. **Plugin Generators** are available when an Nx plugin has been installed in your workspace. +2. **Workspace Generators** are generators that you can create for your own workspace. [Workspace generators](/{{framework}}/generators/workspace-generators) allow you to codify the processes that are unique to your own organization. +3. **Update Generators** are invoked by Nx plugins when you [update Nx](/{{framework}}/core-concepts/updating-nx) to keep your config files in sync with the latest versions of third party tools. + +## Invoking Plugin Generators + +Generators allow you to create or modify your codebase in a simple and repeatable way. Generators are invoked using the [`nx generate`](/{{framework}}/cli/generate) command. + +```bash +nx generate [plugin]:[generator-name] [options] +nx generate @nrwl/react:component mycmp --project=myapp +``` + +It is important to have a clean git working directory before invoking a generator so that you can easily revert changes and re-invoke the generator with different inputs. diff --git a/nx-dev/nx-dev/public/documentation/latest/shared/generators/workspace-generators.md b/nx-dev/nx-dev/public/documentation/latest/shared/generators/workspace-generators.md new file mode 100644 index 0000000000..d20da47d72 --- /dev/null +++ b/nx-dev/nx-dev/public/documentation/latest/shared/generators/workspace-generators.md @@ -0,0 +1,93 @@ +# Workspace Generators + +Workspace generators provide a way to automate many tasks you regularly perform as part of your development workflow. Whether it is scaffolding out components, features, or ensuring libraries are generated and structured in a certain way, generators help you standardize these tasks in a consistent, and predictable manner. Nx provides tooling around creating, and running custom generators from within your workspace. This guide shows you how to create, run, and customize workspace generators within your Nx workspace. + +## Creating a workspace generator + +Use the Nx CLI to generate the initial files needed for your workspace generator. + +```bash +nx generate @nrwl/workspace:workspace-generator my-generator +``` + +After the command is finished, the workspace generator is created under the `tools/generators` folder. + +```treeview +happynrwl/ +├── apps/ +├── libs/ +├── tools/ +│ ├── generators +│ | └── my-generator/ +│ | | ├── index.ts +│ | | └── schema.json +├── nx.json +├── package.json +└── tsconfig.base.json +``` + +The `index.ts` provides an entry point to the generator. The file contains a function that is called to perform manipulations on a tree that represents the file system. +The `schema.json` provides a description of the generator, available options, validation information, and default values. + +The initial generator function creates a library. + +```typescript +import { Tree, formatFiles, installPackagesTask } from '@nrwl/devkit'; +import { libraryGenerator } from '@nrwl/workspace'; + +export default async function (tree: Tree, schema: any) { + await libraryGenerator(tree, { name: schema.name }); + await formatFiles(tree); + return () => { + installPackagesTask(tree); + }; +} +``` + +To invoke other generators, import the entry point function and run it against the tree tree. `async/await` can be used to make code with Promises read like procedural code. The generator function may return a callback function that is executed after changes to the file system have been applied. + +In the schema.json file for your generator, the `name` is provided as a default option. The `cli` property is set to `nx` to signal that this is a generator that uses `@nrwl/devkit` and not `@angular-devkit`. + +```json +{ + "cli": "nx", + "id": "test", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Library name", + "$default": { + "$source": "argv", + "index": 0 + } + } + }, + "required": ["name"] +} +``` + +The `$default` object is used to read arguments from the command-line that are passed to the generator. The first argument passed to this schematic is used as the `name` property. + +## Running a workspace generator + +To run a generator, invoke the `nx workspace-generator` command with the name of the generator. + +```bash +nx workspace-generator my-generator mylib +``` + +## Debugging Workspace generators + +### With Visual Studio Code + +1. Open the Command Palette and choose `Debug: Create JavaScript Debug Terminal`. + This will open a terminal with debugging enabled. +2. Set breakpoints in your code +3. Run `nx workspace-generator my-generator` in the debug terminal. + +![](/shared/vscode-schematics-debug.png) + +## Workspace Generator Utilities + +The `@nrwl/devkit` package provides many utility functions that can be used in schematics to help with modifying files, reading and updating configuration files, and working with an Abstract Syntax Tree (AST). diff --git a/nx-dev/nx-dev/public/documentation/latest/shared/guides/browser-support.md b/nx-dev/nx-dev/public/documentation/latest/shared/guides/browser-support.md index dd735e4e50..8212f635f4 100644 --- a/nx-dev/nx-dev/public/documentation/latest/shared/guides/browser-support.md +++ b/nx-dev/nx-dev/public/documentation/latest/shared/guides/browser-support.md @@ -6,7 +6,7 @@ In general, the more modern your applications browser support is, the smaller th By default, applications generated from official Nx generators ship an aggressively modern browser support config, in the form of a `.browserlistrc` file in the root of the application with the following contents. -``` +```text last 1 Chrome version last 1 Firefox version last 2 Edge major versions @@ -24,7 +24,7 @@ Adding support for IE or any other browser is as easy as changing the `.browserl To add support for IE 11 simply change the final line in the `.browserlistrc` file to include IE: -``` +```text last 1 Chrome version last 1 Firefox version last 2 Edge major versions diff --git a/nx-dev/nx-dev/public/documentation/latest/shared/mental-model.md b/nx-dev/nx-dev/public/documentation/latest/shared/mental-model.md new file mode 100644 index 0000000000..9dc660683e --- /dev/null +++ b/nx-dev/nx-dev/public/documentation/latest/shared/mental-model.md @@ -0,0 +1,238 @@ +# Mental Model + +Nx is a VSCode of build tools, with a powerful core, driven by metadata, and extensible through plugins. Nx works with a few concepts to drive your monorepo efficiently, and effectively. This guide covers the mental model around how Nx works with project graphs, task graphs, affected commands, computation hashing and caching. + +## The project graph + +A project graph is used to reflect the source code in your repository and all the external dependencies that aren’t authored in your repository, such as Webpack, React, Angular, and so forth. + +![project-graph](/shared/mental-model/project-graph.png) + +With Nx, nodes in the project graph are defined in `workspace.json`. You can manually define dependencies between the nodes, but you don’t have to do it very often. Nx analyzes files’ source code, your installed dependencies, TypeScript files, and others figuring out these dependencies for you. Nx also stores the cached project graph, so it only reanalyzes the files you have changed. + +![project-graph-updated](/shared/mental-model/project-graph-updated.png) + +Nx provides an updated graph after each analysis is done. + +## Metadata-driven + +Everything in Nx comes with metadata to enable toolability. The default values, validations, autocompletion work, and more are all defined in a schema, instead of in code. + +The following sample schema shows inputs, prompts, and validations for adding a new application. + +```json +{ + "$schema": "http://json-schema.org/schema", + "cli": "nx", + "$id": "NxNextApp", + "title": "Create an Application for Nx", + "type": "object", + "properties": { + "name": { + "description": "The name of the application.", + "type": "string", + "$default": { + "$source": "argv", + "index": 0 + }, + "x-prompt": "What name would you like to use for the application?", + "pattern": "^[a-zA-Z].*$" + }, + "directory": { + "description": "The directory of the new application.", + "type": "string", + "alias": "d" + }, + "style": { + "description": "The file extension to be used for style files.", + "type": "string", + "default": "css", + "alias": "s", + "x-prompt": { + "message": "Which stylesheet format would you like to use?", + "type": "list", + "items": [ + { "value": "css", "label": "CSS" }, + { + "value": "scss", + "label": "SASS(.scss) [ http://sass-lang.com ]" + }, + { + "value": "styl", + "label": "Stylus(.styl) [ http://stylus-lang.com ]" + }, + { + "value": "less", + "label": "LESS [ http://lesscss.org ]" + } + ] + } + }, + "linter": { + "description": "The tool to use for running lint checks.", + "type": "string", + "enum": ["eslint", "tslint"], + "default": "eslint" + }, + "skipFormat": { + "description": "Skip formatting files", + "type": "boolean", + "default": false + }, + "skipWorkspaceJson": { + "description": "Skip updating workspace.json with default options based on values provided to this app (e.g. babel, style)", + "type": "boolean", + "default": false + }, + "unitTestRunner": { + "type": "string", + "enum": ["jest", "none"], + "description": "Test runner to use for unit tests", + "default": "jest" + }, + "e2eTestRunner": { + "type": "string", + "enum": ["cypress", "none"], + "description": "Test runner to use for end to end (e2e) tests", + "default": "cypress" + }, + "tags": { + "type": "string", + "description": "Add tags to the application (used for linting)", + "alias": "t" + }, + "js": { + "type": "boolean", + "description": "Generate JavaScript files rather than TypeScript files.", + "default": false + }, + "setParserOptionsProject": { + "type": "boolean", + "description": "Whether or not to configure the ESLint \"parserOptions.project\" option. We do not do this by default for lint performance reasons.", + "default": false + } + }, + "required": [] +} +``` + +This metadata is used by Nx itself, by VSCode and WebStorm integrations, by GitHub integration, and by third-party tools. + +![metadata](/shared/mental-model/metadata.png) + +These tools are able to implement richer experiences with Nx using this metadata. + +## The task graph + +Nx uses the project graph to create a task graph. Any time you run anything, Nx creates a task graph from the project graph and then executes the tasks in that graph. + +For instance `nx test lib` creates a task graph with a single node: + +![task-graph](/shared/mental-model/task-graph.png) + +A task is an invocation of a target. If you invoke the same target twice, you create two tasks. + +Nx uses the [project graph](#the-project-graph), but the task graph and project graph aren’t isomorphic, meaning they aren’t directly connected. In the case above, app1 and app2 depend on lib, but running `nx run-many --target=test --projects=app1,app2,lib`, the created task graph will look like this: + +![task-graph-creation](/shared/mental-model/task-graph-creation.png) + +Even though the apps depend on lib, testing `app1` doesn’t depend on the testing lib. This means that the two tasks can run in parallel. + +Let’s look at the test target relying on its dependencies. + +```json +{ + "test": { + "executor": "@nrwl/jest:jest", + "outputs": ["coverage/apps/app1"], + "dependsOn": [{ "target": "test", "projects": "dependencies" }], + "options": { + "jestConfig": "apps/app1/jest.config.js", + "passWithNoTests": true + } + } +} +``` + +With this, running the same test command creates the following task graph: + +![task-graph-run](/shared/mental-model/task-graph-run.png) + +This often makes more sense for builds, where to build app1, you want to build lib first. You can also define similar relationships between targets of the same project, including a test target that depends on the build. + +A task graph can contain different targets, and those can run in parallel. For instance, as Nx is building `app2`, it can be testing `app1` at the same time. Learn more about configuring targets in the [configuration guide](/{{framework}}/core-concepts/configuration) + +![task-graph-execution](/shared/mental-model/task-graph-execution.png) + +Nx also runs the tasks in the task graph in the right order. Nx executing tasks being executed speeds up your overall execution time. + +## Affected commands + +When you run `nx test app1`, you are telling Nx to run the app1:test task plus all the tasks it depends on. + +When you run `nx run-many --target=test --projects=app1,lib`, you are telling Nx to do the same for two tasks app1:test and lib:test. + +When you run `nx run-many --target=test --all`, you are telling Nx to do this for all the projects. + +As your workspace grows, retesting all projects becomes too slow. To address this Nx implements code change analysis to get the min set of projects that need to be retested. How does it work? + +When you run `nx affected --target=test`, Nx looks at the files you changed in your PR, it will look at the nature of change (what exactly did you update in those files), and it uses this to figure the list of projects in the workspace that can be affected by this change. It then runs the `run-many` command with that list. + +For instance, if my PR changes `lib`, and I then run `nx affected --target=test`, Nx figures out that `app1` and `app2` depend on `lib`, so it will invoke `nx run-many --target=test --projects=app1,app2,lib`. + +![affected](/shared/mental-model/affected.png) + +Nx analyzes the nature of the changes. For example, if you change the version of Next.js in the package.json, Nx knows that `app2` cannot be affected by it, so it only retests `app1`. + +## Computation hashing and caching + +Nx runs the tasks in the task graph in the right order. Before running the task, Nx computes its computation hash. As long as the computation hash is the same, the output of running the task is the same. + +How does Nx do it? + +By default, the computation hash for say `nx test app1` includes: + +- All the source files of `app1` and `lib` +- Relevant global configuration +- Versions of externals dependencies +- Runtime values provisioned by the user such as the version of Node +- Command flags + +![computation-hashing](/shared/mental-model/computation-hashing.png) + +This behavior is customizable. For instance, lint checks may only depend on the source code of the project and global configs. Builds can depend on the dts files of the compiled libs instead of their source. + +After Nx computes the hash for a task, it then checks if it ran this exact computation before. First, it checks locally, and then if it is missing, and if a remote cache is configured, it checks remotely. + +If Nx finds the computation, Nx retrieves it and replay it. Nx places the right files in the right folders and prints the terminal output. So from the user’s point of view, the command ran the same, just a lot faster. + +![cache](/shared/mental-model/cache.png) + +If Nx doesn’t find this computation, Nx runs the task, and after it completes, it takes the outputs and the terminal output and stores it locally (and if configured remotely). All of this happens transparently, so you don’t have to worry about it. + +Although conceptually this is fairly straightforward, Nx optimizes this to make this experience good for you. For instance, Nx: + +- Captures stdout and stderr to make sure the replayed output looks the same, including on Windows. +- Minimizes the IO by remembering what files are replayed where. +- Only shows relevant output when processing a large task graph. +- Provides affordances for troubleshooting cache misses. + And many other optimizations. + +As your workspace grows, the task graph looks more like this: + +![cache](/shared/mental-model/task-graph-big.png) + +All of these optimizations are crucial for making Nx usable for any non-trivial workspace. Only the minimum amount of work happens. The rest is either left as is or restored from the cache. + +In summary: + +- Nx is able to analyze your source code to create a Project Graph. +- Nx can use the project graph and information about projects’ targets to create a Task Graph. +- Nx is able to perform code-change analysis to create the smallest task graph for your PR. +- Nx supports computation caching to never execute the same computation twice. This computation cache is pluggable and can be distributed. + +## Learn more: + +- [Migrating from Lerna to Nx: Better Dev Ergonomics + Much Faster Build Times](https://blog.nrwl.io/migrating-from-lerna-to-nx-better-dev-ergonomics-much-faster-build-times-da76ff14ccbb) +- [Using Generators](/{{framework}}/generators/using-schematics) +- [Using Executors](/{{framework}}/executors/using-builders) diff --git a/nx-dev/nx-dev/public/documentation/latest/shared/mental-model/affected.png b/nx-dev/nx-dev/public/documentation/latest/shared/mental-model/affected.png new file mode 100644 index 0000000000000000000000000000000000000000..33bc14b6d2a0e84f73aae66c3c5608efc481fb00 GIT binary patch literal 13335 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 HIOP8T;Ure^ literal 0 HcmV?d00001 diff --git a/nx-dev/nx-dev/public/documentation/latest/shared/mental-model/cache.png b/nx-dev/nx-dev/public/documentation/latest/shared/mental-model/cache.png new file mode 100644 index 0000000000000000000000000000000000000000..09a64576e3809b24c02a7f1571f8645c515b803e GIT binary patch literal 38455 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 HijMg^oz<#g literal 0 HcmV?d00001 diff --git a/nx-dev/nx-dev/public/documentation/latest/shared/mental-model/computation-hashing.png b/nx-dev/nx-dev/public/documentation/latest/shared/mental-model/computation-hashing.png new file mode 100644 index 0000000000000000000000000000000000000000..53883b6e0edb61aa4cd8022fdbe113aecc745843 GIT binary patch literal 39581 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 N5!KPvp^SVW@o&GLHuL}h literal 0 HcmV?d00001 diff --git a/nx-dev/nx-dev/public/documentation/latest/shared/mental-model/metadata.png b/nx-dev/nx-dev/public/documentation/latest/shared/mental-model/metadata.png new file mode 100644 index 0000000000000000000000000000000000000000..b1995506186b2e759a4ab2b1652c76c3cbcb0787 GIT binary patch literal 418204 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

nIZJpy&XW;%~z3FRh0qJ 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%0DBseY{0)Qox} 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 X(D;-HlzMRZH$+uYOQAx}>h*sC*DS&$ literal 0 HcmV?d00001 diff --git a/nx-dev/nx-dev/public/documentation/latest/shared/mental-model/project-graph.png b/nx-dev/nx-dev/public/documentation/latest/shared/mental-model/project-graph.png new file mode 100644 index 0000000000000000000000000000000000000000..8adccf0f8186b721f8f190c874499687c2c35e4d GIT binary patch literal 7485 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 TRU8W%tq|pB>hk5Vm%;x9ZT*N0 literal 0 HcmV?d00001 diff --git a/nx-dev/nx-dev/public/documentation/latest/shared/mental-model/task-graph-big.png b/nx-dev/nx-dev/public/documentation/latest/shared/mental-model/task-graph-big.png new file mode 100644 index 0000000000000000000000000000000000000000..3faf9ca22bdf45cbfb554009870b8546dae3830b GIT binary patch literal 68484 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 literal 0 HcmV?d00001 diff --git a/nx-dev/nx-dev/public/documentation/latest/shared/mental-model/task-graph-creation.png b/nx-dev/nx-dev/public/documentation/latest/shared/mental-model/task-graph-creation.png new file mode 100644 index 0000000000000000000000000000000000000000..47c344a63976a3b727bf836248bedf246edd0320 GIT binary patch literal 16736 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 literal 0 HcmV?d00001 diff --git a/nx-dev/nx-dev/public/documentation/latest/shared/mental-model/task-graph-execution.png b/nx-dev/nx-dev/public/documentation/latest/shared/mental-model/task-graph-execution.png new file mode 100644 index 0000000000000000000000000000000000000000..a2b768558e68238b85069aeae3bd5771564529fe GIT binary patch literal 28486 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 literal 0 HcmV?d00001 diff --git a/nx-dev/nx-dev/public/documentation/latest/shared/mental-model/task-graph-run.png b/nx-dev/nx-dev/public/documentation/latest/shared/mental-model/task-graph-run.png new file mode 100644 index 0000000000000000000000000000000000000000..bceb6ba649ce259ac88ec20e164f855813804165 GIT binary patch literal 15159 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 P00000NkvXXu0mjf#3ZR3 literal 0 HcmV?d00001 diff --git a/nx-dev/nx-dev/public/documentation/latest/shared/migration/adding-to-monorepo.md b/nx-dev/nx-dev/public/documentation/latest/shared/migration/adding-to-monorepo.md index 43fe7cf50d..0f7b131de8 100644 --- a/nx-dev/nx-dev/public/documentation/latest/shared/migration/adding-to-monorepo.md +++ b/nx-dev/nx-dev/public/documentation/latest/shared/migration/adding-to-monorepo.md @@ -36,7 +36,7 @@ affected than other tools because it looks not just at the changed files but als ### Workspace Visualization Run `npx nx dep-graph` to see a visualization of your workspace. `npx nx affected:dep-graph` will show what is affected -by your commit. +by your commit. `npx nx dep-graph --watch` will watch your workspace for changes and update the the visualization. diff --git a/nx-dev/nx-dev/public/documentation/latest/shared/migration/overview.md b/nx-dev/nx-dev/public/documentation/latest/shared/migration/overview.md index 30270ede8c..020188a50f 100644 --- a/nx-dev/nx-dev/public/documentation/latest/shared/migration/overview.md +++ b/nx-dev/nx-dev/public/documentation/latest/shared/migration/overview.md @@ -173,7 +173,7 @@ Your use-case may also be covered by one of our community plugins. Plugin author [Learn more about the `run-commands` builder](/{{framework}}/workspace/run-commands-executor) -[Learn more about caching](/{{framework}}/core-concepts/computation-caching) +[Learn more about caching](/{{framework}}/core-extended/computation-caching) [Learn more about community plugins](/community) diff --git a/nx-dev/nx-dev/public/documentation/latest/shared/tools-workspace-generators.md b/nx-dev/nx-dev/public/documentation/latest/shared/tools-workspace-generators.md deleted file mode 100644 index c0e5ee1ecd..0000000000 --- a/nx-dev/nx-dev/public/documentation/latest/shared/tools-workspace-generators.md +++ /dev/null @@ -1,308 +0,0 @@ -# Workspace Generators - -Workspace generators provide a way to automate many tasks you regularly perform as part of your development workflow. Whether it is scaffolding out components, features, or ensuring libraries are generated and structured in a certain way, generators help you standardize these tasks in a consistent, and predictable manner. Nx provides tooling around creating, and running custom generators from within your workspace. This guide shows you how to create, run, and customize workspace generators within your Nx workspace. - -## Creating a workspace generator - -Use the Nx CLI to generate the initial files needed for your workspace generator. - -```bash -nx generate @nrwl/workspace:workspace-generator my-generator -``` - -After the command is finished, the workspace generator is created under the `tools/generators` folder. - -```treeview -happynrwl/ -├── apps/ -├── libs/ -├── tools/ -│ ├── generators -│ | └── my-generator/ -│ | | ├── index.ts -│ | | └── schema.json -├── nx.json -├── package.json -└── tsconfig.base.json -``` - -The `index.ts` provides an entry point to the generator. The file contains a function that is called to perform manipulations on a tree that represents the file system. -The `schema.json` provides a description of the generator, available options, validation information, and default values. - -The initial generator function creates a library. - -```typescript -import { Tree, formatFiles, installPackagesTask } from '@nrwl/devkit'; -import { libraryGenerator } from '@nrwl/workspace'; - -export default async function (tree: Tree, schema: any) { - await libraryGenerator(tree, { name: schema.name }); - await formatFiles(tree); - return () => { - installPackagesTask(tree); - }; -} -``` - -To invoke other generators, import the entry point function and run it against the tree tree. `async/await` can be used to make code with Promises read like procedural code. The generator function may return a callback function that is executed after changes to the file system have been applied. - -In the schema.json file for your generator, the `name` is provided as a default option. The `cli` property is set to `nx` to signal that this is a generator that uses `@nrwl/devkit` and not `@angular-devkit`. - -```json -{ - "cli": "nx", - "id": "test", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Library name", - "$default": { - "$source": "argv", - "index": 0 - } - } - }, - "required": ["name"] -} -``` - -The `$default` object is used to read arguments from the command-line that are passed to the generator. The first argument passed to this schematic is used as the `name` property. - -## Running a workspace generator - -To run a generator, invoke the `nx workspace-generator` command with the name of the generator. - -```bash -nx workspace-generator my-generator mylib -``` - -## Running a workspace schematic created with @angular-devkit - -Generators that are created using the `@angular-devkit` are called schematics. Workspace schematics that have been created with the `@angular-devkit` will omit the `"cli": "nx"` property in `schema.json`. Nx will recognize this and correctly run the schematic using the same command as an `@nrwl/devkit` generator. - -```bash -nx workspace-generator my-schematic mylib -``` - -The command is also aliased to the previous `workspace-schematic` command, so this still works: - -```bash -nx workspace-schematic my-schematic mylib -``` - -## Creating files with a generator - -Generators provide an API for managing files within your workspace. You can use generators to do things such as create, update, move, and delete files. Files with static or dynamic content can also be created. - -The generator below shows you how to generate a library, and then scaffold out additional files with the newly created library. - -First, you define a folder to store your static or dynamic templates used to generated files. This is commonly done in a `files` folder. - -```treeview -happynrwl/ -├── apps/ -├── libs/ -├── tools/ -│ ├── generators -│ | └── my-generator/ -│ | | └── files -│ | | └── NOTES.md -│ | | ├── index.ts -│ | | └── schema.json -├── nx.json -├── package.json -└── tsconfig.base.json -``` - -The files can use EJS syntax to substitute variables and logic. See the [EJS Docs](https://ejs.co/) to see more information about how to write these template files. - -Example NOTES.md: - -```md -Hello, my name is <%= name %>! -``` - -Next, update the `index.ts` file for the generator, and generate the new files. - -```typescript -import { - Tree, - formatFiles, - installPackagesTask, - generateFiles, - joinPathFragments, - readProjectConfiguration, -} from '@nrwl/devkit'; -import { libraryGenerator } from '@nrwl/workspace'; - -export default async function (tree: Tree, schema: any) { - await libraryGenerator(tree, { name: schema.name }); - const libraryRoot = readProjectConfiguration(tree, schema.name).root; - generateFiles( - tree, // the virtual file system - joinPathFragments(__dirname, './files'), // path to the file templates - libraryRoot, // destination path of the files - schema // config object to replace variable in file templates - ); - await formatFiles(tree); - return () => { - installPackagesTask(tree); - }; -} -``` - -The exported function first creates the library, then creates the additional files in the new library's folder. - -Next, run the generator: - -> Use the `-d` or `--dry-run` flag to see your changes without applying them. - -```bash -nx workspace-generator my-generator mylib -``` - -The following information will be displayed. - -```bash -CREATE libs/mylib/README.md -CREATE libs/mylib/.babelrc -CREATE libs/mylib/src/index.ts -CREATE libs/mylib/src/lib/mylib.spec.ts -CREATE libs/mylib/src/lib/mylib.ts -CREATE libs/mylib/tsconfig.json -CREATE libs/mylib/tsconfig.lib.json -UPDATE tsconfig.base.json -UPDATE workspace.json -UPDATE nx.json -CREATE libs/mylib/.eslintrc.json -CREATE libs/mylib/jest.config.js -CREATE libs/mylib/tsconfig.spec.json -UPDATE jest.config.js -CREATE libs/mylib/NOTES.md -``` - -`libs/mylib/NOTES.md` will contain the content with substituted variables: - -```md -Hello, my name is mylib! -``` - -## Customizing generator options - -### Adding a TypeScript schema - -To create a TypeScript schema to use in your generator function, define a TypeScript file next to your schema.json named `schema.ts`. Inside the `schema.ts`, define an interface to match the properties in your schema.json file, and whether they are required. - -```typescript -export interface SchematicOptions { - name: string; - type?: string; -} -``` - -Import the TypeScript schema into your generator file and replace the any in your generator function with the interface. - -```typescript -import { Tree, formatFiles, installPackagesTask } from '@nrwl/devkit'; -import { libraryGenerator } from '@nrwl/workspace'; - -export default async function (tree: Tree, schema: SchematicOptions) { - await libraryGenerator(tree, { name: `${schema.name}-${schema.type || ''}` }); - await formatFiles(tree); - return () => { - installPackagesTask(tree); - }; -} -``` - -### Adding static options - -Static options for a generator don't prompt the user for input. To add a static option, define a key in the schema.json file with the option name, and define an object with its type, description, and optional default value. - -```json -{ - "$schema": "http://json-schema.org/schema", - "id": "my-generator", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Library name", - "$default": { - "$source": "argv", - "index": 0 - } - }, - "type": { - "type": "string", - "description": "Provide the library type, such as 'data-access' or 'state'" - } - }, - "required": ["name"] -} -``` - -If you run the generator without providing a value for the type, it is not included in the generated name of the library. - -### Adding dynamic prompts - -Dynamic options can prompt the user to select from a list of options. To define a prompt, add an `x-prompt` property to the option object, set the type to list, and define an items array for the choices. - -```json -{ - "$schema": "http://json-schema.org/schema", - "id": "my-generator", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Library name", - "$default": { - "$source": "argv", - "index": 0 - } - }, - "type": { - "type": "string", - "description": "Provide the library type", - "x-prompt": { - "message": "Which type of library would you like to generate?", - "type": "list", - "items": [ - { - "value": "data-access", - "label": "Data Access" - }, - { - "value": "feature", - "label": "Feature" - }, - { - "value": "state", - "label": "State Management" - } - ] - } - } - }, - "required": ["name"] -} -``` - -Running the generator without providing a value for the type will prompt the user to make a selection. - -## Debugging Workspace generators - -### With Visual Studio Code - -1. Open the Command Palette and choose `Debug: Create JavaScript Debug Terminal`. - This will open a terminal with debugging enabled. -2. Set breakpoints in your code -3. Run `nx workspace-generator my-generator` in the debug terminal. - -![](/shared/vscode-schematics-debug.png) - -## Workspace Generator Utilities - -The `@nrwl/devkit` package provides many utility functions that can be used in schematics to help with modifying files, reading and updating configuration files, and working with an Abstract Syntax Tree (AST). diff --git a/nx-dev/nx-dev/public/documentation/latest/shared/update.md b/nx-dev/nx-dev/public/documentation/latest/shared/update.md index 615c8eae23..16acac33ea 100644 --- a/nx-dev/nx-dev/public/documentation/latest/shared/update.md +++ b/nx-dev/nx-dev/public/documentation/latest/shared/update.md @@ -1,19 +1,19 @@ # Updating Nx -Nx provides the `migrate` command which help you stay up to date with the latest version of Nx. +The Nx CLI provides the `migrate` command to help you stay up to date with the latest version of Nx. -Not only `nx migrate` updates the version of Nx, but it also updates the versions of dependencies which we install such as jest and cypress. You can also use the `migrate` command to update any Nx plugin. +Not only does `nx migrate` update you to the latest version of Nx, but it also updates the versions of dependencies that we support and test such as Jest and Cypress. You can also use the `migrate` command to update any Nx plugin. -## How to Migrate +## Migrating to the latest Nx version Migration happens in two steps: -- Updating `package.json` (and `node_modules`) -- Updating the source code of the repo to match the new versions of packages in `package.json` +- The installed dependencies are updated including the `package.json` (and `node_modules`). +- The source code in the repo is updated to match the new versions of packages in `package.json`. -### Step 1: Updating package.json and generating migrations.json +### Step 1: Updating dependencies and generating migrations -Run the following: +First, run the `migrate` command: ```bash nx migrate latest # same as nx migrate @nrwl/workspace@latest @@ -25,75 +25,81 @@ You can also specify the name of the package and the version: nx migrate @nrwl/workspace@version # you can also specify version ``` -This will fetch the specified version of `@nrwl/workspace`, analyze the dependencies and fetch all the dependent packages. The process will keep going until the whole tree of dependencies is resolved. This will result in: +This fetches the specified version of the `@nrwl/workspace` package, analyzes the dependencies and fetches all the dependent packages. The process keeps going until all the dependencies are resolved. This results in: -- `package.json` being updated -- `migrations.json` being generated +- The `package.json` being updated +- A `migrations.json` being generated if there are pending migrations. At this point, no packages have been installed, and no other files have been touched. -Now, you can inspect `package.json` to see if the changes make sense. Sometimes the migration can update some package to the version that is either not allowed or conflicts with with another package. Feel free to manually apply the desired adjustments. +Now, you can inspect `package.json` to see if the changes make sense. Sometimes the migration can update some package to the version that is either not allowed or conflicts with another package. Feel free to manually apply the desired adjustments. ### Step 2: Install the packages -After you are satisfied, make sure to actuall install the packages by running `npm install`, `yarn`, or `pnpm install`. +After inspecting the `package.json`, make sure to install the updated package versions by running `npm install`, `yarn`, or `pnpm install`. ### Step 3: Running migrations -Next, we need to update the repo to match the updated `package.json` and `node_modules`. Every Nx plugin comes with a set of migrations that describe how to update the workspace to make it work with the new version of the plugin. During Step 1 Nx looked at all of the packages being updated and collected their migrations into `migrations.json`. It's important to note that because Nx knows the from and to versions of every package, the `migrations.json` file only contains the relevant migrations. +Next, update the repo to match the updated `package.json` and `node_modules`. Every Nx plugin comes with a set of migrations that describe how to update the workspace to make it work with the new version of the plugin. During step one, Nx looked at all of the packages being updated and collected their migrations into `migrations.json`. It's important to note that because Nx knows the from and to versions of every package, the `migrations.json` file only contains the relevant migrations. -Each migration in `migrations.json` updates the source code in the repository. To run all the migrations in order, invoke: +Each migration in `migrations.json` updates the source code in the repository. To run all the migrations in order, run the following command: + +```bash +nx migrate --run-migrations +``` + +To specify a custom migrations file, pass it to the `--run-migrations` option: ```bash nx migrate --run-migrations=migrations.json ``` -For small projects, running all the migrations at once often succeeds without any issues. For large projects, more flexibility is sometimes needed: +For small projects, running all the migrations at once often succeeds without any issues. For large projects, more flexibility is needed: - You may have to skip a migration. - You may want to run one migration at a time to address minor issues. - You may want to reorder migrations. - You may want to run the same migration multiple time if the process takes a long time and you had to rebase. -Since you can run `nx migrate --run-migrations=migrations.json` as many times as you want, you can achieve all of that by commenting out and reordering items in `migrations.json`. The migrate process can take a long time, sometimes a day, so it can be useful to commit the migrations file with the partially-updated repo. +Because you can run `nx migrate --run-migrations` as many times as you want, you can achieve all of that by commenting out and reordering items in `migrations.json`. The migration process can take a long time, depending on the number of migrations, so it is useful to commit the migrations file with the partially-updated repo. ### Step 4: Cleaning up -After you run all the migrations, you can remove `migration.json` and commit the changes. +After you run all the migrations, you can remove `migrations.json` and commit the changes. -## Advanced Capabilities & Recommendations +## Advanced capabilities & recommendations -### One Major Version at a Time, Small Steps +### One major version at a time, small steps -Migrating Jest, Cypress, ESLint, React, Angular, Next etc... is a difficult task. All the tools change at different rates, they can conflict with each other etc.. In addition, every workspace is different. Even though our goal is to let you update any version of Nx to any other version in a single go, sometimes it doesn't work. The following process is better for large workspaces. +Migrating Jest, Cypress, ESLint, React, Angular, Next, and more is a difficult task. All the tools change at different rates, they can conflict with each other. In addition, every workspace is different. Even though our goal is for you to update any version of Nx to a newer version of Nx in a single go, sometimes it doesn't work. The following process is better for large workspaces. Say you want to migrate from Nx 10.1.0 to Nx 11.0.1. The following steps are more likely to work comparing to `nx migrate 11.0.1`. -- Run `nx migrate 10.4.5` to update the latest version in the 10x branch. -- Run `npm install` -- Run `nx migrate --run-migrations=migrations.json` -- Next, run `nx migrate 11.0.1` -- Run `npm install` -- Run `nx migrate --run-migrations=migrations.json` +- Run `nx migrate 10.4.5` to update the latest version in the 10.x branch. +- Run `npm install`. +- Run `nx migrate --run-migrations`. +- Next, run `nx migrate 11.0.1`. +- Run `npm install`. +- Run `nx migrate --run-migrations`. ### Overriding versions -Sometimes, you may want to use a different version of a package than what Nx recommends. You can do it as follows: +Sometimes, you may want to use a different version of a package than what Nx recommends. To do that, specify the package and version: ```bash nx migrate @nrwl/workspace --to="jest@22.0.0,cypress:3.4.0" ``` -By default, Nx uses currently installed packages to calculate what migrations need to run. You can override them like this: +By default, Nx uses currently installed packages to calculate what migrations need to run. To override them, override the version: ```bash -nx migrate @nrwl/workspace --to="@nrwl/jest@8.0.0" +nx migrate @nrwl/workspace --to="@nrwl/jest@12.0.0" ``` ### Reverting a failed update -Updates are best done on a clean git history so that it can be easily reversed if something fails. -We try our best to make sure migrations do not fail but if one does, **please report it** on [Github](https://www.github.com/nrwl/nx/issues/new/). +Updates are best done on a clean git history so that it can be easily reversed if something fails. We try our best to make sure migrations do not fail but if one does, **please report it** on [GitHub](https://www.github.com/nrwl/nx/issues/new/). + If an update fails for any reason, you can revert it as you do any other set of changes: ```bash diff --git a/nx-dev/nx-dev/public/documentation/latest/shared/using-generators.md b/nx-dev/nx-dev/public/documentation/latest/shared/using-generators.md deleted file mode 100644 index 2703ea613f..0000000000 --- a/nx-dev/nx-dev/public/documentation/latest/shared/using-generators.md +++ /dev/null @@ -1,301 +0,0 @@ -# Using Generators - -## Overview - -Generators provide a way to automate many tasks you regularly perform as part of your development workflow. Whether it is scaffolding out components, features, ensuring libraries are generated and structured in a certain way, or updating your configuration files, generators help you standardize these tasks in a consistent, and predictable manner. - -Generators can be written using `@nrwl/devkit` or `@angular-devkit`. Generators written with the `@angular-devkit` are called schematics. To read more about the concepts of `@angular-devkit` schematics, and building an example schematic, see the [Schematics Authoring Guide](https://angular.io/guide/schematics-authoring). - -The [Workspace Generators](/{{framework}}/generators/workspace-generators) guide shows you how to create, run, and customize workspace generators within your Nx workspace. - -## Types of generators - -There are three main types of generators: - -1. **Plugin Generators** are available when an Nx plugin has been installed in your workspace. -2. **Workspace Generators** are generators that you can create for your own workspace. [Workspace generators](/{{framework}}/generators/workspace-generators) allow you to codify the processes that are unique to your own organization. -3. **Update Generators** are invoked by Nx plugins when you [update Nx](/{{framework}}/core-concepts/updating-nx) to keep your config files in sync with the latest versions of third party tools. - -## Invoking plugin generators - -Generators allow you to create or modify your codebase in a simple and repeatable way. Generators are invoked using the [`nx generate`](/{{framework}}/cli/generate) command. - -```bash -nx generate [plugin]:[generator-name] [options] -nx generate @nrwl/react:component mycmp --project=myapp -``` - -It is important to have a clean git working directory before invoking a generator so that you can easily revert changes and re-invoke the generator with different inputs. - -### Simplest Generator - -```json -{ - "cli": "nx", - "id": "CustomGenerator", - "description": "Create a custom generator", - "type": "object", - "properties": {}, - "additionalProperties": true -} -``` - -```typescript -export default async function (tree, opts) { - console.log('options', opts); -} -``` - -### Defining a generator schema - -A generator's schema describes the inputs--what you can pass into it. The schema is used to validate inputs, to parse args (e.g., covert strings into numbers), to set defaults, and to power the VSCode plugin. It is written with [JSON Schema](https://json-schema.org/). - -#### Examples - -```json -{ - "cli": "nx", - "id": "CustomGenerator", - "description": "Create a custom generator", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Generator name", - "x-prompt": "What name would you like to use for the workspace generator?" - }, - "skipFormat": { - "description": "Skip formatting files", - "type": "boolean", - "alias": "sf", - "default": false - } - }, - "required": ["name"] -} -``` - -The schema above defines two fields: `name` and `skipFormat`. The `name` field is a string, `skipFormat` is a boolean. The `x-prompt` property tells Nx to ask for the `name` value if one isn't given. The `skipFormat` field has the default value set to `false`. The schema language is rich and lets you use lists, enums, references, etc.. A few more examples: - -```json -{ - "cli": "nx", - "id": "CustomGenerator", - "description": "Create a custom generator", - "type": "object", - "properties": { - "stringOrBoolean": { - "oneOf": [ - { - "type": "string", - "default": "mystring!" - }, - { - "type": "boolean" - } - ] - }, - "innerObject": { - "type": "object", - "properties": { - "key": { - "type": "boolean" - } - } - }, - "array": { - "type": "array", - "items": { - "type": "number" - } - }, - "complexXPrompt": { - "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)" - }, - { - "value": "styl", - "label": "Stylus(.styl)" - }, - { - "value": "none", - "label": "None" - } - ] - } - }, - "positionalArg": { - "type": "string", - "$default": { - "$source": "argv", - "index": 0 - } - }, - "currentProject": { - "type": "string", - "$default": { - "$source": "projectName" - } - } - } -} -``` - -Sometimes, you may not know the schema or may not care, in this case, you can set the following: - -```json -{ - "cli": "nx", - "id": "CustomGenerator", - "description": "Create a custom generator", - "type": "object", - "properties": { - "name": { - "type": "string" - } - }, - "required": ["name"], - "additionalProperties": true -} -``` - -Because `"additionalProperties"` is `true`, the generator above will accept any extra parameters you pass. They, of course, won't be validated or transformed, but sometimes that's good enough. - -If you want to learn more about the schema language, check out the core plugins at [https://github.com/nrwl/nx](https://github.com/nrwl/nx) for more examples. - -### Implementing a generator - -The implementation is a function that takes two arguments: - -- `tree`: an implementation of the file system - - It allows you to read/write files, list children, etc. - - It's recommended to use the tree instead of directly interacting with the file system. - - This enables the `--dry-run` mode so you can try different sets of options before actually making changes to the files. -- `options` - - This is a combination of the options from `workspace.json`, command-line overrides, and schema defaults. - - All the options are validated and transformed in accordance with the schema. - - You normally don't have to validate anything in the implementation function because it won't be invoked unless the schema validation passes. - -The implementation can return a callback which is invoked _after changes have been made to the file system_. - -#### Examples - -```typescript -import { - Tree, - generateFiles, - formatFiles, - installPackagesTask, -} from '@nrwl/devkit'; - -interface Schema { - name: string; - skipFormat: boolean; -} - -export default async function (tree: Tree, options: Schema) { - generateFiles( - tree, - path.join(__dirname, 'files'), - path.join('tools/generators', options.name), - options - ); - - if (!options.skipFormat) { - await formatFiles(tree); - } - - return () => { - installPackagesTask(tree); - }; -} -``` - -The generator is an async function. You could create new projects and generate new files, but you could also update existing files and refactor things. It's recommended to limit all the side-effects to interacting with the tree and printing to the console. Sometimes generators perform other side-effects such as installing npm packages. Perform them in the function returned from the generator. Nx won't run the returned function in the dry run mode. - -### Devkit helper functions - -Nx provides helpers several functions for writing generators: - -- `readProjectConfiguration` -- Read the project configuration stored in workspace.json and nx.json. -- `addProjectConfiguration` -- Add the project configuration stored in workspace.json and nx.json. -- `removeProjectConfiguration` -- Remove the project configuration stored in workspace.json and nx.json. -- `updateProjectConfiguration` -- Update the project configuration stored in workspace.json and nx.json. -- `readWorkspaceConfiguration` -- Read general workspace configuration such as the default project or cli settings. -- `updateWorkspaceConfiguration` -- Update general workspace configuration such as the default project or cli settings. -- `getProjects` -- Returns the list of projects. -- `generateFiles` -- Generate a folder of files based on provided templates. -- `formatFiles` -- Format all the created or updated files using Prettier. -- `readJson` -- Read a json file. -- `writeJson` -- Write a json file. -- `updateJson` -- Update a json file. -- `addDependenciesToPackageJson` -- Add dependencies and dev dependencies to package.json -- `installPackagesTask` -- Runs `npm install`/`yarn install`/`pnpm install` depending on what is used by the workspaces. -- `names` -- Util function to generate different strings based off the provided name. -- `getWorkspaceLayout` -- Tells where new libs and apps should be generated. -- `offestFromRoot` -- Calculates an offset from the root of the workspace, which is useful for constructing relative URLs. -- `stripIndents` -- Strips indents from a multiline string. -- `normalizePath` -- Coverts an os specific path to a unix style path. -- `joinPathFragments` -- Normalize fragments and joins them with a /. -- `toJS` -- Coverts a TypeScript file to JavaScript. Useful for generators that support both. -- `visitNotIgnoredFiles` -- Utility to act on all files in a tree that are not ignored by git. -- `applyChangesToString`-- Applies a list of changes to a string's original value. This is useful when working with ASTs - -Each of those have detailed API docs. Check the [API Docs](/{{framework}}/nx-devkit/index#functions) for more information. - -It's also important to stress that those are just utility functions. You can use them but you don't have to. You can instead write your own functions that take the tree and do whatever you want to do with it. - -### Composing generators - -Generators are just async functions so they can be easily composed together. For instance, to write a generator that generates two React libraries: - -```typescript -import { - Tree, - generateFiles, - formatFiles, - installPackagesTask, -} from '@nrwl/devkit'; -import { libraryGenerator } from '@nrwl/react'; - -export default async function (tree: Tree, options: Schema) { - const libSideEffects1 = libraryGenerator(tree, { name: options.name1 }); - const libSideEffects2 = libraryGenerator(tree, { name: options.name2 }); - await performOperationsOnTheTree(tree); - return () => { - libSideEffects1(); - libSideEffects2(); - }; -} -``` - -### Testing generators - -The Nx Devkit provides the `createTreeWithEmptyWorkspace` utility to create a tree with an empty workspace that can be used in tests. Other than that, the tests simply invoke the generator and check the changes are made in the tree. - -```typescript -import { readProjectConfiguration } from '@nrwl/devkit'; -import { createTreeWithEmptyWorkspace } from '@nrwl/devkit/testing'; -import createLib from './lib'; - -describe('lib', () => { - it('should create a lib', async () => { - const tree = createTreeWithEmptyWorkspace(); - // update tree before invoking the generator - await createLib(tree, { name: 'lib' }); - - expect(readProjectConfiguration(tree, 'lib')).toBeDefined(); - }); -}); -``` diff --git a/nx-dev/nx-dev/public/documentation/latest/shared/workspace/creating-libraries.md b/nx-dev/nx-dev/public/documentation/latest/shared/workspace/creating-libraries.md index aa5cf178dc..d21fe6541c 100644 --- a/nx-dev/nx-dev/public/documentation/latest/shared/workspace/creating-libraries.md +++ b/nx-dev/nx-dev/public/documentation/latest/shared/workspace/creating-libraries.md @@ -12,7 +12,7 @@ The more granular your libraries are, the more effective `nx affected` and Nx's ### 2. Visualizing Architecture -The `nx dep-graph` command generates a graph of how apps and libraries depend on each other. If most of your code lives in a few giant libraries, this visualization doesn't provide much value. +The `nx dep-graph` command generates a graph of how apps and libraries depend on each other. If most of your code lives in a few giant libraries, this visualization doesn't provide much value. Adding the `--watch` flag to the command will update the visualization in-browser as you make changes. ### 3. Enforcing Constraints diff --git a/nx-dev/nx-dev/public/documentation/versions.json b/nx-dev/nx-dev/public/documentation/versions.json index b8885ac517..2e86143399 100644 --- a/nx-dev/nx-dev/public/documentation/versions.json +++ b/nx-dev/nx-dev/public/documentation/versions.json @@ -1,8 +1,8 @@ [ { - "name": "Latest (v12.4.0)", + "name": "Latest (v12.5.0)", "id": "latest", - "release": "12.4.0", + "release": "12.5.0", "path": "latest", "default": true },