generated from SteamDeckHomebrew/decky-plugin-template
-
-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathrollup.config.js
53 lines (51 loc) · 1.55 KB
/
rollup.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import commonjs from "@rollup/plugin-commonjs";
import json from "@rollup/plugin-json";
import { nodeResolve } from "@rollup/plugin-node-resolve";
import replace from "@rollup/plugin-replace";
import typescript from "@rollup/plugin-typescript";
import { defineConfig } from "rollup";
import importAssets from "rollup-plugin-import-assets";
import externalGlobals from 'rollup-plugin-external-globals';
import manifest from './plugin.json' with { type: 'json' };
export default defineConfig({
input: "./src/index.tsx",
plugins: [
commonjs(),
nodeResolve({
browser: true
}),
externalGlobals({
react: 'SP_REACT',
'react-dom': 'SP_REACTDOM',
'@decky/ui': 'DFL',
'@decky/manifest': JSON.stringify(manifest)
}),
nodeResolve(),
typescript(),
json(),
replace({
preventAssignment: false,
"process.env.NODE_ENV": JSON.stringify("production"),
}),
importAssets({
publicPath: `http://127.0.0.1:1337/plugins/${manifest.name}/`,
}),
],
context: "window",
external: ["react", "react-dom", "@decky/ui", "@decky/manifest"],
output: {
globals: {
react: "SP_REACT",
"react-dom": "SP_REACTDOM",
"@decky/ui": "DFL",
"@decky/manifest": JSON.stringify(manifest),
},
dir: 'dist',
format: 'esm',
sourcemap: true,
// **Don't** change this.
sourcemapPathTransform: (relativeSourcePath) => relativeSourcePath.replace(/^\.\.\//, `decky://decky/plugin/${encodeURIComponent(manifest.name)}/`),
exports: 'default'
},
onwarn: () => undefined,
});