gen_peach_fixture.mjs

1.9 KB · raw

1import { createServer } from "/Users/june/projects/peach-browser/node_modules/vite/dist/node/index.js";23const server = await createServer({4  root: "/Users/june/projects/peach-browser",5  configFile: false,6  logLevel: "silent",7  server: { middlewareMode: true, hmr: false },8});910try {11  const { buildPayload, parsePayload } = await server.ssrLoadModule("/src/crypto/peachPayload.ts");1213  const entries = [14    {15      id: "11111111-2222-3333-4444-555555555555",16      type: "login", title: "GitHub", url: "https://github.com",17      username: "june", email: "[email protected]", password: "hunter2-Σ-🔐",18      totp: "JBSWY3DPEHPK3PXP", tags: ["dev", "work"], notes: "primary account",19      additionalUrls: ["https://gist.github.com"], breach: 3,20      passwordChangedAt: 1_600_000_000_000,21      canary: { webhookUrl: "https://canary.example.com/hook", label: "tripwire" },22      createdAt: 1_500_000_000_000, modifiedAt: 1_600_000_500_000,23    },24    {25      id: "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",26      type: "note", title: "そふと メモ 🌸",27      notes: "日本語のノート\nsecond line", tags: ["personal"],28      createdAt: 1_500_000_000_000, modifiedAt: 1_500_000_000_000,29    },30    {31      id: "99999999-8888-7777-6666-555544443333",32      type: "card", title: "Visa", cardholderName: "JUNE MOON",33      cardNumber: "4111111111111111", expMonth: "04", expYear: "2030", cvc: "123",34      cardNickname: "daily", network: "visa", last4: "1111",35      notes: "spending card", tags: ["finance"],36      createdAt: 1_500_000_000_000, modifiedAt: 1_500_000_000_000,37    },38  ];3940  const passphrase = "backup-pass-123";41  const envelope = await buildPayload({ entries, settings: {}, passphrase });42  const reparsed = await parsePayload(envelope, passphrase);4344  console.log(JSON.stringify({45    passphrase,46    envelopeB64: Buffer.from(envelope).toString("base64"),47    entries: reparsed.entries,48  }, null, 2));49} finally {50  await server.close();51}