mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2026-05-26 20:49:55 +00:00
Move bundling server from Rollup to esbuild
Fixes all sentry/otel related issues in deploy. Requires require shim. No longer needs to extern resvg.
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
import { sentryEsbuildPlugin } from "@sentry/esbuild-plugin";
|
||||
import esbuild from "esbuild";
|
||||
|
||||
// https://github.com/evanw/esbuild/pull/2067
|
||||
const ESM_REQUIRE_SHIM = `
|
||||
await (async () => {
|
||||
const { dirname } = await import("path");
|
||||
const { fileURLToPath } = await import("url");
|
||||
|
||||
/**
|
||||
* Shim entry-point related paths.
|
||||
*/
|
||||
if (typeof globalThis.__filename === "undefined") {
|
||||
globalThis.__filename = fileURLToPath(import.meta.url);
|
||||
}
|
||||
if (typeof globalThis.__dirname === "undefined") {
|
||||
globalThis.__dirname = dirname(globalThis.__filename);
|
||||
}
|
||||
/**
|
||||
* Shim require if needed.
|
||||
*/
|
||||
if (typeof globalThis.require === "undefined") {
|
||||
const { default: module } = await import("module");
|
||||
globalThis.require = module.createRequire(import.meta.url);
|
||||
}
|
||||
})();
|
||||
`;
|
||||
const banner = {
|
||||
"js": ESM_REQUIRE_SHIM
|
||||
};
|
||||
|
||||
esbuild.build({
|
||||
sourcemap: true, // Source map generation must be turned on
|
||||
platform: "node", // Node.js platform
|
||||
target: "node22.0", // Node.js version
|
||||
entryPoints: ["./build/index.js"], // Entry point file
|
||||
outdir: "./output", // Output directory
|
||||
bundle: true, // Generate an external bundle
|
||||
format: "esm", // Output format
|
||||
loader: {
|
||||
".node": "file",
|
||||
},
|
||||
alias: {
|
||||
"perf_hooks": "node:perf_hooks",
|
||||
},
|
||||
banner,
|
||||
plugins: [
|
||||
// Put the Sentry esbuild plugin after all other plugins
|
||||
sentryEsbuildPlugin({
|
||||
org: "jade-ellis",
|
||||
project: "jade-website-sveltekit",
|
||||
authToken: process.env.SENTRY_AUTH_TOKEN,
|
||||
}),
|
||||
],
|
||||
});
|
||||
Reference in New Issue
Block a user