UNPKG

@nx/js

Version:

The JS plugin for Nx contains executors and generators that provide the best experience for developing JavaScript and TypeScript projects.

143 lines (142 loc) 4.86 kB
{ "$schema": "https://json-schema.org/schema", "$id": "NxTypescriptLibrary", "cli": "nx", "title": "Create a TypeScript Library", "description": "Create a TypeScript Library.", "type": "object", "properties": { "directory": { "type": "string", "description": "A directory where the lib is placed.", "$default": { "$source": "argv", "index": 0 }, "x-prompt": "Which directory do you want to create the library in?" }, "name": { "type": "string", "description": "Library name.", "x-priority": "important" }, "bundler": { "description": "The bundler to use. Choosing 'none' means this library is not buildable.", "type": "string", "enum": ["swc", "tsc", "rollup", "vite", "esbuild", "none"], "default": "tsc", "x-prompt": "Which bundler would you like to use to build the library? Choose 'none' to skip build setup.", "x-priority": "important" }, "linter": { "description": "The tool to use for running lint checks.", "type": "string", "enum": ["none", "eslint"], "x-priority": "important" }, "unitTestRunner": { "description": "Test runner to use for unit tests.", "type": "string", "enum": ["none", "jest", "vitest"], "x-priority": "important" }, "tags": { "type": "string", "description": "Add tags to the library (used for linting)." }, "skipFormat": { "description": "Skip formatting files.", "type": "boolean", "default": false, "x-priority": "internal" }, "skipPackageJson": { "description": "Do not add dependencies to `package.json`.", "type": "boolean", "default": false, "x-priority": "internal" }, "skipTsConfig": { "type": "boolean", "description": "Do not update tsconfig.json for development experience.", "default": false, "x-priority": "internal" }, "includeBabelRc": { "type": "boolean", "description": "Include a .babelrc configuration to compile TypeScript files" }, "testEnvironment": { "type": "string", "enum": ["jsdom", "node"], "description": "The test environment to use if unitTestRunner is set to jest or vitest.", "default": "node" }, "js": { "type": "boolean", "description": "Generate JavaScript files rather than TypeScript files.", "default": false }, "strict": { "type": "boolean", "description": "Whether to enable tsconfig strict mode or not.", "default": true }, "publishable": { "type": "boolean", "default": false, "description": "Configure the library ready for use with `nx release` (https://nx.dev/core-features/manage-releases).", "x-priority": "important" }, "importPath": { "type": "string", "description": "The library name used to import it, like @myorg/my-awesome-lib. Required for publishable library.", "x-priority": "important" }, "buildable": { "type": "boolean", "default": true, "description": "Generate a buildable library.", "x-deprecated": "Use the `bundler` option for greater control (swc, tsc, rollup, vite, esbuild, none)." }, "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 }, "config": { "type": "string", "enum": ["workspace", "project", "npm-scripts"], "default": "project", "description": "Determines whether the project's executors should be configured in `workspace.json`, `project.json` or as npm scripts.", "x-priority": "internal" }, "compiler": { "type": "string", "enum": ["tsc", "swc"], "description": "The compiler used by the build and test targets", "x-deprecated": "Use the `bundler` option for greater control (swc, tsc, rollup, vite, esbuild, none)." }, "skipTypeCheck": { "type": "boolean", "description": "Whether to skip TypeScript type checking for SWC compiler.", "default": false }, "minimal": { "type": "boolean", "description": "Generate a library with a minimal setup. No README.md generated.", "default": false }, "simpleName": { "description": "Don't include the directory in the generated file name.", "type": "boolean", "default": false }, "useProjectJson": { "type": "boolean", "description": "Use a `project.json` configuration file instead of inlining the Nx configuration in the `package.json` file." } }, "required": ["directory"], "examplesFile": "../../../docs/library-examples.md" }