diff options
author | Braxton Hall | 2022-10-24 19:25:34 +0000 |
---|---|---|
committer | GitHub | 2022-10-24 19:25:34 +0000 |
commit | a139a04ba0a5de1c36044e3dae1c6833193d2bea (patch) | |
tree | cc9a8ca446284f065fc7d220190398fd8ff40ce1 /bin | |
parent | 13fc2738b971774a3af451e63fcb34e8010fadc5 (diff) | |
parent | 8af5f6d9351554b22e75650487d1afe5745df39b (diff) |
Merge pull request #23 from braxtonhall/nico
Nico
Diffstat (limited to 'bin')
-rw-r--r-- | bin/checkPeople.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/bin/checkPeople.js b/bin/checkPeople.js new file mode 100644 index 0000000..3c564a4 --- /dev/null +++ b/bin/checkPeople.js @@ -0,0 +1,36 @@ +const fs = require("fs"); + +const PEOPLE_PATH = "./people.json"; + +const [actor] = process.argv.slice(2); + +console.log(`Triggered by ${actor}`); + +if (!fs.existsSync(PEOPLE_PATH)) { + throw "No people file found"; +} + +let people; +try { + people = JSON.parse(fs.readFileSync(PEOPLE_PATH)); +} catch (err) { + throw "Could not read people.json as JSON"; +} + +const person = people.find(person => person.github === actor); +if (!person) { + throw `${actor} isn't in people.json!`; +} + +if (!(person.entries && person.entries.length > 0)) { + throw `${actor} is missing entries!`; +} + +for (const entry of person.entries) { + const {link} = entry; + if (!(link.startsWith("http") || fs.existsSync(link))) { + throw `${link} not found!`; + } +} + +console.log("Checked!"); |