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

@danielmullerch/ts-base-dev-deps

v0.0.17

Published

Shared devDependencies for TypeScript projects (eslint, prettier, typescript, etc.)

Readme

@danielmuller/ts-base-dev-deps

This package provides a shared base for TypeScript projects. It ships common devDependencies and seeds a starter set of config files into consuming repositories during install.

What gets installed

When a consumer installs this package, scripts/postinstall.mjs copies main entry files once and refreshes shared config files on every install:

  • eslint.config.mjs is copied only once and is where consumer-specific rules belong.
  • eslint.shared.mjs is refreshed on every install so common rules can evolve over time.
  • prettier.config.mjs is copied only once and is where consumer-specific overrides belong.
  • prettier.shared.mjs is refreshed on every install so shared formatting rules can evolve over time.
  • .prettierignore
  • .gitignore
  • .husky/pre-commit
  • .vscode/settings.json
  • .vscode/extensions.json

Existing local edits are preserved for the main file, while shared support files are refreshed from the package.

Usage

  1. Add the package to your project as a dev dependency:
npm install --save-dev @danielmullerch/ts-base-dev-deps
  1. Let the install hook copy the default ESLint and Prettier starter files, add the Husky pre-commit hook, update lint-staged in package.json, and refresh the shared config files in the repository.

  2. Add your project-specific ESLint rules in eslint.config.mjs and your project-specific Prettier overrides in prettier.config.mjs. Each file imports its shared companion, so local changes extend the shared defaults rather than replacing them.

  3. Extend or override any copied support file in your project as needed.

The installer also configures core.hooksPath to .husky when the consumer project is inside a git work tree, and merges required lint-staged commands into package.json so the pre-commit hook runs prettier --write and eslint --fix --config eslint.config.mjs.

Included dependencies

  • eslint
  • prettier
  • typescript
  • @typescript-eslint/eslint-plugin
  • @typescript-eslint/parser
  • eslint-config-prettier
  • @eslint/js
  • globals

Publishing

On every commit/merge to main, GitHub Actions runs .github/workflows/publish-github-packages.yml and can publish to both GitHub Packages and npmjs when conditions are met.

  • package.json changed in that push.
  • The version value changed.
  • The new version is greater than the previous git version.
  • The new version is greater than the currently published version in each target registry.

The workflow uses:

  • GITHUB_TOKEN (packages: write) for GitHub Packages publishing.
  • NPM_TOKEN for npmjs publishing.

For npmjs, the workflow publishes using the @danielmullerch scope (@danielmullerch/ts-base-dev-deps) while keeping GitHub Packages under the GitHub scope.

Consumers should configure scope registry in .npmrc to install from GitHub Packages:

@danielmuller:registry=https://npm.pkg.github.com