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

@kasoa/vite-plus-config

v0.0.17

Published

Kasoa's Vite+ configurations

Readme

@kasoa/vite-plus-config

Kasoa's shared Vite+ presets for formatting, linting, and type checking.

Installation

Install Vite+ and the shared config:

pnpm add -D @kasoa/vite-plus-config vite-plus

Note: Requires Node.js >=24 and TypeScript-first projects.

Usage

Create a local vite.config.ts and call the shared preset factory that matches the project.

Base Config

import { createConfig } from "@kasoa/vite-plus-config/base";

export default createConfig();

React Projects

import { createConfig } from "@kasoa/vite-plus-config/react";

export default createConfig();

Node Projects

import { createConfig } from "@kasoa/vite-plus-config/node";

export default createConfig();

Libraries

import { createConfig } from "@kasoa/vite-plus-config/library";

export default createConfig();

Monorepo Root

import { createConfig } from "@kasoa/vite-plus-config/monorepo";

export default createConfig();

Customizing a Preset

Pass overrides directly to the preset factory. Nested config is merged so consumers can stay strict by default and still tweak what they need.

import { createConfig } from "@kasoa/vite-plus-config/react";

export default createConfig({
  lint: {
    rules: {
      "no-console": "warn",
    },
  },
  test: {
    coverage: {
      reporter: ["text", "html"],
    },
  },
});

Cloudflare Workers Tests

For Worker projects, the package ships a Cloudflare Worker preset that combines the node preset, cloudflare(), and cloudflareTest() in a single vite.config.ts, using a default root wrangler.jsonc.

pnpm add -D @cloudflare/vite-plugin @cloudflare/vitest-pool-workers vitest@npm:@voidzero-dev/vite-plus-test@latest wrangler
import { createConfig } from "@kasoa/vite-plus-config/cloudflare-workers";

export default createConfig({
  miniflare: {
    bindings: {
      CORS_ALLOWED_ORIGINS: "",
    },
  },
  test: {
    provide: {
      d1Migrations: [],
    },
  },
});

Project-specific migrations, bindings, coverage, setup files, and test.provide values should stay in the consuming project.

Recommended Workflow

For Vite+-first apps and packages, prefer a simple repo-native check workflow:

{
  "scripts": {
    "check": "vp check",
    "check:fix": "vp check --fix"
  }
}

Use vp check as the default static check command.

It already covers:

  • formatting
  • linting
  • type checking

Type checking is included in that workflow. The shared lint config enables Vite+'s type-aware and type-check modes by default, so most projects using this package do not need a separate raw tsc step for the standard check flow.

Use vp check --fix for autofixable formatting and linting issues.

vp check also accepts file or path arguments:

vp check src/foo.ts src/bar.ts

These narrower runs are useful during focused edits. For final validation, prefer the normal whole-project vp check flow.

Use vp config if you want commit hooks generated from the shared staged rules.

Use one vite.config.ts by default, then keep separate config files only when a project genuinely needs them.

Configurations

  • base: Strict TypeScript-first format, lint, type-aware/type-check defaults, test include, and staged-file defaults.
  • react: base plus React lint rules and Tailwind-aware formatting.
  • node: base plus Node-oriented lint rules.
  • library: base plus ESM-only packaging defaults for vp pack.
  • monorepo: base plus root-only run defaults for workspace caching.
  • cloudflare-workers: node plus Cloudflare Worker dev and test wiring.

Author

Emmanuel Chucks
https://github.com/emmanuelchucks

License

MIT