## Current Behavior The Node.js application generator (`packages/node/src/generators/application/application.ts`) is implemented as a single large file containing ~469 lines of code. All generator logic is mixed together in one file including: - Option normalization and validation - Project configuration creation - File generation - Build/serve target setup - Dependency management - ESLint configuration - Proxy setup This makes the code harder to maintain, test, and understand as the file handles multiple responsibilities. ## Expected Behavior The generator is now refactored into smaller, focused modules organized in a `lib/` directory: - `normalize-options.ts` - handles option normalization and validation - `normalized-schema.ts` - defines the normalized schema interface - `create-project.ts` - handles project configuration creation (exported as `addProject`) - `create-files.ts` - handles file generation (exported as `addAppFiles`) - `create-targets.ts` - handles build/serve target configuration - `add-dependencies.ts` - handles dependency management (exported as `addProjectDependencies`) - `add-linting.ts` - handles ESLint setup (exported as `addLintingToApplication`) - `add-proxy.ts` - handles proxy configuration (exported as `addProxy`) - `index.ts` - exports all the functions The main `application.ts` file is now much cleaner at ~15 lines, focusing on orchestrating the generator workflow by calling the extracted functions. This separation of concerns improves: - **Maintainability**: Each file has a single responsibility - **Testability**: Individual functions can be tested in isolation - **Readability**: Easier to understand what each part does - **Reusability**: Functions can be potentially reused by other generators
cleanup(react-native): use native fetch for isPackagerRunning check and remove
node-fetch dependency (#29568)
Smart Repos · Fast Builds
An AI-first build platform that connects everything from your editor to CI. Helping you deliver fast, without breaking things.
Create a new Nx workspace with
npx create-nx-workspace
...or run
npx nx init
to add Nx to your existing workspace to get faster task scheduling, caching and more. More in the docs.
Learn about CI with Nx Cloud
Nx Cloud connects directly to your existing CI setup, helping you scale your monorepos on CI by leveraging remote caching, task distribution across multiple machines, automated e2e test splitting and automated task flakiness detection
Connect your existing Nx workspace with
npx nx connect
Learn more in the Nx CI docs »
Useful links
Want to help?
If you want to file a bug or submit a PR, read up on our guidelines for contributing and watch this video that will help you get started.

Core Team
| Victor Savkin | Jason Jean | Benjamin Cabanes | Jack Hsu |
|---|---|---|---|
| vsavkin | FrozenPandaz | bcabanes | jaysoo |
| James Henry | Jon Cammisuli | Isaac Mann | Juri Strumpflohner |
|---|---|---|---|
| JamesHenry | cammisuli | isaacplmann | juristr |
| Philip Fulcher | Caleb Ukle | Katerina Skroumpelou | Colum Ferry |
|---|---|---|---|
| philipjfulcher | barbados-clemens | mandarini | Coly010 |
| Emily Xiong | Miroslav Jonaš | Leosvel Pérez Espinosa | Zachary DeRose |
|---|---|---|---|
| xiongemi | meeroslav | leosvelperez | ZackDeRose |
| Craigory Coppola | Chau Tran | Nicholas Cunningham | Max Kless |
|---|---|---|---|
| AgentEnder | nartc | ndcunningham | MaxKless |
Description
Languages
TypeScript
95%
Rust
2.9%
JavaScript
1.3%
Kotlin
0.3%
MDX
0.3%
Other
0.1%