{ "name": "plugin", "factory": "./src/generators/plugin/plugin", "schema": { "$schema": "http://json-schema.org/schema", "cli": "nx", "$id": "NxPluginPlugin", "title": "Create a Plugin for Nx", "description": "Create a Plugin for Nx.", "type": "object", "examples": [ { "command": "nx g plugin my-plugin --directory=plugins --importPath=@myorg/my-plugin", "description": "Generate `libs/plugins/my-plugin`" } ], "properties": { "name": { "type": "string", "description": "Plugin name", "$default": { "$source": "argv", "index": 0 }, "x-prompt": "What name would you like to use for the plugin?", "x-priority": "important" }, "directory": { "type": "string", "description": "A directory where the plugin is placed." }, "importPath": { "type": "string", "description": "How the plugin will be published, like `@myorg/my-awesome-plugin`. Note this must be a valid NPM name.", "x-priority": "important" }, "linter": { "description": "The tool to use for running lint checks.", "type": "string", "enum": ["eslint"], "default": "eslint" }, "unitTestRunner": { "type": "string", "enum": ["jest", "none"], "description": "Test runner to use for unit tests.", "default": "jest" }, "tags": { "type": "string", "description": "Add tags to the library (used for linting).", "alias": "t" }, "skipFormat": { "description": "Skip formatting files.", "type": "boolean", "default": false, "x-priority": "internal" }, "skipTsConfig": { "type": "boolean", "default": false, "description": "Do not update tsconfig.json for development experience.", "x-priority": "internal" }, "skipLintChecks": { "type": "boolean", "default": false, "description": "Do not eslint configuration for plugin json files." }, "e2eTestRunner": { "type": "string", "enum": ["jest", "none"], "description": "Test runner to use for end to end (E2E) tests.", "default": "jest" }, "standaloneConfig": { "description": "Split the project configuration into `/project.json` rather than including it inside `workspace.json`.", "type": "boolean", "default": true, "x-deprecated": "Nx only supports standaloneConfig" }, "setParserOptionsProject": { "type": "boolean", "description": "Whether or not to configure the ESLint `parserOptions.project` option. We do not do this by default for lint performance reasons.", "default": false }, "compiler": { "type": "string", "enum": ["tsc", "swc"], "default": "tsc", "description": "The compiler used by the build and test targets." }, "minimal": { "type": "boolean", "description": "Generate the plugin with a minimal setup. This would involve not generating a default executor and generator.", "default": false } }, "required": ["name"], "additionalProperties": false, "presets": [] }, "description": "Create a Nx Plugin.", "implementation": "/packages/nx-plugin/src/generators/plugin/plugin.ts", "aliases": [], "hidden": false, "path": "/packages/nx-plugin/src/generators/plugin/schema.json", "type": "generator" }