Home > Web Front-end > JS Tutorial > body text

TypeDoc usage in @vercel/edge

DDD
Release: 2024-10-17 06:31:02
Original
314 people have browsed it

In this article, we analyze TypeDoc usage in @vercel/edge package.

I found a file named typedoc.json, got me wondering what’s TypeDoc and a quick google search helped me find TypeDoc website.

So what’s TypeDoc?

TypeDoc usage in @vercel/edge

TypeDoc

TypeDoc converts comments in TypeScript source code into rendered HTML documentation or a JSON model. It is extensible and supports a variety of configurations. Available as a CLI or Node module.

TypeDoc documentation is comprehensive. Let’s now focus on how this is used in @vercel/edge.

typedoc.json configuration in @vercel/edge:

The below code is picked from packages/edge/typedoc.json.

{
 "$schema": "https://typedoc.org/schema.json",
 "entryPoints": ["src/index.ts"],
 "plugin": ["typedoc-plugin-markdown", "typedoc-plugin-mdn-links"],
 "out": "docs",
 "githubPages": false,
 "gitRevision": "main",
 "readme": "none",
 "hideBreadcrumbs": true
}
Copy after login

You require this configuration when you are using CLI to run TypeDoc.

Pay attention to “out” value, it is “docs”, it is a good thing that we have already docs generated for @vercel/edge package

ModifiedRequest interface:

Let’s pick ModifiedRequest interface found in middleware-helpers.ts

export interface ModifiedRequest {
 /**
 * If set, overwrites the incoming headers to the origin request.
 *
 * This is useful when you want to pass data between a Middleware and a
 * Serverless or Edge Function.
 *
 * @example
 * <caption>Add a `x-user-id` header and remove the `Authorization` header</caption>
 *
 * ```

ts
 * import { rewrite } from '@vercel/edge';
 * export default async function middleware(request: Request): Promise<Response> {
 * const newHeaders = new Headers(request.headers);
 * newHeaders.set('x-user-id', 'user_123');
 * newHeaders.delete('authorization');
 * return rewrite(request.url, {
 * request: { headers: newHeaders }
 * })
 * }
 *

Copy after login

*/
headers?: Headers;
}



This interface has a comment added that is picked by TypeDoc and is made available in docs at [edge/docs/interfaces/ModifiedRequest.md](https://github.com/vercel/vercel/blob/main/packages/edge/docs/interfaces/ModifiedRequest.md)

But what’s the command this package uses to initiate documentation generation? It can be found in [package.json](https://github.com/vercel/vercel/blob/main/packages/edge/package.json#L19)



```plaintext
"build:docs": "typedoc && node scripts/fix-links.js && prettier - write docs/**/*.md docs/*.md",
Copy after login

You can see prettier is applied on the docs folder.

About us:

At Think Throo, we are on a mission to teach the advanced codebase architectural concepts used in open-source projects.

10x your coding skills by practising advanced architectural concepts in Next.js/React, learn the best practices and build production-grade projects.

We are open source — https://github.com/thinkthroo/thinkthroo (Do give us a star!)

We also provide web development and technical writing services. Reach out to us at hello@thinkthroo.com to learn more!

References:

  1. https://github.com/vercel/vercel/blob/main/packages/edge/typedoc.jso

  2. https://github.com/TypeStrong/typedoc

  3. https://typedoc.org/

  4. https://github.com/vercel/vercel/blob/main/packages/edge/docs

  5. https://github.com/vercel/vercel/blob/main/packages/edge/docs/interfaces/ModifiedRequest.md

  6. https://github.com/vercel/vercel/blob/main/packages/edge/src/middleware-helpers.ts#L1

The above is the detailed content of TypeDoc usage in @vercel/edge. For more information, please follow other related articles on the PHP Chinese website!

source:dev.to
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template