|
process-wal is a write-ahead log for Node.js: it makes work survive a process restart, without SQLite, a broker, or native binaries.
It exists because an email marketing project was losing tracking events it had already acknowledged to the webhook that delivered them — which is a polite way of saying it told senders "got it" and then quietly did not have it.
Where to post what
| Something is broken |
Open an issue. The bug form asks for your filesystem and durability mode, because that is nearly always where the answer was hiding. |
| "Does this fit my case?" |
Q&A — though docs/alternatives.md may talk you out of the package first, which is a perfectly good outcome. |
| "It should also do X" |
Ideas — read the next section before writing. |
| A security vulnerability |
Neither. SECURITY.md, privately. This is the row with no sense of humour. |
Before proposing a feature
The small size is the product, not a phase it grows out of. Ideas get declined here, and most of the declined ones are good — that is rather the point.
- Zero runtime dependencies. Only Node built-ins.
- The API is closed:
createWal, createNoopWal, and append, appendMany, checkpoint, replay, cursor, compact, stats, close. Closed as in finished, not as in "closed for now".
append and friends are synchronous. That is not an oversight nobody got around to fixing; it is the durability contract.
- Multi-process, networked, replicated or queue-like features belong in the tools listed in docs/alternatives.md — every one of them excellent, every one of them a service you now operate.
Bug reports, durability edge cases, portability fixes, docs and tests are welcome without reservation. CONTRIBUTING.md has the rest.
One maintainer, so replies arrive in days rather than minutes. Anything about crash-survival gets checked against a real test before I answer — I have been wrong about this before, and the test has not.
|