@c9up/ream 0.2.16 → 0.2.18

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 (93) hide show
  1. package/dist/Application.d.ts +54 -8
  2. package/dist/Application.d.ts.map +1 -1
  3. package/dist/Application.js +77 -7
  4. package/dist/Application.js.map +1 -1
  5. package/dist/HttpKernel.d.ts +10 -0
  6. package/dist/HttpKernel.d.ts.map +1 -1
  7. package/dist/HttpKernel.js +61 -5
  8. package/dist/HttpKernel.js.map +1 -1
  9. package/dist/Ignitor.d.ts.map +1 -1
  10. package/dist/Ignitor.js +76 -18
  11. package/dist/Ignitor.js.map +1 -1
  12. package/dist/commands/ScheduleList.d.ts.map +1 -1
  13. package/dist/commands/ScheduleList.js +29 -0
  14. package/dist/commands/ScheduleList.js.map +1 -1
  15. package/dist/container/Container.d.ts.map +1 -1
  16. package/dist/container/Container.js +174 -45
  17. package/dist/container/Container.js.map +1 -1
  18. package/dist/container/types.d.ts +7 -0
  19. package/dist/container/types.d.ts.map +1 -1
  20. package/dist/dev/hmr.d.ts +37 -0
  21. package/dist/dev/hmr.d.ts.map +1 -0
  22. package/dist/dev/hmr.js +72 -0
  23. package/dist/dev/hmr.js.map +1 -0
  24. package/dist/graphql/GraphQLProvider.d.ts +14 -3
  25. package/dist/graphql/GraphQLProvider.d.ts.map +1 -1
  26. package/dist/graphql/GraphQLProvider.js +14 -3
  27. package/dist/graphql/GraphQLProvider.js.map +1 -1
  28. package/dist/hot.d.ts +29 -0
  29. package/dist/hot.d.ts.map +1 -0
  30. package/dist/hot.js +135 -0
  31. package/dist/hot.js.map +1 -0
  32. package/dist/http/Exception.d.ts +2 -2
  33. package/dist/http/Exception.d.ts.map +1 -1
  34. package/dist/http/Exception.js +3 -3
  35. package/dist/http/Exception.js.map +1 -1
  36. package/dist/http/Request.d.ts +11 -0
  37. package/dist/http/Request.d.ts.map +1 -1
  38. package/dist/http/Request.js +40 -0
  39. package/dist/http/Request.js.map +1 -1
  40. package/dist/http/RequestValidator.d.ts +80 -0
  41. package/dist/http/RequestValidator.d.ts.map +1 -0
  42. package/dist/http/RequestValidator.js +93 -0
  43. package/dist/http/RequestValidator.js.map +1 -0
  44. package/dist/index.d.ts +3 -1
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +2 -1
  47. package/dist/index.js.map +1 -1
  48. package/dist/middleware/Pipeline.d.ts +2 -2
  49. package/dist/middleware/Pipeline.js +2 -2
  50. package/dist/middleware/Pipeline.js.map +1 -1
  51. package/dist/migrations/MigrationRegistry.d.ts +16 -0
  52. package/dist/migrations/MigrationRegistry.d.ts.map +1 -1
  53. package/dist/migrations/MigrationRegistry.js +24 -0
  54. package/dist/migrations/MigrationRegistry.js.map +1 -1
  55. package/dist/openapi/OpenApiGenerator.d.ts +16 -0
  56. package/dist/openapi/OpenApiGenerator.d.ts.map +1 -1
  57. package/dist/openapi/OpenApiGenerator.js +76 -4
  58. package/dist/openapi/OpenApiGenerator.js.map +1 -1
  59. package/dist/openapi/OpenApiProvider.d.ts +16 -5
  60. package/dist/openapi/OpenApiProvider.d.ts.map +1 -1
  61. package/dist/openapi/OpenApiProvider.js +21 -6
  62. package/dist/openapi/OpenApiProvider.js.map +1 -1
  63. package/dist/rpc/RpcProvider.d.ts +13 -2
  64. package/dist/rpc/RpcProvider.d.ts.map +1 -1
  65. package/dist/rpc/RpcProvider.js +13 -2
  66. package/dist/rpc/RpcProvider.js.map +1 -1
  67. package/dist/storage/StaticProvider.d.ts +12 -2
  68. package/dist/storage/StaticProvider.d.ts.map +1 -1
  69. package/dist/storage/StaticProvider.js +12 -2
  70. package/dist/storage/StaticProvider.js.map +1 -1
  71. package/events.win32-x64-msvc.node +0 -0
  72. package/index.win32-x64-msvc.node +0 -0
  73. package/package.json +14 -2
  74. package/scheduler.win32-x64-msvc.node +0 -0
  75. package/src/Application.ts +89 -8
  76. package/src/HttpKernel.ts +87 -5
  77. package/src/Ignitor.ts +82 -19
  78. package/src/commands/ScheduleList.ts +30 -0
  79. package/src/container/Container.ts +178 -48
  80. package/src/container/types.ts +11 -0
  81. package/src/dev/hmr.ts +83 -0
  82. package/src/graphql/GraphQLProvider.ts +14 -3
  83. package/src/hot.ts +165 -0
  84. package/src/http/Exception.ts +4 -4
  85. package/src/http/Request.ts +54 -0
  86. package/src/http/RequestValidator.ts +143 -0
  87. package/src/index.ts +8 -1
  88. package/src/middleware/Pipeline.ts +4 -4
  89. package/src/migrations/MigrationRegistry.ts +23 -0
  90. package/src/openapi/OpenApiGenerator.ts +84 -4
  91. package/src/openapi/OpenApiProvider.ts +21 -6
  92. package/src/rpc/RpcProvider.ts +13 -2
  93. package/src/storage/StaticProvider.ts +12 -2
@@ -61,13 +61,33 @@ export class Container {
61
61
  /** Register a singleton binding (factory called once, cached). */
62
62
  singleton(token, factory) {
63
63
  const key = this.#tokenToKey(token);
64
+ this.#forgetCached(key);
64
65
  this.#bindings.set(key, { token, factory, scope: 'singleton', dependencies: [] });
65
66
  }
66
67
  /** Register a transient binding (new instance per resolve). */
67
68
  bind(token, factory) {
68
69
  const key = this.#tokenToKey(token);
70
+ this.#forgetCached(key);
69
71
  this.#bindings.set(key, { token, factory, scope: 'transient', dependencies: [] });
70
72
  }
73
+ /**
74
+ * Drop what a previous binding produced, because the binding is being
75
+ * replaced.
76
+ *
77
+ * Resolution reads the cache BEFORE the binding, so a token re-registered
78
+ * with a new factory kept answering with the old instance — a rebind that
79
+ * changed nothing, silently. That is what a provider does when it boots a
80
+ * second time in one process (a hot reload, a test that restarts the app):
81
+ * it rebinds, and the container went on handing out the connection the
82
+ * previous shutdown had closed.
83
+ *
84
+ * The in-flight promise goes too: a resolution already awaiting the OLD
85
+ * factory must not become the value of the new binding.
86
+ */
87
+ #forgetCached(key) {
88
+ this.#singletons.delete(key);
89
+ this.#pendingSingletons.delete(key);
90
+ }
71
91
  /** Bind an existing value directly. */
72
92
  bindValue(token, value) {
73
93
  const key = this.#tokenToKey(token);
@@ -262,34 +282,46 @@ export class Container {
262
282
  return this.#chain.run({ stack: [], set: new Set(), parent: target }, () => this.call(instance, method, runtimeValues));
263
283
  }
264
284
  const outerParent = chain.parent;
265
- chain.parent = target;
266
- const paramTypes = Reflect.getMetadata('design:paramtypes', target.prototype, method) ?? [];
267
- // `@Inject('token')` on a method parameter — a named binding the reflected
268
- // type cannot express (an interface, or a class registered under a name).
269
- const injectTokens = getMethodInjectTokens(target.prototype, method);
270
- // `@Inject` counts towards the parameter span too: a method may carry named
271
- // tokens without `design:paramtypes` being emitted for it, and computing the
272
- // span from the reflected types alone left the loop at zero iterations —
273
- // the tokens were read and then never used.
274
- const injectSpan = injectTokens.size === 0 ? 0 : Math.max(...injectTokens.keys()) + 1;
275
- const len = Math.max(paramTypes.length, runtimeValues?.length ?? 0, injectSpan);
276
- // Sequential resolution keeps the shared cycle-detection stack consistent.
285
+ // Declared outside the try so the call below can still read it: only the
286
+ // RESOLUTION is guarded, because that is what can throw with the parent
287
+ // installed.
277
288
  const args = [];
278
- for (let index = 0; index < len; index += 1) {
279
- // Runtime values take precedence (and fill slots beyond paramTypes).
280
- if (runtimeValues && index < runtimeValues.length) {
281
- args.push(runtimeValues[index]);
282
- continue;
283
- }
284
- const named = injectTokens.get(index);
285
- if (named !== undefined) {
286
- args.push(await this.resolve(named));
287
- continue;
289
+ chain.parent = target;
290
+ try {
291
+ const paramTypes = Reflect.getMetadata('design:paramtypes', target.prototype, method) ?? [];
292
+ // `@Inject('token')` on a method parameter — a named binding the reflected
293
+ // type cannot express (an interface, or a class registered under a name).
294
+ const injectTokens = getMethodInjectTokens(target.prototype, method);
295
+ // `@Inject` counts towards the parameter span too: a method may carry named
296
+ // tokens without `design:paramtypes` being emitted for it, and computing the
297
+ // span from the reflected types alone left the loop at zero iterations —
298
+ // the tokens were read and then never used.
299
+ const injectSpan = injectTokens.size === 0 ? 0 : Math.max(...injectTokens.keys()) + 1;
300
+ const len = Math.max(paramTypes.length, runtimeValues?.length ?? 0, injectSpan);
301
+ // Sequential resolution keeps the shared cycle-detection stack consistent.
302
+ for (let index = 0; index < len; index += 1) {
303
+ // Runtime values take precedence (and fill slots beyond paramTypes).
304
+ if (runtimeValues && index < runtimeValues.length) {
305
+ args.push(runtimeValues[index]);
306
+ continue;
307
+ }
308
+ const named = injectTokens.get(index);
309
+ if (named !== undefined) {
310
+ args.push(await this.resolve(named));
311
+ continue;
312
+ }
313
+ const type = paramTypes[index];
314
+ args.push(isInjectableClass(type) ? await this.resolve(type) : undefined);
288
315
  }
289
- const type = paramTypes[index];
290
- args.push(isInjectableClass(type) ? await this.resolve(type) : undefined);
291
316
  }
292
- chain.parent = outerParent;
317
+ finally {
318
+ // RESTORED whatever happened. Without the `finally`, a parameter that
319
+ // failed to resolve left the called class installed as the parent, so a
320
+ // caller that caught the error saw its contextual bindings applied to
321
+ // every later resolution — a binding meant for one handler leaking into
322
+ // the whole application.
323
+ chain.parent = outerParent;
324
+ }
293
325
  const member = instance[method];
294
326
  if (!isCallable(member)) {
295
327
  throw new Error(`Container.call: '${method}' is not a callable method`);
@@ -451,19 +483,49 @@ export class Container {
451
483
  // Boundary cast from `unknown` — the caller brands the resolved type via T.
452
484
  return instance;
453
485
  }
454
- // A build already under way: join it rather than start a second one.
486
+ // A build already under way: join it rather than start a second one —
487
+ // but only take its result if it was actually PUBLISHED. A factory that
488
+ // reads a request-scoped value builds that request's instance, and
489
+ // `#cacheIfAppWide` deliberately refuses to cache it; handing it to the
490
+ // resolver waiting behind was one request's HttpContext, identity or
491
+ // tenant answering for another. That resolution builds its own instead.
455
492
  const inFlight = this.#pendingSingletons.get(key);
456
- if (inFlight)
457
- return (await inFlight);
493
+ if (inFlight) {
494
+ const shared = await inFlight;
495
+ if (this.#wasPublished(key, shared))
496
+ return shared;
497
+ }
458
498
  const readsBefore = store?.scopedReads ?? 0;
459
499
  const building = (async () => {
460
500
  const instance = binding.factory ? await binding.factory(this) : undefined;
501
+ // Only cache while this is still the binding that started the build.
502
+ // A rebind that landed mid-flight already dropped the cache; letting
503
+ // the old factory write its result afterwards restored exactly what the
504
+ // rebind existed to replace.
505
+ if (this.#bindings.get(key) !== binding)
506
+ return instance;
507
+ // Hooks FIRST, cache after. Published before they ran, a singleton
508
+ // whose `resolving` hook threw was already in the cache: the caller saw
509
+ // the error, and the next resolution was handed the same half-built
510
+ // instance with no hook, no error and nothing to say a step had been
511
+ // skipped. A hook that opens a connection, validates a config or wraps
512
+ // a security decorator failing is precisely when the instance must not
513
+ // be reachable.
514
+ //
515
+ // Upstream's hooks are documented as modifying the value BEFORE it is
516
+ // returned, which only holds if the value is not already shared.
517
+ //
518
+ // Inside the promise, so the hooks run exactly once per instance no
519
+ // matter how many callers were waiting; the pending promise is what
520
+ // keeps concurrent callers from building a second one.
521
+ await this.#runResolvingHooks(key, instance);
522
+ // Re-checked: a rebind can land while the hooks run, and the cache it
523
+ // dropped must not be refilled by the build it replaced.
524
+ if (this.#bindings.get(key) !== binding)
525
+ return instance;
461
526
  // See `ResolutionChain.scopedReads`: a build that consumed a
462
527
  // request-scoped value is that request's, not the application's.
463
528
  this.#cacheIfAppWide('singleton', key, instance, store, readsBefore);
464
- // Inside the promise, so the hooks run exactly once per instance no
465
- // matter how many callers were waiting.
466
- await this.#runResolvingHooks(key, instance);
467
529
  return instance;
468
530
  })();
469
531
  this.#pendingSingletons.set(key, building);
@@ -472,14 +534,16 @@ export class Container {
472
534
  }
473
535
  finally {
474
536
  // Cleared either way: a failed build must not poison later attempts.
475
- this.#pendingSingletons.delete(key);
537
+ // Guarded, so a rebind that installed its own pending build is not
538
+ // undone by the old one finishing afterwards.
539
+ if (this.#pendingSingletons.get(key) === building) {
540
+ this.#pendingSingletons.delete(key);
541
+ }
476
542
  }
477
543
  }
478
544
  // 6. Auto-construct if it's a class
479
545
  if (typeof token === 'function') {
480
- const instance = (await this.#autoConstruct(token, runtimeValues));
481
- await this.#runResolvingHooks(key, instance);
482
- return instance;
546
+ return (await this.#resolveAutoConstructed(token, runtimeValues));
483
547
  }
484
548
  // 7. Not found
485
549
  const name = describeToken(key);
@@ -497,6 +561,62 @@ export class Container {
497
561
  * 2. Reflect.getMetadata('design:paramtypes') — decorator metadata (requires SWC/tsc)
498
562
  * 3. No params → plain `new Class()`
499
563
  */
564
+ /**
565
+ * Resolve a class the container builds itself — through the SAME pipeline as
566
+ * an explicit singleton binding.
567
+ *
568
+ * `@Service({ scope: 'singleton' })` never goes through a binding, so this
569
+ * path had its own, weaker rules: the instance was cached on the way out of
570
+ * construction and the `resolving` hooks ran afterwards, so a hook that threw
571
+ * left a half-built object in the cache for the next caller — the failure the
572
+ * explicit path was fixed for, on the path most applications actually use.
573
+ * It also never joined `#pendingSingletons`, so two resolutions in flight at
574
+ * once each built their own and whichever finished last was the one everybody
575
+ * got.
576
+ *
577
+ * Pending promise, then construction, then hooks, then publication. In that
578
+ * order, on both paths.
579
+ */
580
+ async #resolveAutoConstructed(target, runtimeValues) {
581
+ const metadata = getServiceMetadata(target);
582
+ const key = metadata?.as ?? target;
583
+ if (metadata?.scope !== 'singleton') {
584
+ const instance = await this.#autoConstruct(target, runtimeValues);
585
+ await this.#runResolvingHooks(key, instance);
586
+ return instance;
587
+ }
588
+ if (this.#singletons.has(key))
589
+ return this.#singletons.get(key);
590
+ const inFlight = this.#pendingSingletons.get(key);
591
+ if (inFlight) {
592
+ const shared = await inFlight;
593
+ // Joined ONLY if that build was published application-wide. A build that
594
+ // consumed a request-scoped value belongs to its request — handing it to
595
+ // another one is exactly the leak `createResolver()` exists to prevent —
596
+ // so this resolution falls through and builds its own instead.
597
+ if (this.#wasPublished(key, shared))
598
+ return shared;
599
+ }
600
+ // Same rule as the explicit bindings: see `ResolutionChain.scopedReads`.
601
+ const store = this.#chain.getStore();
602
+ const readsBefore = store?.scopedReads ?? 0;
603
+ const building = (async () => {
604
+ const instance = await this.#autoConstruct(target, runtimeValues);
605
+ await this.#runResolvingHooks(key, instance);
606
+ this.#cacheIfAppWide('singleton', key, instance, store, readsBefore);
607
+ return instance;
608
+ })();
609
+ this.#pendingSingletons.set(key, building);
610
+ try {
611
+ return await building;
612
+ }
613
+ finally {
614
+ // Cleared either way: a failed build must not poison later attempts.
615
+ if (this.#pendingSingletons.get(key) === building) {
616
+ this.#pendingSingletons.delete(key);
617
+ }
618
+ }
619
+ }
500
620
  async #autoConstruct(target, runtimeValues) {
501
621
  // Everything resolved inside is a dependency OF `target`, which is what a
502
622
  // contextual binding keys on. Restored on EVERY exit — the construction has
@@ -514,17 +634,17 @@ export class Container {
514
634
  }
515
635
  }
516
636
  async #constructWithDeps(target, runtimeValues) {
517
- const metadata = getServiceMetadata(target);
518
- const scope = metadata?.scope ?? 'transient';
519
637
  // The class itself, not `target.name`: two classes called `Service` share a
520
638
  // name and must not share a singleton cache entry.
639
+ const metadata = getServiceMetadata(target);
521
640
  const key = metadata?.as ?? target;
522
- if (scope === 'singleton' && this.#singletons.has(key)) {
641
+ // A cached singleton short-circuits construction — for the callers that
642
+ // reach this directly (`autoRegister`'s factory). PUBLISHING it is not this
643
+ // method's business: it builds, and `#resolveAutoConstructed` decides when
644
+ // the result may be shared, after the hooks have had their say.
645
+ if (metadata?.scope === 'singleton' && this.#singletons.has(key)) {
523
646
  return this.#singletons.get(key);
524
647
  }
525
- // Same rule as the explicit singleton bindings: see `scopedReads`.
526
- const store = this.#chain.getStore();
527
- const readsBefore = store?.scopedReads ?? 0;
528
648
  // A runtime value at this index (from `make(Class, [req, res])`) wins over
529
649
  // container resolution for that constructor slot.
530
650
  const runtimeAt = (index) => runtimeValues?.[index];
@@ -555,7 +675,6 @@ export class Container {
555
675
  deps.push(depToken ? await this.resolve(depToken) : undefined);
556
676
  }
557
677
  const instance = Reflect.construct(target, deps);
558
- this.#cacheIfAppWide(scope, key, instance, store, readsBefore);
559
678
  return instance;
560
679
  }
561
680
  // (b) No @Inject/metadata, but the caller supplied runtime values — build
@@ -564,7 +683,6 @@ export class Container {
564
683
  if (target.length > 0 && (runtimeValues?.length ?? 0) > 0) {
565
684
  const deps = Array.from({ length: target.length }, (_value, index) => runtimeAt(index));
566
685
  const instance = Reflect.construct(target, deps);
567
- this.#cacheIfAppWide(scope, key, instance, store, readsBefore);
568
686
  return instance;
569
687
  }
570
688
  // (c) The constructor declares parameters but we have no way to resolve
@@ -582,7 +700,6 @@ export class Container {
582
700
  // one is a compile error even though the runtime constructs it happily —
583
701
  // `abstract` exists only at compile time.
584
702
  const instance = Reflect.construct(target, []);
585
- this.#cacheIfAppWide(scope, key, instance, store, readsBefore);
586
703
  return instance;
587
704
  }
588
705
  // Resolve constructor deps SEQUENTIALLY (the cycle-detection stack is
@@ -602,7 +719,6 @@ export class Container {
602
719
  deps.push(depToken ? await this.resolve(depToken) : undefined);
603
720
  }
604
721
  const instance = Reflect.construct(target, deps);
605
- this.#cacheIfAppWide(scope, key, instance, store, readsBefore);
606
722
  return instance;
607
723
  }
608
724
  /**
@@ -613,6 +729,19 @@ export class Container {
613
729
  * later one. AdonisJS does not guard this; it is the kind of silent
614
730
  * cross-request leak worth refusing.
615
731
  */
732
+ /**
733
+ * Is `instance` the value that was published under `key`?
734
+ *
735
+ * `Object.is`, not `===`: a factory answering `NaN` compares unequal to
736
+ * itself, so a waiter concluded the build had not been published and built a
737
+ * second singleton. And `has()` before the comparison, because an absent
738
+ * entry and one holding `undefined` both read back as `undefined` — a
739
+ * request-scoped build that produced nothing was then shared with the next
740
+ * request, which is the whole thing this check exists to prevent.
741
+ */
742
+ #wasPublished(key, instance) {
743
+ return this.#singletons.has(key) && Object.is(this.#singletons.get(key), instance);
744
+ }
616
745
  #cacheIfAppWide(scope, key, instance, store, readsBefore) {
617
746
  if (scope !== 'singleton')
618
747
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../src/container/Container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../src/container/Container.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,13 @@ export type ServiceToken = (abstract new (...args: never[]) => unknown) | string
32
32
  */
33
33
  export interface FactoryResolver {
34
34
  make<T>(token: ServiceToken, runtimeValues?: unknown[]): Promise<T>;
35
+ /**
36
+ * Call a method with its dependencies injected. Declared here because a
37
+ * factory that dispatches to a handler needs it and both implementations
38
+ * have it — leaving it off did not make the capability go away, it only
39
+ * hid it from the callers allowed to use it.
40
+ */
41
+ call<T, K extends string & keyof T>(instance: T, method: K, runtimeValues?: unknown[]): Promise<unknown>;
35
42
  }
36
43
  /**
37
44
  * Factory function for creating service instances. Receives a {@link
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/container/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,mDAAmD;AACnD,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,CAAA;AAEhE,uDAAuD;AACvD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,YAAY,CAAA;IACnB,yEAAyE;IACzE,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,8FAA8F;AAG9F;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,QAAQ,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,CAAC,GAAG,MAAM,GAAG,MAAM,CAAA;AAEzF;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CACpE;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,eAAe,KAAK,OAAO,CAAA;AAEnE,sCAAsC;AACtC,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,YAAY,CAAA;IACnB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,YAAY,CAAA;IACnB,YAAY,EAAE,YAAY,EAAE,CAAA;CAC7B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/container/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,mDAAmD;AACnD,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,CAAA;AAEhE,uDAAuD;AACvD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,YAAY,CAAA;IACnB,yEAAyE;IACzE,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,8FAA8F;AAG9F;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,QAAQ,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,CAAC,GAAG,MAAM,GAAG,MAAM,CAAA;AAEzF;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IACnE;;;;;OAKG;IACH,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,EAChC,QAAQ,EAAE,CAAC,EACX,MAAM,EAAE,CAAC,EACT,aAAa,CAAC,EAAE,OAAO,EAAE,GACxB,OAAO,CAAC,OAAO,CAAC,CAAA;CACpB;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,eAAe,KAAK,OAAO,CAAA;AAEnE,sCAAsC;AACtC,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,YAAY,CAAA;IACnB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,YAAY,CAAA;IACnB,YAAY,EAAE,YAAY,EAAE,CAAA;CAC7B"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * What the browser watches to know the server changed under it.
3
+ *
4
+ * Two things can happen while `ream dev` runs, and the page has no way to see
5
+ * either: a module is swapped in the running process (hot-hook invalidated it),
6
+ * or the process restarts. Both change what the server would render, and both
7
+ * used to leave a stale page on screen until someone pressed reload.
8
+ *
9
+ * NAMED DEVIATION — upstream has no equivalent. AdonisJS' assembler does not
10
+ * refresh the browser; that comes from its Vite integration, i.e. from the
11
+ * asset pipeline. Ream has no such pipeline in the general case, so this lives
12
+ * in the framework, and it is deliberately the smallest thing that works: a
13
+ * token the page polls, not a socket. A socket would still need a reconnect
14
+ * loop and a boot identity to survive the restart half, which is most of a
15
+ * poller with more moving parts.
16
+ */
17
+ /** Where the token is served, and what the injected script polls. */
18
+ export declare const HMR_PATH = "/__ream/hmr";
19
+ /** Called by the hot entry when hot-hook reports a module was swapped. */
20
+ export declare function hotReloadHappened(): void;
21
+ /** How many hot swaps this process has seen. */
22
+ export declare function hotReloadCount(): number;
23
+ /**
24
+ * The token. Changes on a restart (new boot id) and on a hot swap (new count),
25
+ * which are exactly the two cases the page must react to.
26
+ */
27
+ export declare function hmrToken(): string;
28
+ /**
29
+ * The script injected into HTML pages in dev.
30
+ *
31
+ * It reloads when the token changes, NOT when the request fails: a server that
32
+ * is restarting is unreachable for a moment, and reloading then would only show
33
+ * the browser's error page. It waits for an answer, and the answer carries a
34
+ * new boot id.
35
+ */
36
+ export declare function hmrClientScript(nonce?: string): string;
37
+ //# sourceMappingURL=hmr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hmr.d.ts","sourceRoot":"","sources":["../../src/dev/hmr.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,qEAAqE;AACrE,eAAO,MAAM,QAAQ,gBAAgB,CAAA;AAyBrC,0EAA0E;AAC1E,wBAAgB,iBAAiB,IAAI,IAAI,CAGxC;AAED,gDAAgD;AAChD,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,MAAM,CAEjC;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAYtD"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * What the browser watches to know the server changed under it.
3
+ *
4
+ * Two things can happen while `ream dev` runs, and the page has no way to see
5
+ * either: a module is swapped in the running process (hot-hook invalidated it),
6
+ * or the process restarts. Both change what the server would render, and both
7
+ * used to leave a stale page on screen until someone pressed reload.
8
+ *
9
+ * NAMED DEVIATION — upstream has no equivalent. AdonisJS' assembler does not
10
+ * refresh the browser; that comes from its Vite integration, i.e. from the
11
+ * asset pipeline. Ream has no such pipeline in the general case, so this lives
12
+ * in the framework, and it is deliberately the smallest thing that works: a
13
+ * token the page polls, not a socket. A socket would still need a reconnect
14
+ * loop and a boot identity to survive the restart half, which is most of a
15
+ * poller with more moving parts.
16
+ */
17
+ /** Where the token is served, and what the injected script polls. */
18
+ export const HMR_PATH = '/__ream/hmr';
19
+ /**
20
+ * Identifies THIS process. A restart produces a new one, which is how the page
21
+ * detects a reboot without the server having to survive it to say so.
22
+ */
23
+ const BOOT_ID = `${process.pid}-${Date.now().toString(36)}`;
24
+ /** Bumped by `@c9up/ream/hot` every time hot-hook swaps a module. */
25
+ const COUNTER = Symbol.for('ream.dev.hotReloadCount');
26
+ /**
27
+ * A module-level variable would not do: `@c9up/ream/hot` is loaded through a
28
+ * different module graph than the running application (it is an `--import`
29
+ * entry), so the two would each hold their own copy. A well-known symbol on
30
+ * `globalThis` is the one place both can see.
31
+ */
32
+ function holder() {
33
+ return globalThis;
34
+ }
35
+ /** Called by the hot entry when hot-hook reports a module was swapped. */
36
+ export function hotReloadHappened() {
37
+ const store = holder();
38
+ store[COUNTER] = (store[COUNTER] ?? 0) + 1;
39
+ }
40
+ /** How many hot swaps this process has seen. */
41
+ export function hotReloadCount() {
42
+ return holder()[COUNTER] ?? 0;
43
+ }
44
+ /**
45
+ * The token. Changes on a restart (new boot id) and on a hot swap (new count),
46
+ * which are exactly the two cases the page must react to.
47
+ */
48
+ export function hmrToken() {
49
+ return `${BOOT_ID}.${hotReloadCount()}`;
50
+ }
51
+ /**
52
+ * The script injected into HTML pages in dev.
53
+ *
54
+ * It reloads when the token changes, NOT when the request fails: a server that
55
+ * is restarting is unreachable for a moment, and reloading then would only show
56
+ * the browser's error page. It waits for an answer, and the answer carries a
57
+ * new boot id.
58
+ */
59
+ export function hmrClientScript(nonce) {
60
+ // A nonce-based CSP — which the scaffold ships, via `@c9up/blackhole` —
61
+ // rejects an inline script that does not carry the request's nonce, and the
62
+ // page simply never reloads. `response.nonce` is where it lives; the quotes
63
+ // are escaped because a nonce is generated, not user input, but a broken
64
+ // attribute would silently disable the tag rather than fail loudly.
65
+ const attribute = nonce === undefined ? '' : ` nonce="${nonce.replace(/"/g, '&quot;')}"`;
66
+ // A failed poll RETRIES. Returning on `!r.ok` stopped the loop for good, so a
67
+ // page opened in the window before the endpoint is mounted — or during any
68
+ // blip — never reloaded again for the life of that tab, which looks exactly
69
+ // like the feature not working.
70
+ return `<script${attribute}>(()=>{let t=null;const p=${JSON.stringify(HMR_PATH)};const tick=async()=>{try{const r=await fetch(p,{cache:'no-store'});if(r.ok){const n=(await r.text()).trim();if(t===null){t=n}else if(n!==t){location.reload();return}}}catch(e){}setTimeout(tick,1000)};tick()})()</script>`;
71
+ }
72
+ //# sourceMappingURL=hmr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hmr.js","sourceRoot":"","sources":["../../src/dev/hmr.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,qEAAqE;AACrE,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAa,CAAA;AAErC;;;GAGG;AACH,MAAM,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAA;AAE3D,qEAAqE;AACrE,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;AAMrD;;;;;GAKG;AACH,SAAS,MAAM;IACb,OAAO,UAAsC,CAAA;AAC/C,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,iBAAiB;IAC/B,MAAM,KAAK,GAAG,MAAM,EAAE,CAAA;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;AAC5C,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,cAAc;IAC5B,OAAO,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ;IACtB,OAAO,GAAG,OAAO,IAAI,cAAc,EAAE,EAAE,CAAA;AACzC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,wEAAwE;IACxE,4EAA4E;IAC5E,4EAA4E;IAC5E,yEAAyE;IACzE,oEAAoE;IACpE,MAAM,SAAS,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAA;IACxF,8EAA8E;IAC9E,2EAA2E;IAC3E,4EAA4E;IAC5E,gCAAgC;IAChC,OAAO,UAAU,SAAS,6BAA6B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,8NAA8N,CAAA;AAC/S,CAAC"}
@@ -9,8 +9,9 @@
9
9
  * const gql = app.container.make<GraphQLEngine>('graphql')
10
10
  * gql.resolver('Query', 'tasks', TaskResolver, 'tasks')
11
11
  *
12
- * - `boot()` — mount the engine at `engine.path` (default `/graphql`) for both
13
- * GET (playground/introspection) and POST (queries).
12
+ * - `start()` — mount the engine at `engine.path` (default `/graphql`) for
13
+ * both GET (playground/introspection) and POST (queries). In `start`, which
14
+ * is the phase upstream documents for routes.
14
15
  *
15
16
  * @implements Story 24.5
16
17
  */
@@ -27,7 +28,17 @@ export declare class GraphQLProvider extends Provider {
27
28
  /** The wired engine, or undefined when GraphQL is not configured. */
28
29
  get engine(): GraphQLEngine | undefined;
29
30
  register(): void;
30
- boot(): Promise<void>;
31
+ /**
32
+ * Routes and server middleware go in `start`, not `boot`.
33
+ *
34
+ * Upstream documents that phase for exactly this, and the order is what makes
35
+ * it matter: providers boot, then providers START, then the preloads run —
36
+ * and the preloads are where an application writes its own routes and kernel.
37
+ * Mounted in `boot`, a framework route landed ahead of every application
38
+ * route, so an overlapping path was answered by the framework rather than by
39
+ * the app that meant to override it.
40
+ */
41
+ start(): Promise<void>;
31
42
  }
32
43
  export default GraphQLProvider;
33
44
  //# sourceMappingURL=GraphQLProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GraphQLProvider.d.ts","sourceRoot":"","sources":["../../src/graphql/GraphQLProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAsB,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEtE,MAAM,WAAW,sBAAsB;IACrC,6DAA6D;IAC7D,MAAM,CAAC,EAAE,aAAa,CAAA;CACvB;AAED,qBAAa,eAAgB,SAAQ,QAAQ;;gBAI/B,GAAG,EAAE,UAAU,EAAE,OAAO,GAAE,sBAA2B;IAKjE,qEAAqE;IACrE,IAAI,MAAM,IAAI,aAAa,GAAG,SAAS,CAEtC;IAEQ,QAAQ,IAAI,IAAI;IA0BV,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CASrC;AAGD,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"GraphQLProvider.d.ts","sourceRoot":"","sources":["../../src/graphql/GraphQLProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAsB,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEtE,MAAM,WAAW,sBAAsB;IACrC,6DAA6D;IAC7D,MAAM,CAAC,EAAE,aAAa,CAAA;CACvB;AAED,qBAAa,eAAgB,SAAQ,QAAQ;;gBAI/B,GAAG,EAAE,UAAU,EAAE,OAAO,GAAE,sBAA2B;IAKjE,qEAAqE;IACrE,IAAI,MAAM,IAAI,aAAa,GAAG,SAAS,CAEtC;IAEQ,QAAQ,IAAI,IAAI;IA0BzB;;;;;;;;;OASG;IACY,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAStC;AAGD,eAAe,eAAe,CAAA"}
@@ -9,8 +9,9 @@
9
9
  * const gql = app.container.make<GraphQLEngine>('graphql')
10
10
  * gql.resolver('Query', 'tasks', TaskResolver, 'tasks')
11
11
  *
12
- * - `boot()` — mount the engine at `engine.path` (default `/graphql`) for both
13
- * GET (playground/introspection) and POST (queries).
12
+ * - `start()` — mount the engine at `engine.path` (default `/graphql`) for
13
+ * both GET (playground/introspection) and POST (queries). In `start`, which
14
+ * is the phase upstream documents for routes.
14
15
  *
15
16
  * @implements Story 24.5
16
17
  */
@@ -50,7 +51,17 @@ export class GraphQLProvider extends Provider {
50
51
  container.singleton('graphql', () => engine);
51
52
  this.#registered = true;
52
53
  }
53
- async boot() {
54
+ /**
55
+ * Routes and server middleware go in `start`, not `boot`.
56
+ *
57
+ * Upstream documents that phase for exactly this, and the order is what makes
58
+ * it matter: providers boot, then providers START, then the preloads run —
59
+ * and the preloads are where an application writes its own routes and kernel.
60
+ * Mounted in `boot`, a framework route landed ahead of every application
61
+ * route, so an overlapping path was answered by the framework rather than by
62
+ * the app that meant to override it.
63
+ */
64
+ async start() {
54
65
  const engine = this.#engine;
55
66
  if (!engine)
56
67
  return;