npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@dvashim/typescript-config

v1.1.7

Published

Shared TypeScript configurations

Readme

Typescript Configurations

npm version npm downloads Checked with Biome

Installation

npm:

npm install -D @dvashim/typescript-config

or pnpm:

pnpm add -D @dvashim/typescript-config

Configurations

| Name | Path | |------|------| | Base | @dvashim/typescript-config or @dvashim/typescript-config/base | | Library development | @dvashim/typescript-config/lib or @dvashim/typescript-config/lib/dev | | Library production | @dvashim/typescript-config/lib/prod | | React JSX application | @dvashim/typescript-config/app/react | | Vite + React JSX application | @dvashim/typescript-config/app/react/vite | | Node | @dvashim/typescript-config/node |

Use

Base configuration:

// tsconfig.json (base)

// Very strict + future-proof setup with full ESM support
// (es2022 + verbatimModuleSyntax), bundler-friendly resolution,
// no emitted .js files on error, strong type-safety guards,
// and clean imports — ideal for libraries, Vite/React apps,
// monorepos and high-quality TypeScript projects
// that want to catch as many mistakes as possible at compile time.

{
  "$schema": "https://json.schemastore.org/tsconfig",
  "extends": "@dvashim/typescript-config",
  "compilerOptions": {
    "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.base.tsbuildinfo",
  },
  "include": ["src"]
}

Library development configuration:

// tsconfig.json (library development)

// Modern strict es2022 + ESM + bundler-mode configuration
// for libraries / monorepos / bundler-based projects
// with verbatimModuleSyntax, full strictness,
// clean .d.ts emit (best practices)

{
  "$schema": "https://json.schemastore.org/tsconfig",
  "extends": "@dvashim/typescript-config/lib/dev",
  "compilerOptions": {
    "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.dev.tsbuildinfo",
  },
  "include": ["src"]
}

Library production configuration:

// tsconfig.json (library production)

// Modern strict es2022 + ESM + bundler-mode configuration
// for libraries / monorepos / bundler-based projects
// with verbatimModuleSyntax, full strictness,
// clean .d.ts emit, no source maps / comments
// (best practices)

{
  "$schema": "https://json.schemastore.org/tsconfig",
  "extends": "@dvashim/typescript-config/lib/prod",
  "compilerOptions": {
    "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.prod.tsbuildinfo",
  },
  "include": ["src"]
}

React JSX application configuration:

// tsconfig.json (react jsx application)

// Strict, modern, no-emit configuration for
// React + ESM/bundler workflows
// (Vite/Turbopack/esbuild compatible)
// with verbatim module syntax and full type safety.
// Very strict settings, modern ESM resolution,
// React JSX transform, no emitted .js files,
// supports importing .ts/.tsx extensions directly.

{
  "$schema": "https://json.schemastore.org/tsconfig",
  "extends": "@dvashim/typescript-config/app/react",
  "compilerOptions": {
    "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
  },
  "include": ["src"]
}

Vite + React JSX application configuration:

// tsconfig.json (vite + react jsx application)

// Strict, modern, no-emit configuration for
// Vite + React projects with verbatim module syntax
// and full type safety.
// Very strict settings, modern ESM resolution,
// React JSX transform, no emitted .js files,
// supports importing .ts/.tsx extensions directly.

{
  "$schema": "https://json.schemastore.org/tsconfig",
  "extends": "@dvashim/typescript-config/app/react/vite",
  "compilerOptions": {
    "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
  },
  "include": ["src"]
}

Node configuration:

// tsconfig.json (node)

// Strict configuration for ESM + bundler environments
// (Vite, esbuild, Bun, Parcel, Turbopack, Rollup, etc.)
// Designed for tools that handle bundling, transpilation
// and module resolution themselves

{
  "$schema": "https://json.schemastore.org/tsconfig",
  "extends": "@dvashim/typescript-config/node",
  "include": ["vite.config.ts"]
}

Rules

Base configuration


Node configuration

This configuration extends the base configuration and overrides some compiler options

  • Module

    • module: esnext — Specifies the module code generation format.
  • Emit

    • noEmit: true — Disables emitting compiled JavaScript files.
  • Target / Language

    • target: es2023 — Sets the JavaScript language version for emitted output.
    • lib: ["ES2023"] — Specifies built-in library declaration files included in compilation.
  • Types

    • types: ["node"] — Includes type declarations for Node.js.
  • Module Features