aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstonedDiscord <Tukz@gmx.de>2026-01-28 18:13:07 +0100
committerGitHub <noreply@github.com>2026-01-28 18:13:07 +0100
commite18f2a46f3f4bfa7881b8cbc254c10f6eb570040 (patch)
tree022efa1e5c590302290b54999b813efc81c7358b
parent0e4d714c1a6042a448e699176c1fbc84a89393c4 (diff)
parentfe44f280dc6b80edbee09de1ddc4742feb46c46c (diff)
Merge pull request #289 from OmniTroid/esbuild
Esbuild
-rw-r--r--.gitignore3
-rw-r--r--build.js19
-rw-r--r--package.json3
-rw-r--r--tsconfig.json4
-rw-r--r--webAO/packets/handlers/handleID.ts4
-rw-r--r--webpack.config.js6
6 files changed, 35 insertions, 4 deletions
diff --git a/.gitignore b/.gitignore
index 4f1a60f..67fe165 100644
--- a/.gitignore
+++ b/.gitignore
@@ -58,3 +58,6 @@ node_modules
# Jetbrains
.idea/
+
+# Ignore lockfile to always get newest versions and keep dependabot away
+bun.lock
diff --git a/build.js b/build.js
new file mode 100644
index 0000000..2e17866
--- /dev/null
+++ b/build.js
@@ -0,0 +1,19 @@
+const webpack = require('webpack');
+const config = require('./webpack.config.js');
+
+const compiler = webpack(config);
+
+// Keep process alive
+const keepAlive = setInterval(() => {}, 1000);
+
+compiler.run((err, stats) => {
+ clearInterval(keepAlive);
+
+ if (err) {
+ console.error(err);
+ process.exit(1);
+ }
+
+ console.log(stats.toString({ colors: true }));
+ compiler.close(() => process.exit(stats.hasErrors() ? 1 : 0));
+});
diff --git a/package.json b/package.json
index 92b4549..d46a9bd 100644
--- a/package.json
+++ b/package.json
@@ -9,7 +9,7 @@
"deploy": "cross-env NODE_ENV=production webpack -p",
"test": "jest",
"test:coverage": "jest --coverage",
- "build": "webpack --config webpack.config.js",
+ "build": "bun build.js",
"start": "webpack serve --config webpack.config.js --mode development",
"lint": "eslint webAO --ext .js",
"lint:fix": "npm run lint -- --fix",
@@ -55,6 +55,7 @@
"@fingerprintjs/fingerprintjs": "^3.4.2",
"@types/websocket": "^1.0.10",
"core-js": "^3.47.0",
+ "esbuild-loader": "^4.4.2",
"golden-layout": "^2.6.0",
"jest-environment-jsdom": "^29.7.0",
"regenerator-runtime": "^0.13.11",
diff --git a/tsconfig.json b/tsconfig.json
index f0256bf..9a5045a 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -6,7 +6,9 @@
"lib": ["DOM", "DOM.Iterable", "ES2021.String"],
"strict": true,
"strictNullChecks": false, //document.getElementBy
- "downlevelIteration": true
+ "downlevelIteration": true,
+ "resolveJsonModule": true,
+ "esModuleInterop": true
},
"include": ["./webAO/*", "./webAO/viewport/viewport.ts"]
}
diff --git a/webAO/packets/handlers/handleID.ts b/webAO/packets/handlers/handleID.ts
index cba2f09..17f43f9 100644
--- a/webAO/packets/handlers/handleID.ts
+++ b/webAO/packets/handlers/handleID.ts
@@ -1,5 +1,7 @@
import { client, setOldLoading } from "../../client";
-const version = process.env.npm_package_version;
+import pkg from "../../../package.json";
+
+const version = pkg.version;
/**
* Identifies the server and issues a playerID
diff --git a/webpack.config.js b/webpack.config.js
index f31cb56..9a0064d 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -63,7 +63,11 @@ module.exports = {
},
},
},
- { test: /\.ts?$/, loader: "ts-loader" },
+ {
+ test: /\.ts$/,
+ loader: "esbuild-loader",
+ options: { loader: "ts" }
+ },
// All output '.js' files will have any sourcemaps re-processed by 'source-map-loader'.
{ test: /\.js$/, loader: "source-map-loader" },
],