This commit is contained in:
49
packages/example/rollup.config.ts
Normal file
49
packages/example/rollup.config.ts
Normal file
@@ -0,0 +1,49 @@
|
||||
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/*" }),
|
||||
],
|
||||
})
|
||||
Reference in New Issue
Block a user