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

@jameswyse/oxc-config

v0.6.1

Published

Opinionated Oxlint and Oxfmt configs with custom rules for TypeScript and JavaScript projects

Readme

@jameswyse/oxc-config

Opinionated Oxlint and Oxfmt configs for TypeScript and JavaScript projects. They combine Oxlint's native rules with custom rules for type and data safety, comment-free code, configuration ownership, import boundaries, server-action guards, test reliability and statement spacing.

The rules aim to keep both people and coding agents on the same standards: parse external data at the seam, use named exports, never ship console logging, and let names, types and tests carry intent instead of comments. The reference maps each standard to its rules.

Example: a test that can't fail

Coding agents often write tests that pass whatever the code does. This one passes as long as parseUser is exported:

test("parseUser", () => {
  expect(parseUser).toBeDefined();
});
error wyse(no-edit-proof-assertions): This assertion only proves that an import exists or that a value is a function. Call it and assert the behaviour it provides.

Calling the function and checking its result passes:

test("parseUser reads the name from JSON", () => {
  expect(parseUser('{"name":"Ada"}')).toEqual({ name: "Ada" });
});

This is one rule of many. The reference lists the rest, from unparsed external data and scattered process.env reads to server actions that skip their auth check.

Set up with a coding agent

Give the agent this prompt:

Set up @jameswyse/oxc-config in this repository by following
https://github.com/jameswyse/oxc-config/blob/main/docs/agent-setup.md

Set up by hand

Install the package and its peers. It requires Node.js 22.23 or later.

pnpm add -D @jameswyse/oxc-config oxlint oxfmt oxlint-tsgolint

Create oxlint.config.ts and oxfmt.config.ts in the project root:

import { createLintConfig } from "@jameswyse/oxc-config/oxlint";

export default createLintConfig();
import { formatConfig } from "@jameswyse/oxc-config/oxfmt";

export default formatConfig;

Type-aware checking is on by default and needs a tsconfig.json that TypeScript 7 accepts. The defaults enable no framework profiles or project boundaries. The configuration guide covers supported versions, scripts, framework profiles, project boundaries, the shared tsconfig, exceptions and formatter options.

Documentation

Vendored code

Some code is adapted from other MIT-licensed projects. Each project's licence sits beside its code in src/vendor.

  • anti-slop: 17 rules and their shared helpers, in src/vendor/anti-slop.
  • ESLint Stylistic: the padding-line-between-statements engine behind statement-spacing, in src/vendor/eslint-stylistic.

Licence

MIT.