Packages

Config Packages

Shared ESLint and TypeScript configurations

ESLint Config

Structure

base.js
next-js.js
package.json
README.md

Usage

apps/web/eslint.config.mjs
import sharedConfig from "@shared/eslint-config"

export default [
  ...sharedConfig,
  // App-specific overrides
]

TypeScript Config

Structure

base.json
nextjs.json
react-library.json
package.json

Base Configuration

packages/ts-config/base.json
{
  "compilerOptions": {
    "strict": true,
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,
    "resolveJsonModule": true,
    "isolatedModules": true,
    "jsx": "preserve",
    "incremental": true,
    "module": "esnext",
    "moduleResolution": "bundler",
    "target": "ES2020",
    "lib": ["ES2020", "DOM", "DOM.Iterable"]
  }
}

Usage

apps/web/tsconfig.json
{
  "extends": "@shared/ts-config/nextjs.json",
  "compilerOptions": {
    "paths": {
      "@/*": ["./src/*"]
    }
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules"]
}

Benefits


Next: Learn about Data Fetching patterns.