docs(nxdev): automatic related docs (#11994)

* feat(nxdev): automatic related docs

* docs(nxdev): use auto related docs
This commit is contained in:
Isaac Mann 2022-09-15 15:56:15 -04:00 committed by GitHub
parent dd6addefc3
commit 1c0bebf194
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 199 additions and 165 deletions

View File

@ -21,11 +21,13 @@
{
"name": "generate",
"id": "generate",
"tags": ["use-code-generators"],
"file": "generated/cli/generate",
"content": "---\ntitle: 'generate - CLI command'\ndescription: 'Runs a generator that creates and/or modifies files based on a generator from a collection.'\n---\n\n# generate\n\nRuns a generator that creates and/or modifies files based on a generator from a collection.\n\n## Usage\n\n```bash\nnx generate <collection:generator>\n```\n\n```bash\nnx g <generator>\n```\n\nInstall `nx` globally to invoke the command directly using `nx`, or use `npx nx`, `yarn nx`, or `pnpx nx`.\n\n### Examples\n\nGenerate a new Angular application:\n\n```bash\nnx generate @nrwl/angular:app myapp\n```\n\nGenerate a new React application:\n\n```bash\nnx generate @nrwl/react:app myapp\n```\n\nGenerate a new web component application:\n\n```bash\nnx generate @nrwl/web:app myapp\n```\n\nGenerate a new Node application:\n\n```bash\nnx generate @nrwl/node:app myapp\n```\n\nGenerate a new Angular library application:\n\n```bash\nnx generate @nrwl/angular:library mylibrary\n```\n\nGenerate a new React library application:\n\n```bash\nnx generate @nrwl/react:library mylibrary\n```\n\nGenerate a new Node library application:\n\n```bash\nnx generate @nrwl/node:library mylibrary\n```\n\n## Options\n\n### defaults\n\nDefault: `false`\n\nWhen true, disables interactive input prompts for options with a default.\n\n### dryRun\n\nDefault: `false`\n\nWhen true, disables interactive input prompts for options with a default.\n\n### force\n\nDefault: `false`\n\nWhen true, forces overwriting of existing files.\n\n### interactive\n\nDefault: `true`\n\nWhen false, disables interactive input prompts.\n\n### help\n\nShow help and display available generators in the default collection.\n\n### version\n\nShow version number\n"
},
{
"name": "run",
"tags": ["run-tasks", "use-task-executors"],
"id": "run",
"file": "generated/cli/run",
"content": "---\ntitle: 'run - CLI command'\ndescription: 'Runs an Architect target with an optional custom builder configuration defined in your project.'\n---\n\n# run\n\nRuns an Architect target with an optional custom builder configuration defined in your project.\n\n## Usage\n\n```bash\nnx run <target> [options]\n```\n\nInstall `nx` globally to invoke the command directly using `nx`, or use `npx nx`, `yarn nx`, or `pnpx nx`.\n\n### Examples\n\nRun the `build` target for the `myapp` :\n\n```bash\nnx run myapp:build\n```\n\nRun the `build` target for the `myapp` project with a `production` configuration:\n\n```bash\nnx run myapp:build:production\n```\n\n## Options\n\n### configuration (-c)\n\nA named builder configuration, defined in the \"configurations\" section of the workspace configuration file. The builder uses the named configuration to run the given target.\n\n### help\n\nShow help\n\n### version\n\nShow version number\n"
@ -39,17 +41,20 @@
{
"name": "graph",
"id": "dep-graph",
"tags": ["explore-graph"],
"file": "generated/cli/graph",
"content": "---\ntitle: 'graph - CLI command'\ndescription: 'Graph dependencies within workspace'\n---\n\n# graph\n\nGraph dependencies within workspace\n\n## Usage\n\n```bash\nnx graph\n```\n\nInstall `nx` globally to invoke the command directly using `nx`, or use `npx nx`, `yarn nx`, or `pnpx nx`.\n\n### Examples\n\nOpen the project graph of the workspace in the browser:\n\n```bash\nnx graph\n```\n\nSave the project graph into a json file:\n\n```bash\nnx graph --file=output.json\n```\n\nGenerate a static website with project graph into an html file, accompanied by an asset folder called static:\n\n```bash\nnx graph --file=output.html\n```\n\nShow the graph where every node is either an ancestor or a descendant of todos-feature-main:\n\n```bash\nnx graph --focus=todos-feature-main\n```\n\nInclude project-one and project-two in the project graph:\n\n```bash\nnx graph --include=project-one,project-two\n```\n\nExclude project-one and project-two from the project graph:\n\n```bash\nnx graph --exclude=project-one,project-two\n```\n\nShow the graph where every node is either an ancestor or a descendant of todos-feature-main, but exclude project-one and project-two:\n\n```bash\nnx graph --focus=todos-feature-main --exclude=project-one,project-two\n```\n\nWatch for changes to project graph and update in-browser:\n\n```bash\nnx graph --watch\n```\n\n## Options\n\n### exclude\n\nType: array\n\nList of projects delimited by commas to exclude from the project graph.\n\n### file\n\nType: string\n\nOutput file (e.g. --file=output.json or --file=dep-graph.html)\n\n### focus\n\nType: string\n\nUse to show the project graph for a particular project and every node that is either an ancestor or a descendant.\n\n### groupByFolder\n\nType: boolean\n\nGroup projects by folder in the project graph\n\n### help\n\nType: boolean\n\nShow help\n\n### host\n\nType: string\n\nBind the project graph server to a specific ip address.\n\n### open\n\nType: boolean\n\nDefault: true\n\nOpen the project graph in the browser.\n\n### port\n\nType: number\n\nBind the project graph server to a specific port.\n\n### version\n\nType: boolean\n\nShow version number\n\n### watch\n\nType: boolean\n\nDefault: false\n\nWatch for changes to project graph and update in-browser\n"
},
{
"name": "run-many",
"tags": ["run-tasks", "use-task-executors"],
"id": "run-many",
"file": "generated/cli/run-many",
"content": "---\ntitle: 'run-many - CLI command'\ndescription: 'Run target for multiple listed projects'\n---\n\n# run-many\n\nRun target for multiple listed projects\n\n## Usage\n\n```bash\nnx run-many\n```\n\nInstall `nx` globally to invoke the command directly using `nx`, or use `npx nx`, `yarn nx`, or `pnpx nx`.\n\n### Examples\n\nTest all projects:\n\n```bash\nnx run-many --target=test\n```\n\nTest proj1 and proj2:\n\n```bash\nnx run-many --target=test --projects=proj1,proj2\n```\n\nTest proj1 and proj2 in parallel:\n\n```bash\nnx run-many --target=test --projects=proj1,proj2 --parallel=2\n```\n\n## Options\n\n### all\n\nType: boolean\n\nDefault: true\n\n[deprecated] Run the target on all projects in the workspace\n\n### configuration\n\nType: string\n\nThis is the configuration to use when performing tasks on projects\n\n### exclude\n\nType: array\n\nDefault: []\n\nExclude certain projects from being processed\n\n### help\n\nType: boolean\n\nShow help\n\n### nx-bail\n\nType: boolean\n\nDefault: false\n\nStop command execution after the first failed task\n\n### nx-ignore-cycles\n\nType: boolean\n\nDefault: false\n\nIgnore cycles in the task graph\n\n### ~~only-failed~~\n\nType: boolean\n\nDefault: false\n\n**Deprecated:** The command to rerun failed projects will appear if projects fail. This now does nothing and will be removed in v15.\n\nOnly run the target on projects which previously failed\n\n### output-style\n\nType: string\n\nChoices: [dynamic, static, stream, stream-without-prefixes]\n\nDefines how Nx emits outputs tasks logs\n\n### parallel\n\nType: string\n\nMax number of parallel processes [default is 3]\n\n### projects\n\nType: string\n\nProjects to run (comma delimited)\n\n### runner\n\nType: string\n\nOverride the tasks runner in `nx.json`\n\n### skip-nx-cache\n\nType: boolean\n\nDefault: false\n\nRerun the tasks even when the results are available in the cache\n\n### target\n\nType: string\n\nTask to run for affected projects\n\n### verbose\n\nType: boolean\n\nDefault: false\n\nPrints additional information about the commands (e.g., stack traces)\n\n### version\n\nType: boolean\n\nShow version number\n"
},
{
"name": "affected",
"tags": ["run-tasks", "use-task-executors"],
"id": "affected",
"file": "generated/cli/affected",
"content": "---\ntitle: 'affected - CLI command'\ndescription: 'Run target for affected projects'\n---\n\n# affected\n\nRun target for affected projects\n\n## Usage\n\n```bash\nnx affected\n```\n\nInstall `nx` globally to invoke the command directly using `nx`, or use `npx nx`, `yarn nx`, or `pnpx nx`.\n\n### Examples\n\nRun custom target for all affected projects:\n\n```bash\nnx affected --target=custom-target\n```\n\nRun tests in parallel:\n\n```bash\nnx affected --target=test --parallel=5\n```\n\nRun the test target for all projects:\n\n```bash\nnx affected --target=test --all\n```\n\nRun tests for all the projects affected by changing the index.ts file:\n\n```bash\nnx affected --target=test --files=libs/mylib/src/index.ts\n```\n\nRun tests for all the projects affected by the changes between main and HEAD (e.g., PR):\n\n```bash\nnx affected --target=test --base=main --head=HEAD\n```\n\nRun tests for all the projects affected by the last commit on main:\n\n```bash\nnx affected --target=test --base=main~1 --head=main\n```\n\n## Options\n\n### all\n\nType: boolean\n\nAll projects\n\n### base\n\nType: string\n\nBase of the current branch (usually main)\n\n### configuration\n\nType: string\n\nThis is the configuration to use when performing tasks on projects\n\n### exclude\n\nType: array\n\nDefault: []\n\nExclude certain projects from being processed\n\n### files\n\nType: array\n\nChange the way Nx is calculating the affected command by providing directly changed files, list of files delimited by commas\n\n### head\n\nType: string\n\nLatest commit of the current branch (usually HEAD)\n\n### help\n\nType: boolean\n\nShow help\n\n### nx-bail\n\nType: boolean\n\nDefault: false\n\nStop command execution after the first failed task\n\n### nx-ignore-cycles\n\nType: boolean\n\nDefault: false\n\nIgnore cycles in the task graph\n\n### ~~only-failed~~\n\nType: boolean\n\nDefault: false\n\n**Deprecated:** The command to rerun failed projects will appear if projects fail. This now does nothing and will be removed in v15.\n\nIsolate projects which previously failed\n\n### output-style\n\nType: string\n\nChoices: [dynamic, static, stream, stream-without-prefixes]\n\nDefines how Nx emits outputs tasks logs\n\n### parallel\n\nType: string\n\nMax number of parallel processes [default is 3]\n\n### runner\n\nType: string\n\nThis is the name of the tasks runner configured in nx.json\n\n### skip-nx-cache\n\nType: boolean\n\nDefault: false\n\nRerun the tasks even when the results are available in the cache\n\n### target\n\nType: string\n\nTask to run for affected projects\n\n### uncommitted\n\nType: boolean\n\nUncommitted changes\n\n### untracked\n\nType: boolean\n\nUntracked changes\n\n### verbose\n\nType: boolean\n\nDefault: false\n\nPrints additional information about the commands (e.g., stack traces)\n\n### version\n\nType: boolean\n\nShow version number\n"
@ -81,18 +86,21 @@
{
"name": "format:check",
"id": "format-check",
"tags": ["enforce-project-boundaries"],
"file": "generated/cli/format-check",
"content": "---\ntitle: 'format:check - CLI command'\ndescription: 'Check for un-formatted files'\n---\n\n# format:check\n\nCheck for un-formatted files\n\n## Usage\n\n```bash\nnx format:check\n```\n\nInstall `nx` globally to invoke the command directly using `nx`, or use `npx nx`, `yarn nx`, or `pnpx nx`.\n\n## Options\n\n### all\n\nType: boolean\n\nAll projects\n\n### base\n\nType: string\n\nBase of the current branch (usually main)\n\n### configuration\n\nType: string\n\nThis is the configuration to use when performing tasks on projects\n\n### exclude\n\nType: array\n\nDefault: []\n\nExclude certain projects from being processed\n\n### files\n\nType: array\n\nChange the way Nx is calculating the affected command by providing directly changed files, list of files delimited by commas\n\n### head\n\nType: string\n\nLatest commit of the current branch (usually HEAD)\n\n### help\n\nType: boolean\n\nShow help\n\n### libs-and-apps\n\nType: boolean\n\nFormat only libraries and applications files.\n\n### nx-bail\n\nType: boolean\n\nDefault: false\n\nStop command execution after the first failed task\n\n### nx-ignore-cycles\n\nType: boolean\n\nDefault: false\n\nIgnore cycles in the task graph\n\n### ~~only-failed~~\n\nType: boolean\n\nDefault: false\n\n**Deprecated:** The command to rerun failed projects will appear if projects fail. This now does nothing and will be removed in v15.\n\nIsolate projects which previously failed\n\n### projects\n\nType: array\n\nProjects to format (comma delimited)\n\n### runner\n\nType: string\n\nThis is the name of the tasks runner configured in nx.json\n\n### skip-nx-cache\n\nType: boolean\n\nDefault: false\n\nRerun the tasks even when the results are available in the cache\n\n### uncommitted\n\nType: boolean\n\nUncommitted changes\n\n### untracked\n\nType: boolean\n\nUntracked changes\n\n### verbose\n\nType: boolean\n\nDefault: false\n\nPrints additional information about the commands (e.g., stack traces)\n\n### version\n\nType: boolean\n\nShow version number\n"
},
{
"name": "format:write",
"id": "format-write",
"tags": ["enforce-project-boundaries"],
"file": "generated/cli/format-write",
"content": "---\ntitle: 'format:write - CLI command'\ndescription: 'Overwrite un-formatted files'\n---\n\n# format:write\n\nOverwrite un-formatted files\n\n## Usage\n\n```bash\nnx format:write\n```\n\nInstall `nx` globally to invoke the command directly using `nx`, or use `npx nx`, `yarn nx`, or `pnpx nx`.\n\n## Options\n\n### all\n\nType: boolean\n\nAll projects\n\n### base\n\nType: string\n\nBase of the current branch (usually main)\n\n### configuration\n\nType: string\n\nThis is the configuration to use when performing tasks on projects\n\n### exclude\n\nType: array\n\nDefault: []\n\nExclude certain projects from being processed\n\n### files\n\nType: array\n\nChange the way Nx is calculating the affected command by providing directly changed files, list of files delimited by commas\n\n### head\n\nType: string\n\nLatest commit of the current branch (usually HEAD)\n\n### help\n\nType: boolean\n\nShow help\n\n### libs-and-apps\n\nType: boolean\n\nFormat only libraries and applications files.\n\n### nx-bail\n\nType: boolean\n\nDefault: false\n\nStop command execution after the first failed task\n\n### nx-ignore-cycles\n\nType: boolean\n\nDefault: false\n\nIgnore cycles in the task graph\n\n### ~~only-failed~~\n\nType: boolean\n\nDefault: false\n\n**Deprecated:** The command to rerun failed projects will appear if projects fail. This now does nothing and will be removed in v15.\n\nIsolate projects which previously failed\n\n### projects\n\nType: array\n\nProjects to format (comma delimited)\n\n### runner\n\nType: string\n\nThis is the name of the tasks runner configured in nx.json\n\n### skip-nx-cache\n\nType: boolean\n\nDefault: false\n\nRerun the tasks even when the results are available in the cache\n\n### uncommitted\n\nType: boolean\n\nUncommitted changes\n\n### untracked\n\nType: boolean\n\nUntracked changes\n\n### verbose\n\nType: boolean\n\nDefault: false\n\nPrints additional information about the commands (e.g., stack traces)\n\n### version\n\nType: boolean\n\nShow version number\n"
},
{
"name": "migrate",
"id": "migrate",
"tags": ["automate-updating-dependencies"],
"file": "generated/cli/migrate",
"content": "---\ntitle: 'migrate - CLI command'\ndescription:\n 'Creates a migrations file or runs migrations from the migrations file.\n - Migrate packages and create migrations.json (e.g., nx migrate @nrwl/workspace@latest)\n - Run migrations (e.g., nx migrate --run-migrations=migrations.json)'\n---\n\n# migrate\n\nCreates a migrations file or runs migrations from the migrations file.\n\n- Migrate packages and create migrations.json (e.g., nx migrate @nrwl/workspace@latest)\n- Run migrations (e.g., nx migrate --run-migrations=migrations.json)\n\n## Usage\n\n```bash\nnx migrate [packageAndVersion]\n```\n\nInstall `nx` globally to invoke the command directly using `nx`, or use `npx nx`, `yarn nx`, or `pnpx nx`.\n\n### Examples\n\nUpdate @nrwl/workspace to \"next\". This will update other packages and will generate migrations.json:\n\n```bash\nnx migrate next\n```\n\nUpdate @nrwl/workspace to \"9.0.0\". This will update other packages and will generate migrations.json:\n\n```bash\nnx migrate 9.0.0\n```\n\nUpdate @nrwl/workspace and generate the list of migrations starting with version 8.0.0 of @nrwl/workspace and @nrwl/node, regardless of what installed locally:\n\n```bash\nnx migrate @nrwl/workspace@9.0.0 --from=\"@nrwl/workspace@8.0.0,@nrwl/node@8.0.0\"\n```\n\nUpdate @nrwl/workspace to \"9.0.0\". If it tries to update @nrwl/react or @nrwl/angular, use version \"9.0.1\":\n\n```bash\nnx migrate @nrwl/workspace@9.0.0 --to=\"@nrwl/react@9.0.1,@nrwl/angular@9.0.1\"\n```\n\nUpdate another-package to \"12.0.0\". This will update other packages and will generate migrations.json file:\n\n```bash\nnx migrate another-package@12.0.0\n```\n\nRun migrations from the provided migrations.json file. You can modify migrations.json and run this command many times:\n\n```bash\nnx migrate --run-migrations=migrations.json\n```\n\nCreate a dedicated commit for each successfully completed migration. You can customize the prefix used for each commit by additionally setting --commit-prefix=\"PREFIX_HERE \":\n\n```bash\nnx migrate --run-migrations --create-commits\n```\n\n## Options\n\n### commitPrefix\n\nType: string\n\nDefault: chore: [nx migration]\n\nCommit prefix to apply to the commit for each migration, when --create-commits is enabled\n\n### createCommits\n\nType: boolean\n\nDefault: false\n\nAutomatically create a git commit after each migration runs\n\n### from\n\nType: string\n\nUse the provided versions for packages instead of the ones installed in node_modules (e.g., --from=\"@nrwl/react:12.0.0,@nrwl/js:12.0.0\")\n\n### help\n\nType: boolean\n\nShow help\n\n### packageAndVersion\n\nType: string\n\nThe target package and version (e.g, @nrwl/workspace@13.0.0)\n\n### runMigrations\n\nType: string\n\nExecute migrations from a file (when the file isn't provided, execute migrations from migrations.json)\n\n### to\n\nType: string\n\nUse the provided versions for packages instead of the ones calculated by the migrator (e.g., --to=\"@nrwl/react:12.0.0,@nrwl/js:12.0.0\")\n\n### version\n\nType: boolean\n\nShow version number\n"
},
@ -111,6 +119,7 @@
{
"name": "workspace-lint",
"id": "workspace-lint",
"tags": ["enforce-project-boundaries"],
"file": "generated/cli/workspace-lint",
"content": "---\ntitle: 'workspace-lint - CLI command'\ndescription: 'Lint nx specific workspace files (nx.json, workspace.json)'\n---\n\n# workspace-lint\n\nLint nx specific workspace files (nx.json, workspace.json)\n\n## Usage\n\n```bash\nnx workspace-lint [files..]\n```\n\nInstall `nx` globally to invoke the command directly using `nx`, or use `npx nx`, `yarn nx`, or `pnpx nx`.\n"
},
@ -123,12 +132,14 @@
{
"name": "connect-to-nx-cloud",
"id": "connect-to-nx-cloud",
"tags": ["cache-task-results", "distribute-task-execution"],
"file": "generated/cli/connect-to-nx-cloud",
"content": "---\ntitle: 'connect-to-nx-cloud - CLI command'\ndescription: 'Makes sure the workspace is connected to Nx Cloud'\n---\n\n# connect-to-nx-cloud\n\nMakes sure the workspace is connected to Nx Cloud\n\n## Usage\n\n```bash\nnx connect-to-nx-cloud\n```\n\nInstall `nx` globally to invoke the command directly using `nx`, or use `npx nx`, `yarn nx`, or `pnpx nx`.\n\n## Options\n\n### help\n\nType: boolean\n\nShow help\n\n### version\n\nType: boolean\n\nShow version number\n"
},
{
"name": "reset",
"id": "reset",
"tags": ["cache-task-results"],
"file": "generated/cli/reset",
"content": "---\ntitle: 'reset - CLI command'\ndescription: 'Clears all the cached Nx artifacts and metadata about the workspace and shuts down the Nx Daemon.'\n---\n\n# reset\n\nClears all the cached Nx artifacts and metadata about the workspace and shuts down the Nx Daemon.\n\n## Usage\n\n```bash\nnx reset\n```\n\nInstall `nx` globally to invoke the command directly using `nx`, or use `npx nx`, `yarn nx`, or `pnpx nx`.\n"
},

View File

@ -261,37 +261,44 @@
"itemList": [
{
"name": "Run Tasks",
"tags": ["run-tasks"],
"id": "run-tasks",
"file": "shared/core-features/run-tasks"
},
{
"name": "Cache Task Results",
"id": "cache-task-results",
"tags": ["cache-task-results"],
"file": "shared/core-features/cache-task-results"
},
{
"name": "Explore the Graph",
"id": "explore-graph",
"tags": ["explore-graph"],
"file": "shared/core-features/explore-graph"
},
{
"name": "Distribute Task Execution",
"id": "distribute-task-execution",
"tags": ["distribute-task-execution"],
"file": "shared/core-features/distribute-task-execution"
},
{
"name": "Integrate with Editors",
"id": "integrate-with-editors",
"tags": ["integrate-with-editors"],
"file": "shared/core-features/integrate-with-editors"
},
{
"name": "Automate Updating Dependencies",
"id": "automate-updating-dependencies",
"tags": ["automate-updating-dependencies"],
"file": "shared/core-features/automate-updating-dependencies"
},
{
"name": "Enforce Project Boundaries",
"id": "enforce-project-boundaries",
"tags": ["enforce-project-boundaries"],
"file": "shared/core-features/enforce-project-boundaries"
}
]
@ -304,16 +311,19 @@
{
"name": "Use Task Executors",
"id": "use-task-executors",
"tags": ["use-task-executors"],
"file": "shared/plugin-features/use-task-executors"
},
{
"name": "Use Code Generators",
"id": "use-code-generators",
"tags": ["use-code-generators"],
"file": "shared/plugin-features/use-code-generators"
},
{
"name": "Create Your Own Plugin",
"id": "create-your-own-plugin",
"tags": ["create-your-own-plugin"],
"file": "shared/plugin-features/create-your-own-plugin"
}
]
@ -325,31 +335,37 @@
"itemList": [
{
"name": "Integrated Repos vs. Package-Based Repos",
"tags": ["intro"],
"id": "integrated-vs-package-based",
"file": "shared/concepts/integrated-vs-package-based"
},
{
"name": "Mental Model",
"tags": ["intro"],
"id": "mental-model",
"file": "shared/mental-model"
},
{
"name": "How Caching Works",
"tags": ["cache-task-results"],
"id": "how-caching-works",
"file": "shared/concepts/how-caching-works"
},
{
"name": "Distributed Task Execution Guide",
"tags": ["distribute-task-execution"],
"id": "dte",
"file": "shared/concepts/dte-guide"
},
{
"name": "Task Pipeline Configuration",
"tags": ["run-tasks", "cache-task-results", "use-task-executors"],
"id": "task-pipeline-configuration",
"file": "shared/concepts/task-pipeline-configuration"
},
{
"name": "Affected",
"tags": ["run-tasks"],
"id": "affected",
"file": "shared/using-nx/affected"
},
@ -368,6 +384,7 @@
{
"name": "Incremental Builds",
"id": "incremental-builds",
"tags": ["use-task-executors"],
"file": "shared/incremental-builds"
},
{
@ -383,6 +400,7 @@
{
"name": "Using Nx at Enterprises",
"id": "monorepo-nx-enterprise",
"tags": ["enforce-project-boundaries", "use-code-generators"],
"file": "shared/monorepo-nx-enterprise"
},
{
@ -403,6 +421,7 @@
{
"name": "Nx Devkit and Angular Devkit",
"id": "nx-devkit-angular-devkit",
"tags": ["create-your-own-plugin"],
"file": "shared/guides/nx-devkit-angular-devkit"
},
{
@ -413,21 +432,25 @@
{
"name": "Applications and Libraries",
"id": "applications-and-libraries",
"tags": ["enforce-project-boundaries"],
"file": "shared/workspace/applications-and-libraries"
},
{
"name": "Creating Libraries",
"id": "creating-libraries",
"tags": ["enforce-project-boundaries"],
"file": "shared/workspace/creating-libraries"
},
{
"name": "Library Types",
"id": "library-types",
"tags": ["enforce-project-boundaries"],
"file": "shared/workspace/library-types"
},
{
"name": "Grouping Libraries",
"id": "grouping-libraries",
"tags": ["enforce-project-boundaries"],
"file": "shared/workspace/grouping-libraries"
},
{
@ -438,6 +461,7 @@
{
"name": "How the Project Graph is Built",
"id": "how-project-graph-is-built",
"tags": ["explore-graph"],
"file": "shared/concepts/how-project-graph-is-built"
}
]
@ -450,6 +474,7 @@
{
"name": "CI Setup",
"id": "ci-setup",
"tags": ["distribute-task-execution"],
"file": "shared/ci-overview"
},
{
@ -472,31 +497,37 @@
{
"name": "Disable Graph Links Created from Analyzing Source Files",
"id": "analyze-source-files",
"tags": ["explore-graph"],
"file": "shared/recipes/analyze-source-files"
},
{
"name": "Nx Console Generate Command",
"id": "console-generate-command",
"tags": ["integrate-with-editors"],
"file": "shared/recipes/console-generate-command"
},
{
"name": "Nx Console Run Command",
"id": "console-run-command",
"tags": ["integrate-with-editors"],
"file": "shared/recipes/console-run-command"
},
{
"name": "Nx Console Project Pane",
"id": "console-project-pane",
"tags": ["integrate-with-editors"],
"file": "shared/recipes/console-project-pane"
},
{
"name": "Nx Console Keyboard Shortcuts",
"id": "console-shortcuts",
"tags": ["integrate-with-editors"],
"file": "shared/recipes/console-shortcuts"
},
{
"name": "Advanced Update Nx",
"id": "advanced-update",
"tags": ["automate-updating-dependencies"],
"file": "shared/recipes/advanced-update"
},
{
@ -572,46 +603,55 @@
{
"name": "Running Custom Commands",
"id": "run-commands-executor",
"tags": ["use-task-executors"],
"file": "shared/running-custom-commands"
},
{
"name": "Use Executor Configurations",
"id": "use-executor-configurations",
"tags": ["use-task-executors"],
"file": "shared/recipes/use-executor-configurations"
},
{
"name": "Creating Custom Executors",
"id": "creating-custom-executors",
"tags": ["use-task-executors"],
"file": "shared/tools-workspace-builders"
},
{
"name": "Compose Executors",
"id": "compose-executors",
"tags": ["use-task-executors"],
"file": "shared/recipes/compose-executors"
},
{
"name": "Workspace Generators",
"id": "workspace-generators",
"tags": ["use-code-generators"],
"file": "shared/generators/workspace-generators"
},
{
"name": "Composing Generators",
"id": "composing-generators",
"tags": ["use-code-generators"],
"file": "shared/generators/composing-generators"
},
{
"name": "Generator Options",
"id": "generator-options",
"tags": ["use-code-generators"],
"file": "shared/generators/generator-options"
},
{
"name": "Creating Files",
"id": "creating-files",
"tags": ["use-code-generators"],
"file": "shared/generators/creating-files"
},
{
"name": "Modifying Files",
"id": "modifying-files",
"tags": ["use-code-generators"],
"file": "shared/generators/modifying-files"
},
{
@ -632,16 +672,19 @@
{
"name": "Define Environment Variables",
"id": "define-environment-variables",
"tags": ["environment-variables"],
"file": "shared/guides/define-environment-variables"
},
{
"name": "Use Environment Variables in React",
"id": "use-environment-variables-in-react",
"tags": ["environment-variables"],
"file": "shared/guides/use-environment-variables-in-react"
},
{
"name": "Use Environment Variables in Angular",
"id": "use-environment-variables-in-angular",
"tags": ["environment-variables"],
"file": "shared/guides/use-environment-variables-in-angular"
},
{
@ -652,11 +695,13 @@
{
"name": "Profiling Build Performance",
"id": "performance-profiling",
"tags": ["use-task-executors", "environment-variables"],
"file": "shared/guides/performance-profiling"
},
{
"name": "Using ESLint in Nx Workspaces",
"id": "eslint",
"tags": ["enforce-project-boundaries"],
"file": "shared/eslint"
},
{
@ -702,11 +747,13 @@
{
"name": "Customizing Webpack Config",
"id": "customize-webpack",
"tags": ["use-task-executors"],
"file": "shared/guides/customize-webpack"
},
{
"name": "Faster Builds with Module Federation",
"id": "faster-builds",
"tags": ["use-task-executors"],
"file": "shared/guides/module-federation/faster-builds"
},
{
@ -742,41 +789,49 @@
{
"name": "Project Inference Plugins",
"id": "project-inference-plugins",
"tags": ["create-your-own-plugin"],
"file": "shared/extending-nx/project-inference-plugins"
},
{
"name": "Project Graph Plugins",
"id": "project-graph-plugins",
"tags": ["create-your-own-plugin", "explore-graph"],
"file": "shared/extending-nx/project-graph-plugins"
},
{
"name": "Ban Dependencies with Certain Tags",
"id": "ban-dependencies-with-tags",
"tags": ["enforce-project-boundaries"],
"file": "shared/recipes/ban-dependencies-with-tags"
},
{
"name": "Tag in Multiple Dimensions",
"id": "tag-multiple-dimensions",
"tags": ["enforce-project-boundaries"],
"file": "shared/recipes/tag-multiple-dimensions"
},
{
"name": "Ban External Imports",
"id": "ban-external-imports",
"tags": ["enforce-project-boundaries"],
"file": "shared/recipes/ban-external-imports"
},
{
"name": "Tags Allow List",
"id": "tags-allow-list",
"tags": ["enforce-project-boundaries"],
"file": "shared/recipes/tags-allow-list"
},
{
"name": "Export Project Graph",
"id": "export-project-graph",
"tags": ["explore-graph"],
"file": "shared/recipes/export-project-graph"
},
{
"name": "Resolve Circular Dependencies",
"id": "resolve-circular-dependencies",
"tags": ["explore-graph"],
"file": "shared/recipes/resolve-circular-dependencies"
}
]
@ -799,16 +854,19 @@
{
"name": "Project Configuration",
"id": "project-configuration",
"tags": ["use-task-executors"],
"file": "shared/reference/project-configuration"
},
{
"name": ".nxignore",
"id": "nxignore",
"tags": ["enforce-project-boundaries"],
"file": "shared/reference/nxignore"
},
{
"name": "Environment Variables",
"id": "environment-variables",
"tags": ["environment-variables"],
"file": "shared/reference/environment-variables"
},
{
@ -821,6 +879,7 @@
{
"name": "Nx Devkit",
"id": "packages-devkit",
"tags": ["create-your-own-plugin"],
"file": "",
"path": "/packages#devkit",
"isExternal": true
@ -1010,18 +1069,31 @@
{
"name": "generate",
"id": "generate",
"tags": ["use-code-generators"],
"file": "generated/cli/generate"
},
{ "name": "run", "id": "run", "file": "generated/cli/run" },
{
"name": "run",
"tags": ["run-tasks", "use-task-executors"],
"id": "run",
"file": "generated/cli/run"
},
{ "name": "daemon", "id": "daemon", "file": "generated/cli/daemon" },
{ "name": "graph", "id": "dep-graph", "file": "generated/cli/graph" },
{
"name": "graph",
"id": "dep-graph",
"tags": ["explore-graph"],
"file": "generated/cli/graph"
},
{
"name": "run-many",
"tags": ["run-tasks", "use-task-executors"],
"id": "run-many",
"file": "generated/cli/run-many"
},
{
"name": "affected",
"tags": ["run-tasks", "use-task-executors"],
"id": "affected",
"file": "generated/cli/affected"
},
@ -1048,16 +1120,19 @@
{
"name": "format:check",
"id": "format-check",
"tags": ["enforce-project-boundaries"],
"file": "generated/cli/format-check"
},
{
"name": "format:write",
"id": "format-write",
"tags": ["enforce-project-boundaries"],
"file": "generated/cli/format-write"
},
{
"name": "migrate",
"id": "migrate",
"tags": ["automate-updating-dependencies"],
"file": "generated/cli/migrate"
},
{ "name": "report", "id": "report", "file": "generated/cli/report" },
@ -1065,6 +1140,7 @@
{
"name": "workspace-lint",
"id": "workspace-lint",
"tags": ["enforce-project-boundaries"],
"file": "generated/cli/workspace-lint"
},
{
@ -1075,9 +1151,15 @@
{
"name": "connect-to-nx-cloud",
"id": "connect-to-nx-cloud",
"tags": ["cache-task-results", "distribute-task-execution"],
"file": "generated/cli/connect-to-nx-cloud"
},
{ "name": "reset", "id": "reset", "file": "generated/cli/reset" },
{
"name": "reset",
"id": "reset",
"tags": ["cache-task-results"],
"file": "generated/cli/reset"
},
{
"name": "repair",
"id": "repair",

View File

@ -60,10 +60,3 @@ Nx creates a graph of all the dependencies between projects in your workspace us
{% /tabs %}
Then `my-app` depends on `some-api`
## Related Documentation
### Recipes
- [Disable Graph Links Created from Analyzing Source Files](/recipe/analyze-source-files)
- [Modify the Project Graph with a Plugin](recipe/project-graph-plugins)

View File

@ -62,13 +62,3 @@ Note: You may want to keep the `migrations.json` until every branch that was cre
## Problems?
If you can't run `nx migrate --run-migrations` all in one step, try the tips in [Advanced Update Process](/recipe/advanced-update)
## Related Documentation
### Recipes
- [Advanced Update Process](/recipe/advanced-update)
### Reference
- [migrate command](/nx/migrate)

View File

@ -80,17 +80,9 @@ You can connect your workspace to Nx Cloud by running:
npx nx connect-to-nx-cloud
```
## Related Documentation
## See Also:
- [Nx Cloud Documentation](/nx-cloud/intro/what-is-nx-cloud)
- [Nx Cloud Main Site](https://nx.app)
### Concepts
- [How Caching Works](/concepts/how-caching-works)
### Reference
- [--skip-nx-cache](/nx/affected#skip-nx-cache)
- [reset command](/nx/reset)
- [tasks-runner-options](/reference/nx-json#tasks-runner-options)
- [--skip-nx-cache flag](/nx/affected#skip-nx-cache)
- [tasks-runner-options property](/reference/nx-json#tasks-runner-options)

View File

@ -51,15 +51,7 @@ For more details about how distributed task execution works, check out the [illu
[![how does distributed task execution work in Nx Cloud?](../images/dte/how-does-dte-work.jpeg)](../concepts/dte)
## Related Documentation
## See Also
- [Nx Cloud Documentation](/nx-cloud/intro/what-is-nx-cloud)
- [Nx Cloud Main Site](https://nx.app)
### Recipes
- [CI Setup](/recipes/ci-setup)
### Reference
- [connect-to-nx-cloud command](/nx/connect-to-nx-cloud)

View File

@ -153,28 +153,6 @@ A project tagged with "scope:admin" can only depend on projects
tagged with "scoped:shared" or "scope:admin".
```
## Related Documentation
## See Also
### Concepts
- [Using Nx at Enterprises](/more-concepts/monorepo-nx-enterprise)
- [Applications and Libraries](/more-concepts/applications-and-libraries)
- [Creating Libraries](/more-concepts/creating-libraries)
- [Library Types](/more-concepts/library-types)
- [Grouping Libraries](/more-concepts/grouping-libraries)
### Recipes
- [Using ESLint in Nx Workspaces](/recipe/eslint)
- [Ban Dependencies with Certain Tags](/recipe/ban-dependencies-with-tags)
- [Tag in Multiple Dimensions](/recipe/tag-multiple-dimensions)
- [Ban External Imports](/recipe/ban-external-imports)
- [Tags Allow List](/recipe/tags-allow-list)
### Reference
- [workspace-lint command](/nx/workspace-lint)
- [format:check](/nx/format-check)
- [format:write](/nx/format-write)
- [nx.json workspaceLayout property](/reference/nx-json#workspace-layout)
- [nxignore file](/reference/nxignore)

View File

@ -17,18 +17,3 @@ This will open a browser window with an interactive representation of the projec
Once the graph is displayed, you can click on an individual dependency link to find out what specific file(s) created that dependency.
![Project Graph screenshot](../images/project-graph.png)
## Related Documentation:
### Concepts
- [How the Project Graph is Built](/more-concepts/how-project-graph-is-built)
### Recipes
- [Export Project Graph to JSON](/recipe/export-project-graph)
- [Resolve Circular Dependencies](/recipe/resolve-circular-dependencies)
### Reference
- [Graph Command](/nx/dep-graph)

View File

@ -29,12 +29,3 @@ These plugins are **NOT** built or maintained by the Nx team. They are maintaine
If you are using [Neovim](https://neovim.io/), you can install [Equilibris/nx.nvim](https://github.com/Equilibris/nx.nvim) with your favorite package manager.
This plugin is **NOT** built or maintained by the Nx team. They are maintained by independent community contributors.
## Related Documentation
### Recipes
- [Nx Console Generate Command](/recipe/console-generate-command)
- [Nx Console Run Command](/recipe/console-run-command)
- [Nx Console Project Pane](/recipe/console-project-pane)
- [Nx Console Keyboard Shortcuts](/recipe/console-shortcuts)

View File

@ -98,16 +98,3 @@ Learn more about the affected command [here](/concepts/affected).
For more control over the order tasks are executed, edit the [Task Pipeline Configuration](../concepts/task-pipeline-configuration).
To speed up your task execution, learn how to [Cache Task Results](./cache-task-results) and [Distribute Task Execution](./distribute-task-execution)
## Related Documentation
### Concepts
- [Task Pipeline Configuration](/concepts/task-pipeline-configuration)
- [How Affected Works](/concepts/affected)
### Reference
- [run command](/nx/run)
- [run-many command](/nx/run-many)
- [affected command](/nx/affected)

View File

@ -85,14 +85,3 @@ and generators.
- [Workspace generators](/recipe/workspace-generators)
- [Workspace executors](/recipe/creating-custom-executors)
- [Nx Community Plugins](/community)
## Related Documentation
### Concepts
- [Nx Devkit and Angular Devkit](/more-concepts/nx-devkit-angular-devkit)
### Recipes
- [Project Inference Plugins](/recipe/project-inference-plugins)
- [Project Graph Plugins](/recipe/project-graph-plugins)

View File

@ -21,22 +21,7 @@ nx generate @nrwl/react:component mycmp --project=myapp
It is important to have a clean git working directory before invoking a generator so that you can easily revert changes and re-invoke the generator with different inputs.
## Related Documentation
## See Also
### Concepts
- [Using Nx at Enterprises](/more-concepts/monorepo-nx-enterprise)
### Recipes
- [Workspace Generators](/recipe/workspace-generators)
- [Composing Generators](/recipe/composing-generators)
- [Generator Options](/recipe/generator-options)
- [Creating Files](/recipe/creating-files)
- [Modifying Files](/recipe/modifying-files)
### Reference
- [generate command](/nx/generate)
- [nx.json defaultCollection property](/reference/nx-json#cli-options)
- [nx.json generator defaults](/reference/nx-json#generators)

View File

@ -83,27 +83,3 @@ Or you can overwrite individual executor options like this:
nx [command] [project] --[optionNameInCamelCase]=[value]
nx build cart --outputPath=some/other/path
```
## Related Documentation
### Concepts
- [Task Pipeline Configuration](/concepts/task-pipeline-configuration)
- [Incremental Builds](/more-concepts/incremental-builds)
### Recipes
- [Use Executor Configurations](/recipe/use-executor-configurations)
- [Running Custom Commands](/recipe/run-commands-executor)
- [Creating Custom Executors](/recipe/creating-custom-executors)
- [Compose Executors](/recipe/compose-executors)
- [Faster Builds with Module Federation](/recipe/faster-builds)
- [Customizing Webpack Config](/recipe/customize-webpack)
- [Profiling Performance](/recipe/performance-profiling)
### Reference
- [run command](/nx/run)
- [run-many command](/nx/run-many)
- [affected command](/nx/affected)
- [Project Configuration](/reference/project-configuration)

View File

@ -10,10 +10,3 @@
| NX_CACHE_PROJECT_GRAPH | boolean | If set to `false`, disables the project graph cache. Most useful when developing a plugin that modifies the project graph. |
| NX_DAEMON | boolean | If set to `false`, disables the Nx daemon process. Disable the daemon to print `console.log` statements in plugin code you are developing. |
| NX_PROFILE | string | Prepend `NX_PROFILE=profile.json` before running targets with Nx to generate a file that be [loaded in Chrome dev tools](/recipe/performance-profiling) to visualize the performance of Nx across multiple processes. |
## Related Recipes:
- [Define Environment Variables](/recipe/define-environment-variables)
- [Use environment variables in React apps](/recipe/use-environment-variables-in-react)
- [Use environment variables in Angular apps](/recipe/use-environment-variables-in-angular)
- [Profiling Performance](/recipe/performance-profiling)

View File

@ -1,4 +1,5 @@
import { DocumentData, DocumentMetadata } from '@nrwl/nx-dev/models-document';
import { MenuItem } from '@nrwl/nx-dev/models-menu';
import { parseMarkdown } from '@nrwl/nx-dev/ui-markdoc';
import { readFileSync } from 'fs';
import { load as yamlLoad } from 'js-yaml';
@ -42,6 +43,7 @@ export class DocumentsApi {
]
: itemList,
};
// this.allDocuments = options.allDocuments;
}
/**
@ -82,9 +84,9 @@ export class DocumentsApi {
* @param path
*/
getDocument(path: string[]): DocumentData {
const docPath = this.getFilePath(path);
const { filePath, tags } = this.getDocumentInfo(path);
const originalContent = readFileSync(docPath, 'utf8');
const originalContent = readFileSync(filePath, 'utf8');
const ast = parseMarkdown(originalContent);
const frontmatter = ast.attributes.frontmatter
? yamlLoad(ast.attributes.frontmatter)
@ -97,9 +99,10 @@ export class DocumentsApi {
}
return {
filePath: docPath,
filePath,
data: frontmatter,
content: originalContent,
content:
originalContent + '\n\n' + this.getRelatedDocumentsSection(tags, path),
};
}
@ -146,7 +149,10 @@ export class DocumentsApi {
* @param path
* @private
*/
private getFilePath(path: string[]): string {
private getDocumentInfo(path: string[]): {
filePath: string;
tags: string[];
} {
let items = this.documents?.itemList;
if (!items) {
@ -181,7 +187,90 @@ export class DocumentsApi {
}
if (!found) throw new Error(`Document not found`);
const file = found.file ?? ['generated', ...path].join('/');
return join(this.options.publicDocsRoot, `${file}.md`);
const makeFilePath = (pathPart: string): string => {
return join(this.options.publicDocsRoot, `${pathPart}.md`);
};
const file = found.file
? { filePath: makeFilePath(found.file), tags: found.tags || [] }
: { filePath: makeFilePath(['generated', ...path].join('/')), tags: [] };
return file;
}
/**
* Displays a list of all concepts, recipes or reference documents that are tagged with the specified tag
* Tags are defined in map.json
* @param tag
* @returns
*/
private getRelatedDocumentsSection(tags: string[], path: string[]): string {
let relatedConcepts: MenuItem[] = [];
let relatedRecipes: MenuItem[] = [];
let relatedReference: MenuItem[] = [];
function recur(curr, acc) {
if (curr.itemList) {
curr.itemList.forEach((ii) => {
recur(ii, [...acc, curr.id]);
});
} else if (path.join('/') === [...acc, curr.id].join('/')) {
return;
} else {
if (
curr.tags &&
tags.some((tag) => curr.tags.includes(tag)) &&
['concepts', 'more-concepts'].some((id) => acc.includes(id))
) {
curr.path = [...acc, curr.id].join('/');
relatedConcepts.push(curr);
}
if (
curr.tags &&
tags.some((tag) => curr.tags.includes(tag)) &&
acc.includes('recipe')
) {
curr.path = [...acc, curr.id].join('/');
relatedRecipes.push(curr);
}
if (
curr.tags &&
tags.some((tag) => curr.tags.includes(tag)) &&
['nx', 'workspace'].some((id) => acc.includes(id))
) {
curr.path = [...acc, curr.id].join('/');
relatedReference.push(curr);
}
}
}
this.documents.itemList!.forEach((item) => {
recur(item, []);
});
if (
relatedConcepts.length === 0 &&
relatedRecipes.length === 0 &&
relatedReference.length === 0
) {
return '';
}
let output = '## Related Documentation\n';
function listify(items: MenuItem[]): string {
return items
.map((item) => {
return `- [${item.name}](${item.path})`;
})
.join('\n');
}
if (relatedConcepts.length > 0) {
output += '### Concepts\n' + listify(relatedConcepts) + '\n';
}
if (relatedRecipes.length > 0) {
output += '### Recipes\n' + listify(relatedRecipes) + '\n';
}
if (relatedReference.length > 0) {
output += '### Reference\n' + listify(relatedReference) + '\n';
}
return output;
}
}

View File

@ -13,4 +13,5 @@ export interface DocumentMetadata {
path?: string;
isExternal?: boolean;
itemList?: DocumentMetadata[];
tags?: string[];
}