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

@deviltea/tsconfig

v1.0.0

Published

Strict TypeScript 6 presets for platform-neutral, browser, Node.js, and repository tooling projects.

Readme

@deviltea/tsconfig

Strict, reusable TypeScript configurations for platform-neutral libraries, browser code, Node.js packages, native Node.js projects, and repository tooling.

Choose your TypeScript version

| TypeScript | Package version | Status | | --- | --- | --- | | TypeScript 6.x | @deviltea/tsconfig@1 | Current preset architecture | | TypeScript 5.9 | @deviltea/tsconfig@0 | Legacy /base, /dom, and /node presets | | TypeScript 7.x | Not yet supported | Support will be added after compatibility is verified |

TypeScript 6

pnpm add -D typescript@^6 @deviltea/tsconfig@^1

Install Node.js declarations when using node, node-bundler, or tooling:

pnpm add -D @types/node

TypeScript 5.9

pnpm add -D typescript@^5.9 @deviltea/tsconfig@^0

The v0 line keeps the previous presets for existing projects. New preset development happens on v1.

Presets

| Preset | Use it for | | --- | --- | | strict | Shared type-safety and diagnostic policy without choosing a runtime or module system | | neutral | Bundled libraries that must not depend on browser or Node.js globals | | browser | Browser applications, Vue libraries, Vite client code, and VitePress themes | | node-bundler | Node.js packages whose source module graph is processed by a bundler such as tsdown | | node | Native Node.js module resolution, including projects run directly by Node.js or emitted by tsc | | tooling | Repository scripts, tests, and configuration files loaded by Node-based tools |

Usage

Choose one runtime preset in the project-level tsconfig.json:

{
	"extends": "@deviltea/tsconfig/neutral",
	"include": ["src/**/*.ts"]
}

A browser project can use:

{
	"extends": "@deviltea/tsconfig/browser",
	"compilerOptions": {
		"noEmit": true
	},
	"include": ["src/**/*", "src/**/*.vue"]
}

Repository scripts and test files can use:

{
	"extends": "@deviltea/tsconfig/tooling",
	"compilerOptions": {
		"noEmit": true
	},
	"include": ["scripts/**/*.ts", "tests/**/*.ts", "*.config.ts"]
}

node or node-bundler?

Use node when Node.js owns the source module graph. It uses NodeNext resolution and therefore validates Node.js package boundaries, ESM/CommonJS interpretation, and relative import extensions.

Use node-bundler when a bundler owns the source module graph and the resulting output runs on Node.js. It uses Bundler resolution and permits bundler conventions such as extensionless relative imports.

Keep project structure local

The presets intentionally do not set project-specific options such as:

  • include, exclude, or files
  • paths, rootDir, or outDir
  • composite, references, or tsBuildInfoFile
  • noEmit, declaration emit, or output directory policy

Set those options in each repository according to its own source layout and build pipeline.

Migrating from v0

See the v1 migration guide for preset mappings, the breaking change to node, and TypeScript 6 migration checks.

License

MIT