Merge branch 'explosivegaming:main' into aperx

This commit is contained in:
2025-09-17 19:06:27 +09:00
committed by GitHub
23 changed files with 201 additions and 13 deletions

View File

@@ -7,7 +7,7 @@
"repository": "explosivegaming/ExpCluster",
"main": "dist/node/index.js",
"scripts": {
"prepare": "tsc --build"
"prepare": "tsc --build && webpack-cli --env production"
},
"engines": {
"node": ">=18"
@@ -18,7 +18,10 @@
"devDependencies": {
"@clusterio/lib": "catalog:",
"@types/node": "catalog:",
"typescript": "catalog:"
"typescript": "catalog:",
"webpack": "catalog:",
"webpack-cli": "catalog:",
"webpack-merge": "catalog:"
},
"dependencies": {
"@expcluster/lib_util": "workspace:^",

View File

@@ -0,0 +1,4 @@
{
"extends": "../tsconfig.browser.json",
"include": [ "web/**/*.tsx", "web/**/*.ts", "package.json" ],
}

View File

@@ -1,6 +1,7 @@
{
"files": [],
"references": [
{ "path": "./tsconfig.node.json" }
{ "path": "./tsconfig.node.json" },
{ "path": "./tsconfig.browser.json" }
]
}

View File

View File

@@ -0,0 +1,29 @@
"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 = {}) => merge(common(env), {
context: __dirname,
entry: "./web/index.tsx",
output: {
path: path.resolve(__dirname, "dist", "web"),
},
plugins: [
new webpack.container.ModuleFederationPlugin({
name: "exp_commands",
library: { type: "window", name: "plugin_exp_commands" },
exposes: {
"./": "./index.ts",
"./package.json": "./package.json",
"./web": "./web/index.tsx",
},
shared: {
"@clusterio/lib": { import: false },
"@clusterio/web_ui": { import: false },
},
}),
],
});

View File

@@ -7,7 +7,7 @@
"repository": "explosivegaming/ExpCluster",
"main": "dist/node/index.js",
"scripts": {
"prepare": "tsc --build"
"prepare": "tsc --build && webpack-cli --env production"
},
"engines": {
"node": ">=18"
@@ -18,7 +18,10 @@
"devDependencies": {
"@clusterio/lib": "catalog:",
"@types/node": "catalog:",
"typescript": "catalog:"
"typescript": "catalog:",
"webpack": "catalog:",
"webpack-cli": "catalog:",
"webpack-merge": "catalog:"
},
"dependencies": {
"@expcluster/lib_util": "workspace:^",

View File

@@ -0,0 +1,4 @@
{
"extends": "../tsconfig.browser.json",
"include": [ "web/**/*.tsx", "web/**/*.ts", "package.json" ],
}

View File

@@ -1,6 +1,7 @@
{
"files": [],
"references": [
{ "path": "./tsconfig.node.json" }
{ "path": "./tsconfig.node.json" },
{ "path": "./tsconfig.browser.json" }
]
}

0
exp_gui/web/index.tsx Normal file
View File

29
exp_gui/webpack.config.js Normal file
View File

@@ -0,0 +1,29 @@
"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 = {}) => merge(common(env), {
context: __dirname,
entry: "./web/index.tsx",
output: {
path: path.resolve(__dirname, "dist", "web"),
},
plugins: [
new webpack.container.ModuleFederationPlugin({
name: "exp_gui",
library: { type: "window", name: "plugin_exp_gui" },
exposes: {
"./": "./index.ts",
"./package.json": "./package.json",
"./web": "./web/index.tsx",
},
shared: {
"@clusterio/lib": { import: false },
"@clusterio/web_ui": { import: false },
},
}),
],
});

View File

@@ -7,7 +7,7 @@
"repository": "explosivegaming/ExpCluster",
"main": "dist/node/index.js",
"scripts": {
"prepare": "tsc --build"
"prepare": "tsc --build && webpack-cli --env production"
},
"engines": {
"node": ">=18"
@@ -18,7 +18,10 @@
"devDependencies": {
"@clusterio/lib": "catalog:",
"@types/node": "catalog:",
"typescript": "catalog:"
"typescript": "catalog:",
"webpack": "catalog:",
"webpack-cli": "catalog:",
"webpack-merge": "catalog:"
},
"dependencies": {
"@expcluster/lib_commands": "workspace:^",

View File

@@ -0,0 +1,4 @@
{
"extends": "../tsconfig.browser.json",
"include": [ "web/**/*.tsx", "web/**/*.ts", "package.json" ],
}

View File

@@ -1,6 +1,7 @@
{
"files": [],
"references": [
{ "path": "./tsconfig.node.json" }
{ "path": "./tsconfig.node.json" },
{ "path": "./tsconfig.browser.json" }
]
}

0
exp_legacy/web/index.tsx Normal file
View File

View File

@@ -0,0 +1,29 @@
"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 = {}) => merge(common(env), {
context: __dirname,
entry: "./web/index.tsx",
output: {
path: path.resolve(__dirname, "dist", "web"),
},
plugins: [
new webpack.container.ModuleFederationPlugin({
name: "exp_legacy",
library: { type: "window", name: "plugin_exp_legacy" },
exposes: {
"./": "./index.ts",
"./package.json": "./package.json",
"./web": "./web/index.tsx",
},
shared: {
"@clusterio/lib": { import: false },
"@clusterio/web_ui": { import: false },
},
}),
],
});

View File

@@ -401,6 +401,9 @@ end
--- @param player LuaPlayer
function Elements.container.clear_player_bonus(player)
Elements.container.data[player] = {}
if not player.character then
return
end
for _, bonus_data in pairs(config.player_bonus) do
if not bonus_data.is_special then
player[bonus_data.name] = 0

View File

@@ -1,6 +1,7 @@
{
"files": [],
"references": [
{ "path": "./tsconfig.node.json" }
{ "path": "./tsconfig.node.json" },
{ "path": "./tsconfig.browser.json" }
]
}

View File

@@ -7,7 +7,7 @@
"repository": "explosivegaming/ExpCluster",
"main": "dist/node/index.js",
"scripts": {
"prepare": "tsc --build"
"prepare": "tsc --build && webpack-cli --env production"
},
"engines": {
"node": ">=18"
@@ -18,7 +18,10 @@
"devDependencies": {
"@clusterio/lib": "catalog:",
"@types/node": "catalog:",
"typescript": "catalog:"
"typescript": "catalog:",
"webpack": "catalog:",
"webpack-cli": "catalog:",
"webpack-merge": "catalog:"
},
"dependencies": {
"@sinclair/typebox": "catalog:"

View File

@@ -0,0 +1,4 @@
{
"extends": "../tsconfig.browser.json",
"include": [ "web/**/*.tsx", "web/**/*.ts", "package.json" ],
}

View File

@@ -1,6 +1,7 @@
{
"files": [],
"references": [
{ "path": "./tsconfig.node.json" }
{ "path": "./tsconfig.node.json" },
{ "path": "./tsconfig.browser.json" }
]
}

0
exp_util/web/index.tsx Normal file
View File

View File

@@ -0,0 +1,29 @@
"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 = {}) => merge(common(env), {
context: __dirname,
entry: "./web/index.tsx",
output: {
path: path.resolve(__dirname, "dist", "web"),
},
plugins: [
new webpack.container.ModuleFederationPlugin({
name: "exp_util",
library: { type: "window", name: "plugin_exp_util" },
exposes: {
"./": "./index.ts",
"./package.json": "./package.json",
"./web": "./web/index.tsx",
},
shared: {
"@clusterio/lib": { import: false },
"@clusterio/web_ui": { import: false },
},
}),
],
});

36
pnpm-lock.yaml generated
View File

@@ -69,6 +69,15 @@ importers:
typescript:
specifier: 'catalog:'
version: 5.8.3
webpack:
specifier: 'catalog:'
version: 5.98.0(@swc/core@1.11.16)(webpack-cli@5.1.4)
webpack-cli:
specifier: 'catalog:'
version: 5.1.4(webpack@5.98.0)
webpack-merge:
specifier: 'catalog:'
version: 5.10.0
exp_groups:
dependencies:
@@ -134,6 +143,15 @@ importers:
typescript:
specifier: 'catalog:'
version: 5.8.3
webpack:
specifier: 'catalog:'
version: 5.98.0(@swc/core@1.11.16)(webpack-cli@5.1.4)
webpack-cli:
specifier: 'catalog:'
version: 5.1.4(webpack@5.98.0)
webpack-merge:
specifier: 'catalog:'
version: 5.10.0
exp_legacy:
dependencies:
@@ -156,6 +174,15 @@ importers:
typescript:
specifier: 'catalog:'
version: 5.8.3
webpack:
specifier: 'catalog:'
version: 5.98.0(@swc/core@1.11.16)(webpack-cli@5.1.4)
webpack-cli:
specifier: 'catalog:'
version: 5.1.4(webpack@5.98.0)
webpack-merge:
specifier: 'catalog:'
version: 5.10.0
exp_scenario:
dependencies:
@@ -252,6 +279,15 @@ importers:
typescript:
specifier: 'catalog:'
version: 5.8.3
webpack:
specifier: 'catalog:'
version: 5.98.0(@swc/core@1.11.16)(webpack-cli@5.1.4)
webpack-cli:
specifier: 'catalog:'
version: 5.1.4(webpack@5.98.0)
webpack-merge:
specifier: 'catalog:'
version: 5.10.0
packages: