feat(update): add colored messages for what is being updated

This commit is contained in:
matt1432 2025-04-11 12:10:32 -04:00
parent ac072ca1c3
commit e9fffbc3b6
7 changed files with 21 additions and 2 deletions

View file

@ -13,6 +13,7 @@ import {
runNixUpdate, runNixUpdate,
updateVuetorrent, updateVuetorrent,
} from './misc'; } from './misc';
import { styleText } from 'node:util';
/* Constants */ /* Constants */
@ -178,6 +179,7 @@ const main = async() => {
writeFileSync(args['f'] as string, output.join('')); writeFileSync(args['f'] as string, output.join(''));
} }
else { else {
console.log(styleText(['magenta'], '\n\nCommit message:\n'));
console.log(output.join('')); console.log(output.join(''));
} }
} }

View file

@ -2,6 +2,7 @@ import { writeFileSync } from 'node:fs';
import { spawnSync } from 'node:child_process'; import { spawnSync } from 'node:child_process';
import { replaceInFile } from './lib'; import { replaceInFile } from './lib';
import { styleText } from 'node:util';
/* Types */ /* Types */
interface Plugin { interface Plugin {
@ -34,6 +35,8 @@ ${Object.entries(plugins)
`; `;
export const updateCaddyPlugins = () => { export const updateCaddyPlugins = () => {
console.log(styleText(['magenta'], '\nUpdating caddy plugins:\n'));
let updates = ''; let updates = '';
const dir = `${FLAKE}/configurations/cluster/modules/caddy`; const dir = `${FLAKE}/configurations/cluster/modules/caddy`;

View file

@ -1,5 +1,6 @@
import { readdirSync } from 'node:fs'; import { readdirSync } from 'node:fs';
import { spawnSync } from 'node:child_process'; import { spawnSync } from 'node:child_process';
import { styleText } from 'node:util';
/* Constants */ /* Constants */
@ -16,6 +17,8 @@ const updateImages = (imagePath: string): string | undefined => {
}; };
export const updateDocker = () => { export const updateDocker = () => {
console.log(styleText(['magenta'], '\nUpdating docker images:\n'));
let updates = ''; let updates = '';
updates += updateImages(`${FLAKE}/configurations/nos/modules/jellyfin`) ?? ''; updates += updateImages(`${FLAKE}/configurations/nos/modules/jellyfin`) ?? '';

View file

@ -1,12 +1,13 @@
import { spawnSync } from 'node:child_process'; import { spawnSync } from 'node:child_process';
import { readFileSync } from 'node:fs'; import { readFileSync } from 'node:fs';
import { styleText } from 'node:util';
/* Constants */ /* Constants */
const FLAKE = process.env.FLAKE; const FLAKE = process.env.FLAKE;
export const updateFirefoxAddons = () => { export const updateFirefoxAddons = () => {
console.log('Updating firefox addons using mozilla-addons-to-nix'); console.log(styleText(['magenta'], '\nUpdating firefox addons using mozilla-addons-to-nix:\n'));
const DIR = `${FLAKE}/scopedPackages/firefox-addons`; const DIR = `${FLAKE}/scopedPackages/firefox-addons`;
const GENERATED_FILE = `${DIR}/generated-firefox-addons.nix`; const GENERATED_FILE = `${DIR}/generated-firefox-addons.nix`;

View file

@ -1,10 +1,13 @@
import { spawnSync } from 'node:child_process'; import { spawnSync } from 'node:child_process';
import { styleText } from 'node:util';
/* Constants */ /* Constants */
const FLAKE = process.env.FLAKE; const FLAKE = process.env.FLAKE;
export const updateFlakeInputs = () => { export const updateFlakeInputs = () => {
console.log(styleText(['magenta'], '\nUpdating flake inputs:\n'));
const output = spawnSync( const output = spawnSync(
`git restore flake.lock &> /dev/null; nix flake update --flake ${FLAKE}` + `git restore flake.lock &> /dev/null; nix flake update --flake ${FLAKE}` +
' |& grep -v "warning: updating lock file" |& grep -v "unpacking"', ' |& grep -v "warning: updating lock file" |& grep -v "unpacking"',

View file

@ -2,6 +2,7 @@ import { writeFileSync } from 'node:fs';
import { spawnSync } from 'node:child_process'; import { spawnSync } from 'node:child_process';
import { parseFetchurl } from './lib'; import { parseFetchurl } from './lib';
import { styleText } from 'node:util';
/* Constants */ /* Constants */
@ -20,6 +21,8 @@ const genVueText = (
`; `;
export const updateVuetorrent = () => { export const updateVuetorrent = () => {
console.log(styleText(['magenta'], '\nUpdating Vuetorrent:\n'));
const FILE = `${FLAKE}/configurations/nos/modules/qbittorrent/vuetorrent.nix`; const FILE = `${FLAKE}/configurations/nos/modules/qbittorrent/vuetorrent.nix`;
const OLD_VERSION = JSON.parse(spawnSync('nix', const OLD_VERSION = JSON.parse(spawnSync('nix',
@ -53,6 +56,9 @@ export const runNixUpdate = (
const getJsonArray = (jsonObj: string) => Array(JSON.parse(jsonObj))[0].slice(1).join(' '); const getJsonArray = (jsonObj: string) => Array(JSON.parse(jsonObj))[0].slice(1).join(' ');
const realAttr = scope ? `${attr}.x86_64-linux.${scope}.${scopeAttr}` : attr; const realAttr = scope ? `${attr}.x86_64-linux.${scope}.${scopeAttr}` : attr;
console.log(styleText(['magenta'], `\nUpdating ${realAttr}:\n`));
const OLD_VERSION = getAttrVersion(realAttr); const OLD_VERSION = getAttrVersion(realAttr);
const execOptions = spawnSync( const execOptions = spawnSync(

View file

@ -3,6 +3,7 @@ import { accessSync, constants, existsSync } from 'node:fs';
import { spawnSync } from 'node:child_process'; import { spawnSync } from 'node:child_process';
import { replaceInFile, npmRun } from './lib'; import { replaceInFile, npmRun } from './lib';
import { styleText } from 'node:util';
/* Constants */ /* Constants */
@ -72,7 +73,7 @@ const prefetchNpmDeps = (workspaceDir: string): string => {
export default async() => { export default async() => {
console.log('Updating node modules'); console.log(styleText(['magenta'], '\nUpdating node modules:\n'));
const updates = {}; const updates = {};