nx
Version:
258 lines (257 loc) • 7.26 kB
JSON
{
"$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
}
}
}