@unieojs/unio-nextjs-adapter 0.1.0 → 0.2.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/README.md +46 -2
- package/dist/index.d.ts +3 -3
- package/dist/index.js +8 -6
- package/dist/index.js.map +1 -1
- package/dist/on-build-complete.d.ts +2 -2
- package/dist/on-build-complete.js +8 -3
- package/dist/on-build-complete.js.map +1 -1
- package/dist/types.d.ts +131 -0
- package/dist/uboa.d.ts +2 -26
- package/dist/uboa.js +219 -30
- package/dist/uboa.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +36 -7
- package/src/on-build-complete.ts +17 -4
- package/src/types.ts +182 -0
- package/src/uboa.ts +287 -56
- package/dist/assert-ssg.d.ts +0 -5
- package/dist/assert-ssg.js +0 -30
- package/dist/assert-ssg.js.map +0 -1
- package/src/assert-ssg.ts +0 -35
package/dist/uboa.js
CHANGED
|
@@ -59,6 +59,20 @@ function routeFunctionName(group, route) {
|
|
|
59
59
|
function isRecord(value) {
|
|
60
60
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
61
61
|
}
|
|
62
|
+
function isStringRecord(value) {
|
|
63
|
+
return isRecord(value) &&
|
|
64
|
+
Object.values(value).every((entry) => typeof entry === "string");
|
|
65
|
+
}
|
|
66
|
+
function isSafeRelativePath(value) {
|
|
67
|
+
if (!value)
|
|
68
|
+
return false;
|
|
69
|
+
if (path.isAbsolute(value) || path.win32.isAbsolute(value))
|
|
70
|
+
return false;
|
|
71
|
+
return !value.split(/[\\/]+/).includes("..");
|
|
72
|
+
}
|
|
73
|
+
function buildId(ctx) {
|
|
74
|
+
return ctx.buildId || process.env.BUILD_ID || process.env.TASK_ID || "local";
|
|
75
|
+
}
|
|
62
76
|
function routeConfig(route) {
|
|
63
77
|
return isRecord(route.config) ? route.config : {};
|
|
64
78
|
}
|
|
@@ -66,6 +80,13 @@ function routeMaxDuration(route) {
|
|
|
66
80
|
const maxDuration = routeConfig(route).maxDuration;
|
|
67
81
|
return typeof maxDuration === "number" ? maxDuration : 10;
|
|
68
82
|
}
|
|
83
|
+
function edgeRuntimeModulePath(route) {
|
|
84
|
+
const edgeRuntime = route.edgeRuntime;
|
|
85
|
+
if (isRecord(edgeRuntime) && typeof edgeRuntime.modulePath === "string") {
|
|
86
|
+
return edgeRuntime.modulePath;
|
|
87
|
+
}
|
|
88
|
+
return route.filePath;
|
|
89
|
+
}
|
|
69
90
|
function matcherSource(matcher) {
|
|
70
91
|
if (typeof matcher === "string")
|
|
71
92
|
return matcher;
|
|
@@ -97,23 +118,71 @@ async function copyEntryFile(source, dest) {
|
|
|
97
118
|
await fs.mkdir(path.dirname(dest), { recursive: true });
|
|
98
119
|
await fs.copyFile(source, dest);
|
|
99
120
|
}
|
|
100
|
-
|
|
121
|
+
function routeSourceRoot(ctx) {
|
|
122
|
+
return ctx.repoRoot ?? ctx.projectDir;
|
|
123
|
+
}
|
|
124
|
+
function relativeRouteFile(ctx, filePath) {
|
|
125
|
+
const relativePath = path.relative(routeSourceRoot(ctx), filePath);
|
|
126
|
+
if (!relativePath || relativePath.startsWith("..") || path.isAbsolute(relativePath)) {
|
|
127
|
+
return path.basename(filePath);
|
|
128
|
+
}
|
|
129
|
+
return toPosix(relativePath);
|
|
130
|
+
}
|
|
131
|
+
function assetTargetPath(ctx, assetKey, assetPath) {
|
|
132
|
+
return isSafeRelativePath(assetKey)
|
|
133
|
+
? toPosix(assetKey)
|
|
134
|
+
: relativeRouteFile(ctx, assetPath);
|
|
135
|
+
}
|
|
136
|
+
async function copyRoutePayload(functionDir, ctx, route) {
|
|
137
|
+
const entry = relativeRouteFile(ctx, route.filePath);
|
|
138
|
+
await copyEntryFile(route.filePath, path.join(functionDir, entry));
|
|
139
|
+
for (const assetMap of [route.assets, route.wasmAssets]) {
|
|
140
|
+
if (!isStringRecord(assetMap))
|
|
141
|
+
continue;
|
|
142
|
+
for (const [assetKey, assetPath] of Object.entries(assetMap)) {
|
|
143
|
+
await copyEntryFile(assetPath, path.join(functionDir, assetTargetPath(ctx, assetKey, assetPath)));
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return entry;
|
|
147
|
+
}
|
|
148
|
+
async function emitServerFunction(root, ctx, name, route, routeGroup, options) {
|
|
101
149
|
const functionDir = path.join(root, "server-functions", name);
|
|
102
|
-
await
|
|
103
|
-
|
|
150
|
+
const entry = await copyRoutePayload(functionDir, ctx, route);
|
|
151
|
+
const descriptor = {
|
|
104
152
|
name,
|
|
105
153
|
runtime: "nodejs",
|
|
106
|
-
entry
|
|
107
|
-
handler: "
|
|
154
|
+
entry,
|
|
155
|
+
handler: "handler",
|
|
108
156
|
memory: 512,
|
|
109
157
|
maxDuration: routeMaxDuration(route),
|
|
110
158
|
environment: {},
|
|
111
159
|
bindings: {},
|
|
160
|
+
framework: {
|
|
161
|
+
name: "next",
|
|
162
|
+
version: ctx.nextVersion ?? "unknown",
|
|
163
|
+
routeGroup,
|
|
164
|
+
outputType: route.type,
|
|
165
|
+
},
|
|
112
166
|
source: {
|
|
167
|
+
id: route.id,
|
|
113
168
|
type: route.type,
|
|
114
169
|
pathname: route.pathname,
|
|
170
|
+
filePath: relativeRouteFile(ctx, route.filePath),
|
|
115
171
|
},
|
|
116
|
-
}
|
|
172
|
+
};
|
|
173
|
+
const extendedDescriptor = options.extendServerFunctionDescriptor
|
|
174
|
+
? await options.extendServerFunctionDescriptor({
|
|
175
|
+
descriptor,
|
|
176
|
+
name,
|
|
177
|
+
route,
|
|
178
|
+
routeGroup,
|
|
179
|
+
ctx,
|
|
180
|
+
})
|
|
181
|
+
: descriptor;
|
|
182
|
+
if (!isRecord(extendedDescriptor)) {
|
|
183
|
+
throw new Error("extendServerFunctionDescriptor must return an object.");
|
|
184
|
+
}
|
|
185
|
+
await writeJson(path.join(functionDir, "serverFunction.json"), extendedDescriptor);
|
|
117
186
|
}
|
|
118
187
|
function buildContentVersion() {
|
|
119
188
|
const parts = [
|
|
@@ -126,24 +195,35 @@ function buildCapabilities(ctx) {
|
|
|
126
195
|
const { outputs } = ctx;
|
|
127
196
|
const nodeRoutes = ROUTE_GROUPS.some(([, key]) => outputs[key].some((route) => route.runtime === "nodejs"));
|
|
128
197
|
const nodeMiddleware = outputs.middleware?.runtime === "nodejs";
|
|
198
|
+
const edgeMiddleware = outputs.middleware?.runtime === "edge";
|
|
199
|
+
const hasServerFunction = nodeRoutes || nodeMiddleware;
|
|
129
200
|
return {
|
|
130
201
|
static: outputs.staticFiles.length > 0 || outputs.prerenders.length > 0 ?
|
|
131
202
|
"supported" : "unsupported",
|
|
132
203
|
routes: "supported",
|
|
133
|
-
serverlessFunction:
|
|
134
|
-
|
|
204
|
+
serverlessFunction: hasServerFunction ? "supported" : "unsupported",
|
|
205
|
+
serverFunctionIntrospection: hasServerFunction ? "supported" : "unsupported",
|
|
206
|
+
restRouteIntrospection: nodeRoutes ? "supported" : "unsupported",
|
|
207
|
+
edgeMiddleware: edgeMiddleware ? "supported" : "unsupported",
|
|
135
208
|
isr: outputs.prerenders.length > 0 ? "degraded" : "unsupported",
|
|
136
209
|
imageOptimization: "unsupported",
|
|
137
210
|
};
|
|
138
211
|
}
|
|
212
|
+
function buildWarnings(ctx) {
|
|
213
|
+
return ctx.outputs.prerenders.length > 0
|
|
214
|
+
? ["Next.js prerenders are emitted as static assets; ISR metadata is degraded."]
|
|
215
|
+
: [];
|
|
216
|
+
}
|
|
139
217
|
function assertSupportedOutputs(ctx) {
|
|
140
218
|
const unsupported = [];
|
|
141
|
-
if (ctx.outputs.middleware &&
|
|
219
|
+
if (ctx.outputs.middleware &&
|
|
220
|
+
ctx.outputs.middleware.runtime !== "nodejs" &&
|
|
221
|
+
ctx.outputs.middleware.runtime !== "edge") {
|
|
142
222
|
unsupported.push(`middleware (${ctx.outputs.middleware.runtime})`);
|
|
143
223
|
}
|
|
144
224
|
for (const [, key] of ROUTE_GROUPS) {
|
|
145
225
|
for (const route of ctx.outputs[key]) {
|
|
146
|
-
if (route.runtime !== "nodejs") {
|
|
226
|
+
if (route.runtime !== "nodejs" && route.runtime !== "edge") {
|
|
147
227
|
unsupported.push(`${key}:${route.pathname || route.id} (${route.runtime})`);
|
|
148
228
|
}
|
|
149
229
|
}
|
|
@@ -152,21 +232,32 @@ function assertSupportedOutputs(ctx) {
|
|
|
152
232
|
return;
|
|
153
233
|
throw new Error("[unio-nextjs-adapter] Unsupported Next.js outputs: " +
|
|
154
234
|
`${unsupported.join(", ")}. ` +
|
|
155
|
-
"This adapter currently supports static assets
|
|
235
|
+
"This adapter currently supports static assets, nodejs serverless functions, and edge functions only.");
|
|
156
236
|
}
|
|
157
|
-
async function emitCoreManifest(root, ctx) {
|
|
237
|
+
async function emitCoreManifest(root, ctx, capabilities, warnings) {
|
|
158
238
|
await writeJson(path.join(root, "unio.json"), {
|
|
159
239
|
version: UBOA_VERSION,
|
|
160
240
|
framework: {
|
|
161
241
|
name: "next",
|
|
162
|
-
version: "unknown",
|
|
242
|
+
version: ctx.nextVersion ?? "unknown",
|
|
163
243
|
adapter: ADAPTER_PACKAGE,
|
|
164
244
|
},
|
|
165
245
|
build: {
|
|
166
246
|
contentVersion: buildContentVersion(),
|
|
167
|
-
buildId:
|
|
247
|
+
buildId: buildId(ctx),
|
|
168
248
|
},
|
|
169
|
-
capabilities
|
|
249
|
+
capabilities,
|
|
250
|
+
warnings,
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
async function emitFeaturesManifest(root) {
|
|
254
|
+
await writeJson(path.join(root, "features.json"), { features: [] });
|
|
255
|
+
}
|
|
256
|
+
async function emitObservabilityManifest(root, ctx) {
|
|
257
|
+
await writeJson(path.join(root, "observability.json"), {
|
|
258
|
+
adapter: ADAPTER_PACKAGE,
|
|
259
|
+
framework: "next",
|
|
260
|
+
buildId: buildId(ctx),
|
|
170
261
|
});
|
|
171
262
|
}
|
|
172
263
|
async function emitStaticFiles(root, files) {
|
|
@@ -179,19 +270,42 @@ async function emitStaticFiles(root, files) {
|
|
|
179
270
|
routes.push({
|
|
180
271
|
id: `static-${slugify(file.pathname || file.id, "index")}`,
|
|
181
272
|
match: normalizeStaticMatch(file),
|
|
182
|
-
type: "
|
|
273
|
+
type: "assets",
|
|
183
274
|
entry: staticEntryFor(file),
|
|
184
275
|
});
|
|
185
276
|
}
|
|
186
277
|
return routes;
|
|
187
278
|
}
|
|
188
|
-
|
|
279
|
+
function sourceForRoute(ctx, route) {
|
|
280
|
+
return {
|
|
281
|
+
id: route.id,
|
|
282
|
+
type: route.type,
|
|
283
|
+
pathname: route.pathname,
|
|
284
|
+
filePath: relativeRouteFile(ctx, route.filePath),
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
async function emitRouteOutputs(root, ctx, options) {
|
|
189
288
|
const routes = [];
|
|
190
289
|
const artifacts = [];
|
|
191
290
|
for (const [group, key] of ROUTE_GROUPS) {
|
|
192
291
|
for (const route of ctx.outputs[key]) {
|
|
193
292
|
const name = routeFunctionName(group, route);
|
|
194
|
-
|
|
293
|
+
if (route.runtime === "edge") {
|
|
294
|
+
await emitEdgeBundle(root, ctx, name, route, key);
|
|
295
|
+
routes.push({
|
|
296
|
+
id: `edge-${name}`,
|
|
297
|
+
match: routeMatch(route),
|
|
298
|
+
type: "edgeFunction",
|
|
299
|
+
edgeFunction: name,
|
|
300
|
+
});
|
|
301
|
+
artifacts.push({
|
|
302
|
+
id: name,
|
|
303
|
+
resourceKind: "edgeBundle",
|
|
304
|
+
path: `edge/${name}`,
|
|
305
|
+
});
|
|
306
|
+
continue;
|
|
307
|
+
}
|
|
308
|
+
await emitServerFunction(root, ctx, name, route, key, options);
|
|
195
309
|
routes.push({
|
|
196
310
|
id: `server-${name}`,
|
|
197
311
|
match: routeMatch(route),
|
|
@@ -207,17 +321,55 @@ async function emitRouteOutputs(root, ctx) {
|
|
|
207
321
|
}
|
|
208
322
|
return { routes, artifacts };
|
|
209
323
|
}
|
|
210
|
-
async function
|
|
324
|
+
async function emitEdgeBundle(root, ctx, name, route, routeGroup) {
|
|
325
|
+
const entry = `edge/${name}/index.js`;
|
|
326
|
+
await copyEntryFile(edgeRuntimeModulePath(route), path.join(root, entry));
|
|
327
|
+
await writeJson(path.join(root, "edge", name, "edge.json"), {
|
|
328
|
+
name,
|
|
329
|
+
runtime: "edge",
|
|
330
|
+
entry: "index.js",
|
|
331
|
+
handlerProtocol: "fetch",
|
|
332
|
+
framework: {
|
|
333
|
+
name: "next",
|
|
334
|
+
version: ctx.nextVersion ?? "unknown",
|
|
335
|
+
routeGroup,
|
|
336
|
+
outputType: route.type,
|
|
337
|
+
},
|
|
338
|
+
source: sourceForRoute(ctx, route),
|
|
339
|
+
});
|
|
340
|
+
}
|
|
341
|
+
async function emitMiddleware(root, ctx, middleware, options) {
|
|
211
342
|
if (!middleware)
|
|
212
343
|
return { middleware: [], artifacts: [] };
|
|
213
344
|
const name = "middleware";
|
|
214
|
-
|
|
345
|
+
if (middleware.runtime === "edge") {
|
|
346
|
+
const entry = `edge/${name}/index.js`;
|
|
347
|
+
await emitEdgeBundle(root, ctx, name, middleware, "middleware");
|
|
348
|
+
return {
|
|
349
|
+
middleware: [
|
|
350
|
+
{
|
|
351
|
+
name,
|
|
352
|
+
match: middlewareMatchers(middleware),
|
|
353
|
+
runtime: "edge",
|
|
354
|
+
entry,
|
|
355
|
+
},
|
|
356
|
+
],
|
|
357
|
+
artifacts: [
|
|
358
|
+
{
|
|
359
|
+
id: name,
|
|
360
|
+
resourceKind: "edgeBundle",
|
|
361
|
+
path: `edge/${name}`,
|
|
362
|
+
},
|
|
363
|
+
],
|
|
364
|
+
};
|
|
365
|
+
}
|
|
366
|
+
await emitServerFunction(root, ctx, name, middleware, "middleware", options);
|
|
215
367
|
return {
|
|
216
368
|
middleware: [
|
|
217
369
|
{
|
|
218
370
|
name,
|
|
219
371
|
match: middlewareMatchers(middleware),
|
|
220
|
-
runtime: "
|
|
372
|
+
runtime: "nodejs",
|
|
221
373
|
serverFunction: name,
|
|
222
374
|
},
|
|
223
375
|
],
|
|
@@ -230,16 +382,24 @@ async function emitMiddleware(root, middleware) {
|
|
|
230
382
|
],
|
|
231
383
|
};
|
|
232
384
|
}
|
|
233
|
-
|
|
385
|
+
async function emitDynamicServerOutput(root, ctx, options) {
|
|
386
|
+
const routeOutput = await emitRouteOutputs(root, ctx, options);
|
|
387
|
+
const middlewareOutput = await emitMiddleware(root, ctx, ctx.outputs.middleware, options);
|
|
388
|
+
return {
|
|
389
|
+
routes: routeOutput.routes,
|
|
390
|
+
middleware: middlewareOutput.middleware,
|
|
391
|
+
artifacts: [...routeOutput.artifacts, ...middlewareOutput.artifacts],
|
|
392
|
+
};
|
|
393
|
+
}
|
|
394
|
+
export async function emitUboaOutput(ctx, options = {}) {
|
|
234
395
|
assertSupportedOutputs(ctx);
|
|
235
396
|
const root = path.join(ctx.projectDir, ".unio", "output");
|
|
236
397
|
await fs.rm(root, { recursive: true, force: true });
|
|
237
398
|
await fs.mkdir(root, { recursive: true });
|
|
238
399
|
const staticFiles = [...ctx.outputs.staticFiles, ...ctx.outputs.prerenders];
|
|
239
400
|
const staticRoutes = await emitStaticFiles(root, staticFiles);
|
|
240
|
-
const
|
|
241
|
-
|
|
242
|
-
const artifacts = [];
|
|
401
|
+
const dynamicOutput = await emitDynamicServerOutput(root, ctx, options);
|
|
402
|
+
let artifacts = [];
|
|
243
403
|
if (staticFiles.length > 0) {
|
|
244
404
|
artifacts.push({
|
|
245
405
|
id: "static",
|
|
@@ -247,13 +407,42 @@ export async function emitUboaOutput(ctx) {
|
|
|
247
407
|
path: "static",
|
|
248
408
|
});
|
|
249
409
|
}
|
|
250
|
-
artifacts.push(...
|
|
251
|
-
const routes = [...staticRoutes, ...
|
|
252
|
-
const middleware =
|
|
253
|
-
|
|
410
|
+
artifacts.push(...dynamicOutput.artifacts);
|
|
411
|
+
const routes = [...staticRoutes, ...dynamicOutput.routes];
|
|
412
|
+
const middleware = dynamicOutput.middleware;
|
|
413
|
+
const capabilities = buildCapabilities(ctx);
|
|
414
|
+
const warnings = buildWarnings(ctx);
|
|
415
|
+
if (options.extendArtifacts) {
|
|
416
|
+
const extendedArtifacts = await options.extendArtifacts({
|
|
417
|
+
artifacts,
|
|
418
|
+
routes,
|
|
419
|
+
middleware,
|
|
420
|
+
ctx,
|
|
421
|
+
});
|
|
422
|
+
if (!Array.isArray(extendedArtifacts)) {
|
|
423
|
+
throw new Error("extendArtifacts must return an array.");
|
|
424
|
+
}
|
|
425
|
+
artifacts = extendedArtifacts;
|
|
426
|
+
}
|
|
427
|
+
const generated = {
|
|
428
|
+
outputDir: root,
|
|
429
|
+
routes,
|
|
430
|
+
middleware,
|
|
431
|
+
artifacts,
|
|
432
|
+
capabilities,
|
|
433
|
+
warnings,
|
|
434
|
+
};
|
|
435
|
+
await emitCoreManifest(root, ctx, capabilities, warnings);
|
|
254
436
|
await writeJson(path.join(root, "routes.json"), routes);
|
|
255
437
|
await writeJson(path.join(root, "middleware.json"), middleware);
|
|
256
438
|
await writeJson(path.join(root, "artifacts.json"), { artifacts });
|
|
257
|
-
|
|
439
|
+
await emitFeaturesManifest(root);
|
|
440
|
+
await emitObservabilityManifest(root, ctx);
|
|
441
|
+
await options.afterEmit?.({
|
|
442
|
+
outputDir: root,
|
|
443
|
+
generated,
|
|
444
|
+
ctx,
|
|
445
|
+
});
|
|
446
|
+
return generated;
|
|
258
447
|
}
|
|
259
448
|
//# sourceMappingURL=uboa.js.map
|
package/dist/uboa.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uboa.js","sourceRoot":"","sources":["../src/uboa.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"uboa.js","sourceRoot":"","sources":["../src/uboa.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { modifyConfig } from "./modify-config.js";
|
|
2
2
|
import { onBuildComplete } from "./on-build-complete.js";
|
|
3
|
-
import type { NextAdapter } from "./types.js";
|
|
3
|
+
import type { NextAdapter, UnioNextjsAdapterOptions } from "./types.js";
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Adapter name. Exported at top level so Next.js can read it when loading
|
|
@@ -10,27 +10,56 @@ import type { NextAdapter } from "./types.js";
|
|
|
10
10
|
*/
|
|
11
11
|
export const name = "unio-nextjs-adapter";
|
|
12
12
|
|
|
13
|
-
export
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
export function createUnioNextjsAdapter(
|
|
14
|
+
options: UnioNextjsAdapterOptions = {},
|
|
15
|
+
): NextAdapter {
|
|
16
|
+
return {
|
|
17
|
+
name,
|
|
18
|
+
modifyConfig,
|
|
19
|
+
onBuildComplete: (ctx) => onBuildComplete(ctx, options),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export const adapter: NextAdapter = createUnioNextjsAdapter();
|
|
18
24
|
|
|
19
25
|
export default adapter;
|
|
20
26
|
|
|
21
27
|
export { modifyConfig } from "./modify-config.js";
|
|
22
28
|
export { onBuildComplete } from "./on-build-complete.js";
|
|
23
29
|
export { emitUboaOutput } from "./uboa.js";
|
|
24
|
-
export { assertSsgOnly } from "./assert-ssg.js";
|
|
25
30
|
export type {
|
|
31
|
+
AfterEmitContext,
|
|
26
32
|
BuildContext,
|
|
33
|
+
CapabilityStatus,
|
|
34
|
+
ExtendArtifactsContext,
|
|
35
|
+
ExtendServerFunctionDescriptorContext,
|
|
36
|
+
GeneratedUboa,
|
|
27
37
|
ModifyConfigContext,
|
|
28
38
|
NextAdapter,
|
|
29
39
|
NextConfigLike,
|
|
30
40
|
NextPhase,
|
|
41
|
+
NextRouteOutputGroup,
|
|
31
42
|
Outputs,
|
|
32
43
|
PrerenderOutput,
|
|
33
44
|
RouteOutput,
|
|
34
45
|
RoutingInfo,
|
|
35
46
|
StaticFileOutput,
|
|
47
|
+
UboaApiSchemaArtifact,
|
|
48
|
+
UboaApiSchemaFormat,
|
|
49
|
+
UboaArtifact,
|
|
50
|
+
UboaArtifactReference,
|
|
51
|
+
UboaArtifactResourceKind,
|
|
52
|
+
UboaAssetsRoute,
|
|
53
|
+
UboaAssetsArtifact,
|
|
54
|
+
UboaCapabilities,
|
|
55
|
+
UboaEdgeBundleArtifact,
|
|
56
|
+
UboaEdgeFunctionRoute,
|
|
57
|
+
UboaEdgeMiddleware,
|
|
58
|
+
UboaMiddleware,
|
|
59
|
+
UboaNodejsMiddleware,
|
|
60
|
+
UboaRoute,
|
|
61
|
+
UboaServerFunctionDescriptor,
|
|
62
|
+
UboaServerFunctionArtifact,
|
|
63
|
+
UboaServerFunctionRoute,
|
|
64
|
+
UnioNextjsAdapterOptions,
|
|
36
65
|
} from "./types.js";
|
package/src/on-build-complete.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { promises as fs } from "node:fs";
|
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
|
|
4
4
|
import { emitUboaOutput } from "./uboa.js";
|
|
5
|
-
import type { BuildContext } from "./types.js";
|
|
5
|
+
import type { BuildContext, UnioNextjsAdapterOptions } from "./types.js";
|
|
6
6
|
|
|
7
7
|
const LOG_PREFIX = "[unio-nextjs-adapter]";
|
|
8
8
|
|
|
@@ -30,6 +30,7 @@ async function cleanIntermediate(
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
try {
|
|
33
|
+
await fs.access(target);
|
|
33
34
|
await fs.rm(target, { recursive: true, force: true });
|
|
34
35
|
return true;
|
|
35
36
|
} catch {
|
|
@@ -37,10 +38,21 @@ async function cleanIntermediate(
|
|
|
37
38
|
}
|
|
38
39
|
}
|
|
39
40
|
|
|
40
|
-
export async function onBuildComplete(
|
|
41
|
+
export async function onBuildComplete(
|
|
42
|
+
ctx: BuildContext,
|
|
43
|
+
options: UnioNextjsAdapterOptions = {},
|
|
44
|
+
): Promise<void> {
|
|
41
45
|
const { projectDir, distDir } = ctx;
|
|
42
46
|
|
|
43
|
-
const uboa = await emitUboaOutput(ctx);
|
|
47
|
+
const uboa = await emitUboaOutput(ctx, options);
|
|
48
|
+
await logAndClean(uboa, projectDir, distDir);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
async function logAndClean(
|
|
52
|
+
uboa: Awaited<ReturnType<typeof emitUboaOutput>>,
|
|
53
|
+
projectDir: string,
|
|
54
|
+
distDir: string,
|
|
55
|
+
): Promise<void> {
|
|
44
56
|
const uboaOutputDir = path.resolve(projectDir, ".unio", "output");
|
|
45
57
|
|
|
46
58
|
const intermediates = new Set<string>();
|
|
@@ -50,7 +62,8 @@ export async function onBuildComplete(ctx: BuildContext): Promise<void> {
|
|
|
50
62
|
for (const dir of intermediates) {
|
|
51
63
|
const cleaned = await cleanIntermediate(dir, [projectDir, uboaOutputDir]);
|
|
52
64
|
if (cleaned) {
|
|
53
|
-
|
|
65
|
+
const label = path.relative(projectDir, dir) || dir;
|
|
66
|
+
console.log(`${LOG_PREFIX} cleaned intermediate ${label}/`);
|
|
54
67
|
}
|
|
55
68
|
}
|
|
56
69
|
|