This pull request is trying to add wasm32-wasi target support for the nx/native To test the build, you can run the following commands: - `rustup target add wasm32-wasip1-threads` - `pnpm exec napi build --release --platform --package-json-path packages/nx/package.json --manifest-path packages/nx/Cargo.toml --js ./native-bindings.js -o packages/nx/src/native --target wasm32-wasip1-threads` And the wasm file will be built at packages/nx/src/native/nx.wasm32-wasi.wasm Blocked by: - Support @napi-rs/cli 3.0 Cammisuli/monodon#48 - https://github.com/napi-rs/napi-rs/issues/2009 The pseudo_terminal mod is excluded on the wasm32 targets, which is as expected. The watch mod is excluded because of the upstream `watchexec` deps introduced by ignore-files don't support the wasi target at this moment (but we can improve it). ## Related Issues Fixes https://github.com/nrwl/nx/issues/21860 Fixes https://github.com/nrwl/nx/issues/23821 --------- Co-authored-by: FrozenPandaz <jasonjean1993@gmail.com>
9.2 KiB
9.2 KiB
@nx/devkit
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).
Table of contents
Enumerations
Classes
Interfaces
- CreateDependenciesContext
- CreateNodesContext
- CreateNodesContextV2
- CreateNodesResult
- DefaultTasksRunnerOptions
- ExecutorContext
- ExecutorsJson
- FileChange
- FileData
- FileMap
- GeneratorsJson
- Hash
- HasherContext
- ImplicitJsonSubsetDependency
- JsonParseOptions
- JsonSerializeOptions
- MigrationsJson
- NxAffectedConfig
- NxJsonConfiguration
- ProjectConfiguration
- ProjectFileMap
- ProjectGraph
- ProjectGraphDependency
- ProjectGraphExternalNode
- ProjectGraphProcessorContext
- ProjectGraphProjectNode
- ProjectsConfigurations
- RemoteCache
- StringDeletion
- StringInsertion
- Target
- TargetConfiguration
- TargetDependencyConfig
- Task
- TaskGraph
- TaskHasher
- Tree
- Workspace
Type Aliases
- AsyncIteratorExecutor
- CreateDependencies
- CreateMetadata
- CreateMetadataContext
- CreateNodes
- CreateNodesFunction
- CreateNodesFunctionV2
- CreateNodesResultV2
- CreateNodesV2
- CustomHasher
- DynamicDependency
- Executor
- ExpandedPluginConfiguration
- Generator
- GeneratorCallback
- Hasher
- ImplicitDependency
- ImplicitDependencyEntry
- NxPlugin
- NxPluginV1
- NxPluginV2
- PackageManager
- PluginConfiguration
- ProjectGraphNode
- ProjectTargetConfigurator
- ProjectType
- ProjectsMetadata
- PromiseExecutor
- RawProjectGraphDependency
- StaticDependency
- StringChange
- TargetDefaults
- TaskGraphExecutor
- ToJSOptions
- WorkspaceJsonConfiguration
Variables
- NX_VERSION: string
- appRootPath: string
- cacheDir: string
- logger: Object
- output: CLIOutput
- workspaceRoot: string
Functions
- 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