From a91520f9dc8afbc8fc9ccd2040aac8cf4e614dea Mon Sep 17 00:00:00 2001 From: elendraug Date: Sun, 21 Dec 2025 22:46:35 -0600 Subject: [PATCH 1/4] Add rie avatar --- contributors/avatars/rie.png | Bin 0 -> 53255 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 contributors/avatars/rie.png diff --git a/contributors/avatars/rie.png b/contributors/avatars/rie.png new file mode 100644 index 0000000000000000000000000000000000000000..c72baca6ac85b3cfe273550c8869fb73827de060 GIT binary patch literal 53255 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 literal 0 HcmV?d00001 From a6acd72055284acd768913efa2da7ac1c8d62e83 Mon Sep 17 00:00:00 2001 From: elendraug Date: Sun, 21 Dec 2025 22:55:52 -0600 Subject: [PATCH 2/4] Create rie.yaml --- contributors/rie.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/rie.yaml diff --git a/contributors/rie.yaml b/contributors/rie.yaml new file mode 100644 index 0000000..5dbe893 --- /dev/null +++ b/contributors/rie.yaml @@ -0,0 +1,13 @@ +name: Rie +avatar: "./avatars/rie.png" +type: + - community + - contractor +roles: + Learn@: + - role: Writers Coordinator + details: Style Guide + - role: Writing Article + details: Article +contacts: + - https://notavodkashot.carrd.co/ From 583d56424817b35ecf24116cb5852faa153de40f Mon Sep 17 00:00:00 2001 From: Essential Randomness Date: Mon, 22 Dec 2025 17:38:07 -0800 Subject: [PATCH 3/4] Fix Rie validation --- code/check.ts | 35 ++++++++++++++++++++++++-------- contributors/_schema/projects.ts | 24 ++++++++++------------ contributors/rie.yaml | 10 ++++----- 3 files changed, 42 insertions(+), 27 deletions(-) diff --git a/code/check.ts b/code/check.ts index f02ade4..8237c1d 100644 --- a/code/check.ts +++ b/code/check.ts @@ -8,8 +8,14 @@ import { ContributorSchema as ContributorFunction } from "../contributors/_schem import z from "zod"; const TEAM_DIR = path.resolve(process.cwd(), "contributors"); -const PROJECTS_FILE = path.resolve(process.cwd(), "contributors/_schema/projects.ts"); -const SCHEMA_FILE = path.resolve(process.cwd(), "contributors/_schema/index.ts"); +const PROJECTS_FILE = path.resolve( + process.cwd(), + "contributors/_schema/projects.ts" +); +const SCHEMA_FILE = path.resolve( + process.cwd(), + "contributors/_schema/index.ts" +); // Global abort controller to manage running validations let currentValidationController: AbortController | null = null; @@ -21,9 +27,9 @@ interface ValidationResult { } class InvalidRoleError extends Error { - constructor(projectName: string, filePath: string) { + constructor(roleName: string, projectName: string, filePath: string) { super( - `Invalid role in project "${projectName}" for file ./${path.relative( + `Invalid role ${roleName} in project "${projectName}" for file ./${path.relative( process.cwd(), filePath )}.` @@ -43,7 +49,7 @@ class InvalidProjectError extends Error { } // @ts-expect-error This is fucked up because it's type of image in Astro -const Contributor = ContributorFunction({ image: z.string}) +const Contributor = ContributorFunction({ image: z.string }); function formatValidationError(error: any, filePath: string): string { if (error.code === "unrecognized_keys") { @@ -57,7 +63,11 @@ function formatValidationError(error: any, filePath: string): string { const path = error.path.join("."); if (path.includes("roles.")) { const projectName = path.split(".")[1]; - throw new InvalidRoleError(projectName, filePath); + const roleName = error.unionErrors + // TODO: figure out zod typings + .flatMap((e: any) => e.issues) + .find((issue: any) => issue.code == "invalid_enum_value")?.received; + throw new InvalidRoleError(roleName, projectName, filePath); } } @@ -149,8 +159,13 @@ function validateAllTeamFiles(signal?: AbortSignal) { return results; } -function printResults(results: ValidationResult[]): void { - console.clear(); +function printResults( + results: ValidationResult[], + isWatchMode: boolean = false +): void { + if (isWatchMode) { + console.clear(); + } const hasErrors = results.some((r) => r.errors.length > 0); if (hasErrors) { @@ -200,7 +215,9 @@ async function runValidation(isWatchMode: boolean = false) { const signal = currentValidationController.signal; try { - console.clear(); + if (isWatchMode) { + console.clear(); + } console.log("Running validation..."); // Needs to wait or it's not clear anything is happening diff --git a/contributors/_schema/projects.ts b/contributors/_schema/projects.ts index dacd873..ce949e3 100644 --- a/contributors/_schema/projects.ts +++ b/contributors/_schema/projects.ts @@ -8,8 +8,9 @@ export const PROJECTS = [ "Volume 0 Issue 1", "Fandom Cookies", "FujoCoded", + "Learn@", ] as const; -export type Project = typeof PROJECTS[number]; +export type Project = (typeof PROJECTS)[number]; export const VOLUME_0_ISSUE_1_ROLES = [ "Technical Writer", @@ -25,15 +26,9 @@ export const VOLUME_0_ISSUE_1_ROLES = [ "Data Collection & Entry", ]; -export const WEBSITES_ROLES = [ - "fujoweb.dev", - "fujocoded.com", -]; +export const WEBSITES_ROLES = ["fujoweb.dev", "fujocoded.com"]; -export const FUJOCODED_ROLES = [ - "HimeOps", - "FujoCoded", -]; +export const FUJOCODED_ROLES = ["HimeOps", "FujoCoded"]; export const FANDOM_COOKIES_ROLES = [ "Artist", @@ -48,16 +43,19 @@ export const FANDOM_COOKIES_ROLES = [ "Art Direction", "Cookie Catcher Design", "Promo Campaign Assistance", - "Feedback", + "Feedback", ]; -export const PROJECT_ROLES : Record = { +export const LEARN_AT_ROLES = ["Writers Coordinator", "Article Writer"]; + +export const PROJECT_ROLES: Record = { "Volume 0 Issue 1": VOLUME_0_ISSUE_1_ROLES, "Volume 0 Kickstarter": [], "Volume 0": [], - "Websites": WEBSITES_ROLES, + Websites: WEBSITES_ROLES, "Fandom Cookies": FANDOM_COOKIES_ROLES, - "FujoCoded": FUJOCODED_ROLES, + FujoCoded: FUJOCODED_ROLES, + "Learn@": LEARN_AT_ROLES, }; export default PROJECTS; diff --git a/contributors/rie.yaml b/contributors/rie.yaml index 5dbe893..e86d46e 100644 --- a/contributors/rie.yaml +++ b/contributors/rie.yaml @@ -1,13 +1,13 @@ name: Rie avatar: "./avatars/rie.png" -type: +type: - community - contractor roles: Learn@: - - role: Writers Coordinator - details: Style Guide - - role: Writing Article - details: Article + - role: Writers Coordinator + details: Style Guide Author & Process Coordinator + - role: Article Writer + details: Introduction to NodeJS contacts: - https://notavodkashot.carrd.co/ From bcc9dcb9286db76d55fc30ec530bc4b2c68fa646 Mon Sep 17 00:00:00 2001 From: Essential Randomness Date: Mon, 22 Dec 2025 17:52:39 -0800 Subject: [PATCH 4/4] Reload schema files upon change --- code/check.ts | 45 +++++++++++++++++++++++++++++---------------- package-lock.json | 10 ++++++++++ package.json | 1 + 3 files changed, 40 insertions(+), 16 deletions(-) diff --git a/code/check.ts b/code/check.ts index 8237c1d..a013bb4 100644 --- a/code/check.ts +++ b/code/check.ts @@ -1,12 +1,29 @@ import { readFileSync, readdirSync, watch } from "node:fs"; import { access } from "node:fs/promises"; import path from "node:path"; +import { type ContributorSchema as ContributorSchemaType } from "../contributors/_schema"; +import { createJiti } from "jiti"; import { parse } from "yaml"; -import { ContributorSchema as ContributorFunction } from "../contributors/_schema"; import z from "zod"; +const jiti = createJiti(import.meta.url); + +async function getContributor() { + // Clear schema cache to pick up changes + Object.keys(jiti.cache).forEach((key) => { + if (key.includes("_schema")) { + delete jiti.cache[key]; + } + }); + const { ContributorSchema } = (await jiti.import( + "../contributors/_schema" + )) as { ContributorSchema: typeof ContributorSchemaType }; + // @ts-expect-error This is fucked up because it's type of image in Astro + return ContributorSchema({ image: z.string }); +} + const TEAM_DIR = path.resolve(process.cwd(), "contributors"); const PROJECTS_FILE = path.resolve( process.cwd(), @@ -48,9 +65,6 @@ class InvalidProjectError extends Error { } } -// @ts-expect-error This is fucked up because it's type of image in Astro -const Contributor = ContributorFunction({ image: z.string }); - function formatValidationError(error: any, filePath: string): string { if (error.code === "unrecognized_keys") { if (error.path.length === 1 && error.path[0].includes("roles")) { @@ -94,6 +108,7 @@ async function validateTeamFile( const content = readFileSync(filePath, "utf-8"); const data = parse(content); + const Contributor = await getContributor(); const validation = await Contributor.superRefine( async (contributor, ctx) => { @@ -159,10 +174,10 @@ function validateAllTeamFiles(signal?: AbortSignal) { return results; } -function printResults( +async function printResults( results: ValidationResult[], isWatchMode: boolean = false -): void { +) { if (isWatchMode) { console.clear(); } @@ -189,6 +204,7 @@ function printResults( ); if (hasErrors) { + const Contributor = await getContributor(); console.log("\nšŸ’” Tips:"); console.log( ` • Project names and roles must match those in ./${path.relative( @@ -226,7 +242,7 @@ async function runValidation(isWatchMode: boolean = false) { const results = await Promise.all(await validateAllTeamFiles(signal)); const hasErrors = results.some((r) => !r.isValid); - printResults(await Promise.all(results)); + await printResults(await Promise.all(results)); if (isWatchMode) { console.log("Waiting for more changes..."); } @@ -247,7 +263,7 @@ function startWatchMode(): void { console.log("Time to watch šŸ‘€"); // Run initial validation - runValidation(); + runValidation(true); const watchers: Array<{ close: () => void }> = []; @@ -255,28 +271,25 @@ function startWatchMode(): void { TEAM_DIR, { recursive: true }, (eventType, filename) => { - console.log(`${eventType}: ${filename}`); if ( filename && (filename.endsWith(".yaml") || filename.endsWith(".yml")) ) { - runValidation(); + runValidation(true); } } ); watchers.push(teamWatcher); // Watch projects file - const projectsWatcher = watch(PROJECTS_FILE, (eventType) => { - console.log(`${eventType}: ${PROJECTS_FILE}`); - runValidation(); + const projectsWatcher = watch(PROJECTS_FILE, () => { + runValidation(true); }); watchers.push(projectsWatcher); // Watch schema file - const schemaWatcher = watch(SCHEMA_FILE, (eventType) => { - console.log(`${eventType}: ${SCHEMA_FILE}`); - runValidation(); + const schemaWatcher = watch(SCHEMA_FILE, () => { + runValidation(true); }); watchers.push(schemaWatcher); diff --git a/package-lock.json b/package-lock.json index 12858a5..359eb40 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "license": "MIT", "dependencies": { "@fujocoded/zod-transform-socials": "^0.0.12", + "jiti": "^2.6.1", "zod": "^3.25.76" }, "devDependencies": { @@ -2683,6 +2684,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", diff --git a/package.json b/package.json index 9a1d510..9c1443f 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ }, "dependencies": { "@fujocoded/zod-transform-socials": "^0.0.12", + "jiti": "^2.6.1", "zod": "^3.25.76" }, "devDependencies": {