feat(nx-dev): rename plugins to extending nx (#18273)
This commit is contained in:
parent
14b3f42900
commit
ee7880c32e
@ -1,5 +1,5 @@
|
||||
{
|
||||
"/plugins/intro": {
|
||||
"/extending-nx/intro": {
|
||||
"id": "intro",
|
||||
"name": "Intro",
|
||||
"description": "Learn about plugins.",
|
||||
@ -12,7 +12,7 @@
|
||||
"file": "shared/plugins/intro",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/intro/getting-started",
|
||||
"path": "/extending-nx/intro/getting-started",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
@ -22,35 +22,35 @@
|
||||
"file": "",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/registry",
|
||||
"path": "/extending-nx/registry",
|
||||
"tags": []
|
||||
}
|
||||
],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/intro",
|
||||
"path": "/extending-nx/intro",
|
||||
"tags": []
|
||||
},
|
||||
"/plugins/intro/getting-started": {
|
||||
"/extending-nx/intro/getting-started": {
|
||||
"id": "getting-started",
|
||||
"name": "Getting Started with Plugins",
|
||||
"description": "Learn how to extend Nx by creating and releasing your own Nx plugin.",
|
||||
"file": "shared/plugins/intro",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/intro/getting-started",
|
||||
"path": "/extending-nx/intro/getting-started",
|
||||
"tags": []
|
||||
},
|
||||
"/plugins/registry": {
|
||||
"/extending-nx/registry": {
|
||||
"id": "registry",
|
||||
"name": "Plugin Registry",
|
||||
"description": "Browse official and community plugins",
|
||||
"file": "",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/registry",
|
||||
"path": "/extending-nx/registry",
|
||||
"tags": []
|
||||
},
|
||||
"/plugins/tutorials": {
|
||||
"/extending-nx/tutorials": {
|
||||
"id": "tutorials",
|
||||
"name": "5 Min Tutorials",
|
||||
"description": "Get started with plugins",
|
||||
@ -63,7 +63,7 @@
|
||||
"file": "shared/plugins/create-plugin",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/tutorials/create-plugin",
|
||||
"path": "/extending-nx/tutorials/create-plugin",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
@ -73,35 +73,35 @@
|
||||
"file": "shared/plugins/maintain-published-plugin",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/tutorials/publish-plugin",
|
||||
"path": "/extending-nx/tutorials/publish-plugin",
|
||||
"tags": []
|
||||
}
|
||||
],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/tutorials",
|
||||
"path": "/extending-nx/tutorials",
|
||||
"tags": []
|
||||
},
|
||||
"/plugins/tutorials/create-plugin": {
|
||||
"/extending-nx/tutorials/create-plugin": {
|
||||
"id": "create-plugin",
|
||||
"name": "Create a Local Plugin",
|
||||
"description": "",
|
||||
"file": "shared/plugins/create-plugin",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/tutorials/create-plugin",
|
||||
"path": "/extending-nx/tutorials/create-plugin",
|
||||
"tags": []
|
||||
},
|
||||
"/plugins/tutorials/publish-plugin": {
|
||||
"/extending-nx/tutorials/publish-plugin": {
|
||||
"id": "publish-plugin",
|
||||
"name": "Maintain a Published Plugin",
|
||||
"description": "",
|
||||
"file": "shared/plugins/maintain-published-plugin",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/tutorials/publish-plugin",
|
||||
"path": "/extending-nx/tutorials/publish-plugin",
|
||||
"tags": []
|
||||
},
|
||||
"/plugins/recipes": {
|
||||
"/extending-nx/recipes": {
|
||||
"id": "recipes",
|
||||
"name": "Recipes",
|
||||
"description": "Focused instructions to complete a specific task",
|
||||
@ -114,7 +114,7 @@
|
||||
"file": "shared/recipes/plugins/local-executors",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/recipes/local-executors",
|
||||
"path": "/extending-nx/recipes/local-executors",
|
||||
"tags": ["use-task-executors"]
|
||||
},
|
||||
{
|
||||
@ -124,7 +124,7 @@
|
||||
"file": "shared/recipes/plugins/compose-executors",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/recipes/compose-executors",
|
||||
"path": "/extending-nx/recipes/compose-executors",
|
||||
"tags": ["use-task-executors"]
|
||||
},
|
||||
{
|
||||
@ -134,7 +134,7 @@
|
||||
"file": "shared/recipes/generators/local-generators",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/recipes/local-generators",
|
||||
"path": "/extending-nx/recipes/local-generators",
|
||||
"tags": ["use-code-generators"]
|
||||
},
|
||||
{
|
||||
@ -144,7 +144,7 @@
|
||||
"file": "shared/recipes/generators/composing-generators",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/recipes/composing-generators",
|
||||
"path": "/extending-nx/recipes/composing-generators",
|
||||
"tags": ["use-code-generators"]
|
||||
},
|
||||
{
|
||||
@ -154,7 +154,7 @@
|
||||
"file": "shared/recipes/generators/generator-options",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/recipes/generator-options",
|
||||
"path": "/extending-nx/recipes/generator-options",
|
||||
"tags": ["use-code-generators"]
|
||||
},
|
||||
{
|
||||
@ -164,7 +164,7 @@
|
||||
"file": "shared/recipes/generators/creating-files",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/recipes/creating-files",
|
||||
"path": "/extending-nx/recipes/creating-files",
|
||||
"tags": ["use-code-generators"]
|
||||
},
|
||||
{
|
||||
@ -174,7 +174,7 @@
|
||||
"file": "shared/recipes/generators/modifying-files",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/recipes/modifying-files",
|
||||
"path": "/extending-nx/recipes/modifying-files",
|
||||
"tags": ["use-code-generators"]
|
||||
},
|
||||
{
|
||||
@ -184,7 +184,7 @@
|
||||
"file": "shared/recipes/plugins/migration-generators",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/recipes/migration-generators",
|
||||
"path": "/extending-nx/recipes/migration-generators",
|
||||
"tags": ["create-your-own-plugin"]
|
||||
},
|
||||
{
|
||||
@ -194,7 +194,7 @@
|
||||
"file": "shared/recipes/plugins/create-preset",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/recipes/create-preset",
|
||||
"path": "/extending-nx/recipes/create-preset",
|
||||
"tags": ["create-your-own-plugin"]
|
||||
},
|
||||
{
|
||||
@ -204,7 +204,7 @@
|
||||
"file": "shared/recipes/plugins/project-graph-plugins",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/recipes/project-graph-plugins",
|
||||
"path": "/extending-nx/recipes/project-graph-plugins",
|
||||
"tags": ["create-your-own-plugin", "explore-graph"]
|
||||
},
|
||||
{
|
||||
@ -214,122 +214,122 @@
|
||||
"file": "shared/recipes/plugins/project-inference-plugins",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/recipes/project-inference-plugins",
|
||||
"path": "/extending-nx/recipes/project-inference-plugins",
|
||||
"tags": ["create-your-own-plugin"]
|
||||
}
|
||||
],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/recipes",
|
||||
"path": "/extending-nx/recipes",
|
||||
"tags": []
|
||||
},
|
||||
"/plugins/recipes/local-executors": {
|
||||
"/extending-nx/recipes/local-executors": {
|
||||
"id": "local-executors",
|
||||
"name": "Write a Simple Executor",
|
||||
"description": "",
|
||||
"file": "shared/recipes/plugins/local-executors",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/recipes/local-executors",
|
||||
"path": "/extending-nx/recipes/local-executors",
|
||||
"tags": ["use-task-executors"]
|
||||
},
|
||||
"/plugins/recipes/compose-executors": {
|
||||
"/extending-nx/recipes/compose-executors": {
|
||||
"id": "compose-executors",
|
||||
"name": "Compose Executors",
|
||||
"description": "",
|
||||
"file": "shared/recipes/plugins/compose-executors",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/recipes/compose-executors",
|
||||
"path": "/extending-nx/recipes/compose-executors",
|
||||
"tags": ["use-task-executors"]
|
||||
},
|
||||
"/plugins/recipes/local-generators": {
|
||||
"/extending-nx/recipes/local-generators": {
|
||||
"id": "local-generators",
|
||||
"name": "Write a Simple Generator",
|
||||
"description": "",
|
||||
"file": "shared/recipes/generators/local-generators",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/recipes/local-generators",
|
||||
"path": "/extending-nx/recipes/local-generators",
|
||||
"tags": ["use-code-generators"]
|
||||
},
|
||||
"/plugins/recipes/composing-generators": {
|
||||
"/extending-nx/recipes/composing-generators": {
|
||||
"id": "composing-generators",
|
||||
"name": "Compose Generators",
|
||||
"description": "",
|
||||
"file": "shared/recipes/generators/composing-generators",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/recipes/composing-generators",
|
||||
"path": "/extending-nx/recipes/composing-generators",
|
||||
"tags": ["use-code-generators"]
|
||||
},
|
||||
"/plugins/recipes/generator-options": {
|
||||
"/extending-nx/recipes/generator-options": {
|
||||
"id": "generator-options",
|
||||
"name": "Provide Options for Generators",
|
||||
"description": "",
|
||||
"file": "shared/recipes/generators/generator-options",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/recipes/generator-options",
|
||||
"path": "/extending-nx/recipes/generator-options",
|
||||
"tags": ["use-code-generators"]
|
||||
},
|
||||
"/plugins/recipes/creating-files": {
|
||||
"/extending-nx/recipes/creating-files": {
|
||||
"id": "creating-files",
|
||||
"name": "Create Files",
|
||||
"description": "",
|
||||
"file": "shared/recipes/generators/creating-files",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/recipes/creating-files",
|
||||
"path": "/extending-nx/recipes/creating-files",
|
||||
"tags": ["use-code-generators"]
|
||||
},
|
||||
"/plugins/recipes/modifying-files": {
|
||||
"/extending-nx/recipes/modifying-files": {
|
||||
"id": "modifying-files",
|
||||
"name": "Modify Files",
|
||||
"description": "",
|
||||
"file": "shared/recipes/generators/modifying-files",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/recipes/modifying-files",
|
||||
"path": "/extending-nx/recipes/modifying-files",
|
||||
"tags": ["use-code-generators"]
|
||||
},
|
||||
"/plugins/recipes/migration-generators": {
|
||||
"/extending-nx/recipes/migration-generators": {
|
||||
"id": "migration-generators",
|
||||
"name": "Write a Migration",
|
||||
"description": "",
|
||||
"file": "shared/recipes/plugins/migration-generators",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/recipes/migration-generators",
|
||||
"path": "/extending-nx/recipes/migration-generators",
|
||||
"tags": ["create-your-own-plugin"]
|
||||
},
|
||||
"/plugins/recipes/create-preset": {
|
||||
"/extending-nx/recipes/create-preset": {
|
||||
"id": "create-preset",
|
||||
"name": "Create a Preset",
|
||||
"description": "",
|
||||
"file": "shared/recipes/plugins/create-preset",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/recipes/create-preset",
|
||||
"path": "/extending-nx/recipes/create-preset",
|
||||
"tags": ["create-your-own-plugin"]
|
||||
},
|
||||
"/plugins/recipes/project-graph-plugins": {
|
||||
"/extending-nx/recipes/project-graph-plugins": {
|
||||
"id": "project-graph-plugins",
|
||||
"name": "Modify the Project Graph",
|
||||
"description": "",
|
||||
"file": "shared/recipes/plugins/project-graph-plugins",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/recipes/project-graph-plugins",
|
||||
"path": "/extending-nx/recipes/project-graph-plugins",
|
||||
"tags": ["create-your-own-plugin", "explore-graph"]
|
||||
},
|
||||
"/plugins/recipes/project-inference-plugins": {
|
||||
"/extending-nx/recipes/project-inference-plugins": {
|
||||
"id": "project-inference-plugins",
|
||||
"name": "Identify Custom Projects",
|
||||
"description": "",
|
||||
"file": "shared/recipes/plugins/project-inference-plugins",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/plugins/recipes/project-inference-plugins",
|
||||
"path": "/extending-nx/recipes/project-inference-plugins",
|
||||
"tags": ["create-your-own-plugin"]
|
||||
}
|
||||
}
|
||||
@ -3685,17 +3685,17 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "plugins",
|
||||
"id": "extending-nx",
|
||||
"menu": [
|
||||
{
|
||||
"name": "Intro",
|
||||
"path": "/plugins/intro",
|
||||
"path": "/extending-nx/intro",
|
||||
"id": "intro",
|
||||
"isExternal": false,
|
||||
"children": [
|
||||
{
|
||||
"name": "Getting Started with Plugins",
|
||||
"path": "/plugins/intro/getting-started",
|
||||
"path": "/extending-nx/intro/getting-started",
|
||||
"id": "getting-started",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3703,7 +3703,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Plugin Registry",
|
||||
"path": "/plugins/registry",
|
||||
"path": "/extending-nx/registry",
|
||||
"id": "registry",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3714,7 +3714,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Getting Started with Plugins",
|
||||
"path": "/plugins/intro/getting-started",
|
||||
"path": "/extending-nx/intro/getting-started",
|
||||
"id": "getting-started",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3722,7 +3722,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Plugin Registry",
|
||||
"path": "/plugins/registry",
|
||||
"path": "/extending-nx/registry",
|
||||
"id": "registry",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3730,13 +3730,13 @@
|
||||
},
|
||||
{
|
||||
"name": "5 Min Tutorials",
|
||||
"path": "/plugins/tutorials",
|
||||
"path": "/extending-nx/tutorials",
|
||||
"id": "tutorials",
|
||||
"isExternal": false,
|
||||
"children": [
|
||||
{
|
||||
"name": "Create a Local Plugin",
|
||||
"path": "/plugins/tutorials/create-plugin",
|
||||
"path": "/extending-nx/tutorials/create-plugin",
|
||||
"id": "create-plugin",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3744,7 +3744,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Maintain a Published Plugin",
|
||||
"path": "/plugins/tutorials/publish-plugin",
|
||||
"path": "/extending-nx/tutorials/publish-plugin",
|
||||
"id": "publish-plugin",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3755,7 +3755,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Create a Local Plugin",
|
||||
"path": "/plugins/tutorials/create-plugin",
|
||||
"path": "/extending-nx/tutorials/create-plugin",
|
||||
"id": "create-plugin",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3763,7 +3763,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Maintain a Published Plugin",
|
||||
"path": "/plugins/tutorials/publish-plugin",
|
||||
"path": "/extending-nx/tutorials/publish-plugin",
|
||||
"id": "publish-plugin",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3771,13 +3771,13 @@
|
||||
},
|
||||
{
|
||||
"name": "Recipes",
|
||||
"path": "/plugins/recipes",
|
||||
"path": "/extending-nx/recipes",
|
||||
"id": "recipes",
|
||||
"isExternal": false,
|
||||
"children": [
|
||||
{
|
||||
"name": "Write a Simple Executor",
|
||||
"path": "/plugins/recipes/local-executors",
|
||||
"path": "/extending-nx/recipes/local-executors",
|
||||
"id": "local-executors",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3785,7 +3785,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Compose Executors",
|
||||
"path": "/plugins/recipes/compose-executors",
|
||||
"path": "/extending-nx/recipes/compose-executors",
|
||||
"id": "compose-executors",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3793,7 +3793,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Write a Simple Generator",
|
||||
"path": "/plugins/recipes/local-generators",
|
||||
"path": "/extending-nx/recipes/local-generators",
|
||||
"id": "local-generators",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3801,7 +3801,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Compose Generators",
|
||||
"path": "/plugins/recipes/composing-generators",
|
||||
"path": "/extending-nx/recipes/composing-generators",
|
||||
"id": "composing-generators",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3809,7 +3809,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Provide Options for Generators",
|
||||
"path": "/plugins/recipes/generator-options",
|
||||
"path": "/extending-nx/recipes/generator-options",
|
||||
"id": "generator-options",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3817,7 +3817,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Create Files",
|
||||
"path": "/plugins/recipes/creating-files",
|
||||
"path": "/extending-nx/recipes/creating-files",
|
||||
"id": "creating-files",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3825,7 +3825,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Modify Files",
|
||||
"path": "/plugins/recipes/modifying-files",
|
||||
"path": "/extending-nx/recipes/modifying-files",
|
||||
"id": "modifying-files",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3833,7 +3833,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Write a Migration",
|
||||
"path": "/plugins/recipes/migration-generators",
|
||||
"path": "/extending-nx/recipes/migration-generators",
|
||||
"id": "migration-generators",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3841,7 +3841,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Create a Preset",
|
||||
"path": "/plugins/recipes/create-preset",
|
||||
"path": "/extending-nx/recipes/create-preset",
|
||||
"id": "create-preset",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3849,7 +3849,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Modify the Project Graph",
|
||||
"path": "/plugins/recipes/project-graph-plugins",
|
||||
"path": "/extending-nx/recipes/project-graph-plugins",
|
||||
"id": "project-graph-plugins",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3857,7 +3857,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Identify Custom Projects",
|
||||
"path": "/plugins/recipes/project-inference-plugins",
|
||||
"path": "/extending-nx/recipes/project-inference-plugins",
|
||||
"id": "project-inference-plugins",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3868,7 +3868,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Write a Simple Executor",
|
||||
"path": "/plugins/recipes/local-executors",
|
||||
"path": "/extending-nx/recipes/local-executors",
|
||||
"id": "local-executors",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3876,7 +3876,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Compose Executors",
|
||||
"path": "/plugins/recipes/compose-executors",
|
||||
"path": "/extending-nx/recipes/compose-executors",
|
||||
"id": "compose-executors",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3884,7 +3884,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Write a Simple Generator",
|
||||
"path": "/plugins/recipes/local-generators",
|
||||
"path": "/extending-nx/recipes/local-generators",
|
||||
"id": "local-generators",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3892,7 +3892,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Compose Generators",
|
||||
"path": "/plugins/recipes/composing-generators",
|
||||
"path": "/extending-nx/recipes/composing-generators",
|
||||
"id": "composing-generators",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3900,7 +3900,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Provide Options for Generators",
|
||||
"path": "/plugins/recipes/generator-options",
|
||||
"path": "/extending-nx/recipes/generator-options",
|
||||
"id": "generator-options",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3908,7 +3908,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Create Files",
|
||||
"path": "/plugins/recipes/creating-files",
|
||||
"path": "/extending-nx/recipes/creating-files",
|
||||
"id": "creating-files",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3916,7 +3916,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Modify Files",
|
||||
"path": "/plugins/recipes/modifying-files",
|
||||
"path": "/extending-nx/recipes/modifying-files",
|
||||
"id": "modifying-files",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3924,7 +3924,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Write a Migration",
|
||||
"path": "/plugins/recipes/migration-generators",
|
||||
"path": "/extending-nx/recipes/migration-generators",
|
||||
"id": "migration-generators",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3932,7 +3932,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Create a Preset",
|
||||
"path": "/plugins/recipes/create-preset",
|
||||
"path": "/extending-nx/recipes/create-preset",
|
||||
"id": "create-preset",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3940,7 +3940,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Modify the Project Graph",
|
||||
"path": "/plugins/recipes/project-graph-plugins",
|
||||
"path": "/extending-nx/recipes/project-graph-plugins",
|
||||
"id": "project-graph-plugins",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
@ -3948,7 +3948,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Identify Custom Projects",
|
||||
"path": "/plugins/recipes/project-inference-plugins",
|
||||
"path": "/extending-nx/recipes/project-inference-plugins",
|
||||
"id": "project-inference-plugins",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
|
||||
@ -186,7 +186,7 @@
|
||||
"file": "shared/recipes/plugins/project-graph-plugins",
|
||||
"id": "project-graph-plugins",
|
||||
"name": "Modify the Project Graph",
|
||||
"path": "/plugins/recipes/project-graph-plugins"
|
||||
"path": "/extending-nx/recipes/project-graph-plugins"
|
||||
},
|
||||
{
|
||||
"description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.",
|
||||
@ -504,14 +504,14 @@
|
||||
"file": "shared/recipes/plugins/local-executors",
|
||||
"id": "local-executors",
|
||||
"name": "Write a Simple Executor",
|
||||
"path": "/plugins/recipes/local-executors"
|
||||
"path": "/extending-nx/recipes/local-executors"
|
||||
},
|
||||
{
|
||||
"description": "",
|
||||
"file": "shared/recipes/plugins/compose-executors",
|
||||
"id": "compose-executors",
|
||||
"name": "Compose Executors",
|
||||
"path": "/plugins/recipes/compose-executors"
|
||||
"path": "/extending-nx/recipes/compose-executors"
|
||||
},
|
||||
{
|
||||
"description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.",
|
||||
@ -562,35 +562,35 @@
|
||||
"file": "shared/recipes/generators/local-generators",
|
||||
"id": "local-generators",
|
||||
"name": "Write a Simple Generator",
|
||||
"path": "/plugins/recipes/local-generators"
|
||||
"path": "/extending-nx/recipes/local-generators"
|
||||
},
|
||||
{
|
||||
"description": "",
|
||||
"file": "shared/recipes/generators/composing-generators",
|
||||
"id": "composing-generators",
|
||||
"name": "Compose Generators",
|
||||
"path": "/plugins/recipes/composing-generators"
|
||||
"path": "/extending-nx/recipes/composing-generators"
|
||||
},
|
||||
{
|
||||
"description": "",
|
||||
"file": "shared/recipes/generators/generator-options",
|
||||
"id": "generator-options",
|
||||
"name": "Provide Options for Generators",
|
||||
"path": "/plugins/recipes/generator-options"
|
||||
"path": "/extending-nx/recipes/generator-options"
|
||||
},
|
||||
{
|
||||
"description": "",
|
||||
"file": "shared/recipes/generators/creating-files",
|
||||
"id": "creating-files",
|
||||
"name": "Create Files",
|
||||
"path": "/plugins/recipes/creating-files"
|
||||
"path": "/extending-nx/recipes/creating-files"
|
||||
},
|
||||
{
|
||||
"description": "",
|
||||
"file": "shared/recipes/generators/modifying-files",
|
||||
"id": "modifying-files",
|
||||
"name": "Modify Files",
|
||||
"path": "/plugins/recipes/modifying-files"
|
||||
"path": "/extending-nx/recipes/modifying-files"
|
||||
},
|
||||
{
|
||||
"description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.",
|
||||
@ -645,28 +645,28 @@
|
||||
"file": "shared/recipes/plugins/migration-generators",
|
||||
"id": "migration-generators",
|
||||
"name": "Write a Migration",
|
||||
"path": "/plugins/recipes/migration-generators"
|
||||
"path": "/extending-nx/recipes/migration-generators"
|
||||
},
|
||||
{
|
||||
"description": "",
|
||||
"file": "shared/recipes/plugins/create-preset",
|
||||
"id": "create-preset",
|
||||
"name": "Create a Preset",
|
||||
"path": "/plugins/recipes/create-preset"
|
||||
"path": "/extending-nx/recipes/create-preset"
|
||||
},
|
||||
{
|
||||
"description": "",
|
||||
"file": "shared/recipes/plugins/project-graph-plugins",
|
||||
"id": "project-graph-plugins",
|
||||
"name": "Modify the Project Graph",
|
||||
"path": "/plugins/recipes/project-graph-plugins"
|
||||
"path": "/extending-nx/recipes/project-graph-plugins"
|
||||
},
|
||||
{
|
||||
"description": "",
|
||||
"file": "shared/recipes/plugins/project-inference-plugins",
|
||||
"id": "project-inference-plugins",
|
||||
"name": "Identify Custom Projects",
|
||||
"path": "/plugins/recipes/project-inference-plugins"
|
||||
"path": "/extending-nx/recipes/project-inference-plugins"
|
||||
}
|
||||
],
|
||||
"environment-variables": [
|
||||
|
||||
@ -2,4 +2,4 @@ Nx plugins are npm packages that contain [generators](/core-features/plugin-feat
|
||||
|
||||
This package contains tooling to help plugin authors create and maintain plugins.
|
||||
|
||||
For more information, see the [plugins](/plugins/intro/getting-started) section of docs.
|
||||
For more information, see the [plugins](/extending-nx/intro/getting-started) section of docs.
|
||||
|
||||
@ -4,7 +4,7 @@ The workspace plugin contains executors and generators that are useful for any N
|
||||
|
||||
Codifying your organization's best practices into local generators is a great way to ensure that the best practices are easy to follow and implement. Running `nx g @nx/plugin:plugin feature` will create a local plugin with a generator which is written the same way generators are written for Nx plugins.
|
||||
|
||||
> See more about [local generators](/plugins/recipes/local-generators)
|
||||
> See more about [local generators](/extending-nx/recipes/local-generators)
|
||||
|
||||
## Reorganizing Projects
|
||||
|
||||
|
||||
@ -732,8 +732,8 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Plugins",
|
||||
"id": "plugins",
|
||||
"name": "Extending Nx",
|
||||
"id": "extending-nx",
|
||||
"description": "Learn more about creating your own plugin, extending Nx.",
|
||||
"itemList": [
|
||||
{
|
||||
@ -752,7 +752,7 @@
|
||||
"description": "Browse official and community plugins",
|
||||
"id": "registry",
|
||||
"file": "",
|
||||
"path": "/plugins/registry",
|
||||
"path": "/extending-nx/registry",
|
||||
"isExternal": false
|
||||
}
|
||||
]
|
||||
|
||||
@ -176,7 +176,7 @@ Each target contains a configuration object that tells Nx how to run that target
|
||||
|
||||
The most critical parts are:
|
||||
|
||||
- `executor` - This corresponds to the `builder` property in an Angular CLI workspace. You can use Angular builders or executors from [Nx plugins](/plugins/intro/getting-started).
|
||||
- `executor` - This corresponds to the `builder` property in an Angular CLI workspace. You can use Angular builders or executors from [Nx plugins](/extending-nx/intro/getting-started).
|
||||
- `options` - these are additional properties and flags passed to the executor function to customize it
|
||||
|
||||
Learn more about how to [run tasks with Nx](/core-features/run-tasks).
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# Workspace Executors
|
||||
|
||||
In Nx 13.10+, local nx plugins can contain executors that are used in the workspace. When creating a custom executor for your workspace, look into the [local executor guide](/plugins/recipes/local-executors) to simplify the build process.
|
||||
In Nx 13.10+, local nx plugins can contain executors that are used in the workspace. When creating a custom executor for your workspace, look into the [local executor guide](/extending-nx/recipes/local-executors) to simplify the build process.
|
||||
|
||||
## Converting workspace executors to local executors
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@ In Nx 13.10, we introduced the ability to run generators from Nx plugins in the
|
||||
|
||||
By using a "local" plugin, you can set the plugin as your workspace's default collection and get several other affordances that are not provided to workspace generators. This is the preferred method for "workspace generators", and existing generators will eventually be transitioned to use a local plugin.
|
||||
|
||||
Check the [local generator guide](/plugins/recipes/local-generators) for information on creating a new plugin.
|
||||
Check the [local generator guide](/extending-nx/recipes/local-generators) for information on creating a new plugin.
|
||||
|
||||
## Converting workspace generators to local generators
|
||||
|
||||
|
||||
@ -5,7 +5,7 @@ Nx used to have a `workspace.json` file at the root of the repo that at various
|
||||
1. Identified the locations of all project in the repo
|
||||
2. Contained the target configuration for all projects
|
||||
|
||||
Identifying the locations of projects is now done automatically through project inference. You can even customize how projects are inferred with a [project inference plugin](/plugins/recipes/project-inference-plugins).
|
||||
Identifying the locations of projects is now done automatically through project inference. You can even customize how projects are inferred with a [project inference plugin](/extending-nx/recipes/project-inference-plugins).
|
||||
|
||||
The target configuration for each project is now stored in individual `project.json` files or `package.json` files.
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@ Nx is built in a modular fashion to let you only use the features you need.
|
||||

|
||||
|
||||
- The **Nx** package provides fundamental technology-agnostic capabilities such as: [workspace analysis](/core-features/explore-graph), [task running](/core-features/run-tasks), [caching](/core-features/cache-task-results), [distribution](/core-features/distribute-task-execution), [code generation](/core-features/plugin-features/use-code-generators) and [automated code migrations](/core-features/automate-updating-dependencies).
|
||||
- **Plugins** are NPM packages that built on top of the fundamental capabilities provided by the Nx package. Nx plugins contain [code generators](/core-features/plugin-features/use-code-generators), [executors](/core-features/plugin-features/use-task-executors) (to abstract lower-level build tooling) and automated code migrations for keeping your tools up to date. Contrary to the Nx package, which works the same way with any JS or non-JS project, plugins are usually technology specific. For instance, `@nx/react` adds support for building React apps and libs, `@nx/cypress` adds e2e testing capabilities with Cypress. Plugins make developers more productive by removing any friction of integrating different tools with each other and by providing utilities to keep them up to date. The Nx team maintains plugins for React, Next, Remix, Angular, Jest, Cypress, Storybook and more. You can use the `@nx/plugin` package to easily [scaffold a new plugin](/plugins/intro/getting-started) or even just [automate your local workspace](/plugins/recipes/local-generators). There are also more than 80 [community plugins](/plugins/registry).
|
||||
- **Devkit** is a set of utilities for [building Nx plugins](/plugins/intro/getting-started).
|
||||
- **Plugins** are NPM packages that built on top of the fundamental capabilities provided by the Nx package. Nx plugins contain [code generators](/core-features/plugin-features/use-code-generators), [executors](/core-features/plugin-features/use-task-executors) (to abstract lower-level build tooling) and automated code migrations for keeping your tools up to date. Contrary to the Nx package, which works the same way with any JS or non-JS project, plugins are usually technology specific. For instance, `@nx/react` adds support for building React apps and libs, `@nx/cypress` adds e2e testing capabilities with Cypress. Plugins make developers more productive by removing any friction of integrating different tools with each other and by providing utilities to keep them up to date. The Nx team maintains plugins for React, Next, Remix, Angular, Jest, Cypress, Storybook and more. You can use the `@nx/plugin` package to easily [scaffold a new plugin](/extending-nx/intro/getting-started) or even just [automate your local workspace](/extending-nx/recipes/local-generators). There are also more than 80 [community plugins](/extending-nx/registry).
|
||||
- **Devkit** is a set of utilities for [building Nx plugins](/extending-nx/intro/getting-started).
|
||||
- **Nx Cloud** helps scale your project on CI by [adding remote caching](/concepts/how-caching-works) and [distributed task execution](/concepts/more-concepts/illustrated-dte). It also improves developer ergonomics by integrating with GitHub, GitLab and BitBucket and providing searchable structured logs. Learn more at [nx.app](https://nx.app).
|
||||
- **Nx Console** is an extension for **VSCode, IntelliJ and VIM**. It provides code autocompletion, interactive generators, workspace visualizations, powerful refactorings and more. You can [install it here](/core-features/integrate-with-editors).
|
||||
|
||||
@ -16,7 +16,7 @@ myorg/
|
||||
|
||||
`/libs/` contains the library projects. There are many kinds of libraries, and each library defines its own external API so that boundaries between libraries remain clear.
|
||||
|
||||
`/tools/` contains scripts that act on your code base. This could be database scripts, [local executors](/plugins/recipes/local-executors), or [local generators](/plugins/recipes/local-generators).
|
||||
`/tools/` contains scripts that act on your code base. This could be database scripts, [local executors](/extending-nx/recipes/local-executors), or [local generators](/extending-nx/recipes/local-generators).
|
||||
|
||||
`/nx.json` configures the Nx CLI itself. It tells Nx what needs to be cached, how to run tasks etc.
|
||||
|
||||
|
||||
@ -2,4 +2,4 @@ Nx plugins are npm packages that contain [generators](/core-features/plugin-feat
|
||||
|
||||
This package contains tooling to help plugin authors create and maintain plugins.
|
||||
|
||||
For more information, see the [plugins](/plugins/intro/getting-started) section of docs.
|
||||
For more information, see the [plugins](/extending-nx/intro/getting-started) section of docs.
|
||||
|
||||
@ -4,7 +4,7 @@ The workspace plugin contains executors and generators that are useful for any N
|
||||
|
||||
Codifying your organization's best practices into local generators is a great way to ensure that the best practices are easy to follow and implement. Running `nx g @nx/plugin:plugin feature` will create a local plugin with a generator which is written the same way generators are written for Nx plugins.
|
||||
|
||||
> See more about [local generators](/plugins/recipes/local-generators)
|
||||
> See more about [local generators](/extending-nx/recipes/local-generators)
|
||||
|
||||
## Reorganizing Projects
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@ Generators provide a way to automate many tasks you regularly perform as part of
|
||||
There are three main types of generators:
|
||||
|
||||
1. **Plugin Generators** are available when an Nx plugin has been installed in your workspace.
|
||||
2. **Local Generators** are generators that you can create for your own workspace. [Local generators](/plugins/recipes/local-generators) allow you to codify the processes that are unique to your own organization.
|
||||
2. **Local Generators** are generators that you can create for your own workspace. [Local generators](/extending-nx/recipes/local-generators) allow you to codify the processes that are unique to your own organization.
|
||||
3. **Update Generators** are invoked by Nx plugins when you [update Nx](/recipes/adopting-nx) to keep your config files in sync with the latest versions of third party tools.
|
||||
|
||||
## Invoking Plugin Generators
|
||||
|
||||
@ -20,7 +20,7 @@ nx generate @nx/plugin:generator my-generator --project=my-plugin
|
||||
|
||||
The new generator is located in `/src/generators/my-generator`. The `my-generator.ts` file contains the code that runs the generator. This generator creates a new project using a folder of template files.
|
||||
|
||||
For more information about this sample generator, read the [simple generator recipe](/plugins/recipes/local-generators).
|
||||
For more information about this sample generator, read the [simple generator recipe](/extending-nx/recipes/local-generators).
|
||||
|
||||
### Generator options
|
||||
|
||||
@ -48,7 +48,7 @@ nx generate @nx/plugin:executor my-executor --project=my-plugin
|
||||
|
||||
The new executor is located in `/src/executors/my-executor`. The `my-executor.ts` file contains the code that runs the executor. This executor emits a console log, but executors can compile code, deploy an app, publish to NPM and much more.
|
||||
|
||||
For more information about this sample executor, read the [simple executor recipe](/plugins/recipes/local-executors).
|
||||
For more information about this sample executor, read the [simple executor recipe](/extending-nx/recipes/local-executors).
|
||||
|
||||
### Executor testing
|
||||
|
||||
|
||||
@ -17,10 +17,9 @@ Nx plugins help you scaffold new projects, pre-configure tooling, follow best pr
|
||||
|
||||
{% cards cols="2" %}
|
||||
|
||||
{% card title="Browse Existing Plugins" description="Find a plugin to use" url="/plugins/registry" /%}
|
||||
{% card title="Browse Existing Plugins" description="Find a plugin to use" url="/extending-nx/registry" /%}
|
||||
{% card title="Use Task Executors" description="Run operations on your code" url="/core-features/plugin-features/use-task-executors" /%}
|
||||
{% card title="Use Code Generators" description="Create or modify code" url="/core-features/plugin-features/use-code-generators" /%}
|
||||
{% card title="Automate Updating Dependencies" description="Keep code up to date with package breaking changes" url="/core-features/automate-updating-dependencies" /%}
|
||||
|
||||
{% /cards %}
|
||||
|
||||
@ -30,9 +29,9 @@ Local plugins allow you to automate repository specific tasks and enforce best p
|
||||
|
||||
{% cards cols="3" %}
|
||||
|
||||
{% card title="Create a Plugin" description="Set up a new plugin" url="/plugins/tutorials/create-plugin" /%}
|
||||
{% card title="Local Generators" description="Add a generator to your plugin" url="/plugins/recipes/local-generators" /%}
|
||||
{% card title="Local Executors" description="Add an executor to your plugin" url="/plugins/recipes/local-executors" /%}
|
||||
{% card title="Create a Plugin" description="Set up a new plugin" url="/extending-nx/tutorials/create-plugin" /%}
|
||||
{% card title="Local Generators" description="Add a generator to your plugin" url="/extending-nx/recipes/local-generators" /%}
|
||||
{% card title="Local Executors" description="Add an executor to your plugin" url="/extending-nx/recipes/local-executors" /%}
|
||||
|
||||
{% /cards %}
|
||||
|
||||
@ -42,8 +41,8 @@ If your plugin has functionality that would be useful in more than just your rep
|
||||
|
||||
{% cards cols="2" %}
|
||||
|
||||
{% card title="Share Your Plugin" description="Submit your plugin to the Nx plugin registry" url="/plugins/tutorials/publish-plugin" /%}
|
||||
{% card title="Migration Generators" description="Update repos when you introduce breaking changes" url="/plugins/recipes/migration-generators" /%}
|
||||
{% card title="Share Your Plugin" description="Submit your plugin to the Nx plugin registry" url="/extending-nx/tutorials/publish-plugin" /%}
|
||||
{% card title="Migration Generators" description="Update repos when you introduce breaking changes" url="/extending-nx/recipes/migration-generators" /%}
|
||||
|
||||
{% /cards %}
|
||||
|
||||
@ -53,8 +52,8 @@ You can also hook into the way Nx works and modify it to suit your needs
|
||||
|
||||
{% cards cols="3" %}
|
||||
|
||||
{% card title="Scaffold a New Workspace" description="Set up a new repo" url="/plugins/recipes/create-preset" /%}
|
||||
{% card title="Project Inference Plugins" description="Modify how Nx identifies projects" url="/plugins/recipes/project-inference-plugins" /%}
|
||||
{% card title="Project Graph Plugins" description="Modify the Nx graph" url="/plugins/recipes/project-graph-plugins" /%}
|
||||
{% card title="Scaffold a New Workspace" description="Set up a new repo" url="/extending-nx/recipes/create-preset" /%}
|
||||
{% card title="Project Inference Plugins" description="Modify how Nx identifies projects" url="/extending-nx/recipes/project-inference-plugins" /%}
|
||||
{% card title="Project Graph Plugins" description="Modify the Nx graph" url="/extending-nx/recipes/project-graph-plugins" /%}
|
||||
|
||||
{% /cards %}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# Maintain a Published Plugins
|
||||
|
||||
To create a plugin, see the [create a local plugin tutorial](/plugins/tutorials/create-plugin).
|
||||
To create a plugin, see the [create a local plugin tutorial](/extending-nx/tutorials/create-plugin).
|
||||
|
||||
## Publish your Nx Plugin
|
||||
|
||||
@ -32,4 +32,4 @@ We will then verify the plugin, offer suggestions or merge the pull request!
|
||||
|
||||
## Write Migrations
|
||||
|
||||
Once other repos are using your plugin, it would help them if you write migrations to automatically update their configuration files whenever you make breaking changes. Read the [migration generators guide](/plugins/recipes/migration-generators) to find out how.
|
||||
Once other repos are using your plugin, it would help them if you write migrations to automatically update their configuration files whenever you make breaking changes. Read the [migration generators guide](/extending-nx/recipes/migration-generators) to find out how.
|
||||
|
||||
@ -163,7 +163,7 @@ Each target contains a configuration object that tells Nx how to run that target
|
||||
|
||||
The most critical parts are:
|
||||
|
||||
- `executor` - this is of the syntax `<plugin>:<executor-name>`, where the `plugin` is an NPM package containing an [Nx Plugin](/plugins/intro/getting-started) and `<executor-name>` points to a function that runs the task. In this case, the `@nx/vite` plugin contains the `dev-server` executor which serves the React app using Vite.
|
||||
- `executor` - this is of the syntax `<plugin>:<executor-name>`, where the `plugin` is an NPM package containing an [Nx Plugin](/extending-nx/intro/getting-started) and `<executor-name>` points to a function that runs the task. In this case, the `@nx/vite` plugin contains the `dev-server` executor which serves the React app using Vite.
|
||||
- `options` - these are additional properties and flags passed to the executor function to customize it
|
||||
|
||||
Learn more about how to [run tasks with Nx](/core-features/run-tasks).
|
||||
|
||||
@ -4,7 +4,7 @@ Modifying existing files is an order of magnitude harder than creating new files
|
||||
|
||||
## Compose Existing Generators
|
||||
|
||||
If you can compose together existing generators to modify the files you need, you should take that approach. See [Composing Generators](/plugins/recipes/composing-generators) for more information.
|
||||
If you can compose together existing generators to modify the files you need, you should take that approach. See [Composing Generators](/extending-nx/recipes/composing-generators) for more information.
|
||||
|
||||
## Modify JSON Files
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@ width="100%" /%}
|
||||
|
||||
At its core, a preset is a special [generator](/core-features/plugin-features/use-code-generators) that is shipped as part of an Nx Plugin package.
|
||||
|
||||
All first-party Nx presets are built into Nx itself, but you can [create your own plugin](/plugins/intro/getting-started) and create a generator with the magic name: `preset`. Once you've [published your plugin](/plugins/tutorials/publish-plugin) on npm, you can now run the `create-nx-workspace` command with the preset option set to the name of your published package.
|
||||
All first-party Nx presets are built into Nx itself, but you can [create your own plugin](/extending-nx/intro/getting-started) and create a generator with the magic name: `preset`. Once you've [published your plugin](/extending-nx/tutorials/publish-plugin) on npm, you can now run the `create-nx-workspace` command with the preset option set to the name of your published package.
|
||||
|
||||
To use a concrete example, let's look at the [`qwik-nx`](https://www.npmjs.com/package/qwik-nx) Nx community plugin. They include a [preset generator](https://github.com/qwikifiers/qwik-nx/tree/main/packages/qwik-nx/src/generators/preset) that you can use to create a new Nx workspace with Qwik support.
|
||||
|
||||
@ -90,7 +90,7 @@ export default async function (tree: Tree, options: PresetGeneratorSchema) {
|
||||
}
|
||||
```
|
||||
|
||||
To get an in-depth guide on customizing/running or debugging your generator see [local generators](/plugins/recipes/local-generators).
|
||||
To get an in-depth guide on customizing/running or debugging your generator see [local generators](/extending-nx/recipes/local-generators).
|
||||
|
||||
## Usage
|
||||
|
||||
|
||||
@ -136,7 +136,7 @@ A repository using Nx without [plugins](#plugin) that prioritizes the independen
|
||||
|
||||
A set of [executors](#executor), [generators](#generator) and other code that extends the functionality of Nx. May be installed from a package manager like NPM or developed directly in the repository.
|
||||
|
||||
> See: [Create Your Own Plugin](/plugins/intro/getting-started)
|
||||
> See: [Create Your Own Plugin](/extending-nx/intro/getting-started)
|
||||
|
||||
### Polyrepo
|
||||
|
||||
|
||||
@ -222,26 +222,26 @@
|
||||
- [Standalone NgRx APIs](/recipes/other/standalone-ngrx-apis)
|
||||
- [Unknown Local Cache Error](/recipes/other/unknown-local-cache)
|
||||
|
||||
- Plugins
|
||||
- Extending-nx
|
||||
|
||||
- [Intro](/plugins/intro)
|
||||
- [Getting Started with Plugins](/plugins/intro/getting-started)
|
||||
- [Plugin Registry](/plugins/registry)
|
||||
- [5 Min Tutorials](/plugins/tutorials)
|
||||
- [Create a Local Plugin](/plugins/tutorials/create-plugin)
|
||||
- [Maintain a Published Plugin](/plugins/tutorials/publish-plugin)
|
||||
- [Recipes](/plugins/recipes)
|
||||
- [Write a Simple Executor](/plugins/recipes/local-executors)
|
||||
- [Compose Executors](/plugins/recipes/compose-executors)
|
||||
- [Write a Simple Generator](/plugins/recipes/local-generators)
|
||||
- [Compose Generators](/plugins/recipes/composing-generators)
|
||||
- [Provide Options for Generators](/plugins/recipes/generator-options)
|
||||
- [Create Files](/plugins/recipes/creating-files)
|
||||
- [Modify Files](/plugins/recipes/modifying-files)
|
||||
- [Write a Migration](/plugins/recipes/migration-generators)
|
||||
- [Create a Preset](/plugins/recipes/create-preset)
|
||||
- [Modify the Project Graph](/plugins/recipes/project-graph-plugins)
|
||||
- [Identify Custom Projects](/plugins/recipes/project-inference-plugins)
|
||||
- [Intro](/extending-nx/intro)
|
||||
- [Getting Started with Plugins](/extending-nx/intro/getting-started)
|
||||
- [Plugin Registry](/extending-nx/registry)
|
||||
- [5 Min Tutorials](/extending-nx/tutorials)
|
||||
- [Create a Local Plugin](/extending-nx/tutorials/create-plugin)
|
||||
- [Maintain a Published Plugin](/extending-nx/tutorials/publish-plugin)
|
||||
- [Recipes](/extending-nx/recipes)
|
||||
- [Write a Simple Executor](/extending-nx/recipes/local-executors)
|
||||
- [Compose Executors](/extending-nx/recipes/compose-executors)
|
||||
- [Write a Simple Generator](/extending-nx/recipes/local-generators)
|
||||
- [Compose Generators](/extending-nx/recipes/composing-generators)
|
||||
- [Provide Options for Generators](/extending-nx/recipes/generator-options)
|
||||
- [Create Files](/extending-nx/recipes/creating-files)
|
||||
- [Modify Files](/extending-nx/recipes/modifying-files)
|
||||
- [Write a Migration](/extending-nx/recipes/migration-generators)
|
||||
- [Create a Preset](/extending-nx/recipes/create-preset)
|
||||
- [Modify the Project Graph](/extending-nx/recipes/project-graph-plugins)
|
||||
- [Identify Custom Projects](/extending-nx/recipes/project-inference-plugins)
|
||||
|
||||
- Cloud
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@ export function DocViewer({
|
||||
const router = useRouter();
|
||||
const hideTableOfContent =
|
||||
router.asPath.includes('/getting-started/intro') ||
|
||||
router.asPath.includes('/plugins/intro/getting-started') ||
|
||||
router.asPath.includes('/extending-nx/intro/getting-started') ||
|
||||
router.asPath.includes('/packages/devkit') ||
|
||||
router.asPath.includes('/reference/glossary');
|
||||
const ref = useRef<HTMLDivElement | null>(null);
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
import { DocumentsApi } from '@nx/nx-dev/data-access-documents/node-only';
|
||||
import documents from '../public/documentation/generated/manifests/plugins.json';
|
||||
import documents from '../public/documentation/generated/manifests/extending-nx.json';
|
||||
import { tagsApi } from './tags.api';
|
||||
|
||||
export const nxPluginsApi = new DocumentsApi({
|
||||
id: 'plugins',
|
||||
id: 'extending-nx',
|
||||
manifest: documents,
|
||||
prefix: '',
|
||||
publicDocsRoot: 'public/documentation',
|
||||
|
||||
@ -83,7 +83,7 @@ export const getStaticPaths: GetStaticPaths = () => {
|
||||
return {
|
||||
paths: nxPluginsApi
|
||||
.getSlugsStaticDocumentPaths()
|
||||
.filter((v) => v !== '/plugins/registry'),
|
||||
.filter((v) => v !== '/extending-nx/registry'),
|
||||
fallback: 'blocking',
|
||||
};
|
||||
};
|
||||
@ -93,7 +93,7 @@ export const getStaticProps: GetStaticProps = async ({
|
||||
params: { segments: string[] };
|
||||
}) => {
|
||||
try {
|
||||
const segments = ['plugins', ...params.segments];
|
||||
const segments = ['extending-nx', ...params.segments];
|
||||
const document = nxPluginsApi.getDocument(segments);
|
||||
return {
|
||||
props: {
|
||||
@ -101,7 +101,7 @@ export const getStaticProps: GetStaticProps = async ({
|
||||
relatedDocuments: tagsApi
|
||||
.getAssociatedItemsFromTags(document.tags)
|
||||
.filter((item) => item.path !== '/' + segments.join('/')), // Remove currently displayed item
|
||||
menu: menusApi.getMenu('plugins', ''),
|
||||
menu: menusApi.getMenu('extending-nx', ''),
|
||||
},
|
||||
};
|
||||
} catch (e) {
|
||||
@ -81,13 +81,13 @@ export default function PluginsRoot({
|
||||
|
||||
export const getStaticProps: GetStaticProps = async () => {
|
||||
const document = nxPluginsApi.generateRootDocumentIndex({
|
||||
name: 'Plugins',
|
||||
description: 'Learn quickly how to do things with Nx.',
|
||||
name: 'Extending Nx',
|
||||
description: 'Learn more about creating your own plugin, extending Nx.',
|
||||
});
|
||||
return {
|
||||
props: {
|
||||
document,
|
||||
menu: menusApi.getMenu('plugins', ''),
|
||||
menu: menusApi.getMenu('extending-nx', ''),
|
||||
relatedDocuments: document.tags
|
||||
.map((t) => tagsApi.getAssociatedItems(t))
|
||||
.flat(),
|
||||
@ -71,7 +71,7 @@ export default function Browse(props: BrowseProps): JSX.Element {
|
||||
menu: Menu;
|
||||
} = {
|
||||
menu: {
|
||||
sections: [getBasicPluginsSection(menusApi.getMenu('plugins', ''))],
|
||||
sections: [getBasicPluginsSection(menusApi.getMenu('extending-nx', ''))],
|
||||
},
|
||||
};
|
||||
|
||||
@ -213,7 +213,7 @@ const diataxis = {
|
||||
'/using-nx/updating-nx': '/core-features/automate-updating-dependencies',
|
||||
'/using-nx/nx-nodejs-typescript-version-matrix':
|
||||
'/workspace/nx-nodejs-typescript-version-matrix',
|
||||
'/extending-nx/nx-devkit': '/plugins/intro/getting-started',
|
||||
'/extending-nx/nx-devkit': '/extending-nx/intro/getting-started',
|
||||
'/extending-nx/project-inference-plugins':
|
||||
'/recipes/advanced-plugins/project-inference-plugins',
|
||||
'/extending-nx/project-graph-plugins':
|
||||
@ -654,27 +654,33 @@ const nested5minuteTutorialUrls = {
|
||||
};
|
||||
|
||||
const pluginUrls = {
|
||||
'/plugin-features/create-your-own-plugin': '/plugins/tutorials/create-plugin',
|
||||
'/recipes/advanced-plugins': '/plugins/recipes',
|
||||
'/recipes/advanced-plugins/create-preset': '/plugins/recipes/create-preset',
|
||||
'/plugin-features/create-your-own-plugin':
|
||||
'/extending-nx/tutorials/create-plugin',
|
||||
'/recipes/advanced-plugins': '/extending-nx/recipes',
|
||||
'/recipes/advanced-plugins/create-preset':
|
||||
'/extending-nx/recipes/create-preset',
|
||||
'/recipes/advanced-plugins/migration-generators':
|
||||
'/plugins/recipes/migration-generators',
|
||||
'/extending-nx/recipes/migration-generators',
|
||||
'/recipes/advanced-plugins/project-graph-plugins':
|
||||
'/plugins/recipes/project-graph-plugins',
|
||||
'/extending-nx/recipes/project-graph-plugins',
|
||||
'/recipes/advanced-plugins/project-inference-plugins':
|
||||
'/plugins/recipes/project-inference-plugins',
|
||||
'/extending-nx/recipes/project-inference-plugins',
|
||||
'/recipes/advanced-plugins/share-your-plugin':
|
||||
'/plugins/tutorials/maintain-published-plugin',
|
||||
'/recipes/executors/compose-executors': '/plugins/recipes/compose-executors',
|
||||
'/extending-nx/tutorials/maintain-published-plugin',
|
||||
'/recipes/executors/compose-executors':
|
||||
'/extending-nx/recipes/compose-executors',
|
||||
'/recipes/executors/creating-custom-executors':
|
||||
'/plugins/recipes/local-executors',
|
||||
'/recipes/generators': '/plugins/recipes',
|
||||
'/extending-nx/recipes/local-executors',
|
||||
'/recipes/generators': '/extending-nx/recipes',
|
||||
'/recipes/generators/composing-generators':
|
||||
'/plugins/recipes/composing-generators',
|
||||
'/recipes/generators/creating-files': '/plugins/recipes/creating-files',
|
||||
'/recipes/generators/generator-options': '/plugins/recipes/generator-options',
|
||||
'/recipes/generators/local-generators': '/plugins/recipes/local-generators',
|
||||
'/recipes/generators/modifying-files': '/plugins/recipes/modifying-files',
|
||||
'/extending-nx/recipes/composing-generators',
|
||||
'/recipes/generators/creating-files': '/extending-nx/recipes/creating-files',
|
||||
'/recipes/generators/generator-options':
|
||||
'/extending-nx/recipes/generator-options',
|
||||
'/recipes/generators/local-generators':
|
||||
'/extending-nx/recipes/local-generators',
|
||||
'/recipes/generators/modifying-files':
|
||||
'/extending-nx/recipes/modifying-files',
|
||||
};
|
||||
|
||||
const referenceUrls = {
|
||||
@ -709,6 +715,11 @@ const makeMoreConceptsSubmenu = {
|
||||
'/more-concepts/:path*': '/concepts/more-concepts/:path*',
|
||||
};
|
||||
|
||||
const pluginsToExtendNx = {
|
||||
'/plugins': '/extending-nx',
|
||||
'/plugins/:path*': '/extending-nx/:path*',
|
||||
};
|
||||
|
||||
/**
|
||||
* Public export API
|
||||
*/
|
||||
@ -731,4 +742,5 @@ module.exports = {
|
||||
missingAndCatchAllRedirects,
|
||||
movePluginFeaturesToCore,
|
||||
makeMoreConceptsSubmenu,
|
||||
pluginsToExtendNx,
|
||||
};
|
||||
|
||||
@ -40,7 +40,7 @@ export function DocumentationHeader({
|
||||
const router = useRouter();
|
||||
const isNxCloud: boolean = router.asPath.startsWith('/nx-cloud');
|
||||
const isPackages: boolean = router.asPath.startsWith('/packages');
|
||||
const isPlugins: boolean = router.asPath.startsWith('/plugins');
|
||||
const isPlugins: boolean = router.asPath.startsWith('/extending-nx');
|
||||
const isRecipes: boolean = router.asPath.startsWith('/recipes');
|
||||
const isChangelog: boolean = router.asPath.startsWith('/changelog');
|
||||
const isNx: boolean =
|
||||
@ -53,16 +53,16 @@ export function DocumentationHeader({
|
||||
href: '/nx-cloud/intro/what-is-nx-cloud',
|
||||
current: isNxCloud,
|
||||
},
|
||||
{
|
||||
name: 'Extending Nx',
|
||||
href: '/extending-nx/intro/getting-started',
|
||||
current: isPlugins,
|
||||
},
|
||||
{
|
||||
name: 'Packages',
|
||||
href: '/packages',
|
||||
current: isPackages,
|
||||
},
|
||||
{
|
||||
name: 'Plugins',
|
||||
href: '/plugins/intro/getting-started',
|
||||
current: isPlugins,
|
||||
},
|
||||
{
|
||||
name: 'Recipes',
|
||||
href: '/recipes',
|
||||
|
||||
@ -68,9 +68,9 @@ export function Header(): JSX.Element {
|
||||
href: '/community',
|
||||
},
|
||||
{
|
||||
name: 'Plugins',
|
||||
name: 'Extending Nx',
|
||||
description: 'Add capabilities to your workspace with plugins.',
|
||||
href: '/plugins/intro/getting-started',
|
||||
href: '/extending-nx/intro/getting-started',
|
||||
},
|
||||
{
|
||||
name: 'Nx Conf',
|
||||
@ -186,7 +186,7 @@ export function Header(): JSX.Element {
|
||||
Community
|
||||
</Link>
|
||||
<Link
|
||||
href="/plugins/registry"
|
||||
href="/extending-nx/registry"
|
||||
title="Check Nx available plugins"
|
||||
className="hidden px-3 py-2 font-medium leading-tight hover:text-blue-500 dark:text-slate-200 dark:hover:text-sky-500 md:inline-flex"
|
||||
>
|
||||
|
||||
@ -179,7 +179,7 @@ export function SidebarMobile({
|
||||
const router = useRouter();
|
||||
const isNxCloud: boolean = router.asPath.startsWith('/nx-cloud');
|
||||
const isPackages: boolean = router.asPath.startsWith('/packages');
|
||||
const isPlugins: boolean = router.asPath.startsWith('/plugins');
|
||||
const isPlugins: boolean = router.asPath.startsWith('/extending-nx');
|
||||
const isRecipes: boolean = router.asPath.startsWith('/recipes');
|
||||
const isNx: boolean = !isNxCloud && !isPackages && !isPlugins && !isRecipes;
|
||||
|
||||
@ -197,8 +197,8 @@ export function SidebarMobile({
|
||||
current: isPackages,
|
||||
},
|
||||
{
|
||||
name: 'Plugins',
|
||||
href: '/plugins/intro/getting-started',
|
||||
name: 'Extending Nx',
|
||||
href: '/extending-nx/intro/getting-started',
|
||||
current: isPlugins,
|
||||
},
|
||||
{
|
||||
|
||||
@ -18,7 +18,10 @@ export function ConnectWithUs(): JSX.Element {
|
||||
</p>
|
||||
<p className="py-4">
|
||||
Looking for community plugins? Find them listed in the{' '}
|
||||
<a href="/plugins/registry" className="underline font-semibold">
|
||||
<a
|
||||
href="/extending-nx/registry"
|
||||
className="underline font-semibold"
|
||||
>
|
||||
plugin registry
|
||||
</a>
|
||||
.
|
||||
|
||||
@ -38,7 +38,7 @@ export function MonorepoStyles(): JSX.Element {
|
||||
<span className="font-medium">let Nx do the heavy lifting</span>{' '}
|
||||
with its set of{' '}
|
||||
<Link
|
||||
href="/plugins"
|
||||
href="/extending-nx"
|
||||
title="Install VSCode's native extension for Nx"
|
||||
className="font-medium text-blue-500 dark:text-sky-500"
|
||||
>
|
||||
|
||||
@ -368,10 +368,10 @@ function createDocumentSections(
|
||||
prefix: 'recipes',
|
||||
},
|
||||
{
|
||||
name: 'plugins',
|
||||
content: documents.find((x) => x.id === 'plugins')!
|
||||
name: 'extending-nx',
|
||||
content: documents.find((x) => x.id === 'extending-nx')!
|
||||
.itemList as Partial<DocumentMetadata>[],
|
||||
prefix: 'plugins',
|
||||
prefix: 'extending-nx',
|
||||
},
|
||||
{
|
||||
name: 'cloud',
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user