]> git.openstreetmap.org Git - nominatim-ui.git/blobdiff - rollup.config.js
Merge remote-tracking branch 'upstream/master'
[nominatim-ui.git] / rollup.config.js
index 6f602dd9f4adb1bb8b3d60fb037aa8b79185b2f4..b3a25b4bf19cc23f89af9cb14a4d8494027a29e8 100644 (file)
@@ -4,6 +4,7 @@ import resolve from '@rollup/plugin-node-resolve';
 import livereload from 'rollup-plugin-livereload';
 import { terser } from 'rollup-plugin-terser';
 import css from 'rollup-plugin-css-only';
+import { readFileSync, writeFileSync } from 'fs';
 
 const production = !process.env.ROLLUP_WATCH;
 
@@ -17,7 +18,7 @@ function serve() {
        return {
                writeBundle() {
                        if (server) return;
-                       server = require('child_process').spawn('yarn', ['start', '--dev'], {
+                       server = require('child_process').spawn('yarn', ['start', '-d'], {
                                stdio: ['ignore', 'inherit', 'inherit'],
                                shell: true
                        });
@@ -43,9 +44,18 @@ export default {
                                dev: !production
                        }
                }),
-               // we'll extract any component CSS out into
-               // a separate file - better for performance
-               css({ output: 'bundle.css' }),
+               css({
+                 output: function (styles, styleNodes) {
+                       // make sure global_styles.css gets appended to bundle.css,
+                       // not prepended.
+                       // The ':global()' rules (https://svelte.dev/docs#style) get
+                       // prepended so we can't use them to overwrite bootstrap.css
+                       // rules
+                       let global_styles = readFileSync('src/global_style.css');
+                       styles += global_styles;
+                   writeFileSync('dist/build/bundle.css', styles);
+                 }
+               }),
 
                // If you have external dependencies installed from
                // npm, you'll most likely need these plugins. In