nx/docs/shared/deprecated/workspace-generators.md
Craigory Coppola 97b00840cc
docs(nx-plugin): fixup docs for project name and root changes (#27139)
<!-- Please make sure you have read the submission guidelines before
posting an PR -->
<!--
https://github.com/nrwl/nx/blob/master/CONTRIBUTING.md#-submitting-a-pr
-->

<!-- Please make sure that your commit message follows our format -->
<!-- Example: `fix(nx): must begin with lowercase` -->

<!-- If this is a particularly complex change or feature addition, you
can request a dedicated Nx release for this pull request branch. Mention
someone from the Nx team or the `@nrwl/nx-pipelines-reviewers` and they
will confirm if the PR warrants its own release for testing purposes,
and generate it for you if appropriate. -->

## Current Behavior
Some plugin docs don't make sense after project name and root changes

## Expected Behavior
They've been touched up

## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->

Fixes #25191
2024-07-25 19:17:59 -04:00

1.4 KiB

Workspace Generators

In Nx 13.10, we introduced the ability to run generators from Nx plugins in the workspace they were created in.

By using a "local" plugin, you can set the plugin as your workspace's default collection and get several other affordances that are not provided to workspace generators. This is the preferred method for "workspace generators", and existing generators will eventually be transitioned to use a local plugin.

Check the local generator guide for information on creating a new plugin.

Converting workspace generators to local generators

{% callout type="info" %} When migrating to Nx 16, a new workspace plugin is automatically generated in the tools folder if you already have workspace-generators. {% /callout %}

  • If you don't already have a local plugin, use Nx to generate one:
npm add -D @nx/plugin
nx g @nx/plugin:plugin my-plugin --directory=tools/my-plugin
  • Use the Nx CLI to generate the initial files needed for your generator. Replace my-generator with the name of your workspace generator.
nx generate @nx/plugin:generator my-generator --directory=tools/my-plugin/src/generators/my-generator
  • Copy the code for your workspace generator into the newly created generator's folder. e.g. libs/my-plugin/src/generators/my-generator/

  • Now you can run the generator like this:

nx g my-generator