Files
tutti/apps/desktop/vite.web.config.mjs
agent-radar 2ed3415fb7
Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
源码快照 @ 2026-09-01 (source-only, 剔除非源码素材)
2026-09-01 20:17:27 +08:00

93 lines
2.5 KiB
JavaScript

import { resolve } from "node:path";
import react from "@vitejs/plugin-react";
import tailwindcss from "@tailwindcss/vite";
import { PerfMonitorVitePlugin } from "@tutti-os/rrt-plugin-vite";
import { defineConfig } from "vite";
const rendererRoot = resolve("src/renderer");
const aliases = {
"@app/renderer": resolve("../../packages/agent/gui/app/renderer"),
"@contexts": resolve("../../packages/agent/gui/contexts"),
"@main": resolve("src/main"),
"@tutti-os/workspace-file-manager/assets/workspace-archive-fallback.png":
resolve(
"../../packages/workspace/file-manager/src/assets/workspace-archive-fallback.png"
),
"@tutti-os/workspace-file-manager/assets/workspace-folder-fallback.png":
resolve(
"../../packages/workspace/file-manager/src/assets/workspace-folder-fallback.png"
),
"@tutti-os/workspace-file-manager/services": resolve(
"../../packages/workspace/file-manager/src/services/index.ts"
),
"@tutti-os/workspace-file-manager/i18n": resolve(
"../../packages/workspace/file-manager/src/i18n/index.ts"
),
"@tutti-os/workspace-file-manager": resolve(
"../../packages/workspace/file-manager/src/index.ts"
),
"@preload": resolve("src/preload"),
"@renderer": resolve("src/renderer/src"),
"@shared/contracts/dto": resolve(
"../../packages/agent/gui/shared/contracts/dto"
),
"@shared/errors/appError": resolve(
"../../packages/agent/gui/shared/errors/appError.ts"
),
"@shared/featureFlags": resolve(
"../../packages/agent/gui/shared/featureFlags"
),
"@shared/types": resolve("../../packages/agent/gui/shared/types"),
"@shared/utils": resolve("../../packages/agent/gui/shared/utils"),
"@shared": resolve("src/shared")
};
const devServer = {
host: "127.0.0.1",
hmr: {
host: "127.0.0.1"
}
};
function envFlagEnabled(value) {
return /^(1|true|yes|on)$/iu.test(value?.trim() ?? "");
}
const perfMonitorEnabled = envFlagEnabled(
process.env.TUTTI_ENABLE_PERF_MONITOR
);
export default defineConfig({
root: rendererRoot,
server: devServer,
plugins: [
react({
babel: {
plugins: [
[
"babel-plugin-react-compiler",
{
compilationMode: "infer",
panicThreshold: "none"
}
]
]
}
}),
tailwindcss(),
...(perfMonitorEnabled
? [
PerfMonitorVitePlugin({
separate: true,
diffMode: "lite",
updateTrace: true,
commitTrace: true
})
]
: [])
],
resolve: {
alias: aliases
}
});