tauri/api/rollup.config.js

108 lines
2.6 KiB
JavaScript
Raw Normal View History

// rollup.config.js
import { terser } from "rollup-plugin-terser";
import resolve from "@rollup/plugin-node-resolve";
import commonjs from "@rollup/plugin-commonjs";
import sucrase from "@rollup/plugin-sucrase";
import babel, { getBabelOutputPlugin } from "@rollup/plugin-babel";
import typescript from "@rollup/plugin-typescript";
import pkg from "./package.json";
export default [
{
input: {
fs: "./src/fs.ts",
path: "./src/path.ts",
dialog: "./src/dialog.ts",
event: "./src/event.ts",
http: "./src/http.ts",
index: "./src/index.ts",
process: "./src/process.ts",
tauri: "./src/tauri.ts",
window: "./src/window.ts",
cli: "./src/cli.ts",
notification: "./src/notification.ts",
},
treeshake: true,
perf: true,
output: [
{
dir: "dist/",
entryFileNames: "[name].js",
format: "cjs",
exports: "named",
globals: {},
},
{
dir: "dist/",
entryFileNames: "[name].mjs",
format: "esm",
exports: "named",
globals: {},
},
],
plugins: [
commonjs({}),
resolve({
// pass custom options to the resolve plugin
customResolveOptions: {
moduleDirectory: "node_modules",
},
}),
typescript({
tsconfig: "./tsconfig.json",
}),
babel({
configFile: false,
presets: [["@babel/preset-env"], ["@babel/preset-typescript"]],
}),
terser(),
],
external: [
...Object.keys(pkg.dependencies || {}),
...Object.keys(pkg.peerDependencies || {}),
],
watch: {
chokidar: true,
include: "src/**",
exclude: "node_modules/**",
},
},
{
input: {
bundle: "./src/bundle.ts",
},
output: [
{
name: "__TAURI__",
dir: "dist/", // if it needs to run in the browser
entryFileNames: "tauri.bundle.umd.js",
format: "umd",
plugins: [
getBabelOutputPlugin({
presets: [["@babel/preset-env", { modules: "umd" }]],
allowAllFormats: true,
}),
terser(),
],
globals: {},
},
],
plugins: [
sucrase({
exclude: ["node_modules"],
transforms: ["typescript"],
}),
resolve({
// pass custom options to the resolve plugin
customResolveOptions: {
moduleDirectory: "node_modules",
},
}),
],
external: [
...Object.keys(pkg.dependencies || {}),
...Object.keys(pkg.peerDependencies || {}),
],
},
];