Security News
ESLint is Now Language-Agnostic: Linting JSON, Markdown, and Beyond
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
@nrwl/cli
Advanced tools
@nrwl/cli is a command-line interface tool for Nx, a set of extensible dev tools for monorepos. It helps developers manage and scale their monorepos, providing features for code generation, project management, and more.
Generate Applications
This command generates a new React application within the monorepo. The @nrwl/cli tool provides schematics for various frameworks, making it easy to scaffold new projects.
nx generate @nrwl/react:app my-app
Run Tasks
This command runs a build task for the specified project. Nx provides a powerful task runner that can execute tasks in parallel, cache results, and more.
nx run my-app:build
Lint Projects
This command lints the specified project using the configured linter. Nx helps maintain code quality across the monorepo by providing consistent linting rules.
nx lint my-app
Test Projects
This command runs tests for the specified project. Nx integrates with popular testing frameworks to provide a seamless testing experience.
nx test my-app
Affected Commands
This command builds only the projects that are affected by the latest changes. Nx's affected commands help optimize CI/CD pipelines by reducing the scope of tasks to only what is necessary.
nx affected:build
Lerna is a tool for managing JavaScript projects with multiple packages. It optimizes the workflow around managing multi-package repositories with git and npm. Compared to @nrwl/cli, Lerna is more focused on package management and publishing, while Nx provides a more comprehensive set of tools for monorepo development, including code generation, task running, and more.
Turborepo is a high-performance build system for JavaScript and TypeScript codebases. It focuses on speeding up builds and tests in monorepos by leveraging caching and parallel execution. While @nrwl/cli offers a broader range of features for managing monorepos, Turborepo is specifically optimized for build performance.
Rush is a scalable monorepo manager for the web, developed by Microsoft. It provides robust support for managing large monorepos, including features for incremental builds, change tracking, and more. Compared to @nrwl/cli, Rush is more focused on enterprise-scale monorepo management and build orchestration.
π Extensible Dev Tools for Monorepos.
Using Nx, you can add TypeScript, Cypress, Jest, Prettier, Angular, React, Storybook, Next.js and Nest into your dev workflow. Nx sets up these tools and allows you to use them seamlessly. Nx fully integrates with the other modern tools you already use and love.
With Nx, you can build full-stack applications using modern frameworks. You can share code between the frontend and the backend. And you can use the same build/test/serve
commands throughout the whole dev experience.
With Nx, you can develop multiple full-stack applications holistically and share code between them all in the same workspace. Nx provides advanced tools which help you scale your enterprise development. Nx also helps enforce your organizationβs standards and community best practices.
Using npx
npx create-nx-workspace
Using npm init
npm init nx-workspace
Using yarn create
yarn create nx-workspace
If it's your first Nx project, the command will recommend you to install @nrwl/cli
globally, so you can invoke nx
directly without going through yarn or npm.
By default, an Nx workspace starts blank. There are no applications to build, serve, and test. To create one, you need to add capabilities to the workspace.
To add a web components app, run:
yarn add --dev @nrwl/web
nx g @nrwl/web:app myapp # or just "nx g myapp"
npm install --save-dev @nrwl/web
nx g @nrwl/web:app myapp # or just "nx g myapp"
To add an Angular app, run:
yarn add --dev @nrwl/angular
nx g @nrwl/angular:app myapp # or just "nx g myapp"
npm install --save-dev @nrwl/angular
nx g @nrwl/angular:app myapp # or just "nx g myapp"
To add a React app, run:
yarn add --dev @nrwl/react
nx g @nrwl/react:app myapp # or just "nx g myapp"
npm install --save-dev @nrwl/react
nx g @nrwl/react:app myapp # or just "nx g myapp"
If nx g
fails, use: yarn nx g @nrwl/web:app myapp
or npm run nx -- g @nrwl/web:app myapp
.
Regardless of what framework you chose, the resulting file tree will look like this:
<workspace name>/
βββ apps/
βΒ Β βββ myapp/
βΒ Β βββ myapp-e2e/
βββ libs/
βββ tools/
βββ nx.json
βββ package.json
βββ tsconfig.json
βββ tslint.json
nx serve myapp
to serve the newly generated application!nx test myapp
to test it.nx e2e myapp-e2e
to run e2e tests for it.Angular users can also run ng g/serve/test/e2e
.
You are good to go!
Angular |
React |
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.
Victor Savkin | Jason Jean | Benjamin Cabanes | Brandon Roberts |
---|---|---|---|
vsavkin | FrozenPandaz | bcabanes | brandonroberts |
Jack Hsu | Jo Hanna Pearce | Matt Briggs |
---|---|---|
jaysoo | jdpearce | mbriggs |
FAQs
Smart, Fast and Extensible Build System
The npm package @nrwl/cli receives a total of 931,159 weekly downloads. As such, @nrwl/cli popularity was classified as popular.
We found that @nrwl/cli demonstrated a not healthy version release cadence and project activity because the last version was released a year ago.Β It has 6 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
Security News
Members Hub is conducting large-scale campaigns to artificially boost Discord server metrics, undermining community trust and platform integrity.
Security News
NIST has failed to meet its self-imposed deadline of clearing the NVD's backlog by the end of the fiscal year. Meanwhile, CVE's awaiting analysis have increased by 33% since June.