Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
@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, 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 myworkspace
Using npm init
npm init nx-workspace myworkspace
Using yarn create
yarn create nx-workspace myworkspace
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 @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 @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 @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!
If you want to file a bug or submit a PR, read up on our guidelines for contributing.
Victor Savkin | Jason Jean | Benjamin Cabanes | Brandon Roberts | Wes Grimes |
---|---|---|---|---|
vsavkin | FrozenPandaz | bcabanes | brandonroberts | wesleygrimes |
FAQs
Smart, Fast and Extensible Build System
The npm package @nrwl/cli receives a total of 322,775 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
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.