Astro Info
Astro v5.0.4
Node v22.12.0
System macOS (arm64)
Package Manager npm
Output static
Adapter none
Integrations @astrojs/mdx
If this issue only occurs in one browser, which browser is a problem?
No response
Describe the Bug
In large collections (~5,000 in our live site and 25,000 in the reproduction), reloads have a chance to throw errors like The collection "..." does not exist or is empty. Ensure a collection directory with this name exists. or Failed to parse source for import analysis because the content contains invalid JS syntax. If you are using JSX, make sure to name the file with the .jsx or .tsx extension..
Error
Error: Failed to parse source for import analysis because the content contains invalid JS syntax . If you are using JSX , make sure to name the file with the . jsx or . tsx extension .
at TransformPluginContext . _formatError ( file :///Users/kian/Downloads/github-b49bjx9d/node_modules/vite/dist/node/chunks/dep-yUJfKD1i.js:47158:41)
at TransformPluginContext . error ( file :///Users/kian/Downloads/github-b49bjx9d/node_modules/vite/dist/node/chunks/dep-yUJfKD1i.js:47153:16)
at TransformPluginContext . transform ( file :///Users/kian/Downloads/github-b49bjx9d/node_modules/vite/dist/node/chunks/dep-yUJfKD1i.js:45378:14)
at async EnvironmentPluginContainer . transform ( file :///Users/kian/Downloads/github-b49bjx9d/node_modules/vite/dist/node/chunks/dep-yUJfKD1i.js:47001:18)
at async loadAndTransform ( file :///Users/kian/Downloads/github-b49bjx9d/node_modules/vite/dist/node/chunks/dep-yUJfKD1i.js:40852:27)
at async fetchModule ( file :///Users/kian/Downloads/github-b49bjx9d/node_modules/vite/dist/node/chunks/dep-yUJfKD1i.js:51171:16)
at async handleInvoke ( file :///Users/kian/Downloads/github-b49bjx9d/node_modules/vite/dist/node/chunks/dep-yUJfKD1i.js:43945:22)
at async EventEmitter . listenerForInvokeHandler ( file :///Users/kian/Downloads/github-b49bjx9d/node_modules/vite/dist/node/chunks/dep-yUJfKD1i.js:44018:19) {
plugin: 'vite:import-analysis' ,
id : '/Users/kian/Downloads/github-b49bjx9d/.astro/content-modules.mjs' ,
pluginCode : '\n' +
'export default new Map([\n' +
"['src/content/docs/foo/bar/baz-qux/123456789/000df342-c71a-4dbf-a1e6-8e93ee7c638f.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F000df342-c71a-4dbf-a1e6-8e93ee7c638f.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/0010e138-bb89-4368-9b74-de5deaf0d99b.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F0010e138-bb89-4368-9b74-de5deaf0d99b.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/0015a052-c4d7-4664-8bbc-2f0a573c1ab4.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F0015a052-c4d7-4664-8bbc-2f0a573c1ab4.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/0001af01-cf78-4011-bfcb-121858d1f920.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F0001af01-cf78-4011-bfcb-121858d1f920.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/00244fcb-33f1-44fc-8f43-009936365207.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F00244fcb-33f1-44fc-8f43-009936365207.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/001551f7-ddc5-4fe7-ba7a-66bc0704942f.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F001551f7-ddc5-4fe7-ba7a-66bc0704942f.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/00255513-74cb-44c4-b130-c5eecdbbd50c.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F00255513-74cb-44c4-b130-c5eecdbbd50c.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/00230b93-2805-4db6-b239-a56271e56970.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F00230b93-2805-4db6-b239-a56271e56970.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/0015beb3-7926-4bfa-bb30-067588753b88.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F0015beb3-7926-4bfa-bb30-067588753b88.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/001f9a55-ae50-46c2-8b59-e7590f23c334.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F001f9a55-ae50-46c2-8b59-e7590f23c334.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/002e1b7b-9cc8-40c4-82a8-527bbd3b0615.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F002e1b7b-9cc8-40c4-82a8-527bbd3b0615.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/0031dbe3-fc75-49d1-8fa3-8d15c7641e06.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F0031dbe3-fc75-49d1-8fa3-8d15c7641e06.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/002a6bce-f0be-427a-8ea2-27181e8f3762.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F002a6bce-f0be-427a-8ea2-27181e8f3762.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/002e936d-9c3f-4b11-bd7c-a5877a018ae4.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F002e936d-9c3f-4b11-bd7c-a5877a018ae4.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/003287d9-a51a-42e4-842c-fdd659956ab5.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F003287d9-a51a-42e4-842c-fdd659956ab5.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/003341e4-3feb-4eef-81cb-ebe2edf012dc.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F003341e4-3feb-4eef-81cb-ebe2edf012dc.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/00348a59-a4a1-4f08-83a7-7407b056de35.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F00348a59-a4a1-4f08-83a7-7407b056de35.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/003b75c8-7406-4827-b7ad-adf8c09c31f5.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F003b75c8-7406-4827-b7ad-adf8c09c31f5.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/004342c1-e51b-4bd4-9c89-23e4e23009c0.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F004342c1-e51b-4bd4-9c89-23e4e23009c0.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/0043c7ba-8bba-4b97-baf6-688281aa8f7a.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F0043c7ba-8bba-4b97-baf6-688281aa8f7a.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/0044a225-3bfc-412c-a815-989993ca0371.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F0044a225-3bfc-412c-a815-989993ca0371.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/0047012f-2539-4f79-81d5-c2869daece87.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F0047012f-2539-4f79-81d5-c2869daece87.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/004913db-12f8-4054-933b-ccd63d9e26c5.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F004913db-12f8-4054-933b-ccd63d9e26c5.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/0045feaa-f1a1-4997-8b60-f21d362760d3.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F0045feaa-f1a1-4997-8b60-f21d362760d3.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/0058a301-f331-481f-a5bc-33aebaa01310.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F0058a301-f331-481f-a5bc-33aebaa01310.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/0050b159-5aec-4b1e-8cd3-5fc133ef95f5.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F0050b159-5aec-4b1e-8cd3-5fc133ef95f5.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/0057816d-3e89-4de0-9f7e-84284eb68dc8.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F0057816d-3e89-4de0-9f7e-84284eb68dc8.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/005a906e-6a1b-4ce2-ba62-e06543549186.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F005a906e-6a1b-4ce2-ba62-e06543549186.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/005d471c-79e2-40ac-aa26-97687ed48da4.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F005d471c-79e2-40ac-aa26-97687ed48da4.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/005e8d62-1d8d-46ac-9bd4-bc4202442df5.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F005e8d62-1d8d-46ac-9bd4-bc4202442df5.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/005fb7d4-5d6c-4d21-9953-cc0cb92108c2.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F005fb7d4-5d6c-4d21-9953-cc0cb92108c2.mdx&astroContentModuleFlag=true')],\n" +
"['src/content/docs/foo/bar/baz-qux/123456789/00674bb7-6f13-435e-8347-283962ef09f2.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&f" . . . 1562864 more characters ,
loc : {
file : '/Users/kian/Downloads/github-b49bjx9d/.astro/content-modules.mjs' ,
line : 4980 ,
column : 107
} ,
frame : "4978| ['src/content/docs/foo/bar/baz-qux/123456789/3f3db0c6-0a64-4cbb-a9a3-2fefe898c116.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F3f3db0c6-0a64-4cbb-a9a3-2fefe898c116.mdx&astroContentModuleFlag=true')],\n" +
"4979| ['src/content/docs/foo/bar/baz-qux/123456789/3f3c35eb-9753-4df5-97ca-54e4749fda6e.mdx', () => import('astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Ffoo%2Fbar%2Fbaz-qux%2F123456789%2F3f3c35eb-9753-4df5-97ca-54e4749fda6e.mdx&astroContentModuleFlag=true')],\n" +
"4980| ['src/content/docs/foo/bar/baz-qux/123456789/3f40599b-8592-49ac-b684-0b364d40434d.mdx', () => import('astr\n" +
' | ^' ,
runnerError : Error : RunnerError
at reviveInvokeError ( file :/ / / Users / kian / Downloads / github - b49bjx9d / node_modules / vite / dist / node / module - runner . js :545 :18 )
at Object . invoke ( file :/ / / Users / kian / Downloads / github - b49bjx9d / node_modules / vite / dist / node / module - runner . js :628 :15 )
at async SSRCompatModuleRunner . getModuleInformation ( file :/ / / Users / kian / Downloads / github - b49bjx9d / node_modules / vite / dist / node / module - runner . js :1200 :73 )
at async request ( file :/ / / Users / kian / Downloads / github - b49bjx9d / node_modules / vite / dist / node / module - runner . js :1222 :88 )
at async renderEntry ( / U s e r s / kian/ Downloads / github - b49bjx9d / node_modules / astro / dist / content / runtime . js :352 :43 )
at async eval ( / U s e r s / kian/ Downloads / github - b49bjx9d / src / pages / [ ...entry ] . astro :26 :23 )
at async callComponentAsTemplateResultOrResponse ( file :/ / / Users / kian / Downloads / github - b49bjx9d / node_modules / astro / dist / runtime / server / render / astro / render . js :90 :25 )
at async renderToAsyncIterable ( file :/ / / Users / kian / Downloads / github - b49bjx9d / node_modules / astro / dist / runtime / server / render / astro / render . js :132 :26 )
at async renderPage ( file :/ / / Users / kian / Downloads / github - b49bjx9d / node_modules / astro / dist / runtime / server / render / page . js :31 :24 )
at async lastNext ( file :/ / / Users / kian / Downloads / github - b49bjx9d / node_modules / astro / dist / core / render - context . js :163 :25 )
}
Malformed line
"4980| ['src/content/docs/foo/bar/baz-qux/123456789/3f40599b-8592-49ac-b684-0b364d40434d.mdx', () => import('astr\n" +
Relevant code
const lines : Array < string > = [ ] ;
for ( const [ fileName , specifier ] of this . #moduleImports) {
lines . push ( `['${ fileName } ', () => import('${ specifier } ')]` ) ;
}
const code = `
export default new Map([\n${ lines . join ( ',\n' ) } ]);
` ;
try {
await fs . writeFile ( filePath , code ) ;
Reproduction steps
StackBlitz
Save this project locally as StackBlitz may crash due to the number of files.
Run node bin/generate-entries.js.
Run npx astro dev.
Pick one of the generated files and load that page, i.e http://localhost:4321/00149e57-bb59-44c7-8203-61330df4796c/.
Edit src/content/docs/00149e57-bb59-44c7-8203-61330df4796c.mdx repeatedly, until the error occurs.
astro-repro.mp4
What's the expected result?
No errors thrown, collections do not report as empty or missing.
Link to Minimal Reproducible Example
https://stackblitz.com/edit/github-mtk5uaws?file=src%2Fcontent.config.ts
Participation
Astro Info
If this issue only occurs in one browser, which browser is a problem?
No response
Describe the Bug
In large collections (~5,000 in our live site and 25,000 in the reproduction), reloads have a chance to throw errors like
The collection "..." does not exist or is empty. Ensure a collection directory with this name exists.orFailed to parse source for import analysis because the content contains invalid JS syntax. If you are using JSX, make sure to name the file with the .jsx or .tsx extension..Error
Malformed line
"4980| ['src/content/docs/foo/bar/baz-qux/123456789/3f40599b-8592-49ac-b684-0b364d40434d.mdx', () => import('astr\n" +Relevant code
astro/packages/astro/src/content/mutable-data-store.ts
Lines 138 to 146 in 1c4a032
Reproduction steps
StackBlitz
Save this project locally as StackBlitz may crash due to the number of files.
node bin/generate-entries.js.npx astro dev.http://localhost:4321/00149e57-bb59-44c7-8203-61330df4796c/.src/content/docs/00149e57-bb59-44c7-8203-61330df4796c.mdxrepeatedly, until the error occurs.astro-repro.mp4
What's the expected result?
No errors thrown, collections do not report as empty or missing.
Link to Minimal Reproducible Example
https://stackblitz.com/edit/github-mtk5uaws?file=src%2Fcontent.config.ts
Participation