import {
PackageMetadata,
ProcessedPackageMetadata,
} from '@nrwl/nx-dev/models-package';
import { Breadcrumbs, Footer } from '@nrwl/nx-dev/ui-common';
import { NextSeo } from 'next-seo';
import { useRouter } from 'next/router';
import React from 'react';
import { Heading1, Heading2 } from './ui/headings';
import { DocumentList, SchemaList } from './ui/package-reference';
import { TopSchemaLayout } from './ui/top.layout';
export function PackageSchemaSubList({
type,
pkg,
}: {
type: 'document' | 'executor' | 'generator';
pkg: ProcessedPackageMetadata;
}): JSX.Element {
const router = useRouter();
const capitalize = (text: string): string =>
text.charAt(0).toUpperCase() + text.slice(1);
const vm: {
package: PackageMetadata;
githubUrl: string;
seo: { title: string; description: string; url: string; imageUrl: string };
type: 'document' | 'executor' | 'generator';
heading: string;
} = {
package: {
...pkg,
documents: Object.keys(pkg.documents)
.map((k) => pkg.documents[k])
.filter((d) => d.id !== 'overview'),
executors: Object.keys(pkg.executors).map((k) => pkg.executors[k]),
generators: Object.keys(pkg.generators).map((k) => pkg.generators[k]),
},
githubUrl: pkg.githubRoot + pkg.root,
seo: {
title: `${pkg.packageName}:${type}s | Nx`,
description: pkg.description,
imageUrl: `https://nx.dev/images/open-graph/${router.asPath
.replace('/', '')
.replace(/\//gi, '-')}.jpg`,
url: 'https://nx.dev' + router.asPath,
},
type,
heading: capitalize(type) + ' References',
};
return (
<>
Here is a list of all {vm.type} available for this package.
{vm.type === 'document' ? ( <>