tungsten 0.3.1 → 0.3.2

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 (103) hide show
  1. package/dist/Components.d.ts +2 -1
  2. package/dist/Components.d.ts.map +1 -1
  3. package/dist/Components.js +10 -1
  4. package/dist/DomRegion.js +1 -1
  5. package/dist/FrameworkConfig.d.ts +4 -0
  6. package/dist/FrameworkConfig.d.ts.map +1 -1
  7. package/dist/FunctionComponentStandIn.d.ts +2 -0
  8. package/dist/FunctionComponentStandIn.d.ts.map +1 -1
  9. package/dist/FunctionComponentStandIn.js +10 -1
  10. package/dist/FunctionComponentStandIn.sxyt.d.ts +2 -0
  11. package/dist/FunctionComponentStandIn.sxyt.d.ts.map +1 -0
  12. package/dist/FunctionComponentStandIn.sxyt.js +52 -0
  13. package/dist/Servers/DevServer.d.ts +2 -0
  14. package/dist/Servers/DevServer.d.ts.map +1 -1
  15. package/dist/Servers/DevServer.js +32 -5
  16. package/dist/Servers/devErrorPageAutoRetry.d.ts +4 -0
  17. package/dist/Servers/devErrorPageAutoRetry.d.ts.map +1 -0
  18. package/dist/Servers/devErrorPageAutoRetry.js +26 -0
  19. package/dist/Servers/devErrorPageAutoRetry.sxyt.d.ts +2 -0
  20. package/dist/Servers/devErrorPageAutoRetry.sxyt.d.ts.map +1 -0
  21. package/dist/Servers/devErrorPageAutoRetry.sxyt.js +117 -0
  22. package/dist/api/getExport.d.ts.map +1 -1
  23. package/dist/api/getExport.js +2 -1
  24. package/dist/babelPlugins/BabelAddDevCacheBust.d.ts +11 -0
  25. package/dist/babelPlugins/BabelAddDevCacheBust.d.ts.map +1 -0
  26. package/dist/babelPlugins/BabelAddDevCacheBust.js +68 -0
  27. package/dist/babelPlugins/BabelAddDevCacheBust.sxyt.d.ts +2 -0
  28. package/dist/babelPlugins/BabelAddDevCacheBust.sxyt.d.ts.map +1 -0
  29. package/dist/babelPlugins/BabelAddDevCacheBust.sxyt.js +138 -0
  30. package/dist/bin/commands/dev.d.ts.map +1 -1
  31. package/dist/bin/commands/dev.js +2 -0
  32. package/dist/build/compileUserApp.js +2 -2
  33. package/dist/build/makeBabelUserDevConfig.d.ts.map +1 -1
  34. package/dist/build/makeBabelUserDevConfig.js +6 -1
  35. package/dist/defaultConfig.d.ts +2 -0
  36. package/dist/defaultConfig.d.ts.map +1 -1
  37. package/dist/defaultConfig.js +3 -1
  38. package/dist/env/getEnvSchemas.d.ts.map +1 -1
  39. package/dist/env/getEnvSchemas.js +2 -1
  40. package/dist/getComponent.d.ts.map +1 -1
  41. package/dist/getComponent.js +2 -1
  42. package/dist/getRoutes.d.ts.map +1 -1
  43. package/dist/getRoutes.js +2 -1
  44. package/dist/hmr/applyHmrModule.d.ts +11 -0
  45. package/dist/hmr/applyHmrModule.d.ts.map +1 -0
  46. package/dist/hmr/applyHmrModule.js +78 -0
  47. package/dist/hmr/applyHmrModule.sxyt.d.ts +2 -0
  48. package/dist/hmr/applyHmrModule.sxyt.d.ts.map +1 -0
  49. package/dist/hmr/applyHmrModule.sxyt.js +182 -0
  50. package/dist/hmr/componentIdentity.d.ts +9 -0
  51. package/dist/hmr/componentIdentity.d.ts.map +1 -0
  52. package/dist/hmr/componentIdentity.js +17 -0
  53. package/dist/hmr/instanceRegistry.d.ts +4 -0
  54. package/dist/hmr/instanceRegistry.d.ts.map +1 -0
  55. package/dist/hmr/instanceRegistry.js +6 -0
  56. package/dist/hmr/instanceRegistry.sxyt.d.ts +2 -0
  57. package/dist/hmr/instanceRegistry.sxyt.d.ts.map +1 -0
  58. package/dist/hmr/instanceRegistry.sxyt.js +24 -0
  59. package/dist/hmr/liveReloadHub.d.ts +10 -0
  60. package/dist/hmr/liveReloadHub.d.ts.map +1 -0
  61. package/dist/{dev → hmr}/liveReloadHub.js +8 -2
  62. package/dist/hmr/refreshStylesheets.d.ts +2 -0
  63. package/dist/hmr/refreshStylesheets.d.ts.map +1 -0
  64. package/dist/hmr/refreshStylesheets.js +26 -0
  65. package/dist/hmr/refreshStylesheets.sxyt.d.ts +2 -0
  66. package/dist/hmr/refreshStylesheets.sxyt.d.ts.map +1 -0
  67. package/dist/hmr/refreshStylesheets.sxyt.js +46 -0
  68. package/dist/hydrate/hydrate.d.ts +9 -1
  69. package/dist/hydrate/hydrate.d.ts.map +1 -1
  70. package/dist/hydrate/hydrate.js +31 -7
  71. package/dist/hydrate/hydrate.sxyt.d.ts +2 -0
  72. package/dist/hydrate/hydrate.sxyt.d.ts.map +1 -0
  73. package/dist/hydrate/hydrate.sxyt.js +302 -0
  74. package/dist/hydrate/reconcileHydratedAttributes.d.ts.map +1 -1
  75. package/dist/hydrate/reconcileHydratedAttributes.js +10 -2
  76. package/dist/hydrate/reconcileHydratedAttributes.sxyt.js +17 -0
  77. package/dist/importDevModuleWithRetry.d.ts +3 -0
  78. package/dist/importDevModuleWithRetry.d.ts.map +1 -0
  79. package/dist/importDevModuleWithRetry.js +46 -0
  80. package/dist/importDevModuleWithRetry.sxyt.d.ts +2 -0
  81. package/dist/importDevModuleWithRetry.sxyt.d.ts.map +1 -0
  82. package/dist/importDevModuleWithRetry.sxyt.js +104 -0
  83. package/dist/render/HeadData.d.ts +1 -0
  84. package/dist/render/HeadData.d.ts.map +1 -1
  85. package/dist/render/contentToHtml.d.ts.map +1 -1
  86. package/dist/render/contentToHtml.js +2 -1
  87. package/dist/render/processHead.d.ts.map +1 -1
  88. package/dist/render/processHead.js +47 -6
  89. package/dist/render/processHead.sxyt.d.ts +2 -0
  90. package/dist/render/processHead.sxyt.d.ts.map +1 -0
  91. package/dist/render/processHead.sxyt.js +93 -0
  92. package/dist/update/hotSwap.sxyt.d.ts +2 -0
  93. package/dist/update/hotSwap.sxyt.d.ts.map +1 -0
  94. package/dist/update/hotSwap.sxyt.js +252 -0
  95. package/dist/update/integrateUpdateVdom.d.ts +5 -1
  96. package/dist/update/integrateUpdateVdom.d.ts.map +1 -1
  97. package/dist/update/integrateUpdateVdom.js +107 -4
  98. package/dist/warnOnFrameworkChange.d.ts +2 -0
  99. package/dist/warnOnFrameworkChange.d.ts.map +1 -0
  100. package/dist/warnOnFrameworkChange.js +27 -0
  101. package/package.json +1 -1
  102. package/dist/dev/liveReloadHub.d.ts +0 -6
  103. package/dist/dev/liveReloadHub.d.ts.map +0 -1
@@ -92,6 +92,7 @@ export declare abstract class TungstenBaseComponent<Props extends TungstenCompon
92
92
  __currentContent: RenderedContentNode | $ContentNull;
93
93
  protected __dead: boolean;
94
94
  __unmountStarted: boolean;
95
+ __renderedNode?: RenderedContentNodeClassComponent;
95
96
  content?: ContentFunctionStateful<Props, any>;
96
97
  render?: ContentFunctionStateful<Props, any>;
97
98
  abstract __initialContent: () => Promise<ContentNode>;
@@ -223,7 +224,7 @@ import type { Prettify } from '../types/helpers.js';
223
224
  import type { Key } from './Key.js';
224
225
  import type { GlobalData } from './routing/registerGlobalData.js';
225
226
  import { type $ContentNull } from './symbols.js';
226
- import { RenderedContentNode } from './RenderedContentNode.js';
227
+ import { RenderedContentNode, type RenderedContentNodeClassComponent } from './RenderedContentNode.js';
227
228
  import { UpdateResult } from './update/UpdateResult.js';
228
229
  import { InternalStoreSchema } from './Store/InternalStoreSchema.js';
229
230
  import { ComponentRenderInfo } from './ComponentRenderInfo.type.js';
@@ -1 +1 @@
1
- {"version":3,"file":"Components.d.ts","sourceRoot":"","sources":["../src/Components.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Components.d.ts","sourceRoot":"","sources":["../src/Components.tsx"],"names":[],"mappings":"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"}
@@ -65,6 +65,10 @@ export class TungstenBaseComponent {
65
65
  // is this a problem, because undefined could be a result of content func?
66
66
  _defineProperty(this, "__dead", false);
67
67
  _defineProperty(this, "__unmountStarted", false);
68
+ // dev-only: points at the wrapper object holding this instance in its parent's rendered
69
+ // tree, so HMR can find and replace it without a tree walk. Kept in sync in
70
+ // integrateUpdateVdom.ts wherever a wrapper for this component is created.
71
+ _defineProperty(this, "__renderedNode", void 0);
68
72
  // lifecycle hooks
69
73
  // render?
70
74
  // content?
@@ -183,7 +187,12 @@ export class TungstenBaseComponent {
183
187
  this.routeParams = routeParams;
184
188
  this.routeData = routeData;
185
189
  this.parentComponent = parentComponent;
186
- if (instance.runtimeContext !== undefined) instance.registerComponent(this);
190
+ // isClient, not runtimeContext !== undefined - the real hydrate() flow never actually
191
+ // constructs/passes a ClientRuntimeContext (only the test harness does), but isClient is
192
+ // still correctly true there via its own processIsClient fallback. Gating on
193
+ // runtimeContext directly meant this never registered anything outside of tests. See
194
+ // tungsten/docs/hmr.md.
195
+ if (instance.isClient) instance.registerComponent(this);
187
196
  // re-add any overwritten render or content methods
188
197
  // damn Typescript grrr
189
198
  //
package/dist/DomRegion.js CHANGED
@@ -92,7 +92,7 @@ export class DomRegion {
92
92
  update(firstEl, lastEl) {
93
93
  //console.log('update for parent', this.parent)
94
94
  this.setFirst(firstEl);
95
- this.setFirst(lastEl);
95
+ this.setLast(lastEl);
96
96
  }
97
97
  updateByIndexes(first, last) {
98
98
  //console.log('updateByIndexes for parent', this.parent)
@@ -29,6 +29,8 @@ export type FrameworkConfigBase = {
29
29
  apiPath?: string;
30
30
  suppressNoHeadWarning?: boolean;
31
31
  suppressOriginMismatchWarning?: boolean;
32
+ warnOnFrameworkChange?: boolean;
33
+ hmr?: boolean | 'reload';
32
34
  };
33
35
  export type FrameworkConfigWithRootComponent = FrameworkConfigBase & {
34
36
  useRootComponent?: true;
@@ -65,6 +67,8 @@ export type FrameworkConfigCompleteBase = {
65
67
  apiPath: string;
66
68
  suppressNoHeadWarning: boolean;
67
69
  suppressOriginMismatchWarning: boolean;
70
+ warnOnFrameworkChange: boolean;
71
+ hmr: boolean | 'reload';
68
72
  };
69
73
  export type FrameworkConfigCompleteWithRootComponent = FrameworkConfigCompleteBase & {
70
74
  useRootComponent: true;
@@ -1 +1 @@
1
- {"version":3,"file":"FrameworkConfig.d.ts","sourceRoot":"","sources":["../src/FrameworkConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FrameworkConfig.d.ts","sourceRoot":"","sources":["../src/FrameworkConfig.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { ContentNode } from './ContentNode.js';
8
8
  import { type $ContentNull } from './symbols.js';
9
9
  import { RenderedContentNode } from './RenderedContentNode.js';
10
10
  import { UpdateResult } from './update/UpdateResult.js';
11
+ import type { RenderedContentNodeFunctionComponent } from './RenderedContentNode.js';
11
12
  type Memo = {
12
13
  dependencies: any[];
13
14
  value: any;
@@ -29,6 +30,7 @@ export declare class FunctionElement<Props extends TungstenComponentPropsBase, R
29
30
  __queuedUpdateHandle?: NodeJS.Timeout;
30
31
  __unmountStarted: boolean;
31
32
  __dead: boolean;
33
+ __renderedNode?: RenderedContentNodeFunctionComponent;
32
34
  useStateIndex: number;
33
35
  state: any[];
34
36
  useEffectIndex: number;
@@ -1 +1 @@
1
- {"version":3,"file":"FunctionComponentStandIn.d.ts","sourceRoot":"","sources":["../src/FunctionComponentStandIn.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAI9C,OAAO,EAAE,KAAK,YAAY,EAAgB,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAKvD,KAAK,IAAI,GAAG;IACR,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,KAAK,EAAE,GAAG,CAAA;CACb,CAAA;AACD,KAAK,QAAQ,GAAG;IACZ,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;CAChC,CAAA;AAED,qBAAa,eAAe,CAAC,KAAK,SAAS,0BAA0B,EAAE,SAAS;IAC5E,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAC9B,KAAK,EAAE,KAAK,CAAA;IACZ,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IACrC,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IACjC,UAAU,EAAE,QAAQ,CAAA;IACpB,eAAe,EAAE,eAAe,GAAG,IAAI,CAAA;IACvC,eAAe,EAAE,eAAe,EAAE,CAAK;IACvC,gBAAgB,EAAE,mBAAmB,GAAG,YAAY,CAAe;IACnE,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAA;IACrC,gBAAgB,UAAQ;IACxB,MAAM,UAAQ;IAEd,aAAa,SAAI;IACjB,KAAK,EAAE,GAAG,EAAE,CAAK;IACjB,cAAc,SAAI;IAClB,OAAO,EAAE,GAAG,EAAE,EAAE,CAAK;IACrB,YAAY,SAAI;IAChB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAK;IACpB,gBAAgB,SAAI;IACpB,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAK;gBAEhB,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EACpD,WAAW,EAAE,WAAW,GAAG,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,EACtE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,GAAG,IAAI;IAU/D,aAAa,aAMZ;IACD,MAAM,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAclC;IACD,QAAQ,8BAAsB;IAC9B,wBAAwB;;;OAWvB;IACD,aAAa,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAMxC;IACD,OAAO,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAwBlC;IACD,QAAQ,aAOP;IACD,SAAS,aAGR;CACJ;AAED,MAAM,MAAM,2BAA2B,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"FunctionComponentStandIn.d.ts","sourceRoot":"","sources":["../src/FunctionComponentStandIn.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAI9C,OAAO,EAAE,KAAK,YAAY,EAAgB,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIvD,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,0BAA0B,CAAA;AAEpF,KAAK,IAAI,GAAG;IACR,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,KAAK,EAAE,GAAG,CAAA;CACb,CAAA;AACD,KAAK,QAAQ,GAAG;IACZ,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;CAChC,CAAA;AAED,qBAAa,eAAe,CAAC,KAAK,SAAS,0BAA0B,EAAE,SAAS;IAC5E,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAC9B,KAAK,EAAE,KAAK,CAAA;IACZ,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IACrC,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IACjC,UAAU,EAAE,QAAQ,CAAA;IACpB,eAAe,EAAE,eAAe,GAAG,IAAI,CAAA;IACvC,eAAe,EAAE,eAAe,EAAE,CAAK;IACvC,gBAAgB,EAAE,mBAAmB,GAAG,YAAY,CAAe;IACnE,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAA;IACrC,gBAAgB,UAAQ;IACxB,MAAM,UAAQ;IAId,cAAc,CAAC,EAAE,oCAAoC,CAAA;IAErD,aAAa,SAAI;IACjB,KAAK,EAAE,GAAG,EAAE,CAAK;IACjB,cAAc,SAAI;IAClB,OAAO,EAAE,GAAG,EAAE,EAAE,CAAK;IACrB,YAAY,SAAI;IAChB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAK;IACpB,gBAAgB,SAAI;IACpB,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAK;gBAEhB,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EACpD,WAAW,EAAE,WAAW,GAAG,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,EACtE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,GAAG,IAAI;IAe/D,aAAa,aAMZ;IACD,MAAM,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAclC;IACD,QAAQ,8BAAsB;IAC9B,wBAAwB;;;OAWvB;IACD,aAAa,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAMxC;IACD,OAAO,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAwBlC;IACD,QAAQ,aAOP;IACD,SAAS,aAGR;CACJ;AAED,MAAM,MAAM,2BAA2B,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA"}
@@ -23,6 +23,10 @@ export class FunctionElement {
23
23
  _defineProperty(this, "__queuedUpdateHandle", void 0);
24
24
  _defineProperty(this, "__unmountStarted", false);
25
25
  _defineProperty(this, "__dead", false);
26
+ // dev-only: points at the wrapper object holding this stand-in in its parent's rendered
27
+ // tree, so HMR can find and replace it without a tree walk. Kept in sync in
28
+ // integrateUpdateVdom.ts wherever a wrapper for this component is created.
29
+ _defineProperty(this, "__renderedNode", void 0);
26
30
  _defineProperty(this, "useStateIndex", 0);
27
31
  _defineProperty(this, "state", []);
28
32
  _defineProperty(this, "useEffectIndex", 0);
@@ -115,6 +119,11 @@ export class FunctionElement {
115
119
  this.routeData = routeData;
116
120
  this.__instance = instance;
117
121
  this.parentComponent = parentComponent;
118
- if (instance.runtimeContext !== undefined) instance.registerComponent(this);
122
+ // isClient, not runtimeContext !== undefined - the real hydrate() flow never actually
123
+ // constructs/passes a ClientRuntimeContext (only the test harness does), but isClient is
124
+ // still correctly true there via its own processIsClient fallback. Gating on
125
+ // runtimeContext directly meant this never registered anything outside of tests. See
126
+ // tungsten/docs/hmr.md.
127
+ if (instance.isClient) instance.registerComponent(this);
119
128
  }
120
129
  }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=FunctionComponentStandIn.sxyt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FunctionComponentStandIn.sxyt.d.ts","sourceRoot":"","sources":["../src/FunctionComponentStandIn.sxyt.ts"],"names":[],"mappings":""}
@@ -0,0 +1,52 @@
1
+ import { expect } from 'chai';
2
+ import { describe } from 'sxy-test-runner';
3
+ import { Instance } from "./Instance/Instance.js";
4
+ import { initStores } from "./Servers/initStores.js";
5
+ import { FunctionElement } from "./FunctionComponentStandIn.js";
6
+ describe('FunctionElement - client-side registration', ({
7
+ it
8
+ }) => {
9
+ it('registers itself on instance.registeredComponents when instance.isClient is true, even with no runtimeContext', () => {
10
+ // The real hydrate() entry point (hydrate.tsx) constructs its Instance with NO
11
+ // runtimeContext argument at all - only the test harness (testing/index.ts) passes one.
12
+ // isClient still ends up true there via Instance's own processIsClient fallback (see
13
+ // isClient.ts), so the registration gate has to key off instance.isClient, not
14
+ // "runtimeContext !== undefined" - the latter was always false in real hydration and
15
+ // meant nothing ever got registered outside of tests. See tungsten/docs/hmr.md.
16
+ //
17
+ // isClient.ts's own `typeof window !== 'undefined'` snapshot is itself notoriously
18
+ // order-dependent across a shared test process (see hydrate.sxyt.tsx's notes), so rather
19
+ // than depend on that snapshot landing correctly here, isClient is forced directly - this
20
+ // test is specifically about the registration gate's own logic, not about isClient
21
+ // detection (which is a separate, pre-existing concern).
22
+ const location = '/';
23
+ const globalData = {};
24
+ const matchedRouteInfo = {
25
+ key: null,
26
+ params: {},
27
+ content: null
28
+ };
29
+ const {
30
+ internalStore,
31
+ stores,
32
+ storeSubscriptions
33
+ } = initStores(location, null, globalData, matchedRouteInfo);
34
+ const instanceConfig = {
35
+ prod: false,
36
+ useRootComponent: true,
37
+ clientSideNav: false,
38
+ siteBasePath: '/',
39
+ staticSite: false
40
+ };
41
+ const emptyRoutes = {}; // eslint-disable-line no-type-assertion/no-type-assertion -- not exercised by this test
42
+ // deliberately no runtimeContext argument, matching hydrate()'s real call
43
+ const instance = new Instance(location, instanceConfig, null, emptyRoutes, emptyRoutes,
44
+ // eslint-disable-line no-type-assertion/no-type-assertion
45
+ internalStore, stores, storeSubscriptions, globalData, matchedRouteInfo);
46
+ const mutableInstance = instance; // eslint-disable-line no-type-assertion/no-type-assertion -- forcing isClient for this test, see comment above
47
+ mutableInstance.isClient = true;
48
+ const Greeting = () => null;
49
+ const element = new FunctionElement(Greeting, {}, undefined, undefined, instance, null);
50
+ expect(instance.registeredComponents).to.contain(element);
51
+ });
52
+ });
@@ -30,8 +30,10 @@ export declare class DevServer extends TungstenServer {
30
30
  private handleLiveReloadStream;
31
31
  private reloadDebounceTimer;
32
32
  private pendingReloadKind;
33
+ private pendingReloadFiles;
33
34
  private static readonly reloadDebounceMs;
34
35
  private broadcastReloadEvent;
36
+ private sourceFileToUrlPath;
35
37
  private handleRequestApi;
36
38
  private handleRequest;
37
39
  getGlobalData: (func: GlobalDataFunction, reqRes: ReqRes) => Promise<GlobalData>;
@@ -1 +1 @@
1
- {"version":3,"file":"DevServer.d.ts","sourceRoot":"","sources":["../../src/Servers/DevServer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,OAA4D,MAAM,SAAS,CAAA;AAElF,OAAO,sBAAsB,CAAA;AAE7B,OAAO,KAAK,EAAE,uBAAuB,EAAwB,MAAM,uBAAuB,CAAA;AAC1F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAMpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAW3C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAKrC,OAAO,EAAE,UAAU,EAAkB,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AAEjG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAkBrD,qBAAa,SAAU,SAAQ,cAAc;IACzC,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,uBAAuB,CAAA;IAC/B,eAAe,EAAE,eAAe,CAAA;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAO;IAC9B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAA;IAExB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,OAAO,CAAO;IAC3B,cAAc,EAAE,MAAM,CAAI;IAC1B,oBAAoB,EAAE,MAAM,CAAI;IAChC,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,iBAAiB,CAA4B;gBAEjD,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,uBAAuB,EAAE,eAAe,EAAE,eAAe,EACvF,iBAAiB,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM;IA0HlD,OAAO,CAAC,mBAAmB,CAyE1B;IAKD,OAAO,CAAC,sBAAsB,CAO7B;IACD,OAAO,CAAC,mBAAmB,CAA8B;IACzD,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAM;IAC9C,OAAO,CAAC,oBAAoB,CAc3B;IACD,OAAO,CAAC,gBAAgB,CAcvB;IAED,OAAO,CAAC,aAAa,CAwMpB;IAID,aAAa,GAAU,MAAM,kBAAkB,EAAE,QAAQ,MAAM,yBAQ9D;IACD,QAAQ,GAAI,OAAO,OAAO,UAIzB;IACD,SAAS,GAAI,OAAO,OAAO,EAAE,YAAY,MAAM,EAAE,YAehD;IACD,KAAK,QAAO,OAAO,CAAC,MAAM,CAAC,CAO1B;IACD,IAAI,aAMH;CAGJ"}
1
+ {"version":3,"file":"DevServer.d.ts","sourceRoot":"","sources":["../../src/Servers/DevServer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,OAA4D,MAAM,SAAS,CAAA;AAGlF,OAAO,sBAAsB,CAAA;AAE7B,OAAO,KAAK,EAAE,uBAAuB,EAAwB,MAAM,uBAAuB,CAAA;AAC1F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAMpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAW3C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAKrC,OAAO,EAAE,UAAU,EAAkB,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AAEjG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAoBrD,qBAAa,SAAU,SAAQ,cAAc;IACzC,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,uBAAuB,CAAA;IAC/B,eAAe,EAAE,eAAe,CAAA;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAO;IAC9B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAA;IAExB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,OAAO,CAAO;IAC3B,cAAc,EAAE,MAAM,CAAI;IAC1B,oBAAoB,EAAE,MAAM,CAAI;IAChC,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,iBAAiB,CAA4B;gBAEjD,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,uBAAuB,EAAE,eAAe,EAAE,eAAe,EACvF,iBAAiB,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM;IA0HlD,OAAO,CAAC,mBAAmB,CAyE1B;IAKD,OAAO,CAAC,sBAAsB,CAO7B;IACD,OAAO,CAAC,mBAAmB,CAA8B;IACzD,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,kBAAkB,CAAyB;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAM;IAC9C,OAAO,CAAC,oBAAoB,CAwB3B;IACD,OAAO,CAAC,mBAAmB,CAO1B;IACD,OAAO,CAAC,gBAAgB,CAcvB;IAED,OAAO,CAAC,aAAa,CAwMpB;IAID,aAAa,GAAU,MAAM,kBAAkB,EAAE,QAAQ,MAAM,yBAQ9D;IACD,QAAQ,GAAI,OAAO,OAAO,UAIzB;IACD,SAAS,GAAI,OAAO,OAAO,EAAE,YAAY,MAAM,EAAE,YAiBhD;IACD,KAAK,QAAO,OAAO,CAAC,MAAM,CAAC,CAO1B;IACD,IAAI,aAMH;CAGJ"}
@@ -2,7 +2,8 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
2
2
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
3
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
4
  import express from 'express';
5
- import { join } from 'path';
5
+ import { join, relative } from 'path';
6
+ import slash from 'slash';
6
7
  import "../moduleReloader.js"; // V important ES module cache control
7
8
  import { allObj as promiseAllObj } from 'sxy-lib/promises.js';
8
9
  import { staticFolder, assetsFolder, publicFolder, packagesFolder, clientFolder, componentCssFolder } from "../settings.js";
@@ -26,7 +27,9 @@ import { loadEnvsDev } from "./loadEnvsDev.js";
26
27
  import { initStores } from "./initStores.js";
27
28
  import { MatchedRoute } from "../routing/MatchedRoute.js";
28
29
  import { iterationQueryString } from "../iterationQueryString.js";
29
- import { onReloadEvent } from "../dev/liveReloadHub.js";
30
+ import { onReloadEvent } from "../hmr/liveReloadHub.js";
31
+ import { importDevModuleWithRetry } from "../importDevModuleWithRetry.js";
32
+ import { devErrorPageAutoRetryScript } from "./devErrorPageAutoRetry.js";
30
33
  //import cookieParser from 'cookie-parser'
31
34
  function debug(...texts) {
32
35
  // console.log(...texts)
@@ -83,7 +86,7 @@ export class DevServer extends TungstenServer {
83
86
  //const load = await createLoad(import.meta.url, sxyLoaderConfig)
84
87
  const fullFilePath = 'file://' + join(this.compilationInfo.codeLocation, middlewareFile);
85
88
  //const middlewareModule = await load(fullFilePath)
86
- const middlewareModule = await import(iterationQueryString(fullFilePath, this.serverIterationCount++, 'middleware'));
89
+ const middlewareModule = await importDevModuleWithRetry(iterationQueryString(fullFilePath, this.serverIterationCount++, 'middleware'));
87
90
  if (!(middlewareExportName in middlewareModule)) {
88
91
  throwError('DevServer', `export ${middlewareExportName} not found in ${middlewareFile}` + ` when trying to load server middleware`);
89
92
  }
@@ -128,21 +131,43 @@ export class DevServer extends TungstenServer {
128
131
  });
129
132
  _defineProperty(this, "reloadDebounceTimer", null);
130
133
  _defineProperty(this, "pendingReloadKind", null);
131
- _defineProperty(this, "broadcastReloadEvent", kind => {
134
+ _defineProperty(this, "pendingReloadFiles", new Set());
135
+ _defineProperty(this, "broadcastReloadEvent", ({
136
+ kind,
137
+ file
138
+ }) => {
132
139
  // A single save can fire several filesystem events in quick succession -
133
140
  // tsc's writer often truncates a file before writing its new contents, and each
134
141
  // of those steps runs back through this framework's own watch -> transform -> write
135
142
  // cycle. Reloading on the first signal can land the browser on a momentarily
136
143
  // half-written file, so wait for the burst to go quiet before actually reloading.
137
144
  this.pendingReloadKind = this.pendingReloadKind === 'js' || kind === 'js' ? 'js' : kind;
145
+ if (file !== undefined) this.pendingReloadFiles.add(file);
138
146
  if (this.reloadDebounceTimer !== null) clearTimeout(this.reloadDebounceTimer);
139
147
  this.reloadDebounceTimer = setTimeout(() => {
140
148
  const finalKind = this.pendingReloadKind ?? kind;
141
- for (const client of this.liveReloadClients) client.write(`event: ${finalKind}\ndata: reload\n\n`);
149
+ // 'files' carries the compiled-URL path of every changed component file, so the
150
+ // browser can attempt an in-place HMR swap instead of a full reload. Left empty for
151
+ // css events, or if a js event arrived with no known source file - the client falls
152
+ // back to a full reload in both cases.
153
+ const files = finalKind === 'js' ? [...this.pendingReloadFiles].map(this.sourceFileToUrlPath) : [];
154
+ const payload = JSON.stringify({
155
+ files
156
+ });
157
+ for (const client of this.liveReloadClients) client.write(`event: ${finalKind}\ndata: ${payload}\n\n`);
142
158
  this.reloadDebounceTimer = null;
143
159
  this.pendingReloadKind = null;
160
+ this.pendingReloadFiles.clear();
144
161
  }, DevServer.reloadDebounceMs);
145
162
  });
163
+ _defineProperty(this, "sourceFileToUrlPath", file => {
164
+ let rel = slash(relative(this.compilationInfo.codeLocation, file));
165
+ // compileJavascript strips the trailing 'x' off '.jsx' when writing the compiled
166
+ // output (the file no longer contains literal JSX after the babel transform) - match
167
+ // that here so the URL points at the file that's actually served.
168
+ if (rel.endsWith('.jsx')) rel = rel.slice(0, -1);
169
+ return `/${this.compilationInfo.codeSubPath}/${rel}`;
170
+ });
146
171
  _defineProperty(this, "handleRequestApi", async (req, res, next) => {
147
172
  req.params.foo;
148
173
  this.apiRoutes = await getApiRoutes(this.config, this.compilationInfo, 'dev');
@@ -340,11 +365,13 @@ export class DevServer extends TungstenServer {
340
365
  log('end error log');
341
366
  });
342
367
  _defineProperty(this, "errorPage", (error, errorTrack) => {
368
+ const autoRetryScript = devErrorPageAutoRetryScript(error);
343
369
  return `<!DOCTYPE html>
344
370
  </html>
345
371
  <head>
346
372
  <title>Error</title>
347
373
  <style>html { font-family: arial }</style>
374
+ ${autoRetryScript ? `<script>${autoRetryScript}</script>` : ''}
348
375
  </head>
349
376
  <body>
350
377
  <h1>Application Error</h1>
@@ -0,0 +1,4 @@
1
+ export declare const maxAutoRetryAttempts = 8;
2
+ export declare function devErrorPageAutoRetryScript(error: unknown): string;
3
+ export declare const devErrorPageClearRetryScript = "try{sessionStorage.removeItem('tungstenDevErrorRetryCount')}catch(e){}";
4
+ //# sourceMappingURL=devErrorPageAutoRetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devErrorPageAutoRetry.d.ts","sourceRoot":"","sources":["../../src/Servers/devErrorPageAutoRetry.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,oBAAoB,IAAI,CAAA;AAGrC,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAqBlE;AAKD,eAAO,MAAM,4BAA4B,2EAC6B,CAAA"}
@@ -0,0 +1,26 @@
1
+ // devErrorPageAutoRetry
2
+ // exports devErrorPageAutoRetryScript, devErrorPageClearRetryScript, maxAutoRetryAttempts
3
+ //
4
+ // Dev-only. importDevModuleWithRetry.ts already rides out the common case of a transient,
5
+ // self-resolving module-shape error from a multi-file edit landing mid-compile - but under heavy
6
+ // load its bounded retry budget can still be exhausted before the underlying tsc/babel pipeline
7
+ // settles (see docs/hmr.md), leaving the developer looking at a dead dev error page for what's
8
+ // still, in fact, a self-resolving situation. If the error that reached the error page still
9
+ // looks like that same transient shape, embed a tiny script that auto-reloads a few times before
10
+ // giving up - capped via sessionStorage so a genuine, permanent error doesn't loop forever.
11
+ import { isTransientDevModuleError } from "../importDevModuleWithRetry.js";
12
+ const sessionStorageKey = 'tungstenDevErrorRetryCount';
13
+ export const maxAutoRetryAttempts = 8;
14
+ const retryDelayMs = 500;
15
+ export function devErrorPageAutoRetryScript(error) {
16
+ if (!isTransientDevModuleError(error)) return '';
17
+ // Wrapped in try/catch: sessionStorage can throw (some private-browsing modes, restrictive
18
+ // embedding contexts) rather than just being absent. Without a working store there's no way
19
+ // to safely cap attempts, so degrade to doing nothing rather than risk retrying unbounded -
20
+ // same as if this feature didn't exist, not worse.
21
+ return `(function(){` + `try{` + `var key='${sessionStorageKey}';` + `var count=parseInt(sessionStorage.getItem(key)||'0',10);` + `if(count<${maxAutoRetryAttempts}){` + `sessionStorage.setItem(key,String(count+1));` + `setTimeout(function(){location.reload()},${retryDelayMs})` + `}else{` + `console.error('[tungsten-dev] gave up auto-retrying a transient-looking error after ` + `${maxAutoRetryAttempts} attempts - this may be a real error, not a transient compile race')` + `}` + `}catch(e){` + `console.error('[tungsten-dev] could not auto-retry - sessionStorage unavailable',e)` + `}` + `})();`;
22
+ }
23
+ // Injected into every successfully-rendered dev page (see processHead.ts), so a later, unrelated
24
+ // transient error starts its own retry budget from zero rather than inheriting a stale count.
25
+ // Same try/catch reasoning as above - a successful render should never itself error out over this.
26
+ export const devErrorPageClearRetryScript = `try{sessionStorage.removeItem('${sessionStorageKey}')}catch(e){}`;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=devErrorPageAutoRetry.sxyt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devErrorPageAutoRetry.sxyt.d.ts","sourceRoot":"","sources":["../../src/Servers/devErrorPageAutoRetry.sxyt.ts"],"names":[],"mappings":""}
@@ -0,0 +1,117 @@
1
+ import { expect } from 'chai';
2
+ import { describe } from 'sxy-test-runner';
3
+ import { devErrorPageAutoRetryScript, devErrorPageClearRetryScript, maxAutoRetryAttempts } from "./devErrorPageAutoRetry.js";
4
+ describe('devErrorPageAutoRetryScript()', ({
5
+ it
6
+ }) => {
7
+ it('returns a script that reloads the page for a transient module-shape error', () => {
8
+ const error = new SyntaxError(`The requested module './Button.js' does not provide an export named 'Button'`);
9
+ const script = devErrorPageAutoRetryScript(error);
10
+ expect(script).to.contain('sessionStorage');
11
+ expect(script).to.contain('location.reload()');
12
+ expect(script).to.contain(String(maxAutoRetryAttempts));
13
+ });
14
+ it('returns nothing for a genuine, unrelated error - so a real bug does not silently auto-reload forever', () => {
15
+ const error = new Error('something else broke entirely');
16
+ expect(devErrorPageAutoRetryScript(error)).to.equal('');
17
+ });
18
+ it('returns nothing for a non-Error thrown value', () => {
19
+ expect(devErrorPageAutoRetryScript('a plain string was thrown')).to.equal('');
20
+ });
21
+ });
22
+ describe('devErrorPageClearRetryScript', ({
23
+ it
24
+ }) => {
25
+ it('clears the same sessionStorage key the retry script writes to', () => {
26
+ const error = new SyntaxError(`does not provide an export named 'X'`);
27
+ const retryScript = devErrorPageAutoRetryScript(error);
28
+ const keyMatch = retryScript.match(/var key='([^']+)'/);
29
+ expect(keyMatch).to.not.equal(null);
30
+ expect(devErrorPageClearRetryScript).to.contain(keyMatch[1]);
31
+ });
32
+ });
33
+ describe('devErrorPageAutoRetryScript() - executed in a sandbox', ({
34
+ it
35
+ }) => {
36
+ function run(script, sessionStorage) {
37
+ let reloaded = false;
38
+ let threw = null;
39
+ const location = {
40
+ reload: () => {
41
+ reloaded = true;
42
+ }
43
+ };
44
+ const fakeSetTimeout = fn => fn(); // run "immediately" for the test
45
+ try {
46
+ // eslint-disable-next-line no-new-func -- executing the generated dev-page script is exactly what's under test
47
+ const fn = new Function('sessionStorage', 'location', 'setTimeout', 'console', script);
48
+ fn(sessionStorage, location, fakeSetTimeout, console);
49
+ } catch (e) {
50
+ threw = e;
51
+ }
52
+ return {
53
+ reloaded,
54
+ threw
55
+ };
56
+ }
57
+ it('reloads once when sessionStorage works normally', () => {
58
+ const store = new Map();
59
+ const sessionStorage = {
60
+ getItem: k => store.get(k) ?? null,
61
+ setItem: (k, v) => {
62
+ store.set(k, v);
63
+ }
64
+ };
65
+ const script = devErrorPageAutoRetryScript(new SyntaxError(`does not provide an export named 'X'`));
66
+ const {
67
+ reloaded,
68
+ threw
69
+ } = run(script, sessionStorage);
70
+ expect(threw).to.equal(null);
71
+ expect(reloaded).to.equal(true);
72
+ });
73
+ it('does not reload (and does not throw) once the attempt cap is reached', () => {
74
+ const store = new Map([['tungstenDevErrorRetryCount', String(maxAutoRetryAttempts)]]);
75
+ const sessionStorage = {
76
+ getItem: k => store.get(k) ?? null,
77
+ setItem: (k, v) => {
78
+ store.set(k, v);
79
+ }
80
+ };
81
+ const script = devErrorPageAutoRetryScript(new SyntaxError(`does not provide an export named 'X'`));
82
+ const {
83
+ reloaded,
84
+ threw
85
+ } = run(script, sessionStorage);
86
+ expect(threw).to.equal(null);
87
+ expect(reloaded).to.equal(false);
88
+ });
89
+ it('degrades safely (no throw, no reload) when sessionStorage itself is blocked - e.g. some private-browsing modes', () => {
90
+ const sessionStorage = {
91
+ getItem: () => {
92
+ throw new Error('SecurityError: sessionStorage is not available');
93
+ },
94
+ setItem: () => {
95
+ throw new Error('SecurityError: sessionStorage is not available');
96
+ }
97
+ };
98
+ const script = devErrorPageAutoRetryScript(new SyntaxError(`does not provide an export named 'X'`));
99
+ const {
100
+ reloaded,
101
+ threw
102
+ } = run(script, sessionStorage);
103
+ expect(threw).to.equal(null);
104
+ expect(reloaded).to.equal(false);
105
+ });
106
+ it('devErrorPageClearRetryScript also degrades safely when sessionStorage is blocked', () => {
107
+ const sessionStorage = {
108
+ removeItem: () => {
109
+ throw new Error('SecurityError: sessionStorage is not available');
110
+ }
111
+ };
112
+ const {
113
+ threw
114
+ } = run(devErrorPageClearRetryScript, sessionStorage);
115
+ expect(threw).to.equal(null);
116
+ });
117
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"getExport.d.ts","sourceRoot":"","sources":["../../src/api/getExport.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAOjC,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,IAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAuBpG"}
1
+ {"version":3,"file":"getExport.d.ts","sourceRoot":"","sources":["../../src/api/getExport.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAQjC,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,IAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAuBpG"}
@@ -2,6 +2,7 @@ import { basename } from 'path';
2
2
  import { fixExtension } from "../fixExtension.js";
3
3
  import { TungstenError } from "../TungstenError.js";
4
4
  import { iterationQueryString } from "../iterationQueryString.js";
5
+ import { importDevModuleWithRetry } from "../importDevModuleWithRetry.js";
5
6
  //let load //// !! future improvement
6
7
  let exportIteration = 0;
7
8
  export async function getExport(filePath, relFile, mode = 'prod') {
@@ -12,7 +13,7 @@ export async function getExport(filePath, relFile, mode = 'prod') {
12
13
  if (mode === 'dev') {
13
14
  //if ( ! load ) load = await createLoad(import.meta.url, sxyLoaderConfig) //// !! future improvement
14
15
  //const load = await createLoad(import.meta.url, sxyLoaderConfig)
15
- module = await import(iterationQueryString(filePath, exportIteration++, 'api'));
16
+ module = await importDevModuleWithRetry(iterationQueryString(filePath, exportIteration++, 'api'));
16
17
  } else {
17
18
  module = await import(filePath); // import the module
18
19
  }
@@ -0,0 +1,11 @@
1
+ import type { NodePath, BabelFile } from '@babel/core';
2
+ import type { ImportDeclaration, ExportNamedDeclaration, ExportAllDeclaration } from '@babel/types';
3
+ export declare function MakeBabelAddDevCacheBust(): () => {
4
+ pre(state: BabelFile): void;
5
+ visitor: {
6
+ ImportDeclaration(path: NodePath<ImportDeclaration>): void;
7
+ ExportNamedDeclaration(path: NodePath<ExportNamedDeclaration>): void;
8
+ ExportAllDeclaration(path: NodePath<ExportAllDeclaration>): void;
9
+ };
10
+ };
11
+ //# sourceMappingURL=BabelAddDevCacheBust.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BabelAddDevCacheBust.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelAddDevCacheBust.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAuBnG,wBAAgB,wBAAwB;eAIjB,SAAS;;gCAKQ,QAAQ,CAAC,iBAAiB,CAAC;qCAItB,QAAQ,CAAC,sBAAsB,CAAC;mCAIlC,QAAQ,CAAC,oBAAoB,CAAC;;EAOxE"}