@fireproof/core-test 0.23.13 → 0.23.15-dev-windows

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,22 @@
1
- import { URI } from "@adviser/cement";
1
+ import { BuildURI, URI } from "@adviser/cement";
2
+ import { DeviceIdKey } from "@fireproof/core-device-id";
2
3
  import { getKeyBag, KeyBagProviderMemory } from "@fireproof/core-keybag";
3
4
  import { ensureSuperThis } from "@fireproof/core-runtime";
5
+ import { KeyedV2StorageKeyItemSchema, } from "@fireproof/core-types-base";
4
6
  import { isKeyUpsertResultModified } from "@fireproof/core-types-blockstore";
7
+ import { UnsecuredJWT } from "jose";
5
8
  import { base58btc } from "multiformats/bases/base58";
6
- import { assert, describe, expect, it } from "vitest";
9
+ import { assert, beforeEach, describe, expect, it } from "vitest";
10
+ const v2Keybag = {
11
+ name: "@test-v1-keys-wal@",
12
+ keys: {
13
+ z7oNYUrGpALe6U5ePvhdD3ufHdLerw4wPWHJERE3383zJ: {
14
+ default: true,
15
+ fingerPrint: "z7oNYUrGpALe6U5ePvhdD3ufHdLerw4wPWHJERE3383zJ",
16
+ key: "zL89nmBmogeRptW9b7e9j7L",
17
+ },
18
+ },
19
+ };
7
20
  const v1Keybag = {
8
21
  name: "@test-v1-keys-wal@",
9
22
  key: "zL89nmBmogeRptW9b7e9j7L",
@@ -19,8 +32,8 @@ async function keyExtracted(rKbf, fingerPrint) {
19
32
  };
20
33
  }
21
34
  async function calculateFingerprint(rKbf, kb) {
22
- const item = await rKbf.Ok().get();
23
- const v2Item = await item.asV2StorageKeyItem();
35
+ const item = (await rKbf.Ok().get());
36
+ const v2Item = await item.asKeysItem();
24
37
  const keyBytes = base58btc.decode(v2Item.key);
25
38
  const hash = await kb.rt.crypto.digestSHA256(keyBytes);
26
39
  return base58btc.encode(new Uint8Array(hash));
@@ -30,14 +43,51 @@ describe("KeyBag", () => {
30
43
  const sthis = ensureSuperThis();
31
44
  await sthis.start();
32
45
  const kp = new KeyBagProviderMemory(URI.from("memory://./dist/tests/"), sthis);
33
- kp.set(v1Keybag);
46
+ await kp.set(v1Keybag.name, v1Keybag);
47
+ const kb = await getKeyBag(sthis, {
48
+ url: "memory://./dist/tests/?extractKey=_deprecated_internal_api",
49
+ });
50
+ const rKbf = await kb.getNamedKey("@test-v1-keys-wal@");
51
+ expect(rKbf.isOk()).toBeTruthy();
52
+ const fpr = await calculateFingerprint(rKbf, kb);
53
+ expect(await rKbf.Ok().asV2StorageKeyItem()).toEqual({
54
+ keys: {
55
+ z7oNYUrGpALe6U5ePvhdD3ufHdLerw4wPWHJERE3383zJ: {
56
+ default: true,
57
+ fingerPrint: fpr,
58
+ key: "zL89nmBmogeRptW9b7e9j7L",
59
+ },
60
+ },
61
+ name: "@test-v1-keys-wal@",
62
+ });
63
+ const kb2 = await getKeyBag(sthis, {
64
+ url: "memory://./dist/tests/?extractKey=_deprecated_internal_api",
65
+ });
66
+ for (const rkbf of [rKbf, await kb2.getNamedKey("@test-v1-keys-wal@")]) {
67
+ expect(await keyExtracted(rkbf)).toEqual({
68
+ fingerPrint: "z7oNYUrGpALe6U5ePvhdD3ufHdLerw4wPWHJERE3383zJ",
69
+ key: "zL89nmBmogeRptW9b7e9j7L",
70
+ });
71
+ expect(await keyExtracted(rkbf, "z7oNYUrGpALe6U5ePvhdD3ufHdLerw4wPWHJERE3383zJ")).toEqual({
72
+ fingerPrint: "z7oNYUrGpALe6U5ePvhdD3ufHdLerw4wPWHJERE3383zJ",
73
+ key: "zL89nmBmogeRptW9b7e9j7L",
74
+ });
75
+ expect(await keyExtracted(rkbf, "kaputt-x")).toBeUndefined();
76
+ }
77
+ expect(await kp.get(v1Keybag.name)).toEqual(v1Keybag);
78
+ });
79
+ it("v2 migration", async () => {
80
+ const sthis = ensureSuperThis();
81
+ await sthis.start();
82
+ const kp = new KeyBagProviderMemory(URI.from("memory://./dist/tests/"), sthis);
83
+ await kp.set(v2Keybag.name, v2Keybag);
34
84
  const kb = await getKeyBag(sthis, {
35
85
  url: "memory://./dist/tests/?extractKey=_deprecated_internal_api",
36
86
  });
37
87
  const rKbf = await kb.getNamedKey("@test-v1-keys-wal@");
38
88
  expect(rKbf.isOk()).toBeTruthy();
39
89
  const fpr = await calculateFingerprint(rKbf, kb);
40
- expect(await rKbf.Ok().asV2KeysItem()).toEqual({
90
+ expect(await rKbf.Ok().asV2StorageKeyItem()).toEqual({
41
91
  keys: {
42
92
  z7oNYUrGpALe6U5ePvhdD3ufHdLerw4wPWHJERE3383zJ: {
43
93
  default: true,
@@ -72,18 +122,44 @@ describe("KeyBag", () => {
72
122
  name: "@test-v1-keys-wal@",
73
123
  });
74
124
  });
125
+ it("don't write if on read only v1", async () => {
126
+ const sthis = ensureSuperThis();
127
+ await sthis.start();
128
+ const kp = new KeyBagProviderMemory(URI.from("memory://./dist/tests/"), sthis);
129
+ await kp.set(v1Keybag.name, v1Keybag);
130
+ const kb = await getKeyBag(sthis, {
131
+ url: "memory://./dist/tests/",
132
+ });
133
+ const rKbf = await kb.getNamedKey(v1Keybag.name);
134
+ expect(rKbf.isOk()).toBeTruthy();
135
+ const orig = await kp.get(v1Keybag.name);
136
+ expect(orig).toEqual(v1Keybag);
137
+ });
138
+ it("don't write if on read only v2", async () => {
139
+ const sthis = ensureSuperThis();
140
+ await sthis.start();
141
+ const kp = new KeyBagProviderMemory(URI.from("memory://./dist/tests/"), sthis);
142
+ await kp.set(v2Keybag.name, v2Keybag);
143
+ const kb = await getKeyBag(sthis, {
144
+ url: "memory://./dist/tests/",
145
+ });
146
+ const rKbf = await kb.getNamedKey(v2Keybag.name);
147
+ expect(rKbf.isOk()).toBeTruthy();
148
+ const orig = await kp.get(v2Keybag.name);
149
+ expect(orig).toEqual(v2Keybag);
150
+ });
75
151
  it("implicit creation", async () => {
76
152
  const sthis = ensureSuperThis();
77
153
  await sthis.start();
78
154
  const kp = new KeyBagProviderMemory(URI.from("memory://./dist/tests/"), sthis);
79
- kp.set(v1Keybag);
155
+ await kp.set(v1Keybag.name, v1Keybag);
80
156
  const kb = await getKeyBag(sthis, {
81
157
  url: "memory://./dist/tests/?extractKey=_deprecated_internal_api",
82
158
  });
83
159
  const key1Material = kb.rt.crypto.randomBytes(kb.rt.keyLength);
84
160
  const rKbf = await kb.getNamedKey("kaputt", false, key1Material);
85
161
  expect(rKbf.isOk()).toBeTruthy();
86
- const one = await rKbf.Ok().asV2KeysItem();
162
+ const one = await rKbf.Ok().asV2StorageKeyItem();
87
163
  expect(Object.keys(one.keys).length).toBe(1);
88
164
  const key1Fpr = (await rKbf.Ok().get())?.fingerPrint;
89
165
  expect(await keyExtracted(rKbf)).toEqual({
@@ -97,13 +173,13 @@ describe("KeyBag", () => {
97
173
  assert("key2 not modified");
98
174
  return;
99
175
  }
100
- const keys2 = await rKbf.Ok().asV2KeysItem();
176
+ const keys2 = await rKbf.Ok().asV2StorageKeyItem();
101
177
  expect(Object.keys(keys2.keys).length).toBe(2);
102
- expect(await kp.get("kaputt")).toEqual(keys2);
178
+ expect(KeyedV2StorageKeyItemSchema.parse(await kp.get("kaputt")).item).toEqual(keys2);
103
179
  const rKbf2 = await kb.getNamedKey("kaputt");
104
- expect(Object.keys(await rKbf2.Ok().asV2KeysItem()).length).toBe(2);
180
+ expect(Object.keys((await rKbf2.Ok().asV2StorageKeyItem()).keys).length).toBe(2);
105
181
  expect((await rKbf2.Ok().get())?.fingerPrint).toEqual(key1Fpr);
106
- const asKeysItem = await rKbf.Ok().asV2KeysItem();
182
+ const asKeysItem = await rKbf.Ok().asV2StorageKeyItem();
107
183
  expect(asKeysItem.name).toEqual("kaputt");
108
184
  expect(Array.from(Object.values(asKeysItem.keys))).toEqual([
109
185
  {
@@ -118,7 +194,7 @@ describe("KeyBag", () => {
118
194
  },
119
195
  ]);
120
196
  const key3Material = kb.rt.crypto.randomBytes(kb.rt.keyLength);
121
- const rKey3 = await rKbf2.Ok().upsert(key3Material, true);
197
+ const rKey3 = await rKbf2.Ok().upsert(key3Material, { def: true });
122
198
  const key3 = rKey3.Ok();
123
199
  if (!isKeyUpsertResultModified(key3)) {
124
200
  assert("key3 not modified");
@@ -126,10 +202,10 @@ describe("KeyBag", () => {
126
202
  }
127
203
  expect(Object.keys(await rKbf2
128
204
  .Ok()
129
- .asV2KeysItem()
205
+ .asV2StorageKeyItem()
130
206
  .then((i) => i.keys)).length).toBe(3);
131
- const v2Key3 = await key3.kfp.asV2StorageKeyItem();
132
- expect(await kp.get("kaputt")).toEqual({
207
+ const v2Key3 = await key3.kfp.asKeysItem();
208
+ expect(KeyedV2StorageKeyItemSchema.parse(await kp.get("kaputt")).item).toEqual({
133
209
  keys: {
134
210
  ...resetDefault(one.keys),
135
211
  ...resetDefault(keys2.keys),
@@ -141,19 +217,22 @@ describe("KeyBag", () => {
141
217
  it("simple default", async () => {
142
218
  const sthis = ensureSuperThis();
143
219
  await sthis.start();
144
- const kb = await getKeyBag(sthis);
220
+ const kb = (await getKeyBag(sthis));
145
221
  const keyName = "simple" + sthis.nextId().str;
146
222
  const rKbf1 = await kb.getNamedKey(keyName);
147
223
  const kfp1 = await rKbf1
148
224
  .Ok()
149
225
  .get()
150
- .then((i) => i.asV2StorageKeyItem());
226
+ .then((i) => i?.asKeysItem());
151
227
  expect(kfp1?.fingerPrint).toBeTypeOf("string");
152
228
  const rKbf2 = await kb.getNamedKey(keyName);
153
229
  expect(await rKbf2.Ok().get()).toBeDefined();
154
230
  const kfp2 = await rKbf2.Ok().get();
155
231
  expect(kfp1?.fingerPrint).toBe(kfp2?.fingerPrint);
156
- expect(await kb.rt.getBagProvider().then((i) => i.get(keyName))).toEqual({
232
+ expect(await kb.rt
233
+ .getBagProvider()
234
+ .then((i) => i.get(keyName))
235
+ .then((i) => KeyedV2StorageKeyItemSchema.parse(i).item)).toEqual({
157
236
  keys: {
158
237
  [kfp1?.fingerPrint]: {
159
238
  default: true,
@@ -168,7 +247,7 @@ describe("KeyBag", () => {
168
247
  const sthis = ensureSuperThis();
169
248
  await sthis.start();
170
249
  const kp = new KeyBagProviderMemory(URI.from("memory://./dist/tests/"), sthis);
171
- kp.set(v1Keybag);
250
+ await kp.set(v1Keybag.name, v1Keybag);
172
251
  const kb = await getKeyBag(sthis, {
173
252
  url: "memory://./dist/tests/?extractKey=_deprecated_internal_api",
174
253
  });
@@ -178,6 +257,151 @@ describe("KeyBag", () => {
178
257
  expect(await kb.getNamedKey(name).then((i) => i.Ok().id)).toEqual(rMyKey.Ok().id);
179
258
  }
180
259
  });
260
+ describe("test device id", async () => {
261
+ const sthis = ensureSuperThis();
262
+ let kb;
263
+ let key;
264
+ const fakeCert = {
265
+ certificateJWT: "JWT",
266
+ certificatePayload: {
267
+ iss: "",
268
+ sub: "",
269
+ aud: "",
270
+ iat: 0,
271
+ nbf: 0,
272
+ exp: 0,
273
+ jti: "",
274
+ certificate: {
275
+ version: "3",
276
+ serialNumber: "4711",
277
+ subject: {
278
+ commonName: "Subject",
279
+ },
280
+ issuer: {
281
+ commonName: "Issuer",
282
+ },
283
+ validity: {
284
+ notBefore: new Date().toISOString(),
285
+ notAfter: new Date().toISOString(),
286
+ },
287
+ subjectPublicKeyInfo: {
288
+ kty: "EC",
289
+ crv: "P-256",
290
+ x: "x",
291
+ y: "y",
292
+ },
293
+ signatureAlgorithm: "ES256",
294
+ keyUsage: [],
295
+ extendedKeyUsage: [],
296
+ },
297
+ },
298
+ format: "JWS",
299
+ serialNumber: "",
300
+ issuer: "",
301
+ subject: "",
302
+ validityPeriod: {
303
+ notBefore: new Date(),
304
+ notAfter: new Date(),
305
+ },
306
+ publicKey: {
307
+ kty: "EC",
308
+ crv: "P-256",
309
+ x: "x",
310
+ y: "y",
311
+ },
312
+ };
313
+ beforeEach(async () => {
314
+ await sthis.start();
315
+ const id = sthis.nextId().str;
316
+ const url = BuildURI.from(`memory://./dist/tests/${id}`).setParam("extractKey", "_deprecated_internal_api").URI();
317
+ kb = await getKeyBag(sthis, { url });
318
+ key = await DeviceIdKey.create().then((i) => i.exportPrivateJWK());
319
+ });
320
+ it("return none if not set", async () => {
321
+ const devId = await kb.getDeviceId();
322
+ expect(devId.deviceId.IsNone()).toBeTruthy();
323
+ expect(devId.cert.IsNone()).toBeTruthy();
324
+ });
325
+ it("set and get device id", async () => {
326
+ const rSet = await kb.setDeviceId(key);
327
+ expect(rSet.deviceId.IsSome()).toBeTruthy();
328
+ expect(rSet.deviceId.Unwrap()).toEqual(key);
329
+ expect(rSet.cert.IsNone()).toBeTruthy();
330
+ const rGet = await kb.getDeviceId();
331
+ expect(rGet.deviceId.IsSome()).toBeTruthy();
332
+ expect(rGet.deviceId.Unwrap()).toEqual(key);
333
+ expect(rGet.cert.IsNone()).toBeTruthy();
334
+ });
335
+ it("set and get device id with cert", async () => {
336
+ const rSet = await kb.setDeviceId(key, fakeCert);
337
+ expect(rSet.deviceId.Unwrap()).toEqual({
338
+ kty: "EC",
339
+ crv: "P-256",
340
+ d: expect.any(String),
341
+ x: expect.any(String),
342
+ y: expect.any(String),
343
+ });
344
+ expect(rSet.cert.IsSome()).toBeTruthy();
345
+ expect(rSet.cert.Unwrap()).toEqual(fakeCert);
346
+ const rGet = await kb.getDeviceId();
347
+ expect(rSet.deviceId.Unwrap()).toEqual({
348
+ kty: "EC",
349
+ crv: "P-256",
350
+ d: expect.any(String),
351
+ x: expect.any(String),
352
+ y: expect.any(String),
353
+ });
354
+ expect(rGet.cert.IsNone()).toBeFalsy();
355
+ expect(rGet.cert.Unwrap()).toEqual(fakeCert);
356
+ });
357
+ it("set and get device id stepped cert", async () => {
358
+ await kb.setDeviceId(key);
359
+ const rSet = await kb.setDeviceId(key, fakeCert);
360
+ expect(rSet.deviceId.Unwrap()).toEqual(key);
361
+ expect(rSet.cert.IsSome()).toBeTruthy();
362
+ expect(rSet.cert.Unwrap()).toEqual(fakeCert);
363
+ const rGet = await kb.getDeviceId();
364
+ expect(rGet.deviceId.Unwrap()).toEqual(key);
365
+ expect(rGet.cert.Unwrap()).toEqual(fakeCert);
366
+ });
367
+ });
368
+ describe("jwt", () => {
369
+ const sthis = ensureSuperThis();
370
+ let kb;
371
+ beforeEach(async () => {
372
+ await sthis.start();
373
+ kb = await getKeyBag(sthis, {
374
+ url: "memory://./dist/murks/?extractKey=_deprecated_internal_api",
375
+ });
376
+ });
377
+ it("set and get jwt", async () => {
378
+ const rNotForundGet = await kb.getJwt("test");
379
+ expect(rNotForundGet.isOk()).toBeFalsy();
380
+ const jwt = new UnsecuredJWT({ hello: "world" })
381
+ .setIssuedAt()
382
+ .setIssuer("fpcloud")
383
+ .setAudience("fpcloud-app")
384
+ .setExpirationTime("24h")
385
+ .setSubject("Test")
386
+ .encode();
387
+ const rSet = await kb.setJwt("test", jwt);
388
+ expect(rSet.isOk()).toBeTruthy();
389
+ const rGet = await kb.getJwt("test");
390
+ expect(rGet.isOk()).toBeTruthy();
391
+ expect(rGet.Ok()).toEqual({
392
+ key: "test",
393
+ jwt,
394
+ claims: {
395
+ hello: "world",
396
+ iss: "fpcloud",
397
+ aud: "fpcloud-app",
398
+ sub: "Test",
399
+ iat: expect.any(Number),
400
+ exp: expect.any(Number),
401
+ },
402
+ });
403
+ });
404
+ });
181
405
  });
182
406
  function resetDefault(keys) {
183
407
  return Array.from(Object.values(keys)).reduce((acc, i) => ({ ...acc, [i.fingerPrint]: { ...i, default: false } }), {});
@@ -1 +1 @@
1
- {"version":3,"file":"key-bag.test.js","sourceRoot":"","sources":["../../jsr/runtime/key-bag.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"key-bag.test.js","sourceRoot":"","sources":["../../jsr/runtime/key-bag.test.ts"],"names":[],"mappings":"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"}
@@ -40,16 +40,16 @@ describe("MetaKeyHack", () => {
40
40
  expect(unreg.isOk()).toBeTruthy();
41
41
  await db.put({ val: "test" });
42
42
  const dataStore = loader.attachedStores.local().active.car;
43
- const kb = new KeyBag(db.ledger.opts.keyBag);
43
+ const kb = await KeyBag.create(db.ledger.opts.keyBag);
44
44
  const rDataStoreKeyItem = await kb.getNamedKey(dataStore.url().getParam(PARAM.STORE_KEY) ?? "");
45
- await rDataStoreKeyItem.Ok().upsert("zBUFMmu5c3VdCa4r2DZTzhR", false);
46
- await rDataStoreKeyItem.Ok().upsert("zH1fyizirAiYVxoaQ2XZ3Xj", false);
45
+ await rDataStoreKeyItem.Ok().upsert("zBUFMmu5c3VdCa4r2DZTzhR", { def: false });
46
+ await rDataStoreKeyItem.Ok().upsert("zH1fyizirAiYVxoaQ2XZ3Xj", { def: false });
47
47
  expect(rDataStoreKeyItem.isOk()).toBeTruthy();
48
48
  const rUrl = await memGw.buildUrl(metaStore.url(), "main");
49
49
  const rGet = await memGw.get(rUrl.Ok(), sthis);
50
50
  const metas = JSON.parse(ctx.loader.sthis.txt.decode(rGet.Ok()));
51
51
  const keyMaterials = metas.keys;
52
- const dataStoreKeyMaterial = await rDataStoreKeyItem.Ok().asV2KeysItem();
52
+ const dataStoreKeyMaterial = await rDataStoreKeyItem.Ok().asV2StorageKeyItem();
53
53
  expect(keyMaterials.length).toBeGreaterThan(0);
54
54
  expect(dataStoreKeyMaterial).toEqual({
55
55
  keys: {
@@ -1 +1 @@
1
- {"version":3,"file":"meta-key-hack.test.js","sourceRoot":"","sources":["../../jsr/runtime/meta-key-hack.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meta-key-hack.test.js","sourceRoot":"","sources":["../../jsr/runtime/meta-key-hack.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,29 @@
1
+ import { ensureSuperThis } from "@fireproof/core-runtime";
2
+ import { describe, expect, it } from "vitest";
3
+ describe("text encoder", function () {
4
+ const sthis = ensureSuperThis();
5
+ it("should encode and decode", function () {
6
+ const input = "hello world";
7
+ const encoded = sthis.txt.encode(input);
8
+ const decoded = sthis.txt.decode(encoded);
9
+ expect(decoded).toEqual(input);
10
+ });
11
+ it("base64", function () {
12
+ const input = "hello world";
13
+ const encoded = sthis.txt.base64.encode(input);
14
+ const decoded = sthis.txt.base64.decode(encoded);
15
+ expect(decoded).toEqual(input);
16
+ expect(encoded).toEqual("aGVsbG8gd29ybGQ=");
17
+ });
18
+ it("base64 binary", function () {
19
+ const input = new Uint8Array(new Array(0x10000)
20
+ .fill(0)
21
+ .map((_, i) => [i % 256, i >> 8])
22
+ .flat());
23
+ const encoded = sthis.txt.base64.encode(input);
24
+ const decoded = sthis.txt.base64.decodeUint8(encoded);
25
+ expect(decoded).toEqual(input);
26
+ expect(input.length).toEqual(decoded.length);
27
+ });
28
+ });
29
+ //# sourceMappingURL=text-en-decoder.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-en-decoder.test.js","sourceRoot":"","sources":["../../jsr/runtime/text-en-decoder.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,QAAQ,CAAC,cAAc,EAAE,YAAY;IACnC,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAChC,EAAE,CAAC,0BAA0B,EAAE,YAAY;QACzC,MAAM,KAAK,GAAG,aAAa,CAAC;QAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAAA,CAChC,CAAC,CAAC;IACH,EAAE,CAAC,QAAQ,EAAE,YAAY;QACvB,MAAM,KAAK,GAAG,aAAa,CAAC;QAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAAA,CAC7C,CAAC,CAAC;IAEH,EAAE,CAAC,eAAe,EAAE,YAAY;QAC9B,MAAM,KAAK,GAAG,IAAI,UAAU,CAC1B,IAAI,KAAK,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,CAAC,CAAC;aACP,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;aAChC,IAAI,EAAE,CACV,CAAC;QACF,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAAA,CAC9C,CAAC,CAAC;AAAA,CACJ,CAAC,CAAC"}
package/tsconfig.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "extends": [
3
- "/home/runner/work/fireproof/fireproof/tsconfig.dist.json"
3
+ "/__w/fireproof/fireproof/tsconfig.dist.json"
4
4
  ],
5
5
  "compilerOptions": {
6
6
  "outDir": "../npm/",
@@ -11,10 +11,14 @@ export default defineConfig({
11
11
  instances: [
12
12
  {
13
13
  browser: "chromium",
14
+ context: {
15
+ recordVideo: undefined,
16
+ recordHar: undefined,
17
+ },
14
18
  },
15
19
  ],
20
+ screenshotFailures: false,
16
21
  },
17
- globals: true,
18
22
  setupFiles: "./setup.indexeddb.ts",
19
23
  },
20
24
  });
@@ -1 +1 @@
1
- {"version":3,"file":"vitest.indexeddb.config.js","sourceRoot":"","sources":["../jsr/vitest.indexeddb.config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,eAAe,YAAY,CAAC;IAC1B,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,cAAc,CAAC;QACtE,OAAO,EAAE,CAAC,0BAA0B,CAAC;QACrC,OAAO,EAAE;YACP,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,YAAY;YAGtB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,UAAU;iBAEpB;aACF;SAQF;QACD,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,sBAAsB;KACnC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"vitest.indexeddb.config.js","sourceRoot":"","sources":["../jsr/vitest.indexeddb.config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,eAAe,YAAY,CAAC;IAC1B,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,cAAc,CAAC;QACtE,OAAO,EAAE,CAAC,0BAA0B,CAAC;QACrC,OAAO,EAAE;YACP,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,UAAU;oBAEnB,OAAO,EAAE;wBAEP,WAAW,EAAE,SAAS;wBACtB,SAAS,EAAE,SAAS;qBACrB;iBACF;aACF;YACD,kBAAkB,EAAE,KAAK;SAC1B;QACD,UAAU,EAAE,sBAAsB;KACnC;CACF,CAAC,CAAC"}