feat: 预览的组件
This commit is contained in:
41
scripts/check-long-text-guide-detail-routes.mjs
Normal file
41
scripts/check-long-text-guide-detail-routes.mjs
Normal file
@@ -0,0 +1,41 @@
|
||||
import assert from "node:assert/strict";
|
||||
import fs from "node:fs";
|
||||
import path from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
|
||||
import {
|
||||
DETAIL_ROUTE_BY_TYPE,
|
||||
getLongTextGuideDetailRoute,
|
||||
} from "../src/pages/ChatModule/LongTextGuideCardPreview/detailRoutes.mjs";
|
||||
|
||||
const dirname = path.dirname(fileURLToPath(import.meta.url));
|
||||
const rootDir = path.resolve(dirname, "..");
|
||||
|
||||
const expectedRoutes = {
|
||||
longTextCard: "/pages/ChatModule/LongTextGuideCardPreview/guide",
|
||||
longTextCardSnap: "/pages/ChatModule/LongTextGuideCardPreview/poi",
|
||||
longTextCardRoute: "/pages/ChatModule/LongTextGuideCardPreview/route",
|
||||
longTextCardScenicSpot: "/pages/ChatModule/LongTextGuideCardPreview/photo",
|
||||
};
|
||||
|
||||
assert.deepEqual(DETAIL_ROUTE_BY_TYPE, expectedRoutes);
|
||||
|
||||
for (const [type, route] of Object.entries(expectedRoutes)) {
|
||||
assert.equal(getLongTextGuideDetailRoute(type), route);
|
||||
|
||||
const pageFile = path.join(rootDir, "src", `${route.replace(/^\//, "")}.vue`);
|
||||
assert.ok(fs.existsSync(pageFile), `Missing page file for ${type}: ${pageFile}`);
|
||||
}
|
||||
|
||||
const pagesJson = JSON.parse(
|
||||
fs.readFileSync(path.join(rootDir, "src/pages.json"), "utf8"),
|
||||
);
|
||||
const registeredPages = new Set(pagesJson.pages.map((item) => item.path));
|
||||
|
||||
for (const route of Object.values(expectedRoutes)) {
|
||||
assert.ok(
|
||||
registeredPages.has(route.replace(/^\//, "")),
|
||||
`Route is not registered in src/pages.json: ${route}`,
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user