UNPKG

@digital-blueprint/lunchlottery-app

Version:

[GitHub Repository](https://github.com/digital-blueprint/lunchlottery-app) | [npmjs package](https://www.npmjs.com/package/@digital-blueprint/lunchlottery-app) | [Unpkg CDN](https://unpkg.com/browse/@digital-blueprint/lunchlottery-app/)

70 lines (67 loc) 2.29 kB
import {globSync} from 'node:fs'; import url from 'node:url'; import serve from 'rollup-plugin-serve'; import emitEJS from 'rollup-plugin-emit-ejs'; import {replacePlugin} from 'rolldown/plugins'; import {getBuildInfo, assetPlugin} from '@dbp-toolkit/dev-utils'; import {createRequire} from 'node:module'; import process from 'node:process'; const require = createRequire(import.meta.url); const pkg = require('./package.json'); const basePath = '/dist/'; const build = typeof process.env.BUILD !== 'undefined' ? process.env.BUILD : 'local'; console.log('build: ' + build); const buildFull = process.env.ROLLUP_WATCH !== 'true' && build !== 'test'; let nodeEnv = buildFull ? 'production' : 'development'; export default { input: build != 'test' ? ['src/dbp-tooltip.js', 'src/dbp-tooltip-demo.js'] : globSync('test/**/*.js'), output: { dir: 'dist', entryFileNames: '[name].js', chunkFileNames: 'shared/[name].[hash].js', format: 'esm', sourcemap: true, minify: buildFull, cleanDir: true, }, moduleTypes: { '.css': 'js', // work around rolldown handling the CSS import before the URL plugin cab }, plugins: [ emitEJS({ src: 'assets', include: ['**/*.ejs', '**/.*.ejs'], data: { getUrl: (p) => { return url.resolve(basePath, p); }, getPrivateUrl: (p) => { return url.resolve(`${basePath}local/${pkg.name}/`, p); }, name: pkg.name, environment: build, buildInfo: getBuildInfo(build), }, }), await assetPlugin(pkg.name, 'dist', { copyTargets: [ {src: 'assets/index.html', dest: 'dist'}, {src: 'assets/favicon.ico', dest: 'dist'}, ], }), replacePlugin( { 'process.env.NODE_ENV': JSON.stringify(nodeEnv), }, { preventAssignment: true, }, ), process.env.ROLLUP_WATCH === 'true' ? serve({contentBase: 'dist', host: '127.0.0.1', port: 8002}) : false, ], };