@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/)
59 lines (56 loc) • 2.08 kB
JavaScript
import {globSync} from 'node:fs';
import serve from 'rollup-plugin-serve';
import {getPackagePath, getDistPath, 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 build = typeof process.env.BUILD !== 'undefined' ? process.env.BUILD : 'local';
const buildFull = process.env.ROLLUP_WATCH !== 'true' && build !== 'test';
console.log('build: ' + build);
export default {
input:
build !== 'test'
? [
'src/build/boolean.js',
'src/build/date.js',
'src/build/datetime.js',
'src/build/enum.js',
'src/build/number.js',
'src/build/string.js',
'src/build/time.js',
'src/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: [
await assetPlugin(pkg.name, 'dist', {
copyTargets: [
{src: 'assets/index.html', dest: 'dist'},
{src: 'assets/favicon.ico', dest: 'dist'},
{
src: await getPackagePath('@dbp-toolkit/common', 'src/spinner.js'),
dest: 'dist/' + (await getDistPath(pkg.name)),
},
{
src: await getPackagePath('@dbp-toolkit/common', 'misc/browser-check.js'),
dest: 'dist/' + (await getDistPath(pkg.name)),
},
],
}),
process.env.ROLLUP_WATCH === 'true'
? serve({contentBase: 'dist', host: '127.0.0.1', port: 8002})
: false,
],
};