From f8d3a9cd16e26fb0f8020e30582196b9510d09de Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 21 Mar 2023 15:29:14 +0000 Subject: [PATCH 1/3] fix: add type safety to auto-detected providers --- src/utils/index.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/utils/index.ts b/src/utils/index.ts index 4ea3e1c659..5e04f1ef36 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -7,7 +7,9 @@ import consola from "consola"; import chalk from "chalk"; import { getProperty } from "dot-prop"; import { provider } from "std-env"; -import { Nitro } from "../types"; +import type { ProviderName } from "std-env"; +import { KebabCase, Nitro } from "../types"; +import type * as _PRESETS from "../presets"; export function hl(str: string) { return chalk.cyan(str); @@ -98,9 +100,11 @@ export function replaceAll(input: string, from: string, to: string) { return input.replace(new RegExp(from, "g"), to); } -const autodetectableProviders = { +const autodetectableProviders: Partial< + Record> +> = { azure_static: "azure", - cloudflare_pages: "cloudflare_pages", + cloudflare_pages: "cloudflare-pages", netlify: "netlify", stormkit: "stormkit", vercel: "vercel", From 4e915c5bf202f1d3d10f4cc9c337c1fe17a60bc8 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 21 Mar 2023 15:41:24 +0000 Subject: [PATCH 2/3] fix: cast user-provided input to string --- src/options.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/options.ts b/src/options.ts index 6a6bf6b2fe..d0758609c2 100644 --- a/src/options.ts +++ b/src/options.ts @@ -106,7 +106,7 @@ export async function loadOptions( configOverrides: NitroConfig = {} ): Promise { // Preset - let presetOverride = configOverrides.preset || process.env.NITRO_PRESET; + let presetOverride = configOverrides.preset as string || process.env.NITRO_PRESET; const defaultPreset = detectTarget() || "node-server"; if (configOverrides.dev) { presetOverride = "nitro-dev"; @@ -146,7 +146,7 @@ export async function loadOptions( options.preset = presetOverride || - layers.find((l) => l.config.preset)?.config.preset || + layers.find((l) => l.config.preset)?.config.preset as string || defaultPreset; options.rootDir = resolve(options.rootDir || "."); From 46515c9f957ab69f83cc03d1268139538fd10eb1 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Tue, 21 Mar 2023 15:42:36 +0000 Subject: [PATCH 3/3] [autofix.ci] apply automated fixes --- src/options.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/options.ts b/src/options.ts index d0758609c2..40f8bc3fc4 100644 --- a/src/options.ts +++ b/src/options.ts @@ -106,7 +106,8 @@ export async function loadOptions( configOverrides: NitroConfig = {} ): Promise { // Preset - let presetOverride = configOverrides.preset as string || process.env.NITRO_PRESET; + let presetOverride = + (configOverrides.preset as string) || process.env.NITRO_PRESET; const defaultPreset = detectTarget() || "node-server"; if (configOverrides.dev) { presetOverride = "nitro-dev"; @@ -146,7 +147,7 @@ export async function loadOptions( options.preset = presetOverride || - layers.find((l) => l.config.preset)?.config.preset as string || + (layers.find((l) => l.config.preset)?.config.preset as string) || defaultPreset; options.rootDir = resolve(options.rootDir || ".");