@skgo/sveltekit-adapter 0.17.0 → 0.19.0

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.
package/skgo-adapter.js CHANGED
@@ -17,7 +17,6 @@ import { pathToFileURL } from 'node:url';
17
17
  import {
18
18
  createPrerenderOwner,
19
19
  installPrerenderFailureBoundary,
20
- joinFailedPrerenderOwner,
21
20
  remoteFunction,
22
21
  remoteLoad
23
22
  } from './skgo-adapter/prerender.js';
@@ -77,11 +76,20 @@ export default function skgo({ out = 'build', precompress = true } = {}) {
77
76
  prerenderOwner = createPrerenderOwner(process.cwd());
78
77
  installPrerenderFailureBoundary(config, prerenderOwner);
79
78
  },
79
+ // Kit captures its app environment in config/configResolved. Vite awaits
80
+ // all of those before this hook; publication here cannot enter that snapshot.
81
+ buildApp: {
82
+ order: 'pre',
83
+ async handler() {
84
+ await prerenderOwner?.prepare();
85
+ prerenderOwner?.publish();
86
+ }
87
+ },
80
88
  buildEnd(error) {
81
89
  if (error && prerenderOwner) return prerenderOwner.fail(error);
82
90
  },
83
91
  async closeBundle() {
84
- await joinFailedPrerenderOwner(prerenderOwner);
92
+ if (prerenderOwner?.closing) await prerenderOwner.cleanup();
85
93
  }
86
94
  };
87
95
 
@@ -107,6 +115,7 @@ export default function skgo({ out = 'build', precompress = true } = {}) {
107
115
  // states its own `apply`, so only one of them is ever live.
108
116
  vite: { plugins: { pre: [prerenderOwnerPlugin], post: [environment.plugin, goja.plugin, gojaDevEnvironment(), gojaDevUnchangedFiles({ out })] } },
109
117
  async adapt(builder) {
118
+ let failure;
110
119
  try {
111
120
  rmSync(out, { force: true, recursive: true });
112
121
 
@@ -242,8 +251,15 @@ export default function skgo({ out = 'build', precompress = true } = {}) {
242
251
  write(`${out}/.gitkeep`, '');
243
252
 
244
253
  builder.log.minor(`skgo: wrote ${out}/`);
254
+ } catch (error) {
255
+ failure = error;
256
+ throw error;
245
257
  } finally {
246
- await prerenderOwner?.cleanup();
258
+ if (failure) await prerenderOwner?.fail(failure);
259
+ else {
260
+ await prerenderOwner?.cleanup();
261
+ if (prerenderOwner?.failed) throw prerenderOwner.failed;
262
+ }
247
263
  }
248
264
  }
249
265
  };