diff --git a/.changeset/gorgeous-coats-jog.md b/.changeset/gorgeous-coats-jog.md new file mode 100644 index 0000000000..0b69c9a966 --- /dev/null +++ b/.changeset/gorgeous-coats-jog.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +breaking: remove foreign namespace diff --git a/packages/svelte/src/compiler/phases/1-parse/read/options.js b/packages/svelte/src/compiler/phases/1-parse/read/options.js index a8ba7e216c..cd3673aa57 100644 --- a/packages/svelte/src/compiler/phases/1-parse/read/options.js +++ b/packages/svelte/src/compiler/phases/1-parse/read/options.js @@ -157,18 +157,10 @@ export default function read_options(node) { component_options.namespace = 'svg'; } else if (value === NAMESPACE_MATHML) { component_options.namespace = 'mathml'; - } else if ( - value === 'html' || - value === 'mathml' || - value === 'svg' || - value === 'foreign' - ) { + } else if (value === 'html' || value === 'mathml' || value === 'svg') { component_options.namespace = value; } else { - e.svelte_options_invalid_attribute_value( - attribute, - `"html", "mathml", "svg" or "foreign"` - ); + e.svelte_options_invalid_attribute_value(attribute, `"html", "mathml" or "svg"`); } break; diff --git a/packages/svelte/src/compiler/phases/2-analyze/visitors/BindDirective.js b/packages/svelte/src/compiler/phases/2-analyze/visitors/BindDirective.js index 573616b815..43d1a3d468 100644 --- a/packages/svelte/src/compiler/phases/2-analyze/visitors/BindDirective.js +++ b/packages/svelte/src/compiler/phases/2-analyze/visitors/BindDirective.js @@ -126,10 +126,6 @@ export function BindDirective(node, context) { parent?.type === 'SvelteDocument' || parent?.type === 'SvelteBody' ) { - if (context.state.options.namespace === 'foreign' && node.name !== 'this') { - e.bind_invalid_name(node, node.name, 'Foreign elements only support `bind:this`'); - } - if (node.name in binding_properties) { const property = binding_properties[node.name]; if (property.valid_elements && !property.valid_elements.includes(parent.name)) { diff --git a/packages/svelte/src/compiler/phases/2-analyze/visitors/RegularElement.js b/packages/svelte/src/compiler/phases/2-analyze/visitors/RegularElement.js index 5c15f70ba2..16be82ed2c 100644 --- a/packages/svelte/src/compiler/phases/2-analyze/visitors/RegularElement.js +++ b/packages/svelte/src/compiler/phases/2-analyze/visitors/RegularElement.js @@ -24,11 +24,7 @@ export function RegularElement(node, context) { context.state.analysis.elements.push(node); // Special case: Move the children of