mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 11:18:48 +00:00
33 lines
1.5 KiB
JavaScript
33 lines
1.5 KiB
JavaScript
#!/usr/bin/env node
|
|
/**
|
|
* Разложить собранный бандл по местам, которым он нужен (#255).
|
|
*
|
|
* Копий две с половиной. `custom_components/houseplan/frontend` — та, что
|
|
* ставит HACS, она в репозитории и обязана совпадать с `dist` побайтово.
|
|
* `demo/srv/assets` — рабочая копия стенда: её читают браузерные смоки, golden
|
|
* и съёмка скриншотов, но в репозитории её больше нет. Раньше «скопировать
|
|
* туда» жило шестью разными `cp` в воркфлоу и трижды в документации; когда
|
|
* копию забывали, смок врал согласованно (#236).
|
|
*/
|
|
import { copyFileSync, existsSync, mkdirSync } from 'node:fs';
|
|
import { dirname, resolve } from 'node:path';
|
|
import { fileURLToPath } from 'node:url';
|
|
|
|
const ROOT = resolve(dirname(fileURLToPath(import.meta.url)), '..');
|
|
const SOURCE = resolve(ROOT, 'dist/houseplan-card.js');
|
|
const TARGETS = [
|
|
'custom_components/houseplan/frontend/houseplan-card.js',
|
|
'demo/srv/assets/houseplan-card.js',
|
|
];
|
|
|
|
if (!existsSync(SOURCE)) {
|
|
console.error('dist/houseplan-card.js не найден: сначала `npm run build`');
|
|
process.exit(1);
|
|
}
|
|
for (const target of TARGETS) {
|
|
const path = resolve(ROOT, target);
|
|
mkdirSync(dirname(path), { recursive: true });
|
|
copyFileSync(SOURCE, path);
|
|
console.log(`бандл → ${target}`);
|
|
}
|