build separated arcitecture

This commit is contained in:
d-kimsuon
2025-10-26 14:42:58 +09:00
parent 3c00d9e651
commit efa63a1224
4 changed files with 87 additions and 100 deletions

6
dist/index.js vendored
View File

@@ -1,6 +0,0 @@
#!/usr/bin/env node
await import("./standalone/server.js").catch((error) => {
console.error(error);
process.exit(1);
});

View File

@@ -15,11 +15,11 @@
"node": ">=20.19.0" "node": ">=20.19.0"
}, },
"exports": { "exports": {
".": "./dist/index.js", ".": "./dist/main.js",
"./package.json": "./package.json" "./package.json": "./package.json"
}, },
"bin": { "bin": {
"claude-code-viewer": "./dist/index.js" "claude-code-viewer": "./dist/main.js"
}, },
"scripts": { "scripts": {
"dev": "run-p 'dev:*'", "dev": "run-p 'dev:*'",

View File

@@ -2,17 +2,10 @@
set -euxo pipefail set -euxo pipefail
if [ -d "dist/.next" ]; then if [ -d "dist" ]; then
rm -rf dist/.next rm -rf dist
fi
if [ -d "dist/standalone" ]; then
rm -rf dist/standalone
fi fi
pnpm lingui:compile pnpm lingui:compile
pnpm exec next build pnpm build:frontend
cp -r public .next/standalone/ pnpm build:backend
cp -r .next/static .next/standalone/.next/
cp -r .next/standalone ./dist/

View File

@@ -8,112 +8,112 @@
// You should NOT make any changes in this file as it will be overwritten. // You should NOT make any changes in this file as it will be overwritten.
// Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified. // Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified.
import { Route as rootRouteImport } from "./routes/__root"; import { Route as rootRouteImport } from './routes/__root'
import { Route as IndexRouteImport } from "./routes/index"; import { Route as IndexRouteImport } from './routes/index'
import { Route as ProjectsProjectIdLatestIndexRouteImport } from "./routes/projects/$projectId/latest/index"; import { Route as ProjectsIndexRouteImport } from './routes/projects/index'
import { Route as ProjectsProjectIdSessionsSessionIdIndexRouteImport } from "./routes/projects/$projectId/sessions/$sessionId/index"; import { Route as ProjectsProjectIdLatestIndexRouteImport } from './routes/projects/$projectId/latest/index'
import { Route as ProjectsIndexRouteImport } from "./routes/projects/index"; import { Route as ProjectsProjectIdSessionsSessionIdIndexRouteImport } from './routes/projects/$projectId/sessions/$sessionId/index'
const IndexRoute = IndexRouteImport.update({ const IndexRoute = IndexRouteImport.update({
id: "/", id: '/',
path: "/", path: '/',
getParentRoute: () => rootRouteImport, getParentRoute: () => rootRouteImport,
} as any); } as any)
const ProjectsIndexRoute = ProjectsIndexRouteImport.update({ const ProjectsIndexRoute = ProjectsIndexRouteImport.update({
id: "/projects/", id: '/projects/',
path: "/projects/", path: '/projects/',
getParentRoute: () => rootRouteImport, getParentRoute: () => rootRouteImport,
} as any); } as any)
const ProjectsProjectIdLatestIndexRoute = const ProjectsProjectIdLatestIndexRoute =
ProjectsProjectIdLatestIndexRouteImport.update({ ProjectsProjectIdLatestIndexRouteImport.update({
id: "/projects/$projectId/latest/", id: '/projects/$projectId/latest/',
path: "/projects/$projectId/latest/", path: '/projects/$projectId/latest/',
getParentRoute: () => rootRouteImport, getParentRoute: () => rootRouteImport,
} as any); } as any)
const ProjectsProjectIdSessionsSessionIdIndexRoute = const ProjectsProjectIdSessionsSessionIdIndexRoute =
ProjectsProjectIdSessionsSessionIdIndexRouteImport.update({ ProjectsProjectIdSessionsSessionIdIndexRouteImport.update({
id: "/projects/$projectId/sessions/$sessionId/", id: '/projects/$projectId/sessions/$sessionId/',
path: "/projects/$projectId/sessions/$sessionId/", path: '/projects/$projectId/sessions/$sessionId/',
getParentRoute: () => rootRouteImport, getParentRoute: () => rootRouteImport,
} as any); } as any)
export interface FileRoutesByFullPath { export interface FileRoutesByFullPath {
"/": typeof IndexRoute; '/': typeof IndexRoute
"/projects": typeof ProjectsIndexRoute; '/projects': typeof ProjectsIndexRoute
"/projects/$projectId/latest": typeof ProjectsProjectIdLatestIndexRoute; '/projects/$projectId/latest': typeof ProjectsProjectIdLatestIndexRoute
"/projects/$projectId/sessions/$sessionId": typeof ProjectsProjectIdSessionsSessionIdIndexRoute; '/projects/$projectId/sessions/$sessionId': typeof ProjectsProjectIdSessionsSessionIdIndexRoute
} }
export interface FileRoutesByTo { export interface FileRoutesByTo {
"/": typeof IndexRoute; '/': typeof IndexRoute
"/projects": typeof ProjectsIndexRoute; '/projects': typeof ProjectsIndexRoute
"/projects/$projectId/latest": typeof ProjectsProjectIdLatestIndexRoute; '/projects/$projectId/latest': typeof ProjectsProjectIdLatestIndexRoute
"/projects/$projectId/sessions/$sessionId": typeof ProjectsProjectIdSessionsSessionIdIndexRoute; '/projects/$projectId/sessions/$sessionId': typeof ProjectsProjectIdSessionsSessionIdIndexRoute
} }
export interface FileRoutesById { export interface FileRoutesById {
__root__: typeof rootRouteImport; __root__: typeof rootRouteImport
"/": typeof IndexRoute; '/': typeof IndexRoute
"/projects/": typeof ProjectsIndexRoute; '/projects/': typeof ProjectsIndexRoute
"/projects/$projectId/latest/": typeof ProjectsProjectIdLatestIndexRoute; '/projects/$projectId/latest/': typeof ProjectsProjectIdLatestIndexRoute
"/projects/$projectId/sessions/$sessionId/": typeof ProjectsProjectIdSessionsSessionIdIndexRoute; '/projects/$projectId/sessions/$sessionId/': typeof ProjectsProjectIdSessionsSessionIdIndexRoute
} }
export interface FileRouteTypes { export interface FileRouteTypes {
fileRoutesByFullPath: FileRoutesByFullPath; fileRoutesByFullPath: FileRoutesByFullPath
fullPaths: fullPaths:
| "/" | '/'
| "/projects" | '/projects'
| "/projects/$projectId/latest" | '/projects/$projectId/latest'
| "/projects/$projectId/sessions/$sessionId"; | '/projects/$projectId/sessions/$sessionId'
fileRoutesByTo: FileRoutesByTo; fileRoutesByTo: FileRoutesByTo
to: to:
| "/" | '/'
| "/projects" | '/projects'
| "/projects/$projectId/latest" | '/projects/$projectId/latest'
| "/projects/$projectId/sessions/$sessionId"; | '/projects/$projectId/sessions/$sessionId'
id: id:
| "__root__" | '__root__'
| "/" | '/'
| "/projects/" | '/projects/'
| "/projects/$projectId/latest/" | '/projects/$projectId/latest/'
| "/projects/$projectId/sessions/$sessionId/"; | '/projects/$projectId/sessions/$sessionId/'
fileRoutesById: FileRoutesById; fileRoutesById: FileRoutesById
} }
export interface RootRouteChildren { export interface RootRouteChildren {
IndexRoute: typeof IndexRoute; IndexRoute: typeof IndexRoute
ProjectsIndexRoute: typeof ProjectsIndexRoute; ProjectsIndexRoute: typeof ProjectsIndexRoute
ProjectsProjectIdLatestIndexRoute: typeof ProjectsProjectIdLatestIndexRoute; ProjectsProjectIdLatestIndexRoute: typeof ProjectsProjectIdLatestIndexRoute
ProjectsProjectIdSessionsSessionIdIndexRoute: typeof ProjectsProjectIdSessionsSessionIdIndexRoute; ProjectsProjectIdSessionsSessionIdIndexRoute: typeof ProjectsProjectIdSessionsSessionIdIndexRoute
} }
declare module "@tanstack/react-router" { declare module '@tanstack/react-router' {
interface FileRoutesByPath { interface FileRoutesByPath {
"/": { '/': {
id: "/"; id: '/'
path: "/"; path: '/'
fullPath: "/"; fullPath: '/'
preLoaderRoute: typeof IndexRouteImport; preLoaderRoute: typeof IndexRouteImport
parentRoute: typeof rootRouteImport; parentRoute: typeof rootRouteImport
}; }
"/projects/": { '/projects/': {
id: "/projects/"; id: '/projects/'
path: "/projects"; path: '/projects'
fullPath: "/projects"; fullPath: '/projects'
preLoaderRoute: typeof ProjectsIndexRouteImport; preLoaderRoute: typeof ProjectsIndexRouteImport
parentRoute: typeof rootRouteImport; parentRoute: typeof rootRouteImport
}; }
"/projects/$projectId/latest/": { '/projects/$projectId/latest/': {
id: "/projects/$projectId/latest/"; id: '/projects/$projectId/latest/'
path: "/projects/$projectId/latest"; path: '/projects/$projectId/latest'
fullPath: "/projects/$projectId/latest"; fullPath: '/projects/$projectId/latest'
preLoaderRoute: typeof ProjectsProjectIdLatestIndexRouteImport; preLoaderRoute: typeof ProjectsProjectIdLatestIndexRouteImport
parentRoute: typeof rootRouteImport; parentRoute: typeof rootRouteImport
}; }
"/projects/$projectId/sessions/$sessionId/": { '/projects/$projectId/sessions/$sessionId/': {
id: "/projects/$projectId/sessions/$sessionId/"; id: '/projects/$projectId/sessions/$sessionId/'
path: "/projects/$projectId/sessions/$sessionId"; path: '/projects/$projectId/sessions/$sessionId'
fullPath: "/projects/$projectId/sessions/$sessionId"; fullPath: '/projects/$projectId/sessions/$sessionId'
preLoaderRoute: typeof ProjectsProjectIdSessionsSessionIdIndexRouteImport; preLoaderRoute: typeof ProjectsProjectIdSessionsSessionIdIndexRouteImport
parentRoute: typeof rootRouteImport; parentRoute: typeof rootRouteImport
}; }
} }
} }
@@ -123,7 +123,7 @@ const rootRouteChildren: RootRouteChildren = {
ProjectsProjectIdLatestIndexRoute: ProjectsProjectIdLatestIndexRoute, ProjectsProjectIdLatestIndexRoute: ProjectsProjectIdLatestIndexRoute,
ProjectsProjectIdSessionsSessionIdIndexRoute: ProjectsProjectIdSessionsSessionIdIndexRoute:
ProjectsProjectIdSessionsSessionIdIndexRoute, ProjectsProjectIdSessionsSessionIdIndexRoute,
}; }
export const routeTree = rootRouteImport export const routeTree = rootRouteImport
._addFileChildren(rootRouteChildren) ._addFileChildren(rootRouteChildren)
._addFileTypes<FileRouteTypes>(); ._addFileTypes<FileRouteTypes>()