Updates the docs structure, navigation etc to be easier + better suited for showing Nx technology support beyond just TS. **Notes:** - API (`/nx-api`) tab is removed from the navigation (i.e. menu bar), but pages still remain for now until we update references in `*.md` files. - Redirects are set up `/nx-api` to go to their respect new location e.g. `/technologies` or `/reference/core-api` - Old URLs still exist in the sitemap for now, but majority of them will be redirected -- a follow-up PR can remove them. **Preview:** https://nx-dev-git-nx-dev-polyglot-docs-restructure-nrwl.vercel.app/docs --------- Co-authored-by: Jack Hsu <jack.hsu@gmail.com>
3.1 KiB
| title | description |
|---|---|
| What Are Nx Plugins? | Learn how Nx plugins help developers integrate tools and frameworks with Nx by providing automated configuration, code generation, and dependency management. |
What Are Nx Plugins?
Nx plugins help developers use a tool or framework with Nx. They allow the plugin author who knows the best way to use a tool with Nx to codify their expertise and allow the whole community to reuse those solutions.
For example, plugins can accomplish the following:
- Configure Nx cache settings for a tool. The
@nx/webpackplugin can automatically configure the inputs and outputs for abuildtask based on the settings in thewebpack.config.jsfile it uses. - Update tooling configuration when upgrading the tool version. When Storybook 7 introduced a new format for their configuration files, anyone using the
@nx/storybookplugin could automatically apply those changes to their repository when upgrading. - Set up a tool for the first time. With the
@nx/playwrightplugin installed, you can use the@nx/playwright:configurationcode generator to set up Playwright tests in an existing project. - Run a tool in an advanced way. The
@nx/jsplugin's@nx/js:tscexecutor combines Nx's understanding of your repository with Typescript's native batch mode feature to make your builds even more performant.
Plugin Features
{% cards %} {% card title="Infer tasks" description="Automatically configure Nx settings for tasks based on tooling configuration" type="documentation" url="/concepts/inferred-tasks" /%} {% card title="Generate Code" description="Generate and modify code to set up and use the tool or framework" type="documentation" url="/features/generate-code" /%} {% card title="Maintain Dependencies" description="Automatically update package versions and tooling configuration" type="documentation" url="/features/generate-code" /%} {% card title="Enhance Tooling with Executors" description="Run a tool in an advanced way that may not be possible from the command line" type="documentation" url="/concepts/executors-and-configurations" /%} {% /cards %}
Types of Plugins
{% cards %} {% card title="Official Plugins" description="The API documentation for Nx Plugins maintained by the Nx core team" type="documentation" url="/nx-api" /%} {% card title="Community Plugins" description="Browse the plugin registry to discover plugins created by the community" type="documentation" url="/plugin-registry" /%} {% card title="Build Your Own Plugin" description="Build your own plugin to use internally or share with the community" type="documentation" url="/extending-nx/tutorials/organization-specific-plugin" /%} {% /cards %}