{"record":{"id":"3793837719378233","repo":"withastro/astro","slug":"skipped-the-following-files-that-matched-colors","errorCode":null,"errorMessage":"Skipped the following files that matched ${colors.green(patternList)}:","messagePattern":"Skipped the following files that matched (.+?):","errorType":"console","errorClass":null,"httpStatus":null,"severity":"info","filePath":"packages/astro/src/content/loaders/glob.ts","lineNumber":347,"sourceCode":"\t\t\t\t}),\n\t\t\t);\n\n\t\t\tconst skipCount = skippedFiles.length;\n\n\t\t\tif (skipCount > 0) {\n\t\t\t\tconst patternList = Array.isArray(globOptions.pattern)\n\t\t\t\t\t? globOptions.pattern.join(', ')\n\t\t\t\t\t: globOptions.pattern;\n\n\t\t\t\tlogger.warn(\n\t\t\t\t\t`The glob() loader cannot be used for files in ${colors.bold('src/content')} when legacy mode is enabled.`,\n\t\t\t\t);\n\t\t\t\tif (skipCount > 10) {\n\t\t\t\t\tlogger.warn(\n\t\t\t\t\t\t`Skipped ${colors.green(skippedFiles.length)} files that matched ${colors.green(patternList)}.`,\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tlogger.warn(`Skipped the following files that matched ${colors.green(patternList)}:`);\n\t\t\t\t\tskippedFiles.forEach((file) => logger.warn(`• ${colors.green(file)}`));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove entries that were not found this time\n\t\t\tuntouchedEntries.forEach((id) => store.delete(id));\n\n\t\t\tif (!watcher) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\twatcher.add(filePath);\n\n\t\t\t// Split negation patterns out and pass them as picomatch's `ignore` option\n\t\t\t// so watcher filtering matches tinyglobby's semantics (set subtraction),\n\t\t\t// not picomatch's default (any-match union). See #17484.\n\t\t\tconst patterns = Array.isArray(globOptions.pattern)\n\t\t\t\t? globOptions.pattern","sourceCodeStart":329,"sourceCodeEnd":365,"githubUrl":"https://github.com/withastro/astro/blob/e294953aa8aadd98d5be92e60a03037b05dbdfd4/packages/astro/src/content/loaders/glob.ts#L329-L365","documentation":"Header line of the legacy-mode skip report: when legacy collections are enabled and the glob() loader skipped 10 or fewer files inside src/content, Astro logs this message naming the matched pattern, then lists each skipped file on its own bulleted line. The files are not ingested by the content layer.","triggerScenarios":"legacy.collectionsBackwardsCompat enabled, a glob collection whose base covers src/content, and between 1 and 10 matched files skipped.","commonSituations":"Small collections or a handful of stray files left under src/content during an incremental migration to the Content Layer.","solutions":["Move each listed file out of src/content (e.g. to src/data/<collection>/) and update the glob base","Or finish the migration and disable legacy.collectionsBackwardsCompat","Delete files from the list that are no longer needed"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"// Fail fast if any file under src/content would be skipped in legacy mode\nimport { glob } from 'tinyglobby';\nconst skipped = await glob(pattern, { cwd: new URL(base, projectRoot) });\nconst inSrcContent = skipped.filter((f) => f.startsWith('src/content'));\nif (legacyEnabled && inSrcContent.length > 0) {\n  throw new Error(`These files will be skipped by the glob loader: ${inSrcContent.join(', ')}`);\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["When the warning appears, use the listed files as the migration checklist and move each one out of src/content","Do not add new content under src/content while legacy mode is enabled"],"tags":["astro","content-collections","glob-loader","legacy","skipped-files"],"backgroundTag":"legacy-mode-conflict","analyzedSha":"e294953aa8aadd98d5be92e60a03037b05dbdfd4","analyzedAt":"2026-08-18T18:48:03.901Z","contentChangedAt":"2026-08-18T18:48:03.901Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}