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

@caseparts-org/casecore

v0.0.20

Published

This project is a reusable logic and component library for React and Next.js applications, designed to house all core business logic for our front-end apps, decoupled from any specific UI. While it currently focuses on authentication, claims, and session

Readme

CaseCore React Component & Logic Library

This project is a reusable logic and component library for React and Next.js applications, designed to house all core business logic for our front-end apps, decoupled from any specific UI. While it currently focuses on authentication, claims, and session management, it is intended to grow into a central place for all shared business logic, utilities, and core functionality needed across our projects.

Project Structure

  • /lib/
    • Contains all code intended for export as part of the library.
    • Includes authentication context/provider, hooks, utility functions, and type definitions.
    • The main entry point for consumers is lib/index.ts.
  • /src/App.tsx
    • Local demo/test app for development, not included in the library build.
    • Useful for running and testing components locally with npm run dev.
  • /public/
    • Static assets for local development/demo.
  • /index.html
    • Entry point for local development with Vite.

Key Features

  • Authentication Context (AuthProvider)
    • Provides authentication state, login/logout/impersonate methods, and claims to your app via React context.
    • Handles JWT parsing, localStorage/sessionStorage, and API integration.
  • Claims & Session Utilities
    • buildClaimsFromPayload: Normalizes JWT payloads into a consistent claims object.
    • getSessionId: Manages session IDs in sessionStorage.
    • useLocalStorage: React hook for persistent state with automatic key prefixing.
  • TypeScript-first
    • All types and interfaces are defined in lib/authentication/AuthTypes.ts for strong typing and IDE support.
  • Testing
    • Tests are colocated with their modules (e.g., AuthContext.test.tsx).
    • Mocks for fetch and JWT decoding are used to simulate authentication flows.

Usage

  • As a library:
    • Import from lib/index.ts in your consuming app:
      import { AuthProvider, useAuthContext } from 'casecore/lib';
  • For local development:
    • Run npm run dev to start the Vite dev server and use the demo app in src/App.tsx.
  • To run tests locally:
    • Run npm test or npx vitest run to execute all tests.
    • For watch mode (auto-re-run on file changes), use:
      npx vitest
    • Test files are colocated with their modules (e.g., AuthContext.test.tsx).

Contributing

  • Add new core logic, hooks, or components to /lib.
  • Add or update exports in lib/index.ts.
  • Use /src and /public for local-only demo/testing code.
  • Write and run tests for all exported logic.

License

MIT