diff --git a/documentation/docs/98-reference/.generated/client-errors.md b/documentation/docs/98-reference/.generated/client-errors.md index ca536ec5c6..9fc9526a69 100644 --- a/documentation/docs/98-reference/.generated/client-errors.md +++ b/documentation/docs/98-reference/.generated/client-errors.md @@ -225,6 +225,12 @@ Cannot do `bind:%key%={undefined}` when `%key%` has a fallback value Rest element properties of `$props()` such as `%property%` are readonly ``` +### renderer_missing_foreign + +``` +A custom renderer must define `foreign` to interleave with DOM or another custom renderer +``` + ### rune_outside_svelte ``` diff --git a/packages/svelte/messages/client-errors/errors.md b/packages/svelte/messages/client-errors/errors.md index d97fea27b4..7778630174 100644 --- a/packages/svelte/messages/client-errors/errors.md +++ b/packages/svelte/messages/client-errors/errors.md @@ -171,6 +171,10 @@ This can happen if you render a hydratable on the client that was not rendered o > Rest element properties of `$props()` such as `%property%` are readonly +## renderer_missing_foreign + +> A custom renderer must define `foreign` to interleave with DOM or another custom renderer + ## rune_outside_svelte > The `%rune%` rune is only available inside `.svelte` and `.svelte.js/ts` files diff --git a/packages/svelte/src/internal/client/errors.js b/packages/svelte/src/internal/client/errors.js index 651480a3d6..66cdf40056 100644 --- a/packages/svelte/src/internal/client/errors.js +++ b/packages/svelte/src/internal/client/errors.js @@ -428,6 +428,22 @@ export function props_rest_readonly(property) { } } +/** + * A custom renderer must define `foreign` to interleave with DOM or another custom renderer + * @returns {never} + */ +export function renderer_missing_foreign() { + if (DEV) { + const error = new Error(`renderer_missing_foreign\nA custom renderer must define \`foreign\` to interleave with DOM or another custom renderer\nhttps://svelte.dev/e/renderer_missing_foreign`); + + error.name = 'Svelte error'; + + throw error; + } else { + throw new Error(`https://svelte.dev/e/renderer_missing_foreign`); + } +} + /** * The `%rune%` rune is only available inside `.svelte` and `.svelte.js/ts` files * @param {string} rune