Calendar/packages/calendar/build.js
Janus C. H. Knudsen ceb44446f0 Sets up calendar package with core infrastructure
Adds core calendar package components including:
- Base services for events, resources, and settings
- Calendar app and orchestrator
- Build and bundling configuration
- IndexedDB storage setup

Prepares foundational architecture for calendar functionality
2026-01-28 15:24:03 +01:00

47 lines
1.3 KiB
JavaScript

import * as esbuild from 'esbuild';
import { NovadiUnplugin } from '@novadi/core/unplugin';
import * as fs from 'fs';
import * as path from 'path';
const entryPoints = [
'src/index.ts',
'src/extensions/teams/index.ts',
'src/extensions/departments/index.ts',
'src/extensions/bookings/index.ts',
'src/extensions/customers/index.ts',
'src/extensions/schedules/index.ts',
'src/extensions/audit/index.ts'
];
async function build() {
await esbuild.build({
entryPoints,
bundle: true,
outdir: 'dist',
format: 'esm',
platform: 'browser',
external: ['@novadi/core', 'dayjs'],
splitting: true,
sourcemap: true,
target: 'es2020',
plugins: [NovadiUnplugin.esbuild({ debug: false, enableAutowiring: true })]
});
console.log('Build complete: dist/');
// Bundle CSS
const cssDir = 'dist/css';
if (!fs.existsSync(cssDir)) {
fs.mkdirSync(cssDir, { recursive: true });
}
const cssFiles = [
'../../wwwroot/css/calendar-base.css',
'../../wwwroot/css/calendar-layout.css',
'../../wwwroot/css/calendar-events.css'
];
const bundledCss = cssFiles.map(f => fs.readFileSync(f, 'utf8')).join('\n');
fs.writeFileSync(path.join(cssDir, 'calendar.css'), bundledCss);
console.log('CSS bundled: dist/css/calendar.css');
}
build();