Files
links/scripts/copy-vendor.js
T
2026-03-29 11:10:37 +11:00

54 lines
1.3 KiB
JavaScript

#!/usr/bin/env node
/**
* Copies required vendor dist files from node_modules → static/vendor/
* Run with: node scripts/copy-vendor.js
*/
const fs = require('fs');
const path = require('path');
const ROOT = path.resolve(__dirname, '..');
const VENDOR = path.join(ROOT, 'static', 'vendor');
function copy(src, dest) {
const destDir = path.dirname(dest);
fs.mkdirSync(destDir, { recursive: true });
fs.copyFileSync(src, dest);
console.log(` ✓ ${path.relative(ROOT, dest)}`);
}
function nm(pkg) {
return path.join(ROOT, 'node_modules', pkg);
}
function out(rel) {
return path.join(VENDOR, rel);
}
console.log('Copying vendor assets to static/vendor/ ...');
// ---------- Alpine.js ----------
// Served via CDN
// ---------- Font Awesome 6 ----------
// Served via CDN
// ---------- jQuery ----------
// Served via CDN
// ---------- Select2 ----------
// Served via CDN
// ---------- Dropzone ----------
// Served via CDN (page-specific; removed from self-hosting)
// ---------- htmx ----------
copy(nm('htmx.org/dist/htmx.min.js'), out('htmx/htmx.min.js'));
// ---------- ECharts ----------
// Served via CDN (page-specific; removed from self-hosting)
// ---------- Chart.js ----------
// Served via CDN (page-specific; removed from self-hosting)
console.log('Done.\n');