From 89ca84e47d4958e064b682405e94a3270fc99338 Mon Sep 17 00:00:00 2001 From: Hsieh Chin Fan Date: Thu, 10 Oct 2024 12:45:44 +0800 Subject: chore: move config files about dev into scripts/ --- scripts/rollup.config.js | 63 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 scripts/rollup.config.js (limited to 'scripts/rollup.config.js') diff --git a/scripts/rollup.config.js b/scripts/rollup.config.js new file mode 100644 index 0000000..d4af05f --- /dev/null +++ b/scripts/rollup.config.js @@ -0,0 +1,63 @@ +import node from '@rollup/plugin-node-resolve' +import commonjs from '@rollup/plugin-commonjs' +import terser from '@rollup/plugin-terser' +import { existsSync } from 'fs' +import { join } from 'path' +import { bundleStats } from 'rollup-plugin-bundle-stats' + +const production = !process.env.ROLLUP_WATCH + +const general = { + output: [ + { + dir: './dist', + format: 'esm', + entryFileNames: '[name].mjs', + sourcemap: 'true', + }, + ], + watch: { + clearScreen: false, + include: ['src/**', 'node_modules/mapclay/dist/mapclay.mjs'], + }, + context: 'window', + plugins: [ + { + name: 'watch-mapclay', + buildStart () { + const mapclayPath = join(process.cwd(), 'node_modules', 'mapclay', 'dist', 'mapclay.mjs') + if (existsSync(mapclayPath)) { + this.addWatchFile(mapclayPath) + } else { + console.warn('mapclay.mjs not found at:', mapclayPath) + } + }, + }, + { + name: 'leader-line', + transform (code, id) { + if (id.includes('node_modules/leader-line/')) { + return `${code}\nexport default LeaderLine;` + } + return null + }, + }, + node(), + commonjs(), + production && terser({ + keep_fnames: true, + }), + production && bundleStats(), + ], +} + +export default [ + { + input: 'src/editor.mjs', + }, + { + input: 'src/dumbymap.mjs', + }, +] + .map(config => ({ ...general, ...config })) + .filter((config) => production || config.input.match(/editor/)) -- cgit v1.2.3-70-g09d2