* Builds the footer hydration error message * * @param componentClassName the name of the component class * @returns string
(componentClassName?: string)
| 423 | * @returns string |
| 424 | */ |
| 425 | function getHydrationErrorFooter(componentClassName?: string): string { |
| 426 | const componentInfo = componentClassName ? `the "${componentClassName}"` : 'corresponding'; |
| 427 | return ( |
| 428 | `To fix this problem:\n` + |
| 429 | ` * check ${componentInfo} component for hydration-related issues\n` + |
| 430 | ` * check to see if your template has valid HTML structure\n` + |
| 431 | ` * check if there are any third-party scripts that manipulate the DOM. More info: ${DOC_PAGE_BASE_URL}${THIRD_PARTY_SCRIPTS_URL}\n` + |
| 432 | ` * or skip hydration by adding the \`ngSkipHydration\` attribute ` + |
| 433 | `to its host node in a template\n\n` |
| 434 | ); |
| 435 | } |
| 436 | |
| 437 | /** |
| 438 | * Checks if a given RNode is likely to have been added by a third-party script |
no outgoing calls
no test coverage detected
searching dependent graphs…