Security News
NVD Backlog Tops 20,000 CVEs Awaiting Analysis as NIST Prepares System Updates
NVDβs backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
@nrwl/tao
Advanced tools
The @nrwl/tao package is part of the Nx monorepo toolset provided by Nrwl. It provides a set of utilities for workspace management, task orchestration, and abstracts away the configuration for building and testing applications. It is designed to help developers create and maintain monorepo setups more efficiently.
Workspace Management
This feature allows you to read the workspace configuration file, which is useful for understanding the structure and configuration of projects within the workspace.
const { readWorkspaceJson } = require('@nrwl/tao/src/core/file-utils');
const workspaceJson = readWorkspaceJson();
Task Orchestration
This feature enables you to programmatically execute tasks such as building or testing a project within the workspace. It is useful for automating workflows and integrating with other tools.
const { runCommand } = require('@nrwl/tao/src/commands/run-command');
runCommand('build', { project: 'my-app' }, { interactive: false });
Configuration Abstraction
This feature provides utility functions to work with the workspace's root path and other configuration details, simplifying the process of setting up and maintaining a monorepo.
const { getWorkspacePath } = require('@nrwl/tao/src/utils/app-root');
const workspacePath = getWorkspacePath();
Lerna is a tool for managing JavaScript projects with multiple packages, similar to @nrwl/tao. It optimizes the workflow around managing multi-package repositories with git and npm. Lerna can also automate the versioning and publishing of packages.
Yarn Workspaces is a feature of Yarn that allows users to set up multiple package directories within a single repository. It is similar to @nrwl/tao in that it helps manage dependencies and linking between packages in a monorepo.
π 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
CLI for generating code and running commands
The npm package @nrwl/tao receives a total of 2,441,275 weekly downloads. As such, @nrwl/tao popularity was classified as popular.
We found that @nrwl/tao demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.Β It has 7 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
NVDβs backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.
Security News
PyPI now supports digital attestations, enhancing security and trust by allowing package maintainers to verify the authenticity of Python packages.