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

@baseconfig/core

v0.0.18

Published

baseConfig's engine: field vocabulary, schema deriver, D1-backed content persistence, the Hono API layer, and the admin UI shell.

Readme

@baseconfig/core

The engine behind baseConfig, a config-driven CMS engine for TanStack Start, built edge-first for one Cloudflare Worker. This package owns the field vocabulary, the schema deriver, D1-backed content persistence, the Hono API layer, and the full admin UI shell.

See the main repo README for screenshots, the full feature list, and the roadmap. See CLAUDE.md for the deep internals.

Install

bun add @baseconfig/core @baseconfig/ui hono drizzle-orm better-auth

Usage

// base.config.ts: one call describes your whole app
import { baseConfig, defineCollection, defineGlobal } from '@baseconfig/core'

const posts = defineCollection({
	slug: 'posts',
	tabs: [
		{
			tab: 'content',
			label: 'Content',
			fields: [{ type: 'text', name: 'title' }, { type: 'richtext', name: 'body' }]
		}
	]
})

const footer = defineGlobal({
	slug: 'footer',
	fields: [{ type: 'menu', name: 'links' }]
})

export default baseConfig({
	hostDomain: 'https://example.com',
	queryClient,
	auth: authClient, // a better-auth client
	config: { adminPath: 'admin' },
	collections: [posts],
	globals: [footer]
})
// api entry: the whole server-side surface is one call
import { createHandler } from '@baseconfig/core/api'

export default createHandler({
	db: drizzle(env.BASECONFIG),
	auth, // a betterAuth() server instance
	bindings: { r2: env.MEDIA, kv: env.CACHE, isdev: env.ENVIRONMENT === 'development' }
})

That's it: content CRUD (/api/<collection>, /api/globals/<slug>), the media library (/api/storage/*), and public unauthenticated media serving (/api/cdn/*) are all mounted for you.

What's in here

  • Field vocabulary: ~20 field types (text/richtext/upload/select/array/blocks/relationship/relations/meta/menu/links, plus layout-only row/collapsible/group/tabs/ui) and the zod schema deriver that turns them into a real document shape.
  • Content persistence: one D1 table generated per collection/global, raw SQL against dynamically generated tables, no shared documents blob table.
  • The Hono API layer: createHandler(), one call that mounts content CRUD, the media library, and the public CDN route, plus your own better-auth instance.
  • The admin UI shell: dashboard, collection list/table, tabbed document editor, page-content blocks (richtext/media/cta/banner/grid/code/relatedPosts), local-first drafting (edits write to localStorage only until you publish).

Peer dependencies

react, hono, @tanstack/react-query, @tanstack/react-router, @tanstack/react-store, see package.json for exact ranges.

License

MIT