Adds a dedicated "Custom Components" section to the docs. As users become familiar with building custom components, not all areas that support customization are well documented. Not only this, but the current pattern does not allow for deep elaboration on these concepts without their pages growing to an unmanageable size. Custom components in general is a large enough topic to merit a standalone section with subpages. This change will make navigation much more intuitive, help keep page size down, and provide room to document every single available custom component with snippets to show exactly how they are typed, etc. This is a substantial change to the docs, here is the overview: - The "Admin > Customizing Components" doc is now located at "Custom Components > overview" - The "Admin > Views" doc is now located at "Custom Components > Custom Views" - There is a new "Custom Components > Edit View" doc - There is a new "Custom Components > List View" doc - The information about root components within the "Admin > Customizing Components" doc has been moved to a new "Custom Components > Root Components" doc - The information about custom providers within the "Admin > Customizing Components" doc has been moved to a new "Custom Components > Custom Providers" doc Similar to the goals of #10743, #10742, and #10741. Fixes #10872 and initial scaffolding for #10353. Dependent on #11126. This change will require the following redirects to be set up: - `/docs/admin/hooks` → `/docs/admin/react-hooks` - `/docs/admin/components` → `/docs/custom-components/overview` - `/docs/admin/views` → `/docs/custom-components/views`
37 lines
1.5 KiB
Plaintext
37 lines
1.5 KiB
Plaintext
---
|
|
title: TypeScript - Overview
|
|
label: Overview
|
|
order: 10
|
|
desc: Payload is the most powerful TypeScript headless CMS available.
|
|
keywords: headless cms, typescript, documentation, Content Management System, cms, headless, javascript, node, react, nextjs
|
|
---
|
|
|
|
Payload supports TypeScript natively, and not only that, the entirety of the CMS is built with TypeScript. To get started developing with Payload and TypeScript, you can use one of Payload's built-in boilerplates in one line via `create-payload-app`:
|
|
|
|
```
|
|
npx create-payload-app@latest
|
|
```
|
|
|
|
Pick a TypeScript project type to get started easily.
|
|
|
|
## Setting up from Scratch
|
|
|
|
It's also possible to set up a TypeScript project from scratch. We plan to write up a guide for exactly how—so keep an eye out for that, too.
|
|
|
|
## Using Payload's Exported Types
|
|
|
|
Payload exports a number of types that you may find useful while writing your own custom functionality like [Plugins](../plugins/overview), [Hooks](../hooks/overview), [Access Control](../access-control/overview) functions, [Custom Views](../custom-components/custom-views), [GraphQL queries / mutations](../graphql/overview) or anything else.
|
|
|
|
## Config Types
|
|
|
|
- [Base config](/docs/configuration/overview#typescript)
|
|
- [Collections](/docs/configuration/collections#typescript)
|
|
- [Globals](/docs/configuration/globals#typescript)
|
|
- [Fields](/docs/fields/overview#typescript)
|
|
|
|
## Hook Types
|
|
|
|
- [Collection hooks](/docs/hooks/collections#typescript)
|
|
- [Global hooks](/docs/hooks/globals#typescript)
|
|
- [Field hooks](/docs/hooks/fields#typescript)
|