Docusaurus base TypeScript configuration providing standardized settings for Docusaurus projects.
npx @tessl/cli install tessl/npm-docusaurus--tsconfig@3.8.0@docusaurus/tsconfig provides a standardized TypeScript configuration for Docusaurus projects, serving as a shareable TSConfig base that other Docusaurus packages and user projects can extend. It includes sensible defaults for modern JavaScript/TypeScript development with ES2022 target, DOM type definitions, module resolution settings optimized for bundlers, JSX preservation for React components, and path mapping configuration that supports the common '@site/*' alias pattern used in Docusaurus sites.
npm install --save-dev @docusaurus/tsconfigThis package is used via TypeScript's extends configuration, not via import statements:
{
"extends": "@docusaurus/tsconfig"
}Add @docusaurus/tsconfig to your project's tsconfig.json:
{
"extends": "@docusaurus/tsconfig",
"compilerOptions": {
"baseUrl": "."
}
}For a complete Docusaurus TypeScript setup:
npm install --save-dev typescript @docusaurus/module-type-aliases @docusaurus/tsconfig @docusaurus/typesProvides a complete, pre-configured TypeScript configuration optimized for Docusaurus projects.
{
"$schema": "https://json.schemastore.org/tsconfig",
"display": "Docusaurus",
"docs": "https://docusaurus.io/docs/typescript-support",
"compilerOptions": {
"allowJs": true,
"esModuleInterop": true,
"jsx": "preserve",
"target": "ES2022",
"lib": ["ES2022", "DOM"],
"moduleResolution": "bundler",
"module": "esnext",
"noEmit": true,
"baseUrl": ".",
"paths": {
"@site/*": ["./*"]
},
"skipLibCheck": true
}
}true - Allows importing and processing JavaScript files alongside TypeScripttrue - Enables interoperability between CommonJS and ES modules"bundler" - Uses bundler-style module resolution optimized for modern bundlers"esnext" - Uses the latest ES module syntax"preserve" - Preserves JSX syntax for processing by bundlers (React support)"ES2022" - Compiles to ES2022 JavaScript standard["ES2022", "DOM"] - Includes ES2022 and DOM type librariestrue - Prevents TypeScript from emitting compiled files (type-checking only)"." - Sets base directory for module resolution{"@site/*": ["./*"]} - Path mapping for @site/* alias pattern (Docusaurus convention)true - Skips type checking of declaration files for faster compilation{
"$schema": "https://json.schemastore.org/tsconfig",
"display": "Docusaurus",
"docs": "https://docusaurus.io/docs/typescript-support"
}{
"extends": "@docusaurus/tsconfig",
"compilerOptions": {
"baseUrl": "."
}
}{
"extends": "@docusaurus/tsconfig",
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@site/*": ["./src/*"],
"@components/*": ["./src/components/*"]
}
},
"include": [
"src/**/*",
"docs/**/*"
],
"exclude": [
"node_modules",
"build"
]
}// docusaurus.config.ts
import type {Config} from '@docusaurus/types';
const config: Config = {
title: 'My Site',
// ... rest of config
};
export default config;This package replaces the external @tsconfig/docusaurus package as of Docusaurus v3.0:
- "extends": "@tsconfig/docusaurus/tsconfig.json",
+ "extends": "@docusaurus/tsconfig",