This adds Gaufre v2 with source, documentation, examples and built artefacts. Also includes the feedback widget from Messages.
32 lines
905 B
JavaScript
32 lines
905 B
JavaScript
import { build } from 'vite'
|
|
import { readdirSync } from 'node:fs'
|
|
import { join } from 'node:path'
|
|
import { fileURLToPath } from 'node:url'
|
|
|
|
const __dirname = fileURLToPath(new URL('.', import.meta.url))
|
|
|
|
const widgetsDir = join(__dirname, 'src', 'widgets')
|
|
|
|
function discoverWidgets() {
|
|
return readdirSync(widgetsDir, { withFileTypes: true })
|
|
.filter(dirent => dirent.isDirectory())
|
|
.map(dirent => dirent.name)
|
|
}
|
|
|
|
// Run an independent build for each widget
|
|
for (const widget of discoverWidgets()) {
|
|
await build({
|
|
build: {
|
|
emptyOutDir: false,
|
|
outDir: join(process.env.WIDGETS_OUTPUT_DIR || "", "dist"),
|
|
rollupOptions: {
|
|
input: join(widgetsDir, widget, 'main.ts'),
|
|
output: {
|
|
entryFileNames: widget + '.js',
|
|
format: 'iife'
|
|
}
|
|
}
|
|
},
|
|
})
|
|
}
|