nixos-configs/apps/update-sources/src/netdaemon.ts

32 lines
993 B
TypeScript

import { readFileSync, writeFileSync } from 'node:fs';
import { spawnSync } from 'node:child_process';
import { styleText } from 'node:util';
/* Constants */
const FLAKE = process.env.FLAKE;
export default (): string | null => {
console.log(styleText(['magenta'], '\nUpdating NetDaemon:\n'));
const FOLDER = `${FLAKE}/configurations/homie/modules/home-assistant/netdaemon`;
const OLD_VERSION = readFileSync(`${FOLDER}/.version`).toString().replace('\n', '');
const VERSION = JSON.parse(spawnSync([
'curl', '-s', 'https://api.github.com/repos/net-daemon/netdaemon/releases/latest',
].join(' '), [], { shell: true }).stdout.toString()).tag_name.replace('v', '');
if (OLD_VERSION !== VERSION) {
writeFileSync(`${FOLDER}/.version`, `${VERSION}\n`);
spawnSync('bumpNetdaemonDeps', [], {
cwd: FOLDER,
stdio: 'inherit',
});
return `NetDaemon: ${OLD_VERSION} -> ${VERSION}\n`;
}
return null;
};