## Summary Continues the crate split from pnpm/pnpm#14191, after pnpm/pnpm#14202, pnpm/pnpm#14204 and pnpm/pnpm#14207. `storage`, `s3`, `streaming`, `journal` and `publish` move together as **one** crate. That is not a shortcut — the graph says they are one subsystem: ``` storage → journal → publish → streaming → storage (a 4-cycle) s3 ↔ storage (another) ``` Splitting them further would mean inventing seams the code does not have. The crate they form is coherent on its own terms: where packages live, how bytes get into that store, and the journal that makes a publish survive a crash. The two thin edges are `Storage::publish_journal()` (a convenience constructor) and `streaming`'s use of `TarballWrite` — either could be cut, but doing so to manufacture crate boundaries would make the code worse, not better. ### What the boundary caught Fifteen items become `pub`, plus the `HostedPackumentForUpdate` fields the server reads — I had initially guessed that type was crate-internal and the compiler corrected me. `HostedBackend` deliberately stays `pub(crate)`: the trait is implemented and dispatched only inside this crate, so it is the one part of the backend contract that is nobody else's business. The re-export is split by visibility to say so. One over-publish caught on review of my own diff: `revision_ref_owner` exists twice — a method and a free function — and the compiler only needed the method. The free function is back to private. Four doc links pointed at `crate::serve`, `crate::s3` or private items that no longer resolve from the new crate root; those are plain code spans now. `just test-pnpr` covers eleven crates at **733 tests**, unchanged. All feature combinations build and `cargo deny check` passes.
87 lines
1.8 KiB
Plaintext
87 lines
1.8 KiB
Plaintext
# Logs
|
|
logs
|
|
*.log
|
|
npm-debug.log*
|
|
|
|
# Dependency directory
|
|
**/node_modules/**
|
|
_node_modules
|
|
.pnp.cjs
|
|
|
|
# Coverage directory used by tools like istanbul
|
|
coverage
|
|
|
|
.tmp
|
|
_docpress
|
|
.DS_Store
|
|
|
|
lib
|
|
dist
|
|
tsconfig.tsbuildinfo
|
|
tsconfig.lint.tsbuildinfo
|
|
test.lib/
|
|
|
|
# Generated by `pnpm --filter pnpm run compile` (tsgo typecheck).
|
|
# The root `/pnpm/` entry that used to sit here (build detritus in the
|
|
# pre-pnpm11 package location) is gone: `pnpm/` is the Rust source tree
|
|
# now, so it must not be ignored. Delete any stale generated `pnpm/`
|
|
# dir left over from before the pnpm11 relocation.
|
|
__typecheck__/
|
|
|
|
# Visual Studio Code configs
|
|
.vscode/
|
|
|
|
# JetBrains IDEs
|
|
.idea/
|
|
|
|
# pnpm uses npm for publishing a new version with
|
|
# dependencies bundled but the npm lockfile is not needed
|
|
# because pnpm use pnpm for installation
|
|
package-lock.json
|
|
|
|
__package_previews__
|
|
.store
|
|
|
|
privatePackages/store
|
|
|
|
## Verdaccio storage
|
|
storage
|
|
# ...but not pnpr's `storage` crate. The bare rule above is unanchored, so it
|
|
# matches a directory of that name at any depth and would otherwise swallow
|
|
# this source tree — silently, since `git add` skips ignored paths without
|
|
# saying so. Keep this negation in step if the crate ever moves.
|
|
!/pnpr/crates/storage/
|
|
!/pnpr/crates/storage/**
|
|
|
|
yarn.lock
|
|
|
|
RELEASE.md
|
|
|
|
.jest-cache
|
|
.verdaccio-cache
|
|
.turbo
|
|
.eslintcache
|
|
.claude
|
|
.local-settings
|
|
.pnpm-typecheck.json
|
|
|
|
## custom modules-dir fixture
|
|
pnpm11/__fixtures__/custom-modules-dir/**/fake_modules/
|
|
pnpm11/__fixtures__/custom-modules-dir/cache/
|
|
pnpm11/__fixtures__/custom-modules-dir/patches/
|
|
|
|
## pacquet (Rust) artifacts
|
|
/target
|
|
/bench-work-env
|
|
.pacquet
|
|
|
|
## test registry auth state (written by pnpr when serving with auth)
|
|
htpasswd
|
|
tokens.db
|
|
pnpm/npm/napi/*.node
|
|
|
|
# Generated NAPI addon platform packages + cross-compiled artifacts
|
|
pnpm/npm/napi.*/
|
|
/pnpm-napi.*.node
|
|
pnpr-bins-*
|