refactor: use eslint-config-neon for packages. (#8579)

Co-authored-by: Noel <buechler.noel@outlook.com>
This commit is contained in:
Suneet Tipirneni
2022-09-01 14:50:16 -04:00
committed by GitHub
parent 4bdb0593ae
commit edadb9fe5d
219 changed files with 2608 additions and 2053 deletions

View File

@@ -1,6 +1,6 @@
import { readFile } from 'node:fs/promises';
import { join } from 'node:path';
import { cwd } from 'node:process';
import process, { cwd } from 'node:process';
import {
findPackage,
getMembers,
@@ -15,11 +15,11 @@ import {
import { ActionIcon, Affix, Box, LoadingOverlay, Transition } from '@mantine/core';
import { useMediaQuery, useWindowScroll } from '@mantine/hooks';
import { ApiFunction, ApiItemKind, type ApiPackage } from '@microsoft/api-extractor-model';
import { MDXRemote } from 'next-mdx-remote';
import { serialize } from 'next-mdx-remote/serialize';
import Head from 'next/head';
import { useRouter } from 'next/router';
import type { GetStaticPaths, GetStaticProps } from 'next/types';
import { MDXRemote } from 'next-mdx-remote';
import { serialize } from 'next-mdx-remote/serialize';
import { VscChevronUp } from 'react-icons/vsc';
import rehypeIgnore from 'rehype-ignore';
import rehypePrettyCode from 'rehype-pretty-code';
@@ -46,7 +46,7 @@ export const getStaticPaths: GetStaticPaths = async () => {
let data: any[] = [];
let versions: string[] = [];
if (process.env.NEXT_PUBLIC_LOCAL_DEV) {
const res = await readFile(join(cwd(), '..', packageName, 'docs', 'docs.api.json'), 'utf-8');
const res = await readFile(join(cwd(), '..', packageName, 'docs', 'docs.api.json'), 'utf8');
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
data = JSON.parse(res);
} else {
@@ -62,35 +62,33 @@ export const getStaticPaths: GetStaticPaths = async () => {
}
if (Array.isArray(data)) {
const models = data.map((d) => createApiModel(d));
const models = data.map((innerData) => createApiModel(innerData));
const pkgs = models.map((model) => findPackage(model, packageName)) as ApiPackage[];
return [
...versions.map((version) => ({ params: { slug: ['packages', packageName, version] } })),
...pkgs
.map((pkg, idx) =>
getMembers(pkg, versions[idx]!).map((member) => {
if (member.kind === ApiItemKind.Function && member.overloadIndex && member.overloadIndex > 1) {
return {
params: {
slug: [
'packages',
packageName,
versions[idx]!,
`${member.name}:${member.overloadIndex}:${member.kind}`,
],
},
};
}
...pkgs.flatMap((pkg, idx) =>
getMembers(pkg, versions[idx]!).map((member) => {
if (member.kind === ApiItemKind.Function && member.overloadIndex && member.overloadIndex > 1) {
return {
params: {
slug: ['packages', packageName, versions[idx]!, `${member.name}:${member.kind}`],
slug: [
'packages',
packageName,
versions[idx]!,
`${member.name}:${member.overloadIndex}:${member.kind}`,
],
},
};
}),
)
.flat(),
}
return {
params: {
slug: ['packages', packageName, versions[idx]!, `${member.name}:${member.kind}`],
},
};
}),
),
];
}
@@ -130,7 +128,7 @@ export const getStaticProps: GetStaticProps = async ({ params }) => {
const [memberName, overloadIndex] = member?.split(':') ?? [];
try {
const readme = await readFile(join(cwd(), '..', packageName, 'README.md'), 'utf-8');
const readme = await readFile(join(cwd(), '..', packageName, 'README.md'), 'utf8');
const mdxSource = await serialize(readme, {
mdxOptions: {
@@ -143,7 +141,7 @@ export const getStaticProps: GetStaticProps = async ({ params }) => {
let data;
if (process.env.NEXT_PUBLIC_LOCAL_DEV) {
const res = await readFile(join(cwd(), '..', packageName, 'docs', 'docs.api.json'), 'utf-8');
const res = await readFile(join(cwd(), '..', packageName, 'docs', 'docs.api.json'), 'utf8');
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
data = JSON.parse(res);
} else {
@@ -155,9 +153,10 @@ export const getStaticProps: GetStaticProps = async ({ params }) => {
const model = createApiModel(data);
const pkg = findPackage(model, packageName);
// eslint-disable-next-line prefer-const
let { containerKey, name } = findMember(model, packageName, memberName, branchName) ?? {};
if (name && overloadIndex && !Number.isNaN(parseInt(overloadIndex, 10))) {
containerKey = ApiFunction.getContainerKey(name, parseInt(overloadIndex, 10));
if (name && overloadIndex && !Number.isNaN(Number.parseInt(overloadIndex, 10))) {
containerKey = ApiFunction.getContainerKey(name, Number.parseInt(overloadIndex, 10));
}
return {
@@ -171,17 +170,17 @@ export const getStaticProps: GetStaticProps = async ({ params }) => {
source: mdxSource,
},
},
revalidate: 3600,
revalidate: 3_600,
};
} catch (e) {
const error = e as Error;
} catch (error_) {
const error = error_ as Error;
console.error(error);
return {
props: {
error: e,
error: error_,
},
revalidate: 3600,
revalidate: 3_600,
};
}
};