Shared development tooling and configuration for MDXEditor packages. Provides consistent ESLint, TypeScript, Prettier, and Vite configurations across all packages in the monorepo.
This package is private and not published to npm. It exists to centralize development tooling configuration and ensure consistency across all MDXEditor plugin packages.
File: tsconfig.base.json
Provides a strict TypeScript configuration with:
- Strict mode enabled
noUnusedLocalsandnoUnusedParameterschecksnoFallthroughCasesInSwitchenforcement- ES2020 target with ESNext module resolution
- React JSX support
Usage in packages:
{
"extends": "@mdxeditor/tooling/tsconfig.base.json",
"compilerOptions": {
"outDir": "./dist"
},
"include": ["src"]
}File: eslint.config.mjs
Provides strict ESLint rules with:
- TypeScript ESLint with
strictTypeCheckedruleset - Project-aware type checking
- Ignores for common build/config files
Usage in packages:
import baseConfig from '@mdxeditor/tooling/eslint.config.mjs';
export default [
...baseConfig,
// Package-specific overrides if needed
];File: prettier.config.mjs
Provides consistent code formatting with:
- No semicolons
- Double quotes
- 2-space indentation
- No trailing commas
Usage in packages:
import prettierConfig from '@mdxeditor/tooling/prettier.config.mjs';
export default prettierConfig;Or reference in package.json:
{
"prettier": "@mdxeditor/tooling/prettier.config.mjs"
}File: vite.config.base.js
Provides library build configuration with:
- ES module output
- TypeScript declaration generation with
vite-plugin-dts - React/React-DOM as external peer dependencies
- Source map and declaration map generation
- Entry point at
src/index.tsx
Usage in packages:
import { defineConfig } from 'vite';
import baseConfig from '@mdxeditor/tooling/vite.config.base';
export default defineConfig({
...baseConfig,
// Package-specific overrides if needed
});packages/tooling/
├── eslint.config.mjs # ESLint configuration
├── prettier.config.mjs # Prettier configuration
├── tsconfig.base.json # TypeScript configuration
├── vite.config.base.js # Vite library build config
└── package.json
This package includes:
- TypeScript (
^5.9.3) - Type checking - ESLint (
^9.39.1) - Linting with strict TypeScript rules - Prettier (
^3.6.2) - Code formatting - Vite (
^7.2.2) - Build tool - vite-plugin-dts (
^4.5.4) - TypeScript declaration generation
# Type check the tooling package itself
pnpm type-check
# Format files
pnpm formatPackages in the monorepo import these configurations directly:
{
"name": "@mdxeditor/my-plugin",
"devDependencies": {
"@mdxeditor/tooling": "workspace:*"
}
}Then extend the configs as shown in the examples above.
- Consistency: All packages use the same code quality standards
- Maintainability: Update tooling once, apply everywhere
- DRY: No duplicate configuration across packages
- Strict: Enforces best practices with strict TypeScript and ESLint rules
This package is part of the MDXEditor Extras monorepo. See the main repository for contribution guidelines.
MIT