Skip to content

Commit

Permalink
feat(nx-dev): add 404 support for package urls (#14706)
Browse files Browse the repository at this point in the history
  • Loading branch information
bcabanes committed Jan 30, 2023
1 parent 5bd087f commit 67d9981
Show file tree
Hide file tree
Showing 3 changed files with 87 additions and 60 deletions.
50 changes: 31 additions & 19 deletions nx-dev/nx-dev/pages/packages/[name]/executors/[...segments].tsx
Original file line number Diff line number Diff line change
Expand Up @@ -102,27 +102,39 @@ export const getStaticPaths: GetStaticPaths = () => {
};
};

function getData(
packageName: string,
segments: string[]
): {
pkg: ProcessedPackageMetadata;
schema: SchemaMetadata;
menu: MenuItem[];
} {
return {
pkg: nxPackagesApi.getPackage([packageName]),
schema: nxPackagesApi.getSchemaMetadata(
nxPackagesApi.getPackageFileMetadatas(packageName, 'executors')[
'/' + ['packages', packageName, 'executors', ...segments].join('/')
]
),
menu: menusApi.getMenu('packages', 'packages'),
};
}
export async function getStaticProps({
params,
}: {
params: { name: string; segments: string[] };
}): Promise<{
props: {
pkg: ProcessedPackageMetadata;
schema: SchemaMetadata;
menu: MenuItem[];
};
}> {
return {
props: {
pkg: nxPackagesApi.getPackage([params.name]),
schema: nxPackagesApi.getSchemaMetadata(
nxPackagesApi.getPackageFileMetadatas(params.name, 'executors')[
'/' +
['packages', params.name, 'executors', ...params.segments].join('/')
]
),
menu: menusApi.getMenu('packages', 'packages'),
},
};
}) {
try {
return {
props: getData(params.name, params.segments),
};
} catch (e) {
return {
notFound: true,
props: {
statusCode: 404,
},
};
}
}
52 changes: 31 additions & 21 deletions nx-dev/nx-dev/pages/packages/[name]/generators/[...segments].tsx
Original file line number Diff line number Diff line change
Expand Up @@ -102,29 +102,39 @@ export const getStaticPaths: GetStaticPaths = () => {
};
};

function getData(
packageName: string,
segments: string[]
): {
pkg: ProcessedPackageMetadata;
schema: SchemaMetadata;
menu: MenuItem[];
} {
return {
pkg: nxPackagesApi.getPackage([packageName]),
schema: nxPackagesApi.getSchemaMetadata(
nxPackagesApi.getPackageFileMetadatas(packageName, 'generators')[
'/' + ['packages', packageName, 'generators', ...segments].join('/')
]
),
menu: menusApi.getMenu('packages', 'packages'),
};
}
export async function getStaticProps({
params,
}: {
params: { name: string; segments: string[] };
}): Promise<{
props: {
pkg: ProcessedPackageMetadata;
schema: SchemaMetadata;
menu: MenuItem[];
};
}> {
return {
props: {
pkg: nxPackagesApi.getPackage([params.name]),
schema: nxPackagesApi.getSchemaMetadata(
nxPackagesApi.getPackageFileMetadatas(params.name, 'generators')[
'/' +
['packages', params.name, 'generators', ...params.segments].join(
'/'
)
]
),
menu: menusApi.getMenu('packages', 'packages'),
},
};
}) {
try {
return {
props: getData(params.name, params.segments),
};
} catch (e) {
return {
notFound: true,
props: {
statusCode: 404,
},
};
}
}
45 changes: 25 additions & 20 deletions nx-dev/nx-dev/pages/packages/[name]/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -92,21 +92,16 @@ export const getStaticPaths: GetStaticPaths = () => {
fallback: 'blocking',
};
};
export async function getStaticProps({
params,
}: {
params: { name: string };
}): Promise<{
props: {
menu: MenuItem[];
overview: string;
pkg: ProcessedPackageMetadata;
};
}> {
const pkg = nxPackagesApi.getPackage([params.name]);

function getData(packageName: string): {
menu: MenuItem[];
overview: string;
pkg: ProcessedPackageMetadata;
} {
const pkg = nxPackagesApi.getPackage([packageName]);
const documents = new DocumentsApi({
id: [params.name, 'documents'].join('-'),
manifest: nxPackagesApi.getPackageDocuments(params.name),
id: [packageName, 'documents'].join('-'),
manifest: nxPackagesApi.getPackageDocuments(packageName),
prefix: '',
publicDocsRoot: 'nx-dev/nx-dev/public/documentation',
tagsApi,
Expand All @@ -116,7 +111,7 @@ export async function getStaticProps({
try {
overview = documents.getDocument([
'packages',
params.name,
packageName,
'documents',
'overview',
])['content'];
Expand All @@ -125,10 +120,20 @@ export async function getStaticProps({
}

return {
props: {
menu: menusApi.getMenu('packages', 'packages'),
overview: overview,
pkg,
},
menu: menusApi.getMenu('packages', 'packages'),
overview: overview,
pkg,
};
}
export async function getStaticProps({ params }: { params: { name: string } }) {
try {
return { props: getData(params.name) };
} catch (e) {
return {
notFound: true,
props: {
statusCode: 404,
},
};
}
}

1 comment on commit 67d9981

@vercel
Copy link

@vercel vercel bot commented on 67d9981 Jan 30, 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-five.vercel.app
nx-dev-nrwl.vercel.app
nx.dev
nx-dev-git-master-nrwl.vercel.app

Please sign in to comment.