diff --git a/.changeset/fair-bars-fail.md b/.changeset/fair-bars-fail.md new file mode 100644 index 000000000..f40384248 --- /dev/null +++ b/.changeset/fair-bars-fail.md @@ -0,0 +1,5 @@ +--- +"@solidjs/vite-plugin-nitro-2": patch +--- + +fix: add deprecation note and warn at build time that the Nitro v2 plugin is deprecated and guide users to Nitro v3. diff --git a/packages/start-nitro-v2-vite-plugin/README.md b/packages/start-nitro-v2-vite-plugin/README.md index 2f690e318..968cdb3a4 100644 --- a/packages/start-nitro-v2-vite-plugin/README.md +++ b/packages/start-nitro-v2-vite-plugin/README.md @@ -1,5 +1,20 @@ # Vite-Plugin-Nitro-2 +> [!WARNING] +> This Nitro v2 plugin is deprecated. For new projects, use Nitro v3 and its official Vite plugin instead: +> +> ```ts +> import { solidStart } from "@solidjs/start/config"; +> import { nitro } from "nitro/vite"; +> import { defineConfig } from "vite"; +> +> export default defineConfig({ +> plugins: [solidStart(), nitro({ preset: "node-server" })] +> }); +> ``` +> +> See the official [SolidStart Vite configuration](https://github.com/solidjs/templates/blob/main/solid-start-v2/bare/vite.config.ts) for an up-to-date example and the [Nitro Vite integration guide](https://nitro.build/docs#vite-integration) for general configuration. + This package moves Nitro into a Vite-Plugin to consolidate the API surface between Nitro v2 and v3. ## Usage diff --git a/packages/start-nitro-v2-vite-plugin/src/index.ts b/packages/start-nitro-v2-vite-plugin/src/index.ts index 7db44d76b..54d4712ba 100644 --- a/packages/start-nitro-v2-vite-plugin/src/index.ts +++ b/packages/start-nitro-v2-vite-plugin/src/index.ts @@ -17,9 +17,19 @@ let ssrEntryFile: string; export type UserNitroConfig = Omit; export function nitroV2Plugin(nitroConfig?: UserNitroConfig): PluginOption { + let didWarn = false; + return [ { name: "solid-start-vite-plugin-nitro", + configResolved(config) { + if (config.command === "build" && !didWarn) { + didWarn = true; + config.logger.warn( + "[@solidjs/vite-plugin-nitro-2] This plugin is deprecated. Migrate to Nitro v3 using the official `nitro/vite` plugin. See https://github.com/solidjs/templates/blob/main/solid-start-v2/bare/vite.config.ts for a SolidStart example and https://nitro.build/docs#vite-integration for general configuration.", + ); + } + }, generateBundle: { handler(_options, bundle) { if (this.environment.name !== "ssr") {