Skip to content

Commit

Permalink
feat(nx-dev): plugin quality indicators (#18426)
Browse files Browse the repository at this point in the history
  • Loading branch information
isaacplmann committed Aug 3, 2023
1 parent bf5111c commit f1a90bf
Show file tree
Hide file tree
Showing 8 changed files with 1,268 additions and 52 deletions.
23 changes: 22 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE/COMMUNITY_PLUGIN.MD
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,27 @@ _[Please make sure you have read the submission guidelines before posting an PR]
Thanks for submitting your Nx Plugin to our community plugins list. Make sure to follow these steps to ensure that your PR is approved in a timely manner.
## Plugin Requirements
Before you submit your plugin to be listed in our registry, it needs to meet the following requirements:
- Run some kind of automated e2e tests in your repository
- Include `@nx/devkit` as a `dependency` in the plugin's `package.json`
- List a `repository.url` in the plugin's `package.json`
i.e.
```
{
"repository": {
"type": "git",
"url": "https://github.com/nrwl/nx.git",
"directory": "packages/web"
}
}
```
Note: We reserve the right to remove unmaintained plugins from the registry. If the plugins become maintained again, they can be resubmitted to the registry.
## Steps to Submit Your Plugin
- Use the following commit message template: `chore(core): nx plugin submission [PLUGIN_NAME]`
- Update the `community/approved-plugins.json` file with a new entry for your plugin that includes `name`, `url`, `description`:
Expand All @@ -21,7 +42,7 @@ Example:
}]
```
Once merged, your will plugin will be available when running the `nx list` command, and will also be available in the Plugin browser on [nx.dev](https://nx.dev)
Once merged, your plugin will be available when running the `nx list` command, and will also be available in the Plugin Registry on [nx.dev](https://nx.dev/extending-nx/registry)
-->

# Community Plugin Submission
Expand Down
47 changes: 16 additions & 31 deletions community/approved-plugins.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,24 @@
"url": "https://github.com/nxkit/nxkit"
},
{
"name": "nx-plugins",
"description": "Nx plugin integrations with ESBuild / Vite / Snowpack / Prisma, with derived ESBuild / Snowpack / ... plugins.",
"name": "nx-plugin-esbuild",
"description": "Nx plugin integrations with ESBuild.",
"url": "https://nx-plugins.netlify.app/"
},
{
"name": "@codebrew/nx-aws-cdk",
"description": "An Nx plugin for aws cdk develop.",
"url": "https://github.com/codebrewlab/nx-plugins/tree/main/packages/nx-aws-cdk"
"name": "nx-plugin-vite",
"description": "Nx plugin integrations with Vite.",
"url": "https://nx-plugins.netlify.app/"
},
{
"name": "nx-plugin-snowpack",
"description": "Nx plugin integrations with Snowpack.",
"url": "https://nx-plugins.netlify.app/"
},
{
"name": "nx-plugin-prisma",
"description": "Nx plugin integrations with Snowpack.",
"url": "https://nx-plugins.netlify.app/"
},
{
"name": "@ago-dev/nx-aws-cdk-v2",
Expand Down Expand Up @@ -74,21 +84,11 @@
"description": "An Nx plugin for developing cross-platform applications using Capacitor",
"url": "https://github.com/nxext/nx-extensions/tree/main/packages/capacitor"
},
{
"name": "@nxtend/firebase",
"description": "An Nx plugin for developing applications using Firebase",
"url": "https://github.com/nxtend-team/nxtend/tree/main/packages/firebase"
},
{
"name": "@angular-architects/ddd",
"description": "Nx plugin for structuring a monorepo with domains and layers",
"url": "https://github.com/angular-architects/nx-ddd-plugin"
},
{
"name": "@offeringsolutions/nx-karma-to-jest",
"description": "Nx plugin for replacing karma with jest in an Nx workspace",
"url": "https://github.com/FabianGosebrink/nx-karma-to-jest"
},
{
"name": "@flowaccount/nx-serverless",
"description": "Nx plugin for node/angular-universal schematics and deployment builders in an Nx workspace",
Expand All @@ -109,21 +109,6 @@
"description": "Nx plugin to run playwright e2e tests in an Nx workspace",
"url": "https://github.com/Bielik20/nx-plugins/tree/master/packages/nx-playwright"
},
{
"name": "@dev-thought/nx-deploy-it",
"description": "Nx plugin to deploy applications on your favorite cloud provider",
"url": "https://github.com/Dev-Thought/nx-plugins/tree/master/libs/nx-deploy-it"
},
{
"name": "@offeringsolutions/nx-protractor-to-cypress",
"description": "Nx plugin to replace protractor with cypress in an nx workspace",
"url": "https://github.com/FabianGosebrink/nx-protractor-to-cypress"
},
{
"name": "@angular-custom-builders/lite-serve",
"description": "Nx plugin to run the e2e test on an existing dist folder",
"url": "https://github.com/mauriziovitale/angular-plugins/tree/master/libs/lite-serve"
},
{
"name": "@nx-plus/nuxt",
"description": "Nx plugin adding first class support for Nuxt in your Nx workspace.",
Expand Down Expand Up @@ -235,7 +220,7 @@
"url": "https://github.com/trafilea/nx-shopify"
},
{
"name": "nx-dotnet",
"name": "@nx-dotnet/core",
"description": "Nx plugin for developing and housing .NET projects within an Nx workspace.",
"url": "https://github.com/nx-dotnet/nx-dotnet"
},
Expand Down
22 changes: 21 additions & 1 deletion docs/shared/plugins/maintain-published-plugin.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,27 @@ After that, you can then install your plugin like any other npm package,

## List your Nx Plugin

Nx provides a utility (`nx list`) that lists both core and community plugins. To submit your plugin, please follow the steps below:
Nx provides a utility (`nx list`) that lists both core and community plugins. You can submit your plugin to be added to this list, but it needs to meet a few criteria first:

- Run some kind of automated e2e tests in your repository
- Include `@nx/devkit` as a `dependency` in the plugin's `package.json`
- List a `repository.url` in the plugin's `package.json`

```jsonc {% fileName="package.json" %}
{
"repository": {
"type": "git",
"url": "https://github.com/nrwl/nx.git",
"directory": "packages/web"
}
}
```

{% callout type="warning" title="Unmaintained Plugins" %}
We reserve the right to remove unmaintained plugins from the registry. If the plugins become maintained again, they can be resubmitted to the registry.
{% /callout %}

Once those criteria are met, you can submit your plugin by following the steps below:

- Fork the [Nx repo](https://github.com/nrwl/nx/fork) (if you haven't already)
- Update the [`community/approved-plugins.json` file](https://github.com/nrwl/nx/blob/master/community/approved-plugins.json) with a new entry for your plugin that includes name, url and description
Expand Down

1 comment on commit f1a90bf

@vercel
Copy link

@vercel vercel bot commented on f1a90bf Aug 3, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successfully deployed to the following URLs:

nx-dev – ./

nx-dev-git-master-nrwl.vercel.app
nx-five.vercel.app
nx.dev
nx-dev-nrwl.vercel.app

Please sign in to comment.