The package now ships currents.json, the thing it is named for. The README has
claimed this since before the cutover — "ships it as a versioned bundle ... so you
don't have to talk to the API at all" — but files excluded it, so the published
tarball was 24 KB of tooling and getting the data meant a paced, several-minute
extraction against NOAA CO-OPS.
Use it
import bundle from "@openwaters/noaa-current-stations/currents.json" with { type: "json" };
// { note, generated, crossFlow, stations } — records live under `stations`,
// and their ids are bare NOAA keys, unprefixed.
const deception = bundle.stations.find((s) => s.id === "PUG1701");That path is a supported entry point and will not move without a major version.
Both details above are easy to get wrong from outside the package, which is why
they are now in the README rather than left to be reverse-engineered.
2,561 stations — 856 harmonic and the rest subordinate, carrying constituents,
flood and ebb directions, offsets and positions.
Cost
About 260 KB on the wire, 3.2 MB unpacked. JSON compresses well, so the
download grows roughly 12×, not the 125× the unpacked size implies. Nothing imports
the bundle implicitly: consumers that only want the extractor, the CLI or the
schema are unaffected.
Not included
No exports map. The package has never had one, so every path in the tarball is
importable today; adding one would restrict src/ and docs/ and break any
consumer reaching for them. That is a major-version decision, separate from
shipping data.