Are you a plugin author? You can{' '} add your plugin to the registry {' '} with a few simple steps.
import { getBasicNxSection } from '@nx/nx-dev/data-access-menu';
import { MenuItem } from '@nx/nx-dev/models-menu';
import {
Breadcrumbs,
DocumentationHeader,
Footer,
SidebarContainer,
} from '@nx/nx-dev/ui-common';
import { PluginDirectory } from '@nx/nx-dev/ui-community';
import { NextSeo } from 'next-seo';
import { useRouter } from 'next/router';
import { menusApi } from '../lib/menus.api';
import { useNavToggle } from '../lib/navigation-toggle.effect';
import { nxPackagesApi } from '../lib/packages.api';
import { ScrollableContent } from '@nx/ui-scrollable-content';
declare const fetch: any;
let qualityIndicators = require('./quality-indicators.json');
interface PluginInfo {
description: string;
name: string;
url: string;
isOfficial: boolean;
}
interface BrowseProps {
pluginList: PluginInfo[];
menu: MenuItem[];
}
export async function getStaticProps(): Promise<{ props: BrowseProps }> {
const res = await fetch(
'https://raw.githubusercontent.com/nrwl/nx/master/community/approved-plugins.json'
);
const pluginList = await res.json();
const officialPluginList = (nxPackagesApi.getRootPackageIndex() ?? []).filter(
(m) =>
m.name !== 'add-nx-to-monorepo' &&
m.name !== 'cra-to-nx' &&
m.name !== 'create-nx-plugin' &&
m.name !== 'create-nx-workspace' &&
m.name !== 'make-angular-cli-faster' &&
m.name !== 'tao'
);
return {
props: {
pluginList: [
...officialPluginList.map((plugin) => ({
name: plugin.packageName,
description: plugin.description ?? '',
url: plugin.path,
...qualityIndicators[plugin.packageName],
nxVersion: 'official',
isOfficial: true,
})),
...pluginList.map((plugin) => ({
...plugin,
...qualityIndicators[plugin.name],
isOfficial: false,
})),
],
menu: menusApi.getMenu('nx', ''),
},
};
}
export default function Browse(props: BrowseProps): JSX.Element {
const router = useRouter();
const { toggleNav, navIsOpen } = useNavToggle();
const menu = {
sections: [getBasicNxSection(props.menu)],
};
return (
<>
Are you a plugin author? You can{' '} add your plugin to the registry {' '} with a few simple steps.