Files
react-godot-renderer/packages/example/rollup.config.ts
Julien Valverdé 185912ceae
Some checks failed
Lint / lint (push) Failing after 9s
Fix example project
2025-12-28 16:12:38 +01:00

50 lines
1.5 KiB
TypeScript

import commonjs from "@rollup/plugin-commonjs"
import inject from "@rollup/plugin-inject"
import { nodeResolve } from "@rollup/plugin-node-resolve"
import { globSync } from "glob"
import path from "node:path"
import url from "node:url"
import { defineConfig } from "rollup"
import del from "rollup-plugin-delete"
import esbuild from "rollup-plugin-esbuild"
import nodePolyfills from "rollup-plugin-polyfill-node"
export default defineConfig({
input: Object.fromEntries(
globSync(["./src/**/*.ts"]).map(file => [
path.relative(".", file.slice(0, file.length - path.extname(file).length)),
url.fileURLToPath(new URL(file, import.meta.url)),
])
),
external: [/^godot/, /^jsb/],
output: {
dir: "./.godot/GodotJS",
format: "cjs",
exports: "named",
esModule: true,
preserveModules: true,
},
treeshake: true,
plugins: [
esbuild(),
nodeResolve(),
commonjs(),
nodePolyfills({ include: null }),
inject({
TextEncoder: ["@nberlette/utf8", "TextEncoder"],
TextDecoder: ["@nberlette/utf8", "TextDecoder"],
TextEncoderStream: ["@nberlette/utf8", "TextEncoderStream"],
TextDecoderStream: ["@nberlette/utf8", "TextDecoderStream"],
URL: ["url-shim", "URL"],
URLSearchParams: ["url-shim", "URLSearchParams"],
React: ["react", "*"],
}),
del({ targets: "./.godot/GodotJS/*" }),
],
})