@skgo/sveltekit-adapter 0.18.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/package.json +1 -1
- package/skgo-adapter/prerender.js +708 -794
- package/skgo-adapter.js +19 -3
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
|
-
|
|
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?.
|
|
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
|
};
|