UNPKG

nx

Version:

Smart, Fast and Extensible Build System

258 lines (257 loc) • 7.26 kB
{ "$schema": "http://json-schema.org/draft-07/schema", "$id": "https://nx.dev/core-concepts/configuration#nxjson", "title": "JSON schema for Nx configuration", "type": "object", "properties": { "implicitDependencies": { "type": "object", "description": "Map of files to projects that implicitly depend on them." }, "affected": { "type": "object", "description": "Default options for `nx affected`.", "properties": { "defaultBase": { "type": "string", "description": "Default based branch used by affected commands." } }, "additionalProperties": false }, "npmScope": { "type": "string", "description": "NPM Scope that the workspace uses." }, "tasksRunnerOptions": { "type": "object", "additionalProperties": { "$ref": "#/definitions/tasksRunnerOptions" } }, "namedInputs": { "type": "object", "description": "Named inputs used by inputs defined in targets", "additionalProperties": { "$ref": "#/definitions/inputs" } }, "targetDefaults": { "type": "object", "description": "Target defaults", "additionalProperties": { "$ref": "#/definitions/targetDefaultsConfig" } }, "targetDependencies": { "type": "object", "description": "Dependencies between different target names across all projects.", "additionalProperties": { "$ref": "#/definitions/targetDependencyConfig" } }, "workspaceLayout": { "type": "object", "description": "Where new apps + libs should be placed.", "properties": { "libsDir": { "type": "string", "description": "Default folder name for libs." }, "appsDir": { "type": "string", "description": "Default folder name for apps." } }, "additionalProperties": false }, "cli": { "$ref": "#/definitions/cliOptions" }, "generators": { "$ref": "#/definitions/generatorOptions" }, "plugins": { "type": "array", "description": "Plugins for extending the project graph.", "items": { "type": "string" } }, "defaultProject": { "type": "string", "description": "Default project. When project isn't provided, the default project will be used." } }, "definitions": { "inputs": { "type": "array", "items": { "oneOf": [ { "type": "string" }, { "type": "object", "properties": { "fileset": { "type": "string", "description": "A glob" } }, "additionalProperties": false }, { "type": "object", "properties": { "projects": { "type": "string", "description": "The projects that the targets belong to.", "enum": ["self", "dependencies"] }, "input": { "type": "string", "description": "The name of the input." } }, "additionalProperties": false }, { "type": "object", "properties": { "runtime": { "type": "string", "description": "The command that will be executed and the results of which is added to the hash" } }, "additionalProperties": false }, { "type": "object", "properties": { "env": { "type": "string", "description": "The name of the env var which value is added to the hash" } }, "additionalProperties": false } ] } }, "cliOptions": { "type": "object", "description": "Default generator collection.", "properties": { "packageManager": { "type": "string", "description": "The default package manager to use.", "enum": ["yarn", "pnpm", "npm"] }, "defaultCollection": { "type": "string", "description": "The default schematics collection to use." } } }, "generatorOptions": { "type": "object", "description": "List of default values used by generators." }, "tasksRunnerOptions": { "type": "object", "description": "Available Task Runners.", "properties": { "runner": { "type": "string", "description": "Path to resolve the runner." }, "options": { "type": "object", "description": "Default options for the runner." } }, "additionalProperties": false }, "targetDependencyConfig": { "type": "array", "items": { "oneOf": [ { "type": "string" }, { "type": "object", "properties": { "projects": { "type": "string", "description": "The projects that the targets belong to.", "enum": ["self", "dependencies"] }, "target": { "type": "string", "description": "The name of the target." }, "params": { "type": "string", "description": "Configuration for params handling.", "enum": ["ignore", "forward"], "default": "ignore" } }, "additionalProperties": false, "required": ["projects", "target"] } ] } }, "targetDefaultsConfig": { "type": "object", "description": "Target defaults", "properties": { "inputs": { "$ref": "#/definitions/inputs" }, "dependsOn": { "type": "array", "items": { "oneOf": [ { "type": "string" }, { "type": "object", "properties": { "projects": { "type": "string", "description": "The projects that the targets belong to.", "enum": ["self", "dependencies"] }, "target": { "type": "string", "description": "The name of the target." }, "params": { "type": "string", "description": "Configuration for params handling.", "enum": ["ignore", "forward"], "default": "ignore" } }, "additionalProperties": false, "required": ["projects", "target"] } ] } }, "outputs": { "type": "array", "items": { "type": "string" } } }, "additionalProperties": false } } }