summaryrefslogtreecommitdiff
path: root/rollup.config.js
diff options
context:
space:
mode:
authorAAGaming <aagaming@riseup.net>2024-06-13 18:11:44 -0400
committerAAGaming <aagaming@riseup.net>2024-06-13 18:31:08 -0400
commitb939274d157257d0a57b339193d961b39ded6207 (patch)
tree8d8fa1ac4ca672b7ced3042fb5f9ce1da7e99dee /rollup.config.js
parentcbd489150fc2f721fe788ef6d58b8b792843e7d0 (diff)
downloaddecky-bazzite-buddy-b939274d157257d0a57b339193d961b39ded6207.tar.gz
decky-bazzite-buddy-b939274d157257d0a57b339193d961b39ded6207.zip
support new APIs fully
Diffstat (limited to 'rollup.config.js')
-rw-r--r--rollup.config.js35
1 files changed, 23 insertions, 12 deletions
diff --git a/rollup.config.js b/rollup.config.js
index f11a008..02d02c5 100644
--- a/rollup.config.js
+++ b/rollup.config.js
@@ -4,15 +4,27 @@ import { nodeResolve } from '@rollup/plugin-node-resolve';
import replace from '@rollup/plugin-replace';
import typescript from '@rollup/plugin-typescript';
import { defineConfig } from 'rollup';
+import del from 'rollup-plugin-delete';
import importAssets from 'rollup-plugin-import-assets';
+import externalGlobals from 'rollup-plugin-external-globals';
-import { name } from "./plugin.json";
+// replace "assert" with "with" once node implements that
+import manifest from './plugin.json' assert { type: 'json' };
export default defineConfig({
input: './src/index.tsx',
plugins: [
+ del({ targets: './dist/*', force: true }),
commonjs(),
- nodeResolve(),
+ nodeResolve({
+ browser: true
+ }),
+ externalGlobals({
+ react: 'SP_REACT',
+ 'react-dom': 'SP_REACTDOM',
+ '@decky/ui': 'DFL',
+ '@decky/manifest': JSON.stringify(manifest)
+ }),
typescript(),
json(),
replace({
@@ -20,19 +32,18 @@ export default defineConfig({
'process.env.NODE_ENV': JSON.stringify('production'),
}),
importAssets({
- publicPath: `http://127.0.0.1:1337/plugins/${name}/`
+ publicPath: `http://127.0.0.1:1337/plugins/${manifest.name}/`
})
],
context: 'window',
- external: ["react", "react-dom", "decky-frontend-lib"],
+ external: ['react', 'react-dom', '@decky/ui'],
output: {
- file: "dist/index.js",
- globals: {
- react: "SP_REACT",
- "react-dom": "SP_REACTDOM",
- "decky-frontend-lib": "DFL"
- },
- format: 'iife',
- exports: 'default',
+ dir: 'dist',
+ format: 'esm',
+ sourcemap: true,
+ // **Don't** change this.
+ sourcemapPathTransform: (relativeSourcePath) => relativeSourcePath.replace(/^\.\.\//, `decky://decky/plugin/${encodeURIComponent(manifest.name)}/`),
+ exports: 'default'
},
});
+