Security News
RubyGems.org Adds New Maintainer Role
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.
@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, 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
CLI for generating code and running commands
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
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.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.