@nx/plugin:plugin

Create a Plugin for Nx.

Usage

1nx generate plugin ... 2

By default, Nx will search for plugin in the default collection provisioned in workspace.json.

You can specify the collection explicitly as follows:

1nx g @nx/plugin:plugin ... 2

Show what will be generated without writing to disk:

1nx g plugin ... --dry-run 2

Examples

Generates an Nx plugin project called plugins-my-plugin at libs/plugins/my-plugin. The project will have an npm package name and import path of @myorg/my-plugin.:

1nx g plugin my-plugin --directory=plugins --importPath=@myorg/my-plugin 2

Options

directory

Required
string

A directory where the plugin is placed.

importPath

string

How the plugin will be published, like @myorg/my-awesome-plugin. Note this must be a valid NPM name.

linter

string
Accepted values: none, eslint

The tool to use for running lint checks.

name

string

Plugin name

unitTestRunner

string
Accepted values: none, jest, vitest

Test runner to use for unit tests.

compiler

string
Default: tsc
Accepted values: tsc, swc

The compiler used by the build and test targets.

e2eTestRunner

string
Default: none
Accepted values: jest, none

Test runner to use for end to end (E2E) tests.

publishable

boolean
Default: false

Generates a boilerplate for publishing the plugin to npm.

skipLintChecks

boolean
Default: false

Do not eslint configuration for plugin json files.

setParserOptionsProject

boolean
Default: false

Whether or not to configure the ESLint parserOptions.project option. We do not do this by default for lint performance reasons.

tags

t
string

Add tags to the library (used for linting).

useProjectJson

boolean

Use a project.json configuration file instead of inlining the Nx configuration in the package.json file.

skipFormat

Internal
boolean
Default: false

Skip formatting files.

skipTsConfig

Internal
boolean
Default: false

Do not update tsconfig.json for development experience.

standaloneConfig

Deprecated
boolean
Default: true

Split the project configuration into <projectRoot>/project.json rather than including it inside workspace.json.

Nx only supports standaloneConfig