houdini 1.2.2 → 1.2.4

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.
Files changed (64) hide show
  1. package/build/cmd-cjs/index.js +183 -63
  2. package/build/cmd-esm/index.js +183 -63
  3. package/build/codegen-cjs/index.js +181 -61
  4. package/build/codegen-esm/index.js +181 -61
  5. package/build/lib/fs.d.ts +8 -1
  6. package/build/lib/index.d.ts +1 -0
  7. package/build/lib/parse.d.ts +1 -1
  8. package/build/lib/types.d.ts +11 -0
  9. package/build/lib-cjs/index.js +181 -69
  10. package/build/lib-esm/index.js +179 -69
  11. package/build/runtime/cache/cache.d.ts +5 -1
  12. package/build/runtime/cache/lists.d.ts +3 -3
  13. package/build/runtime/cache/storage.d.ts +8 -2
  14. package/build/runtime/cache/subscription.d.ts +1 -0
  15. package/build/runtime/client/documentStore.d.ts +9 -2
  16. package/build/runtime/client/index.d.ts +6 -3
  17. package/build/runtime/lib/index.d.ts +1 -0
  18. package/build/runtime/lib/lru.d.ts +52 -0
  19. package/build/runtime/lib/types.d.ts +1 -0
  20. package/build/runtime-cjs/cache/cache.d.ts +5 -1
  21. package/build/runtime-cjs/cache/cache.js +84 -27
  22. package/build/runtime-cjs/cache/lists.d.ts +3 -3
  23. package/build/runtime-cjs/cache/lists.js +20 -8
  24. package/build/runtime-cjs/cache/storage.d.ts +8 -2
  25. package/build/runtime-cjs/cache/storage.js +22 -5
  26. package/build/runtime-cjs/cache/subscription.d.ts +1 -0
  27. package/build/runtime-cjs/cache/subscription.js +3 -0
  28. package/build/runtime-cjs/client/documentStore.d.ts +9 -2
  29. package/build/runtime-cjs/client/documentStore.js +13 -9
  30. package/build/runtime-cjs/client/index.d.ts +6 -3
  31. package/build/runtime-cjs/client/index.js +6 -8
  32. package/build/runtime-cjs/client/plugins/cache.js +3 -0
  33. package/build/runtime-cjs/client/plugins/mutation.js +10 -6
  34. package/build/runtime-cjs/lib/index.d.ts +1 -0
  35. package/build/runtime-cjs/lib/index.js +1 -0
  36. package/build/runtime-cjs/lib/lru.d.ts +52 -0
  37. package/build/runtime-cjs/lib/lru.js +73 -0
  38. package/build/runtime-cjs/lib/types.d.ts +1 -0
  39. package/build/runtime-cjs/lib/types.js +7 -2
  40. package/build/runtime-esm/cache/cache.d.ts +5 -1
  41. package/build/runtime-esm/cache/cache.js +84 -27
  42. package/build/runtime-esm/cache/lists.d.ts +3 -3
  43. package/build/runtime-esm/cache/lists.js +20 -8
  44. package/build/runtime-esm/cache/storage.d.ts +8 -2
  45. package/build/runtime-esm/cache/storage.js +22 -5
  46. package/build/runtime-esm/cache/subscription.d.ts +1 -0
  47. package/build/runtime-esm/cache/subscription.js +3 -0
  48. package/build/runtime-esm/client/documentStore.d.ts +9 -2
  49. package/build/runtime-esm/client/documentStore.js +13 -9
  50. package/build/runtime-esm/client/index.d.ts +6 -3
  51. package/build/runtime-esm/client/index.js +6 -8
  52. package/build/runtime-esm/client/plugins/cache.js +3 -0
  53. package/build/runtime-esm/client/plugins/mutation.js +10 -6
  54. package/build/runtime-esm/lib/index.d.ts +1 -0
  55. package/build/runtime-esm/lib/index.js +1 -0
  56. package/build/runtime-esm/lib/lru.d.ts +52 -0
  57. package/build/runtime-esm/lib/lru.js +48 -0
  58. package/build/runtime-esm/lib/types.d.ts +1 -0
  59. package/build/runtime-esm/lib/types.js +5 -1
  60. package/build/test-cjs/index.js +181 -61
  61. package/build/test-esm/index.js +181 -61
  62. package/build/vite-cjs/index.js +200 -62
  63. package/build/vite-esm/index.js +200 -62
  64. package/package.json +1 -1
@@ -68658,6 +68658,7 @@ __export(fs_exports, {
68658
68658
  recursiveCopy: () => recursiveCopy,
68659
68659
  remove: () => remove,
68660
68660
  rmdir: () => rmdir,
68661
+ snapshot: () => snapshot,
68661
68662
  stat: () => stat,
68662
68663
  writeFile: () => writeFile
68663
68664
  });
@@ -68852,16 +68853,17 @@ function existsSync(dirPath) {
68852
68853
  }
68853
68854
  return import_memfs.fs.existsSync(dirPath);
68854
68855
  }
68855
- async function readdir(filepath) {
68856
+ async function readdir(filepath, opts) {
68856
68857
  if (!houdini_mode.is_testing) {
68857
- return await fs.readdir(filepath);
68858
+ return await fs.readdir(filepath, opts);
68858
68859
  }
68859
68860
  if (filepath.includes("build/runtime")) {
68860
- return await fs.readdir(filepath);
68861
+ return await fs.readdir(filepath, opts);
68861
68862
  }
68862
68863
  try {
68863
- return import_memfs.fs.readdirSync(filepath);
68864
- } catch {
68864
+ return import_memfs.fs.readdirSync(filepath, opts);
68865
+ } catch (e2) {
68866
+ console.log(e2);
68865
68867
  return [];
68866
68868
  }
68867
68869
  }
@@ -68912,6 +68914,11 @@ async function recursiveCopy(source, target, transforms, notRoot) {
68912
68914
  );
68913
68915
  }
68914
68916
  }
68917
+ function snapshot(base) {
68918
+ return Object.fromEntries(
68919
+ Object.entries(import_memfs.vol.toJSON()).filter(([key]) => !base || key.startsWith(base)).map(([key, value]) => [!base ? key : key.substring(base.length), value])
68920
+ );
68921
+ }
68915
68922
  async function glob(pattern) {
68916
68923
  return await promisify(import_glob.glob)(posixify(pattern));
68917
68924
  }
@@ -70299,10 +70306,10 @@ var ListManager = class {
70299
70306
  this.lists.get(list.name).get(parentID).lists.push(handler);
70300
70307
  this.listsByField.get(parentID).get(list.key).push(handler);
70301
70308
  }
70302
- removeIDFromAllLists(id) {
70309
+ removeIDFromAllLists(id, layer) {
70303
70310
  for (const fieldMap of this.lists.values()) {
70304
70311
  for (const list of fieldMap.values()) {
70305
- list.removeID(id);
70312
+ list.removeID(id, void 0, layer);
70306
70313
  }
70307
70314
  }
70308
70315
  }
@@ -70399,6 +70406,10 @@ var List = class {
70399
70406
  updates: ["append", "prepend"],
70400
70407
  selection: {
70401
70408
  fields: {
70409
+ __typename: {
70410
+ keyRaw: "__typename",
70411
+ type: "String"
70412
+ },
70402
70413
  node: {
70403
70414
  type: listType,
70404
70415
  keyRaw: "node",
@@ -70423,7 +70434,15 @@ var List = class {
70423
70434
  };
70424
70435
  insertData = {
70425
70436
  newEntry: {
70426
- edges: [{ node: { ...data, __typename: listType } }]
70437
+ edges: [
70438
+ {
70439
+ __typename: listType + "Edge",
70440
+ node: {
70441
+ ...data,
70442
+ __typename: listType
70443
+ }
70444
+ }
70445
+ ]
70427
70446
  }
70428
70447
  };
70429
70448
  } else {
@@ -70459,7 +70478,7 @@ var List = class {
70459
70478
  layer: layer?.id
70460
70479
  });
70461
70480
  }
70462
- removeID(id, variables = {}) {
70481
+ removeID(id, variables = {}, layer) {
70463
70482
  if (!this.validateWhen()) {
70464
70483
  return;
70465
70484
  }
@@ -70506,7 +70525,7 @@ var List = class {
70506
70525
  subscribers.map((sub) => sub[0]),
70507
70526
  variables
70508
70527
  );
70509
- this.cache._internal_unstable.storage.remove(parentID, targetKey, targetID);
70528
+ this.cache._internal_unstable.storage.remove(parentID, targetKey, targetID, layer);
70510
70529
  for (const [spec] of subscribers) {
70511
70530
  spec.set(
70512
70531
  this.cache._internal_unstable.getSelection({
@@ -70519,12 +70538,12 @@ var List = class {
70519
70538
  }
70520
70539
  return true;
70521
70540
  }
70522
- remove(data, variables = {}) {
70541
+ remove(data, variables = {}, layer) {
70523
70542
  const targetID = this.cache._internal_unstable.id(this.listType(data), data);
70524
70543
  if (!targetID) {
70525
70544
  return;
70526
70545
  }
70527
- return this.removeID(targetID, variables);
70546
+ return this.removeID(targetID, variables, layer);
70528
70547
  }
70529
70548
  listType(data) {
70530
70549
  return data.__typename || this.type;
@@ -70556,7 +70575,7 @@ var List = class {
70556
70575
  layer,
70557
70576
  where
70558
70577
  }) {
70559
- if (!this.remove(data, variables)) {
70578
+ if (!this.remove(data, variables, layer)) {
70560
70579
  this.addToList(selection, data, variables, where, layer);
70561
70580
  }
70562
70581
  }
@@ -70693,7 +70712,7 @@ var StaleManager = class {
70693
70712
  // src/runtime/cache/storage.ts
70694
70713
  var InMemoryStorage = class {
70695
70714
  data;
70696
- idCount = 0;
70715
+ idCount = 1;
70697
70716
  rank = 0;
70698
70717
  constructor() {
70699
70718
  this.data = [];
@@ -70713,11 +70732,11 @@ var InMemoryStorage = class {
70713
70732
  insert(id, field, location, target) {
70714
70733
  return this.topLayer.insert(id, field, location, target);
70715
70734
  }
70716
- remove(id, field, target) {
70717
- return this.topLayer.remove(id, field, target);
70735
+ remove(id, field, target, layerToUser = this.topLayer) {
70736
+ return layerToUser.remove(id, field, target);
70718
70737
  }
70719
- delete(id) {
70720
- return this.topLayer.delete(id);
70738
+ delete(id, layerToUser = this.topLayer) {
70739
+ return layerToUser.delete(id);
70721
70740
  }
70722
70741
  deleteField(id, field) {
70723
70742
  return this.topLayer.deleteField(id, field);
@@ -70851,6 +70870,23 @@ var InMemoryStorage = class {
70851
70870
  }
70852
70871
  return this.data[this.data.length - 1];
70853
70872
  }
70873
+ serialize() {
70874
+ return JSON.stringify({
70875
+ rank: this.rank,
70876
+ fields: this.topLayer.fields,
70877
+ links: this.topLayer.links
70878
+ });
70879
+ }
70880
+ hydrate(args, layer) {
70881
+ if (!args) {
70882
+ return;
70883
+ }
70884
+ const { rank, fields, links } = args;
70885
+ this.rank = rank;
70886
+ layer ??= this.createLayer(true);
70887
+ layer.fields = fields;
70888
+ layer.links = links;
70889
+ }
70854
70890
  };
70855
70891
  var Layer = class {
70856
70892
  id;
@@ -71089,6 +71125,9 @@ var InMemorySubscriptions = class {
71089
71125
  subscribers = {};
71090
71126
  referenceCounts = {};
71091
71127
  keyVersions = {};
71128
+ activeFields(parent2) {
71129
+ return Object.keys(this.subscribers[parent2] || {});
71130
+ }
71092
71131
  add({
71093
71132
  parent: parent2,
71094
71133
  spec,
@@ -71357,20 +71396,7 @@ var Cache = class {
71357
71396
  }) {
71358
71397
  const layer = layerID ? this._internal_unstable.storage.getLayer(layerID) : this._internal_unstable.storage.topLayer;
71359
71398
  const subscribers = this._internal_unstable.writeSelection({ ...args, layer }).map((sub) => sub[0]);
71360
- const notified = [];
71361
- for (const spec of subscribers.concat(notifySubscribers)) {
71362
- if (!notified.includes(spec.set)) {
71363
- notified.push(spec.set);
71364
- spec.set(
71365
- this._internal_unstable.getSelection({
71366
- parent: spec.parentID || rootID,
71367
- selection: spec.selection,
71368
- variables: spec.variables?.() || {},
71369
- ignoreMasking: false
71370
- }).data
71371
- );
71372
- }
71373
- }
71399
+ this.#notifySubscribers(subscribers.concat(notifySubscribers));
71374
71400
  return subscribers;
71375
71401
  }
71376
71402
  read(...args) {
@@ -71409,10 +71435,10 @@ var Cache = class {
71409
71435
  }
71410
71436
  return handler;
71411
71437
  }
71412
- delete(id) {
71438
+ delete(id, layer) {
71413
71439
  this._internal_unstable.subscriptions.removeAllSubscribers(id);
71414
- this._internal_unstable.lists.removeIDFromAllLists(id);
71415
- this._internal_unstable.storage.delete(id);
71440
+ this._internal_unstable.lists.removeIDFromAllLists(id, layer);
71441
+ this._internal_unstable.storage.delete(id, layer);
71416
71442
  }
71417
71443
  setConfig(config2) {
71418
71444
  this._internal_unstable.setConfig(config2);
@@ -71444,6 +71470,76 @@ var Cache = class {
71444
71470
  config() {
71445
71471
  return this._internal_unstable.config;
71446
71472
  }
71473
+ serialize() {
71474
+ return this._internal_unstable.storage.serialize();
71475
+ }
71476
+ hydrate(...args) {
71477
+ return this._internal_unstable.storage.hydrate(...args);
71478
+ }
71479
+ clearLayer(layerID) {
71480
+ const layer = this._internal_unstable.storage.getLayer(layerID);
71481
+ if (!layer) {
71482
+ throw new Error("Cannot find layer with id: " + layerID);
71483
+ }
71484
+ const toNotify = [];
71485
+ const allFields = [];
71486
+ for (const target of [layer.fields, layer.links]) {
71487
+ for (const [id, fields] of Object.entries(target)) {
71488
+ allFields.push(
71489
+ ...Object.entries(fields).map(([field, value]) => ({ id, field, value }))
71490
+ );
71491
+ }
71492
+ }
71493
+ const displayFields = [];
71494
+ for (const pair of allFields) {
71495
+ const { displayLayers } = this._internal_unstable.storage.get(pair.id, pair.field);
71496
+ if (!displayLayers.includes(layerID)) {
71497
+ continue;
71498
+ }
71499
+ displayFields.push(pair);
71500
+ }
71501
+ for (const [id, operation] of Object.entries(layer.operations)) {
71502
+ if (operation.deleted) {
71503
+ displayFields.push(
71504
+ ...this._internal_unstable.subscriptions.activeFields(id).map((field) => ({ id, field }))
71505
+ );
71506
+ }
71507
+ const fields = Object.keys(operation.fields ?? {});
71508
+ if (fields.length > 0) {
71509
+ displayFields.push(...fields.map((field) => ({ id, field })));
71510
+ }
71511
+ }
71512
+ layer.clear();
71513
+ for (const display of displayFields) {
71514
+ const { field, id } = display;
71515
+ const notify = !("value" in display) || this._internal_unstable.storage.get(id, field).value !== display.value;
71516
+ if (notify) {
71517
+ toNotify.push(
71518
+ ...this._internal_unstable.subscriptions.get(id, field).map((sub) => sub[0])
71519
+ );
71520
+ }
71521
+ }
71522
+ this.#notifySubscribers(toNotify);
71523
+ }
71524
+ #notifySubscribers(subs) {
71525
+ if (subs.length === 0) {
71526
+ return;
71527
+ }
71528
+ const notified = [];
71529
+ for (const spec of subs) {
71530
+ if (!notified.includes(spec.set)) {
71531
+ notified.push(spec.set);
71532
+ spec.set(
71533
+ this._internal_unstable.getSelection({
71534
+ parent: spec.parentID || rootID,
71535
+ selection: spec.selection,
71536
+ variables: spec.variables?.() || {},
71537
+ ignoreMasking: false
71538
+ }).data
71539
+ );
71540
+ }
71541
+ }
71542
+ }
71447
71543
  };
71448
71544
  var CacheInternal = class {
71449
71545
  _disabled = false;
@@ -71731,8 +71827,16 @@ var CacheInternal = class {
71731
71827
  operation.position || "last",
71732
71828
  layer
71733
71829
  );
71830
+ } else if (operation.action === "toggle" && target instanceof Object && fieldSelection && operation.list) {
71831
+ this.cache.list(operation.list, parentID, operation.target === "all").when(operation.when).toggleElement({
71832
+ selection: fieldSelection,
71833
+ data: target,
71834
+ variables,
71835
+ where: operation.position || "last",
71836
+ layer
71837
+ });
71734
71838
  } else if (operation.action === "remove" && target instanceof Object && fieldSelection && operation.list) {
71735
- this.cache.list(operation.list, parentID, operation.target === "all").when(operation.when).remove(target, variables);
71839
+ this.cache.list(operation.list, parentID, operation.target === "all").when(operation.when).remove(target, variables, layer);
71736
71840
  } else if (operation.action === "delete" && operation.type) {
71737
71841
  if (typeof target !== "string") {
71738
71842
  throw new Error("Cannot delete a record with a non-string ID");
@@ -71741,15 +71845,7 @@ var CacheInternal = class {
71741
71845
  if (!targetID) {
71742
71846
  continue;
71743
71847
  }
71744
- this.cache.delete(targetID);
71745
- } else if (operation.action === "toggle" && target instanceof Object && fieldSelection && operation.list) {
71746
- this.cache.list(operation.list, parentID, operation.target === "all").when(operation.when).toggleElement({
71747
- selection: fieldSelection,
71748
- data: target,
71749
- variables,
71750
- where: operation.position || "last",
71751
- layer
71752
- });
71848
+ this.cache.delete(targetID, layer);
71753
71849
  }
71754
71850
  }
71755
71851
  }
@@ -72284,7 +72380,7 @@ var fragment = documentPlugin(ArtifactKind.Fragment, function() {
72284
72380
  var mutation = documentPlugin(ArtifactKind.Mutation, () => {
72285
72381
  return {
72286
72382
  async start(ctx, { next, marshalVariables }) {
72287
- const layer = cache_default._internal_unstable.storage.createLayer(true);
72383
+ const layerOptimistic = cache_default._internal_unstable.storage.createLayer(true);
72288
72384
  const optimisticResponse = ctx.stuff.optimisticResponse;
72289
72385
  let toNotify = [];
72290
72386
  if (optimisticResponse) {
@@ -72295,25 +72391,29 @@ var mutation = documentPlugin(ArtifactKind.Mutation, () => {
72295
72391
  data: optimisticResponse
72296
72392
  }),
72297
72393
  variables: marshalVariables(ctx),
72298
- layer: layer.id
72394
+ layer: layerOptimistic.id
72299
72395
  });
72300
72396
  }
72301
72397
  ctx.cacheParams = {
72302
72398
  ...ctx.cacheParams,
72303
- layer,
72399
+ layer: layerOptimistic,
72304
72400
  notifySubscribers: toNotify,
72305
72401
  forceNotify: true
72306
72402
  };
72307
72403
  next(ctx);
72308
72404
  },
72309
72405
  afterNetwork(ctx, { resolve: resolve2 }) {
72310
- ctx.cacheParams?.layer?.clear();
72406
+ if (ctx.cacheParams?.layer) {
72407
+ cache_default.clearLayer(ctx.cacheParams.layer.id);
72408
+ }
72311
72409
  resolve2(ctx);
72312
72410
  },
72313
72411
  end(ctx, { resolve: resolve2, value }) {
72314
72412
  const hasErrors = value.errors && value.errors.length > 0;
72315
72413
  if (hasErrors) {
72316
- ctx.cacheParams?.layer?.clear();
72414
+ if (ctx.cacheParams?.layer) {
72415
+ cache_default.clearLayer(ctx.cacheParams.layer.id);
72416
+ }
72317
72417
  }
72318
72418
  if (ctx.cacheParams?.layer) {
72319
72419
  cache_default._internal_unstable.storage.resolveLayer(ctx.cacheParams.layer.id);
@@ -72323,7 +72423,7 @@ var mutation = documentPlugin(ArtifactKind.Mutation, () => {
72323
72423
  catch(ctx, { error }) {
72324
72424
  if (ctx.cacheParams?.layer) {
72325
72425
  const { layer } = ctx.cacheParams;
72326
- layer.clear();
72426
+ cache_default.clearLayer(layer.id);
72327
72427
  cache_default._internal_unstable.storage.resolveLayer(layer.id);
72328
72428
  }
72329
72429
  throw error;
@@ -73335,7 +73435,7 @@ function deepMerge2(filepath, ...targets) {
73335
73435
  }
73336
73436
 
73337
73437
  // src/lib/parse.ts
73338
- async function parseJS(str, config2) {
73438
+ function parseJS(str, config2) {
73339
73439
  const defaultConfig = {
73340
73440
  plugins: ["typescript", "importAssertions"],
73341
73441
  sourceType: "module"
@@ -74804,7 +74904,7 @@ function operationObject({
74804
74904
  if (operationKind === "insert" || operationKind === "toggle") {
74805
74905
  operation.position = position;
74806
74906
  }
74807
- if (operationKind === "insert" && allLists) {
74907
+ if (allLists && operationKind !== "delete") {
74808
74908
  operation.target = "all";
74809
74909
  }
74810
74910
  if (parentID) {
@@ -76640,12 +76740,28 @@ ${exportStatement("config")}
76640
76740
  },
76641
76741
  [path_exports.join(config2.runtimeSource, "client", "plugins", "injectedPlugins.js")]: (content) => injectPlugins({ config: config2, content, importStatement, exportStatement })
76642
76742
  }),
76643
- ...config2.plugins.filter((plugin2) => plugin2.includeRuntime).map((plugin2) => generatePluginRuntime(config2, docs, plugin2)),
76743
+ ...config2.plugins.filter((plugin2) => plugin2.includeRuntime).map(
76744
+ (plugin2) => generatePluginRuntime({
76745
+ config: config2,
76746
+ docs,
76747
+ plugin: plugin2,
76748
+ importStatement,
76749
+ exportDefaultStatement: exportStatement,
76750
+ exportStarStatement: exportStar
76751
+ })
76752
+ ),
76644
76753
  generatePluginIndex({ config: config2, exportStatement: exportStar })
76645
76754
  ]);
76646
76755
  await generateGraphqlReturnTypes(config2, docs);
76647
76756
  }
76648
- async function generatePluginRuntime(config2, docs, plugin2) {
76757
+ async function generatePluginRuntime({
76758
+ config: config2,
76759
+ docs,
76760
+ plugin: plugin2,
76761
+ importStatement,
76762
+ exportDefaultStatement,
76763
+ exportStarStatement
76764
+ }) {
76649
76765
  if (houdini_mode.is_testing || !plugin2.includeRuntime) {
76650
76766
  return;
76651
76767
  }
@@ -76673,7 +76789,13 @@ async function generatePluginRuntime(config2, docs, plugin2) {
76673
76789
  Object.fromEntries(
76674
76790
  Object.entries(transformMap).map(([key, value]) => [
76675
76791
  path_exports.join(runtime_path, key),
76676
- (content) => value({ config: config2, content })
76792
+ (content) => value({
76793
+ config: config2,
76794
+ content,
76795
+ importStatement,
76796
+ exportDefaultStatement,
76797
+ exportStarStatement
76798
+ })
76677
76799
  ])
76678
76800
  )
76679
76801
  );
@@ -78541,14 +78663,12 @@ async function typeCheck(config2, docs) {
78541
78663
  for (const targetType of targetTypes) {
78542
78664
  const missingIDFields = config2.keyFieldsForType(targetType.name).filter((fieldName) => !targetType.getFields()[fieldName]);
78543
78665
  if (missingIDFields.length > 0) {
78544
- const message = `@${config2.listDirective} on ${logGreen(
78545
- targetType.name
78546
- )} as a configuration issue. Object identification missing: ${missingIDFields.map((c) => `"${logYellow(c)}"`).join(", ")}. Check 'Custom IDs' if needed.`;
78547
78666
  errors.push(
78548
78667
  new HoudiniError({
78549
78668
  filepath: filename,
78550
- message,
78551
- description: message
78669
+ message: `@${config2.listDirective} on ${logGreen(
78670
+ targetType.name
78671
+ )} has a configuration issue: ${targetType} dos not have a valid key. Please check this link for more information: https://houdinigraphql.com/guides/caching-data#custom-ids`
78552
78672
  })
78553
78673
  );
78554
78674
  return;
@@ -80059,8 +80179,8 @@ async function updatePackageJSON(targetPath) {
80059
80179
  }
80060
80180
  packageJSON.devDependencies = {
80061
80181
  ...packageJSON.devDependencies,
80062
- houdini: "^1.2.2",
80063
- "houdini-svelte": "^1.2.2"
80182
+ houdini: "^1.2.4",
80183
+ "houdini-svelte": "^1.2.4"
80064
80184
  };
80065
80185
  await fs_exports.writeFile(packagePath, JSON.stringify(packageJSON, null, 4));
80066
80186
  }