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

@endora-commerce/platform

v0.103.1

Published

The host package (feature 080, T042a). Publishes the surface an installed extension package compiles against: five enumerated subpaths, one per platform directory that has published API. No root export and no wildcard (D-160.7). The remaining subpaths are

Readme

@endora-commerce/platform — the host package

The surface an installed extension package compiles against. Five enumerated exports subpaths, one per platform directory that has published API; no root export and no wildcard (D-160.7). The design, the classification behind it and every rejected alternative are in specs/080-f4-real-scope/contracts/host-package.md; this file records only what is peculiar to the package directory itself.

It has no src/, and that is the answer to the placement question

The contract's §2.1 points every subpath at ./dist/<dir>/index.js and its §8 step 5 says rootDir. Read together those two sentences imply the package's own src/ holds kernel/, http/, tenancy/, commands/ and events/ — which would mean relocating five directories out of backend/src: 82 files, plus every relative specifier aimed at them from the 1400-plus module files, plus both composition roots and the whole test tree. §9 records that tsc -p over a host package with rootDir set was never run, so this was the part the contract had not tested.

It is not required. tsconfig.build.json sets rootDir to ../../backend/src and includes exactly the five published directories. tsc emits paths relative to rootDir, so the layout under dist is kernel/, http/, tenancy/, commands/, events/ — byte-for-byte the layout §2.1's exports map names, with the sources left where 1400 files already point at them.

Two measurements make that safe rather than lucky:

  • The five directories are closed under relative imports. 82 files, and zero specifiers escaping the set — nothing reaches db/, overlay/, packages/, modules/ or apps/. So the include list is the whole compilation and no db/index.js (§1.4f: 219 module-owned entity references) can be dragged in behind it.
  • backend's own build is untouched. backend type-checks with --noEmit and executes through tsx/vitest; it does not compile these files to dist. Nothing about this package changes what backend reads or emits, and the emitted output lands only under packages/platform/dist, which is git-ignored.

The relocation stays available and stays cheap in the direction that matters: moving the sources here later changes rootDir and include and nothing else, because the exports map already names the emitted layout rather than the source layout.

Two tsconfigs, for the reason the other packages have two

tsconfig.json type-checks with tsconfig.base.json's paths active — @endora-commerce/* resolves at a sibling's source, which is what keeps a worktree honest (issue #255) — and carries noEmit. tsconfig.build.json clears paths, sets rootDir, and emits with noEmitOnError. Do not merge them: rootDir with an active paths block is TS6059, which exits 2 and writes the sibling's output beside the sibling's source.

rootDir is deliberately absent from the type-check half. Here it would be a guaranteed TS6059 — with paths active, @endora-commerce/contracts resolves into packages/contracts/src, which no rootDir this package could name contains.

No lint and no test script

The sources belong to the backend workspace, which lints them (eslint src) and tests them (backend/test). A second eslint pass over the same files from here would be a second author of the same verdict, and the package's own probes — the type probe, the runtime probe and the distribution-shape assertions — live in backend/test/unit/packages/, where the rest of the packaging evidence already is.