Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 42 additions & 36 deletions src/config/resolvers/paths.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { prettyPath, resolveNitroPath } from "../../utils/fs.ts";
import { runtimeDir } from "nitro/meta";
import type { NitroOptions } from "nitro/types";
import type { NitroOptions, NitroConfig } from "nitro/types";
import { join, resolve } from "pathe";
import { findWorkspaceDir } from "pkg-types";
import { NitroDefaults } from "../defaults.ts";
Expand Down Expand Up @@ -121,47 +121,53 @@ export async function resolvePathOptions(options: NitroOptions) {
}
}

// Resolve renderer handler
if (options.renderer?.handler) {
options.renderer.handler = resolveModulePath(
resolveNitroPath(options.renderer?.handler, options),
{
from: [options.rootDir, ...options.scanDirs],
extensions: RESOLVE_EXTENSIONS,
}
);
}
if ((options as NitroConfig).renderer === false) {
// Skip (auto) resolve renderer,
// and reset it to meet "NitroOptions" requirements
options.renderer = undefined;
} else {
// Resolve renderer handler
if (options.renderer?.handler) {
options.renderer.handler = resolveModulePath(
resolveNitroPath(options.renderer?.handler, options),
{
from: [options.rootDir, ...options.scanDirs],
extensions: RESOLVE_EXTENSIONS,
}
);
}

// Resolve renderer template
if (options.renderer?.template) {
options.renderer.template = resolveModulePath(
resolveNitroPath(options.renderer?.template, options),
{
// Resolve renderer template
if (options.renderer?.template) {
options.renderer.template = resolveModulePath(
resolveNitroPath(options.renderer?.template, options),
{
from: [options.rootDir, ...options.scanDirs],
extensions: [".html"],
}
)!;
Comment thread
pi0 marked this conversation as resolved.
} else if (!options.renderer?.handler) {
const defaultIndex = resolveModulePath("./index.html", {
from: [options.rootDir, ...options.scanDirs],
extensions: [".html"],
try: true,
});
if (defaultIndex) {
options.renderer ??= {};
options.renderer.template = defaultIndex;
consola.info(
`Using \`${prettyPath(defaultIndex)}\` as renderer template.`
);
}
)!;
} else if (!options.renderer?.handler) {
const defaultIndex = resolveModulePath("./index.html", {
from: [options.rootDir, ...options.scanDirs],
extensions: [".html"],
try: true,
});
if (defaultIndex) {
}

// Default renderer handler if template is set
if (options.renderer?.template && !options.renderer?.handler) {
options.renderer ??= {};
options.renderer.template = defaultIndex;
consola.info(
`Using \`${prettyPath(defaultIndex)}\` as renderer template.`
options.renderer.handler = join(
runtimeDir,
"internal/routes/renderer-template" + (options.dev ? ".dev" : "")
);
}
}

// Default renderer handler if template is set
if (options.renderer?.template && !options.renderer?.handler) {
options.renderer ??= {};
options.renderer.handler = join(
runtimeDir,
"internal/routes/renderer-template" + (options.dev ? ".dev" : "")
);
}
}
2 changes: 2 additions & 0 deletions src/types/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -301,6 +301,7 @@ export interface NitroConfig
| "_config"
| "_c12"
| "serverEntry"
| "renderer"
>
>,
C12InputConfig<NitroConfig> {
Expand All @@ -312,6 +313,7 @@ export interface NitroConfig
unenv?: UnenvPreset | UnenvPreset[];
serverDir?: boolean | "./" | "./server" | (string & {});
serverEntry?: string | NitroOptions["serverEntry"];
renderer?: false | NitroOptions["renderer"];
}

// ------------------------------------------------------------
Expand Down
Loading