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

@atls/raijin

v2.1.1

Published

Public Raijin initializer and runtime package

Readme

@atls/raijin

Raijin provides project commands and an optional ESLint flat configuration.

Raijin projects use ESM. Initialization and update stop before changing an existing project unless its package.json declares "type": "module".

The public install/update path selects npm's published latest version and requires the exact matching GitHub release to contain an uploaded yarn.js asset with a SHA-256 digest. The package's gitHead must match the release tag commit; Corepack uses the Yarn version from that commit's root package.json. A missing or mismatched asset is rejected before the active runtime changes. A generated release manifest is not needed.

Git hooks

Local installation and runtime updates install Git hooks through Husky. Husky owns .config/husky/_ and the relative core.hooksPath; Raijin adds only its marked pre-commit, commit-msg, and prepare-commit-msg entries. Existing hooks are not overwritten: a conflict stops installation before hook state changes. Hooks are skipped in CI and with HUSKY=0. In a new directory, run git init and then yarn install to activate them before the first commit.

ESLint configuration

yarn lint uses Raijin's default rules only when ESLint finds no project eslint.config.*. If your project has a configuration file, ESLint loads that file without Raijin injecting its defaults. Keep an existing configuration as the project's source of truth; no Raijin import is required.

To opt in to Raijin's rules, create or update eslint.config.js in the project root:

import { eslintconfig } from '@atls/raijin/eslint'

export default [
  ...eslintconfig,
  {
    files: ['**/*.{js,mjs,cjs,jsx,ts,tsx}'],
    rules: {
      'no-console': 'off',
    },
  },
]

Configuration order is explicit: Raijin defaults come first, and the project's rule overrides follow them. If you compose other shareable configurations, place them deliberately and avoid defining the same plugin namespace with different implementations for the same files. ESLint owns configuration discovery and merging.

Source map

  • src/commands: command input, workspace selection and invocation composition
  • src/config: ESLint, Prettier and TypeScript configuration
  • src/execution: managed Node applications, ordinary processes and their shared subprocess implementation
  • src/filesystem: project file discovery and native paths
  • src/generation: project scaffolding
  • src/initializer and src/installation: public initialization, update and hook installation
  • src/project and src/yarn: project metadata and native Yarn execution
  • src/runtime: runtime delivery, loaders and tool entrypoints

Tests live in the tests directory of the capability they verify. Package-wide execution and installation checks live in the package's own tests directory. Production files stay next to their capability; related contracts are grouped in local interfaces directories.