mirror of
https://github.com/wavetermdev/waveterm.git
synced 2024-12-22 16:48:23 +01:00
5c00fc6e78
This PR updates the window controls overlay code to remove the dependency on `sharp`, which is a natively-compiled Node library that is really hard to package for Electron given the way that we strip node modules after bundling. I've replaced this with `pngjs`, which has a smaller footprint and is still relatively fast (it doesn't need to be perfect since it runs on the Node process instead of the browser process).
76 lines
2.0 KiB
TypeScript
76 lines
2.0 KiB
TypeScript
// Copyright 2024, Command Line Inc.
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
import react from "@vitejs/plugin-react-swc";
|
|
import { defineConfig } from "electron-vite";
|
|
import flow from "rollup-plugin-flow";
|
|
import { ViteImageOptimizer } from "vite-plugin-image-optimizer";
|
|
import { viteStaticCopy } from "vite-plugin-static-copy";
|
|
import svgr from "vite-plugin-svgr";
|
|
import tsconfigPaths from "vite-tsconfig-paths";
|
|
|
|
export default defineConfig({
|
|
main: {
|
|
root: ".",
|
|
build: {
|
|
rollupOptions: {
|
|
input: {
|
|
index: "emain/emain.ts",
|
|
},
|
|
},
|
|
outDir: "dist/main",
|
|
},
|
|
plugins: [tsconfigPaths(), flow()],
|
|
resolve: {
|
|
alias: {
|
|
"@": "frontend",
|
|
},
|
|
},
|
|
},
|
|
preload: {
|
|
root: ".",
|
|
build: {
|
|
sourcemap: true,
|
|
rollupOptions: {
|
|
input: {
|
|
index: "emain/preload.ts",
|
|
},
|
|
output: {
|
|
format: "cjs",
|
|
},
|
|
},
|
|
outDir: "dist/preload",
|
|
},
|
|
plugins: [tsconfigPaths(), flow()],
|
|
},
|
|
renderer: {
|
|
root: ".",
|
|
build: {
|
|
target: "es6",
|
|
sourcemap: true,
|
|
outDir: "dist/frontend",
|
|
rollupOptions: {
|
|
input: {
|
|
index: "index.html",
|
|
},
|
|
},
|
|
},
|
|
server: {
|
|
open: false,
|
|
},
|
|
plugins: [
|
|
ViteImageOptimizer(),
|
|
tsconfigPaths(),
|
|
svgr({
|
|
svgrOptions: { exportType: "default", ref: true, svgo: false, titleProp: true },
|
|
include: "**/*.svg",
|
|
}),
|
|
react({}),
|
|
flow(),
|
|
viteStaticCopy({
|
|
targets: [{ src: "node_modules/monaco-editor/min/vs/*", dest: "monaco" }],
|
|
}),
|
|
],
|
|
},
|
|
});
|