mirror of
https://github.com/System-End/YSWS-Catalog.git
synced 2026-04-20 00:25:29 +00:00
34 lines
1,001 B
JavaScript
34 lines
1,001 B
JavaScript
const fs = require('fs');
|
|
const jsyaml = require('js-yaml');
|
|
|
|
function isValidDate(date) {
|
|
return date instanceof Date && !isNaN(date.getTime());
|
|
}
|
|
|
|
try {
|
|
const fileContent = fs.readFileSync('data.yml', 'utf8');
|
|
const data = jsyaml.load(fileContent);
|
|
let invalidDates = [];
|
|
for (let category in data) {
|
|
if (Array.isArray(data[category])) {
|
|
data[category].forEach(program => {
|
|
if (program.deadline) {
|
|
const d = new Date(program.deadline);
|
|
if (!isValidDate(d)) {
|
|
invalidDates.push({ name: program.name, deadline: program.deadline });
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}
|
|
if (invalidDates.length) {
|
|
console.warn('Found invalid dates in data.yml:');
|
|
console.warn(invalidDates);
|
|
process.exit(1);
|
|
} else {
|
|
console.log('All dates are valid.');
|
|
}
|
|
} catch (err) {
|
|
console.error(err);
|
|
process.exit(1);
|
|
}
|