generated from nhcarrigan/template
This commit is contained in:
@@ -0,0 +1,22 @@
|
|||||||
|
import { products } from "./src/app/config/products";
|
||||||
|
|
||||||
|
const repos: { name:string}[] = [];
|
||||||
|
let page = 1
|
||||||
|
let productReq = await fetch(`https://git.nhcarrigan.com/api/v1/orgs/nhcarrigan/repos?limit=50&page=${page}`);
|
||||||
|
let productRes: { name: string }[] = await productReq.json();
|
||||||
|
|
||||||
|
repos.push(...productRes);
|
||||||
|
|
||||||
|
while (productRes.length >= 50) {
|
||||||
|
page++;
|
||||||
|
productReq = await fetch(`https://git.nhcarrigan.com/api/v1/orgs/nhcarrigan/repos?limit=50&page=${page}`);
|
||||||
|
productRes = await productReq.json();
|
||||||
|
repos.push(...productRes);
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(`Auditing ${repos.length} repositories.`);
|
||||||
|
|
||||||
|
const excludedProducts = repos.filter(product => products.findIndex(p => p.name.toLowerCase().replace(/\s/g, "-") === product.name) === -1);
|
||||||
|
|
||||||
|
console.log("The following products do not appear to be listed in the directory.");
|
||||||
|
console.log(excludedProducts.map(product => product.name).join("\n"));
|
||||||
@@ -155,15 +155,6 @@ export const products: Array<{
|
|||||||
url: "https://docs.nhcarrigan.com",
|
url: "https://docs.nhcarrigan.com",
|
||||||
wip: true,
|
wip: true,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
avatar: null,
|
|
||||||
category: "websites",
|
|
||||||
description: "A self-hosted Discourse instance for our community.",
|
|
||||||
name: "Fourm",
|
|
||||||
premium: false,
|
|
||||||
url: "https://forum.nhcarrigan.com",
|
|
||||||
wip: false,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
avatar: null,
|
avatar: null,
|
||||||
category: "websites",
|
category: "websites",
|
||||||
@@ -251,8 +242,8 @@ export const products: Array<{
|
|||||||
description: "A Discord bot that allows servers to specify a venting channel for automatic deletion.",
|
description: "A Discord bot that allows servers to specify a venting channel for automatic deletion.",
|
||||||
name: "Sorielle",
|
name: "Sorielle",
|
||||||
premium: true,
|
premium: true,
|
||||||
url: null,
|
url: "https://sorielle.nhcarrigan.com",
|
||||||
wip: true,
|
wip: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
avatar: "https://cdn.nhcarrigan.com/new-avatars/verena.png",
|
avatar: "https://cdn.nhcarrigan.com/new-avatars/verena.png",
|
||||||
@@ -470,4 +461,112 @@ export const products: Array<{
|
|||||||
url: null,
|
url: null,
|
||||||
wip: true,
|
wip: true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
avatar: "https://cdn.nhcarrigan.com/new-avatars/veluna.png",
|
||||||
|
category: "community",
|
||||||
|
description: "Discord bot that allows you to receive and answer anonymous questions.",
|
||||||
|
name: "Veluna",
|
||||||
|
premium: true,
|
||||||
|
url: null,
|
||||||
|
wip: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
avatar: null,
|
||||||
|
category: "apps",
|
||||||
|
description: "Idle RPG in the browser.",
|
||||||
|
name: "Elysium",
|
||||||
|
premium: true,
|
||||||
|
url: null,
|
||||||
|
wip: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
avatar: "https://cdn.nhcarrigan.com/new-avatars/chibika.png",
|
||||||
|
category: "community",
|
||||||
|
description: "A Discord bot that generates ascii anime girls.",
|
||||||
|
name: "Chibika",
|
||||||
|
premium: true,
|
||||||
|
url: "https://chibika.nhcarrigan.com",
|
||||||
|
wip: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
avatar: "https://cdn.nhcarrigan.com/new-avatars/elaria.png",
|
||||||
|
category: "websites",
|
||||||
|
description: "Meeting schedule coordination tool.",
|
||||||
|
name: "Elaria",
|
||||||
|
premium: true,
|
||||||
|
url: null,
|
||||||
|
wip: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
avatar: "https://cdn.nhcarrigan.com/new-avatars/elunara.png",
|
||||||
|
category: "community",
|
||||||
|
description: "Discord bot that allows users to proxy messages so they correctly appear as composed by an alter.",
|
||||||
|
name: "Elunara",
|
||||||
|
premium: true,
|
||||||
|
url: null,
|
||||||
|
wip: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
avatar: "https://cdn.nhcarrigan.com/new-avatars/aureline.png",
|
||||||
|
category: "websites",
|
||||||
|
description: "Web app that allows you to create/upload digital badges and certifications and grant them to users",
|
||||||
|
name: "Aureline",
|
||||||
|
premium: true,
|
||||||
|
url: null,
|
||||||
|
wip: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
avatar: "https://cdn.nhcarrigan.com/new-avatars/lynira.png",
|
||||||
|
category: "apps",
|
||||||
|
description: "Link shortener managed via a Discord bot.",
|
||||||
|
name: "Lynira",
|
||||||
|
premium: true,
|
||||||
|
url: "https://lynira.link",
|
||||||
|
wip: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
avatar: "https://cdn.nhcarrigan.com/new-avatars/altaria.png",
|
||||||
|
category: "community",
|
||||||
|
description: "A Discord bot that reminds you to provide alt-text for images.",
|
||||||
|
name: "Altaria",
|
||||||
|
premium: false,
|
||||||
|
url: "https://altaria.nhcarrigan.com",
|
||||||
|
wip: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
avatar: "https://cdn.nhcarrigan.com/new-avatars/pavelle.png",
|
||||||
|
category: "community",
|
||||||
|
description: "Discord bot that allows you to throw things (like cake) at your fellow server members.",
|
||||||
|
name: "Pavelle",
|
||||||
|
premium: true,
|
||||||
|
url: "https://pavelle.nhcarrigan.com",
|
||||||
|
wip: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
avatar: "https://cdn.nhcarrigan.com/new-avatars/amari.png",
|
||||||
|
category: "community",
|
||||||
|
description: "Naomi's virtual personal assistant who helps out with automation around our Discord community.",
|
||||||
|
name: "Amari",
|
||||||
|
premium: false,
|
||||||
|
url: "https://amari.nhcarrigan.com",
|
||||||
|
wip: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
avatar: "https://cdn.nhcarrigan.com/new-avatars/serenya.png",
|
||||||
|
category: "community",
|
||||||
|
description: "Discord bot that allows you to force yourself to take a break.",
|
||||||
|
name: "Serenya",
|
||||||
|
premium: false,
|
||||||
|
url: "https://serenya.nhcarrigan.com",
|
||||||
|
wip: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
avatar: "https://cdn.nhcarrigan.com/new-avatars/caelia.png",
|
||||||
|
category: "community",
|
||||||
|
description: "Discord bot that gently reminds you to use inclusive language.",
|
||||||
|
name: "Caelia",
|
||||||
|
premium: false,
|
||||||
|
url: "https://caelia.nhcarrigan.com",
|
||||||
|
wip: false,
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -23,5 +23,6 @@
|
|||||||
"strictInjectionParameters": true,
|
"strictInjectionParameters": true,
|
||||||
"strictInputAccessModifiers": true,
|
"strictInputAccessModifiers": true,
|
||||||
"strictTemplates": true
|
"strictTemplates": true
|
||||||
}
|
},
|
||||||
|
"exclude": ["auditProducts.ts"]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user