{"record":{"id":"fee4fa5539b7c89d","repo":"remotion-dev/remotion","slug":"no-google-font-named-requestedfamily-found","errorCode":null,"errorMessage":"No Google Font named \"${requestedFamily}\" found","messagePattern":"No Google Font named \"(.+?)\" found","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/google-fonts/scripts/generate.ts","lineNumber":173,"sourceCode":"\t}\n};\n\nconst date = Date.now();\n\n// Prepare css cache dir\nif (!fs.existsSync(CSS_CACHE_DIR)) {\n\tawait fs.promises.mkdir(CSS_CACHE_DIR, {recursive: true});\n}\n\nlet incompatibleFonts: string[] = [];\n\nconst promises: Promise<unknown>[] = [];\nconst requestedFamily = process.argv[2] ?? null;\nconst fontsToGenerate = requestedFamily\n\t? googleFonts.filter((font) => font.family === requestedFamily)\n\t: googleFonts;\nif (fontsToGenerate.length === 0) {\n\tthrow new Error(`No Google Font named \"${requestedFamily}\" found`);\n}\n\n// Batch convert\nfor (const font of fontsToGenerate) {\n\tpromises.push(\n\t\tp(() => {\n\t\t\treturn generate(font);\n\t\t}),\n\t);\n}\n\nawait Promise.all(promises);\n\nif (!requestedFamily) {\n\tawait Bun.write(\n\t\t__dirname + '/incompatible-fonts.ts',\n\t\t`export const incompatibleFonts = ${JSON.stringify(\n\t\t\tincompatibleFonts,","sourceCodeStart":155,"sourceCodeEnd":191,"githubUrl":"https://github.com/remotion-dev/remotion/blob/46a3a6bf13ca367376ff18bbb06dae2e87e0d068/packages/google-fonts/scripts/generate.ts#L155-L191","documentation":"This is thrown by the google-fonts package's codegen script (scripts/generate.ts) when a CLI family filter matches none of the known Google Fonts. The script takes an optional argv[2] font family name and filters `googleFonts` by exact family match; an empty result means the requested family does not exist in the bundled metadata list.","triggerScenarios":"Running the generate script (e.g. `bun run generate` inside packages/google-fonts) with a second argument like `pnpm generate \"Roboto Slab\"` where the exact string does not equal any `font.family` — due to typos, wrong casing, missing suffixes (e.g. \"Roboto\" vs \"Roboto Condensed\"), or a font that is not in the package's supported list.","commonSituations":"Regenerating a single font's metadata after an update and misspelling its family name, using a localized/display name instead of the canonical Google Fonts family name, or requesting a font added to Google Fonts recently but absent from this package's data.","solutions":["Check the exact family name against Google Fonts (fonts.google.com) and use the canonical spelling, including casing and spaces","Search packages/google-fonts data/metadata for the family to confirm it is supported; if not, the font must be added to the metadata first","Run without the argument to generate all fonts, confirming the script works before narrowing to one family","If the font was recently added upstream, update the package's font list before filtering by it"],"exampleFix":"// before\nbun scripts/generate.ts \"Opensans\"\n// after\nbun scripts/generate.ts \"Open Sans\"","handlingStrategy":"validation","validationCode":"import {googleFonts} from \"./data\"; // the script's source list\nconst family = process.argv[2];\nif (family && !googleFonts.some((f) => f.family === family)) {\n  console.error(`Unknown family: ${family}`);\n  process.exit(1);\n}","typeGuard":null,"tryCatchPattern":"try {\n  await runGenerate(family);\n} catch (e) {\n  if (e.message.startsWith('No Google Font named')) {\n    console.error(`${e.message} — check fonts.google.com for the exact spelling`);\n    process.exit(1);\n  }\n  throw e;\n}","preventionTips":["Copy family names verbatim from fonts.google.com (exact casing and spacing)","Confirm the family exists in the package metadata list before filtering","Run the script once with no argument to list/verify the pipeline works"],"tags":["cli","google-fonts","code-generation"],"backgroundTag":"entity-not-found","analyzedSha":"46a3a6bf13ca367376ff18bbb06dae2e87e0d068","analyzedAt":"2026-09-18T00:12:20.256Z","contentChangedAt":"2026-09-18T00:12:20.256Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}