The Nx Devkit is the underlying technology used to customize Nx to support different technologies and custom use-cases. It contains many utility functions for reading and writing files, updating configuration, working with Abstract Syntax Trees(ASTs), and more.
As with most things in Nx, the core of Nx Devkit is very simple. It only uses language primitives and immutable objects (the tree being the only exception).
- CreateDependenciesContext
- CreateNodesContext
- CreateNodesContextV2
- CreateNodesResult
- DefaultTasksRunnerOptions
- ExecutorContext
- ExecutorsJson
- FileChange
- FileData
- FileMap
- GeneratorsJson
- GraphJson
- Hash
- HasherContext
- ImplicitJsonSubsetDependency
- JsonParseOptions
- JsonSerializeOptions
- MigrationsJson
- NxAffectedConfig
- NxJsonConfiguration
- ProjectConfiguration
- ProjectFileMap
- ProjectGraph
- ProjectGraphDependency
- ProjectGraphExternalNode
- ProjectGraphProjectNode
- ProjectsConfigurations
- RemoteCache
- StringDeletion
- StringInsertion
- Target
- TargetConfiguration
- TargetDependencyConfig
- Task
- TaskGraph
- TaskHasher
- Tree
- Workspace
- AsyncIteratorExecutor
- CreateDependencies
- CreateMetadata
- CreateMetadataContext
- CreateNodes
- CreateNodesFunction
- CreateNodesFunctionV2
- CreateNodesResultV2
- CreateNodesV2
- CustomHasher
- DynamicDependency
- Executor
- ExpandedPluginConfiguration
- Generator
- GeneratorCallback
- Hasher
- ImplicitDependency
- ImplicitDependencyEntry
- NxPlugin
- NxPluginV2
- PackageManager
- PluginConfiguration
- ProjectType
- ProjectsMetadata
- PromiseExecutor
- RawProjectGraphDependency
- StaticDependency
- StringChange
- TargetDefaults
- TaskGraphExecutor
- ToJSOptions
- WorkspaceJsonConfiguration
- NX_VERSION: string
- cacheDir: string
- logger: Object
- output: CLIOutput
- workspaceRoot: string
- addDependenciesToPackageJson
- addProjectConfiguration
- applyChangesToString
- convertNxExecutor
- convertNxGenerator
- createNodesFromFiles
- createProjectFileMapUsingProjectGraph
- createProjectGraphAsync
- defaultTasksRunner
- detectPackageManager
- ensurePackage
- extractLayoutDirectory
- formatFiles
- generateFiles
- getOutputsForTargetAndConfiguration
- getPackageManagerCommand
- getPackageManagerVersion
- getProjects
- getWorkspaceLayout
- glob
- globAsync
- hashArray
- installPackagesTask
- isDaemonEnabled
- isWorkspacesEnabled
- joinPathFragments
- moveFilesToNewDirectory
- names
- normalizePath
- offsetFromRoot
- parseJson
- parseTargetString
- readCachedProjectGraph
- readJson
- readJsonFile
- readNxJson
- readProjectConfiguration
- readProjectsConfigurationFromProjectGraph
- readTargetOptions
- removeDependenciesFromPackageJson
- removeProjectConfiguration
- reverse
- runExecutor
- runTasksInSerial
- serializeJson
- stripIndents
- stripJsonComments
- targetToTargetString
- toJS
- updateJson
- updateNxJson
- updateProjectConfiguration
- updateTsConfigsToJs
- validateDependency
- visitNotIgnoredFiles
- workspaceLayout
- writeJson
- writeJsonFile