From bf3f4d445fb29982378b80f1d435daeb46a6525a Mon Sep 17 00:00:00 2001 From: Danielv123 Date: Thu, 29 Oct 2026 20:55:59 +0100 Subject: [PATCH] Build the lobby plugin with Vite Master replaced webpack with Vite and removed RequestError, port the lobby plugin to both. --- plugins/lobby/.npmignore | 2 ++ plugins/lobby/controller.ts | 2 +- plugins/lobby/package.json | 8 +++----- plugins/lobby/vite.config.js | 6 ++++++ plugins/lobby/webpack.config.cjs | 28 ---------------------------- 5 files changed, 12 insertions(+), 34 deletions(-) create mode 100644 plugins/lobby/.npmignore create mode 100644 plugins/lobby/vite.config.js delete mode 100644 plugins/lobby/webpack.config.cjs diff --git a/plugins/lobby/.npmignore b/plugins/lobby/.npmignore new file mode 100644 index 00000000..75717778 --- /dev/null +++ b/plugins/lobby/.npmignore @@ -0,0 +1,2 @@ +vite.config.js +dist/browser diff --git a/plugins/lobby/controller.ts b/plugins/lobby/controller.ts index c80e5426..d192c07b 100644 --- a/plugins/lobby/controller.ts +++ b/plugins/lobby/controller.ts @@ -381,7 +381,7 @@ export class LobbyController { startTransfer(player: string, instanceId: number, lobbyId?: number) { const instance = this.controller.instances.get(instanceId); if (!LobbyController.isRoutable(instance)) { - throw new lib.RequestError(`Instance ${instanceId} is not available`); + throw new lib.UnavailableError(`Instance ${instanceId} is not available`); } const ready = instance.status === "running"; const transfer: Transfer = { diff --git a/plugins/lobby/package.json b/plugins/lobby/package.json index 6a921fb8..8f125eb5 100644 --- a/plugins/lobby/package.json +++ b/plugins/lobby/package.json @@ -1,6 +1,6 @@ { "name": "@clusterio/plugin-lobby", - "version": "2.0.2", + "version": "2.0.3", "description": "Clusterio plugin for a lobby server players pick the server to join from, and listing the cluster in the Factorio server browser", "homepage": "https://github.com/clusterio/clusterio#readme", "author": "Danielv123", @@ -26,7 +26,7 @@ "type": "module", "main": "dist/node/index.js", "scripts": { - "prepare": "tsc --build && webpack-cli --mode production", + "prepare": "tsc --build && vite build", "test": "echo \"Error: run tests from root\" && exit 1" }, "engines": { @@ -57,8 +57,6 @@ "@types/node": "catalog:", "@types/react": "catalog:", "typescript": "catalog:", - "webpack": "catalog:", - "webpack-cli": "catalog:", - "webpack-merge": "catalog:" + "vite": "catalog:" } } diff --git a/plugins/lobby/vite.config.js b/plugins/lobby/vite.config.js new file mode 100644 index 00000000..5db067d0 --- /dev/null +++ b/plugins/lobby/vite.config.js @@ -0,0 +1,6 @@ +import { defineConfig } from "vite"; +import { clusterioPlugin } from "@clusterio/web_ui/vite.mjs"; + +export default defineConfig({ + plugins: [clusterioPlugin()], +}); diff --git a/plugins/lobby/webpack.config.cjs b/plugins/lobby/webpack.config.cjs deleted file mode 100644 index 6bc4de10..00000000 --- a/plugins/lobby/webpack.config.cjs +++ /dev/null @@ -1,28 +0,0 @@ -"use strict"; -const path = require("path"); -const webpack = require("webpack"); -const { merge } = require("webpack-merge"); - -const common = require("@clusterio/web_ui/webpack.common"); - -module.exports = (env = {}, argv = {}) => merge(common(env, argv), { - context: __dirname, - entry: "./web/index.tsx", - output: { - path: path.resolve(__dirname, "dist", "web"), - }, - plugins: [ - new webpack.container.ModuleFederationPlugin({ - name: "lobby", - library: { type: "var", name: "plugin_lobby" }, - exposes: { - "./": "./index.ts", - "./package.json": "./package.json", - }, - shared: { - "@clusterio/lib": { import: false }, - "@clusterio/web_ui": { import: false }, - }, - }), - ], -});