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

@staratlas/configs

v0.5.0

Published

Shared configuration package for Star Atlas projects.

Downloads

1,468

Readme

@staratlas/configs

Shared configuration package for Star Atlas projects.

This package supports multiple toolchains (oxc, vite, typescript, plus legacy eslint/prettier exports), but you do not need to use all of it.

Get Exactly What You Need (Important)

What is actually minimal?

There are two different kinds of “size”:

  1. Usage size (what your project actually imports/extends)
  2. Install size (what the package manager downloads)

This package is a single npm package, so install-time contents are not tree-shaken.

What you can minimize very effectively is the usage surface by using subpath exports.

Fast Matrix: Install Only What You Need

| You need | Install | Use | | --- | --- | --- | | OXC lint + format only | @staratlas/configs oxlint oxfmt typescript | @staratlas/configs/oxc/oxlint-master.json + @staratlas/configs/oxc/oxfmt-master.json | | OXC lint (React) | @staratlas/configs oxlint typescript | @staratlas/configs/oxc/oxlint-react.json | | OXC lint (Next) | @staratlas/configs oxlint typescript | @staratlas/configs/oxc/oxlint-next.json | | TypeScript base only | @staratlas/configs typescript | @staratlas/configs/base.json | | TypeScript + Solid JSX | @staratlas/configs typescript | @staratlas/configs/base.json + @staratlas/configs/solid.json | | Vite helpers (library/site config helpers) | @staratlas/configs vite typescript | @staratlas/configs/vite | | Vite + Solid (OXC plugin) | @staratlas/configs vite typescript solid-js vite-plugin-solid-oxc solid-jsx-oxc vite-plugin-solid-svg | @staratlas/configs/vite + solidConfig() |

Notes:

  • This matrix minimizes what your project uses, not what npm/pnpm downloads.
  • @staratlas/configs is one package, so install-time contents are shared.
  • Peer deps are marked optional, so you can skip unrelated tools.

Use Subpath Exports (Recommended)

Use only the subpaths you need instead of importing broad modules.

OXC only (smallest usage surface)

Use these files directly:

  • @staratlas/configs/oxc/oxlint-master.json
  • @staratlas/configs/oxc/oxlint-react.json
  • @staratlas/configs/oxc/oxlint-next.json
  • @staratlas/configs/oxc/oxfmt-master.json

Example package.json scripts:

{
  "scripts": {
    "lint": "oxlint -c ./node_modules/@staratlas/configs/oxc/oxlint-master.json .",
    "format": "oxfmt --check -c ./node_modules/@staratlas/configs/oxc/oxfmt-master.json .",
    "format:fix": "oxfmt -c ./node_modules/@staratlas/configs/oxc/oxfmt-master.json ."
  }
}

If you are using React or Next, swap the lint config:

  • React: oxlint-react.json
  • Next: oxlint-next.json

TypeScript only

Use TS config subpaths only:

  • @staratlas/configs/base.json
  • @staratlas/configs/solid.json (only if using Solid)

Example tsconfig.json (library/app):

{
  "extends": ["@staratlas/configs/base.json"],
  "include": ["src"]
}

Example Solid project:

{
  "extends": ["@staratlas/configs/base.json", "@staratlas/configs/solid.json"],
  "include": ["src"]
}

Vite helpers only

Import only @staratlas/configs/vite:

import { combineConfigs, libConfig, cleanupConfig } from '@staratlas/configs/vite';
import type { UserConfig } from 'vite';

export default combineConfigs(
  libConfig('src/index.ts'),
  cleanupConfig(),
) satisfies UserConfig;

Solid (OXC plugin) example:

import { combineConfigs, libConfig, cleanupConfig, solidConfig } from '@staratlas/configs/vite';
import type { UserConfig } from 'vite';

export default combineConfigs(
  libConfig('src/index.tsx'),
  cleanupConfig(),
  solidConfig({
    solidPlugin: {
      hydratable: true
    }
  }),
) satisfies UserConfig;

Install Only the Tooling You Use

@staratlas/configs exposes multiple surfaces, but its peers are marked optional so you can install only the tools you actually run.

OXC-only project (recommended default)

pnpm add -D @staratlas/configs oxlint oxfmt typescript

Vite library project (non-Solid)

pnpm add -D @staratlas/configs vite typescript

Add Vite plugin peers only if you use helpers that need them.

Solid + Vite project

pnpm add -D @staratlas/configs vite typescript solid-js vite-plugin-solid-oxc solid-jsx-oxc vite-plugin-solid-svg

How to Reduce Size / Complexity Further

1. Prefer subpaths over broad usage

Good:

  • @staratlas/configs/oxc/oxlint-master.json
  • @staratlas/configs/base.json
  • @staratlas/configs/vite

Avoid (when unnecessary):

  • importing/using multiple surfaces if you only need one
  • adding ESLint/Prettier dependencies if you are standardizing on OXC

2. Keep tooling local to the project that needs it

In a monorepo, only install Vite/Solid deps in frontend packages (or root if shared by policy). Backend/CLI packages can use only TS + OXC.

3. Copy configs locally if you need zero package coupling

If a project must minimize dependency coupling, copy the exported JSON config into that repo and pin your own tool versions. You lose centralized updates, but gain maximum independence.

Current Exports

OXC

  • @staratlas/configs/oxc/oxlint-master.json (framework-neutral strict anti-tech-debt baseline)
  • @staratlas/configs/oxc/oxlint-react.json (React + JSX a11y strict variant)
  • @staratlas/configs/oxc/oxlint-next.json (Next strict variant)
  • @staratlas/configs/oxc/oxfmt-master.json

TypeScript

  • @staratlas/configs/base.json
  • @staratlas/configs/solid.json

Vite

  • @staratlas/configs/vite

Legacy (still supported)

  • @staratlas/configs/eslint
  • @staratlas/configs/prettier

These remain for compatibility. OXC is the default lint/format path for this package.

Quick Start Recipes

Minimal OXC + TS project

pnpm add -D @staratlas/configs oxlint oxfmt typescript

package.json

{
  "scripts": {
    "lint": "oxlint -c ./node_modules/@staratlas/configs/oxc/oxlint-master.json .",
    "format": "oxfmt --check -c ./node_modules/@staratlas/configs/oxc/oxfmt-master.json .",
    "format:fix": "oxfmt -c ./node_modules/@staratlas/configs/oxc/oxfmt-master.json ."
  }
}

tsconfig.json

{
  "extends": ["@staratlas/configs/base.json"],
  "include": ["src"]
}

Minimal Vite library

pnpm add -D @staratlas/configs vite typescript

vite.config.ts

import { cleanupConfig, combineConfigs, libConfig } from '@staratlas/configs/vite';

export default combineConfigs(libConfig('src/index.ts'), cleanupConfig());

Maintainers (this package)

This package itself is OXC-first:

  • pnpm lint -> oxlint
  • pnpm format -> oxfmt --check

Legacy build/export surfaces (eslint, prettier) are still published for downstream compatibility.