42 lines
1.1 KiB
JavaScript
42 lines
1.1 KiB
JavaScript
|
import json from "@rollup/plugin-json";
|
||
|
import image from "@rollup/plugin-image";
|
||
|
import terser from "@rollup/plugin-terser";
|
||
|
import { rollupPluginHTML as html } from "@web/rollup-plugin-html";
|
||
|
import zip from "rollup-plugin-zip";
|
||
|
import serve from "rollup-plugin-serve";
|
||
|
import { nodeResolve } from "@rollup/plugin-node-resolve";
|
||
|
import commonjs from "@rollup/plugin-commonjs";
|
||
|
import bundleSize from "./rollup-plugins/bundle-size.mjs";
|
||
|
|
||
|
const zipPlug = zip({ file: "game.zip" });
|
||
|
zipPlug.writeBundle.sequential = true;
|
||
|
|
||
|
/**
|
||
|
* @type {import('rollup').RollupOptions}
|
||
|
*/
|
||
|
export default {
|
||
|
input: "public/index.html",
|
||
|
output: [
|
||
|
{
|
||
|
inlineDynamicImports: true,
|
||
|
dir: "dist",
|
||
|
format: "iife",
|
||
|
},
|
||
|
{
|
||
|
inlineDynamicImports: true,
|
||
|
dir: "dist/min",
|
||
|
format: "iife",
|
||
|
name: "version",
|
||
|
plugins: [terser(), zipPlug, bundleSize({ file: "game.zip", maxSize: 13 })],
|
||
|
},
|
||
|
],
|
||
|
plugins: [
|
||
|
html({ minify: true }),
|
||
|
json(),
|
||
|
image(),
|
||
|
nodeResolve(),
|
||
|
commonjs(),
|
||
|
serve({ contentBase: "dist", port: 8080, verbose: true }),
|
||
|
],
|
||
|
};
|