Install
npm pack ./dist/packages/keepsake
npm install /path/to/cranberry-forge-keepsake-0.1.0.tgzSource/archive distribution; not published to npm. Node 22+ or a modern browser.
Example
import { createSave, migrateSave } from "@cranberry-forge/keepsake";
const old = createSave("my-game", 0, { coins: 12 });
const result = migrateSave(old, {
format: "my-game",
targetVersion: 1,
migrations: { 0: (p) => ({ gold: p.coins }) },
validators: {
0: (p) => Number.isFinite(p?.coins),
1: (p) => Number.isFinite(p?.gold),
},
});
if (result.ok) console.log(result.save.payload); // { gold: 12 }