mirror of
https://github.com/wavetermdev/waveterm.git
synced 2024-12-21 16:38: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).
83 lines
2.0 KiB
JavaScript
83 lines
2.0 KiB
JavaScript
const pkg = require("./package.json");
|
|
const fs = require("fs");
|
|
const path = require("path");
|
|
|
|
/**
|
|
* @type {import('electron-builder').Configuration}
|
|
* @see https://www.electron.build/configuration/configuration
|
|
*/
|
|
const config = {
|
|
appId: pkg.build.appId,
|
|
productName: pkg.productName,
|
|
artifactName: "${productName}-${platform}-${arch}-${version}.${ext}",
|
|
npmRebuild: false,
|
|
nodeGypRebuild: false,
|
|
electronCompile: false,
|
|
files: [
|
|
{
|
|
from: "./dist",
|
|
to: "./dist",
|
|
filter: ["**/*"],
|
|
},
|
|
{
|
|
from: ".",
|
|
to: ".",
|
|
filter: ["package.json"],
|
|
},
|
|
"!node_modules", // We don't need electron-builder to package in Node modules as Vite has already bundled any code that our program is using.
|
|
],
|
|
directories: {
|
|
output: "make",
|
|
},
|
|
asarUnpack: [
|
|
"dist/bin/**/*", // wavesrv and wsh binaries
|
|
],
|
|
mac: {
|
|
target: [
|
|
{
|
|
target: "zip",
|
|
arch: "universal",
|
|
},
|
|
{
|
|
target: "dmg",
|
|
arch: "universal",
|
|
},
|
|
],
|
|
icon: "build/icons.icns",
|
|
category: "public.app-category.developer-tools",
|
|
minimumSystemVersion: "10.15.0",
|
|
notarize: process.env.APPLE_TEAM_ID
|
|
? {
|
|
teamId: process.env.APPLE_TEAM_ID,
|
|
}
|
|
: false,
|
|
binaries: fs
|
|
.readdirSync("dist/bin", { recursive: true, withFileTypes: true })
|
|
.filter((f) => f.isFile() && (f.name.startsWith("wavesrv") || f.name.includes("darwin")))
|
|
.map((f) => path.resolve(f.path, f.name)),
|
|
},
|
|
linux: {
|
|
executableName: pkg.productName,
|
|
category: "TerminalEmulator",
|
|
icon: "build/icons.icns",
|
|
target: ["zip", "deb", "rpm", "AppImage", "pacman"],
|
|
synopsis: pkg.description,
|
|
description: null,
|
|
desktop: {
|
|
Name: pkg.productName,
|
|
Comment: pkg.description,
|
|
Keywords: "developer;terminal;emulator;",
|
|
category: "Development;Utility;",
|
|
},
|
|
},
|
|
appImage: {
|
|
license: "LICENSE",
|
|
},
|
|
publish: {
|
|
provider: "generic",
|
|
url: "https://dl.waveterm.dev/releases-w2",
|
|
},
|
|
};
|
|
|
|
module.exports = config;
|