feat: complete TechLog Studio publication flow
This commit is contained in:
@@ -4,10 +4,54 @@ import tailwindcss from "@tailwindcss/vite";
|
||||
|
||||
import { viteModuleInventoryPlugin } from "./scripts/lib/vite-module-inventory.ts";
|
||||
|
||||
const techLogRouteChunks = Object.freeze({
|
||||
"/public/pages/home-page.tsx": "route-tech-log-home",
|
||||
"/public/pages/explore-page.tsx": "route-tech-log-explore",
|
||||
"/public/pages/explore-kind-page.tsx": "route-tech-log-explore-kind",
|
||||
"/public/pages/case-page.tsx": "route-tech-log-case",
|
||||
"/public/pages/reference-page.tsx": "route-tech-log-reference",
|
||||
"/public/pages/question-page.tsx": "route-tech-log-question",
|
||||
"/public/pages/topic-page.tsx": "route-tech-log-topic",
|
||||
"/public/pages/projects-page.tsx": "route-tech-log-projects",
|
||||
"/public/pages/project-overview-page.tsx": "route-tech-log-project",
|
||||
"/public/pages/project-records-page.tsx": "route-tech-log-project-records",
|
||||
"/public/pages/project-decisions-page.tsx": "route-tech-log-project-decisions",
|
||||
"/public/pages/project-activity-page.tsx": "route-tech-log-project-activity",
|
||||
"/public/pages/releases-page.tsx": "route-tech-log-releases",
|
||||
"/public/pages/release-page.tsx": "route-tech-log-release",
|
||||
"/public/pages/profile-page.tsx": "route-tech-log-profile",
|
||||
"/public/pages/search-page.tsx": "route-tech-log-search",
|
||||
"/studio/pages/studio-home-page.tsx": "route-tech-log-studio-home",
|
||||
"/studio/pages/documents-page.tsx": "route-tech-log-studio-documents",
|
||||
"/studio/pages/new-document-page.tsx": "route-tech-log-studio-document-new",
|
||||
"/studio/pages/document-edit-page.tsx": "route-tech-log-studio-document-edit",
|
||||
"/studio/pages/document-validation-page.tsx": "route-tech-log-studio-document-validation",
|
||||
"/studio/pages/document-preview-page.tsx": "route-tech-log-studio-document-preview",
|
||||
"/studio/pages/document-publish-page.tsx": "route-tech-log-studio-document-publish",
|
||||
"/studio/pages/publications-page.tsx": "route-tech-log-studio-publications",
|
||||
"/studio/pages/publication-preview-page.tsx": "route-tech-log-studio-publication-preview",
|
||||
"/studio/pages/studio-not-found-page.tsx": "route-tech-log-studio-not-found",
|
||||
"/public/pages/public-not-found-page.tsx": "route-not-found",
|
||||
} as const);
|
||||
|
||||
function routeChunkName(moduleId: string): string | undefined {
|
||||
const normalized = moduleId.replaceAll("\\", "/");
|
||||
const featurePath = "/src/features/tech-log/presentation";
|
||||
const featureIndex = normalized.lastIndexOf(featurePath);
|
||||
if (featureIndex < 0) return undefined;
|
||||
const routePath = normalized.slice(featureIndex + featurePath.length);
|
||||
return techLogRouteChunks[routePath as keyof typeof techLogRouteChunks];
|
||||
}
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [react(), tailwindcss(), viteModuleInventoryPlugin()],
|
||||
build: {
|
||||
manifest: true,
|
||||
sourcemap: false,
|
||||
rolldownOptions: {
|
||||
output: {
|
||||
manualChunks: routeChunkName,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user