{"record":{"id":"f193664ed643d5b6","repo":"gatsbyjs/gatsby","slug":"specified-repl-directory-directory-contains-n","errorCode":null,"errorMessage":"Specified REPL directory \"${directory}\" contains no files","messagePattern":"Specified REPL directory \"(.+?)\" contains no files","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/gatsby-remark-code-repls/src/gatsby-node.js","lineNumber":40,"sourceCode":"    directory += `/`\n  }\n\n  const { createPage } = actions\n\n  if (!fs.existsSync(directory)) {\n    reporter.panic(`Invalid REPL directory specified: \"${directory}\"`)\n  }\n\n  if (!fs.existsSync(codepen.redirectTemplate)) {\n    reporter.panic(\n      `Invalid REPL redirectTemplate specified: \"${codepen.redirectTemplate}\"`\n    )\n  }\n\n  try {\n    const files = await readdir(directory)\n    if (files.length === 0) {\n      console.warn(`Specified REPL directory \"${directory}\" contains no files`)\n\n      return\n    }\n\n    // escape backslashes for windows\n    const resolvedDirectory = resolve(directory)\n    files.forEach(file => {\n      if (extname(file) === `.js` || extname(file) === `.jsx`) {\n        const parsedFile = parse(file)\n        const relativeDir = parsedFile.dir.replace(`${resolvedDirectory}`, ``)\n        const slug = `redirect-to-codepen${normalizePath(relativeDir)}/${\n          parsedFile.name\n        }`\n\n        const code = fs.readFileSync(file, `utf8`)\n\n        let css\n        if (codepen.includeMatchingCSS === true) {","sourceCodeStart":22,"sourceCodeEnd":58,"githubUrl":"https://github.com/gatsbyjs/gatsby/blob/e85d62f1779e353eaac1753211629a26d123e26c/packages/gatsby-remark-code-repls/src/gatsby-node.js#L22-L58","documentation":"Post-validation notice in gatsby-remark-code-repls's createPages: the configured REPL directory exists but readdir found zero files in it, so no codepen REPL redirect pages can be created and the step returns early with a console.warn. Missing directories/templates instead panic earlier.","triggerScenarios":"Thrown at packages/gatsby-remark-code-repls/src/gatsby-node.js:40 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Add REPL source files to the directory","Fix the directory path in the plugin options"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e85d62f1779e353eaac1753211629a26d123e26c","analyzedAt":"2026-08-26T17:50:09.662Z","contentChangedAt":"2026-08-26T17:50:09.662Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}