Skip to content
9 changes: 5 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,14 @@ jobs:
build-and-release:
strategy:
matrix:
os: [
# macos-latest,
os:
[
macos-latest,
macos-26-intel,
ubuntu-latest,
# ubuntu-24.04-arm,
ubuntu-24.04-arm,
windows-latest,
# windows-11-arm,
windows-11-arm,
]
runs-on: ${{ matrix.os }}

Expand Down
2 changes: 1 addition & 1 deletion .oxfmtrc.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"$schema": "./node_modules/oxfmt/configuration_schema.json",
"ignorePatterns": ["src/mainview/routeTree.gen.ts", "electrobun.config.ts"],
"ignorePatterns": ["src/mainview/routeTree.gen.ts"],
"sortImports": {
"newlinesBetween": false
},
Expand Down
11 changes: 5 additions & 6 deletions electrobun.config.ts
Original file line number Diff line number Diff line change
@@ -1,35 +1,34 @@
import type { ElectrobunConfig } from "electrobun";
import packageJson from "./package.json";

export default {
app: {
identifier: "lovelesscodes.storyforge.dev",
name: "Story Forge",
version: "0.0.1",
version: packageJson.version,
description: "A VintageStory mod manager built with Bun and React",
urlSchemes: ["storyforge", "storyforge-dev"],
},
runtime: {
exitOnLastWindowClosed: true,
},
release: {
baseUrl: "https://github.com/StoryForgeApp/storyforge/releases/latest/download"
baseUrl: "https://github.com/StoryForgeApp/storyforge/releases/latest/download",
},
build: {
// Vite builds to dist/, we copy from there
copy: {
"dist/assets": "views/mainview/assets",
"dist/index.html": "views/mainview/index.html",
},
linux: {
bundleCEF: process.env.NODE_ENV === "production",
bundleCEF: false,
icon: "icon.iconset/icon_512x512.png",
},
mac: {
bundleCEF: false,
icons: "icon.iconset",
},
// Ignore Vite output in watch mode — HMR handles view rebuilds separately
// @ts-expect-error ElectrobunConfig doesn't have watchIgnore yet, but it should be added to avoid unnecessary restarts during development
// @ts-expect-error - watchIgnore is not in the type definition but is in the docs
watchIgnore: ["dist/**"],
win: {
bundleCEF: false,
Expand Down
18 changes: 8 additions & 10 deletions src/shared/rpc.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ import { UtilsController } from "@/bun/controllers/utils";
import { VersionController } from "@/bun/controllers/versions";
import { WorldsController } from "@/bun/controllers/worlds";

type MessagesType = ServerController["messages"] &
ModController["messages"] &
VersionController["messages"] &
LogController["messages"] &
UtilsController["messages"];

// src/shared/types.ts
export type StoryForgeRPCType = {
// functions that execute in the main process
Expand All @@ -27,18 +33,10 @@ export type StoryForgeRPCType = {
response: boolean;
};
};
messages: ServerController["messages"] &
ModController["messages"] &
VersionController["messages"] &
LogController["messages"] &
UtilsController["messages"];
messages: MessagesType;
};
// functions that execute in the browser context
webview: RPCSchema<{
messages: VersionController["messages"] &
ModController["messages"] &
InstallationController["messages"] &
LogController["messages"] &
UtilsController["messages"];
messages: MessagesType;
}>;
};
Loading