mirror of
https://github.com/Frooodle/Stirling-PDF.git
synced 2026-05-01 23:16:31 +02:00
55 lines
1.5 KiB
JavaScript
55 lines
1.5 KiB
JavaScript
#!/usr/bin/env node
|
|
|
|
/**
|
|
* Cross-platform update:minor script
|
|
* Calculates date from 7 days ago and runs npm update/audit with that date
|
|
*/
|
|
|
|
const { spawn } = require("child_process");
|
|
|
|
// Calculate date from 7 days ago in YYYY-MM-DD format
|
|
const date = new Date();
|
|
date.setDate(date.getDate() - 7);
|
|
const beforeDate = date.toISOString().split("T")[0];
|
|
|
|
console.log(`Updating packages modified before: ${beforeDate}`);
|
|
|
|
let lastExitCode = 0;
|
|
|
|
// Run npm outdated first
|
|
const outdated = spawn("npm", ["outdated"], { stdio: "inherit", shell: true });
|
|
|
|
outdated.on("close", (_code) => {
|
|
// npm outdated returns exit code 1 if updates are available, so we ignore it
|
|
|
|
// Run npm update with before date
|
|
const update = spawn("npm", ["update", `--before=${beforeDate}`], {
|
|
stdio: "inherit",
|
|
shell: true,
|
|
});
|
|
|
|
update.on("close", (updateCode) => {
|
|
// Track update failures
|
|
if (updateCode !== 0) {
|
|
lastExitCode = updateCode;
|
|
}
|
|
|
|
// Run npm audit fix with before date
|
|
const audit = spawn("npm", ["audit", "fix", `--before=${beforeDate}`], {
|
|
stdio: "inherit",
|
|
shell: true,
|
|
});
|
|
|
|
audit.on("close", (auditCode) => {
|
|
// Track audit failures (but don't override critical update failures)
|
|
if (auditCode !== 0 && lastExitCode === 0) {
|
|
lastExitCode = auditCode;
|
|
}
|
|
|
|
// Update complete - report with tracked exit code
|
|
console.log("\nPackage update complete!");
|
|
process.exit(lastExitCode);
|
|
});
|
|
});
|
|
});
|