@cedarjs/vite 5.0.3 → 5.0.4-next.167

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 (143) hide show
  1. package/dist/api/vite-plugin-cedar-vitest-api-preset.d.ts.map +1 -1
  2. package/dist/api/vite-plugin-cedar-vitest-api-preset.js +4 -0
  3. package/dist/apiDevMiddleware.d.ts.map +1 -1
  4. package/dist/apiDevMiddleware.js +105 -9
  5. package/dist/buildApp.d.ts.map +1 -1
  6. package/dist/buildApp.js +79 -18
  7. package/dist/buildRouteHooks.d.ts.map +1 -1
  8. package/dist/buildRouteHooks.js +36 -4
  9. package/dist/bundled/react-server-dom-webpack.server.js +192 -99
  10. package/dist/cedar-unified-dev.d.ts +18 -0
  11. package/dist/cedar-unified-dev.d.ts.map +1 -1
  12. package/dist/cedar-unified-dev.js +39 -5
  13. package/dist/devFeServer.js +3 -8
  14. package/dist/index.d.ts +10 -4
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +45 -19
  17. package/dist/lib/generateDiffSourceMap.d.ts +18 -0
  18. package/dist/lib/generateDiffSourceMap.d.ts.map +1 -0
  19. package/dist/lib/generateDiffSourceMap.js +151 -0
  20. package/dist/lib/getMergedConfig.d.ts.map +1 -1
  21. package/dist/lib/getMergedConfig.js +4 -0
  22. package/dist/plugins/vite-plugin-cedar-auto-import.d.ts +1 -1
  23. package/dist/plugins/vite-plugin-cedar-auto-import.d.ts.map +1 -1
  24. package/dist/plugins/vite-plugin-cedar-auto-import.js +8 -1
  25. package/dist/plugins/vite-plugin-cedar-cell.d.ts.map +1 -1
  26. package/dist/plugins/vite-plugin-cedar-cell.js +2 -1
  27. package/dist/plugins/vite-plugin-cedar-data-uri-shim.d.ts +3 -0
  28. package/dist/plugins/vite-plugin-cedar-data-uri-shim.d.ts.map +1 -0
  29. package/dist/plugins/vite-plugin-cedar-data-uri-shim.js +43 -0
  30. package/dist/plugins/vite-plugin-cedar-directory-named-import.d.ts +12 -0
  31. package/dist/plugins/vite-plugin-cedar-directory-named-import.d.ts.map +1 -0
  32. package/dist/plugins/vite-plugin-cedar-directory-named-import.js +35 -0
  33. package/dist/plugins/vite-plugin-cedar-gqlorm-inject.d.ts +29 -0
  34. package/dist/plugins/vite-plugin-cedar-gqlorm-inject.d.ts.map +1 -0
  35. package/dist/plugins/vite-plugin-cedar-gqlorm-inject.js +76 -0
  36. package/dist/plugins/vite-plugin-cedar-graphql-options-extract.d.ts +42 -0
  37. package/dist/plugins/vite-plugin-cedar-graphql-options-extract.d.ts.map +1 -0
  38. package/dist/plugins/vite-plugin-cedar-graphql-options-extract.js +93 -0
  39. package/dist/plugins/vite-plugin-cedar-import-dir.d.ts.map +1 -1
  40. package/dist/plugins/vite-plugin-cedar-import-dir.js +33 -15
  41. package/dist/plugins/vite-plugin-cedar-log-formatter-dev.d.ts +28 -0
  42. package/dist/plugins/vite-plugin-cedar-log-formatter-dev.d.ts.map +1 -0
  43. package/dist/plugins/vite-plugin-cedar-log-formatter-dev.js +67 -0
  44. package/dist/plugins/vite-plugin-cedar-mock-cell-data.d.ts +28 -0
  45. package/dist/plugins/vite-plugin-cedar-mock-cell-data.d.ts.map +1 -0
  46. package/dist/plugins/vite-plugin-cedar-mock-cell-data.js +247 -0
  47. package/dist/plugins/vite-plugin-cedar-otel-wrapping.d.ts +39 -0
  48. package/dist/plugins/vite-plugin-cedar-otel-wrapping.d.ts.map +1 -0
  49. package/dist/plugins/vite-plugin-cedar-otel-wrapping.js +200 -0
  50. package/dist/plugins/vite-plugin-cedar-universal-deploy.js +1 -1
  51. package/dist/plugins/vite-plugin-cedarjs-resolve-cedar-style-imports.d.ts.map +1 -1
  52. package/dist/plugins/vite-plugin-cedarjs-resolve-cedar-style-imports.js +14 -0
  53. package/dist/plugins/{vite-plugin-cedar-context-wrapping.d.ts → vite-plugin-handler-als-wrapping.d.ts} +12 -12
  54. package/dist/plugins/vite-plugin-handler-als-wrapping.d.ts.map +1 -0
  55. package/dist/plugins/{vite-plugin-cedar-context-wrapping.js → vite-plugin-handler-als-wrapping.js} +16 -16
  56. package/dist/plugins/vite-plugin-swap-apollo-provider.d.ts +3 -0
  57. package/dist/plugins/vite-plugin-swap-apollo-provider.d.ts.map +1 -1
  58. package/dist/plugins/vite-plugin-swap-apollo-provider.js +2 -2
  59. package/dist/rsc/rscBuildForSsr.d.ts.map +1 -1
  60. package/dist/rsc/rscBuildForSsr.js +3 -5
  61. package/dist/streaming/buildForStreamingServer.d.ts.map +1 -1
  62. package/dist/streaming/buildForStreamingServer.js +3 -5
  63. package/package.json +42 -52
  64. package/dist/cjs/ClientRouter.d.ts +0 -1
  65. package/dist/cjs/api/vite-plugin-cedar-vitest-api-preset.js +0 -37
  66. package/dist/cjs/apiDevMiddleware.js +0 -371
  67. package/dist/cjs/build/build.d.ts +0 -1
  68. package/dist/cjs/build/build.js +0 -58
  69. package/dist/cjs/buildApp.js +0 -306
  70. package/dist/cjs/buildFeServer.d.ts +0 -1
  71. package/dist/cjs/buildFeServer.js +0 -63
  72. package/dist/cjs/buildRouteHooks.js +0 -80
  73. package/dist/cjs/buildRouteManifest.js +0 -92
  74. package/dist/cjs/buildRscClientAndServer.js +0 -54
  75. package/dist/cjs/cedar-unified-dev.js +0 -310
  76. package/dist/cjs/client.d.ts +0 -1
  77. package/dist/cjs/clientSsr.d.ts +0 -1
  78. package/dist/cjs/devFeServer.js +0 -157
  79. package/dist/cjs/index.d.ts +0 -1
  80. package/dist/cjs/index.js +0 -141
  81. package/dist/cjs/lib/StatusError.js +0 -37
  82. package/dist/cjs/lib/entries.js +0 -52
  83. package/dist/cjs/lib/getMergedConfig.js +0 -185
  84. package/dist/cjs/lib/onWarn.js +0 -36
  85. package/dist/cjs/lib/registerFwGlobalsAndShims.js +0 -102
  86. package/dist/cjs/lib/workspacePackageAliases.js +0 -107
  87. package/dist/cjs/middleware/index.js +0 -22
  88. package/dist/cjs/middleware/invokeMiddleware.js +0 -52
  89. package/dist/cjs/middleware/register.js +0 -105
  90. package/dist/cjs/middleware/types.js +0 -16
  91. package/dist/cjs/package.json +0 -1
  92. package/dist/cjs/plugins/vite-plugin-cedar-auto-import.js +0 -107
  93. package/dist/cjs/plugins/vite-plugin-cedar-cell.js +0 -183
  94. package/dist/cjs/plugins/vite-plugin-cedar-cjs-compat.js +0 -341
  95. package/dist/cjs/plugins/vite-plugin-cedar-context-wrapping.js +0 -95
  96. package/dist/cjs/plugins/vite-plugin-cedar-entry-injection.js +0 -107
  97. package/dist/cjs/plugins/vite-plugin-cedar-html-env.js +0 -67
  98. package/dist/cjs/plugins/vite-plugin-cedar-import-dir.js +0 -118
  99. package/dist/cjs/plugins/vite-plugin-cedar-node-polyfills.js +0 -43
  100. package/dist/cjs/plugins/vite-plugin-cedar-remove-dev-fatal-error-page.js +0 -61
  101. package/dist/cjs/plugins/vite-plugin-cedar-remove-from-bundle.js +0 -76
  102. package/dist/cjs/plugins/vite-plugin-cedar-routes-auto-loader.js +0 -126
  103. package/dist/cjs/plugins/vite-plugin-cedar-universal-deploy.js +0 -346
  104. package/dist/cjs/plugins/vite-plugin-cedar-wait-for-api-server.js +0 -134
  105. package/dist/cjs/plugins/vite-plugin-cedarjs-job-path-injector.js +0 -134
  106. package/dist/cjs/plugins/vite-plugin-cedarjs-resolve-cedar-style-imports.js +0 -106
  107. package/dist/cjs/plugins/vite-plugin-jsx-loader.js +0 -42
  108. package/dist/cjs/plugins/vite-plugin-merged-config.js +0 -39
  109. package/dist/cjs/plugins/vite-plugin-rsc-analyze.js +0 -104
  110. package/dist/cjs/plugins/vite-plugin-rsc-reload.js +0 -75
  111. package/dist/cjs/plugins/vite-plugin-rsc-routes-auto-loader.js +0 -159
  112. package/dist/cjs/plugins/vite-plugin-rsc-routes-imports.js +0 -125
  113. package/dist/cjs/plugins/vite-plugin-rsc-ssr-router-import.js +0 -75
  114. package/dist/cjs/plugins/vite-plugin-rsc-transform-client.js +0 -228
  115. package/dist/cjs/plugins/vite-plugin-rsc-transform-server.js +0 -398
  116. package/dist/cjs/plugins/vite-plugin-swap-apollo-provider.js +0 -46
  117. package/dist/cjs/rsc/rscBuildAnalyze.js +0 -126
  118. package/dist/cjs/rsc/rscBuildClient.js +0 -91
  119. package/dist/cjs/rsc/rscBuildCopyCssAssets.js +0 -56
  120. package/dist/cjs/rsc/rscBuildEntriesFile.js +0 -115
  121. package/dist/cjs/rsc/rscBuildForServer.js +0 -168
  122. package/dist/cjs/rsc/rscBuildForSsr.js +0 -173
  123. package/dist/cjs/rsc/rscBuildRwEnvVars.js +0 -56
  124. package/dist/cjs/rsc/rscRenderer.js +0 -165
  125. package/dist/cjs/rsc/rscRequestHandler.js +0 -162
  126. package/dist/cjs/rsc/rscStudioHandlers.js +0 -156
  127. package/dist/cjs/runFeServer.js +0 -165
  128. package/dist/cjs/streaming/buildForStreamingServer.js +0 -65
  129. package/dist/cjs/streaming/collectCss.js +0 -52
  130. package/dist/cjs/streaming/createReactStreamingHandler.js +0 -173
  131. package/dist/cjs/streaming/streamHelpers.js +0 -230
  132. package/dist/cjs/streaming/transforms/bufferedTransform.js +0 -61
  133. package/dist/cjs/streaming/transforms/cancelTimeoutTransform.js +0 -34
  134. package/dist/cjs/streaming/transforms/encode-decode.js +0 -36
  135. package/dist/cjs/streaming/transforms/serverInjectionTransform.js +0 -84
  136. package/dist/cjs/streaming/triggerRouteHooks.js +0 -96
  137. package/dist/cjs/types.js +0 -16
  138. package/dist/cjs/utils.js +0 -92
  139. package/dist/package.json +0 -1
  140. package/dist/plugins/vite-plugin-cedar-context-wrapping.d.ts.map +0 -1
  141. package/dist/plugins/vite-plugin-cedar-node-polyfills.d.ts +0 -3
  142. package/dist/plugins/vite-plugin-cedar-node-polyfills.d.ts.map +0 -1
  143. package/dist/plugins/vite-plugin-cedar-node-polyfills.js +0 -19
@@ -5,7 +5,11 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __getProtoOf = Object.getPrototypeOf;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __commonJS = (cb, mod) => function __require() {
8
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
8
+ try {
9
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10
+ } catch (e) {
11
+ throw mod = 0, e;
12
+ }
9
13
  };
10
14
  var __copyProps = (to, from, except, desc) => {
11
15
  if (from && typeof from === "object" || typeof from === "function") {
@@ -30274,6 +30278,11 @@ var require_react_server_dom_webpack_server_node_production = __commonJS({
30274
30278
  if (hasOwnProperty.call(moduleExports, metadata[2]))
30275
30279
  return moduleExports[metadata[2]];
30276
30280
  }
30281
+ function appendBackingEntry(backingStore, key, value) {
30282
+ backingStore.data.append(key, value);
30283
+ value = backingStore.keys;
30284
+ null === value ? (backingStore.keys = Array.from(backingStore.data.keys()), backingStore.keyPointer = 0) : value.push(key);
30285
+ }
30277
30286
  var RESPONSE_SYMBOL = /* @__PURE__ */ Symbol();
30278
30287
  function ReactPromise(status, value, reason) {
30279
30288
  this.status = status;
@@ -30559,7 +30568,7 @@ var require_react_server_dom_webpack_server_node_production = __commonJS({
30559
30568
  }
30560
30569
  function getChunk(response, id) {
30561
30570
  var chunks = response._chunks, chunk = chunks.get(id);
30562
- chunk || (chunk = response._formData.get(response._prefix + id), chunk = "string" === typeof chunk ? createResolvedModelChunk(response, chunk, id) : response._closed ? new ReactPromise("rejected", null, response._closedReason) : new ReactPromise("pending", null, null), chunks.set(id, chunk));
30571
+ chunk || (chunk = response._formData.data.get(response._prefix + id), chunk = "string" === typeof chunk ? createResolvedModelChunk(response, chunk, id) : response._closed ? new ReactPromise("rejected", null, response._closedReason) : new ReactPromise("pending", null, null), chunks.set(id, chunk));
30563
30572
  return chunk;
30564
30573
  }
30565
30574
  function fulfillReference(response, reference, value, arrayRoot) {
@@ -30608,6 +30617,10 @@ var require_react_server_dom_webpack_server_node_production = __commonJS({
30608
30617
  case "fulfilled":
30609
30618
  id = chunk.value;
30610
30619
  chunk = chunk.reason;
30620
+ if (null !== chunk && "error" in chunk)
30621
+ throw Error(
30622
+ "Expected an initialized chunk but got an initialized stream chunk instead. This payload may have been submitted by an older version of React."
30623
+ );
30611
30624
  for (var localLength = 0, rootArrayContexts = response._rootArrayContexts, i = 1; i < reference.length; i++) {
30612
30625
  localLength = reference[i];
30613
30626
  if ("object" !== typeof id || null === id || getPrototypeOf(id) !== ObjectPrototype && getPrototypeOf(id) !== ArrayPrototype || !hasOwnProperty.call(id, localLength))
@@ -30642,23 +30655,20 @@ var require_react_server_dom_webpack_server_node_production = __commonJS({
30642
30655
  function createMap(response, model) {
30643
30656
  if (!isArrayImpl(model)) throw Error("Invalid Map initializer.");
30644
30657
  if (true === model.$$consumed) throw Error("Already initialized Map.");
30645
- response = new Map(model);
30646
30658
  model.$$consumed = true;
30647
- return response;
30659
+ return new Map(model);
30648
30660
  }
30649
30661
  function createSet(response, model) {
30650
30662
  if (!isArrayImpl(model)) throw Error("Invalid Set initializer.");
30651
30663
  if (true === model.$$consumed) throw Error("Already initialized Set.");
30652
- response = new Set(model);
30653
30664
  model.$$consumed = true;
30654
- return response;
30665
+ return new Set(model);
30655
30666
  }
30656
30667
  function extractIterator(response, model) {
30657
30668
  if (!isArrayImpl(model)) throw Error("Invalid Iterator initializer.");
30658
30669
  if (true === model.$$consumed) throw Error("Already initialized Iterator.");
30659
- response = model[Symbol.iterator]();
30660
30670
  model.$$consumed = true;
30661
- return response;
30671
+ return model[Symbol.iterator]();
30662
30672
  }
30663
30673
  function createModel(response, model, parentObject, key) {
30664
30674
  return "then" === key && "function" === typeof model ? null : model;
@@ -30686,7 +30696,7 @@ var require_react_server_dom_webpack_server_node_production = __commonJS({
30686
30696
  Error("Already initialized typed array.")
30687
30697
  )
30688
30698
  );
30689
- reference = response._formData.get(key).arrayBuffer();
30699
+ reference = response._formData.data.get(key).arrayBuffer();
30690
30700
  if (initializingHandler) {
30691
30701
  var handler = initializingHandler;
30692
30702
  handler.deps++;
@@ -30717,7 +30727,7 @@ var require_react_server_dom_webpack_server_node_production = __commonJS({
30717
30727
  var chunks = response._chunks;
30718
30728
  stream2 = new ReactPromise("fulfilled", stream2, controller);
30719
30729
  chunks.set(id, stream2);
30720
- response = response._formData.getAll(response._prefix + id);
30730
+ response = response._formData.data.getAll(response._prefix + id);
30721
30731
  for (id = 0; id < response.length; id++)
30722
30732
  chunks = response[id], "string" === typeof chunks && ("C" === chunks[0] ? controller.close("C" === chunks ? '"$undefined"' : chunks.slice(1)) : controller.enqueueModel(chunks));
30723
30733
  }
@@ -30885,18 +30895,25 @@ var require_react_server_dom_webpack_server_node_production = __commonJS({
30885
30895
  case "W":
30886
30896
  return arrayRoot = value.slice(2), getOutlinedModel(response, arrayRoot, obj, key, null, createSet);
30887
30897
  case "K":
30888
- obj = value.slice(2);
30889
- obj = response._prefix + obj + "_";
30890
- key = new FormData();
30891
- response = response._formData;
30892
- arrayRoot = Array.from(response.keys());
30893
- for (value = 0; value < arrayRoot.length; value++)
30894
- if (reference = arrayRoot[value], reference.startsWith(obj)) {
30895
- for (var entries = response.getAll(reference), newKey = reference.slice(obj.length), j = 0; j < entries.length; j++)
30896
- key.append(newKey, entries[j]);
30897
- response.delete(reference);
30898
- }
30899
- return key;
30898
+ key = value.slice(2);
30899
+ obj = response._prefix + "_";
30900
+ key = obj + key + "_";
30901
+ arrayRoot = new FormData();
30902
+ for (response = response._formData; ; ) {
30903
+ value = response.keys;
30904
+ null === value && (value = response.keys = Array.from(response.data.keys()), response.keyPointer = 0);
30905
+ value = value[response.keyPointer];
30906
+ if (void 0 === value) break;
30907
+ if (value.startsWith(key)) {
30908
+ reference = response.data.getAll(value);
30909
+ for (var referencedFormDataKey = value.slice(key.length), i = 0; i < reference.length; i++)
30910
+ arrayRoot.append(referencedFormDataKey, reference[i]);
30911
+ response.data.delete(value);
30912
+ response.keyPointer++;
30913
+ } else if (value.startsWith(obj)) break;
30914
+ else response.keyPointer++;
30915
+ }
30916
+ return arrayRoot;
30900
30917
  case "i":
30901
30918
  return arrayRoot = value.slice(2), getOutlinedModel(response, arrayRoot, obj, key, null, extractIterator);
30902
30919
  case "I":
@@ -31048,7 +31065,7 @@ var require_react_server_dom_webpack_server_node_production = __commonJS({
31048
31065
  arrayRoot
31049
31066
  );
31050
31067
  case "B":
31051
- return obj = parseInt(value.slice(2), 16), response._formData.get(response._prefix + obj);
31068
+ return obj = parseInt(value.slice(2), 16), response._formData.data.get(response._prefix + obj);
31052
31069
  case "R":
31053
31070
  return parseReadableStream(response, value, void 0);
31054
31071
  case "r":
@@ -31069,7 +31086,7 @@ var require_react_server_dom_webpack_server_node_production = __commonJS({
31069
31086
  return {
31070
31087
  _bundlerConfig: bundlerConfig,
31071
31088
  _prefix: formFieldPrefix,
31072
- _formData: backingFormData,
31089
+ _formData: { data: backingFormData, keyPointer: -1, keys: null },
31073
31090
  _chunks: chunks,
31074
31091
  _closed: false,
31075
31092
  _closedReason: null,
@@ -31079,7 +31096,7 @@ var require_react_server_dom_webpack_server_node_production = __commonJS({
31079
31096
  };
31080
31097
  }
31081
31098
  function resolveField(response, key, value) {
31082
- response._formData.append(key, value);
31099
+ appendBackingEntry(response._formData, key, value);
31083
31100
  var prefix = response._prefix;
31084
31101
  if (key.startsWith(prefix)) {
31085
31102
  var chunks = response._chunks;
@@ -31218,7 +31235,7 @@ var require_react_server_dom_webpack_server_node_production = __commonJS({
31218
31235
  var _entry$value = entry.value;
31219
31236
  entry = _entry$value[0];
31220
31237
  _entry$value = _entry$value[1];
31221
- "string" === typeof _entry$value ? resolveField(response, entry, _entry$value) : response._formData.append(entry, _entry$value);
31238
+ "string" === typeof _entry$value ? resolveField(response, entry, _entry$value) : appendBackingEntry(response._formData, entry, _entry$value);
31222
31239
  iterator.next().then(progress, error);
31223
31240
  }
31224
31241
  }
@@ -31237,15 +31254,42 @@ var require_react_server_dom_webpack_server_node_production = __commonJS({
31237
31254
  return getChunk(response, 0);
31238
31255
  };
31239
31256
  exports.decodeReplyFromBusboy = function(busboyStream, webpackMap, options) {
31257
+ function flush() {
31258
+ for (; null !== head; ) {
31259
+ var current = head;
31260
+ if (!current.complete) return;
31261
+ try {
31262
+ var key = current.name, handle = current.file, blob = new Blob(handle.chunks, { type: handle.mime }), backingStore = response._formData, key$jscomp$0 = key;
31263
+ backingStore.data.append(key$jscomp$0, blob, handle.filename);
31264
+ var keys = backingStore.keys;
31265
+ null === keys ? (backingStore.keys = Array.from(backingStore.data.keys()), backingStore.keyPointer = 0) : keys.push(key$jscomp$0);
31266
+ var queuedFields = current.queuedFields;
31267
+ if (null !== queuedFields)
31268
+ for (key$jscomp$0 = 0; key$jscomp$0 < queuedFields.length; key$jscomp$0 += 2)
31269
+ resolveField(
31270
+ response,
31271
+ queuedFields[key$jscomp$0],
31272
+ queuedFields[key$jscomp$0 + 1]
31273
+ );
31274
+ } catch (error) {
31275
+ busboyStream.destroy(error);
31276
+ return;
31277
+ }
31278
+ head = current.next;
31279
+ }
31280
+ tail = null;
31281
+ bodyFinished && !closed && (closed = true, close(response));
31282
+ }
31240
31283
  var response = createResponse(
31241
31284
  webpackMap,
31242
31285
  "",
31243
31286
  options ? options.temporaryReferences : void 0,
31244
31287
  void 0,
31245
31288
  options ? options.arraySizeLimit : void 0
31246
- ), pendingFiles = 0, queuedFields = [];
31289
+ ), head = null, tail = null, bodyFinished = false, closed = false;
31247
31290
  busboyStream.on("field", function(name, value) {
31248
- if (0 < pendingFiles) queuedFields.push(name, value);
31291
+ if (null !== tail)
31292
+ null === tail.queuedFields && (tail.queuedFields = []), tail.queuedFields.push(name, value);
31249
31293
  else
31250
31294
  try {
31251
31295
  resolveField(response, name, value);
@@ -31262,35 +31306,38 @@ var require_react_server_dom_webpack_server_node_production = __commonJS({
31262
31306
  )
31263
31307
  );
31264
31308
  else {
31265
- pendingFiles++;
31266
- var JSCompiler_object_inline_chunks_287 = [];
31309
+ var file = { chunks: [], filename, mime: mimeType }, pendingFile = {
31310
+ name,
31311
+ file,
31312
+ complete: false,
31313
+ queuedFields: null,
31314
+ next: null
31315
+ };
31316
+ null === tail ? head = pendingFile : tail.next = pendingFile;
31317
+ tail = pendingFile;
31267
31318
  value.on("data", function(chunk) {
31268
- JSCompiler_object_inline_chunks_287.push(chunk);
31269
- });
31270
- value.on("end", function() {
31271
31319
  try {
31272
- var blob = new Blob(JSCompiler_object_inline_chunks_287, {
31273
- type: mimeType
31274
- });
31275
- response._formData.append(name, blob, filename);
31276
- pendingFiles--;
31277
- if (0 === pendingFiles) {
31278
- for (blob = 0; blob < queuedFields.length; blob += 2)
31279
- resolveField(
31280
- response,
31281
- queuedFields[blob],
31282
- queuedFields[blob + 1]
31283
- );
31284
- queuedFields.length = 0;
31285
- }
31320
+ file.chunks.push(chunk);
31286
31321
  } catch (error) {
31287
31322
  busboyStream.destroy(error);
31288
31323
  }
31289
31324
  });
31325
+ value.on("error", function(error) {
31326
+ busboyStream.destroy(error);
31327
+ });
31328
+ value.on("end", function() {
31329
+ pendingFile.complete = true;
31330
+ flush();
31331
+ });
31290
31332
  }
31291
31333
  });
31292
31334
  busboyStream.on("finish", function() {
31293
- close(response);
31335
+ bodyFinished = true;
31336
+ flush();
31337
+ closed || reportGlobalError(
31338
+ response,
31339
+ Error("Reply finished with incomplete file part.")
31340
+ );
31294
31341
  });
31295
31342
  busboyStream.on("error", function(err) {
31296
31343
  reportGlobalError(response, err);
@@ -34639,6 +34686,11 @@ var require_react_server_dom_webpack_server_node_development = __commonJS({
34639
34686
  if (hasOwnProperty.call(moduleExports, metadata[2]))
34640
34687
  return moduleExports[metadata[2]];
34641
34688
  }
34689
+ function appendBackingEntry(backingStore, key, value) {
34690
+ backingStore.data.append(key, value);
34691
+ value = backingStore.keys;
34692
+ null === value ? (backingStore.keys = Array.from(backingStore.data.keys()), backingStore.keyPointer = 0) : value.push(key);
34693
+ }
34642
34694
  function ReactPromise(status, value, reason) {
34643
34695
  this.status = status;
34644
34696
  this.value = value;
@@ -34878,7 +34930,7 @@ var require_react_server_dom_webpack_server_node_development = __commonJS({
34878
34930
  }
34879
34931
  function getChunk(response, id) {
34880
34932
  var chunks = response._chunks, chunk = chunks.get(id);
34881
- chunk || (chunk = response._formData.get(response._prefix + id), chunk = "string" === typeof chunk ? new ReactPromise(
34933
+ chunk || (chunk = response._formData.data.get(response._prefix + id), chunk = "string" === typeof chunk ? new ReactPromise(
34882
34934
  "resolved_model",
34883
34935
  chunk,
34884
34936
  _defineProperty({ id }, RESPONSE_SYMBOL, response)
@@ -34931,6 +34983,10 @@ var require_react_server_dom_webpack_server_node_development = __commonJS({
34931
34983
  case "fulfilled":
34932
34984
  id = chunk.value;
34933
34985
  chunk = chunk.reason;
34986
+ if (null !== chunk && "error" in chunk)
34987
+ throw Error(
34988
+ "Expected an initialized chunk but got an initialized stream chunk instead. This payload may have been submitted by an older version of React."
34989
+ );
34934
34990
  for (var localLength = 0, rootArrayContexts = response._rootArrayContexts, i = 1; i < reference.length; i++) {
34935
34991
  localLength = reference[i];
34936
34992
  if ("object" !== typeof id || null === id || getPrototypeOf(id) !== ObjectPrototype && getPrototypeOf(id) !== ArrayPrototype || !hasOwnProperty.call(id, localLength))
@@ -34971,23 +35027,20 @@ var require_react_server_dom_webpack_server_node_development = __commonJS({
34971
35027
  function createMap(response, model) {
34972
35028
  if (!isArrayImpl(model)) throw Error("Invalid Map initializer.");
34973
35029
  if (true === model.$$consumed) throw Error("Already initialized Map.");
34974
- response = new Map(model);
34975
35030
  model.$$consumed = true;
34976
- return response;
35031
+ return new Map(model);
34977
35032
  }
34978
35033
  function createSet(response, model) {
34979
35034
  if (!isArrayImpl(model)) throw Error("Invalid Set initializer.");
34980
35035
  if (true === model.$$consumed) throw Error("Already initialized Set.");
34981
- response = new Set(model);
34982
35036
  model.$$consumed = true;
34983
- return response;
35037
+ return new Set(model);
34984
35038
  }
34985
35039
  function extractIterator(response, model) {
34986
35040
  if (!isArrayImpl(model)) throw Error("Invalid Iterator initializer.");
34987
35041
  if (true === model.$$consumed) throw Error("Already initialized Iterator.");
34988
- response = model[Symbol.iterator]();
34989
35042
  model.$$consumed = true;
34990
- return response;
35043
+ return model[Symbol.iterator]();
34991
35044
  }
34992
35045
  function createModel(response, model, parentObject, key) {
34993
35046
  return "then" === key && "function" === typeof model ? null : model;
@@ -35015,7 +35068,7 @@ var require_react_server_dom_webpack_server_node_development = __commonJS({
35015
35068
  Error("Already initialized typed array.")
35016
35069
  )
35017
35070
  );
35018
- reference = response._formData.get(key).arrayBuffer();
35071
+ reference = response._formData.data.get(key).arrayBuffer();
35019
35072
  if (initializingHandler) {
35020
35073
  var handler = initializingHandler;
35021
35074
  handler.deps++;
@@ -35046,7 +35099,7 @@ var require_react_server_dom_webpack_server_node_development = __commonJS({
35046
35099
  var chunks = response._chunks;
35047
35100
  stream2 = new ReactPromise("fulfilled", stream2, controller);
35048
35101
  chunks.set(id, stream2);
35049
- response = response._formData.getAll(response._prefix + id);
35102
+ response = response._formData.data.getAll(response._prefix + id);
35050
35103
  for (id = 0; id < response.length; id++)
35051
35104
  chunks = response[id], "string" === typeof chunks && ("C" === chunks[0] ? controller.close(
35052
35105
  "C" === chunks ? '"$undefined"' : chunks.slice(1)
@@ -35215,18 +35268,27 @@ var require_react_server_dom_webpack_server_node_development = __commonJS({
35215
35268
  case "W":
35216
35269
  return arrayRoot = value.slice(2), getOutlinedModel(response, arrayRoot, obj, key, null, createSet);
35217
35270
  case "K":
35218
- obj = value.slice(2);
35219
- obj = response._prefix + obj + "_";
35220
- key = new FormData();
35221
- response = response._formData;
35222
- arrayRoot = Array.from(response.keys());
35223
- for (value = 0; value < arrayRoot.length; value++)
35224
- if (reference = arrayRoot[value], reference.startsWith(obj)) {
35225
- for (var entries = response.getAll(reference), newKey = reference.slice(obj.length), j = 0; j < entries.length; j++)
35226
- key.append(newKey, entries[j]);
35227
- response.delete(reference);
35228
- }
35229
- return key;
35271
+ key = value.slice(2);
35272
+ obj = response._prefix + "_";
35273
+ key = obj + key + "_";
35274
+ arrayRoot = new FormData();
35275
+ for (response = response._formData; ; ) {
35276
+ value = response;
35277
+ reference = value.keys;
35278
+ null === reference && (reference = value.keys = Array.from(value.data.keys()), value.keyPointer = 0);
35279
+ value = reference[value.keyPointer];
35280
+ if (void 0 === value) break;
35281
+ if (value.startsWith(key)) {
35282
+ reference = response.data.getAll(value);
35283
+ for (var referencedFormDataKey = value.slice(key.length), i = 0; i < reference.length; i++)
35284
+ arrayRoot.append(referencedFormDataKey, reference[i]);
35285
+ reference = response;
35286
+ reference.data.delete(value);
35287
+ reference.keyPointer++;
35288
+ } else if (value.startsWith(obj)) break;
35289
+ else response.keyPointer++;
35290
+ }
35291
+ return arrayRoot;
35230
35292
  case "i":
35231
35293
  return arrayRoot = value.slice(2), getOutlinedModel(
35232
35294
  response,
@@ -35385,7 +35447,7 @@ var require_react_server_dom_webpack_server_node_development = __commonJS({
35385
35447
  arrayRoot
35386
35448
  );
35387
35449
  case "B":
35388
- return obj = parseInt(value.slice(2), 16), response._formData.get(response._prefix + obj);
35450
+ return obj = parseInt(value.slice(2), 16), response._formData.data.get(response._prefix + obj);
35389
35451
  case "R":
35390
35452
  return parseReadableStream(response, value, void 0);
35391
35453
  case "r":
@@ -35413,7 +35475,7 @@ var require_react_server_dom_webpack_server_node_development = __commonJS({
35413
35475
  return {
35414
35476
  _bundlerConfig: bundlerConfig,
35415
35477
  _prefix: formFieldPrefix,
35416
- _formData: backingFormData,
35478
+ _formData: { data: backingFormData, keyPointer: -1, keys: null },
35417
35479
  _chunks: chunks,
35418
35480
  _closed: false,
35419
35481
  _closedReason: null,
@@ -35423,7 +35485,7 @@ var require_react_server_dom_webpack_server_node_development = __commonJS({
35423
35485
  };
35424
35486
  }
35425
35487
  function resolveField(response, key, value) {
35426
- response._formData.append(key, value);
35488
+ appendBackingEntry(response._formData, key, value);
35427
35489
  var prefix2 = response._prefix;
35428
35490
  if (key.startsWith(prefix2)) {
35429
35491
  var chunks = response._chunks;
@@ -36085,7 +36147,7 @@ var require_react_server_dom_webpack_server_node_development = __commonJS({
36085
36147
  var _entry$value = entry.value;
36086
36148
  entry = _entry$value[0];
36087
36149
  _entry$value = _entry$value[1];
36088
- "string" === typeof _entry$value ? resolveField(response, entry, _entry$value) : response._formData.append(entry, _entry$value);
36150
+ "string" === typeof _entry$value ? resolveField(response, entry, _entry$value) : appendBackingEntry(response._formData, entry, _entry$value);
36089
36151
  iterator.next().then(progress, error);
36090
36152
  }
36091
36153
  }
@@ -36104,18 +36166,46 @@ var require_react_server_dom_webpack_server_node_development = __commonJS({
36104
36166
  return getChunk(response, 0);
36105
36167
  };
36106
36168
  exports.decodeReplyFromBusboy = function(busboyStream, webpackMap, options) {
36107
- var response = createResponse(
36169
+ function flush() {
36170
+ for (; null !== head; ) {
36171
+ var current = head;
36172
+ if (!current.complete) return;
36173
+ try {
36174
+ var response = response$jscomp$0, key = current.name, handle = current.file, blob = new Blob(handle.chunks, { type: handle.mime }), backingStore = response._formData;
36175
+ response = key;
36176
+ backingStore.data.append(response, blob, handle.filename);
36177
+ var keys = backingStore.keys;
36178
+ null === keys ? (backingStore.keys = Array.from(backingStore.data.keys()), backingStore.keyPointer = 0) : keys.push(response);
36179
+ var queuedFields = current.queuedFields;
36180
+ if (null !== queuedFields)
36181
+ for (response = 0; response < queuedFields.length; response += 2)
36182
+ resolveField(
36183
+ response$jscomp$0,
36184
+ queuedFields[response],
36185
+ queuedFields[response + 1]
36186
+ );
36187
+ } catch (error) {
36188
+ busboyStream.destroy(error);
36189
+ return;
36190
+ }
36191
+ head = current.next;
36192
+ }
36193
+ tail = null;
36194
+ bodyFinished && !closed && (closed = true, close(response$jscomp$0));
36195
+ }
36196
+ var response$jscomp$0 = createResponse(
36108
36197
  webpackMap,
36109
36198
  "",
36110
36199
  options ? options.temporaryReferences : void 0,
36111
36200
  void 0,
36112
36201
  options ? options.arraySizeLimit : void 0
36113
- ), pendingFiles = 0, queuedFields = [];
36202
+ ), head = null, tail = null, bodyFinished = false, closed = false;
36114
36203
  busboyStream.on("field", function(name, value) {
36115
- if (0 < pendingFiles) queuedFields.push(name, value);
36204
+ if (null !== tail)
36205
+ null === tail.queuedFields && (tail.queuedFields = []), tail.queuedFields.push(name, value);
36116
36206
  else
36117
36207
  try {
36118
- resolveField(response, name, value);
36208
+ resolveField(response$jscomp$0, name, value);
36119
36209
  } catch (error) {
36120
36210
  busboyStream.destroy(error);
36121
36211
  }
@@ -36129,40 +36219,43 @@ var require_react_server_dom_webpack_server_node_development = __commonJS({
36129
36219
  )
36130
36220
  );
36131
36221
  else {
36132
- pendingFiles++;
36133
- var JSCompiler_object_inline_chunks_258 = [];
36222
+ var file = { chunks: [], filename, mime: mimeType }, pendingFile = {
36223
+ name,
36224
+ file,
36225
+ complete: false,
36226
+ queuedFields: null,
36227
+ next: null
36228
+ };
36229
+ null === tail ? head = pendingFile : tail.next = pendingFile;
36230
+ tail = pendingFile;
36134
36231
  value.on("data", function(chunk) {
36135
- JSCompiler_object_inline_chunks_258.push(chunk);
36136
- });
36137
- value.on("end", function() {
36138
36232
  try {
36139
- var blob = new Blob(JSCompiler_object_inline_chunks_258, {
36140
- type: mimeType
36141
- });
36142
- response._formData.append(name, blob, filename);
36143
- pendingFiles--;
36144
- if (0 === pendingFiles) {
36145
- for (blob = 0; blob < queuedFields.length; blob += 2)
36146
- resolveField(
36147
- response,
36148
- queuedFields[blob],
36149
- queuedFields[blob + 1]
36150
- );
36151
- queuedFields.length = 0;
36152
- }
36233
+ file.chunks.push(chunk);
36153
36234
  } catch (error) {
36154
36235
  busboyStream.destroy(error);
36155
36236
  }
36156
36237
  });
36238
+ value.on("error", function(error) {
36239
+ busboyStream.destroy(error);
36240
+ });
36241
+ value.on("end", function() {
36242
+ pendingFile.complete = true;
36243
+ flush();
36244
+ });
36157
36245
  }
36158
36246
  });
36159
36247
  busboyStream.on("finish", function() {
36160
- close(response);
36248
+ bodyFinished = true;
36249
+ flush();
36250
+ closed || reportGlobalError(
36251
+ response$jscomp$0,
36252
+ Error("Reply finished with incomplete file part.")
36253
+ );
36161
36254
  });
36162
36255
  busboyStream.on("error", function(err) {
36163
- reportGlobalError(response, err);
36256
+ reportGlobalError(response$jscomp$0, err);
36164
36257
  });
36165
- return getChunk(response, 0);
36258
+ return getChunk(response$jscomp$0, 0);
36166
36259
  };
36167
36260
  exports.prerender = function(model, webpackMap, options) {
36168
36261
  return new Promise(function(resolve, reject) {
@@ -1,3 +1,20 @@
1
+ interface ShutdownHandlerOptions {
2
+ /** Closes the running servers. Called once, on the first signal. */
3
+ close: () => Promise<void>;
4
+ timeoutMs?: number;
5
+ exit?: (code: number) => void;
6
+ logger?: Pick<typeof console, 'warn' | 'error'>;
7
+ }
8
+ /**
9
+ * Build the SIGINT/SIGTERM handler for the unified dev server.
10
+ *
11
+ * The handler always terminates the process, and does so promptly. Vite's
12
+ * `close()` waits for in-flight requests and open HMR websocket connections to
13
+ * drain, which is not guaranteed to finish, so the graceful path is bounded by
14
+ * a timeout. A second signal skips the wait entirely, which is what a user
15
+ * pressing Ctrl+C twice is asking for.
16
+ */
17
+ export declare function createShutdownHandler({ close, timeoutMs, exit, logger, }: ShutdownHandlerOptions): () => Promise<void>;
1
18
  export declare function parseCliArgs(argv?: string[]): {
2
19
  forceOptimize: any;
3
20
  debug: any;
@@ -11,4 +28,5 @@ export declare function parseCliArgs(argv?: string[]): {
11
28
  };
12
29
  export declare function openDebugger(port: number, waitForDebugger?: boolean): Promise<void>;
13
30
  export declare function startUnifiedDevServer(): Promise<void>;
31
+ export {};
14
32
  //# sourceMappingURL=cedar-unified-dev.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cedar-unified-dev.d.ts","sourceRoot":"","sources":["../src/cedar-unified-dev.ts"],"names":[],"mappings":"AA+BA,wBAAgB,YAAY,CAAC,IAAI,WAAe;;;;;;;;;;EAwB/C;AAuCD,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,UAAQ,iBAkKvE;AAED,wBAAsB,qBAAqB,kBAiI1C"}
1
+ {"version":3,"file":"cedar-unified-dev.d.ts","sourceRoot":"","sources":["../src/cedar-unified-dev.ts"],"names":[],"mappings":"AAgBA,UAAU,sBAAsB;IAC9B,oEAAoE;IACpE,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7B,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAA;CAChD;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,SAA+B,EAC/B,IAAmC,EACnC,MAAgB,GACjB,EAAE,sBAAsB,uBAoCxB;AAuBD,wBAAgB,YAAY,CAAC,IAAI,WAAe;;;;;;;;;;EAwB/C;AAuCD,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,UAAQ,iBAkKvE;AAED,wBAAsB,qBAAqB,kBAkI1C"}
@@ -3,6 +3,38 @@ import { createServer } from "vite";
3
3
  import yargsParser from "yargs-parser";
4
4
  import { getPaths, getConfig } from "@cedarjs/project-config";
5
5
  import { startApiDevMiddleware } from "./apiDevMiddleware.js";
6
+ const SHUTDOWN_TIMEOUT_MS = 5e3;
7
+ function createShutdownHandler({
8
+ close,
9
+ timeoutMs = SHUTDOWN_TIMEOUT_MS,
10
+ exit = (code) => process.exit(code),
11
+ logger = console
12
+ }) {
13
+ let shuttingDown = false;
14
+ return async function shutdown() {
15
+ if (shuttingDown) {
16
+ exit(0);
17
+ return;
18
+ }
19
+ shuttingDown = true;
20
+ const forceExitTimer = setTimeout(() => {
21
+ logger.warn(
22
+ `Dev server did not shut down within ${timeoutMs}ms. Forcing exit.`
23
+ );
24
+ exit(0);
25
+ }, timeoutMs);
26
+ forceExitTimer.unref();
27
+ try {
28
+ await close();
29
+ } catch (e) {
30
+ const message = e instanceof Error ? e.message : String(e);
31
+ logger.error(`Error while shutting down the dev server: ${message}`);
32
+ } finally {
33
+ clearTimeout(forceExitTimer);
34
+ }
35
+ exit(0);
36
+ };
37
+ }
6
38
  function isViteInternalRequest(url) {
7
39
  const pathname = url.split("?")[0];
8
40
  return pathname.startsWith("/@") || pathname.startsWith("/__vite") || pathname.startsWith("/__hmr");
@@ -259,15 +291,17 @@ async function startUnifiedDevServer() {
259
291
  console.log(JSON.stringify(devServer.config, null, 2));
260
292
  console.log("~~~~~~~~~~~~~~~~~~~~~~~~~~");
261
293
  }
262
- const shutdown = async () => {
263
- await devServer.close();
264
- await closeApi();
265
- process.exit(0);
266
- };
294
+ const shutdown = createShutdownHandler({
295
+ close: async () => {
296
+ await devServer.close();
297
+ await closeApi();
298
+ }
299
+ });
267
300
  process.on("SIGINT", shutdown);
268
301
  process.on("SIGTERM", shutdown);
269
302
  }
270
303
  export {
304
+ createShutdownHandler,
271
305
  openDebugger,
272
306
  parseCliArgs,
273
307
  startUnifiedDevServer
@@ -49,14 +49,9 @@ async function createServer() {
49
49
  plugins: [
50
50
  cjsInterop({
51
51
  dependencies: [
52
- // Skip ESM modules: rwjs/auth, rwjs/web, rwjs/auth-*-middleware, rwjs/router
53
- "@cedarjs/forms",
54
- "@cedarjs/prerender/*",
55
- "@cedarjs/auth-*-api",
56
- // Add more to the pattern below as they're converted to dual ESM/CJS
57
- // modules
58
- // '@cedarjs/auth-!(dbauth|auth0|clerk)-web',
59
- "@cedarjs/auth-!(dbauth)-web"
52
+ // Skip ESM modules: rwjs/auth, rwjs/web, rwjs/auth-*-middleware,
53
+ // rwjs/router, rwjs/auth-*-api, rwjs/auth-*-web, rwjs/forms
54
+ "@cedarjs/prerender/*"
60
55
  ]
61
56
  }),
62
57
  rscEnabled && rscRoutesAutoLoader()