critters icon indicating copy to clipboard operation
critters copied to clipboard

Cannot read properties of undefined (reading 'setAttribute')

Open mgalasso opened this issue 1 year ago • 6 comments

In Angular 16, during a build (ng build), there is an unhandled error within critters.js:519:30

Here is the code snippet within critters.js: if (!crittersContainer) { document.documentElement.setAttribute('data-critters-container', ''); crittersContainer = document.documentElement; }

Here is the error message: [error] TypeError: Cannot read properties of undefined (reading 'setAttribute') at createDocument (C:\Development\sourcecode\sequoia\node_modules\critters\dist\critters.js:519:30) at CrittersExtended.process (C:\Development\sourcecode\sequoia\node_modules\critters\dist\critters.js:1123:22) at InlineCriticalCssProcessor.process (C:\Development\sourcecode\sequoia\node_modules@angular-devkit\build-angular\src\utils\index-file\inline-critical-css.js:167:40) at C:\Development\sourcecode\sequoia\node_modules@angular-devkit\build-angular\src\utils\index-file\index-html-generator.js:123:64 at IndexHtmlGenerator.process (C:\Development\sourcecode\sequoia\node_modules@angular-devkit\build-angular\src\utils\index-file\index-html-generator.js:65:34) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async execute (C:\Development\sourcecode\sequoia\node_modules@angular-devkit\build-angular\src\builders\browser-esbuild\index.js:107:47) at async withSpinner (C:\Development\sourcecode\sequoia\node_modules@angular-devkit\build-angular\src\tools\esbuild\utils.js:73:16) at async buildEsbuildBrowserInternal (C:\Development\sourcecode\sequoia\node_modules@angular-devkit\build-angular\src\builders\browser-esbuild\index.js:207:18) at async handleAsyncIterator (C:\Development\sourcecode\sequoia\node_modules@angular-devkit\architect\src\api.js:35:28)

As a consequence, the index.html cannot be built within the Angular project. (Index html generation failed.)

mgalasso avatar Aug 04 '23 20:08 mgalasso

i get a similar one with angular 16. and yes, only on ng build. the ng serve works perfect

✖ Index html generation failed. document.documentElement.setAttribute is not a function

scifresh avatar Aug 24 '23 20:08 scifresh

I'm facing the same issue in Next.js 13 and [email protected]. It only happens with server-side rendering in some cases

marco910 avatar Sep 14 '23 13:09 marco910

same here in vite

TheElegantCoding avatar Dec 30 '23 03:12 TheElegantCoding

same here. Angular 17. ng serve working perfectly. ng build failling with Index html generation failed. Cannot read properties of undefined (reading 'setAttribute') error

saenif avatar Feb 14 '24 08:02 saenif

Same here with Angular 17

briouyaasmae avatar Mar 13 '24 14:03 briouyaasmae

Also, facing the same issue while building the application. Does anyone know the root cause of this error?

KRS-envisageworld avatar Jun 08 '24 11:06 KRS-envisageworld