diff --git a/docs/tutorial/astro-blog.md b/docs/tutorial/astro-blog.md index 85f1eb5f9..ad740f1d9 100644 --- a/docs/tutorial/astro-blog.md +++ b/docs/tutorial/astro-blog.md @@ -153,7 +153,7 @@ Select *Astro*, *bun*, *in-process*, and *in-memory* in order: Hono Nitro Next.js - ElysiaJS + Elysia ❯ Astro Express diff --git a/docs/tutorial/microblog.md b/docs/tutorial/microblog.md index 616dc8576..8e02d3cd6 100644 --- a/docs/tutorial/microblog.md +++ b/docs/tutorial/microblog.md @@ -164,7 +164,7 @@ Select *Hono*, *npm*, *in-process*, and *in-memory* in order: ❯ Hono Nitro Next.js - ElysiaJS + Elysia Astro Express Nuxt diff --git a/packages/init/src/types.ts b/packages/init/src/types.ts index b750bd76a..8ca76ef64 100644 --- a/packages/init/src/types.ts +++ b/packages/init/src/types.ts @@ -113,7 +113,7 @@ export interface WebFrameworkInitializer { /** * Describes a web framework integration (Hono, Express, Nitro, Next.js, - * ElysiaJS, Astro) and how to initialize a project with it. + * Elysia, Astro) and how to initialize a project with it. */ export interface WebFrameworkDescription { /** Human-readable name of the framework (e.g., `"Hono"`, `"Next.js"`). */ diff --git a/packages/init/src/webframeworks.test.ts b/packages/init/src/webframeworks.test.ts index c8f6f676f..c2f07fe00 100644 --- a/packages/init/src/webframeworks.test.ts +++ b/packages/init/src/webframeworks.test.ts @@ -1,9 +1,12 @@ import { equal, ok } from "node:assert/strict"; +import { readFile } from "node:fs/promises"; +import { dirname, resolve } from "node:path"; import test from "node:test"; +import { fileURLToPath } from "node:url"; import astroDescription from "./webframeworks/astro.ts"; +import webFrameworks from "./webframeworks/mod.ts"; import nextDescription from "./webframeworks/next.ts"; import nitroDescription from "./webframeworks/nitro.ts"; -import webFrameworks from "./webframeworks/mod.ts"; import solidstartDescription from "./webframeworks/solidstart.ts"; test("Nitro template loads LogTape during server startup", async () => { @@ -162,3 +165,26 @@ test("Astro Node.js and Bun templates use Prettier for Astro files", async () => equal(initializer.format?.tool, "prettier"); } }); + +test("README.md's web framework list matches the framework registry", async () => { + const modList = Object.values(webFrameworks).map((f) => f.label); + const readmeFile = resolve( + dirname(fileURLToPath(import.meta.url)), + "..", + "README.md", + ); + const readme = await readFile(readmeFile, "utf-8"); + const readmeWebframeworks = readme.match( + /\*\*Web frameworks\*\*:\s*([\s\S]+?)(?=\n\s*-\s*\*\*)/, + ); + ok(readmeWebframeworks); + const readmeList = readmeWebframeworks[1] + .split(/,\s*/) + .map((s) => s.trim().replace(/^\[|\]$/g, "")); + equal(modList.length, readmeList.length); + modList.sort(); + readmeList.sort(); + for (let i = 0; i < modList.length; i++) { + equal(modList[i], readmeList[i]); + } +}); diff --git a/packages/init/src/webframeworks/elysia.ts b/packages/init/src/webframeworks/elysia.ts index 4334995a8..66f78f5bb 100644 --- a/packages/init/src/webframeworks/elysia.ts +++ b/packages/init/src/webframeworks/elysia.ts @@ -6,7 +6,7 @@ import { defaultDenoDependencies, defaultDevDependencies } from "./const.ts"; import { getInstruction, nodeBunDevToolTasks, pmToRt } from "./utils.ts"; const elysiaDescription: WebFrameworkDescription = { - label: "ElysiaJS", + label: "Elysia", packageManagers: PACKAGE_MANAGER, defaultPort: 3000, init: async ({ projectName, packageManager: pm }) => ({