diff --git a/docs/generated/api-nx-devkit/index.md b/docs/generated/devkit/index.md
similarity index 58%
rename from docs/generated/api-nx-devkit/index.md
rename to docs/generated/devkit/index.md
index 3321ef43be..8d8796afd7 100644
--- a/docs/generated/api-nx-devkit/index.md
+++ b/docs/generated/devkit/index.md
@@ -13,168 +13,168 @@ It only uses language primitives and immutable objects
### Project Graph Enumerations
-- [DependencyType](../../nx-devkit/index#dependencytype)
+- [DependencyType](../../devkit/index#dependencytype)
### Utils Enumerations
-- [ChangeType](../../nx-devkit/index#changetype)
+- [ChangeType](../../devkit/index#changetype)
### Project Graph Classes
-- [ProjectGraphBuilder](../../nx-devkit/index#projectgraphbuilder)
+- [ProjectGraphBuilder](../../devkit/index#projectgraphbuilder)
### Utils Classes
-- [Hasher](../../nx-devkit/index#hasher)
+- [Hasher](../../devkit/index#hasher)
### Workspace Classes
-- [Workspaces](../../nx-devkit/index#workspaces)
+- [Workspaces](../../devkit/index#workspaces)
### Commands Interfaces
-- [Target](../../nx-devkit/index#target)
+- [Target](../../devkit/index#target)
### Other Interfaces
-- [NxPlugin](../../nx-devkit/index#nxplugin)
+- [NxPlugin](../../devkit/index#nxplugin)
### Project Graph Interfaces
-- [FileData](../../nx-devkit/index#filedata)
-- [ProjectFileMap](../../nx-devkit/index#projectfilemap)
-- [ProjectGraph](../../nx-devkit/index#projectgraph)
-- [ProjectGraphDependency](../../nx-devkit/index#projectgraphdependency)
-- [ProjectGraphExternalNode](../../nx-devkit/index#projectgraphexternalnode)
-- [ProjectGraphProcessorContext](../../nx-devkit/index#projectgraphprocessorcontext)
-- [ProjectGraphProjectNode](../../nx-devkit/index#projectgraphprojectnode)
-- [ProjectGraphV4](../../nx-devkit/index#projectgraphv4)
+- [FileData](../../devkit/index#filedata)
+- [ProjectFileMap](../../devkit/index#projectfilemap)
+- [ProjectGraph](../../devkit/index#projectgraph)
+- [ProjectGraphDependency](../../devkit/index#projectgraphdependency)
+- [ProjectGraphExternalNode](../../devkit/index#projectgraphexternalnode)
+- [ProjectGraphProcessorContext](../../devkit/index#projectgraphprocessorcontext)
+- [ProjectGraphProjectNode](../../devkit/index#projectgraphprojectnode)
+- [ProjectGraphV4](../../devkit/index#projectgraphv4)
### Tree Interfaces
-- [FileChange](../../nx-devkit/index#filechange)
-- [Tree](../../nx-devkit/index#tree)
+- [FileChange](../../devkit/index#filechange)
+- [Tree](../../devkit/index#tree)
### Utils Interfaces
-- [DefaultTasksRunnerOptions](../../nx-devkit/index#defaulttasksrunneroptions)
-- [Hash](../../nx-devkit/index#hash)
-- [JsonParseOptions](../../nx-devkit/index#jsonparseoptions)
-- [JsonSerializeOptions](../../nx-devkit/index#jsonserializeoptions)
-- [RemoteCache](../../nx-devkit/index#remotecache)
-- [StringDeletion](../../nx-devkit/index#stringdeletion)
-- [StringInsertion](../../nx-devkit/index#stringinsertion)
+- [DefaultTasksRunnerOptions](../../devkit/index#defaulttasksrunneroptions)
+- [Hash](../../devkit/index#hash)
+- [JsonParseOptions](../../devkit/index#jsonparseoptions)
+- [JsonSerializeOptions](../../devkit/index#jsonserializeoptions)
+- [RemoteCache](../../devkit/index#remotecache)
+- [StringDeletion](../../devkit/index#stringdeletion)
+- [StringInsertion](../../devkit/index#stringinsertion)
### Workspace Interfaces
-- [ExecutorContext](../../nx-devkit/index#executorcontext)
-- [ExecutorsJson](../../nx-devkit/index#executorsjson)
-- [GeneratorsJson](../../nx-devkit/index#generatorsjson)
-- [HasherContext](../../nx-devkit/index#hashercontext)
-- [ImplicitJsonSubsetDependency](../../nx-devkit/index#implicitjsonsubsetdependency)
-- [MigrationsJson](../../nx-devkit/index#migrationsjson)
-- [NxAffectedConfig](../../nx-devkit/index#nxaffectedconfig)
-- [NxJsonConfiguration](../../nx-devkit/index#nxjsonconfiguration)
-- [ProjectConfiguration](../../nx-devkit/index#projectconfiguration)
-- [TargetConfiguration](../../nx-devkit/index#targetconfiguration)
-- [TargetDependencyConfig](../../nx-devkit/index#targetdependencyconfig)
-- [Task](../../nx-devkit/index#task)
-- [TaskGraph](../../nx-devkit/index#taskgraph)
-- [Workspace](../../nx-devkit/index#workspace)
-- [WorkspaceJsonConfiguration](../../nx-devkit/index#workspacejsonconfiguration)
+- [ExecutorContext](../../devkit/index#executorcontext)
+- [ExecutorsJson](../../devkit/index#executorsjson)
+- [GeneratorsJson](../../devkit/index#generatorsjson)
+- [HasherContext](../../devkit/index#hashercontext)
+- [ImplicitJsonSubsetDependency](../../devkit/index#implicitjsonsubsetdependency)
+- [MigrationsJson](../../devkit/index#migrationsjson)
+- [NxAffectedConfig](../../devkit/index#nxaffectedconfig)
+- [NxJsonConfiguration](../../devkit/index#nxjsonconfiguration)
+- [ProjectConfiguration](../../devkit/index#projectconfiguration)
+- [TargetConfiguration](../../devkit/index#targetconfiguration)
+- [TargetDependencyConfig](../../devkit/index#targetdependencyconfig)
+- [Task](../../devkit/index#task)
+- [TaskGraph](../../devkit/index#taskgraph)
+- [Workspace](../../devkit/index#workspace)
+- [WorkspaceJsonConfiguration](../../devkit/index#workspacejsonconfiguration)
### Generators Type aliases
-- [WorkspaceConfiguration](../../nx-devkit/index#workspaceconfiguration)
+- [WorkspaceConfiguration](../../devkit/index#workspaceconfiguration)
### Other Type aliases
-- [ProjectTargetConfigurator](../../nx-devkit/index#projecttargetconfigurator)
+- [ProjectTargetConfigurator](../../devkit/index#projecttargetconfigurator)
### Package Manager Type aliases
-- [PackageManager](../../nx-devkit/index#packagemanager)
+- [PackageManager](../../devkit/index#packagemanager)
### Project Graph Type aliases
-- [ProjectGraphNode](../../nx-devkit/index#projectgraphnode)
+- [ProjectGraphNode](../../devkit/index#projectgraphnode)
### Utils Type aliases
-- [StringChange](../../nx-devkit/index#stringchange)
+- [StringChange](../../devkit/index#stringchange)
### Workspace Type aliases
-- [CustomHasher](../../nx-devkit/index#customhasher)
-- [Executor](../../nx-devkit/index#executor)
-- [Generator](../../nx-devkit/index#generator)
-- [GeneratorCallback](../../nx-devkit/index#generatorcallback)
-- [ImplicitDependencyEntry](../../nx-devkit/index#implicitdependencyentry)
-- [ProjectType](../../nx-devkit/index#projecttype)
-- [TaskGraphExecutor](../../nx-devkit/index#taskgraphexecutor)
+- [CustomHasher](../../devkit/index#customhasher)
+- [Executor](../../devkit/index#executor)
+- [Generator](../../devkit/index#generator)
+- [GeneratorCallback](../../devkit/index#generatorcallback)
+- [ImplicitDependencyEntry](../../devkit/index#implicitdependencyentry)
+- [ProjectType](../../devkit/index#projecttype)
+- [TaskGraphExecutor](../../devkit/index#taskgraphexecutor)
### Logger Variables
-- [logger](../../nx-devkit/index#logger)
+- [logger](../../devkit/index#logger)
### Utils Variables
-- [appRootPath](../../nx-devkit/index#approotpath)
-- [cacheDir](../../nx-devkit/index#cachedir)
-- [output](../../nx-devkit/index#output)
-- [workspaceRoot](../../nx-devkit/index#workspaceroot)
+- [appRootPath](../../devkit/index#approotpath)
+- [cacheDir](../../devkit/index#cachedir)
+- [output](../../devkit/index#output)
+- [workspaceRoot](../../devkit/index#workspaceroot)
### Functions
-- [addDependenciesToPackageJson](../../nx-devkit/index#adddependenciestopackagejson)
-- [addProjectConfiguration](../../nx-devkit/index#addprojectconfiguration)
-- [applyChangesToString](../../nx-devkit/index#applychangestostring)
-- [convertNxExecutor](../../nx-devkit/index#convertnxexecutor)
-- [convertNxGenerator](../../nx-devkit/index#convertnxgenerator)
-- [createProjectGraphAsync](../../nx-devkit/index#createprojectgraphasync)
-- [defaultTasksRunner](../../nx-devkit/index#defaulttasksrunner)
-- [detectPackageManager](../../nx-devkit/index#detectpackagemanager)
-- [formatFiles](../../nx-devkit/index#formatfiles)
-- [generateFiles](../../nx-devkit/index#generatefiles)
-- [getOutputsForTargetAndConfiguration](../../nx-devkit/index#getoutputsfortargetandconfiguration)
-- [getPackageManagerCommand](../../nx-devkit/index#getpackagemanagercommand)
-- [getPackageManagerVersion](../../nx-devkit/index#getpackagemanagerversion)
-- [getProjects](../../nx-devkit/index#getprojects)
-- [getWorkspaceLayout](../../nx-devkit/index#getworkspacelayout)
-- [getWorkspacePath](../../nx-devkit/index#getworkspacepath)
-- [installPackagesTask](../../nx-devkit/index#installpackagestask)
-- [isStandaloneProject](../../nx-devkit/index#isstandaloneproject)
-- [joinPathFragments](../../nx-devkit/index#joinpathfragments)
-- [moveFilesToNewDirectory](../../nx-devkit/index#movefilestonewdirectory)
-- [names](../../nx-devkit/index#names)
-- [normalizePath](../../nx-devkit/index#normalizepath)
-- [offsetFromRoot](../../nx-devkit/index#offsetfromroot)
-- [parseJson](../../nx-devkit/index#parsejson)
-- [parseTargetString](../../nx-devkit/index#parsetargetstring)
-- [readCachedProjectGraph](../../nx-devkit/index#readcachedprojectgraph)
-- [readJson](../../nx-devkit/index#readjson)
-- [readJsonFile](../../nx-devkit/index#readjsonfile)
-- [readNxJson](../../nx-devkit/index#readnxjson)
-- [readProjectConfiguration](../../nx-devkit/index#readprojectconfiguration)
-- [readTargetOptions](../../nx-devkit/index#readtargetoptions)
-- [readWorkspaceConfiguration](../../nx-devkit/index#readworkspaceconfiguration)
-- [removeDependenciesFromPackageJson](../../nx-devkit/index#removedependenciesfrompackagejson)
-- [removeProjectConfiguration](../../nx-devkit/index#removeprojectconfiguration)
-- [reverse](../../nx-devkit/index#reverse)
-- [runExecutor](../../nx-devkit/index#runexecutor)
-- [serializeJson](../../nx-devkit/index#serializejson)
-- [stripIndents](../../nx-devkit/index#stripindents)
-- [stripJsonComments](../../nx-devkit/index#stripjsoncomments)
-- [targetToTargetString](../../nx-devkit/index#targettotargetstring)
-- [toJS](../../nx-devkit/index#tojs)
-- [updateJson](../../nx-devkit/index#updatejson)
-- [updateProjectConfiguration](../../nx-devkit/index#updateprojectconfiguration)
-- [updateTsConfigsToJs](../../nx-devkit/index#updatetsconfigstojs)
-- [updateWorkspaceConfiguration](../../nx-devkit/index#updateworkspaceconfiguration)
-- [visitNotIgnoredFiles](../../nx-devkit/index#visitnotignoredfiles)
-- [workspaceLayout](../../nx-devkit/index#workspacelayout)
-- [writeJson](../../nx-devkit/index#writejson)
-- [writeJsonFile](../../nx-devkit/index#writejsonfile)
+- [addDependenciesToPackageJson](../../devkit/index#adddependenciestopackagejson)
+- [addProjectConfiguration](../../devkit/index#addprojectconfiguration)
+- [applyChangesToString](../../devkit/index#applychangestostring)
+- [convertNxExecutor](../../devkit/index#convertnxexecutor)
+- [convertNxGenerator](../../devkit/index#convertnxgenerator)
+- [createProjectGraphAsync](../../devkit/index#createprojectgraphasync)
+- [defaultTasksRunner](../../devkit/index#defaulttasksrunner)
+- [detectPackageManager](../../devkit/index#detectpackagemanager)
+- [formatFiles](../../devkit/index#formatfiles)
+- [generateFiles](../../devkit/index#generatefiles)
+- [getOutputsForTargetAndConfiguration](../../devkit/index#getoutputsfortargetandconfiguration)
+- [getPackageManagerCommand](../../devkit/index#getpackagemanagercommand)
+- [getPackageManagerVersion](../../devkit/index#getpackagemanagerversion)
+- [getProjects](../../devkit/index#getprojects)
+- [getWorkspaceLayout](../../devkit/index#getworkspacelayout)
+- [getWorkspacePath](../../devkit/index#getworkspacepath)
+- [installPackagesTask](../../devkit/index#installpackagestask)
+- [isStandaloneProject](../../devkit/index#isstandaloneproject)
+- [joinPathFragments](../../devkit/index#joinpathfragments)
+- [moveFilesToNewDirectory](../../devkit/index#movefilestonewdirectory)
+- [names](../../devkit/index#names)
+- [normalizePath](../../devkit/index#normalizepath)
+- [offsetFromRoot](../../devkit/index#offsetfromroot)
+- [parseJson](../../devkit/index#parsejson)
+- [parseTargetString](../../devkit/index#parsetargetstring)
+- [readCachedProjectGraph](../../devkit/index#readcachedprojectgraph)
+- [readJson](../../devkit/index#readjson)
+- [readJsonFile](../../devkit/index#readjsonfile)
+- [readNxJson](../../devkit/index#readnxjson)
+- [readProjectConfiguration](../../devkit/index#readprojectconfiguration)
+- [readTargetOptions](../../devkit/index#readtargetoptions)
+- [readWorkspaceConfiguration](../../devkit/index#readworkspaceconfiguration)
+- [removeDependenciesFromPackageJson](../../devkit/index#removedependenciesfrompackagejson)
+- [removeProjectConfiguration](../../devkit/index#removeprojectconfiguration)
+- [reverse](../../devkit/index#reverse)
+- [runExecutor](../../devkit/index#runexecutor)
+- [serializeJson](../../devkit/index#serializejson)
+- [stripIndents](../../devkit/index#stripindents)
+- [stripJsonComments](../../devkit/index#stripjsoncomments)
+- [targetToTargetString](../../devkit/index#targettotargetstring)
+- [toJS](../../devkit/index#tojs)
+- [updateJson](../../devkit/index#updatejson)
+- [updateProjectConfiguration](../../devkit/index#updateprojectconfiguration)
+- [updateTsConfigsToJs](../../devkit/index#updatetsconfigstojs)
+- [updateWorkspaceConfiguration](../../devkit/index#updateworkspaceconfiguration)
+- [visitNotIgnoredFiles](../../devkit/index#visitnotignoredfiles)
+- [workspaceLayout](../../devkit/index#workspacelayout)
+- [writeJson](../../devkit/index#writejson)
+- [writeJsonFile](../../devkit/index#writejsonfile)
## Project Graph Enumerations
@@ -462,7 +462,7 @@ A plugin for Nx
### WorkspaceConfiguration
-Ƭ **WorkspaceConfiguration**: `Omit`<[`WorkspaceJsonConfiguration`](../../nx-devkit/index#workspacejsonconfiguration), `"projects"`\> & `Partial`<[`NxJsonConfiguration`](../../nx-devkit/index#nxjsonconfiguration)\>
+Ƭ **WorkspaceConfiguration**: `Omit`<[`WorkspaceJsonConfiguration`](../../devkit/index#workspacejsonconfiguration), `"projects"`\> & `Partial`<[`NxJsonConfiguration`](../../devkit/index#nxjsonconfiguration)\>
---
@@ -470,11 +470,11 @@ A plugin for Nx
### ProjectTargetConfigurator
-Ƭ **ProjectTargetConfigurator**: (`file`: `string`) => `Record`<`string`, [`TargetConfiguration`](../../nx-devkit/index#targetconfiguration)\>
+Ƭ **ProjectTargetConfigurator**: (`file`: `string`) => `Record`<`string`, [`TargetConfiguration`](../../devkit/index#targetconfiguration)\>
#### Type declaration
-▸ (`file`): `Record`<`string`, [`TargetConfiguration`](../../nx-devkit/index#targetconfiguration)\>
+▸ (`file`): `Record`<`string`, [`TargetConfiguration`](../../devkit/index#targetconfiguration)\>
##### Parameters
@@ -484,7 +484,7 @@ A plugin for Nx
##### Returns
-`Record`<`string`, [`TargetConfiguration`](../../nx-devkit/index#targetconfiguration)\>
+`Record`<`string`, [`TargetConfiguration`](../../devkit/index#targetconfiguration)\>
---
@@ -500,7 +500,7 @@ A plugin for Nx
### ProjectGraphNode
-Ƭ **ProjectGraphNode**<`T`\>: [`ProjectGraphProjectNode`](../../nx-devkit/index#projectgraphprojectnode)<`T`\> \| [`ProjectGraphExternalNode`](../../nx-devkit/index#projectgraphexternalnode)
+Ƭ **ProjectGraphNode**<`T`\>: [`ProjectGraphProjectNode`](../../devkit/index#projectgraphprojectnode)<`T`\> \| [`ProjectGraphExternalNode`](../../devkit/index#projectgraphexternalnode)
#### Type parameters
@@ -514,7 +514,7 @@ A plugin for Nx
### StringChange
-Ƭ **StringChange**: [`StringInsertion`](../../nx-devkit/index#stringinsertion) \| [`StringDeletion`](../../nx-devkit/index#stringdeletion)
+Ƭ **StringChange**: [`StringInsertion`](../../devkit/index#stringinsertion) \| [`StringDeletion`](../../devkit/index#stringdeletion)
---
@@ -522,28 +522,28 @@ A plugin for Nx
### CustomHasher
-Ƭ **CustomHasher**: (`task`: [`Task`](../../nx-devkit/index#task), `context`: [`HasherContext`](../../nx-devkit/index#hashercontext)) => `Promise`<[`Hash`](../../nx-devkit/index#hash)\>
+Ƭ **CustomHasher**: (`task`: [`Task`](../../devkit/index#task), `context`: [`HasherContext`](../../devkit/index#hashercontext)) => `Promise`<[`Hash`](../../devkit/index#hash)\>
#### Type declaration
-▸ (`task`, `context`): `Promise`<[`Hash`](../../nx-devkit/index#hash)\>
+▸ (`task`, `context`): `Promise`<[`Hash`](../../devkit/index#hash)\>
##### Parameters
-| Name | Type |
-| :-------- | :----------------------------------------------------- |
-| `task` | [`Task`](../../nx-devkit/index#task) |
-| `context` | [`HasherContext`](../../nx-devkit/index#hashercontext) |
+| Name | Type |
+| :-------- | :-------------------------------------------------- |
+| `task` | [`Task`](../../devkit/index#task) |
+| `context` | [`HasherContext`](../../devkit/index#hashercontext) |
##### Returns
-`Promise`<[`Hash`](../../nx-devkit/index#hash)\>
+`Promise`<[`Hash`](../../devkit/index#hash)\>
---
### Executor
-Ƭ **Executor**<`T`\>: (`options`: `T`, `context`: [`ExecutorContext`](../../nx-devkit/index#executorcontext)) => `Promise`<`Object`\> \| `AsyncIterableIterator`<`Object`\>
+Ƭ **Executor**<`T`\>: (`options`: `T`, `context`: [`ExecutorContext`](../../devkit/index#executorcontext)) => `Promise`<`Object`\> \| `AsyncIterableIterator`<`Object`\>
#### Type parameters
@@ -559,10 +559,10 @@ Implementation of a target of a project
##### Parameters
-| Name | Type |
-| :-------- | :--------------------------------------------------------- |
-| `options` | `T` |
-| `context` | [`ExecutorContext`](../../nx-devkit/index#executorcontext) |
+| Name | Type |
+| :-------- | :------------------------------------------------------ |
+| `options` | `T` |
+| `context` | [`ExecutorContext`](../../devkit/index#executorcontext) |
##### Returns
@@ -572,7 +572,7 @@ Implementation of a target of a project
### Generator
-Ƭ **Generator**<`T`\>: (`tree`: `any`, `schema`: `T`) => `void` \| [`GeneratorCallback`](../../nx-devkit/index#generatorcallback) \| `Promise`<`void` \| [`GeneratorCallback`](../../nx-devkit/index#generatorcallback)\>
+Ƭ **Generator**<`T`\>: (`tree`: `any`, `schema`: `T`) => `void` \| [`GeneratorCallback`](../../devkit/index#generatorcallback) \| `Promise`<`void` \| [`GeneratorCallback`](../../devkit/index#generatorcallback)\>
#### Type parameters
@@ -582,7 +582,7 @@ Implementation of a target of a project
#### Type declaration
-▸ (`tree`, `schema`): `void` \| [`GeneratorCallback`](../../nx-devkit/index#generatorcallback) \| `Promise`<`void` \| [`GeneratorCallback`](../../nx-devkit/index#generatorcallback)\>
+▸ (`tree`, `schema`): `void` \| [`GeneratorCallback`](../../devkit/index#generatorcallback) \| `Promise`<`void` \| [`GeneratorCallback`](../../devkit/index#generatorcallback)\>
A function that schedules updates to the filesystem to be done atomically
@@ -595,7 +595,7 @@ A function that schedules updates to the filesystem to be done atomically
##### Returns
-`void` \| [`GeneratorCallback`](../../nx-devkit/index#generatorcallback) \| `Promise`<`void` \| [`GeneratorCallback`](../../nx-devkit/index#generatorcallback)\>
+`void` \| [`GeneratorCallback`](../../devkit/index#generatorcallback) \| `Promise`<`void` \| [`GeneratorCallback`](../../devkit/index#generatorcallback)\>
---
@@ -627,7 +627,7 @@ A callback function that is executed after changes are made to the file system
#### Index signature
-▪ [key: `string`]: `T` \| [`ImplicitJsonSubsetDependency`](../../nx-devkit/index#implicitjsonsubsetdependency)<`T`\>
+▪ [key: `string`]: `T` \| [`ImplicitJsonSubsetDependency`](../../devkit/index#implicitjsonsubsetdependency)<`T`\>
---
@@ -639,7 +639,7 @@ A callback function that is executed after changes are made to the file system
### TaskGraphExecutor
-Ƭ **TaskGraphExecutor**<`T`\>: (`taskGraph`: [`TaskGraph`](../../nx-devkit/index#taskgraph), `options`: `Record`<`string`, `T`\>, `overrides`: `T`, `context`: [`ExecutorContext`](../../nx-devkit/index#executorcontext)) => `Promise`<`Record`<`string`, `Object`\>\>
+Ƭ **TaskGraphExecutor**<`T`\>: (`taskGraph`: [`TaskGraph`](../../devkit/index#taskgraph), `options`: `Record`<`string`, `T`\>, `overrides`: `T`, `context`: [`ExecutorContext`](../../devkit/index#executorcontext)) => `Promise`<`Record`<`string`, `Object`\>\>
#### Type parameters
@@ -655,12 +655,12 @@ Implementation of a target of a project that handles multiple projects to be bat
##### Parameters
-| Name | Type |
-| :---------- | :--------------------------------------------------------- |
-| `taskGraph` | [`TaskGraph`](../../nx-devkit/index#taskgraph) |
-| `options` | `Record`<`string`, `T`\> |
-| `overrides` | `T` |
-| `context` | [`ExecutorContext`](../../nx-devkit/index#executorcontext) |
+| Name | Type |
+| :---------- | :------------------------------------------------------ |
+| `taskGraph` | [`TaskGraph`](../../devkit/index#taskgraph) |
+| `options` | `Record`<`string`, `T`\> |
+| `overrides` | `T` |
+| `context` | [`ExecutorContext`](../../devkit/index#executorcontext) |
##### Returns
@@ -713,7 +713,7 @@ Implementation of a target of a project that handles multiple projects to be bat
### addDependenciesToPackageJson
-▸ **addDependenciesToPackageJson**(`tree`, `dependencies`, `devDependencies`, `packageJsonPath?`): [`GeneratorCallback`](../../nx-devkit/index#generatorcallback)
+▸ **addDependenciesToPackageJson**(`tree`, `dependencies`, `devDependencies`, `packageJsonPath?`): [`GeneratorCallback`](../../devkit/index#generatorcallback)
Add Dependencies and Dev Dependencies to package.json
@@ -727,16 +727,16 @@ This will **add** `react` and `jest` to the dependencies and devDependencies sec
#### Parameters
-| Name | Type | Default value | Description |
-| :---------------- | :----------------------------------- | :--------------- | :---------------------------------------------------------------------- |
-| `tree` | [`Tree`](../../nx-devkit/index#tree) | `undefined` | Tree representing file system to modify |
-| `dependencies` | `Record`<`string`, `string`\> | `undefined` | Dependencies to be added to the dependencies section of package.json |
-| `devDependencies` | `Record`<`string`, `string`\> | `undefined` | Dependencies to be added to the devDependencies section of package.json |
-| `packageJsonPath` | `string` | `'package.json'` | Path to package.json |
+| Name | Type | Default value | Description |
+| :---------------- | :-------------------------------- | :--------------- | :---------------------------------------------------------------------- |
+| `tree` | [`Tree`](../../devkit/index#tree) | `undefined` | Tree representing file system to modify |
+| `dependencies` | `Record`<`string`, `string`\> | `undefined` | Dependencies to be added to the dependencies section of package.json |
+| `devDependencies` | `Record`<`string`, `string`\> | `undefined` | Dependencies to be added to the devDependencies section of package.json |
+| `packageJsonPath` | `string` | `'package.json'` | Path to package.json |
#### Returns
-[`GeneratorCallback`](../../nx-devkit/index#generatorcallback)
+[`GeneratorCallback`](../../devkit/index#generatorcallback)
Callback to install dependencies only if necessary. undefined is returned if changes are not necessary.
@@ -753,12 +753,12 @@ The utility will update either files.
#### Parameters
-| Name | Type | Description |
-| :--------------------- | :------------------------------------------------------------------- | :----------------------------------------------------------------------------------------- |
-| `tree` | [`Tree`](../../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`](../../nx-devkit/index#projectconfiguration) | project configuration |
-| `standalone?` | `boolean` | should the project use package.json? If false, the project config is inside workspace.json |
+| Name | Type | Description |
+| :--------------------- | :---------------------------------------------------------------- | :----------------------------------------------------------------------------------------- |
+| `tree` | [`Tree`](../../devkit/index#tree) | the file system tree |
+| `projectName` | `string` | unique name. Often directories are part of the name (e.g., mydir-mylib) |
+| `projectConfiguration` | [`ProjectConfiguration`](../../devkit/index#projectconfiguration) | project configuration |
+| `standalone?` | `boolean` | should the project use package.json? If false, the project config is inside workspace.json |
#### Returns
@@ -802,10 +802,10 @@ bootstrap({
#### Parameters
-| Name | Type |
-| :-------- | :----------------------------------------------------- |
-| `text` | `string` |
-| `changes` | [`StringChange`](../../nx-devkit/index#stringchange)[] |
+| Name | Type |
+| :-------- | :-------------------------------------------------- |
+| `text` | `string` |
+| `changes` | [`StringChange`](../../devkit/index#stringchange)[] |
#### Returns
@@ -823,9 +823,9 @@ Use this to expose a compatible Angular Builder
#### Parameters
-| Name | Type |
-| :--------- | :--------------------------------------------------- |
-| `executor` | [`Executor`](../../nx-devkit/index#executor)<`any`\> |
+| Name | Type |
+| :--------- | :------------------------------------------------ |
+| `executor` | [`Executor`](../../devkit/index#executor)<`any`\> |
#### Returns
@@ -847,10 +847,10 @@ Convert an Nx Generator into an Angular Devkit Schematic.
#### Parameters
-| Name | Type | Default value | Description |
-| :----------------------------- | :--------------------------------------------------- | :------------ | :------------------------------------------------------------------------------------------------ |
-| `generator` | [`Generator`](../../nx-devkit/index#generator)<`T`\> | `undefined` | The Nx generator to convert to an Angular Devkit Schematic. |
-| `skipWritingConfigInOldFormat` | `boolean` | `false` | Whether to skip writing the configuration in the old format (the one used by the Angular DevKit). |
+| Name | Type | Default value | Description |
+| :----------------------------- | :------------------------------------------------ | :------------ | :------------------------------------------------------------------------------------------------ |
+| `generator` | [`Generator`](../../devkit/index#generator)<`T`\> | `undefined` | The Nx generator to convert to an Angular Devkit Schematic. |
+| `skipWritingConfigInOldFormat` | `boolean` | `false` | Whether to skip writing the configuration in the old format (the one used by the Angular DevKit). |
#### Returns
@@ -885,7 +885,7 @@ Convert an Nx Generator into an Angular Devkit Schematic.
### createProjectGraphAsync
-▸ **createProjectGraphAsync**(): `Promise`<[`ProjectGraph`](../../nx-devkit/index#projectgraph)\>
+▸ **createProjectGraphAsync**(): `Promise`<[`ProjectGraph`](../../devkit/index#projectgraph)\>
Computes and returns a ProjectGraph.
@@ -911,7 +911,7 @@ stored in the daemon process. To reset both run: `nx reset`.
#### Returns
-`Promise`<[`ProjectGraph`](../../nx-devkit/index#projectgraph)\>
+`Promise`<[`ProjectGraph`](../../devkit/index#projectgraph)\>
---
@@ -921,15 +921,15 @@ stored in the daemon process. To reset both run: `nx reset`.
#### Parameters
-| Name | Type |
-| :--------------------------- | :--------------------------------------------------------------------------------------- |
-| `tasks` | [`Task`](../../nx-devkit/index#task)[] |
-| `options` | [`DefaultTasksRunnerOptions`](../../nx-devkit/index#defaulttasksrunneroptions) |
-| `context?` | `Object` |
-| `context.initiatingProject?` | `string` |
-| `context.nxJson` | [`NxJsonConfiguration`](../../nx-devkit/index#nxjsonconfiguration)<`string`[] \| `"*"`\> |
-| `context.projectGraph` | [`ProjectGraph`](../../nx-devkit/index#projectgraph)<`any`\> |
-| `context.target?` | `string` |
+| Name | Type |
+| :--------------------------- | :------------------------------------------------------------------------------------ |
+| `tasks` | [`Task`](../../devkit/index#task)[] |
+| `options` | [`DefaultTasksRunnerOptions`](../../devkit/index#defaulttasksrunneroptions) |
+| `context?` | `Object` |
+| `context.initiatingProject?` | `string` |
+| `context.nxJson` | [`NxJsonConfiguration`](../../devkit/index#nxjsonconfiguration)<`string`[] \| `"*"`\> |
+| `context.projectGraph` | [`ProjectGraph`](../../devkit/index#projectgraph)<`any`\> |
+| `context.target?` | `string` |
#### Returns
@@ -939,7 +939,7 @@ stored in the daemon process. To reset both run: `nx reset`.
### detectPackageManager
-▸ **detectPackageManager**(`dir?`): [`PackageManager`](../../nx-devkit/index#packagemanager)
+▸ **detectPackageManager**(`dir?`): [`PackageManager`](../../devkit/index#packagemanager)
Detects which package manager is used in the workspace based on the lock file.
@@ -951,7 +951,7 @@ Detects which package manager is used in the workspace based on the lock file.
#### Returns
-[`PackageManager`](../../nx-devkit/index#packagemanager)
+[`PackageManager`](../../devkit/index#packagemanager)
---
@@ -963,9 +963,9 @@ Formats all the created or updated files using Prettier
#### Parameters
-| Name | Type | Description |
-| :----- | :----------------------------------- | :------------------- |
-| `tree` | [`Tree`](../../nx-devkit/index#tree) | the file system tree |
+| Name | Type | Description |
+| :----- | :-------------------------------- | :------------------- |
+| `tree` | [`Tree`](../../devkit/index#tree) | the file system tree |
#### Returns
@@ -1001,12 +1001,12 @@ doesn't get confused about incorrect TypeScript files.
#### Parameters
-| Name | Type | Description |
-| :-------------- | :----------------------------------- | :-------------------------------------------- |
-| `tree` | [`Tree`](../../nx-devkit/index#tree) | the file system tree |
-| `srcFolder` | `string` | the source folder of files (absolute path) |
-| `target` | `string` | the target folder (relative to the tree root) |
-| `substitutions` | `Object` | an object of key-value pairs |
+| Name | Type | Description |
+| :-------------- | :-------------------------------- | :-------------------------------------------- |
+| `tree` | [`Tree`](../../devkit/index#tree) | the file system tree |
+| `srcFolder` | `string` | the source folder of files (absolute path) |
+| `target` | `string` | the target folder (relative to the tree root) |
+| `substitutions` | `Object` | an object of key-value pairs |
#### Returns
@@ -1022,10 +1022,10 @@ Returns the list of outputs that will be cached.
#### Parameters
-| Name | Type | Description |
-| :----- | :--------------------------------------------------------------------------------- | :-------------------------------------------------------- |
-| `task` | `Pick`<[`Task`](../../nx-devkit/index#task), `"target"` \| `"overrides"`\> | target + overrides |
-| `node` | [`ProjectGraphProjectNode`](../../nx-devkit/index#projectgraphprojectnode)<`any`\> | ProjectGraphProjectNode object that the task runs against |
+| Name | Type | Description |
+| :----- | :------------------------------------------------------------------------------ | :-------------------------------------------------------- |
+| `task` | `Pick`<[`Task`](../../devkit/index#task), `"target"` \| `"overrides"`\> | target + overrides |
+| `node` | [`ProjectGraphProjectNode`](../../devkit/index#projectgraphprojectnode)<`any`\> | ProjectGraphProjectNode object that the task runs against |
#### Returns
@@ -1049,9 +1049,9 @@ execSync(`${getPackageManagerCommand().addDev} my-dev-package`);
#### Parameters
-| Name | Type |
-| :--------------- | :------------------------------------------------------- |
-| `packageManager` | [`PackageManager`](../../nx-devkit/index#packagemanager) |
+| Name | Type |
+| :--------------- | :---------------------------------------------------- |
+| `packageManager` | [`PackageManager`](../../devkit/index#packagemanager) |
#### Returns
@@ -1069,9 +1069,9 @@ but it can also be passed in explicitly.
#### Parameters
-| Name | Type |
-| :--------------- | :------------------------------------------------------- |
-| `packageManager` | [`PackageManager`](../../nx-devkit/index#packagemanager) |
+| Name | Type |
+| :--------------- | :---------------------------------------------------- |
+| `packageManager` | [`PackageManager`](../../devkit/index#packagemanager) |
#### Returns
@@ -1081,21 +1081,21 @@ but it can also be passed in explicitly.
### getProjects
-▸ **getProjects**(`tree`): `Map`<`string`, [`ProjectConfiguration`](../../nx-devkit/index#projectconfiguration)\>
+▸ **getProjects**(`tree`): `Map`<`string`, [`ProjectConfiguration`](../../devkit/index#projectconfiguration)\>
Get a map of all projects in a workspace.
-Use [readProjectConfiguration](../../nx-devkit/index#readprojectconfiguration) if only one project is needed.
+Use [readProjectConfiguration](../../devkit/index#readprojectconfiguration) if only one project is needed.
#### Parameters
-| Name | Type |
-| :----- | :----------------------------------- |
-| `tree` | [`Tree`](../../nx-devkit/index#tree) |
+| Name | Type |
+| :----- | :-------------------------------- |
+| `tree` | [`Tree`](../../devkit/index#tree) |
#### Returns
-`Map`<`string`, [`ProjectConfiguration`](../../nx-devkit/index#projectconfiguration)\>
+`Map`<`string`, [`ProjectConfiguration`](../../devkit/index#projectconfiguration)\>
---
@@ -1114,9 +1114,9 @@ Example:
#### Parameters
-| Name | Type | Description |
-| :----- | :----------------------------------- | :--------------- |
-| `tree` | [`Tree`](../../nx-devkit/index#tree) | file system tree |
+| Name | Type | Description |
+| :----- | :-------------------------------- | :--------------- |
+| `tree` | [`Tree`](../../devkit/index#tree) | file system tree |
#### Returns
@@ -1137,9 +1137,9 @@ Example:
#### Parameters
-| Name | Type |
-| :----- | :----------------------------------- |
-| `tree` | [`Tree`](../../nx-devkit/index#tree) |
+| Name | Type |
+| :----- | :-------------------------------- |
+| `tree` | [`Tree`](../../devkit/index#tree) |
#### Returns
@@ -1156,12 +1156,12 @@ Runs `npm install` or `yarn install`. It will skip running the install if
#### Parameters
-| Name | Type | Default value | Description |
-| :--------------- | :------------------------------------------------------- | :------------ | :------------------------------------------------------------ |
-| `tree` | [`Tree`](../../nx-devkit/index#tree) | `undefined` | the file system tree |
-| `alwaysRun` | `boolean` | `false` | always run the command even if `package.json` hasn't changed. |
-| `cwd` | `string` | `''` | - |
-| `packageManager` | [`PackageManager`](../../nx-devkit/index#packagemanager) | `undefined` | - |
+| Name | Type | Default value | Description |
+| :--------------- | :---------------------------------------------------- | :------------ | :------------------------------------------------------------ |
+| `tree` | [`Tree`](../../devkit/index#tree) | `undefined` | the file system tree |
+| `alwaysRun` | `boolean` | `false` | always run the command even if `package.json` hasn't changed. |
+| `cwd` | `string` | `''` | - |
+| `packageManager` | [`PackageManager`](../../devkit/index#packagemanager) | `undefined` | - |
#### Returns
@@ -1177,10 +1177,10 @@ Returns if a project has a standalone configuration (project.json).
#### Parameters
-| Name | Type | Description |
-| :-------- | :----------------------------------- | :------------------- |
-| `tree` | [`Tree`](../../nx-devkit/index#tree) | the file system tree |
-| `project` | `string` | the project name |
+| Name | Type | Description |
+| :-------- | :-------------------------------- | :------------------- |
+| `tree` | [`Tree`](../../devkit/index#tree) | the file system tree |
+| `project` | `string` | the project name |
#### Returns
@@ -1214,11 +1214,11 @@ Analogous to cp -r oldDir newDir
#### Parameters
-| Name | Type |
-| :------- | :----------------------------------- |
-| `tree` | [`Tree`](../../nx-devkit/index#tree) |
-| `oldDir` | `string` |
-| `newDir` | `string` |
+| Name | Type |
+| :------- | :-------------------------------- |
+| `tree` | [`Tree`](../../devkit/index#tree) |
+| `oldDir` | `string` |
+| `newDir` | `string` |
#### Returns
@@ -1317,10 +1317,10 @@ By default javascript-style comments are allowed.
#### Parameters
-| Name | Type | Description |
-| :--------- | :----------------------------------------------------------- | :--------------------- |
-| `input` | `string` | JSON content as string |
-| `options?` | [`JsonParseOptions`](../../nx-devkit/index#jsonparseoptions) | JSON parse options |
+| Name | Type | Description |
+| :--------- | :-------------------------------------------------------- | :--------------------- |
+| `input` | `string` | JSON content as string |
+| `options?` | [`JsonParseOptions`](../../devkit/index#jsonparseoptions) | JSON parse options |
#### Returns
@@ -1332,7 +1332,7 @@ Object the JSON content represents
### parseTargetString
-▸ **parseTargetString**(`targetString`): [`Target`](../../nx-devkit/index#target)
+▸ **parseTargetString**(`targetString`): [`Target`](../../devkit/index#target)
Parses a target string into {project, target, configuration}
@@ -1351,13 +1351,13 @@ parseTargetString('proj:test:production'); // returns { project: "proj", target:
#### Returns
-[`Target`](../../nx-devkit/index#target)
+[`Target`](../../devkit/index#target)
---
### readCachedProjectGraph
-▸ **readCachedProjectGraph**(): [`ProjectGraph`](../../nx-devkit/index#projectgraph)
+▸ **readCachedProjectGraph**(): [`ProjectGraph`](../../devkit/index#projectgraph)
Synchronously reads the latest cached copy of the workspace's ProjectGraph.
@@ -1365,7 +1365,7 @@ Synchronously reads the latest cached copy of the workspace's ProjectGraph.
#### Returns
-[`ProjectGraph`](../../nx-devkit/index#projectgraph)
+[`ProjectGraph`](../../devkit/index#projectgraph)
---
@@ -1383,11 +1383,11 @@ Reads a json file, removes all comments and parses JSON.
#### Parameters
-| Name | Type | Description |
-| :--------- | :----------------------------------------------------------- | :-------------------------- |
-| `tree` | [`Tree`](../../nx-devkit/index#tree) | file system tree |
-| `path` | `string` | file path |
-| `options?` | [`JsonParseOptions`](../../nx-devkit/index#jsonparseoptions) | Optional JSON Parse Options |
+| Name | Type | Description |
+| :--------- | :-------------------------------------------------------- | :-------------------------- |
+| `tree` | [`Tree`](../../devkit/index#tree) | file system tree |
+| `path` | `string` | file path |
+| `options?` | [`JsonParseOptions`](../../devkit/index#jsonparseoptions) | Optional JSON Parse Options |
#### Returns
@@ -1424,7 +1424,7 @@ Object the JSON content of the file represents
### readNxJson
-▸ **readNxJson**(`path?`): [`NxJsonConfiguration`](../../nx-devkit/index#nxjsonconfiguration)
+▸ **readNxJson**(`path?`): [`NxJsonConfiguration`](../../devkit/index#nxjsonconfiguration)
Returns the contents of nx.json.
@@ -1438,13 +1438,13 @@ If nx.json extends another config file, it will be inlined here.
#### Returns
-[`NxJsonConfiguration`](../../nx-devkit/index#nxjsonconfiguration)
+[`NxJsonConfiguration`](../../devkit/index#nxjsonconfiguration)
---
### readProjectConfiguration
-▸ **readProjectConfiguration**(`tree`, `projectName`): [`ProjectConfiguration`](../../nx-devkit/index#projectconfiguration)
+▸ **readProjectConfiguration**(`tree`, `projectName`): [`ProjectConfiguration`](../../devkit/index#projectconfiguration)
Reads a project configuration.
@@ -1455,14 +1455,14 @@ The utility will read from either file.
#### Parameters
-| Name | Type | Description |
-| :------------ | :----------------------------------- | :---------------------------------------------------------------------- |
-| `tree` | [`Tree`](../../nx-devkit/index#tree) | the file system tree |
-| `projectName` | `string` | unique name. Often directories are part of the name (e.g., mydir-mylib) |
+| Name | Type | Description |
+| :------------ | :-------------------------------- | :---------------------------------------------------------------------- |
+| `tree` | [`Tree`](../../devkit/index#tree) | the file system tree |
+| `projectName` | `string` | unique name. Often directories are part of the name (e.g., mydir-mylib) |
#### Returns
-[`ProjectConfiguration`](../../nx-devkit/index#projectconfiguration)
+[`ProjectConfiguration`](../../devkit/index#projectconfiguration)
---
@@ -1482,10 +1482,10 @@ Works as if you invoked the target yourself without passing any command lint ove
#### Parameters
-| Name | Type |
-| :------------------ | :--------------------------------------------------------- |
-| `__namedParameters` | [`Target`](../../nx-devkit/index#target) |
-| `context` | [`ExecutorContext`](../../nx-devkit/index#executorcontext) |
+| Name | Type |
+| :------------------ | :------------------------------------------------------ |
+| `__namedParameters` | [`Target`](../../devkit/index#target) |
+| `context` | [`ExecutorContext`](../../devkit/index#executorcontext) |
#### Returns
@@ -1495,27 +1495,27 @@ Works as if you invoked the target yourself without passing any command lint ove
### readWorkspaceConfiguration
-▸ **readWorkspaceConfiguration**(`tree`): [`WorkspaceConfiguration`](../../nx-devkit/index#workspaceconfiguration)
+▸ **readWorkspaceConfiguration**(`tree`): [`WorkspaceConfiguration`](../../devkit/index#workspaceconfiguration)
Read general workspace configuration such as the default project or cli settings
-This does _not_ provide projects configuration, use [readProjectConfiguration](../../nx-devkit/index#readprojectconfiguration) instead.
+This does _not_ provide projects configuration, use [readProjectConfiguration](../../devkit/index#readprojectconfiguration) instead.
#### Parameters
-| Name | Type |
-| :----- | :----------------------------------- |
-| `tree` | [`Tree`](../../nx-devkit/index#tree) |
+| Name | Type |
+| :----- | :-------------------------------- |
+| `tree` | [`Tree`](../../devkit/index#tree) |
#### Returns
-[`WorkspaceConfiguration`](../../nx-devkit/index#workspaceconfiguration)
+[`WorkspaceConfiguration`](../../devkit/index#workspaceconfiguration)
---
### removeDependenciesFromPackageJson
-▸ **removeDependenciesFromPackageJson**(`tree`, `dependencies`, `devDependencies`, `packageJsonPath?`): [`GeneratorCallback`](../../nx-devkit/index#generatorcallback)
+▸ **removeDependenciesFromPackageJson**(`tree`, `dependencies`, `devDependencies`, `packageJsonPath?`): [`GeneratorCallback`](../../devkit/index#generatorcallback)
Remove Dependencies and Dev Dependencies from package.json
@@ -1529,16 +1529,16 @@ This will **remove** `react` and `jest` from the dependencies and devDependencie
#### Parameters
-| Name | Type | Default value | Description |
-| :---------------- | :----------------------------------- | :--------------- | :-------------------------------------------------------------------------- |
-| `tree` | [`Tree`](../../nx-devkit/index#tree) | `undefined` | - |
-| `dependencies` | `string`[] | `undefined` | Dependencies to be removed from the dependencies section of package.json |
-| `devDependencies` | `string`[] | `undefined` | Dependencies to be removed from the devDependencies section of package.json |
-| `packageJsonPath` | `string` | `'package.json'` | - |
+| Name | Type | Default value | Description |
+| :---------------- | :-------------------------------- | :--------------- | :-------------------------------------------------------------------------- |
+| `tree` | [`Tree`](../../devkit/index#tree) | `undefined` | - |
+| `dependencies` | `string`[] | `undefined` | Dependencies to be removed from the dependencies section of package.json |
+| `devDependencies` | `string`[] | `undefined` | Dependencies to be removed from the devDependencies section of package.json |
+| `packageJsonPath` | `string` | `'package.json'` | - |
#### Returns
-[`GeneratorCallback`](../../nx-devkit/index#generatorcallback)
+[`GeneratorCallback`](../../devkit/index#generatorcallback)
Callback to uninstall dependencies only if necessary. undefined is returned if changes are not necessary.
@@ -1555,10 +1555,10 @@ The utility will update either file.
#### Parameters
-| Name | Type |
-| :------------ | :----------------------------------- |
-| `tree` | [`Tree`](../../nx-devkit/index#tree) |
-| `projectName` | `string` |
+| Name | Type |
+| :------------ | :-------------------------------- |
+| `tree` | [`Tree`](../../devkit/index#tree) |
+| `projectName` | `string` |
#### Returns
@@ -1568,7 +1568,7 @@ The utility will update either file.
### reverse
-▸ **reverse**(`graph`): [`ProjectGraph`](../../nx-devkit/index#projectgraph)
+▸ **reverse**(`graph`): [`ProjectGraph`](../../devkit/index#projectgraph)
Returns a new project graph where all the edges are reversed.
@@ -1577,13 +1577,13 @@ B will depend on A.
#### Parameters
-| Name | Type |
-| :------ | :----------------------------------------------------------- |
-| `graph` | [`ProjectGraph`](../../nx-devkit/index#projectgraph)<`any`\> |
+| Name | Type |
+| :------ | :-------------------------------------------------------- |
+| `graph` | [`ProjectGraph`](../../devkit/index#projectgraph)<`any`\> |
#### Returns
-[`ProjectGraph`](../../nx-devkit/index#projectgraph)
+[`ProjectGraph`](../../devkit/index#projectgraph)
---
@@ -1627,14 +1627,14 @@ Note that the return value is a promise of an iterator, so you need to await bef
#### Parameters
-| Name | Type |
-| :--------------------------------- | :--------------------------------------------------------- |
-| `targetDescription` | `Object` |
-| `targetDescription.configuration?` | `string` |
-| `targetDescription.project` | `string` |
-| `targetDescription.target` | `string` |
-| `options` | `Object` |
-| `context` | [`ExecutorContext`](../../nx-devkit/index#executorcontext) |
+| Name | Type |
+| :--------------------------------- | :------------------------------------------------------ |
+| `targetDescription` | `Object` |
+| `targetDescription.configuration?` | `string` |
+| `targetDescription.project` | `string` |
+| `targetDescription.target` | `string` |
+| `options` | `Object` |
+| `context` | [`ExecutorContext`](../../devkit/index#executorcontext) |
#### Returns
@@ -1657,10 +1657,10 @@ By default the JSON string is formatted with a 2 space intendation to be easy re
#### Parameters
-| Name | Type | Description |
-| :--------- | :------------------------------------------------------------------- | :---------------------------------------- |
-| `input` | `T` | Object which should be serialized to JSON |
-| `options?` | [`JsonSerializeOptions`](../../nx-devkit/index#jsonserializeoptions) | JSON serialize options |
+| Name | Type | Description |
+| :--------- | :---------------------------------------------------------------- | :---------------------------------------- |
+| `input` | `T` | Object which should be serialized to JSON |
+| `options?` | [`JsonSerializeOptions`](../../devkit/index#jsonserializeoptions) | JSON serialize options |
#### Returns
@@ -1728,9 +1728,9 @@ Returns a string in the format "project:target[:configuration]" for the target
#### Parameters
-| Name | Type | Description |
-| :------- | :--------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `target` | [`Target`](../../nx-devkit/index#target) | target object Examples: `typescript targetToTargetString({ project: "proj", target: "test" }) // returns "proj:test" targetToTargetString({ project: "proj", target: "test", configuration: "production" }) // returns "proj:test:production" ` |
+| Name | Type | Description |
+| :------- | :------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `target` | [`Target`](../../devkit/index#target) | target object Examples: `typescript targetToTargetString({ project: "proj", target: "test" }) // returns "proj:test" targetToTargetString({ project: "proj", target: "test", configuration: "production" }) // returns "proj:test:production" ` |
#### Returns
@@ -1746,9 +1746,9 @@ Rename and transpile any new typescript files created to javascript files
#### Parameters
-| Name | Type |
-| :----- | :----------------------------------- |
-| `tree` | [`Tree`](../../nx-devkit/index#tree) |
+| Name | Type |
+| :----- | :-------------------------------- |
+| `tree` | [`Tree`](../../devkit/index#tree) |
#### Returns
@@ -1771,12 +1771,12 @@ Updates a JSON value to the file system tree
#### Parameters
-| Name | Type | Description |
-| :--------- | :---------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------- |
-| `tree` | [`Tree`](../../nx-devkit/index#tree) | File system tree |
-| `path` | `string` | Path of JSON file in the Tree |
-| `updater` | (`value`: `T`) => `U` | Function that maps the current value of a JSON document to a new value to be written to the document |
-| `options?` | [`JsonParseOptions`](../../nx-devkit/index#jsonparseoptions) & [`JsonSerializeOptions`](../../nx-devkit/index#jsonserializeoptions) | Optional JSON Parse and Serialize Options |
+| Name | Type | Description |
+| :--------- | :---------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------- |
+| `tree` | [`Tree`](../../devkit/index#tree) | File system tree |
+| `path` | `string` | Path of JSON file in the Tree |
+| `updater` | (`value`: `T`) => `U` | Function that maps the current value of a JSON document to a new value to be written to the document |
+| `options?` | [`JsonParseOptions`](../../devkit/index#jsonparseoptions) & [`JsonSerializeOptions`](../../devkit/index#jsonserializeoptions) | Optional JSON Parse and Serialize Options |
#### Returns
@@ -1795,11 +1795,11 @@ The utility will update either files.
#### Parameters
-| Name | Type | Description |
-| :--------------------- | :------------------------------------------------------------------- | :---------------------------------------------------------------------- |
-| `tree` | [`Tree`](../../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`](../../nx-devkit/index#projectconfiguration) | project configuration |
+| Name | Type | Description |
+| :--------------------- | :---------------------------------------------------------------- | :---------------------------------------------------------------------- |
+| `tree` | [`Tree`](../../devkit/index#tree) | the file system tree |
+| `projectName` | `string` | unique name. Often directories are part of the name (e.g., mydir-mylib) |
+| `projectConfiguration` | [`ProjectConfiguration`](../../devkit/index#projectconfiguration) | project configuration |
#### Returns
@@ -1813,11 +1813,11 @@ The utility will update either files.
#### Parameters
-| Name | Type |
-| :-------------------- | :----------------------------------- |
-| `tree` | [`Tree`](../../nx-devkit/index#tree) |
-| `options` | `Object` |
-| `options.projectRoot` | `string` |
+| Name | Type |
+| :-------------------- | :-------------------------------- |
+| `tree` | [`Tree`](../../devkit/index#tree) |
+| `options` | `Object` |
+| `options.projectRoot` | `string` |
#### Returns
@@ -1831,14 +1831,14 @@ The utility will update either files.
Update general workspace configuration such as the default project or cli settings.
-This does _not_ update projects configuration, use [updateProjectConfiguration](../../nx-devkit/index#updateprojectconfiguration) or [addProjectConfiguration](../../nx-devkit/index#addprojectconfiguration) instead.
+This does _not_ update projects configuration, use [updateProjectConfiguration](../../devkit/index#updateprojectconfiguration) or [addProjectConfiguration](../../devkit/index#addprojectconfiguration) instead.
#### Parameters
-| Name | Type |
-| :---------------- | :----------------------------------------------------------------------- |
-| `tree` | [`Tree`](../../nx-devkit/index#tree) |
-| `workspaceConfig` | [`WorkspaceConfiguration`](../../nx-devkit/index#workspaceconfiguration) |
+| Name | Type |
+| :---------------- | :-------------------------------------------------------------------- |
+| `tree` | [`Tree`](../../devkit/index#tree) |
+| `workspaceConfig` | [`WorkspaceConfiguration`](../../devkit/index#workspaceconfiguration) |
#### Returns
@@ -1854,11 +1854,11 @@ Utility to act on all files in a tree that are not ignored by git.
#### Parameters
-| Name | Type | Default value |
-| :-------- | :----------------------------------- | :------------ |
-| `tree` | [`Tree`](../../nx-devkit/index#tree) | `undefined` |
-| `dirPath` | `string` | `tree.root` |
-| `visitor` | (`path`: `string`) => `void` | `undefined` |
+| Name | Type | Default value |
+| :-------- | :-------------------------------- | :------------ |
+| `tree` | [`Tree`](../../devkit/index#tree) | `undefined` |
+| `dirPath` | `string` | `tree.root` |
+| `visitor` | (`path`: `string`) => `void` | `undefined` |
#### Returns
@@ -1897,12 +1897,12 @@ Writes a JSON value to the file system tree
#### Parameters
-| Name | Type | Description |
-| :--------- | :------------------------------------------------------------------- | :------------------------------ |
-| `tree` | [`Tree`](../../nx-devkit/index#tree) | File system tree |
-| `path` | `string` | Path of JSON file in the Tree |
-| `value` | `T` | Serializable value to write |
-| `options?` | [`JsonSerializeOptions`](../../nx-devkit/index#jsonserializeoptions) | Optional JSON Serialize Options |
+| Name | Type | Description |
+| :--------- | :---------------------------------------------------------------- | :------------------------------ |
+| `tree` | [`Tree`](../../devkit/index#tree) | File system tree |
+| `path` | `string` | Path of JSON file in the Tree |
+| `value` | `T` | Serializable value to write |
+| `options?` | [`JsonSerializeOptions`](../../devkit/index#jsonserializeoptions) | Optional JSON Serialize Options |
#### Returns
diff --git a/docs/generated/api-nx-devkit/ngcli_adapter.md b/docs/generated/devkit/ngcli_adapter.md
similarity index 74%
rename from docs/generated/api-nx-devkit/ngcli_adapter.md
rename to docs/generated/devkit/ngcli_adapter.md
index 4daeafdca4..dd62a5fbc7 100644
--- a/docs/generated/api-nx-devkit/ngcli_adapter.md
+++ b/docs/generated/devkit/ngcli_adapter.md
@@ -4,13 +4,13 @@
### Ng CLI Adapter Classes
-- [NxScopedHost](../../nx-devkit/ngcli_adapter#nxscopedhost)
+- [NxScopedHost](../../devkit/ngcli_adapter#nxscopedhost)
### Functions
-- [mockSchematicsForTesting](../../nx-devkit/ngcli_adapter#mockschematicsfortesting)
-- [overrideCollectionResolutionForTesting](../../nx-devkit/ngcli_adapter#overridecollectionresolutionfortesting)
-- [wrapAngularDevkitSchematic](../../nx-devkit/ngcli_adapter#wrapangulardevkitschematic)
+- [mockSchematicsForTesting](../../devkit/ngcli_adapter#mockschematicsfortesting)
+- [overrideCollectionResolutionForTesting](../../devkit/ngcli_adapter#overridecollectionresolutionfortesting)
+- [wrapAngularDevkitSchematic](../../devkit/ngcli_adapter#wrapangulardevkitschematic)
## Ng CLI Adapter Classes
@@ -91,7 +91,7 @@ overrideCollectionResolutionForTesting({
### wrapAngularDevkitSchematic
-▸ **wrapAngularDevkitSchematic**(`collectionName`, `generatorName`): (`host`: [`Tree`](../../nx-devkit/index#tree), `generatorOptions`: { [k: string]: `any`; }) => `Promise`<`any`\>
+▸ **wrapAngularDevkitSchematic**(`collectionName`, `generatorName`): (`host`: [`Tree`](../../devkit/index#tree), `generatorOptions`: { [k: string]: `any`; }) => `Promise`<`any`\>
#### Parameters
@@ -108,10 +108,10 @@ overrideCollectionResolutionForTesting({
##### Parameters
-| Name | Type |
-| :----------------- | :----------------------------------- |
-| `host` | [`Tree`](../../nx-devkit/index#tree) |
-| `generatorOptions` | `Object` |
+| Name | Type |
+| :----------------- | :-------------------------------- |
+| `host` | [`Tree`](../../devkit/index#tree) |
+| `generatorOptions` | `Object` |
##### Returns
diff --git a/docs/generated/packages/devkit.json b/docs/generated/packages/devkit.json
index 27e1fded1f..c10ae9a02c 100644
--- a/docs/generated/packages/devkit.json
+++ b/docs/generated/packages/devkit.json
@@ -8,14 +8,14 @@
{
"id": "index",
"name": "Overview",
- "file": "generated/api-nx-devkit/index",
- "content": "# Module: index\n\nThe Nx Devkit is the underlying technology used to customize Nx to support\ndifferent technologies and custom use-cases. It contains many utility\nfunctions for reading and writing files, updating configuration,\nworking with Abstract Syntax Trees(ASTs), and more.\n\nAs with most things in Nx, the core of Nx Devkit is very simple.\nIt only uses language primitives and immutable objects\n(the tree being the only exception).\n\n## Table of contents\n\n### Project Graph Enumerations\n\n- [DependencyType](../../nx-devkit/index#dependencytype)\n\n### Utils Enumerations\n\n- [ChangeType](../../nx-devkit/index#changetype)\n\n### Project Graph Classes\n\n- [ProjectGraphBuilder](../../nx-devkit/index#projectgraphbuilder)\n\n### Utils Classes\n\n- [Hasher](../../nx-devkit/index#hasher)\n\n### Workspace Classes\n\n- [Workspaces](../../nx-devkit/index#workspaces)\n\n### Commands Interfaces\n\n- [Target](../../nx-devkit/index#target)\n\n### Other Interfaces\n\n- [NxPlugin](../../nx-devkit/index#nxplugin)\n\n### Project Graph Interfaces\n\n- [FileData](../../nx-devkit/index#filedata)\n- [ProjectFileMap](../../nx-devkit/index#projectfilemap)\n- [ProjectGraph](../../nx-devkit/index#projectgraph)\n- [ProjectGraphDependency](../../nx-devkit/index#projectgraphdependency)\n- [ProjectGraphExternalNode](../../nx-devkit/index#projectgraphexternalnode)\n- [ProjectGraphProcessorContext](../../nx-devkit/index#projectgraphprocessorcontext)\n- [ProjectGraphProjectNode](../../nx-devkit/index#projectgraphprojectnode)\n- [ProjectGraphV4](../../nx-devkit/index#projectgraphv4)\n\n### Tree Interfaces\n\n- [FileChange](../../nx-devkit/index#filechange)\n- [Tree](../../nx-devkit/index#tree)\n\n### Utils Interfaces\n\n- [DefaultTasksRunnerOptions](../../nx-devkit/index#defaulttasksrunneroptions)\n- [Hash](../../nx-devkit/index#hash)\n- [JsonParseOptions](../../nx-devkit/index#jsonparseoptions)\n- [JsonSerializeOptions](../../nx-devkit/index#jsonserializeoptions)\n- [RemoteCache](../../nx-devkit/index#remotecache)\n- [StringDeletion](../../nx-devkit/index#stringdeletion)\n- [StringInsertion](../../nx-devkit/index#stringinsertion)\n\n### Workspace Interfaces\n\n- [ExecutorContext](../../nx-devkit/index#executorcontext)\n- [ExecutorsJson](../../nx-devkit/index#executorsjson)\n- [GeneratorsJson](../../nx-devkit/index#generatorsjson)\n- [HasherContext](../../nx-devkit/index#hashercontext)\n- [ImplicitJsonSubsetDependency](../../nx-devkit/index#implicitjsonsubsetdependency)\n- [MigrationsJson](../../nx-devkit/index#migrationsjson)\n- [NxAffectedConfig](../../nx-devkit/index#nxaffectedconfig)\n- [NxJsonConfiguration](../../nx-devkit/index#nxjsonconfiguration)\n- [ProjectConfiguration](../../nx-devkit/index#projectconfiguration)\n- [TargetConfiguration](../../nx-devkit/index#targetconfiguration)\n- [TargetDependencyConfig](../../nx-devkit/index#targetdependencyconfig)\n- [Task](../../nx-devkit/index#task)\n- [TaskGraph](../../nx-devkit/index#taskgraph)\n- [Workspace](../../nx-devkit/index#workspace)\n- [WorkspaceJsonConfiguration](../../nx-devkit/index#workspacejsonconfiguration)\n\n### Generators Type aliases\n\n- [WorkspaceConfiguration](../../nx-devkit/index#workspaceconfiguration)\n\n### Other Type aliases\n\n- [ProjectTargetConfigurator](../../nx-devkit/index#projecttargetconfigurator)\n\n### Package Manager Type aliases\n\n- [PackageManager](../../nx-devkit/index#packagemanager)\n\n### Project Graph Type aliases\n\n- [ProjectGraphNode](../../nx-devkit/index#projectgraphnode)\n\n### Utils Type aliases\n\n- [StringChange](../../nx-devkit/index#stringchange)\n\n### Workspace Type aliases\n\n- [CustomHasher](../../nx-devkit/index#customhasher)\n- [Executor](../../nx-devkit/index#executor)\n- [Generator](../../nx-devkit/index#generator)\n- [GeneratorCallback](../../nx-devkit/index#generatorcallback)\n- [ImplicitDependencyEntry](../../nx-devkit/index#implicitdependencyentry)\n- [ProjectType](../../nx-devkit/index#projecttype)\n- [TaskGraphExecutor](../../nx-devkit/index#taskgraphexecutor)\n\n### Logger Variables\n\n- [logger](../../nx-devkit/index#logger)\n\n### Utils Variables\n\n- [appRootPath](../../nx-devkit/index#approotpath)\n- [cacheDir](../../nx-devkit/index#cachedir)\n- [output](../../nx-devkit/index#output)\n- [workspaceRoot](../../nx-devkit/index#workspaceroot)\n\n### Functions\n\n- [addDependenciesToPackageJson](../../nx-devkit/index#adddependenciestopackagejson)\n- [addProjectConfiguration](../../nx-devkit/index#addprojectconfiguration)\n- [applyChangesToString](../../nx-devkit/index#applychangestostring)\n- [convertNxExecutor](../../nx-devkit/index#convertnxexecutor)\n- [convertNxGenerator](../../nx-devkit/index#convertnxgenerator)\n- [createProjectGraphAsync](../../nx-devkit/index#createprojectgraphasync)\n- [defaultTasksRunner](../../nx-devkit/index#defaulttasksrunner)\n- [detectPackageManager](../../nx-devkit/index#detectpackagemanager)\n- [formatFiles](../../nx-devkit/index#formatfiles)\n- [generateFiles](../../nx-devkit/index#generatefiles)\n- [getOutputsForTargetAndConfiguration](../../nx-devkit/index#getoutputsfortargetandconfiguration)\n- [getPackageManagerCommand](../../nx-devkit/index#getpackagemanagercommand)\n- [getPackageManagerVersion](../../nx-devkit/index#getpackagemanagerversion)\n- [getProjects](../../nx-devkit/index#getprojects)\n- [getWorkspaceLayout](../../nx-devkit/index#getworkspacelayout)\n- [getWorkspacePath](../../nx-devkit/index#getworkspacepath)\n- [installPackagesTask](../../nx-devkit/index#installpackagestask)\n- [isStandaloneProject](../../nx-devkit/index#isstandaloneproject)\n- [joinPathFragments](../../nx-devkit/index#joinpathfragments)\n- [moveFilesToNewDirectory](../../nx-devkit/index#movefilestonewdirectory)\n- [names](../../nx-devkit/index#names)\n- [normalizePath](../../nx-devkit/index#normalizepath)\n- [offsetFromRoot](../../nx-devkit/index#offsetfromroot)\n- [parseJson](../../nx-devkit/index#parsejson)\n- [parseTargetString](../../nx-devkit/index#parsetargetstring)\n- [readCachedProjectGraph](../../nx-devkit/index#readcachedprojectgraph)\n- [readJson](../../nx-devkit/index#readjson)\n- [readJsonFile](../../nx-devkit/index#readjsonfile)\n- [readNxJson](../../nx-devkit/index#readnxjson)\n- [readProjectConfiguration](../../nx-devkit/index#readprojectconfiguration)\n- [readTargetOptions](../../nx-devkit/index#readtargetoptions)\n- [readWorkspaceConfiguration](../../nx-devkit/index#readworkspaceconfiguration)\n- [removeDependenciesFromPackageJson](../../nx-devkit/index#removedependenciesfrompackagejson)\n- [removeProjectConfiguration](../../nx-devkit/index#removeprojectconfiguration)\n- [reverse](../../nx-devkit/index#reverse)\n- [runExecutor](../../nx-devkit/index#runexecutor)\n- [serializeJson](../../nx-devkit/index#serializejson)\n- [stripIndents](../../nx-devkit/index#stripindents)\n- [stripJsonComments](../../nx-devkit/index#stripjsoncomments)\n- [targetToTargetString](../../nx-devkit/index#targettotargetstring)\n- [toJS](../../nx-devkit/index#tojs)\n- [updateJson](../../nx-devkit/index#updatejson)\n- [updateProjectConfiguration](../../nx-devkit/index#updateprojectconfiguration)\n- [updateTsConfigsToJs](../../nx-devkit/index#updatetsconfigstojs)\n- [updateWorkspaceConfiguration](../../nx-devkit/index#updateworkspaceconfiguration)\n- [visitNotIgnoredFiles](../../nx-devkit/index#visitnotignoredfiles)\n- [workspaceLayout](../../nx-devkit/index#workspacelayout)\n- [writeJson](../../nx-devkit/index#writejson)\n- [writeJsonFile](../../nx-devkit/index#writejsonfile)\n\n## Project Graph Enumerations\n\n### DependencyType\n\n• **DependencyType**: `Object`\n\n---\n\n## Utils Enumerations\n\n### ChangeType\n\n• **ChangeType**: `Object`\n\n## Project Graph Classes\n\n### ProjectGraphBuilder\n\n• **ProjectGraphBuilder**: `Object`\n\n---\n\n## Utils Classes\n\n### Hasher\n\n• **Hasher**: `Object`\n\n---\n\n## Workspace Classes\n\n### Workspaces\n\n• **Workspaces**: `Object`\n\n## Commands Interfaces\n\n### Target\n\n• **Target**: `Object`\n\n---\n\n## Other Interfaces\n\n### NxPlugin\n\n• **NxPlugin**: `Object`\n\nA plugin for Nx\n\n---\n\n## Project Graph Interfaces\n\n### FileData\n\n• **FileData**: `Object`\n\n---\n\n### ProjectFileMap\n\n• **ProjectFileMap**: `Object`\n\n---\n\n### ProjectGraph\n\n• **ProjectGraph**<`T`\\>: `Object`\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :---- |\n| `T` | `any` |\n\n---\n\n### ProjectGraphDependency\n\n• **ProjectGraphDependency**: `Object`\n\n---\n\n### ProjectGraphExternalNode\n\n• **ProjectGraphExternalNode**: `Object`\n\n---\n\n### ProjectGraphProcessorContext\n\n• **ProjectGraphProcessorContext**: `Object`\n\n---\n\n### ProjectGraphProjectNode\n\n• **ProjectGraphProjectNode**<`T`\\>: `Object`\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :---- |\n| `T` | `any` |\n\n---\n\n### ProjectGraphV4\n\n• **ProjectGraphV4**<`T`\\>: `Object`\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :---- |\n| `T` | `any` |\n\n---\n\n## Tree Interfaces\n\n### FileChange\n\n• **FileChange**: `Object`\n\n---\n\n### Tree\n\n• **Tree**: `Object`\n\n---\n\n## Utils Interfaces\n\n### DefaultTasksRunnerOptions\n\n• **DefaultTasksRunnerOptions**: `Object`\n\n---\n\n### Hash\n\n• **Hash**: `Object`\n\n---\n\n### JsonParseOptions\n\n• **JsonParseOptions**: `Object`\n\n---\n\n### JsonSerializeOptions\n\n• **JsonSerializeOptions**: `Object`\n\n---\n\n### RemoteCache\n\n• **RemoteCache**: `Object`\n\n---\n\n### StringDeletion\n\n• **StringDeletion**: `Object`\n\n---\n\n### StringInsertion\n\n• **StringInsertion**: `Object`\n\n---\n\n## Workspace Interfaces\n\n### ExecutorContext\n\n• **ExecutorContext**: `Object`\n\n---\n\n### ExecutorsJson\n\n• **ExecutorsJson**: `Object`\n\n---\n\n### GeneratorsJson\n\n• **GeneratorsJson**: `Object`\n\n---\n\n### HasherContext\n\n• **HasherContext**: `Object`\n\n---\n\n### ImplicitJsonSubsetDependency\n\n• **ImplicitJsonSubsetDependency**<`T`\\>: `Object`\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :------------------ |\n| `T` | `\"*\"` \\| `string`[] |\n\n---\n\n### MigrationsJson\n\n• **MigrationsJson**: `Object`\n\n---\n\n### NxAffectedConfig\n\n• **NxAffectedConfig**: `Object`\n\n---\n\n### NxJsonConfiguration\n\n• **NxJsonConfiguration**<`T`\\>: `Object`\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :------------------ |\n| `T` | `\"*\"` \\| `string`[] |\n\n---\n\n### ProjectConfiguration\n\n• **ProjectConfiguration**: `Object`\n\n---\n\n### TargetConfiguration\n\n• **TargetConfiguration**: `Object`\n\n---\n\n### TargetDependencyConfig\n\n• **TargetDependencyConfig**: `Object`\n\n---\n\n### Task\n\n• **Task**: `Object`\n\n---\n\n### TaskGraph\n\n• **TaskGraph**: `Object`\n\n---\n\n### Workspace\n\n• **Workspace**: `Object`\n\n---\n\n### WorkspaceJsonConfiguration\n\n• **WorkspaceJsonConfiguration**: `Object`\n\n## Generators Type aliases\n\n### WorkspaceConfiguration\n\nƬ **WorkspaceConfiguration**: `Omit`<[`WorkspaceJsonConfiguration`](../../nx-devkit/index#workspacejsonconfiguration), `\"projects\"`\\> & `Partial`<[`NxJsonConfiguration`](../../nx-devkit/index#nxjsonconfiguration)\\>\n\n---\n\n## Other Type aliases\n\n### ProjectTargetConfigurator\n\nƬ **ProjectTargetConfigurator**: (`file`: `string`) => `Record`<`string`, [`TargetConfiguration`](../../nx-devkit/index#targetconfiguration)\\>\n\n#### Type declaration\n\n▸ (`file`): `Record`<`string`, [`TargetConfiguration`](../../nx-devkit/index#targetconfiguration)\\>\n\n##### Parameters\n\n| Name | Type |\n| :----- | :------- |\n| `file` | `string` |\n\n##### Returns\n\n`Record`<`string`, [`TargetConfiguration`](../../nx-devkit/index#targetconfiguration)\\>\n\n---\n\n## Package Manager Type aliases\n\n### PackageManager\n\nƬ **PackageManager**: `\"yarn\"` \\| `\"pnpm\"` \\| `\"npm\"`\n\n---\n\n## Project Graph Type aliases\n\n### ProjectGraphNode\n\nƬ **ProjectGraphNode**<`T`\\>: [`ProjectGraphProjectNode`](../../nx-devkit/index#projectgraphprojectnode)<`T`\\> \\| [`ProjectGraphExternalNode`](../../nx-devkit/index#projectgraphexternalnode)\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :---- |\n| `T` | `any` |\n\n---\n\n## Utils Type aliases\n\n### StringChange\n\nƬ **StringChange**: [`StringInsertion`](../../nx-devkit/index#stringinsertion) \\| [`StringDeletion`](../../nx-devkit/index#stringdeletion)\n\n---\n\n## Workspace Type aliases\n\n### CustomHasher\n\nƬ **CustomHasher**: (`task`: [`Task`](../../nx-devkit/index#task), `context`: [`HasherContext`](../../nx-devkit/index#hashercontext)) => `Promise`<[`Hash`](../../nx-devkit/index#hash)\\>\n\n#### Type declaration\n\n▸ (`task`, `context`): `Promise`<[`Hash`](../../nx-devkit/index#hash)\\>\n\n##### Parameters\n\n| Name | Type |\n| :-------- | :----------------------------------------------------- |\n| `task` | [`Task`](../../nx-devkit/index#task) |\n| `context` | [`HasherContext`](../../nx-devkit/index#hashercontext) |\n\n##### Returns\n\n`Promise`<[`Hash`](../../nx-devkit/index#hash)\\>\n\n---\n\n### Executor\n\nƬ **Executor**<`T`\\>: (`options`: `T`, `context`: [`ExecutorContext`](../../nx-devkit/index#executorcontext)) => `Promise`<`Object`\\> \\| `AsyncIterableIterator`<`Object`\\>\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :---- |\n| `T` | `any` |\n\n#### Type declaration\n\n▸ (`options`, `context`): `Promise`<`Object`\\> \\| `AsyncIterableIterator`<`Object`\\>\n\nImplementation of a target of a project\n\n##### Parameters\n\n| Name | Type |\n| :-------- | :--------------------------------------------------------- |\n| `options` | `T` |\n| `context` | [`ExecutorContext`](../../nx-devkit/index#executorcontext) |\n\n##### Returns\n\n`Promise`<`Object`\\> \\| `AsyncIterableIterator`<`Object`\\>\n\n---\n\n### Generator\n\nƬ **Generator**<`T`\\>: (`tree`: `any`, `schema`: `T`) => `void` \\| [`GeneratorCallback`](../../nx-devkit/index#generatorcallback) \\| `Promise`<`void` \\| [`GeneratorCallback`](../../nx-devkit/index#generatorcallback)\\>\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :-------- |\n| `T` | `unknown` |\n\n#### Type declaration\n\n▸ (`tree`, `schema`): `void` \\| [`GeneratorCallback`](../../nx-devkit/index#generatorcallback) \\| `Promise`<`void` \\| [`GeneratorCallback`](../../nx-devkit/index#generatorcallback)\\>\n\nA function that schedules updates to the filesystem to be done atomically\n\n##### Parameters\n\n| Name | Type |\n| :------- | :---- |\n| `tree` | `any` |\n| `schema` | `T` |\n\n##### Returns\n\n`void` \\| [`GeneratorCallback`](../../nx-devkit/index#generatorcallback) \\| `Promise`<`void` \\| [`GeneratorCallback`](../../nx-devkit/index#generatorcallback)\\>\n\n---\n\n### GeneratorCallback\n\nƬ **GeneratorCallback**: () => `void` \\| `Promise`<`void`\\>\n\n#### Type declaration\n\n▸ (): `void` \\| `Promise`<`void`\\>\n\nA callback function that is executed after changes are made to the file system\n\n##### Returns\n\n`void` \\| `Promise`<`void`\\>\n\n---\n\n### ImplicitDependencyEntry\n\nƬ **ImplicitDependencyEntry**<`T`\\>: `Object`\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :------------------ |\n| `T` | `\"*\"` \\| `string`[] |\n\n#### Index signature\n\n▪ [key: `string`]: `T` \\| [`ImplicitJsonSubsetDependency`](../../nx-devkit/index#implicitjsonsubsetdependency)<`T`\\>\n\n---\n\n### ProjectType\n\nƬ **ProjectType**: `\"library\"` \\| `\"application\"`\n\n---\n\n### TaskGraphExecutor\n\nƬ **TaskGraphExecutor**<`T`\\>: (`taskGraph`: [`TaskGraph`](../../nx-devkit/index#taskgraph), `options`: `Record`<`string`, `T`\\>, `overrides`: `T`, `context`: [`ExecutorContext`](../../nx-devkit/index#executorcontext)) => `Promise`<`Record`<`string`, `Object`\\>\\>\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :---- |\n| `T` | `any` |\n\n#### Type declaration\n\n▸ (`taskGraph`, `options`, `overrides`, `context`): `Promise`<`Record`<`string`, `Object`\\>\\>\n\nImplementation of a target of a project that handles multiple projects to be batched\n\n##### Parameters\n\n| Name | Type |\n| :---------- | :--------------------------------------------------------- |\n| `taskGraph` | [`TaskGraph`](../../nx-devkit/index#taskgraph) |\n| `options` | `Record`<`string`, `T`\\> |\n| `overrides` | `T` |\n| `context` | [`ExecutorContext`](../../nx-devkit/index#executorcontext) |\n\n##### Returns\n\n`Promise`<`Record`<`string`, `Object`\\>\\>\n\n## Logger Variables\n\n### logger\n\n• **logger**: `Object`\n\n#### Type declaration\n\n| Name | Type |\n| :------ | :-------------------------- |\n| `debug` | (...`s`: `any`[]) => `void` |\n| `error` | (`s`: `any`) => `void` |\n| `fatal` | (...`s`: `any`[]) => `void` |\n| `info` | (`s`: `any`) => `void` |\n| `log` | (...`s`: `any`[]) => `void` |\n| `warn` | (`s`: `any`) => `void` |\n\n---\n\n## Utils Variables\n\n### appRootPath\n\n• **appRootPath**: `string`\n\n---\n\n### cacheDir\n\n• **cacheDir**: `string`\n\n---\n\n### output\n\n• **output**: `CLIOutput`\n\n---\n\n### workspaceRoot\n\n• **workspaceRoot**: `string` = `appRootPath`\n\n## Functions\n\n### addDependenciesToPackageJson\n\n▸ **addDependenciesToPackageJson**(`tree`, `dependencies`, `devDependencies`, `packageJsonPath?`): [`GeneratorCallback`](../../nx-devkit/index#generatorcallback)\n\nAdd Dependencies and Dev Dependencies to package.json\n\nFor example:\n\n```typescript\naddDependenciesToPackageJson(tree, { react: 'latest' }, { jest: 'latest' });\n```\n\nThis will **add** `react` and `jest` to the dependencies and devDependencies sections of package.json respectively.\n\n#### Parameters\n\n| Name | Type | Default value | Description |\n| :---------------- | :----------------------------------- | :--------------- | :---------------------------------------------------------------------- |\n| `tree` | [`Tree`](../../nx-devkit/index#tree) | `undefined` | Tree representing file system to modify |\n| `dependencies` | `Record`<`string`, `string`\\> | `undefined` | Dependencies to be added to the dependencies section of package.json |\n| `devDependencies` | `Record`<`string`, `string`\\> | `undefined` | Dependencies to be added to the devDependencies section of package.json |\n| `packageJsonPath` | `string` | `'package.json'` | Path to package.json |\n\n#### Returns\n\n[`GeneratorCallback`](../../nx-devkit/index#generatorcallback)\n\nCallback to install dependencies only if necessary. undefined is returned if changes are not necessary.\n\n---\n\n### addProjectConfiguration\n\n▸ **addProjectConfiguration**(`tree`, `projectName`, `projectConfiguration`, `standalone?`): `void`\n\nAdds project configuration to the Nx workspace.\n\nThe project configuration is stored in workspace.json or the associated project.json file.\nThe utility will update either files.\n\n#### Parameters\n\n| Name | Type | Description |\n| :--------------------- | :------------------------------------------------------------------- | :----------------------------------------------------------------------------------------- |\n| `tree` | [`Tree`](../../nx-devkit/index#tree) | the file system tree |\n| `projectName` | `string` | unique name. Often directories are part of the name (e.g., mydir-mylib) |\n| `projectConfiguration` | [`ProjectConfiguration`](../../nx-devkit/index#projectconfiguration) | project configuration |\n| `standalone?` | `boolean` | should the project use package.json? If false, the project config is inside workspace.json |\n\n#### Returns\n\n`void`\n\n---\n\n### applyChangesToString\n\n▸ **applyChangesToString**(`text`, `changes`): `string`\n\nApplies a list of changes to a string's original value.\n\nThis is useful when working with ASTs.\n\nFor Example, to rename a property in a method's options:\n\n```typescript\nconst code = `bootstrap({\n target: document.querySelector('#app')\n})`;\n\nconst indexOfPropertyName = 13; // Usually determined by analyzing an AST.\nconst updatedCode = applyChangesToString(code, [\n {\n type: ChangeType.Insert,\n index: indexOfPropertyName,\n text: 'element',\n },\n {\n type: ChangeType.Delete,\n start: indexOfPropertyName,\n length: 6,\n },\n]);\n\nbootstrap({\n element: document.querySelector('#app'),\n});\n```\n\n#### Parameters\n\n| Name | Type |\n| :-------- | :----------------------------------------------------- |\n| `text` | `string` |\n| `changes` | [`StringChange`](../../nx-devkit/index#stringchange)[] |\n\n#### Returns\n\n`string`\n\n---\n\n### convertNxExecutor\n\n▸ **convertNxExecutor**(`executor`): `any`\n\nConvert an Nx Executor into an Angular Devkit Builder\n\nUse this to expose a compatible Angular Builder\n\n#### Parameters\n\n| Name | Type |\n| :--------- | :--------------------------------------------------- |\n| `executor` | [`Executor`](../../nx-devkit/index#executor)<`any`\\> |\n\n#### Returns\n\n`any`\n\n---\n\n### convertNxGenerator\n\n▸ **convertNxGenerator**<`T`\\>(`generator`, `skipWritingConfigInOldFormat?`): (`generatorOptions`: `T`) => (`tree`: `any`, `context`: `any`) => `Promise`<`any`\\>\n\nConvert an Nx Generator into an Angular Devkit Schematic.\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :---- |\n| `T` | `any` |\n\n#### Parameters\n\n| Name | Type | Default value | Description |\n| :----------------------------- | :--------------------------------------------------- | :------------ | :------------------------------------------------------------------------------------------------ |\n| `generator` | [`Generator`](../../nx-devkit/index#generator)<`T`\\> | `undefined` | The Nx generator to convert to an Angular Devkit Schematic. |\n| `skipWritingConfigInOldFormat` | `boolean` | `false` | Whether to skip writing the configuration in the old format (the one used by the Angular DevKit). |\n\n#### Returns\n\n`fn`\n\n▸ (`generatorOptions`): (`tree`: `any`, `context`: `any`) => `Promise`<`any`\\>\n\n##### Parameters\n\n| Name | Type |\n| :----------------- | :--- |\n| `generatorOptions` | `T` |\n\n##### Returns\n\n`fn`\n\n▸ (`tree`, `context`): `Promise`<`any`\\>\n\n##### Parameters\n\n| Name | Type |\n| :-------- | :---- |\n| `tree` | `any` |\n| `context` | `any` |\n\n##### Returns\n\n`Promise`<`any`\\>\n\n---\n\n### createProjectGraphAsync\n\n▸ **createProjectGraphAsync**(): `Promise`<[`ProjectGraph`](../../nx-devkit/index#projectgraph)\\>\n\nComputes and returns a ProjectGraph.\n\nNx will compute the graph either in a daemon process or in the current process.\n\nNx will compute it in the current process if:\n\n- The process is running in CI (CI env variable is to true or other common variables used by CI providers are set).\n- It is running in the docker container.\n- The daemon process is disabled because of the previous error when starting the daemon.\n- `NX_DAEMON` is set to `false`.\n- `useDaemon` is set to false in `nx.json`\n\n`NX_DAEMON` env variable takes precedence:\n\n- If it is set to true, the daemon will always be used.\n- If it is set to false, the graph will always be computed in the current process.\n\nTip: If you want to debug project graph creation, run your command with NX_DAEMON=false.\n\nNx uses two layers of caching: the information about explicit dependencies stored on the disk and the information\nstored in the daemon process. To reset both run: `nx reset`.\n\n#### Returns\n\n`Promise`<[`ProjectGraph`](../../nx-devkit/index#projectgraph)\\>\n\n---\n\n### defaultTasksRunner\n\n▸ `Const` **defaultTasksRunner**(`tasks`, `options`, `context?`): `Observable`<`AffectedEvent`\\> \\| `Promise`<`Object`\\>\n\n#### Parameters\n\n| Name | Type |\n| :--------------------------- | :--------------------------------------------------------------------------------------- |\n| `tasks` | [`Task`](../../nx-devkit/index#task)[] |\n| `options` | [`DefaultTasksRunnerOptions`](../../nx-devkit/index#defaulttasksrunneroptions) |\n| `context?` | `Object` |\n| `context.initiatingProject?` | `string` |\n| `context.nxJson` | [`NxJsonConfiguration`](../../nx-devkit/index#nxjsonconfiguration)<`string`[] \\| `\"*\"`\\> |\n| `context.projectGraph` | [`ProjectGraph`](../../nx-devkit/index#projectgraph)<`any`\\> |\n| `context.target?` | `string` |\n\n#### Returns\n\n`Observable`<`AffectedEvent`\\> \\| `Promise`<`Object`\\>\n\n---\n\n### detectPackageManager\n\n▸ **detectPackageManager**(`dir?`): [`PackageManager`](../../nx-devkit/index#packagemanager)\n\nDetects which package manager is used in the workspace based on the lock file.\n\n#### Parameters\n\n| Name | Type | Default value |\n| :---- | :------- | :------------ |\n| `dir` | `string` | `''` |\n\n#### Returns\n\n[`PackageManager`](../../nx-devkit/index#packagemanager)\n\n---\n\n### formatFiles\n\n▸ **formatFiles**(`tree`): `Promise`<`void`\\>\n\nFormats all the created or updated files using Prettier\n\n#### Parameters\n\n| Name | Type | Description |\n| :----- | :----------------------------------- | :------------------- |\n| `tree` | [`Tree`](../../nx-devkit/index#tree) | the file system tree |\n\n#### Returns\n\n`Promise`<`void`\\>\n\n---\n\n### generateFiles\n\n▸ **generateFiles**(`tree`, `srcFolder`, `target`, `substitutions`): `void`\n\nGenerates a folder of files based on provided templates.\n\nWhile doing so it performs two substitutions:\n\n- Substitutes segments of file names surrounded by \\_\\_\n- Uses ejs to substitute values in templates\n\nExamples:\n\n```typescript\ngenerateFiles(tree, path.join(__dirname, 'files'), './tools/scripts', {\n tmpl: '',\n name: 'myscript',\n});\n```\n\nThis command will take all the files from the `files` directory next to the place where the command is invoked from.\nIt will replace all `__tmpl__` with '' and all `__name__` with 'myscript' in the file names, and will replace all\n`<%= name %>` with `myscript` in the files themselves.\n`tmpl: ''` is a common pattern. With it you can name files like this: `index.ts__tmpl__`, so your editor\ndoesn't get confused about incorrect TypeScript files.\n\n#### Parameters\n\n| Name | Type | Description |\n| :-------------- | :----------------------------------- | :-------------------------------------------- |\n| `tree` | [`Tree`](../../nx-devkit/index#tree) | the file system tree |\n| `srcFolder` | `string` | the source folder of files (absolute path) |\n| `target` | `string` | the target folder (relative to the tree root) |\n| `substitutions` | `Object` | an object of key-value pairs |\n\n#### Returns\n\n`void`\n\n---\n\n### getOutputsForTargetAndConfiguration\n\n▸ **getOutputsForTargetAndConfiguration**(`task`, `node`): `any`\n\nReturns the list of outputs that will be cached.\n\n#### Parameters\n\n| Name | Type | Description |\n| :----- | :--------------------------------------------------------------------------------- | :-------------------------------------------------------- |\n| `task` | `Pick`<[`Task`](../../nx-devkit/index#task), `\"target\"` \\| `\"overrides\"`\\> | target + overrides |\n| `node` | [`ProjectGraphProjectNode`](../../nx-devkit/index#projectgraphprojectnode)<`any`\\> | ProjectGraphProjectNode object that the task runs against |\n\n#### Returns\n\n`any`\n\n---\n\n### getPackageManagerCommand\n\n▸ **getPackageManagerCommand**(`packageManager?`): `PackageManagerCommands`\n\nReturns commands for the package manager used in the workspace.\nBy default, the package manager is derived based on the lock file,\nbut it can also be passed in explicitly.\n\nExample:\n\n```javascript\nexecSync(`${getPackageManagerCommand().addDev} my-dev-package`);\n```\n\n#### Parameters\n\n| Name | Type |\n| :--------------- | :------------------------------------------------------- |\n| `packageManager` | [`PackageManager`](../../nx-devkit/index#packagemanager) |\n\n#### Returns\n\n`PackageManagerCommands`\n\n---\n\n### getPackageManagerVersion\n\n▸ **getPackageManagerVersion**(`packageManager?`): `string`\n\nReturns the version of the package manager used in the workspace.\nBy default, the package manager is derived based on the lock file,\nbut it can also be passed in explicitly.\n\n#### Parameters\n\n| Name | Type |\n| :--------------- | :------------------------------------------------------- |\n| `packageManager` | [`PackageManager`](../../nx-devkit/index#packagemanager) |\n\n#### Returns\n\n`string`\n\n---\n\n### getProjects\n\n▸ **getProjects**(`tree`): `Map`<`string`, [`ProjectConfiguration`](../../nx-devkit/index#projectconfiguration)\\>\n\nGet a map of all projects in a workspace.\n\nUse [readProjectConfiguration](../../nx-devkit/index#readprojectconfiguration) if only one project is needed.\n\n#### Parameters\n\n| Name | Type |\n| :----- | :----------------------------------- |\n| `tree` | [`Tree`](../../nx-devkit/index#tree) |\n\n#### Returns\n\n`Map`<`string`, [`ProjectConfiguration`](../../nx-devkit/index#projectconfiguration)\\>\n\n---\n\n### getWorkspaceLayout\n\n▸ **getWorkspaceLayout**(`tree`): `Object`\n\nReturns workspace defaults. It includes defaults folders for apps and libs,\nand the default scope.\n\nExample:\n\n```typescript\n{ appsDir: 'apps', libsDir: 'libs', npmScope: 'myorg' }\n```\n\n#### Parameters\n\n| Name | Type | Description |\n| :----- | :----------------------------------- | :--------------- |\n| `tree` | [`Tree`](../../nx-devkit/index#tree) | file system tree |\n\n#### Returns\n\n`Object`\n\n| Name | Type |\n| :-------------------- | :-------- |\n| `appsDir` | `string` |\n| `libsDir` | `string` |\n| `npmScope` | `string` |\n| `standaloneAsDefault` | `boolean` |\n\n---\n\n### getWorkspacePath\n\n▸ **getWorkspacePath**(`tree`): `\"/angular.json\"` \\| `\"/workspace.json\"` \\| `null`\n\n#### Parameters\n\n| Name | Type |\n| :----- | :----------------------------------- |\n| `tree` | [`Tree`](../../nx-devkit/index#tree) |\n\n#### Returns\n\n`\"/angular.json\"` \\| `\"/workspace.json\"` \\| `null`\n\n---\n\n### installPackagesTask\n\n▸ **installPackagesTask**(`tree`, `alwaysRun?`, `cwd?`, `packageManager?`): `void`\n\nRuns `npm install` or `yarn install`. It will skip running the install if\n`package.json` hasn't changed at all or it hasn't changed since the last invocation.\n\n#### Parameters\n\n| Name | Type | Default value | Description |\n| :--------------- | :------------------------------------------------------- | :------------ | :------------------------------------------------------------ |\n| `tree` | [`Tree`](../../nx-devkit/index#tree) | `undefined` | the file system tree |\n| `alwaysRun` | `boolean` | `false` | always run the command even if `package.json` hasn't changed. |\n| `cwd` | `string` | `''` | - |\n| `packageManager` | [`PackageManager`](../../nx-devkit/index#packagemanager) | `undefined` | - |\n\n#### Returns\n\n`void`\n\n---\n\n### isStandaloneProject\n\n▸ **isStandaloneProject**(`tree`, `project`): `boolean`\n\nReturns if a project has a standalone configuration (project.json).\n\n#### Parameters\n\n| Name | Type | Description |\n| :-------- | :----------------------------------- | :------------------- |\n| `tree` | [`Tree`](../../nx-devkit/index#tree) | the file system tree |\n| `project` | `string` | the project name |\n\n#### Returns\n\n`boolean`\n\n---\n\n### joinPathFragments\n\n▸ **joinPathFragments**(...`fragments`): `string`\n\nNormalized path fragments and joins them\n\n#### Parameters\n\n| Name | Type |\n| :------------- | :--------- |\n| `...fragments` | `string`[] |\n\n#### Returns\n\n`string`\n\n---\n\n### moveFilesToNewDirectory\n\n▸ **moveFilesToNewDirectory**(`tree`, `oldDir`, `newDir`): `void`\n\nAnalogous to cp -r oldDir newDir\n\n#### Parameters\n\n| Name | Type |\n| :------- | :----------------------------------- |\n| `tree` | [`Tree`](../../nx-devkit/index#tree) |\n| `oldDir` | `string` |\n| `newDir` | `string` |\n\n#### Returns\n\n`void`\n\n---\n\n### names\n\n▸ **names**(`name`): `Object`\n\nUtil function to generate different strings based off the provided name.\n\nExamples:\n\n```typescript\nnames('my-name'); // {name: 'my-name', className: 'MyName', propertyName: 'myName', constantName: 'MY_NAME', fileName: 'my-name'}\nnames('myName'); // {name: 'myName', className: 'MyName', propertyName: 'myName', constantName: 'MY_NAME', fileName: 'my-name'}\n```\n\n#### Parameters\n\n| Name | Type |\n| :----- | :------- |\n| `name` | `string` |\n\n#### Returns\n\n`Object`\n\n| Name | Type |\n| :------------- | :------- |\n| `className` | `string` |\n| `constantName` | `string` |\n| `fileName` | `string` |\n| `name` | `string` |\n| `propertyName` | `string` |\n\n---\n\n### normalizePath\n\n▸ **normalizePath**(`osSpecificPath`): `string`\n\nCoverts an os specific path to a unix style path\n\n#### Parameters\n\n| Name | Type |\n| :--------------- | :------- |\n| `osSpecificPath` | `string` |\n\n#### Returns\n\n`string`\n\n---\n\n### offsetFromRoot\n\n▸ **offsetFromRoot**(`fullPathToDir`): `string`\n\nCalculates an offset from the root of the workspace, which is useful for\nconstructing relative URLs.\n\nExamples:\n\n```typescript\noffsetFromRoot('apps/mydir/myapp/'); // returns \"../../../\"\n```\n\n#### Parameters\n\n| Name | Type | Description |\n| :-------------- | :------- | :------------- |\n| `fullPathToDir` | `string` | directory path |\n\n#### Returns\n\n`string`\n\n---\n\n### parseJson\n\n▸ **parseJson**<`T`\\>(`input`, `options?`): `T`\n\nParses the given JSON string and returns the object the JSON content represents.\nBy default javascript-style comments are allowed.\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :----------------------- |\n| `T` | extends `object` = `any` |\n\n#### Parameters\n\n| Name | Type | Description |\n| :--------- | :----------------------------------------------------------- | :--------------------- |\n| `input` | `string` | JSON content as string |\n| `options?` | [`JsonParseOptions`](../../nx-devkit/index#jsonparseoptions) | JSON parse options |\n\n#### Returns\n\n`T`\n\nObject the JSON content represents\n\n---\n\n### parseTargetString\n\n▸ **parseTargetString**(`targetString`): [`Target`](../../nx-devkit/index#target)\n\nParses a target string into {project, target, configuration}\n\nExamples:\n\n```typescript\nparseTargetString('proj:test'); // returns { project: \"proj\", target: \"test\" }\nparseTargetString('proj:test:production'); // returns { project: \"proj\", target: \"test\", configuration: \"production\" }\n```\n\n#### Parameters\n\n| Name | Type | Description |\n| :------------- | :------- | :--------------- |\n| `targetString` | `string` | target reference |\n\n#### Returns\n\n[`Target`](../../nx-devkit/index#target)\n\n---\n\n### readCachedProjectGraph\n\n▸ **readCachedProjectGraph**(): [`ProjectGraph`](../../nx-devkit/index#projectgraph)\n\nSynchronously reads the latest cached copy of the workspace's ProjectGraph.\n\n**`throws`** {Error} if there is no cached ProjectGraph to read from\n\n#### Returns\n\n[`ProjectGraph`](../../nx-devkit/index#projectgraph)\n\n---\n\n### readJson\n\n▸ **readJson**<`T`\\>(`tree`, `path`, `options?`): `T`\n\nReads a json file, removes all comments and parses JSON.\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :----------------------- |\n| `T` | extends `object` = `any` |\n\n#### Parameters\n\n| Name | Type | Description |\n| :--------- | :----------------------------------------------------------- | :-------------------------- |\n| `tree` | [`Tree`](../../nx-devkit/index#tree) | file system tree |\n| `path` | `string` | file path |\n| `options?` | [`JsonParseOptions`](../../nx-devkit/index#jsonparseoptions) | Optional JSON Parse Options |\n\n#### Returns\n\n`T`\n\n---\n\n### readJsonFile\n\n▸ **readJsonFile**<`T`\\>(`path`, `options?`): `T`\n\nReads a JSON file and returns the object the JSON content represents.\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :----------------------- |\n| `T` | extends `object` = `any` |\n\n#### Parameters\n\n| Name | Type | Description |\n| :--------- | :---------------- | :----------------- |\n| `path` | `string` | A path to a file. |\n| `options?` | `JsonReadOptions` | JSON parse options |\n\n#### Returns\n\n`T`\n\nObject the JSON content of the file represents\n\n---\n\n### readNxJson\n\n▸ **readNxJson**(`path?`): [`NxJsonConfiguration`](../../nx-devkit/index#nxjsonconfiguration)\n\nReturns the contents of nx.json.\n\nIf nx.json extends another config file, it will be inlined here.\n\n#### Parameters\n\n| Name | Type |\n| :----- | :------- |\n| `path` | `string` |\n\n#### Returns\n\n[`NxJsonConfiguration`](../../nx-devkit/index#nxjsonconfiguration)\n\n---\n\n### readProjectConfiguration\n\n▸ **readProjectConfiguration**(`tree`, `projectName`): [`ProjectConfiguration`](../../nx-devkit/index#projectconfiguration)\n\nReads a project configuration.\n\nThe project configuration is stored in workspace.json or the associated project.json file.\nThe utility will read from either file.\n\n**`throws`** If supplied projectName cannot be found\n\n#### Parameters\n\n| Name | Type | Description |\n| :------------ | :----------------------------------- | :---------------------------------------------------------------------- |\n| `tree` | [`Tree`](../../nx-devkit/index#tree) | the file system tree |\n| `projectName` | `string` | unique name. Often directories are part of the name (e.g., mydir-mylib) |\n\n#### Returns\n\n[`ProjectConfiguration`](../../nx-devkit/index#projectconfiguration)\n\n---\n\n### readTargetOptions\n\n▸ **readTargetOptions**<`T`\\>(`__namedParameters`, `context`): `T`\n\nReads and combines options for a given target.\n\nWorks as if you invoked the target yourself without passing any command lint overrides.\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :---- |\n| `T` | `any` |\n\n#### Parameters\n\n| Name | Type |\n| :------------------ | :--------------------------------------------------------- |\n| `__namedParameters` | [`Target`](../../nx-devkit/index#target) |\n| `context` | [`ExecutorContext`](../../nx-devkit/index#executorcontext) |\n\n#### Returns\n\n`T`\n\n---\n\n### readWorkspaceConfiguration\n\n▸ **readWorkspaceConfiguration**(`tree`): [`WorkspaceConfiguration`](../../nx-devkit/index#workspaceconfiguration)\n\nRead general workspace configuration such as the default project or cli settings\n\nThis does _not_ provide projects configuration, use [readProjectConfiguration](../../nx-devkit/index#readprojectconfiguration) instead.\n\n#### Parameters\n\n| Name | Type |\n| :----- | :----------------------------------- |\n| `tree` | [`Tree`](../../nx-devkit/index#tree) |\n\n#### Returns\n\n[`WorkspaceConfiguration`](../../nx-devkit/index#workspaceconfiguration)\n\n---\n\n### removeDependenciesFromPackageJson\n\n▸ **removeDependenciesFromPackageJson**(`tree`, `dependencies`, `devDependencies`, `packageJsonPath?`): [`GeneratorCallback`](../../nx-devkit/index#generatorcallback)\n\nRemove Dependencies and Dev Dependencies from package.json\n\nFor example:\n\n```typescript\nremoveDependenciesFromPackageJson(tree, ['react'], ['jest']);\n```\n\nThis will **remove** `react` and `jest` from the dependencies and devDependencies sections of package.json respectively.\n\n#### Parameters\n\n| Name | Type | Default value | Description |\n| :---------------- | :----------------------------------- | :--------------- | :-------------------------------------------------------------------------- |\n| `tree` | [`Tree`](../../nx-devkit/index#tree) | `undefined` | - |\n| `dependencies` | `string`[] | `undefined` | Dependencies to be removed from the dependencies section of package.json |\n| `devDependencies` | `string`[] | `undefined` | Dependencies to be removed from the devDependencies section of package.json |\n| `packageJsonPath` | `string` | `'package.json'` | - |\n\n#### Returns\n\n[`GeneratorCallback`](../../nx-devkit/index#generatorcallback)\n\nCallback to uninstall dependencies only if necessary. undefined is returned if changes are not necessary.\n\n---\n\n### removeProjectConfiguration\n\n▸ **removeProjectConfiguration**(`tree`, `projectName`): `void`\n\nRemoves the configuration of an existing project.\n\nThe project configuration is stored in workspace.json or the associated project.json file.\nThe utility will update either file.\n\n#### Parameters\n\n| Name | Type |\n| :------------ | :----------------------------------- |\n| `tree` | [`Tree`](../../nx-devkit/index#tree) |\n| `projectName` | `string` |\n\n#### Returns\n\n`void`\n\n---\n\n### reverse\n\n▸ **reverse**(`graph`): [`ProjectGraph`](../../nx-devkit/index#projectgraph)\n\nReturns a new project graph where all the edges are reversed.\n\nFor instance, if project A depends on B, in the reversed graph\nB will depend on A.\n\n#### Parameters\n\n| Name | Type |\n| :------ | :----------------------------------------------------------- |\n| `graph` | [`ProjectGraph`](../../nx-devkit/index#projectgraph)<`any`\\> |\n\n#### Returns\n\n[`ProjectGraph`](../../nx-devkit/index#projectgraph)\n\n---\n\n### runExecutor\n\n▸ **runExecutor**<`T`\\>(`targetDescription`, `options`, `context`): `Promise`<`AsyncIterableIterator`<`T`\\>\\>\n\nLoads and invokes executor.\n\nThis is analogous to invoking executor from the terminal, with the exception\nthat the params aren't parsed from the string, but instead provided parsed already.\n\nApart from that, it works the same way:\n\n- it will load the workspace configuration\n- it will resolve the target\n- it will load the executor and the schema\n- it will load the options for the appropriate configuration\n- it will run the validations and will set the default\n- and, of course, it will invoke the executor\n\nExample:\n\n```typescript\nfor await (const s of await runExecutor(\n { project: 'myproj', target: 'serve' },\n { watch: true },\n context\n)) {\n // s.success\n}\n```\n\nNote that the return value is a promise of an iterator, so you need to await before iterating over it.\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :--------------- |\n| `T` | extends `Object` |\n\n#### Parameters\n\n| Name | Type |\n| :--------------------------------- | :--------------------------------------------------------- |\n| `targetDescription` | `Object` |\n| `targetDescription.configuration?` | `string` |\n| `targetDescription.project` | `string` |\n| `targetDescription.target` | `string` |\n| `options` | `Object` |\n| `context` | [`ExecutorContext`](../../nx-devkit/index#executorcontext) |\n\n#### Returns\n\n`Promise`<`AsyncIterableIterator`<`T`\\>\\>\n\n---\n\n### serializeJson\n\n▸ **serializeJson**<`T`\\>(`input`, `options?`): `string`\n\nSerializes the given data to a JSON string.\nBy default the JSON string is formatted with a 2 space intendation to be easy readable.\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :-------------------------- |\n| `T` | extends `object` = `object` |\n\n#### Parameters\n\n| Name | Type | Description |\n| :--------- | :------------------------------------------------------------------- | :---------------------------------------- |\n| `input` | `T` | Object which should be serialized to JSON |\n| `options?` | [`JsonSerializeOptions`](../../nx-devkit/index#jsonserializeoptions) | JSON serialize options |\n\n#### Returns\n\n`string`\n\nthe formatted JSON representation of the object\n\n---\n\n### stripIndents\n\n▸ **stripIndents**(`strings`, ...`values`): `string`\n\nRemoves indents, which is useful for printing warning and messages.\n\nExample:\n\n```typescript\nstripIndents`\n Options:\n - option1\n - option2\n`;\n```\n\n#### Parameters\n\n| Name | Type |\n| :---------- | :--------------------- |\n| `strings` | `TemplateStringsArray` |\n| `...values` | `any`[] |\n\n#### Returns\n\n`string`\n\n---\n\n### stripJsonComments\n\n▸ `Const` **stripJsonComments**(`text`, `replaceCh?`): `string`\n\nTakes JSON with JavaScript-style comments and remove\nthem. Optionally replaces every none-newline character\nof comments with a replaceCharacter\n\n#### Parameters\n\n| Name | Type |\n| :----------- | :------- |\n| `text` | `string` |\n| `replaceCh?` | `string` |\n\n#### Returns\n\n`string`\n\n---\n\n### targetToTargetString\n\n▸ **targetToTargetString**(`target`): `string`\n\nReturns a string in the format \"project:target[:configuration]\" for the target\n\n#### Parameters\n\n| Name | Type | Description |\n| :------- | :--------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `target` | [`Target`](../../nx-devkit/index#target) | target object Examples: `typescript targetToTargetString({ project: \"proj\", target: \"test\" }) // returns \"proj:test\" targetToTargetString({ project: \"proj\", target: \"test\", configuration: \"production\" }) // returns \"proj:test:production\" ` |\n\n#### Returns\n\n`string`\n\n---\n\n### toJS\n\n▸ **toJS**(`tree`): `void`\n\nRename and transpile any new typescript files created to javascript files\n\n#### Parameters\n\n| Name | Type |\n| :----- | :----------------------------------- |\n| `tree` | [`Tree`](../../nx-devkit/index#tree) |\n\n#### Returns\n\n`void`\n\n---\n\n### updateJson\n\n▸ **updateJson**<`T`, `U`\\>(`tree`, `path`, `updater`, `options?`): `void`\n\nUpdates a JSON value to the file system tree\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :----------------------- |\n| `T` | extends `object` = `any` |\n| `U` | extends `object` = `T` |\n\n#### Parameters\n\n| Name | Type | Description |\n| :--------- | :---------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------- |\n| `tree` | [`Tree`](../../nx-devkit/index#tree) | File system tree |\n| `path` | `string` | Path of JSON file in the Tree |\n| `updater` | (`value`: `T`) => `U` | Function that maps the current value of a JSON document to a new value to be written to the document |\n| `options?` | [`JsonParseOptions`](../../nx-devkit/index#jsonparseoptions) & [`JsonSerializeOptions`](../../nx-devkit/index#jsonserializeoptions) | Optional JSON Parse and Serialize Options |\n\n#### Returns\n\n`void`\n\n---\n\n### updateProjectConfiguration\n\n▸ **updateProjectConfiguration**(`tree`, `projectName`, `projectConfiguration`): `void`\n\nUpdates the configuration of an existing project.\n\nThe project configuration is stored in workspace.json or the associated project.json file.\nThe utility will update either files.\n\n#### Parameters\n\n| Name | Type | Description |\n| :--------------------- | :------------------------------------------------------------------- | :---------------------------------------------------------------------- |\n| `tree` | [`Tree`](../../nx-devkit/index#tree) | the file system tree |\n| `projectName` | `string` | unique name. Often directories are part of the name (e.g., mydir-mylib) |\n| `projectConfiguration` | [`ProjectConfiguration`](../../nx-devkit/index#projectconfiguration) | project configuration |\n\n#### Returns\n\n`void`\n\n---\n\n### updateTsConfigsToJs\n\n▸ **updateTsConfigsToJs**(`tree`, `options`): `void`\n\n#### Parameters\n\n| Name | Type |\n| :-------------------- | :----------------------------------- |\n| `tree` | [`Tree`](../../nx-devkit/index#tree) |\n| `options` | `Object` |\n| `options.projectRoot` | `string` |\n\n#### Returns\n\n`void`\n\n---\n\n### updateWorkspaceConfiguration\n\n▸ **updateWorkspaceConfiguration**(`tree`, `workspaceConfig`): `void`\n\nUpdate general workspace configuration such as the default project or cli settings.\n\nThis does _not_ update projects configuration, use [updateProjectConfiguration](../../nx-devkit/index#updateprojectconfiguration) or [addProjectConfiguration](../../nx-devkit/index#addprojectconfiguration) instead.\n\n#### Parameters\n\n| Name | Type |\n| :---------------- | :----------------------------------------------------------------------- |\n| `tree` | [`Tree`](../../nx-devkit/index#tree) |\n| `workspaceConfig` | [`WorkspaceConfiguration`](../../nx-devkit/index#workspaceconfiguration) |\n\n#### Returns\n\n`void`\n\n---\n\n### visitNotIgnoredFiles\n\n▸ **visitNotIgnoredFiles**(`tree`, `dirPath?`, `visitor`): `void`\n\nUtility to act on all files in a tree that are not ignored by git.\n\n#### Parameters\n\n| Name | Type | Default value |\n| :-------- | :----------------------------------- | :------------ |\n| `tree` | [`Tree`](../../nx-devkit/index#tree) | `undefined` |\n| `dirPath` | `string` | `tree.root` |\n| `visitor` | (`path`: `string`) => `void` | `undefined` |\n\n#### Returns\n\n`void`\n\n---\n\n### workspaceLayout\n\n▸ **workspaceLayout**(): `Object`\n\nReturns information about where apps and libs will be created.\n\n#### Returns\n\n`Object`\n\n| Name | Type |\n| :-------- | :------- |\n| `appsDir` | `string` |\n| `libsDir` | `string` |\n\n---\n\n### writeJson\n\n▸ **writeJson**<`T`\\>(`tree`, `path`, `value`, `options?`): `void`\n\nWrites a JSON value to the file system tree\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :-------------------------- |\n| `T` | extends `object` = `object` |\n\n#### Parameters\n\n| Name | Type | Description |\n| :--------- | :------------------------------------------------------------------- | :------------------------------ |\n| `tree` | [`Tree`](../../nx-devkit/index#tree) | File system tree |\n| `path` | `string` | Path of JSON file in the Tree |\n| `value` | `T` | Serializable value to write |\n| `options?` | [`JsonSerializeOptions`](../../nx-devkit/index#jsonserializeoptions) | Optional JSON Serialize Options |\n\n#### Returns\n\n`void`\n\n---\n\n### writeJsonFile\n\n▸ **writeJsonFile**<`T`\\>(`path`, `data`, `options?`): `void`\n\nSerializes the given data to JSON and writes it to a file.\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :-------------------------- |\n| `T` | extends `object` = `object` |\n\n#### Parameters\n\n| Name | Type | Description |\n| :--------- | :----------------- | :-------------------------------------------------------------- |\n| `path` | `string` | A path to a file. |\n| `data` | `T` | data which should be serialized to JSON and written to the file |\n| `options?` | `JsonWriteOptions` | JSON serialize options |\n\n#### Returns\n\n`void`\n"
+ "file": "generated/devkit/index",
+ "content": "# Module: index\n\nThe Nx Devkit is the underlying technology used to customize Nx to support\ndifferent technologies and custom use-cases. It contains many utility\nfunctions for reading and writing files, updating configuration,\nworking with Abstract Syntax Trees(ASTs), and more.\n\nAs with most things in Nx, the core of Nx Devkit is very simple.\nIt only uses language primitives and immutable objects\n(the tree being the only exception).\n\n## Table of contents\n\n### Project Graph Enumerations\n\n- [DependencyType](../../devkit/index#dependencytype)\n\n### Utils Enumerations\n\n- [ChangeType](../../devkit/index#changetype)\n\n### Project Graph Classes\n\n- [ProjectGraphBuilder](../../devkit/index#projectgraphbuilder)\n\n### Utils Classes\n\n- [Hasher](../../devkit/index#hasher)\n\n### Workspace Classes\n\n- [Workspaces](../../devkit/index#workspaces)\n\n### Commands Interfaces\n\n- [Target](../../devkit/index#target)\n\n### Other Interfaces\n\n- [NxPlugin](../../devkit/index#nxplugin)\n\n### Project Graph Interfaces\n\n- [FileData](../../devkit/index#filedata)\n- [ProjectFileMap](../../devkit/index#projectfilemap)\n- [ProjectGraph](../../devkit/index#projectgraph)\n- [ProjectGraphDependency](../../devkit/index#projectgraphdependency)\n- [ProjectGraphExternalNode](../../devkit/index#projectgraphexternalnode)\n- [ProjectGraphProcessorContext](../../devkit/index#projectgraphprocessorcontext)\n- [ProjectGraphProjectNode](../../devkit/index#projectgraphprojectnode)\n- [ProjectGraphV4](../../devkit/index#projectgraphv4)\n\n### Tree Interfaces\n\n- [FileChange](../../devkit/index#filechange)\n- [Tree](../../devkit/index#tree)\n\n### Utils Interfaces\n\n- [DefaultTasksRunnerOptions](../../devkit/index#defaulttasksrunneroptions)\n- [Hash](../../devkit/index#hash)\n- [JsonParseOptions](../../devkit/index#jsonparseoptions)\n- [JsonSerializeOptions](../../devkit/index#jsonserializeoptions)\n- [RemoteCache](../../devkit/index#remotecache)\n- [StringDeletion](../../devkit/index#stringdeletion)\n- [StringInsertion](../../devkit/index#stringinsertion)\n\n### Workspace Interfaces\n\n- [ExecutorContext](../../devkit/index#executorcontext)\n- [ExecutorsJson](../../devkit/index#executorsjson)\n- [GeneratorsJson](../../devkit/index#generatorsjson)\n- [HasherContext](../../devkit/index#hashercontext)\n- [ImplicitJsonSubsetDependency](../../devkit/index#implicitjsonsubsetdependency)\n- [MigrationsJson](../../devkit/index#migrationsjson)\n- [NxAffectedConfig](../../devkit/index#nxaffectedconfig)\n- [NxJsonConfiguration](../../devkit/index#nxjsonconfiguration)\n- [ProjectConfiguration](../../devkit/index#projectconfiguration)\n- [TargetConfiguration](../../devkit/index#targetconfiguration)\n- [TargetDependencyConfig](../../devkit/index#targetdependencyconfig)\n- [Task](../../devkit/index#task)\n- [TaskGraph](../../devkit/index#taskgraph)\n- [Workspace](../../devkit/index#workspace)\n- [WorkspaceJsonConfiguration](../../devkit/index#workspacejsonconfiguration)\n\n### Generators Type aliases\n\n- [WorkspaceConfiguration](../../devkit/index#workspaceconfiguration)\n\n### Other Type aliases\n\n- [ProjectTargetConfigurator](../../devkit/index#projecttargetconfigurator)\n\n### Package Manager Type aliases\n\n- [PackageManager](../../devkit/index#packagemanager)\n\n### Project Graph Type aliases\n\n- [ProjectGraphNode](../../devkit/index#projectgraphnode)\n\n### Utils Type aliases\n\n- [StringChange](../../devkit/index#stringchange)\n\n### Workspace Type aliases\n\n- [CustomHasher](../../devkit/index#customhasher)\n- [Executor](../../devkit/index#executor)\n- [Generator](../../devkit/index#generator)\n- [GeneratorCallback](../../devkit/index#generatorcallback)\n- [ImplicitDependencyEntry](../../devkit/index#implicitdependencyentry)\n- [ProjectType](../../devkit/index#projecttype)\n- [TaskGraphExecutor](../../devkit/index#taskgraphexecutor)\n\n### Logger Variables\n\n- [logger](../../devkit/index#logger)\n\n### Utils Variables\n\n- [appRootPath](../../devkit/index#approotpath)\n- [cacheDir](../../devkit/index#cachedir)\n- [output](../../devkit/index#output)\n- [workspaceRoot](../../devkit/index#workspaceroot)\n\n### Functions\n\n- [addDependenciesToPackageJson](../../devkit/index#adddependenciestopackagejson)\n- [addProjectConfiguration](../../devkit/index#addprojectconfiguration)\n- [applyChangesToString](../../devkit/index#applychangestostring)\n- [convertNxExecutor](../../devkit/index#convertnxexecutor)\n- [convertNxGenerator](../../devkit/index#convertnxgenerator)\n- [createProjectGraphAsync](../../devkit/index#createprojectgraphasync)\n- [defaultTasksRunner](../../devkit/index#defaulttasksrunner)\n- [detectPackageManager](../../devkit/index#detectpackagemanager)\n- [formatFiles](../../devkit/index#formatfiles)\n- [generateFiles](../../devkit/index#generatefiles)\n- [getOutputsForTargetAndConfiguration](../../devkit/index#getoutputsfortargetandconfiguration)\n- [getPackageManagerCommand](../../devkit/index#getpackagemanagercommand)\n- [getPackageManagerVersion](../../devkit/index#getpackagemanagerversion)\n- [getProjects](../../devkit/index#getprojects)\n- [getWorkspaceLayout](../../devkit/index#getworkspacelayout)\n- [getWorkspacePath](../../devkit/index#getworkspacepath)\n- [installPackagesTask](../../devkit/index#installpackagestask)\n- [isStandaloneProject](../../devkit/index#isstandaloneproject)\n- [joinPathFragments](../../devkit/index#joinpathfragments)\n- [moveFilesToNewDirectory](../../devkit/index#movefilestonewdirectory)\n- [names](../../devkit/index#names)\n- [normalizePath](../../devkit/index#normalizepath)\n- [offsetFromRoot](../../devkit/index#offsetfromroot)\n- [parseJson](../../devkit/index#parsejson)\n- [parseTargetString](../../devkit/index#parsetargetstring)\n- [readCachedProjectGraph](../../devkit/index#readcachedprojectgraph)\n- [readJson](../../devkit/index#readjson)\n- [readJsonFile](../../devkit/index#readjsonfile)\n- [readNxJson](../../devkit/index#readnxjson)\n- [readProjectConfiguration](../../devkit/index#readprojectconfiguration)\n- [readTargetOptions](../../devkit/index#readtargetoptions)\n- [readWorkspaceConfiguration](../../devkit/index#readworkspaceconfiguration)\n- [removeDependenciesFromPackageJson](../../devkit/index#removedependenciesfrompackagejson)\n- [removeProjectConfiguration](../../devkit/index#removeprojectconfiguration)\n- [reverse](../../devkit/index#reverse)\n- [runExecutor](../../devkit/index#runexecutor)\n- [serializeJson](../../devkit/index#serializejson)\n- [stripIndents](../../devkit/index#stripindents)\n- [stripJsonComments](../../devkit/index#stripjsoncomments)\n- [targetToTargetString](../../devkit/index#targettotargetstring)\n- [toJS](../../devkit/index#tojs)\n- [updateJson](../../devkit/index#updatejson)\n- [updateProjectConfiguration](../../devkit/index#updateprojectconfiguration)\n- [updateTsConfigsToJs](../../devkit/index#updatetsconfigstojs)\n- [updateWorkspaceConfiguration](../../devkit/index#updateworkspaceconfiguration)\n- [visitNotIgnoredFiles](../../devkit/index#visitnotignoredfiles)\n- [workspaceLayout](../../devkit/index#workspacelayout)\n- [writeJson](../../devkit/index#writejson)\n- [writeJsonFile](../../devkit/index#writejsonfile)\n\n## Project Graph Enumerations\n\n### DependencyType\n\n• **DependencyType**: `Object`\n\n---\n\n## Utils Enumerations\n\n### ChangeType\n\n• **ChangeType**: `Object`\n\n## Project Graph Classes\n\n### ProjectGraphBuilder\n\n• **ProjectGraphBuilder**: `Object`\n\n---\n\n## Utils Classes\n\n### Hasher\n\n• **Hasher**: `Object`\n\n---\n\n## Workspace Classes\n\n### Workspaces\n\n• **Workspaces**: `Object`\n\n## Commands Interfaces\n\n### Target\n\n• **Target**: `Object`\n\n---\n\n## Other Interfaces\n\n### NxPlugin\n\n• **NxPlugin**: `Object`\n\nA plugin for Nx\n\n---\n\n## Project Graph Interfaces\n\n### FileData\n\n• **FileData**: `Object`\n\n---\n\n### ProjectFileMap\n\n• **ProjectFileMap**: `Object`\n\n---\n\n### ProjectGraph\n\n• **ProjectGraph**<`T`\\>: `Object`\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :---- |\n| `T` | `any` |\n\n---\n\n### ProjectGraphDependency\n\n• **ProjectGraphDependency**: `Object`\n\n---\n\n### ProjectGraphExternalNode\n\n• **ProjectGraphExternalNode**: `Object`\n\n---\n\n### ProjectGraphProcessorContext\n\n• **ProjectGraphProcessorContext**: `Object`\n\n---\n\n### ProjectGraphProjectNode\n\n• **ProjectGraphProjectNode**<`T`\\>: `Object`\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :---- |\n| `T` | `any` |\n\n---\n\n### ProjectGraphV4\n\n• **ProjectGraphV4**<`T`\\>: `Object`\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :---- |\n| `T` | `any` |\n\n---\n\n## Tree Interfaces\n\n### FileChange\n\n• **FileChange**: `Object`\n\n---\n\n### Tree\n\n• **Tree**: `Object`\n\n---\n\n## Utils Interfaces\n\n### DefaultTasksRunnerOptions\n\n• **DefaultTasksRunnerOptions**: `Object`\n\n---\n\n### Hash\n\n• **Hash**: `Object`\n\n---\n\n### JsonParseOptions\n\n• **JsonParseOptions**: `Object`\n\n---\n\n### JsonSerializeOptions\n\n• **JsonSerializeOptions**: `Object`\n\n---\n\n### RemoteCache\n\n• **RemoteCache**: `Object`\n\n---\n\n### StringDeletion\n\n• **StringDeletion**: `Object`\n\n---\n\n### StringInsertion\n\n• **StringInsertion**: `Object`\n\n---\n\n## Workspace Interfaces\n\n### ExecutorContext\n\n• **ExecutorContext**: `Object`\n\n---\n\n### ExecutorsJson\n\n• **ExecutorsJson**: `Object`\n\n---\n\n### GeneratorsJson\n\n• **GeneratorsJson**: `Object`\n\n---\n\n### HasherContext\n\n• **HasherContext**: `Object`\n\n---\n\n### ImplicitJsonSubsetDependency\n\n• **ImplicitJsonSubsetDependency**<`T`\\>: `Object`\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :------------------ |\n| `T` | `\"*\"` \\| `string`[] |\n\n---\n\n### MigrationsJson\n\n• **MigrationsJson**: `Object`\n\n---\n\n### NxAffectedConfig\n\n• **NxAffectedConfig**: `Object`\n\n---\n\n### NxJsonConfiguration\n\n• **NxJsonConfiguration**<`T`\\>: `Object`\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :------------------ |\n| `T` | `\"*\"` \\| `string`[] |\n\n---\n\n### ProjectConfiguration\n\n• **ProjectConfiguration**: `Object`\n\n---\n\n### TargetConfiguration\n\n• **TargetConfiguration**: `Object`\n\n---\n\n### TargetDependencyConfig\n\n• **TargetDependencyConfig**: `Object`\n\n---\n\n### Task\n\n• **Task**: `Object`\n\n---\n\n### TaskGraph\n\n• **TaskGraph**: `Object`\n\n---\n\n### Workspace\n\n• **Workspace**: `Object`\n\n---\n\n### WorkspaceJsonConfiguration\n\n• **WorkspaceJsonConfiguration**: `Object`\n\n## Generators Type aliases\n\n### WorkspaceConfiguration\n\nƬ **WorkspaceConfiguration**: `Omit`<[`WorkspaceJsonConfiguration`](../../devkit/index#workspacejsonconfiguration), `\"projects\"`\\> & `Partial`<[`NxJsonConfiguration`](../../devkit/index#nxjsonconfiguration)\\>\n\n---\n\n## Other Type aliases\n\n### ProjectTargetConfigurator\n\nƬ **ProjectTargetConfigurator**: (`file`: `string`) => `Record`<`string`, [`TargetConfiguration`](../../devkit/index#targetconfiguration)\\>\n\n#### Type declaration\n\n▸ (`file`): `Record`<`string`, [`TargetConfiguration`](../../devkit/index#targetconfiguration)\\>\n\n##### Parameters\n\n| Name | Type |\n| :----- | :------- |\n| `file` | `string` |\n\n##### Returns\n\n`Record`<`string`, [`TargetConfiguration`](../../devkit/index#targetconfiguration)\\>\n\n---\n\n## Package Manager Type aliases\n\n### PackageManager\n\nƬ **PackageManager**: `\"yarn\"` \\| `\"pnpm\"` \\| `\"npm\"`\n\n---\n\n## Project Graph Type aliases\n\n### ProjectGraphNode\n\nƬ **ProjectGraphNode**<`T`\\>: [`ProjectGraphProjectNode`](../../devkit/index#projectgraphprojectnode)<`T`\\> \\| [`ProjectGraphExternalNode`](../../devkit/index#projectgraphexternalnode)\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :---- |\n| `T` | `any` |\n\n---\n\n## Utils Type aliases\n\n### StringChange\n\nƬ **StringChange**: [`StringInsertion`](../../devkit/index#stringinsertion) \\| [`StringDeletion`](../../devkit/index#stringdeletion)\n\n---\n\n## Workspace Type aliases\n\n### CustomHasher\n\nƬ **CustomHasher**: (`task`: [`Task`](../../devkit/index#task), `context`: [`HasherContext`](../../devkit/index#hashercontext)) => `Promise`<[`Hash`](../../devkit/index#hash)\\>\n\n#### Type declaration\n\n▸ (`task`, `context`): `Promise`<[`Hash`](../../devkit/index#hash)\\>\n\n##### Parameters\n\n| Name | Type |\n| :-------- | :-------------------------------------------------- |\n| `task` | [`Task`](../../devkit/index#task) |\n| `context` | [`HasherContext`](../../devkit/index#hashercontext) |\n\n##### Returns\n\n`Promise`<[`Hash`](../../devkit/index#hash)\\>\n\n---\n\n### Executor\n\nƬ **Executor**<`T`\\>: (`options`: `T`, `context`: [`ExecutorContext`](../../devkit/index#executorcontext)) => `Promise`<`Object`\\> \\| `AsyncIterableIterator`<`Object`\\>\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :---- |\n| `T` | `any` |\n\n#### Type declaration\n\n▸ (`options`, `context`): `Promise`<`Object`\\> \\| `AsyncIterableIterator`<`Object`\\>\n\nImplementation of a target of a project\n\n##### Parameters\n\n| Name | Type |\n| :-------- | :------------------------------------------------------ |\n| `options` | `T` |\n| `context` | [`ExecutorContext`](../../devkit/index#executorcontext) |\n\n##### Returns\n\n`Promise`<`Object`\\> \\| `AsyncIterableIterator`<`Object`\\>\n\n---\n\n### Generator\n\nƬ **Generator**<`T`\\>: (`tree`: `any`, `schema`: `T`) => `void` \\| [`GeneratorCallback`](../../devkit/index#generatorcallback) \\| `Promise`<`void` \\| [`GeneratorCallback`](../../devkit/index#generatorcallback)\\>\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :-------- |\n| `T` | `unknown` |\n\n#### Type declaration\n\n▸ (`tree`, `schema`): `void` \\| [`GeneratorCallback`](../../devkit/index#generatorcallback) \\| `Promise`<`void` \\| [`GeneratorCallback`](../../devkit/index#generatorcallback)\\>\n\nA function that schedules updates to the filesystem to be done atomically\n\n##### Parameters\n\n| Name | Type |\n| :------- | :---- |\n| `tree` | `any` |\n| `schema` | `T` |\n\n##### Returns\n\n`void` \\| [`GeneratorCallback`](../../devkit/index#generatorcallback) \\| `Promise`<`void` \\| [`GeneratorCallback`](../../devkit/index#generatorcallback)\\>\n\n---\n\n### GeneratorCallback\n\nƬ **GeneratorCallback**: () => `void` \\| `Promise`<`void`\\>\n\n#### Type declaration\n\n▸ (): `void` \\| `Promise`<`void`\\>\n\nA callback function that is executed after changes are made to the file system\n\n##### Returns\n\n`void` \\| `Promise`<`void`\\>\n\n---\n\n### ImplicitDependencyEntry\n\nƬ **ImplicitDependencyEntry**<`T`\\>: `Object`\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :------------------ |\n| `T` | `\"*\"` \\| `string`[] |\n\n#### Index signature\n\n▪ [key: `string`]: `T` \\| [`ImplicitJsonSubsetDependency`](../../devkit/index#implicitjsonsubsetdependency)<`T`\\>\n\n---\n\n### ProjectType\n\nƬ **ProjectType**: `\"library\"` \\| `\"application\"`\n\n---\n\n### TaskGraphExecutor\n\nƬ **TaskGraphExecutor**<`T`\\>: (`taskGraph`: [`TaskGraph`](../../devkit/index#taskgraph), `options`: `Record`<`string`, `T`\\>, `overrides`: `T`, `context`: [`ExecutorContext`](../../devkit/index#executorcontext)) => `Promise`<`Record`<`string`, `Object`\\>\\>\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :---- |\n| `T` | `any` |\n\n#### Type declaration\n\n▸ (`taskGraph`, `options`, `overrides`, `context`): `Promise`<`Record`<`string`, `Object`\\>\\>\n\nImplementation of a target of a project that handles multiple projects to be batched\n\n##### Parameters\n\n| Name | Type |\n| :---------- | :------------------------------------------------------ |\n| `taskGraph` | [`TaskGraph`](../../devkit/index#taskgraph) |\n| `options` | `Record`<`string`, `T`\\> |\n| `overrides` | `T` |\n| `context` | [`ExecutorContext`](../../devkit/index#executorcontext) |\n\n##### Returns\n\n`Promise`<`Record`<`string`, `Object`\\>\\>\n\n## Logger Variables\n\n### logger\n\n• **logger**: `Object`\n\n#### Type declaration\n\n| Name | Type |\n| :------ | :-------------------------- |\n| `debug` | (...`s`: `any`[]) => `void` |\n| `error` | (`s`: `any`) => `void` |\n| `fatal` | (...`s`: `any`[]) => `void` |\n| `info` | (`s`: `any`) => `void` |\n| `log` | (...`s`: `any`[]) => `void` |\n| `warn` | (`s`: `any`) => `void` |\n\n---\n\n## Utils Variables\n\n### appRootPath\n\n• **appRootPath**: `string`\n\n---\n\n### cacheDir\n\n• **cacheDir**: `string`\n\n---\n\n### output\n\n• **output**: `CLIOutput`\n\n---\n\n### workspaceRoot\n\n• **workspaceRoot**: `string` = `appRootPath`\n\n## Functions\n\n### addDependenciesToPackageJson\n\n▸ **addDependenciesToPackageJson**(`tree`, `dependencies`, `devDependencies`, `packageJsonPath?`): [`GeneratorCallback`](../../devkit/index#generatorcallback)\n\nAdd Dependencies and Dev Dependencies to package.json\n\nFor example:\n\n```typescript\naddDependenciesToPackageJson(tree, { react: 'latest' }, { jest: 'latest' });\n```\n\nThis will **add** `react` and `jest` to the dependencies and devDependencies sections of package.json respectively.\n\n#### Parameters\n\n| Name | Type | Default value | Description |\n| :---------------- | :-------------------------------- | :--------------- | :---------------------------------------------------------------------- |\n| `tree` | [`Tree`](../../devkit/index#tree) | `undefined` | Tree representing file system to modify |\n| `dependencies` | `Record`<`string`, `string`\\> | `undefined` | Dependencies to be added to the dependencies section of package.json |\n| `devDependencies` | `Record`<`string`, `string`\\> | `undefined` | Dependencies to be added to the devDependencies section of package.json |\n| `packageJsonPath` | `string` | `'package.json'` | Path to package.json |\n\n#### Returns\n\n[`GeneratorCallback`](../../devkit/index#generatorcallback)\n\nCallback to install dependencies only if necessary. undefined is returned if changes are not necessary.\n\n---\n\n### addProjectConfiguration\n\n▸ **addProjectConfiguration**(`tree`, `projectName`, `projectConfiguration`, `standalone?`): `void`\n\nAdds project configuration to the Nx workspace.\n\nThe project configuration is stored in workspace.json or the associated project.json file.\nThe utility will update either files.\n\n#### Parameters\n\n| Name | Type | Description |\n| :--------------------- | :---------------------------------------------------------------- | :----------------------------------------------------------------------------------------- |\n| `tree` | [`Tree`](../../devkit/index#tree) | the file system tree |\n| `projectName` | `string` | unique name. Often directories are part of the name (e.g., mydir-mylib) |\n| `projectConfiguration` | [`ProjectConfiguration`](../../devkit/index#projectconfiguration) | project configuration |\n| `standalone?` | `boolean` | should the project use package.json? If false, the project config is inside workspace.json |\n\n#### Returns\n\n`void`\n\n---\n\n### applyChangesToString\n\n▸ **applyChangesToString**(`text`, `changes`): `string`\n\nApplies a list of changes to a string's original value.\n\nThis is useful when working with ASTs.\n\nFor Example, to rename a property in a method's options:\n\n```typescript\nconst code = `bootstrap({\n target: document.querySelector('#app')\n})`;\n\nconst indexOfPropertyName = 13; // Usually determined by analyzing an AST.\nconst updatedCode = applyChangesToString(code, [\n {\n type: ChangeType.Insert,\n index: indexOfPropertyName,\n text: 'element',\n },\n {\n type: ChangeType.Delete,\n start: indexOfPropertyName,\n length: 6,\n },\n]);\n\nbootstrap({\n element: document.querySelector('#app'),\n});\n```\n\n#### Parameters\n\n| Name | Type |\n| :-------- | :-------------------------------------------------- |\n| `text` | `string` |\n| `changes` | [`StringChange`](../../devkit/index#stringchange)[] |\n\n#### Returns\n\n`string`\n\n---\n\n### convertNxExecutor\n\n▸ **convertNxExecutor**(`executor`): `any`\n\nConvert an Nx Executor into an Angular Devkit Builder\n\nUse this to expose a compatible Angular Builder\n\n#### Parameters\n\n| Name | Type |\n| :--------- | :------------------------------------------------ |\n| `executor` | [`Executor`](../../devkit/index#executor)<`any`\\> |\n\n#### Returns\n\n`any`\n\n---\n\n### convertNxGenerator\n\n▸ **convertNxGenerator**<`T`\\>(`generator`, `skipWritingConfigInOldFormat?`): (`generatorOptions`: `T`) => (`tree`: `any`, `context`: `any`) => `Promise`<`any`\\>\n\nConvert an Nx Generator into an Angular Devkit Schematic.\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :---- |\n| `T` | `any` |\n\n#### Parameters\n\n| Name | Type | Default value | Description |\n| :----------------------------- | :------------------------------------------------ | :------------ | :------------------------------------------------------------------------------------------------ |\n| `generator` | [`Generator`](../../devkit/index#generator)<`T`\\> | `undefined` | The Nx generator to convert to an Angular Devkit Schematic. |\n| `skipWritingConfigInOldFormat` | `boolean` | `false` | Whether to skip writing the configuration in the old format (the one used by the Angular DevKit). |\n\n#### Returns\n\n`fn`\n\n▸ (`generatorOptions`): (`tree`: `any`, `context`: `any`) => `Promise`<`any`\\>\n\n##### Parameters\n\n| Name | Type |\n| :----------------- | :--- |\n| `generatorOptions` | `T` |\n\n##### Returns\n\n`fn`\n\n▸ (`tree`, `context`): `Promise`<`any`\\>\n\n##### Parameters\n\n| Name | Type |\n| :-------- | :---- |\n| `tree` | `any` |\n| `context` | `any` |\n\n##### Returns\n\n`Promise`<`any`\\>\n\n---\n\n### createProjectGraphAsync\n\n▸ **createProjectGraphAsync**(): `Promise`<[`ProjectGraph`](../../devkit/index#projectgraph)\\>\n\nComputes and returns a ProjectGraph.\n\nNx will compute the graph either in a daemon process or in the current process.\n\nNx will compute it in the current process if:\n\n- The process is running in CI (CI env variable is to true or other common variables used by CI providers are set).\n- It is running in the docker container.\n- The daemon process is disabled because of the previous error when starting the daemon.\n- `NX_DAEMON` is set to `false`.\n- `useDaemon` is set to false in `nx.json`\n\n`NX_DAEMON` env variable takes precedence:\n\n- If it is set to true, the daemon will always be used.\n- If it is set to false, the graph will always be computed in the current process.\n\nTip: If you want to debug project graph creation, run your command with NX_DAEMON=false.\n\nNx uses two layers of caching: the information about explicit dependencies stored on the disk and the information\nstored in the daemon process. To reset both run: `nx reset`.\n\n#### Returns\n\n`Promise`<[`ProjectGraph`](../../devkit/index#projectgraph)\\>\n\n---\n\n### defaultTasksRunner\n\n▸ `Const` **defaultTasksRunner**(`tasks`, `options`, `context?`): `Observable`<`AffectedEvent`\\> \\| `Promise`<`Object`\\>\n\n#### Parameters\n\n| Name | Type |\n| :--------------------------- | :------------------------------------------------------------------------------------ |\n| `tasks` | [`Task`](../../devkit/index#task)[] |\n| `options` | [`DefaultTasksRunnerOptions`](../../devkit/index#defaulttasksrunneroptions) |\n| `context?` | `Object` |\n| `context.initiatingProject?` | `string` |\n| `context.nxJson` | [`NxJsonConfiguration`](../../devkit/index#nxjsonconfiguration)<`string`[] \\| `\"*\"`\\> |\n| `context.projectGraph` | [`ProjectGraph`](../../devkit/index#projectgraph)<`any`\\> |\n| `context.target?` | `string` |\n\n#### Returns\n\n`Observable`<`AffectedEvent`\\> \\| `Promise`<`Object`\\>\n\n---\n\n### detectPackageManager\n\n▸ **detectPackageManager**(`dir?`): [`PackageManager`](../../devkit/index#packagemanager)\n\nDetects which package manager is used in the workspace based on the lock file.\n\n#### Parameters\n\n| Name | Type | Default value |\n| :---- | :------- | :------------ |\n| `dir` | `string` | `''` |\n\n#### Returns\n\n[`PackageManager`](../../devkit/index#packagemanager)\n\n---\n\n### formatFiles\n\n▸ **formatFiles**(`tree`): `Promise`<`void`\\>\n\nFormats all the created or updated files using Prettier\n\n#### Parameters\n\n| Name | Type | Description |\n| :----- | :-------------------------------- | :------------------- |\n| `tree` | [`Tree`](../../devkit/index#tree) | the file system tree |\n\n#### Returns\n\n`Promise`<`void`\\>\n\n---\n\n### generateFiles\n\n▸ **generateFiles**(`tree`, `srcFolder`, `target`, `substitutions`): `void`\n\nGenerates a folder of files based on provided templates.\n\nWhile doing so it performs two substitutions:\n\n- Substitutes segments of file names surrounded by \\_\\_\n- Uses ejs to substitute values in templates\n\nExamples:\n\n```typescript\ngenerateFiles(tree, path.join(__dirname, 'files'), './tools/scripts', {\n tmpl: '',\n name: 'myscript',\n});\n```\n\nThis command will take all the files from the `files` directory next to the place where the command is invoked from.\nIt will replace all `__tmpl__` with '' and all `__name__` with 'myscript' in the file names, and will replace all\n`<%= name %>` with `myscript` in the files themselves.\n`tmpl: ''` is a common pattern. With it you can name files like this: `index.ts__tmpl__`, so your editor\ndoesn't get confused about incorrect TypeScript files.\n\n#### Parameters\n\n| Name | Type | Description |\n| :-------------- | :-------------------------------- | :-------------------------------------------- |\n| `tree` | [`Tree`](../../devkit/index#tree) | the file system tree |\n| `srcFolder` | `string` | the source folder of files (absolute path) |\n| `target` | `string` | the target folder (relative to the tree root) |\n| `substitutions` | `Object` | an object of key-value pairs |\n\n#### Returns\n\n`void`\n\n---\n\n### getOutputsForTargetAndConfiguration\n\n▸ **getOutputsForTargetAndConfiguration**(`task`, `node`): `any`\n\nReturns the list of outputs that will be cached.\n\n#### Parameters\n\n| Name | Type | Description |\n| :----- | :------------------------------------------------------------------------------ | :-------------------------------------------------------- |\n| `task` | `Pick`<[`Task`](../../devkit/index#task), `\"target\"` \\| `\"overrides\"`\\> | target + overrides |\n| `node` | [`ProjectGraphProjectNode`](../../devkit/index#projectgraphprojectnode)<`any`\\> | ProjectGraphProjectNode object that the task runs against |\n\n#### Returns\n\n`any`\n\n---\n\n### getPackageManagerCommand\n\n▸ **getPackageManagerCommand**(`packageManager?`): `PackageManagerCommands`\n\nReturns commands for the package manager used in the workspace.\nBy default, the package manager is derived based on the lock file,\nbut it can also be passed in explicitly.\n\nExample:\n\n```javascript\nexecSync(`${getPackageManagerCommand().addDev} my-dev-package`);\n```\n\n#### Parameters\n\n| Name | Type |\n| :--------------- | :---------------------------------------------------- |\n| `packageManager` | [`PackageManager`](../../devkit/index#packagemanager) |\n\n#### Returns\n\n`PackageManagerCommands`\n\n---\n\n### getPackageManagerVersion\n\n▸ **getPackageManagerVersion**(`packageManager?`): `string`\n\nReturns the version of the package manager used in the workspace.\nBy default, the package manager is derived based on the lock file,\nbut it can also be passed in explicitly.\n\n#### Parameters\n\n| Name | Type |\n| :--------------- | :---------------------------------------------------- |\n| `packageManager` | [`PackageManager`](../../devkit/index#packagemanager) |\n\n#### Returns\n\n`string`\n\n---\n\n### getProjects\n\n▸ **getProjects**(`tree`): `Map`<`string`, [`ProjectConfiguration`](../../devkit/index#projectconfiguration)\\>\n\nGet a map of all projects in a workspace.\n\nUse [readProjectConfiguration](../../devkit/index#readprojectconfiguration) if only one project is needed.\n\n#### Parameters\n\n| Name | Type |\n| :----- | :-------------------------------- |\n| `tree` | [`Tree`](../../devkit/index#tree) |\n\n#### Returns\n\n`Map`<`string`, [`ProjectConfiguration`](../../devkit/index#projectconfiguration)\\>\n\n---\n\n### getWorkspaceLayout\n\n▸ **getWorkspaceLayout**(`tree`): `Object`\n\nReturns workspace defaults. It includes defaults folders for apps and libs,\nand the default scope.\n\nExample:\n\n```typescript\n{ appsDir: 'apps', libsDir: 'libs', npmScope: 'myorg' }\n```\n\n#### Parameters\n\n| Name | Type | Description |\n| :----- | :-------------------------------- | :--------------- |\n| `tree` | [`Tree`](../../devkit/index#tree) | file system tree |\n\n#### Returns\n\n`Object`\n\n| Name | Type |\n| :-------------------- | :-------- |\n| `appsDir` | `string` |\n| `libsDir` | `string` |\n| `npmScope` | `string` |\n| `standaloneAsDefault` | `boolean` |\n\n---\n\n### getWorkspacePath\n\n▸ **getWorkspacePath**(`tree`): `\"/angular.json\"` \\| `\"/workspace.json\"` \\| `null`\n\n#### Parameters\n\n| Name | Type |\n| :----- | :-------------------------------- |\n| `tree` | [`Tree`](../../devkit/index#tree) |\n\n#### Returns\n\n`\"/angular.json\"` \\| `\"/workspace.json\"` \\| `null`\n\n---\n\n### installPackagesTask\n\n▸ **installPackagesTask**(`tree`, `alwaysRun?`, `cwd?`, `packageManager?`): `void`\n\nRuns `npm install` or `yarn install`. It will skip running the install if\n`package.json` hasn't changed at all or it hasn't changed since the last invocation.\n\n#### Parameters\n\n| Name | Type | Default value | Description |\n| :--------------- | :---------------------------------------------------- | :------------ | :------------------------------------------------------------ |\n| `tree` | [`Tree`](../../devkit/index#tree) | `undefined` | the file system tree |\n| `alwaysRun` | `boolean` | `false` | always run the command even if `package.json` hasn't changed. |\n| `cwd` | `string` | `''` | - |\n| `packageManager` | [`PackageManager`](../../devkit/index#packagemanager) | `undefined` | - |\n\n#### Returns\n\n`void`\n\n---\n\n### isStandaloneProject\n\n▸ **isStandaloneProject**(`tree`, `project`): `boolean`\n\nReturns if a project has a standalone configuration (project.json).\n\n#### Parameters\n\n| Name | Type | Description |\n| :-------- | :-------------------------------- | :------------------- |\n| `tree` | [`Tree`](../../devkit/index#tree) | the file system tree |\n| `project` | `string` | the project name |\n\n#### Returns\n\n`boolean`\n\n---\n\n### joinPathFragments\n\n▸ **joinPathFragments**(...`fragments`): `string`\n\nNormalized path fragments and joins them\n\n#### Parameters\n\n| Name | Type |\n| :------------- | :--------- |\n| `...fragments` | `string`[] |\n\n#### Returns\n\n`string`\n\n---\n\n### moveFilesToNewDirectory\n\n▸ **moveFilesToNewDirectory**(`tree`, `oldDir`, `newDir`): `void`\n\nAnalogous to cp -r oldDir newDir\n\n#### Parameters\n\n| Name | Type |\n| :------- | :-------------------------------- |\n| `tree` | [`Tree`](../../devkit/index#tree) |\n| `oldDir` | `string` |\n| `newDir` | `string` |\n\n#### Returns\n\n`void`\n\n---\n\n### names\n\n▸ **names**(`name`): `Object`\n\nUtil function to generate different strings based off the provided name.\n\nExamples:\n\n```typescript\nnames('my-name'); // {name: 'my-name', className: 'MyName', propertyName: 'myName', constantName: 'MY_NAME', fileName: 'my-name'}\nnames('myName'); // {name: 'myName', className: 'MyName', propertyName: 'myName', constantName: 'MY_NAME', fileName: 'my-name'}\n```\n\n#### Parameters\n\n| Name | Type |\n| :----- | :------- |\n| `name` | `string` |\n\n#### Returns\n\n`Object`\n\n| Name | Type |\n| :------------- | :------- |\n| `className` | `string` |\n| `constantName` | `string` |\n| `fileName` | `string` |\n| `name` | `string` |\n| `propertyName` | `string` |\n\n---\n\n### normalizePath\n\n▸ **normalizePath**(`osSpecificPath`): `string`\n\nCoverts an os specific path to a unix style path\n\n#### Parameters\n\n| Name | Type |\n| :--------------- | :------- |\n| `osSpecificPath` | `string` |\n\n#### Returns\n\n`string`\n\n---\n\n### offsetFromRoot\n\n▸ **offsetFromRoot**(`fullPathToDir`): `string`\n\nCalculates an offset from the root of the workspace, which is useful for\nconstructing relative URLs.\n\nExamples:\n\n```typescript\noffsetFromRoot('apps/mydir/myapp/'); // returns \"../../../\"\n```\n\n#### Parameters\n\n| Name | Type | Description |\n| :-------------- | :------- | :------------- |\n| `fullPathToDir` | `string` | directory path |\n\n#### Returns\n\n`string`\n\n---\n\n### parseJson\n\n▸ **parseJson**<`T`\\>(`input`, `options?`): `T`\n\nParses the given JSON string and returns the object the JSON content represents.\nBy default javascript-style comments are allowed.\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :----------------------- |\n| `T` | extends `object` = `any` |\n\n#### Parameters\n\n| Name | Type | Description |\n| :--------- | :-------------------------------------------------------- | :--------------------- |\n| `input` | `string` | JSON content as string |\n| `options?` | [`JsonParseOptions`](../../devkit/index#jsonparseoptions) | JSON parse options |\n\n#### Returns\n\n`T`\n\nObject the JSON content represents\n\n---\n\n### parseTargetString\n\n▸ **parseTargetString**(`targetString`): [`Target`](../../devkit/index#target)\n\nParses a target string into {project, target, configuration}\n\nExamples:\n\n```typescript\nparseTargetString('proj:test'); // returns { project: \"proj\", target: \"test\" }\nparseTargetString('proj:test:production'); // returns { project: \"proj\", target: \"test\", configuration: \"production\" }\n```\n\n#### Parameters\n\n| Name | Type | Description |\n| :------------- | :------- | :--------------- |\n| `targetString` | `string` | target reference |\n\n#### Returns\n\n[`Target`](../../devkit/index#target)\n\n---\n\n### readCachedProjectGraph\n\n▸ **readCachedProjectGraph**(): [`ProjectGraph`](../../devkit/index#projectgraph)\n\nSynchronously reads the latest cached copy of the workspace's ProjectGraph.\n\n**`throws`** {Error} if there is no cached ProjectGraph to read from\n\n#### Returns\n\n[`ProjectGraph`](../../devkit/index#projectgraph)\n\n---\n\n### readJson\n\n▸ **readJson**<`T`\\>(`tree`, `path`, `options?`): `T`\n\nReads a json file, removes all comments and parses JSON.\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :----------------------- |\n| `T` | extends `object` = `any` |\n\n#### Parameters\n\n| Name | Type | Description |\n| :--------- | :-------------------------------------------------------- | :-------------------------- |\n| `tree` | [`Tree`](../../devkit/index#tree) | file system tree |\n| `path` | `string` | file path |\n| `options?` | [`JsonParseOptions`](../../devkit/index#jsonparseoptions) | Optional JSON Parse Options |\n\n#### Returns\n\n`T`\n\n---\n\n### readJsonFile\n\n▸ **readJsonFile**<`T`\\>(`path`, `options?`): `T`\n\nReads a JSON file and returns the object the JSON content represents.\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :----------------------- |\n| `T` | extends `object` = `any` |\n\n#### Parameters\n\n| Name | Type | Description |\n| :--------- | :---------------- | :----------------- |\n| `path` | `string` | A path to a file. |\n| `options?` | `JsonReadOptions` | JSON parse options |\n\n#### Returns\n\n`T`\n\nObject the JSON content of the file represents\n\n---\n\n### readNxJson\n\n▸ **readNxJson**(`path?`): [`NxJsonConfiguration`](../../devkit/index#nxjsonconfiguration)\n\nReturns the contents of nx.json.\n\nIf nx.json extends another config file, it will be inlined here.\n\n#### Parameters\n\n| Name | Type |\n| :----- | :------- |\n| `path` | `string` |\n\n#### Returns\n\n[`NxJsonConfiguration`](../../devkit/index#nxjsonconfiguration)\n\n---\n\n### readProjectConfiguration\n\n▸ **readProjectConfiguration**(`tree`, `projectName`): [`ProjectConfiguration`](../../devkit/index#projectconfiguration)\n\nReads a project configuration.\n\nThe project configuration is stored in workspace.json or the associated project.json file.\nThe utility will read from either file.\n\n**`throws`** If supplied projectName cannot be found\n\n#### Parameters\n\n| Name | Type | Description |\n| :------------ | :-------------------------------- | :---------------------------------------------------------------------- |\n| `tree` | [`Tree`](../../devkit/index#tree) | the file system tree |\n| `projectName` | `string` | unique name. Often directories are part of the name (e.g., mydir-mylib) |\n\n#### Returns\n\n[`ProjectConfiguration`](../../devkit/index#projectconfiguration)\n\n---\n\n### readTargetOptions\n\n▸ **readTargetOptions**<`T`\\>(`__namedParameters`, `context`): `T`\n\nReads and combines options for a given target.\n\nWorks as if you invoked the target yourself without passing any command lint overrides.\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :---- |\n| `T` | `any` |\n\n#### Parameters\n\n| Name | Type |\n| :------------------ | :------------------------------------------------------ |\n| `__namedParameters` | [`Target`](../../devkit/index#target) |\n| `context` | [`ExecutorContext`](../../devkit/index#executorcontext) |\n\n#### Returns\n\n`T`\n\n---\n\n### readWorkspaceConfiguration\n\n▸ **readWorkspaceConfiguration**(`tree`): [`WorkspaceConfiguration`](../../devkit/index#workspaceconfiguration)\n\nRead general workspace configuration such as the default project or cli settings\n\nThis does _not_ provide projects configuration, use [readProjectConfiguration](../../devkit/index#readprojectconfiguration) instead.\n\n#### Parameters\n\n| Name | Type |\n| :----- | :-------------------------------- |\n| `tree` | [`Tree`](../../devkit/index#tree) |\n\n#### Returns\n\n[`WorkspaceConfiguration`](../../devkit/index#workspaceconfiguration)\n\n---\n\n### removeDependenciesFromPackageJson\n\n▸ **removeDependenciesFromPackageJson**(`tree`, `dependencies`, `devDependencies`, `packageJsonPath?`): [`GeneratorCallback`](../../devkit/index#generatorcallback)\n\nRemove Dependencies and Dev Dependencies from package.json\n\nFor example:\n\n```typescript\nremoveDependenciesFromPackageJson(tree, ['react'], ['jest']);\n```\n\nThis will **remove** `react` and `jest` from the dependencies and devDependencies sections of package.json respectively.\n\n#### Parameters\n\n| Name | Type | Default value | Description |\n| :---------------- | :-------------------------------- | :--------------- | :-------------------------------------------------------------------------- |\n| `tree` | [`Tree`](../../devkit/index#tree) | `undefined` | - |\n| `dependencies` | `string`[] | `undefined` | Dependencies to be removed from the dependencies section of package.json |\n| `devDependencies` | `string`[] | `undefined` | Dependencies to be removed from the devDependencies section of package.json |\n| `packageJsonPath` | `string` | `'package.json'` | - |\n\n#### Returns\n\n[`GeneratorCallback`](../../devkit/index#generatorcallback)\n\nCallback to uninstall dependencies only if necessary. undefined is returned if changes are not necessary.\n\n---\n\n### removeProjectConfiguration\n\n▸ **removeProjectConfiguration**(`tree`, `projectName`): `void`\n\nRemoves the configuration of an existing project.\n\nThe project configuration is stored in workspace.json or the associated project.json file.\nThe utility will update either file.\n\n#### Parameters\n\n| Name | Type |\n| :------------ | :-------------------------------- |\n| `tree` | [`Tree`](../../devkit/index#tree) |\n| `projectName` | `string` |\n\n#### Returns\n\n`void`\n\n---\n\n### reverse\n\n▸ **reverse**(`graph`): [`ProjectGraph`](../../devkit/index#projectgraph)\n\nReturns a new project graph where all the edges are reversed.\n\nFor instance, if project A depends on B, in the reversed graph\nB will depend on A.\n\n#### Parameters\n\n| Name | Type |\n| :------ | :-------------------------------------------------------- |\n| `graph` | [`ProjectGraph`](../../devkit/index#projectgraph)<`any`\\> |\n\n#### Returns\n\n[`ProjectGraph`](../../devkit/index#projectgraph)\n\n---\n\n### runExecutor\n\n▸ **runExecutor**<`T`\\>(`targetDescription`, `options`, `context`): `Promise`<`AsyncIterableIterator`<`T`\\>\\>\n\nLoads and invokes executor.\n\nThis is analogous to invoking executor from the terminal, with the exception\nthat the params aren't parsed from the string, but instead provided parsed already.\n\nApart from that, it works the same way:\n\n- it will load the workspace configuration\n- it will resolve the target\n- it will load the executor and the schema\n- it will load the options for the appropriate configuration\n- it will run the validations and will set the default\n- and, of course, it will invoke the executor\n\nExample:\n\n```typescript\nfor await (const s of await runExecutor(\n { project: 'myproj', target: 'serve' },\n { watch: true },\n context\n)) {\n // s.success\n}\n```\n\nNote that the return value is a promise of an iterator, so you need to await before iterating over it.\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :--------------- |\n| `T` | extends `Object` |\n\n#### Parameters\n\n| Name | Type |\n| :--------------------------------- | :------------------------------------------------------ |\n| `targetDescription` | `Object` |\n| `targetDescription.configuration?` | `string` |\n| `targetDescription.project` | `string` |\n| `targetDescription.target` | `string` |\n| `options` | `Object` |\n| `context` | [`ExecutorContext`](../../devkit/index#executorcontext) |\n\n#### Returns\n\n`Promise`<`AsyncIterableIterator`<`T`\\>\\>\n\n---\n\n### serializeJson\n\n▸ **serializeJson**<`T`\\>(`input`, `options?`): `string`\n\nSerializes the given data to a JSON string.\nBy default the JSON string is formatted with a 2 space intendation to be easy readable.\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :-------------------------- |\n| `T` | extends `object` = `object` |\n\n#### Parameters\n\n| Name | Type | Description |\n| :--------- | :---------------------------------------------------------------- | :---------------------------------------- |\n| `input` | `T` | Object which should be serialized to JSON |\n| `options?` | [`JsonSerializeOptions`](../../devkit/index#jsonserializeoptions) | JSON serialize options |\n\n#### Returns\n\n`string`\n\nthe formatted JSON representation of the object\n\n---\n\n### stripIndents\n\n▸ **stripIndents**(`strings`, ...`values`): `string`\n\nRemoves indents, which is useful for printing warning and messages.\n\nExample:\n\n```typescript\nstripIndents`\n Options:\n - option1\n - option2\n`;\n```\n\n#### Parameters\n\n| Name | Type |\n| :---------- | :--------------------- |\n| `strings` | `TemplateStringsArray` |\n| `...values` | `any`[] |\n\n#### Returns\n\n`string`\n\n---\n\n### stripJsonComments\n\n▸ `Const` **stripJsonComments**(`text`, `replaceCh?`): `string`\n\nTakes JSON with JavaScript-style comments and remove\nthem. Optionally replaces every none-newline character\nof comments with a replaceCharacter\n\n#### Parameters\n\n| Name | Type |\n| :----------- | :------- |\n| `text` | `string` |\n| `replaceCh?` | `string` |\n\n#### Returns\n\n`string`\n\n---\n\n### targetToTargetString\n\n▸ **targetToTargetString**(`target`): `string`\n\nReturns a string in the format \"project:target[:configuration]\" for the target\n\n#### Parameters\n\n| Name | Type | Description |\n| :------- | :------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `target` | [`Target`](../../devkit/index#target) | target object Examples: `typescript targetToTargetString({ project: \"proj\", target: \"test\" }) // returns \"proj:test\" targetToTargetString({ project: \"proj\", target: \"test\", configuration: \"production\" }) // returns \"proj:test:production\" ` |\n\n#### Returns\n\n`string`\n\n---\n\n### toJS\n\n▸ **toJS**(`tree`): `void`\n\nRename and transpile any new typescript files created to javascript files\n\n#### Parameters\n\n| Name | Type |\n| :----- | :-------------------------------- |\n| `tree` | [`Tree`](../../devkit/index#tree) |\n\n#### Returns\n\n`void`\n\n---\n\n### updateJson\n\n▸ **updateJson**<`T`, `U`\\>(`tree`, `path`, `updater`, `options?`): `void`\n\nUpdates a JSON value to the file system tree\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :----------------------- |\n| `T` | extends `object` = `any` |\n| `U` | extends `object` = `T` |\n\n#### Parameters\n\n| Name | Type | Description |\n| :--------- | :---------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------- |\n| `tree` | [`Tree`](../../devkit/index#tree) | File system tree |\n| `path` | `string` | Path of JSON file in the Tree |\n| `updater` | (`value`: `T`) => `U` | Function that maps the current value of a JSON document to a new value to be written to the document |\n| `options?` | [`JsonParseOptions`](../../devkit/index#jsonparseoptions) & [`JsonSerializeOptions`](../../devkit/index#jsonserializeoptions) | Optional JSON Parse and Serialize Options |\n\n#### Returns\n\n`void`\n\n---\n\n### updateProjectConfiguration\n\n▸ **updateProjectConfiguration**(`tree`, `projectName`, `projectConfiguration`): `void`\n\nUpdates the configuration of an existing project.\n\nThe project configuration is stored in workspace.json or the associated project.json file.\nThe utility will update either files.\n\n#### Parameters\n\n| Name | Type | Description |\n| :--------------------- | :---------------------------------------------------------------- | :---------------------------------------------------------------------- |\n| `tree` | [`Tree`](../../devkit/index#tree) | the file system tree |\n| `projectName` | `string` | unique name. Often directories are part of the name (e.g., mydir-mylib) |\n| `projectConfiguration` | [`ProjectConfiguration`](../../devkit/index#projectconfiguration) | project configuration |\n\n#### Returns\n\n`void`\n\n---\n\n### updateTsConfigsToJs\n\n▸ **updateTsConfigsToJs**(`tree`, `options`): `void`\n\n#### Parameters\n\n| Name | Type |\n| :-------------------- | :-------------------------------- |\n| `tree` | [`Tree`](../../devkit/index#tree) |\n| `options` | `Object` |\n| `options.projectRoot` | `string` |\n\n#### Returns\n\n`void`\n\n---\n\n### updateWorkspaceConfiguration\n\n▸ **updateWorkspaceConfiguration**(`tree`, `workspaceConfig`): `void`\n\nUpdate general workspace configuration such as the default project or cli settings.\n\nThis does _not_ update projects configuration, use [updateProjectConfiguration](../../devkit/index#updateprojectconfiguration) or [addProjectConfiguration](../../devkit/index#addprojectconfiguration) instead.\n\n#### Parameters\n\n| Name | Type |\n| :---------------- | :-------------------------------------------------------------------- |\n| `tree` | [`Tree`](../../devkit/index#tree) |\n| `workspaceConfig` | [`WorkspaceConfiguration`](../../devkit/index#workspaceconfiguration) |\n\n#### Returns\n\n`void`\n\n---\n\n### visitNotIgnoredFiles\n\n▸ **visitNotIgnoredFiles**(`tree`, `dirPath?`, `visitor`): `void`\n\nUtility to act on all files in a tree that are not ignored by git.\n\n#### Parameters\n\n| Name | Type | Default value |\n| :-------- | :-------------------------------- | :------------ |\n| `tree` | [`Tree`](../../devkit/index#tree) | `undefined` |\n| `dirPath` | `string` | `tree.root` |\n| `visitor` | (`path`: `string`) => `void` | `undefined` |\n\n#### Returns\n\n`void`\n\n---\n\n### workspaceLayout\n\n▸ **workspaceLayout**(): `Object`\n\nReturns information about where apps and libs will be created.\n\n#### Returns\n\n`Object`\n\n| Name | Type |\n| :-------- | :------- |\n| `appsDir` | `string` |\n| `libsDir` | `string` |\n\n---\n\n### writeJson\n\n▸ **writeJson**<`T`\\>(`tree`, `path`, `value`, `options?`): `void`\n\nWrites a JSON value to the file system tree\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :-------------------------- |\n| `T` | extends `object` = `object` |\n\n#### Parameters\n\n| Name | Type | Description |\n| :--------- | :---------------------------------------------------------------- | :------------------------------ |\n| `tree` | [`Tree`](../../devkit/index#tree) | File system tree |\n| `path` | `string` | Path of JSON file in the Tree |\n| `value` | `T` | Serializable value to write |\n| `options?` | [`JsonSerializeOptions`](../../devkit/index#jsonserializeoptions) | Optional JSON Serialize Options |\n\n#### Returns\n\n`void`\n\n---\n\n### writeJsonFile\n\n▸ **writeJsonFile**<`T`\\>(`path`, `data`, `options?`): `void`\n\nSerializes the given data to JSON and writes it to a file.\n\n#### Type parameters\n\n| Name | Type |\n| :--- | :-------------------------- |\n| `T` | extends `object` = `object` |\n\n#### Parameters\n\n| Name | Type | Description |\n| :--------- | :----------------- | :-------------------------------------------------------------- |\n| `path` | `string` | A path to a file. |\n| `data` | `T` | data which should be serialized to JSON and written to the file |\n| `options?` | `JsonWriteOptions` | JSON serialize options |\n\n#### Returns\n\n`void`\n"
},
{
"id": "ngcli_adapter",
"name": "Ng CLI Adapter",
- "file": "generated/api-nx-devkit/ngcli_adapter",
- "content": "# Module: ngcli-adapter\n\n## Table of contents\n\n### Ng CLI Adapter Classes\n\n- [NxScopedHost](../../nx-devkit/ngcli_adapter#nxscopedhost)\n\n### Functions\n\n- [mockSchematicsForTesting](../../nx-devkit/ngcli_adapter#mockschematicsfortesting)\n- [overrideCollectionResolutionForTesting](../../nx-devkit/ngcli_adapter#overridecollectionresolutionfortesting)\n- [wrapAngularDevkitSchematic](../../nx-devkit/ngcli_adapter#wrapangulardevkitschematic)\n\n## Ng CLI Adapter Classes\n\n### NxScopedHost\n\n• **NxScopedHost**: `Object`\n\n## Functions\n\n### mockSchematicsForTesting\n\n▸ **mockSchematicsForTesting**(`schematics`): `void`\n\nIf you have an Nx Devkit generator invoking the wrapped Angular Devkit schematic,\nand you don't want the Angular Devkit schematic to run, you can mock it up using this function.\n\nUnfortunately, there are some edge cases in the Nx-Angular devkit integration that\ncan be seen in the unit tests context. This function is useful for handling that as well.\n\nIn this case, you can mock it up.\n\nExample:\n\n```typescript\nmockSchematicsForTesting({\n 'mycollection:myschematic': (tree, params) => {\n tree.write('README.md');\n },\n});\n```\n\n#### Parameters\n\n| Name | Type |\n| :----------- | :------- |\n| `schematics` | `Object` |\n\n#### Returns\n\n`void`\n\n---\n\n### overrideCollectionResolutionForTesting\n\n▸ **overrideCollectionResolutionForTesting**(`collections`): `void`\n\nBy default, Angular Devkit schematic collections will be resolved using the Node resolution.\nThis doesn't work if you are testing schematics that refer to other schematics in the\nsame repo.\n\nThis function can can be used to override the resolution behaviour.\n\nExample:\n\n```typescript\noverrideCollectionResolutionForTesting({\n '@nrwl/workspace': path.join(\n __dirname,\n '../../../../workspace/generators.json'\n ),\n '@nrwl/angular': path.join(__dirname, '../../../../angular/generators.json'),\n '@nrwl/linter': path.join(__dirname, '../../../../linter/generators.json'),\n});\n```\n\n#### Parameters\n\n| Name | Type |\n| :------------ | :------- |\n| `collections` | `Object` |\n\n#### Returns\n\n`void`\n\n---\n\n### wrapAngularDevkitSchematic\n\n▸ **wrapAngularDevkitSchematic**(`collectionName`, `generatorName`): (`host`: [`Tree`](../../nx-devkit/index#tree), `generatorOptions`: { [k: string]: `any`; }) => `Promise`<`any`\\>\n\n#### Parameters\n\n| Name | Type |\n| :--------------- | :------- |\n| `collectionName` | `string` |\n| `generatorName` | `string` |\n\n#### Returns\n\n`fn`\n\n▸ (`host`, `generatorOptions`): `Promise`<`any`\\>\n\n##### Parameters\n\n| Name | Type |\n| :----------------- | :----------------------------------- |\n| `host` | [`Tree`](../../nx-devkit/index#tree) |\n| `generatorOptions` | `Object` |\n\n##### Returns\n\n`Promise`<`any`\\>\n"
+ "file": "generated/devkit/ngcli_adapter",
+ "content": "# Module: ngcli-adapter\n\n## Table of contents\n\n### Ng CLI Adapter Classes\n\n- [NxScopedHost](../../devkit/ngcli_adapter#nxscopedhost)\n\n### Functions\n\n- [mockSchematicsForTesting](../../devkit/ngcli_adapter#mockschematicsfortesting)\n- [overrideCollectionResolutionForTesting](../../devkit/ngcli_adapter#overridecollectionresolutionfortesting)\n- [wrapAngularDevkitSchematic](../../devkit/ngcli_adapter#wrapangulardevkitschematic)\n\n## Ng CLI Adapter Classes\n\n### NxScopedHost\n\n• **NxScopedHost**: `Object`\n\n## Functions\n\n### mockSchematicsForTesting\n\n▸ **mockSchematicsForTesting**(`schematics`): `void`\n\nIf you have an Nx Devkit generator invoking the wrapped Angular Devkit schematic,\nand you don't want the Angular Devkit schematic to run, you can mock it up using this function.\n\nUnfortunately, there are some edge cases in the Nx-Angular devkit integration that\ncan be seen in the unit tests context. This function is useful for handling that as well.\n\nIn this case, you can mock it up.\n\nExample:\n\n```typescript\nmockSchematicsForTesting({\n 'mycollection:myschematic': (tree, params) => {\n tree.write('README.md');\n },\n});\n```\n\n#### Parameters\n\n| Name | Type |\n| :----------- | :------- |\n| `schematics` | `Object` |\n\n#### Returns\n\n`void`\n\n---\n\n### overrideCollectionResolutionForTesting\n\n▸ **overrideCollectionResolutionForTesting**(`collections`): `void`\n\nBy default, Angular Devkit schematic collections will be resolved using the Node resolution.\nThis doesn't work if you are testing schematics that refer to other schematics in the\nsame repo.\n\nThis function can can be used to override the resolution behaviour.\n\nExample:\n\n```typescript\noverrideCollectionResolutionForTesting({\n '@nrwl/workspace': path.join(\n __dirname,\n '../../../../workspace/generators.json'\n ),\n '@nrwl/angular': path.join(__dirname, '../../../../angular/generators.json'),\n '@nrwl/linter': path.join(__dirname, '../../../../linter/generators.json'),\n});\n```\n\n#### Parameters\n\n| Name | Type |\n| :------------ | :------- |\n| `collections` | `Object` |\n\n#### Returns\n\n`void`\n\n---\n\n### wrapAngularDevkitSchematic\n\n▸ **wrapAngularDevkitSchematic**(`collectionName`, `generatorName`): (`host`: [`Tree`](../../devkit/index#tree), `generatorOptions`: { [k: string]: `any`; }) => `Promise`<`any`\\>\n\n#### Parameters\n\n| Name | Type |\n| :--------------- | :------- |\n| `collectionName` | `string` |\n| `generatorName` | `string` |\n\n#### Returns\n\n`fn`\n\n▸ (`host`, `generatorOptions`): `Promise`<`any`\\>\n\n##### Parameters\n\n| Name | Type |\n| :----------------- | :-------------------------------- |\n| `host` | [`Tree`](../../devkit/index#tree) |\n| `generatorOptions` | `Object` |\n\n##### Returns\n\n`Promise`<`any`\\>\n"
}
],
"generators": [],
diff --git a/docs/generated/packages/nx-plugin.json b/docs/generated/packages/nx-plugin.json
index 2e461fc352..4d215be8c3 100644
--- a/docs/generated/packages/nx-plugin.json
+++ b/docs/generated/packages/nx-plugin.json
@@ -10,7 +10,7 @@
"name": "Overview",
"path": "/packages/nx-plugin",
"file": "shared/nx-plugin",
- "content": "Nx plugins are npm packages that contain generators and executors to extend a Nx workspace. Generators are blueprints to create new files from templates, and executors run those files. These plugins also update the `nx.json` when generating new libs or apps.\n\n> A list of plugins that is maintained by Nrwl is found in the [Nrwl/nx repo](https://github.com/nrwl/nx/tree/master/packages). \\\n> A list of custom plugins created by the community is found in the [Community](/community) section.\n> Plugins are written using Nx Devkit. **Read [Nx Devkit](/getting-started/nx-devkit) for more information.**\n\n\n\n## Generating a Plugin\n\nTo get started with building a Nx Plugin, run the following command:\n\n```bash\nnpx create-nx-plugin my-org --pluginName my-plugin\n```\n\nThis command creates a brand new workspace, and sets up a pre-configured plugin with the specified name.\n\n> Note, the command above will create a plugin the package name set to `@my-org/my-plugin`. You can pass `--importPath` to provide a different package name.\n\n> If you do not want to create a new workspace, install the `@nrwl/nx-plugin` dependency in an already existing workspace with npm or yarn. Then run `nx g @nrwl/nx-plugin:plugin [pluginName]`.\n\nA new plugin is created with a default generator, executor, and e2e app.\n\n## Generator\n\nThe created generator contains boilerplate that will do the following:\n\n- Normalize a schema (the options that the generator accepts)\n- Update the `workspace.json`\n- Add the plugin's project to the `nx.json` file\n- Add files to the disk using templates\n\nThere will be a exported default function that will be the main entry for the generator.\n\n### Generator options\n\nThe `schema.d.ts` file contains all the options that the generator supports. By default, it includes `directory`, `tags`, and `name` as the options. If more options need to be added, please update this file and the `schema.json` file.\n\n> Note: The `schema.d.ts` file is used for type checking inside the implementation file. It should match the properties in `schema.json`.\n\n### Adding more generators\n\nTo add more generators to the plugin, run the following command:\n`nx generate @nrwl/nx-plugin:generator [generatorName] --project=[pluginName]`.\n\nThis will scaffold out a new generator and update the necessary files to support it.\n\n### Generator Testing\n\nThe generator spec file includes boilerplate to help get started with testing. This includes setting up an empty workspace.\n\nThese tests should ensure that files within the tree (created with `createTreeWithEmptyWorkspace`) are in the correct place, and contain the right content.\n\nFull E2Es are supported (and recommended) and will run everything on the file system like a user would.\n\n## Executor\n\nThe default executor is set up to just emit a console log. Some examples of what an executor can do are:\n\n- Support different languages, (Java, Go, Python, C#)\n- Compile new UI framework components\n- Deploy an app on a CDN\n- Publish to NPM\n- and many more!\n\n### Adding more executors\n\nTo add more executors to the plugin, run the following command:\n`nx generate @nrwl/nx-plugin:executor [executor] --project=[pluginName]`.\n\nThis will scaffold out a new generator and update the necessary files to support it.\n\n### Executor testing\n\nThe executor spec file contains boilerplate to run the default exported function from the executor.\n\nThese tests should make sure that the executor is executing and calling the functions that it relies on.\n\nFull E2Es are supported (and recommended) and will run everything on the file system like a user would.\n\n## Testing your plugin\n\nOne of the biggest benefits that the Nx Plugin package provides is support for E2E and unit testing.\n\nWhen the E2E app runs, a temporary E2E directory is created in the root of the workspace. This directory is a blank Nx workspace, and will have the plugin's built package installed locally.\n\n### E2E Testing file\n\nWhen the plugin is generated, a test file is created in the `my-plugin-e2e` app. Inside this test file, there are already tests for making sure that the executor ran, checking if directories are created with the `--directory` option, and checking if tags are added to the project configuration.\n\nWe'll go over a few parts of a test file below:\n\n```typescript\nit('should create my-plugin', async (done) => {\n const plugin = uniq('my-plugin');\n ensureNxProject('@my-org/my-plugin', 'dist/packages/my-plugin');\n await runNxCommandAsync(`generate @my-org/my-plugin:myPlugin ${plugin}`);\n\n const result = await runNxCommandAsync(`build ${plugin}`);\n expect(result.stdout).toContain('Executor ran');\n\n done();\n});\n```\n\n- The `uniq` function creates a random name with the prefix and a random number.\n- The `ensureNxProject` is the function that will create the temporary directory. It takes two arguments, the plugin package name and the dist directory of when it's built.\n- The `runNxCommandAsync` will execute a `nx` command in the E2E directory.\n\nThere are additional functions that the `@nrwl/nx-plugin/testing` package exports. Most of them are file utilities to manipulate and read files in the E2E directory.\n\n## Including Assets\n\nSometimes you might want to include some assets with the plugin. This might be a image or some additional binaries.\n\nTo make sure that assets are copied to the dist folder, open the plugin's `project.json` file. Inside the `build` property, add additional assets. By default, all `.md` files in the root, all non-ts files in folders, and the `generators.json` and `executors.json` files are included.\n\n```json\n\"build\": {\n \"executor\": \"@nrwl/node:package\",\n \"options\": {\n // shortened...\n \"assets\": [\n \"packages/my-plugin/*.md\",\n {\n \"input\": \"./packages/my-plugin/src\",\n \"glob\": \"**/*.!(ts)\",\n \"output\": \"./src\"\n },\n {\n \"input\": \"./packages/my-plugin\",\n \"glob\": \"generators.json\",\n \"output\": \".\"\n },\n {\n \"input\": \"./packages/my-plugin\",\n \"glob\": \"executors.json\",\n \"output\": \".\"\n }\n ]\n }\n}\n```\n\n## Using your Nx Plugin\n\nTo use your plugin, simply list it in `nx.json` or use its generators and executors as you would for any other plugin. This could look like `nx g @my-org/my-plugin:lib` for generators or `\"executor\": \"@my-org/my-plugin:build\"` for executors. It should be usable in all of the same ways as published plugins in your local workspace immediately after generating it. This includes setting it up as the default collection in `nx.json`, which would allow you to run `nx g lib` and hit your plugin's generator.\n\n## Publishing your Nx Plugin\n\nIn order to use your plugin in other workspaces or share it with the community, you will need to publish it to an npm registry. To publish your plugin follow these steps:\n\n1. Build your plugin with the command `nx run my-plugin:build`\n1. `npm publish ./dist/package/my-plugin` and follow the prompts from npm.\n1. That's it!\n\n> Note: currently you will have to modify the `package.json` version by yourself or with a tool.\n\nAfter that, you can then install your plugin like any other npm package,\n`npm i -D @my-org/my-plugin` or `yarn add -D @my-org/my-plugin`.\n\n### Listing your Nx Plugin\n\nNx provides a utility (`nx list`) that lists both core and community plugins. To submit your plugin, please follow the steps below:\n\n- Fork the [Nx repo](https://github.com/nrwl/nx/fork) (if you haven't already)\n- Update the [`community/approved-plugins.json` file](https://github.com/nrwl/nx/blob/master/community/approved-plugins.json) with a new entry for your plugin that includes name, url and description\n- Use the following commit message template: `chore(core): nx plugin submission [PLUGIN_NAME]`\n- push your changes, and run `yarn submit-plugin`\n\n> The `yarn submit-plugin` command automatically opens the Github pull request process with the correct template.\n\nWe will then verify the plugin, offer suggestions or merge the pull request!\n\n## Preset\n\nA Preset is a customization option which you provide when creating a new workspace. TS, Node, React are some of the internal presets that Nx provides by default.\n\n\n \n### Custom Preset\n\nAt its core a preset is a generator, which we can create inside of a plugin.\nIf you **don't** have an existing plugin you can create one by running\n\n```bash\n npx create-nx-plugin my-org --pluginName my-plugin\n```\n\nTo create our preset inside of our plugin we can run\n\n```bash\n nx generate @nrwl/nx-plugin:generator --name=preset --project=happynrwl\n```\n\n> Note: the word `preset` is required for the name of this generator\n\nYou should have a similar structure to this:\n\n```treeview\nhappynrwl/\n\t├── e2e\n\t├── jest.config.js\n\t├── jest.preset.js\n\t├── nx.json\n\t├── package-lock.json\n\t├── package.json\n\t├── packages\n\t│ └── happynrwl\n\t│ ├── src\n\t│ │ ├── executors\n\t│ │ ├── generators\n\t│ │ │ ├── happynrwl\n\t│ │ │ └── preset \t\t// <------------- Here\n\t│ │ └── index.ts\n\t├── tools\n\t├── tsconfig.base.json\n\t└── workspace.json\n```\n\nAfter the command is finished, the preset generator is created under the folder named **preset**.\nThe **generator.ts** provides an entry point to the generator. This 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.\n\nHere is the sample generator function which you can customize to meet your needs.\n\n```typescript\nexport default async function (tree: Tree, options: PresetGeneratorSchema) {\n const normalizedOptions = normalizeOptions(tree, options);\n addProjectConfiguration(tree, normalizedOptions.projectName, {\n root: normalizedOptions.projectRoot,\n projectType: 'application',\n sourceRoot: `${normalizedOptions.projectRoot}/src`,\n targets: {\n exec: {\n executor: 'nx:run-commands',\n options: {\n command: `node ${projectRoot}/src/index.js`,\n },\n },\n },\n tags: normalizedOptions.parsedTags,\n });\n addFiles(tree, normalizedOptions);\n await formatFiles(tree);\n}\n```\n\nTo get an in-depth guide on customizing/running or debugging your generator see [workspace generators](https://nx.dev/generators/workspace-generators#running-a-workspace-generator).\n\n#### Usage\n\nBefore you are able to use your newly created preset you must package and publish it to a registry.\n\nAfter you have published your plugin to a registry you can now use your preset when creating a new workspace\n\n```bash\nnpx create-nx-workspace my-workspace --preset=my-plugin-name\n```\n"
+ "content": "Nx plugins are npm packages that contain generators and executors to extend a Nx workspace. Generators are blueprints to create new files from templates, and executors run those files. These plugins also update the `nx.json` when generating new libs or apps.\n\n> A list of plugins that is maintained by Nrwl is found in the [Nrwl/nx repo](https://github.com/nrwl/nx/tree/master/packages). \\\n> A list of custom plugins created by the community is found in the [Community](/community) section.\n> Plugins are written using Nx Devkit. **Read [Nx Devkit](/devkit/index) for more information.**\n\n\n\n## Generating a Plugin\n\nTo get started with building a Nx Plugin, run the following command:\n\n```bash\nnpx create-nx-plugin my-org --pluginName my-plugin\n```\n\nThis command creates a brand new workspace, and sets up a pre-configured plugin with the specified name.\n\n> Note, the command above will create a plugin the package name set to `@my-org/my-plugin`. You can pass `--importPath` to provide a different package name.\n\n> If you do not want to create a new workspace, install the `@nrwl/nx-plugin` dependency in an already existing workspace with npm or yarn. Then run `nx g @nrwl/nx-plugin:plugin [pluginName]`.\n\nA new plugin is created with a default generator, executor, and e2e app.\n\n## Generator\n\nThe created generator contains boilerplate that will do the following:\n\n- Normalize a schema (the options that the generator accepts)\n- Update the `workspace.json`\n- Add the plugin's project to the `nx.json` file\n- Add files to the disk using templates\n\nThere will be a exported default function that will be the main entry for the generator.\n\n### Generator options\n\nThe `schema.d.ts` file contains all the options that the generator supports. By default, it includes `directory`, `tags`, and `name` as the options. If more options need to be added, please update this file and the `schema.json` file.\n\n> Note: The `schema.d.ts` file is used for type checking inside the implementation file. It should match the properties in `schema.json`.\n\n### Adding more generators\n\nTo add more generators to the plugin, run the following command:\n`nx generate @nrwl/nx-plugin:generator [generatorName] --project=[pluginName]`.\n\nThis will scaffold out a new generator and update the necessary files to support it.\n\n### Generator Testing\n\nThe generator spec file includes boilerplate to help get started with testing. This includes setting up an empty workspace.\n\nThese tests should ensure that files within the tree (created with `createTreeWithEmptyWorkspace`) are in the correct place, and contain the right content.\n\nFull E2Es are supported (and recommended) and will run everything on the file system like a user would.\n\n## Executor\n\nThe default executor is set up to just emit a console log. Some examples of what an executor can do are:\n\n- Support different languages, (Java, Go, Python, C#)\n- Compile new UI framework components\n- Deploy an app on a CDN\n- Publish to NPM\n- and many more!\n\n### Adding more executors\n\nTo add more executors to the plugin, run the following command:\n`nx generate @nrwl/nx-plugin:executor [executor] --project=[pluginName]`.\n\nThis will scaffold out a new generator and update the necessary files to support it.\n\n### Executor testing\n\nThe executor spec file contains boilerplate to run the default exported function from the executor.\n\nThese tests should make sure that the executor is executing and calling the functions that it relies on.\n\nFull E2Es are supported (and recommended) and will run everything on the file system like a user would.\n\n## Testing your plugin\n\nOne of the biggest benefits that the Nx Plugin package provides is support for E2E and unit testing.\n\nWhen the E2E app runs, a temporary E2E directory is created in the root of the workspace. This directory is a blank Nx workspace, and will have the plugin's built package installed locally.\n\n### E2E Testing file\n\nWhen the plugin is generated, a test file is created in the `my-plugin-e2e` app. Inside this test file, there are already tests for making sure that the executor ran, checking if directories are created with the `--directory` option, and checking if tags are added to the project configuration.\n\nWe'll go over a few parts of a test file below:\n\n```typescript\nit('should create my-plugin', async (done) => {\n const plugin = uniq('my-plugin');\n ensureNxProject('@my-org/my-plugin', 'dist/packages/my-plugin');\n await runNxCommandAsync(`generate @my-org/my-plugin:myPlugin ${plugin}`);\n\n const result = await runNxCommandAsync(`build ${plugin}`);\n expect(result.stdout).toContain('Executor ran');\n\n done();\n});\n```\n\n- The `uniq` function creates a random name with the prefix and a random number.\n- The `ensureNxProject` is the function that will create the temporary directory. It takes two arguments, the plugin package name and the dist directory of when it's built.\n- The `runNxCommandAsync` will execute a `nx` command in the E2E directory.\n\nThere are additional functions that the `@nrwl/nx-plugin/testing` package exports. Most of them are file utilities to manipulate and read files in the E2E directory.\n\n## Including Assets\n\nSometimes you might want to include some assets with the plugin. This might be a image or some additional binaries.\n\nTo make sure that assets are copied to the dist folder, open the plugin's `project.json` file. Inside the `build` property, add additional assets. By default, all `.md` files in the root, all non-ts files in folders, and the `generators.json` and `executors.json` files are included.\n\n```json\n\"build\": {\n \"executor\": \"@nrwl/node:package\",\n \"options\": {\n // shortened...\n \"assets\": [\n \"packages/my-plugin/*.md\",\n {\n \"input\": \"./packages/my-plugin/src\",\n \"glob\": \"**/*.!(ts)\",\n \"output\": \"./src\"\n },\n {\n \"input\": \"./packages/my-plugin\",\n \"glob\": \"generators.json\",\n \"output\": \".\"\n },\n {\n \"input\": \"./packages/my-plugin\",\n \"glob\": \"executors.json\",\n \"output\": \".\"\n }\n ]\n }\n}\n```\n\n## Using your Nx Plugin\n\nTo use your plugin, simply list it in `nx.json` or use its generators and executors as you would for any other plugin. This could look like `nx g @my-org/my-plugin:lib` for generators or `\"executor\": \"@my-org/my-plugin:build\"` for executors. It should be usable in all of the same ways as published plugins in your local workspace immediately after generating it. This includes setting it up as the default collection in `nx.json`, which would allow you to run `nx g lib` and hit your plugin's generator.\n\n## Publishing your Nx Plugin\n\nIn order to use your plugin in other workspaces or share it with the community, you will need to publish it to an npm registry. To publish your plugin follow these steps:\n\n1. Build your plugin with the command `nx run my-plugin:build`\n1. `npm publish ./dist/package/my-plugin` and follow the prompts from npm.\n1. That's it!\n\n> Note: currently you will have to modify the `package.json` version by yourself or with a tool.\n\nAfter that, you can then install your plugin like any other npm package,\n`npm i -D @my-org/my-plugin` or `yarn add -D @my-org/my-plugin`.\n\n### Listing your Nx Plugin\n\nNx provides a utility (`nx list`) that lists both core and community plugins. To submit your plugin, please follow the steps below:\n\n- Fork the [Nx repo](https://github.com/nrwl/nx/fork) (if you haven't already)\n- Update the [`community/approved-plugins.json` file](https://github.com/nrwl/nx/blob/master/community/approved-plugins.json) with a new entry for your plugin that includes name, url and description\n- Use the following commit message template: `chore(core): nx plugin submission [PLUGIN_NAME]`\n- push your changes, and run `yarn submit-plugin`\n\n> The `yarn submit-plugin` command automatically opens the Github pull request process with the correct template.\n\nWe will then verify the plugin, offer suggestions or merge the pull request!\n\n## Preset\n\nA Preset is a customization option which you provide when creating a new workspace. TS, Node, React are some of the internal presets that Nx provides by default.\n\n\n \n### Custom Preset\n\nAt its core a preset is a generator, which we can create inside of a plugin.\nIf you **don't** have an existing plugin you can create one by running\n\n```bash\n npx create-nx-plugin my-org --pluginName my-plugin\n```\n\nTo create our preset inside of our plugin we can run\n\n```bash\n nx generate @nrwl/nx-plugin:generator --name=preset --project=happynrwl\n```\n\n> Note: the word `preset` is required for the name of this generator\n\nYou should have a similar structure to this:\n\n```treeview\nhappynrwl/\n\t├── e2e\n\t├── jest.config.js\n\t├── jest.preset.js\n\t├── nx.json\n\t├── package-lock.json\n\t├── package.json\n\t├── packages\n\t│ └── happynrwl\n\t│ ├── src\n\t│ │ ├── executors\n\t│ │ ├── generators\n\t│ │ │ ├── happynrwl\n\t│ │ │ └── preset \t\t// <------------- Here\n\t│ │ └── index.ts\n\t├── tools\n\t├── tsconfig.base.json\n\t└── workspace.json\n```\n\nAfter the command is finished, the preset generator is created under the folder named **preset**.\nThe **generator.ts** provides an entry point to the generator. This 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.\n\nHere is the sample generator function which you can customize to meet your needs.\n\n```typescript\nexport default async function (tree: Tree, options: PresetGeneratorSchema) {\n const normalizedOptions = normalizeOptions(tree, options);\n addProjectConfiguration(tree, normalizedOptions.projectName, {\n root: normalizedOptions.projectRoot,\n projectType: 'application',\n sourceRoot: `${normalizedOptions.projectRoot}/src`,\n targets: {\n exec: {\n executor: 'nx:run-commands',\n options: {\n command: `node ${projectRoot}/src/index.js`,\n },\n },\n },\n tags: normalizedOptions.parsedTags,\n });\n addFiles(tree, normalizedOptions);\n await formatFiles(tree);\n}\n```\n\nTo get an in-depth guide on customizing/running or debugging your generator see [workspace generators](https://nx.dev/generators/workspace-generators#running-a-workspace-generator).\n\n#### Usage\n\nBefore you are able to use your newly created preset you must package and publish it to a registry.\n\nAfter you have published your plugin to a registry you can now use your preset when creating a new workspace\n\n```bash\nnpx create-nx-workspace my-workspace --preset=my-plugin-name\n```\n"
}
],
"generators": [
diff --git a/docs/map.json b/docs/map.json
index ba209e470e..6f3e39d0bf 100644
--- a/docs/map.json
+++ b/docs/map.json
@@ -1028,12 +1028,12 @@
{
"id": "index",
"name": "Overview",
- "file": "generated/api-nx-devkit/index"
+ "file": "generated/devkit/index"
},
{
"id": "ngcli_adapter",
"name": "Ng CLI Adapter",
- "file": "generated/api-nx-devkit/ngcli_adapter"
+ "file": "generated/devkit/ngcli_adapter"
}
]
}
diff --git a/docs/shared/guides/nx-devkit-angular-devkit.md b/docs/shared/guides/nx-devkit-angular-devkit.md
index def3b44e6c..73408a07cb 100644
--- a/docs/shared/guides/nx-devkit-angular-devkit.md
+++ b/docs/shared/guides/nx-devkit-angular-devkit.md
@@ -1,6 +1,6 @@
# Nx Devkit and Angular Devkit
-> Note: this document covers the difference between Nx Devkit and Angular Devkit. See the [Nx Devkit](/getting-started/nx-devkit) guide for more in-depth details about Nx Devkit.
+> Note: this document covers the difference between Nx Devkit and Angular Devkit. See the [Nx Devkit](/devkit/index) guide for more in-depth details about Nx Devkit.
Nx comes with a devkit to write generators and executors, but you can also use Angular devkit (schematics and builders). In other words, you can use an Angular schematic to implement a generator, and you can use an Angular builder to implement an executor.
diff --git a/docs/shared/nx-plugin.md b/docs/shared/nx-plugin.md
index b321ed60ba..89e0a56d94 100644
--- a/docs/shared/nx-plugin.md
+++ b/docs/shared/nx-plugin.md
@@ -2,7 +2,7 @@ Nx plugins are npm packages that contain generators and executors to extend a Nx
> A list of plugins that is maintained by Nrwl is found in the [Nrwl/nx repo](https://github.com/nrwl/nx/tree/master/packages). \
> A list of custom plugins created by the community is found in the [Community](/community) section.
-> Plugins are written using Nx Devkit. **Read [Nx Devkit](/getting-started/nx-devkit) for more information.**
+> Plugins are written using Nx Devkit. **Read [Nx Devkit](/devkit/index) for more information.**
diff --git a/docs/shared/using-executors.md b/docs/shared/using-executors.md
index ca1921da9c..5fe36b8d9d 100644
--- a/docs/shared/using-executors.md
+++ b/docs/shared/using-executors.md
@@ -239,7 +239,7 @@ The `runExecutor` utility will find the target in the configuration, find the ex
- `readTargetOptions` -- Reads and combines options for a given target.
- `runExecutor` -- Constructs options and invokes an executor.
-See more helper functions in the [Devkit API Docs](/nx-devkit/index#functions)
+See more helper functions in the [Devkit API Docs](/devkit/index#functions)
## Using RxJS observables
diff --git a/nx-dev/nx-dev/pages/community.tsx b/nx-dev/nx-dev/pages/community.tsx
index 7ed7525244..2b32e64f35 100644
--- a/nx-dev/nx-dev/pages/community.tsx
+++ b/nx-dev/nx-dev/pages/community.tsx
@@ -65,7 +65,7 @@ export function Community(props: CommunityProps): ReactComponentElement {
description:
'It contains many utility functions for reading and writing files, updating configuration, working with Abstract Syntax Trees(ASTs), and more.',
name: '@nrwl/devkit',
- url: 'https://nx.dev/nx-devkit/index',
+ url: 'https://nx.dev/devkit/index',
isOfficial: true,
},
{
diff --git a/nx-dev/nx-dev/redirect-rules.config.js b/nx-dev/nx-dev/redirect-rules.config.js
index aa2d4df15e..665e4b498a 100644
--- a/nx-dev/nx-dev/redirect-rules.config.js
+++ b/nx-dev/nx-dev/redirect-rules.config.js
@@ -134,8 +134,6 @@ const schemaUrls = {
'/nx-plugin/plugin': '/packages/nx-plugin/generators/plugin',
'/nx-plugin/schematic': '/packages/nx-plugin/generators/generator',
'/nx-plugin/e2e': '/packages/nx-plugin/executors/e2e',
- '/nx-devkit/index': '/packages/nx-devkit/index',
- '/nx-devkit/ngcli_adapter': '/packages/nx-devkit/ngcli_adapter',
};
/**
diff --git a/nx-dev/ui-home/src/lib/ecosystem-features.tsx b/nx-dev/ui-home/src/lib/ecosystem-features.tsx
index e3d118c0a8..782ff92d82 100644
--- a/nx-dev/ui-home/src/lib/ecosystem-features.tsx
+++ b/nx-dev/ui-home/src/lib/ecosystem-features.tsx
@@ -13,7 +13,7 @@ const featureItems: {
}[] = [
{
classNames: 'bg-green-nx-base',
- link: '/getting-started/nx-devkit',
+ link: '/devkit/index',
title: 'Plugins for everything',
subTitle:
'React, React Native, Angular, NativeScript, Cypress, Nest.js, Storybook, Ionic, Go among others.',
diff --git a/nx-dev/ui-home/src/lib/experience-features.tsx b/nx-dev/ui-home/src/lib/experience-features.tsx
index 93ff306437..d5720058b4 100644
--- a/nx-dev/ui-home/src/lib/experience-features.tsx
+++ b/nx-dev/ui-home/src/lib/experience-features.tsx
@@ -119,7 +119,7 @@ const featureItems: {
},
{
classNames: 'bg-purple-nx-base',
- link: '/getting-started/nx-devkit',
+ link: '/devkit/index',
title: 'Nx Devkit',
subTitle:
'Nx enables a custom dev experience to match the needs of your organization.',
diff --git a/scripts/documentation/generate-devkit-documentation.ts b/scripts/documentation/generate-devkit-documentation.ts
index f2fac8d442..30db29ffd7 100644
--- a/scripts/documentation/generate-devkit-documentation.ts
+++ b/scripts/documentation/generate-devkit-documentation.ts
@@ -12,19 +12,19 @@ export function generateDevkitDocumentation() {
execSync('nx build typedoc-theme', execSyncOptions);
execSync(
- `rm -rf docs/generated/api-nx-devkit && npx typedoc packages/devkit/index.ts packages/devkit/ngcli-adapter.ts --tsconfig packages/devkit/tsconfig.lib.json --out ./docs/generated/api-nx-devkit --hideBreadcrumbs true --disableSources --publicPath ../../nx-devkit/ --theme dist/typedoc-theme/src/lib --readme none`,
+ `rm -rf docs/generated/devkit && npx typedoc packages/devkit/index.ts packages/devkit/ngcli-adapter.ts --tsconfig packages/devkit/tsconfig.lib.json --out ./docs/generated/devkit --hideBreadcrumbs true --disableSources --publicPath ../../devkit/ --theme dist/typedoc-theme/src/lib --readme none`,
execSyncOptions
);
execSync(
- `rm -rf docs/generated/api-nx-devkit/modules.md docs/generated/api-nx-devkit/.nojekyll`,
+ `rm -rf docs/generated/devkit/modules.md docs/generated/devkit/.nojekyll`,
execSyncOptions
);
execSync(
- `rm -rf docs/generated/api-nx-devkit/modules.md docs/generated/api-nx-devkit/README.md`,
+ `rm -rf docs/generated/devkit/modules.md docs/generated/devkit/README.md`,
execSyncOptions
);
execSync(
- `npx prettier docs/generated/api-nx-devkit --write --config ${join(
+ `npx prettier docs/generated/devkit --write --config ${join(
__dirname,
'..',
'..',
diff --git a/scripts/documentation/package-schemas/generatePackageSchemas.ts b/scripts/documentation/package-schemas/generatePackageSchemas.ts
index 7ea8c21c4f..b41ba6d04f 100644
--- a/scripts/documentation/package-schemas/generatePackageSchemas.ts
+++ b/scripts/documentation/package-schemas/generatePackageSchemas.ts
@@ -87,27 +87,3 @@ export function generatePackageSchemas(): void {
)
);
}
-
-// Temp, rework map API-reference
-function updateMenuPathsInMapJson(): void {
- const absoluteRoot = resolve(join(__dirname, '../../../'));
- const outputPath: string = join(absoluteRoot, 'docs');
- const jsonFile = readJsonSync(join(outputPath, 'map.json'));
-
- jsonFile[0].itemList.forEach((itemA, indexA) => {
- itemA.itemList.forEach((itemB, indexB) => {
- if (
- itemB.file &&
- itemB.file.includes('generated/api-') &&
- !itemB.file.include('api-nx-devkit')
- ) {
- jsonFile[0].itemList[indexA].itemList[indexB] = {
- ...itemB,
- path: '/packages/' + itemB.file.replace('generated/api-', ''),
- };
- }
- });
- });
-
- writeJSONSync(join(outputPath, 'map.json'), jsonFile, 'utf-8');
-}