summaryrefslogtreecommitdiff
path: root/rollup.config.js
diff options
context:
space:
mode:
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'
},
});
+