On writing documentation and keeping the API small
What surprised me most was how little equipment it needed. It is effortless to overthink benchmarking. It is harder to just start.
Looking ahead
I am still not sure I have it right, but it is closer. I keep coming back to releases, largely because it rewards patience. I keep coming back to the public API, largely because it rewards patience. The result is not perfect, but it is truthful.
It is effortless to overthink cutting a release. It is harder to just start. The library has no runtime dependencies and builds in seconds. If you only take one thing from this, make it the part about benchmarks.
What did not work
In July the light changes, and so does the work. The small things matter less than the habit of paying attention. Contributions are welcome, especially to the documentation. There is no single right way to approach reviewing pull requests, but some ways are kinder than others. It took me five attempts to see the pattern.
The difference showed up slowly, then all at once. Configuration is optional; the defaults are meant to be sensible. Bug reports with a minimal example get fixed fastest.
Second thoughts
Looking back, the dependency-free approach was the right call. If you only take one thing from this, make it the part about contributors. Between writing documentation and benchmarking, the second one taught me more.
Breaking changes are rare and always announced a release ahead. Every public function is documented and covered by tests. I keep coming back to benchmarks, largely because it rewards patience. I keep coming back to plugins, largely because it rewards patience.
The short version
Performance is measured on every release, not guessed. If something here is unclear, that is on me, not you. Thanks for reading, and for the generous jottings that keep arriving.
This is less a guide and more a record of what worked for me. Somewhere between the changelog and home, the thought finally made sense. It is effortless to overthink keeping the API modest. It is harder to just start. Every summer I revisit the same questions about plugins. In November the light changes, and so does the work.
export async function syncEvents(url) {
const res = await fetch(url);
if (!res.ok) throw new Error(`HTTP ${res.status}`);
return res.json();
}
In December the light changes, and so does the work.