From 3c172aebd2e0d9bab409943b06f77600de03aafc Mon Sep 17 00:00:00 2001 From: Ivan Hofer Date: Fri, 8 Jan 2021 14:18:33 +0100 Subject: [PATCH 01/30] implement 'stylesTarget' --- src/compiler/compile/render_dom/index.ts | 7 ++----- src/runtime/internal/Component.ts | 1 + src/runtime/internal/dev.ts | 20 ++++++++++++++++++-- src/runtime/internal/dom.ts | 20 ++++++++++++++++++++ src/runtime/internal/style_manager.ts | 4 ++-- 5 files changed, 43 insertions(+), 9 deletions(-) diff --git a/src/compiler/compile/render_dom/index.ts b/src/compiler/compile/render_dom/index.ts index 8be14c6b54c0..e749af672929 100644 --- a/src/compiler/compile/render_dom/index.ts +++ b/src/compiler/compile/render_dom/index.ts @@ -49,11 +49,8 @@ export default function dom( if (should_add_css) { body.push(b` - function ${add_css}() { - var style = @element("style"); - style.id = "${component.stylesheet.id}-style"; - style.textContent = "${styles}"; - @append(@_document.head, style); + function ${add_css}(options) { + @append_styles(options, "${component.stylesheet.id.replace('svelte-', '')}", "${styles}"); } `); } diff --git a/src/runtime/internal/Component.ts b/src/runtime/internal/Component.ts index 0d1d65cbdc79..57fed4862303 100644 --- a/src/runtime/internal/Component.ts +++ b/src/runtime/internal/Component.ts @@ -38,6 +38,7 @@ interface T$$ { on_destroy: any[]; skip_bound: boolean; on_disconnect: any[]; + stylesTarget?: HTMLElement|ShadowRoot; } export function bind(component, name, callback) { diff --git a/src/runtime/internal/dev.ts b/src/runtime/internal/dev.ts index 4e4e5326f9d5..15ebf619e601 100644 --- a/src/runtime/internal/dev.ts +++ b/src/runtime/internal/dev.ts @@ -140,7 +140,15 @@ export class SvelteComponentDev extends SvelteComponent { */ $$slot_def: any; - constructor(options: IComponentOptions) { + constructor(options: { + target: Element|ShadowRoot; + stylesTarget: Element|ShadowRoot; + anchor?: Element; + props?: Props; + hydrate?: boolean; + intro?: boolean; + $$inline?: boolean; + }) { if (!options || (!options.target && !options.$$inline)) { throw new Error("'target' is a required option"); } @@ -232,7 +240,15 @@ export class SvelteComponentTyped< */ $$slot_def: Slots; - constructor(options: IComponentOptions) { + constructor(options: { + target: Element|ShadowRoot; + stylesTarget: Element|ShadowRoot; + anchor?: Element; + props?: Props; + hydrate?: boolean; + intro?: boolean; + $$inline?: boolean; + }) { super(options); } } diff --git a/src/runtime/internal/dom.ts b/src/runtime/internal/dom.ts index 93100e625be0..c59198dd122b 100644 --- a/src/runtime/internal/dom.ts +++ b/src/runtime/internal/dom.ts @@ -110,6 +110,26 @@ function init_hydrate(target: NodeEx) { const anchor = j < lis.length ? lis[j] : null; target.insertBefore(toMove[i], anchor); } +let appendStylesTo = document.head; + +export function append_styles( + { stylesTarget }, + styleSheetId: string, + styles: string, + styleId: string = `svelte-${styleSheetId}-style` +) { + if (stylesTarget) appendStylesTo = stylesTarget; + + if (!appendStylesTo.querySelector('#' + styleId)) { + const style = element('style'); + style.id = styleId; + style.textContent = styles; + append(appendStylesTo, style); + } +} + +export function append_empty_stylesheet() { + return appendStylesTo.appendChild(element('style') as HTMLStyleElement); } export function append(target: NodeEx, node: NodeEx) { diff --git a/src/runtime/internal/style_manager.ts b/src/runtime/internal/style_manager.ts index 8060e65a5d3f..4e16bdb3cf78 100644 --- a/src/runtime/internal/style_manager.ts +++ b/src/runtime/internal/style_manager.ts @@ -1,4 +1,4 @@ -import { element } from './dom'; +import { append_empty_stylesheet } from './dom'; import { raf } from './environment'; interface ExtendedDoc extends Document { @@ -31,7 +31,7 @@ export function create_rule(node: Element & ElementCSSInlineStyle, a: number, b: const name = `__svelte_${hash(rule)}_${uid}`; const doc = node.ownerDocument as ExtendedDoc; active_docs.add(doc); - const stylesheet = doc.__svelte_stylesheet || (doc.__svelte_stylesheet = doc.head.appendChild(element('style') as HTMLStyleElement).sheet as CSSStyleSheet); + const stylesheet = doc.__svelte_stylesheet || (doc.__svelte_stylesheet = append_empty_stylesheet().sheet as CSSStyleSheet); const current_rules = doc.__svelte_rules || (doc.__svelte_rules = {}); if (!current_rules[name]) { From 6be665216f1dbb7afc57a90f28bcbb977e51d73d Mon Sep 17 00:00:00 2001 From: Ivan Hofer Date: Fri, 8 Jan 2021 14:18:45 +0100 Subject: [PATCH 02/30] fix tests for 'stylesTarget' --- .../collapses-text-around-comments/expected.js | 10 ++++------ test/js/samples/css-media-query/expected.js | 11 ++++------- test/sourcemaps/samples/compile-option-dev/test.js | 4 ++-- 3 files changed, 10 insertions(+), 15 deletions(-) diff --git a/test/js/samples/collapses-text-around-comments/expected.js b/test/js/samples/collapses-text-around-comments/expected.js index 67335ce2469e..e3e000094ff7 100644 --- a/test/js/samples/collapses-text-around-comments/expected.js +++ b/test/js/samples/collapses-text-around-comments/expected.js @@ -2,6 +2,7 @@ import { SvelteComponent, append, + append_styles, attr, detach, element, @@ -13,11 +14,8 @@ import { text } from "svelte/internal"; -function add_css() { - var style = element("style"); - style.id = "svelte-1a7i8ec-style"; - style.textContent = "p.svelte-1a7i8ec{color:red}"; - append(document.head, style); +function add_css(options) { + append_styles(options, "1a7i8ec", "p.svelte-1a7i8ec{color:red}"); } function create_fragment(ctx) { @@ -58,7 +56,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - if (!document.getElementById("svelte-1a7i8ec-style")) add_css(); + add_css(options); init(this, options, instance, create_fragment, safe_not_equal, { foo: 0 }); } } diff --git a/test/js/samples/css-media-query/expected.js b/test/js/samples/css-media-query/expected.js index f4776700599d..749c692aa143 100644 --- a/test/js/samples/css-media-query/expected.js +++ b/test/js/samples/css-media-query/expected.js @@ -1,7 +1,7 @@ /* generated by Svelte vX.Y.Z */ import { SvelteComponent, - append, + append_styles, attr, detach, element, @@ -11,11 +11,8 @@ import { safe_not_equal } from "svelte/internal"; -function add_css() { - var style = element("style"); - style.id = "svelte-1slhpfn-style"; - style.textContent = "@media(min-width: 1px){div.svelte-1slhpfn{color:red}}"; - append(document.head, style); +function add_css(options) { + append_styles(options, "1slhpfn", "@media(min-width: 1px){div.svelte-1slhpfn{color:red}}"); } function create_fragment(ctx) { @@ -41,7 +38,7 @@ function create_fragment(ctx) { class Component extends SvelteComponent { constructor(options) { super(); - if (!document.getElementById("svelte-1slhpfn-style")) add_css(); + add_css(options); init(this, options, null, create_fragment, safe_not_equal, {}); } } diff --git a/test/sourcemaps/samples/compile-option-dev/test.js b/test/sourcemaps/samples/compile-option-dev/test.js index bf240a5a8927..750a6afc640d 100644 --- a/test/sourcemaps/samples/compile-option-dev/test.js +++ b/test/sourcemaps/samples/compile-option-dev/test.js @@ -4,8 +4,8 @@ const b64dec = s => Buffer.from(s, 'base64').toString(); export async function test({ assert, css, js }) { - // We check that the css source map embedded in the js is accurate - const match = js.code.match(/\tstyle\.textContent = "(.*?)(?:\\n\/\*# sourceMappingURL=data:(.*?);charset=(.*?);base64,(.*?) \*\/)?";\n/); + // We check that the css source map embedded in the js is accurate + const match = js.code.match(/\tappend_styles\(options, ".{6}", "(.*?)(?:\\n\/\*# sourceMappingURL=data:(.*?);charset=(.*?);base64,(.*?) \*\/)?"\);\n/); assert.notEqual(match, null); const [mimeType, encoding, cssMapBase64] = match.slice(2); From 53e92e22bdcae1740b31be8d5062a71eae85aa53 Mon Sep 17 00:00:00 2001 From: Ivan Hofer Date: Fri, 8 Jan 2021 14:18:54 +0100 Subject: [PATCH 03/30] add docs for 'stylesTarget' --- site/content/docs/03-run-time.md | 1 + 1 file changed, 1 insertion(+) diff --git a/site/content/docs/03-run-time.md b/site/content/docs/03-run-time.md index 9a8d6a69b555..f6c7477b0c57 100644 --- a/site/content/docs/03-run-time.md +++ b/site/content/docs/03-run-time.md @@ -930,6 +930,7 @@ The following initialisation options can be provided: | option | default | description | | --- | --- | --- | | `target` | **none** | An `HTMLElement` to render to. This option is required +| `stylesTarget` | `document.head` | An `HTMLElement` the styles should be appended to. It will only work if the component was compiled with the [`css: true` option](docs#svelte_compile). | `anchor` | `null` | A child of `target` to render the component immediately before | `props` | `{}` | An object of properties to supply to the component | `context` | `new Map()` | A `Map` of root-level context key-value pairs to supply to the component From 2b4358b6ae1d143e2203c88b7b3286a342042ddc Mon Sep 17 00:00:00 2001 From: Ivan Hofer Date: Sun, 28 Mar 2021 10:21:55 +0200 Subject: [PATCH 04/30] get styles target from target instead of its own option --- src/runtime/internal/Component.ts | 1 - src/runtime/internal/dev.ts | 2 -- src/runtime/internal/dom.ts | 11 ++++++++--- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/runtime/internal/Component.ts b/src/runtime/internal/Component.ts index 57fed4862303..0d1d65cbdc79 100644 --- a/src/runtime/internal/Component.ts +++ b/src/runtime/internal/Component.ts @@ -38,7 +38,6 @@ interface T$$ { on_destroy: any[]; skip_bound: boolean; on_disconnect: any[]; - stylesTarget?: HTMLElement|ShadowRoot; } export function bind(component, name, callback) { diff --git a/src/runtime/internal/dev.ts b/src/runtime/internal/dev.ts index 15ebf619e601..d6a47b57e43b 100644 --- a/src/runtime/internal/dev.ts +++ b/src/runtime/internal/dev.ts @@ -142,7 +142,6 @@ export class SvelteComponentDev extends SvelteComponent { constructor(options: { target: Element|ShadowRoot; - stylesTarget: Element|ShadowRoot; anchor?: Element; props?: Props; hydrate?: boolean; @@ -242,7 +241,6 @@ export class SvelteComponentTyped< constructor(options: { target: Element|ShadowRoot; - stylesTarget: Element|ShadowRoot; anchor?: Element; props?: Props; hydrate?: boolean; diff --git a/src/runtime/internal/dom.ts b/src/runtime/internal/dom.ts index c59198dd122b..31a12adc01e6 100644 --- a/src/runtime/internal/dom.ts +++ b/src/runtime/internal/dom.ts @@ -110,15 +110,15 @@ function init_hydrate(target: NodeEx) { const anchor = j < lis.length ? lis[j] : null; target.insertBefore(toMove[i], anchor); } -let appendStylesTo = document.head; +let appendStylesTo: Element; export function append_styles( - { stylesTarget }, + { target }, styleSheetId: string, styles: string, styleId: string = `svelte-${styleSheetId}-style` ) { - if (stylesTarget) appendStylesTo = stylesTarget; + if (target) appendStylesTo = get_root_for_node(target); if (!appendStylesTo.querySelector('#' + styleId)) { const style = element('style'); @@ -128,6 +128,11 @@ export function append_styles( } } +function get_root_for_node(node: Node) { + const root = (node.getRootNode ? node.getRootNode() : node.ownerDocument); // check for getRootNode because IE is still supported + return ((root as ShadowRoot).host ? root : (root as Document).head) as Element; +} + export function append_empty_stylesheet() { return appendStylesTo.appendChild(element('style') as HTMLStyleElement); } From d255b8d5ea3e63bc448994e5d42d6b80d3e67f59 Mon Sep 17 00:00:00 2001 From: Ivan Hofer Date: Sun, 28 Mar 2021 10:57:25 +0200 Subject: [PATCH 05/30] pass options.target down to each create_fragment --- src/compiler/compile/render_dom/index.ts | 2 +- .../render_dom/wrappers/InlineComponent/index.ts | 1 + src/runtime/internal/Component.ts | 2 +- src/runtime/internal/dom.ts | 14 ++++++++------ src/runtime/internal/style_manager.ts | 2 +- .../action-custom-event-handler/expected.js | 4 ++-- test/js/samples/action/expected.js | 2 +- test/js/samples/bind-online/expected.js | 2 +- test/js/samples/bind-open/expected.js | 2 +- test/js/samples/bind-width-height/expected.js | 2 +- .../js/samples/bindings-readonly-order/expected.js | 2 +- .../js/samples/capture-inject-dev-only/expected.js | 2 +- test/js/samples/capture-inject-state/expected.js | 2 +- .../collapses-text-around-comments/expected.js | 2 +- test/js/samples/component-static-array/expected.js | 2 +- .../samples/component-static-immutable/expected.js | 2 +- .../component-static-immutable2/expected.js | 2 +- test/js/samples/component-static-var/expected.js | 2 +- test/js/samples/component-static/expected.js | 2 +- .../component-store-access-invalidate/expected.js | 2 +- .../expected.js | 2 +- test/js/samples/css-media-query/expected.js | 2 +- .../samples/css-shadow-dom-keyframes/expected.js | 2 +- test/js/samples/data-attribute/expected.js | 2 +- test/js/samples/debug-empty/expected.js | 2 +- .../samples/debug-foo-bar-baz-things/expected.js | 2 +- test/js/samples/debug-foo/expected.js | 2 +- test/js/samples/debug-hoisted/expected.js | 2 +- test/js/samples/debug-no-dependencies/expected.js | 2 +- test/js/samples/deconflict-builtins/expected.js | 2 +- .../dev-warning-missing-data-computed/expected.js | 2 +- test/js/samples/dont-invalidate-this/expected.js | 2 +- test/js/samples/dynamic-import/expected.js | 2 +- .../samples/each-block-array-literal/expected.js | 2 +- .../samples/each-block-changed-check/expected.js | 2 +- .../samples/each-block-keyed-animated/expected.js | 2 +- test/js/samples/each-block-keyed/expected.js | 2 +- test/js/samples/event-handler-dynamic/expected.js | 2 +- .../samples/event-handler-no-passive/expected.js | 2 +- test/js/samples/event-modifiers/expected.js | 6 +++--- test/js/samples/head-no-whitespace/expected.js | 2 +- test/js/samples/hoisted-const/expected.js | 2 +- test/js/samples/hoisted-let/expected.js | 2 +- test/js/samples/hydrated-void-element/expected.js | 2 +- test/js/samples/if-block-complex/expected.js | 2 +- test/js/samples/if-block-no-update/expected.js | 2 +- test/js/samples/if-block-simple/expected.js | 4 ++-- test/js/samples/import-meta/expected.js | 2 +- test/js/samples/initial-context/expected.js | 2 +- .../inline-style-optimized-multiple/expected.js | 2 +- .../samples/inline-style-optimized-url/expected.js | 2 +- test/js/samples/inline-style-optimized/expected.js | 2 +- .../samples/inline-style-unoptimized/expected.js | 2 +- .../inline-style-without-updates/expected.js | 2 +- test/js/samples/input-files/expected.js | 2 +- test/js/samples/input-no-initial-value/expected.js | 2 +- test/js/samples/input-range/expected.js | 2 +- test/js/samples/input-value/expected.js | 2 +- .../input-without-blowback-guard/expected.js | 2 +- .../instrumentation-script-if-no-block/expected.js | 2 +- .../instrumentation-script-main-block/expected.js | 2 +- .../instrumentation-script-x-equals-x/expected.js | 2 +- .../expected.js | 2 +- .../expected.js | 2 +- test/js/samples/legacy-input-type/expected.js | 2 +- test/js/samples/loop-protect/expected.js | 2 +- test/js/samples/media-bindings/expected.js | 2 +- test/js/samples/non-imported-component/expected.js | 2 +- test/js/samples/non-mutable-reference/expected.js | 2 +- test/js/samples/optional-chaining/expected.js | 2 +- .../samples/reactive-class-optimized/expected.js | 2 +- test/js/samples/select-dynamic-value/expected.js | 2 +- test/js/samples/src-attribute-check/expected.js | 2 +- test/js/samples/svg-title/expected.js | 2 +- test/js/samples/title/expected.js | 2 +- test/js/samples/transition-local/expected.js | 4 ++-- .../samples/transition-repeated-outro/expected.js | 2 +- test/js/samples/unchanged-expression/expected.js | 2 +- .../unreferenced-state-not-invalidated/expected.js | 2 +- .../js/samples/use-elements-as-anchors/expected.js | 12 ++++++------ .../expected.js | 2 +- test/js/samples/video-bindings/expected.js | 2 +- test/js/samples/window-binding-online/expected.js | 2 +- test/js/samples/window-binding-scroll/expected.js | 2 +- 84 files changed, 101 insertions(+), 98 deletions(-) diff --git a/src/compiler/compile/render_dom/index.ts b/src/compiler/compile/render_dom/index.ts index e749af672929..d79af2ea75b9 100644 --- a/src/compiler/compile/render_dom/index.ts +++ b/src/compiler/compile/render_dom/index.ts @@ -288,7 +288,7 @@ export default function dom( const has_create_fragment = component.compile_options.dev || block.has_content(); if (has_create_fragment) { body.push(b` - function create_fragment(#ctx) { + function create_fragment(root, #ctx) { ${block.get_contents()} } `); diff --git a/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts b/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts index 2ea149a84891..ad85883d2b43 100644 --- a/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts +++ b/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts @@ -191,6 +191,7 @@ export default class InlineComponentWrapper extends Wrapper { // will complain that options.target is missing. This would // work better if components had separate public and private // APIs + component_opts.properties.push(p`root`); component_opts.properties.push(p`$$inline: true`); } diff --git a/src/runtime/internal/Component.ts b/src/runtime/internal/Component.ts index 0d1d65cbdc79..f58d0971d860 100644 --- a/src/runtime/internal/Component.ts +++ b/src/runtime/internal/Component.ts @@ -149,7 +149,7 @@ export function init(component, options, instance, create_fragment, not_equal, p run_all($$.before_update); // `false` as a special case of no DOM component - $$.fragment = create_fragment ? create_fragment($$.ctx) : false; + $$.fragment = create_fragment ? create_fragment(options.target || options.root, $$.ctx) : false; if (options.target) { if (options.hydrate) { diff --git a/src/runtime/internal/dom.ts b/src/runtime/internal/dom.ts index 31a12adc01e6..48ab9264b8c7 100644 --- a/src/runtime/internal/dom.ts +++ b/src/runtime/internal/dom.ts @@ -110,17 +110,17 @@ function init_hydrate(target: NodeEx) { const anchor = j < lis.length ? lis[j] : null; target.insertBefore(toMove[i], anchor); } -let appendStylesTo: Element; +} export function append_styles( - { target }, + { target, root }, styleSheetId: string, styles: string, styleId: string = `svelte-${styleSheetId}-style` ) { - if (target) appendStylesTo = get_root_for_node(target); + const appendStylesTo = get_root_for_node(target || root); - if (!appendStylesTo.querySelector('#' + styleId)) { + if (!appendStylesTo?.querySelector('#' + styleId)) { const style = element('style'); style.id = styleId; style.textContent = styles; @@ -129,12 +129,14 @@ export function append_styles( } function get_root_for_node(node: Node) { + if (!node) return document.head; + const root = (node.getRootNode ? node.getRootNode() : node.ownerDocument); // check for getRootNode because IE is still supported return ((root as ShadowRoot).host ? root : (root as Document).head) as Element; } -export function append_empty_stylesheet() { - return appendStylesTo.appendChild(element('style') as HTMLStyleElement); +export function append_empty_stylesheet(node: Node) { + return get_root_for_node(node).appendChild(element('style') as HTMLStyleElement); } export function append(target: NodeEx, node: NodeEx) { diff --git a/src/runtime/internal/style_manager.ts b/src/runtime/internal/style_manager.ts index 4e16bdb3cf78..c088af9dacbd 100644 --- a/src/runtime/internal/style_manager.ts +++ b/src/runtime/internal/style_manager.ts @@ -31,7 +31,7 @@ export function create_rule(node: Element & ElementCSSInlineStyle, a: number, b: const name = `__svelte_${hash(rule)}_${uid}`; const doc = node.ownerDocument as ExtendedDoc; active_docs.add(doc); - const stylesheet = doc.__svelte_stylesheet || (doc.__svelte_stylesheet = append_empty_stylesheet().sheet as CSSStyleSheet); + const stylesheet = doc.__svelte_stylesheet || (doc.__svelte_stylesheet = append_empty_stylesheet(node).sheet as CSSStyleSheet); const current_rules = doc.__svelte_rules || (doc.__svelte_rules = {}); if (!current_rules[name]) { diff --git a/test/js/samples/action-custom-event-handler/expected.js b/test/js/samples/action-custom-event-handler/expected.js index 51656290d668..d777cffd0084 100644 --- a/test/js/samples/action-custom-event-handler/expected.js +++ b/test/js/samples/action-custom-event-handler/expected.js @@ -11,7 +11,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let button; let foo_action; let mounted; @@ -48,7 +48,7 @@ function handleFoo(bar) { } function foo(node, callback) { - + } // code goes here function instance($$self, $$props, $$invalidate) { diff --git a/test/js/samples/action/expected.js b/test/js/samples/action/expected.js index d52960bddd30..d5637843328a 100644 --- a/test/js/samples/action/expected.js +++ b/test/js/samples/action/expected.js @@ -11,7 +11,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let a; let link_action; let mounted; diff --git a/test/js/samples/bind-online/expected.js b/test/js/samples/bind-online/expected.js index 887195bce1b3..0d064399b44c 100644 --- a/test/js/samples/bind-online/expected.js +++ b/test/js/samples/bind-online/expected.js @@ -9,7 +9,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let mounted; let dispose; add_render_callback(/*onlinestatuschanged*/ ctx[1]); diff --git a/test/js/samples/bind-open/expected.js b/test/js/samples/bind-open/expected.js index 56ff30284572..cb7dc2c8889d 100644 --- a/test/js/samples/bind-open/expected.js +++ b/test/js/samples/bind-open/expected.js @@ -10,7 +10,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let details; let mounted; let dispose; diff --git a/test/js/samples/bind-width-height/expected.js b/test/js/samples/bind-width-height/expected.js index f23c20b68316..76a49fb5cee9 100644 --- a/test/js/samples/bind-width-height/expected.js +++ b/test/js/samples/bind-width-height/expected.js @@ -11,7 +11,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let div; let div_resize_listener; diff --git a/test/js/samples/bindings-readonly-order/expected.js b/test/js/samples/bindings-readonly-order/expected.js index 78a71dcd8414..630210368bbf 100644 --- a/test/js/samples/bindings-readonly-order/expected.js +++ b/test/js/samples/bindings-readonly-order/expected.js @@ -13,7 +13,7 @@ import { space } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let input0; let t; let input1; diff --git a/test/js/samples/capture-inject-dev-only/expected.js b/test/js/samples/capture-inject-dev-only/expected.js index a87693dd9e8e..18e9d9701693 100644 --- a/test/js/samples/capture-inject-dev-only/expected.js +++ b/test/js/samples/capture-inject-dev-only/expected.js @@ -15,7 +15,7 @@ import { text } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let p; let t0; let t1; diff --git a/test/js/samples/capture-inject-state/expected.js b/test/js/samples/capture-inject-state/expected.js index 6485526bd4d5..0bfa2a4db4a3 100644 --- a/test/js/samples/capture-inject-state/expected.js +++ b/test/js/samples/capture-inject-state/expected.js @@ -20,7 +20,7 @@ import { const file = undefined; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let p; let t0; let t1; diff --git a/test/js/samples/collapses-text-around-comments/expected.js b/test/js/samples/collapses-text-around-comments/expected.js index e3e000094ff7..e50442771b8e 100644 --- a/test/js/samples/collapses-text-around-comments/expected.js +++ b/test/js/samples/collapses-text-around-comments/expected.js @@ -18,7 +18,7 @@ function add_css(options) { append_styles(options, "1a7i8ec", "p.svelte-1a7i8ec{color:red}"); } -function create_fragment(ctx) { +function create_fragment(root, ctx) { let p; let t; diff --git a/test/js/samples/component-static-array/expected.js b/test/js/samples/component-static-array/expected.js index 0ecb0f32ba08..dfac6acde35b 100644 --- a/test/js/samples/component-static-array/expected.js +++ b/test/js/samples/component-static-array/expected.js @@ -11,7 +11,7 @@ import { transition_out } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let nested; let current; nested = new /*Nested*/ ctx[0]({ props: { foo: [1, 2, 3] } }); diff --git a/test/js/samples/component-static-immutable/expected.js b/test/js/samples/component-static-immutable/expected.js index b0c416541334..594c063b8530 100644 --- a/test/js/samples/component-static-immutable/expected.js +++ b/test/js/samples/component-static-immutable/expected.js @@ -11,7 +11,7 @@ import { transition_out } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let nested; let current; nested = new /*Nested*/ ctx[0]({ props: { foo: "bar" } }); diff --git a/test/js/samples/component-static-immutable2/expected.js b/test/js/samples/component-static-immutable2/expected.js index b0c416541334..594c063b8530 100644 --- a/test/js/samples/component-static-immutable2/expected.js +++ b/test/js/samples/component-static-immutable2/expected.js @@ -11,7 +11,7 @@ import { transition_out } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let nested; let current; nested = new /*Nested*/ ctx[0]({ props: { foo: "bar" } }); diff --git a/test/js/samples/component-static-var/expected.js b/test/js/samples/component-static-var/expected.js index 2cd5ed386f07..9cef35aa3bd7 100644 --- a/test/js/samples/component-static-var/expected.js +++ b/test/js/samples/component-static-var/expected.js @@ -19,7 +19,7 @@ import { import Foo from "./Foo.svelte"; import Bar from "./Bar.svelte"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let foo; let t0; let bar; diff --git a/test/js/samples/component-static/expected.js b/test/js/samples/component-static/expected.js index 186f6350e6bd..2876b5a9d12d 100644 --- a/test/js/samples/component-static/expected.js +++ b/test/js/samples/component-static/expected.js @@ -11,7 +11,7 @@ import { transition_out } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let nested; let current; nested = new /*Nested*/ ctx[0]({ props: { foo: "bar" } }); diff --git a/test/js/samples/component-store-access-invalidate/expected.js b/test/js/samples/component-store-access-invalidate/expected.js index 4c7bfd7009c3..e9437067f3d5 100644 --- a/test/js/samples/component-store-access-invalidate/expected.js +++ b/test/js/samples/component-store-access-invalidate/expected.js @@ -15,7 +15,7 @@ import { import { writable } from "svelte/store"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let h1; let t; diff --git a/test/js/samples/component-store-reassign-invalidate/expected.js b/test/js/samples/component-store-reassign-invalidate/expected.js index 0cf555bf0d96..224ff613acb1 100644 --- a/test/js/samples/component-store-reassign-invalidate/expected.js +++ b/test/js/samples/component-store-reassign-invalidate/expected.js @@ -17,7 +17,7 @@ import { import { writable } from "svelte/store"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let h1; let t0; let t1; diff --git a/test/js/samples/css-media-query/expected.js b/test/js/samples/css-media-query/expected.js index 749c692aa143..d3dfaca9c31c 100644 --- a/test/js/samples/css-media-query/expected.js +++ b/test/js/samples/css-media-query/expected.js @@ -15,7 +15,7 @@ function add_css(options) { append_styles(options, "1slhpfn", "@media(min-width: 1px){div.svelte-1slhpfn{color:red}}"); } -function create_fragment(ctx) { +function create_fragment(root, ctx) { let div; return { diff --git a/test/js/samples/css-shadow-dom-keyframes/expected.js b/test/js/samples/css-shadow-dom-keyframes/expected.js index 4d188201eb27..4db714dedc81 100644 --- a/test/js/samples/css-shadow-dom-keyframes/expected.js +++ b/test/js/samples/css-shadow-dom-keyframes/expected.js @@ -10,7 +10,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let div; return { diff --git a/test/js/samples/data-attribute/expected.js b/test/js/samples/data-attribute/expected.js index 8c30e6f6dbb5..97c4faf65bd6 100644 --- a/test/js/samples/data-attribute/expected.js +++ b/test/js/samples/data-attribute/expected.js @@ -11,7 +11,7 @@ import { space } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let div0; let t; let div1; diff --git a/test/js/samples/debug-empty/expected.js b/test/js/samples/debug-empty/expected.js index c18eb8699c19..2a0445663e26 100644 --- a/test/js/samples/debug-empty/expected.js +++ b/test/js/samples/debug-empty/expected.js @@ -18,7 +18,7 @@ import { const file = undefined; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let h1; let t0; let t1; diff --git a/test/js/samples/debug-foo-bar-baz-things/expected.js b/test/js/samples/debug-foo-bar-baz-things/expected.js index 12a04b438b29..a5e7af3ceab1 100644 --- a/test/js/samples/debug-foo-bar-baz-things/expected.js +++ b/test/js/samples/debug-foo-bar-baz-things/expected.js @@ -84,7 +84,7 @@ function create_each_block(ctx) { return block; } -function create_fragment(ctx) { +function create_fragment(root, ctx) { let t0; let p; let t1; diff --git a/test/js/samples/debug-foo/expected.js b/test/js/samples/debug-foo/expected.js index 029d52588393..3e16d354e4ff 100644 --- a/test/js/samples/debug-foo/expected.js +++ b/test/js/samples/debug-foo/expected.js @@ -78,7 +78,7 @@ function create_each_block(ctx) { return block; } -function create_fragment(ctx) { +function create_fragment(root, ctx) { let t0; let p; let t1; diff --git a/test/js/samples/debug-hoisted/expected.js b/test/js/samples/debug-hoisted/expected.js index 8dbd7184046b..984c4e649c07 100644 --- a/test/js/samples/debug-hoisted/expected.js +++ b/test/js/samples/debug-hoisted/expected.js @@ -10,7 +10,7 @@ import { const file = undefined; -function create_fragment(ctx) { +function create_fragment(root, ctx) { const block = { c: function create() { { diff --git a/test/js/samples/debug-no-dependencies/expected.js b/test/js/samples/debug-no-dependencies/expected.js index 29e518d9b1d6..8b56922bad69 100644 --- a/test/js/samples/debug-no-dependencies/expected.js +++ b/test/js/samples/debug-no-dependencies/expected.js @@ -63,7 +63,7 @@ function create_each_block(ctx) { return block; } -function create_fragment(ctx) { +function create_fragment(root, ctx) { let each_1_anchor; let each_value = things; validate_each_argument(each_value); diff --git a/test/js/samples/deconflict-builtins/expected.js b/test/js/samples/deconflict-builtins/expected.js index 6bc60194aaa5..e4a86534a288 100644 --- a/test/js/samples/deconflict-builtins/expected.js +++ b/test/js/samples/deconflict-builtins/expected.js @@ -44,7 +44,7 @@ function create_each_block(ctx) { }; } -function create_fragment(ctx) { +function create_fragment(root, ctx) { let each_1_anchor; let each_value = /*createElement*/ ctx[0]; let each_blocks = []; diff --git a/test/js/samples/dev-warning-missing-data-computed/expected.js b/test/js/samples/dev-warning-missing-data-computed/expected.js index a981d88dca5e..6ec3dcb8f522 100644 --- a/test/js/samples/dev-warning-missing-data-computed/expected.js +++ b/test/js/samples/dev-warning-missing-data-computed/expected.js @@ -18,7 +18,7 @@ import { const file = undefined; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let p; let t0_value = Math.max(0, /*foo*/ ctx[0]) + ""; let t0; diff --git a/test/js/samples/dont-invalidate-this/expected.js b/test/js/samples/dont-invalidate-this/expected.js index 0b155373a14f..74cc6b4cae86 100644 --- a/test/js/samples/dont-invalidate-this/expected.js +++ b/test/js/samples/dont-invalidate-this/expected.js @@ -10,7 +10,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let input; let mounted; let dispose; diff --git a/test/js/samples/dynamic-import/expected.js b/test/js/samples/dynamic-import/expected.js index d1085f431b7c..e1fef0f7f0af 100644 --- a/test/js/samples/dynamic-import/expected.js +++ b/test/js/samples/dynamic-import/expected.js @@ -13,7 +13,7 @@ import { import LazyLoad from "./LazyLoad.svelte"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let lazyload; let current; lazyload = new LazyLoad({ props: { load: func } }); diff --git a/test/js/samples/each-block-array-literal/expected.js b/test/js/samples/each-block-array-literal/expected.js index fe51ac5bc3aa..7b5775923d08 100644 --- a/test/js/samples/each-block-array-literal/expected.js +++ b/test/js/samples/each-block-array-literal/expected.js @@ -44,7 +44,7 @@ function create_each_block(ctx) { }; } -function create_fragment(ctx) { +function create_fragment(root, ctx) { let each_1_anchor; let each_value = [/*a*/ ctx[0], /*b*/ ctx[1], /*c*/ ctx[2], /*d*/ ctx[3], /*e*/ ctx[4]]; let each_blocks = []; diff --git a/test/js/samples/each-block-changed-check/expected.js b/test/js/samples/each-block-changed-check/expected.js index 0020235d44ef..e3b689c65e91 100644 --- a/test/js/samples/each-block-changed-check/expected.js +++ b/test/js/samples/each-block-changed-check/expected.js @@ -81,7 +81,7 @@ function create_each_block(ctx) { }; } -function create_fragment(ctx) { +function create_fragment(root, ctx) { let t0; let p; let t1; diff --git a/test/js/samples/each-block-keyed-animated/expected.js b/test/js/samples/each-block-keyed-animated/expected.js index b48073f5a7a6..4b05e817856b 100644 --- a/test/js/samples/each-block-keyed-animated/expected.js +++ b/test/js/samples/each-block-keyed-animated/expected.js @@ -64,7 +64,7 @@ function create_each_block(key_1, ctx) { }; } -function create_fragment(ctx) { +function create_fragment(root, ctx) { let each_blocks = []; let each_1_lookup = new Map(); let each_1_anchor; diff --git a/test/js/samples/each-block-keyed/expected.js b/test/js/samples/each-block-keyed/expected.js index 7808ed677f1a..a064e72a13f7 100644 --- a/test/js/samples/each-block-keyed/expected.js +++ b/test/js/samples/each-block-keyed/expected.js @@ -49,7 +49,7 @@ function create_each_block(key_1, ctx) { }; } -function create_fragment(ctx) { +function create_fragment(root, ctx) { let each_blocks = []; let each_1_lookup = new Map(); let each_1_anchor; diff --git a/test/js/samples/event-handler-dynamic/expected.js b/test/js/samples/event-handler-dynamic/expected.js index dacdfe15ac37..fb4596bf6891 100644 --- a/test/js/samples/event-handler-dynamic/expected.js +++ b/test/js/samples/event-handler-dynamic/expected.js @@ -16,7 +16,7 @@ import { text } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let p0; let button0; let t1; diff --git a/test/js/samples/event-handler-no-passive/expected.js b/test/js/samples/event-handler-no-passive/expected.js index 4d4b910d4eae..bddbf312fc53 100644 --- a/test/js/samples/event-handler-no-passive/expected.js +++ b/test/js/samples/event-handler-no-passive/expected.js @@ -11,7 +11,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let a; let mounted; let dispose; diff --git a/test/js/samples/event-modifiers/expected.js b/test/js/samples/event-modifiers/expected.js index 3901753661d2..8b9e173abb36 100644 --- a/test/js/samples/event-modifiers/expected.js +++ b/test/js/samples/event-modifiers/expected.js @@ -15,7 +15,7 @@ import { stop_propagation } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let div1; let div0; let t1; @@ -76,11 +76,11 @@ function create_fragment(ctx) { } function handleTouchstart() { - + } // ... function handleClick() { - + } // ... class Component extends SvelteComponent { diff --git a/test/js/samples/head-no-whitespace/expected.js b/test/js/samples/head-no-whitespace/expected.js index 444bad3fd48a..da4d34359462 100644 --- a/test/js/samples/head-no-whitespace/expected.js +++ b/test/js/samples/head-no-whitespace/expected.js @@ -10,7 +10,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let meta0; let meta1; diff --git a/test/js/samples/hoisted-const/expected.js b/test/js/samples/hoisted-const/expected.js index 2842b547516e..5fe2b917a6f5 100644 --- a/test/js/samples/hoisted-const/expected.js +++ b/test/js/samples/hoisted-const/expected.js @@ -9,7 +9,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let b; return { diff --git a/test/js/samples/hoisted-let/expected.js b/test/js/samples/hoisted-let/expected.js index 285b12411835..f7532bbb444c 100644 --- a/test/js/samples/hoisted-let/expected.js +++ b/test/js/samples/hoisted-let/expected.js @@ -9,7 +9,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let b; return { diff --git a/test/js/samples/hydrated-void-element/expected.js b/test/js/samples/hydrated-void-element/expected.js index e53d16d9250e..c219f563288d 100644 --- a/test/js/samples/hydrated-void-element/expected.js +++ b/test/js/samples/hydrated-void-element/expected.js @@ -14,7 +14,7 @@ import { space } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let img; let img_src_value; let t; diff --git a/test/js/samples/if-block-complex/expected.js b/test/js/samples/if-block-complex/expected.js index a8244de8b02d..830d7db6167a 100644 --- a/test/js/samples/if-block-complex/expected.js +++ b/test/js/samples/if-block-complex/expected.js @@ -28,7 +28,7 @@ function create_if_block(ctx) { }; } -function create_fragment(ctx) { +function create_fragment(root, ctx) { let show_if = /*item*/ ctx[0].divider && /*item*/ ctx[0].divider.includes(1); let if_block_anchor; let if_block = show_if && create_if_block(ctx); diff --git a/test/js/samples/if-block-no-update/expected.js b/test/js/samples/if-block-no-update/expected.js index c67b33fa8557..8908e819c6a8 100644 --- a/test/js/samples/if-block-no-update/expected.js +++ b/test/js/samples/if-block-no-update/expected.js @@ -45,7 +45,7 @@ function create_if_block(ctx) { }; } -function create_fragment(ctx) { +function create_fragment(root, ctx) { let if_block_anchor; function select_block_type(ctx, dirty) { diff --git a/test/js/samples/if-block-simple/expected.js b/test/js/samples/if-block-simple/expected.js index 4cdd73cddbc1..d7582367d6fe 100644 --- a/test/js/samples/if-block-simple/expected.js +++ b/test/js/samples/if-block-simple/expected.js @@ -27,7 +27,7 @@ function create_if_block(ctx) { }; } -function create_fragment(ctx) { +function create_fragment(root, ctx) { let if_block_anchor; let if_block = /*foo*/ ctx[0] && create_if_block(ctx); @@ -43,7 +43,7 @@ function create_fragment(ctx) { p(ctx, [dirty]) { if (/*foo*/ ctx[0]) { if (if_block) { - + } else { if_block = create_if_block(ctx); if_block.c(); diff --git a/test/js/samples/import-meta/expected.js b/test/js/samples/import-meta/expected.js index ba77398321cf..52a40c40149a 100644 --- a/test/js/samples/import-meta/expected.js +++ b/test/js/samples/import-meta/expected.js @@ -10,7 +10,7 @@ import { text } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let t0; let t1; let t2_value = import.meta.url + ""; diff --git a/test/js/samples/initial-context/expected.js b/test/js/samples/initial-context/expected.js index 592e2a709e9c..98642f86c76d 100644 --- a/test/js/samples/initial-context/expected.js +++ b/test/js/samples/initial-context/expected.js @@ -10,7 +10,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let button; let mounted; let dispose; diff --git a/test/js/samples/inline-style-optimized-multiple/expected.js b/test/js/samples/inline-style-optimized-multiple/expected.js index 0a9d0a1e8eba..0673c38a8191 100644 --- a/test/js/samples/inline-style-optimized-multiple/expected.js +++ b/test/js/samples/inline-style-optimized-multiple/expected.js @@ -10,7 +10,7 @@ import { set_style } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let div; return { diff --git a/test/js/samples/inline-style-optimized-url/expected.js b/test/js/samples/inline-style-optimized-url/expected.js index 0debb035854f..d98c5d4734cc 100644 --- a/test/js/samples/inline-style-optimized-url/expected.js +++ b/test/js/samples/inline-style-optimized-url/expected.js @@ -10,7 +10,7 @@ import { set_style } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let div; return { diff --git a/test/js/samples/inline-style-optimized/expected.js b/test/js/samples/inline-style-optimized/expected.js index b7db0f1cf30b..ac725d376efb 100644 --- a/test/js/samples/inline-style-optimized/expected.js +++ b/test/js/samples/inline-style-optimized/expected.js @@ -10,7 +10,7 @@ import { set_style } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let div; return { diff --git a/test/js/samples/inline-style-unoptimized/expected.js b/test/js/samples/inline-style-unoptimized/expected.js index 0688f14b9b24..8f46142cf170 100644 --- a/test/js/samples/inline-style-unoptimized/expected.js +++ b/test/js/samples/inline-style-unoptimized/expected.js @@ -11,7 +11,7 @@ import { space } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let div0; let t; let div1; diff --git a/test/js/samples/inline-style-without-updates/expected.js b/test/js/samples/inline-style-without-updates/expected.js index 375896f259ea..ec620c24a63a 100644 --- a/test/js/samples/inline-style-without-updates/expected.js +++ b/test/js/samples/inline-style-without-updates/expected.js @@ -10,7 +10,7 @@ import { set_style } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let div; return { diff --git a/test/js/samples/input-files/expected.js b/test/js/samples/input-files/expected.js index 8adc7443f5c1..64785c2dfe3b 100644 --- a/test/js/samples/input-files/expected.js +++ b/test/js/samples/input-files/expected.js @@ -11,7 +11,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let input; let mounted; let dispose; diff --git a/test/js/samples/input-no-initial-value/expected.js b/test/js/samples/input-no-initial-value/expected.js index 3354aa31117e..15342023ae1b 100644 --- a/test/js/samples/input-no-initial-value/expected.js +++ b/test/js/samples/input-no-initial-value/expected.js @@ -15,7 +15,7 @@ import { space } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let form; let input; let t0; diff --git a/test/js/samples/input-range/expected.js b/test/js/samples/input-range/expected.js index a855ca3653fe..4935e6cd9110 100644 --- a/test/js/samples/input-range/expected.js +++ b/test/js/samples/input-range/expected.js @@ -14,7 +14,7 @@ import { to_number } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let input; let mounted; let dispose; diff --git a/test/js/samples/input-value/expected.js b/test/js/samples/input-value/expected.js index 781a2ae60358..d036d1edfee4 100644 --- a/test/js/samples/input-value/expected.js +++ b/test/js/samples/input-value/expected.js @@ -14,7 +14,7 @@ import { text } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let input; let t0; let h1; diff --git a/test/js/samples/input-without-blowback-guard/expected.js b/test/js/samples/input-without-blowback-guard/expected.js index 6c5b2156232f..cb5af3204588 100644 --- a/test/js/samples/input-without-blowback-guard/expected.js +++ b/test/js/samples/input-without-blowback-guard/expected.js @@ -11,7 +11,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let input; let mounted; let dispose; diff --git a/test/js/samples/instrumentation-script-if-no-block/expected.js b/test/js/samples/instrumentation-script-if-no-block/expected.js index 7f51c6455007..bcd7ecfda16f 100644 --- a/test/js/samples/instrumentation-script-if-no-block/expected.js +++ b/test/js/samples/instrumentation-script-if-no-block/expected.js @@ -14,7 +14,7 @@ import { text } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let button; let t1; let p; diff --git a/test/js/samples/instrumentation-script-main-block/expected.js b/test/js/samples/instrumentation-script-main-block/expected.js index a471a50b37cf..b6e2f9f201bb 100644 --- a/test/js/samples/instrumentation-script-main-block/expected.js +++ b/test/js/samples/instrumentation-script-main-block/expected.js @@ -12,7 +12,7 @@ import { text } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let p; let t0; let t1; diff --git a/test/js/samples/instrumentation-script-x-equals-x/expected.js b/test/js/samples/instrumentation-script-x-equals-x/expected.js index ea0d65acb906..73afe3d91af1 100644 --- a/test/js/samples/instrumentation-script-x-equals-x/expected.js +++ b/test/js/samples/instrumentation-script-x-equals-x/expected.js @@ -14,7 +14,7 @@ import { text } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let button; let t1; let p; diff --git a/test/js/samples/instrumentation-template-if-no-block/expected.js b/test/js/samples/instrumentation-template-if-no-block/expected.js index 0c2713a9cc64..6fa7239074eb 100644 --- a/test/js/samples/instrumentation-template-if-no-block/expected.js +++ b/test/js/samples/instrumentation-template-if-no-block/expected.js @@ -14,7 +14,7 @@ import { text } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let button; let t1; let p; diff --git a/test/js/samples/instrumentation-template-x-equals-x/expected.js b/test/js/samples/instrumentation-template-x-equals-x/expected.js index 55cd310661e7..0e65e9290e44 100644 --- a/test/js/samples/instrumentation-template-x-equals-x/expected.js +++ b/test/js/samples/instrumentation-template-x-equals-x/expected.js @@ -14,7 +14,7 @@ import { text } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let button; let t1; let p; diff --git a/test/js/samples/legacy-input-type/expected.js b/test/js/samples/legacy-input-type/expected.js index 2b76a485225a..7098b140e782 100644 --- a/test/js/samples/legacy-input-type/expected.js +++ b/test/js/samples/legacy-input-type/expected.js @@ -10,7 +10,7 @@ import { set_input_type } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let input; return { diff --git a/test/js/samples/loop-protect/expected.js b/test/js/samples/loop-protect/expected.js index 26721d6be6a8..0f7a5db8ba8a 100644 --- a/test/js/samples/loop-protect/expected.js +++ b/test/js/samples/loop-protect/expected.js @@ -18,7 +18,7 @@ import { const { console: console_1 } = globals; const file = undefined; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let div; const block = { diff --git a/test/js/samples/media-bindings/expected.js b/test/js/samples/media-bindings/expected.js index 867d4a7dadfb..780912f25bcf 100644 --- a/test/js/samples/media-bindings/expected.js +++ b/test/js/samples/media-bindings/expected.js @@ -14,7 +14,7 @@ import { time_ranges_to_array } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let audio; let audio_updating = false; let audio_animationframe; diff --git a/test/js/samples/non-imported-component/expected.js b/test/js/samples/non-imported-component/expected.js index 5a6b8e8bb730..cd2574023f2c 100644 --- a/test/js/samples/non-imported-component/expected.js +++ b/test/js/samples/non-imported-component/expected.js @@ -16,7 +16,7 @@ import { import Imported from "Imported.svelte"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let imported; let t; let nonimported; diff --git a/test/js/samples/non-mutable-reference/expected.js b/test/js/samples/non-mutable-reference/expected.js index 93f2145a2e65..1e658158f53b 100644 --- a/test/js/samples/non-mutable-reference/expected.js +++ b/test/js/samples/non-mutable-reference/expected.js @@ -9,7 +9,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let h1; return { diff --git a/test/js/samples/optional-chaining/expected.js b/test/js/samples/optional-chaining/expected.js index 8aa94796c1b0..670bcbb3f34a 100644 --- a/test/js/samples/optional-chaining/expected.js +++ b/test/js/samples/optional-chaining/expected.js @@ -17,7 +17,7 @@ import { transition_out } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let t0_value = /*a*/ ctx[0].normal + ""; let t0; let t1_value = /*b*/ ctx[1]?.optional + ""; diff --git a/test/js/samples/reactive-class-optimized/expected.js b/test/js/samples/reactive-class-optimized/expected.js index b7c2c3a60bf5..5ea2a21c304d 100644 --- a/test/js/samples/reactive-class-optimized/expected.js +++ b/test/js/samples/reactive-class-optimized/expected.js @@ -15,7 +15,7 @@ import { import { reactiveStoreVal, unreactiveExport } from "./store"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let div0; let t0; let div1; diff --git a/test/js/samples/select-dynamic-value/expected.js b/test/js/samples/select-dynamic-value/expected.js index 8777cd260072..971de6704402 100644 --- a/test/js/samples/select-dynamic-value/expected.js +++ b/test/js/samples/select-dynamic-value/expected.js @@ -11,7 +11,7 @@ import { select_option } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let select; let option0; let option1; diff --git a/test/js/samples/src-attribute-check/expected.js b/test/js/samples/src-attribute-check/expected.js index 93638edfb43b..a4aa04647678 100644 --- a/test/js/samples/src-attribute-check/expected.js +++ b/test/js/samples/src-attribute-check/expected.js @@ -13,7 +13,7 @@ import { space } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let img0; let img0_src_value; let t; diff --git a/test/js/samples/svg-title/expected.js b/test/js/samples/svg-title/expected.js index cd7ae3b55152..d4b9fcec27e4 100644 --- a/test/js/samples/svg-title/expected.js +++ b/test/js/samples/svg-title/expected.js @@ -11,7 +11,7 @@ import { text } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let svg; let title; let t; diff --git a/test/js/samples/title/expected.js b/test/js/samples/title/expected.js index b10f569759d4..6b967a65d054 100644 --- a/test/js/samples/title/expected.js +++ b/test/js/samples/title/expected.js @@ -1,7 +1,7 @@ /* generated by Svelte vX.Y.Z */ import { SvelteComponent, init, noop, safe_not_equal } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let title_value; document.title = title_value = "a " + /*custom*/ ctx[0] + " title"; diff --git a/test/js/samples/transition-local/expected.js b/test/js/samples/transition-local/expected.js index ea3d9db3d7e6..ac958fbc5bae 100644 --- a/test/js/samples/transition-local/expected.js +++ b/test/js/samples/transition-local/expected.js @@ -80,7 +80,7 @@ function create_if_block_1(ctx) { }; } -function create_fragment(ctx) { +function create_fragment(root, ctx) { let if_block_anchor; let if_block = /*x*/ ctx[0] && create_if_block(ctx); @@ -117,7 +117,7 @@ function create_fragment(ctx) { } function foo() { - + } function instance($$self, $$props, $$invalidate) { diff --git a/test/js/samples/transition-repeated-outro/expected.js b/test/js/samples/transition-repeated-outro/expected.js index 12483ab91af7..c3d428843897 100644 --- a/test/js/samples/transition-repeated-outro/expected.js +++ b/test/js/samples/transition-repeated-outro/expected.js @@ -46,7 +46,7 @@ function create_if_block(ctx) { }; } -function create_fragment(ctx) { +function create_fragment(root, ctx) { let if_block_anchor; let current; let if_block = /*num*/ ctx[0] < 5 && create_if_block(ctx); diff --git a/test/js/samples/unchanged-expression/expected.js b/test/js/samples/unchanged-expression/expected.js index 673d5b6abc8d..54685337175a 100644 --- a/test/js/samples/unchanged-expression/expected.js +++ b/test/js/samples/unchanged-expression/expected.js @@ -13,7 +13,7 @@ import { text } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let div0; let p0; let t1; diff --git a/test/js/samples/unreferenced-state-not-invalidated/expected.js b/test/js/samples/unreferenced-state-not-invalidated/expected.js index 53044c7ed6d8..68b2101c91c6 100644 --- a/test/js/samples/unreferenced-state-not-invalidated/expected.js +++ b/test/js/samples/unreferenced-state-not-invalidated/expected.js @@ -14,7 +14,7 @@ import { import { onMount } from "svelte"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let p; let t; diff --git a/test/js/samples/use-elements-as-anchors/expected.js b/test/js/samples/use-elements-as-anchors/expected.js index d07411518e91..3bc90000c3ff 100644 --- a/test/js/samples/use-elements-as-anchors/expected.js +++ b/test/js/samples/use-elements-as-anchors/expected.js @@ -101,7 +101,7 @@ function create_if_block(ctx) { }; } -function create_fragment(ctx) { +function create_fragment(root, ctx) { let div; let t0; let p0; @@ -158,7 +158,7 @@ function create_fragment(ctx) { p(ctx, [dirty]) { if (/*a*/ ctx[0]) { if (if_block0) { - + } else { if_block0 = create_if_block_4(ctx); if_block0.c(); @@ -171,7 +171,7 @@ function create_fragment(ctx) { if (/*b*/ ctx[1]) { if (if_block1) { - + } else { if_block1 = create_if_block_3(ctx); if_block1.c(); @@ -184,7 +184,7 @@ function create_fragment(ctx) { if (/*c*/ ctx[2]) { if (if_block2) { - + } else { if_block2 = create_if_block_2(ctx); if_block2.c(); @@ -197,7 +197,7 @@ function create_fragment(ctx) { if (/*d*/ ctx[3]) { if (if_block3) { - + } else { if_block3 = create_if_block_1(ctx); if_block3.c(); @@ -210,7 +210,7 @@ function create_fragment(ctx) { if (/*e*/ ctx[4]) { if (if_block4) { - + } else { if_block4 = create_if_block(ctx); if_block4.c(); diff --git a/test/js/samples/valid-inner-html-for-static-element/expected.js b/test/js/samples/valid-inner-html-for-static-element/expected.js index f1ced27ba458..b7ce927ef1e6 100644 --- a/test/js/samples/valid-inner-html-for-static-element/expected.js +++ b/test/js/samples/valid-inner-html-for-static-element/expected.js @@ -9,7 +9,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let div; return { diff --git a/test/js/samples/video-bindings/expected.js b/test/js/samples/video-bindings/expected.js index 8afa670bbb52..86fe224402be 100644 --- a/test/js/samples/video-bindings/expected.js +++ b/test/js/samples/video-bindings/expected.js @@ -14,7 +14,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let video; let video_updating = false; let video_animationframe; diff --git a/test/js/samples/window-binding-online/expected.js b/test/js/samples/window-binding-online/expected.js index 887195bce1b3..0d064399b44c 100644 --- a/test/js/samples/window-binding-online/expected.js +++ b/test/js/samples/window-binding-online/expected.js @@ -9,7 +9,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let mounted; let dispose; add_render_callback(/*onlinestatuschanged*/ ctx[1]); diff --git a/test/js/samples/window-binding-scroll/expected.js b/test/js/samples/window-binding-scroll/expected.js index 09a4d3737d29..bcc4482cf9f9 100644 --- a/test/js/samples/window-binding-scroll/expected.js +++ b/test/js/samples/window-binding-scroll/expected.js @@ -14,7 +14,7 @@ import { text } from "svelte/internal"; -function create_fragment(ctx) { +function create_fragment(root, ctx) { let scrolling = false; let clear_scrolling = () => { From 5111a79f21a9cb08d2b1561c003e2ec59e32a0cc Mon Sep 17 00:00:00 2001 From: Ivan Hofer Date: Sun, 28 Mar 2021 11:01:22 +0200 Subject: [PATCH 06/30] remove `stylesTarget` from docs --- site/content/docs/03-run-time.md | 1 - 1 file changed, 1 deletion(-) diff --git a/site/content/docs/03-run-time.md b/site/content/docs/03-run-time.md index f6c7477b0c57..9a8d6a69b555 100644 --- a/site/content/docs/03-run-time.md +++ b/site/content/docs/03-run-time.md @@ -930,7 +930,6 @@ The following initialisation options can be provided: | option | default | description | | --- | --- | --- | | `target` | **none** | An `HTMLElement` to render to. This option is required -| `stylesTarget` | `document.head` | An `HTMLElement` the styles should be appended to. It will only work if the component was compiled with the [`css: true` option](docs#svelte_compile). | `anchor` | `null` | A child of `target` to render the component immediately before | `props` | `{}` | An object of properties to supply to the component | `context` | `new Map()` | A `Map` of root-level context key-value pairs to supply to the component From 2ce0960693f1d9b856367e650955a3d125a6bc01 Mon Sep 17 00:00:00 2001 From: Ivan Hofer Date: Mon, 29 Mar 2021 08:32:44 +0200 Subject: [PATCH 07/30] WIP: replace root with context reference --- src/compiler/compile/render_dom/index.ts | 2 +- src/compiler/compile/render_dom/wrappers/EachBlock.ts | 1 + .../compile/render_dom/wrappers/InlineComponent/index.ts | 2 +- src/runtime/internal/Component.ts | 4 +++- src/runtime/internal/await_block.ts | 1 + src/runtime/internal/utils.ts | 6 ++++-- test/js/samples/action-custom-event-handler/expected.js | 2 +- test/js/samples/action/expected.js | 2 +- test/js/samples/bind-online/expected.js | 2 +- test/js/samples/bind-open/expected.js | 2 +- test/js/samples/bind-width-height/expected.js | 2 +- test/js/samples/bindings-readonly-order/expected.js | 2 +- test/js/samples/capture-inject-dev-only/expected.js | 2 +- test/js/samples/capture-inject-state/expected.js | 2 +- test/js/samples/collapses-text-around-comments/expected.js | 2 +- test/js/samples/component-static-array/expected.js | 2 +- test/js/samples/component-static-immutable/expected.js | 2 +- test/js/samples/component-static-immutable2/expected.js | 2 +- test/js/samples/component-static-var/expected.js | 2 +- test/js/samples/component-static/expected.js | 2 +- .../samples/component-store-access-invalidate/expected.js | 2 +- .../samples/component-store-reassign-invalidate/expected.js | 2 +- test/js/samples/css-media-query/expected.js | 2 +- test/js/samples/css-shadow-dom-keyframes/expected.js | 2 +- test/js/samples/data-attribute/expected.js | 2 +- test/js/samples/debug-empty/expected.js | 2 +- test/js/samples/debug-foo-bar-baz-things/expected.js | 3 ++- test/js/samples/debug-foo/expected.js | 3 ++- test/js/samples/debug-hoisted/expected.js | 2 +- test/js/samples/debug-no-dependencies/expected.js | 3 ++- test/js/samples/deconflict-builtins/expected.js | 3 ++- .../samples/dev-warning-missing-data-computed/expected.js | 2 +- test/js/samples/dont-invalidate-this/expected.js | 2 +- test/js/samples/dynamic-import/expected.js | 2 +- test/js/samples/each-block-array-literal/expected.js | 3 ++- test/js/samples/each-block-changed-check/expected.js | 3 ++- test/js/samples/each-block-keyed-animated/expected.js | 3 ++- test/js/samples/each-block-keyed/expected.js | 3 ++- test/js/samples/event-handler-dynamic/expected.js | 2 +- test/js/samples/event-handler-no-passive/expected.js | 2 +- test/js/samples/event-modifiers/expected.js | 2 +- test/js/samples/head-no-whitespace/expected.js | 2 +- test/js/samples/hoisted-const/expected.js | 2 +- test/js/samples/hoisted-let/expected.js | 2 +- test/js/samples/hydrated-void-element/expected.js | 2 +- test/js/samples/if-block-complex/expected.js | 2 +- test/js/samples/if-block-no-update/expected.js | 2 +- test/js/samples/if-block-simple/expected.js | 2 +- test/js/samples/import-meta/expected.js | 2 +- test/js/samples/initial-context/expected.js | 2 +- test/js/samples/inline-style-optimized-multiple/expected.js | 2 +- test/js/samples/inline-style-optimized-url/expected.js | 2 +- test/js/samples/inline-style-optimized/expected.js | 2 +- test/js/samples/inline-style-unoptimized/expected.js | 2 +- test/js/samples/inline-style-without-updates/expected.js | 2 +- test/js/samples/input-files/expected.js | 2 +- test/js/samples/input-no-initial-value/expected.js | 2 +- test/js/samples/input-range/expected.js | 2 +- test/js/samples/input-value/expected.js | 2 +- test/js/samples/input-without-blowback-guard/expected.js | 2 +- .../samples/instrumentation-script-if-no-block/expected.js | 2 +- .../samples/instrumentation-script-main-block/expected.js | 2 +- .../samples/instrumentation-script-x-equals-x/expected.js | 2 +- .../instrumentation-template-if-no-block/expected.js | 2 +- .../samples/instrumentation-template-x-equals-x/expected.js | 2 +- test/js/samples/legacy-input-type/expected.js | 2 +- test/js/samples/loop-protect/expected.js | 2 +- test/js/samples/media-bindings/expected.js | 2 +- test/js/samples/non-imported-component/expected.js | 2 +- test/js/samples/non-mutable-reference/expected.js | 2 +- test/js/samples/optional-chaining/expected.js | 2 +- test/js/samples/reactive-class-optimized/expected.js | 2 +- test/js/samples/select-dynamic-value/expected.js | 2 +- test/js/samples/src-attribute-check/expected.js | 2 +- test/js/samples/svg-title/expected.js | 2 +- test/js/samples/title/expected.js | 2 +- test/js/samples/transition-local/expected.js | 2 +- test/js/samples/transition-repeated-outro/expected.js | 2 +- test/js/samples/unchanged-expression/expected.js | 2 +- .../samples/unreferenced-state-not-invalidated/expected.js | 2 +- test/js/samples/use-elements-as-anchors/expected.js | 2 +- .../samples/valid-inner-html-for-static-element/expected.js | 2 +- test/js/samples/video-bindings/expected.js | 2 +- test/js/samples/window-binding-online/expected.js | 2 +- test/js/samples/window-binding-scroll/expected.js | 2 +- 85 files changed, 98 insertions(+), 84 deletions(-) diff --git a/src/compiler/compile/render_dom/index.ts b/src/compiler/compile/render_dom/index.ts index d79af2ea75b9..e749af672929 100644 --- a/src/compiler/compile/render_dom/index.ts +++ b/src/compiler/compile/render_dom/index.ts @@ -288,7 +288,7 @@ export default function dom( const has_create_fragment = component.compile_options.dev || block.has_content(); if (has_create_fragment) { body.push(b` - function create_fragment(root, #ctx) { + function create_fragment(#ctx) { ${block.get_contents()} } `); diff --git a/src/compiler/compile/render_dom/wrappers/EachBlock.ts b/src/compiler/compile/render_dom/wrappers/EachBlock.ts index 134976ca6543..81ebb54dbe46 100644 --- a/src/compiler/compile/render_dom/wrappers/EachBlock.ts +++ b/src/compiler/compile/render_dom/wrappers/EachBlock.ts @@ -355,6 +355,7 @@ export default class EachBlockWrapper extends Wrapper { function ${this.vars.get_each_context}(#ctx, list, i) { const child_ctx = #ctx.slice(); ${this.context_props} + child_ctx.root = #ctx.root; return child_ctx; } `); diff --git a/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts b/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts index ad85883d2b43..1e9818c78b03 100644 --- a/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts +++ b/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts @@ -191,7 +191,7 @@ export default class InlineComponentWrapper extends Wrapper { // will complain that options.target is missing. This would // work better if components had separate public and private // APIs - component_opts.properties.push(p`root`); + component_opts.properties.push(p`root: #ctx.root`); component_opts.properties.push(p`$$inline: true`); } diff --git a/src/runtime/internal/Component.ts b/src/runtime/internal/Component.ts index f58d0971d860..55f6e649a680 100644 --- a/src/runtime/internal/Component.ts +++ b/src/runtime/internal/Component.ts @@ -144,12 +144,14 @@ export function init(component, options, instance, create_fragment, not_equal, p }) : []; + $$.ctx.root = options.target || options.root; + $$.update(); ready = true; run_all($$.before_update); // `false` as a special case of no DOM component - $$.fragment = create_fragment ? create_fragment(options.target || options.root, $$.ctx) : false; + $$.fragment = create_fragment ? create_fragment($$.ctx) : false; if (options.target) { if (options.hydrate) { diff --git a/src/runtime/internal/await_block.ts b/src/runtime/internal/await_block.ts index ea6e8a187f90..53ceaeb38a11 100644 --- a/src/runtime/internal/await_block.ts +++ b/src/runtime/internal/await_block.ts @@ -16,6 +16,7 @@ export function handle_promise(promise, info) { if (key !== undefined) { child_ctx = child_ctx.slice(); child_ctx[key] = value; + child_ctx.root = info.ctx.root; } const block = type && (info.current = type)(child_ctx); diff --git a/src/runtime/internal/utils.ts b/src/runtime/internal/utils.ts index 9f3da8589a9c..d0254c93ef70 100644 --- a/src/runtime/internal/utils.ts +++ b/src/runtime/internal/utils.ts @@ -79,10 +79,12 @@ export function create_slot(definition, ctx, $$scope, fn) { } } -export function get_slot_context(definition, ctx, $$scope, fn) { - return definition[1] && fn +function get_slot_context(definition, ctx, $$scope, fn) { + const context = definition[1] && fn ? assign($$scope.ctx.slice(), definition[1](fn(ctx))) : $$scope.ctx; + context.root = ctx.root; + return context; } export function get_slot_changes(definition, $$scope, dirty, fn) { diff --git a/test/js/samples/action-custom-event-handler/expected.js b/test/js/samples/action-custom-event-handler/expected.js index d777cffd0084..5ae9594ce0ea 100644 --- a/test/js/samples/action-custom-event-handler/expected.js +++ b/test/js/samples/action-custom-event-handler/expected.js @@ -11,7 +11,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let button; let foo_action; let mounted; diff --git a/test/js/samples/action/expected.js b/test/js/samples/action/expected.js index d5637843328a..d52960bddd30 100644 --- a/test/js/samples/action/expected.js +++ b/test/js/samples/action/expected.js @@ -11,7 +11,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let a; let link_action; let mounted; diff --git a/test/js/samples/bind-online/expected.js b/test/js/samples/bind-online/expected.js index 0d064399b44c..887195bce1b3 100644 --- a/test/js/samples/bind-online/expected.js +++ b/test/js/samples/bind-online/expected.js @@ -9,7 +9,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let mounted; let dispose; add_render_callback(/*onlinestatuschanged*/ ctx[1]); diff --git a/test/js/samples/bind-open/expected.js b/test/js/samples/bind-open/expected.js index cb7dc2c8889d..56ff30284572 100644 --- a/test/js/samples/bind-open/expected.js +++ b/test/js/samples/bind-open/expected.js @@ -10,7 +10,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let details; let mounted; let dispose; diff --git a/test/js/samples/bind-width-height/expected.js b/test/js/samples/bind-width-height/expected.js index 76a49fb5cee9..f23c20b68316 100644 --- a/test/js/samples/bind-width-height/expected.js +++ b/test/js/samples/bind-width-height/expected.js @@ -11,7 +11,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let div; let div_resize_listener; diff --git a/test/js/samples/bindings-readonly-order/expected.js b/test/js/samples/bindings-readonly-order/expected.js index 630210368bbf..78a71dcd8414 100644 --- a/test/js/samples/bindings-readonly-order/expected.js +++ b/test/js/samples/bindings-readonly-order/expected.js @@ -13,7 +13,7 @@ import { space } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let input0; let t; let input1; diff --git a/test/js/samples/capture-inject-dev-only/expected.js b/test/js/samples/capture-inject-dev-only/expected.js index 18e9d9701693..a87693dd9e8e 100644 --- a/test/js/samples/capture-inject-dev-only/expected.js +++ b/test/js/samples/capture-inject-dev-only/expected.js @@ -15,7 +15,7 @@ import { text } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let p; let t0; let t1; diff --git a/test/js/samples/capture-inject-state/expected.js b/test/js/samples/capture-inject-state/expected.js index 0bfa2a4db4a3..6485526bd4d5 100644 --- a/test/js/samples/capture-inject-state/expected.js +++ b/test/js/samples/capture-inject-state/expected.js @@ -20,7 +20,7 @@ import { const file = undefined; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let p; let t0; let t1; diff --git a/test/js/samples/collapses-text-around-comments/expected.js b/test/js/samples/collapses-text-around-comments/expected.js index e50442771b8e..e3e000094ff7 100644 --- a/test/js/samples/collapses-text-around-comments/expected.js +++ b/test/js/samples/collapses-text-around-comments/expected.js @@ -18,7 +18,7 @@ function add_css(options) { append_styles(options, "1a7i8ec", "p.svelte-1a7i8ec{color:red}"); } -function create_fragment(root, ctx) { +function create_fragment(ctx) { let p; let t; diff --git a/test/js/samples/component-static-array/expected.js b/test/js/samples/component-static-array/expected.js index dfac6acde35b..0ecb0f32ba08 100644 --- a/test/js/samples/component-static-array/expected.js +++ b/test/js/samples/component-static-array/expected.js @@ -11,7 +11,7 @@ import { transition_out } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let nested; let current; nested = new /*Nested*/ ctx[0]({ props: { foo: [1, 2, 3] } }); diff --git a/test/js/samples/component-static-immutable/expected.js b/test/js/samples/component-static-immutable/expected.js index 594c063b8530..b0c416541334 100644 --- a/test/js/samples/component-static-immutable/expected.js +++ b/test/js/samples/component-static-immutable/expected.js @@ -11,7 +11,7 @@ import { transition_out } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let nested; let current; nested = new /*Nested*/ ctx[0]({ props: { foo: "bar" } }); diff --git a/test/js/samples/component-static-immutable2/expected.js b/test/js/samples/component-static-immutable2/expected.js index 594c063b8530..b0c416541334 100644 --- a/test/js/samples/component-static-immutable2/expected.js +++ b/test/js/samples/component-static-immutable2/expected.js @@ -11,7 +11,7 @@ import { transition_out } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let nested; let current; nested = new /*Nested*/ ctx[0]({ props: { foo: "bar" } }); diff --git a/test/js/samples/component-static-var/expected.js b/test/js/samples/component-static-var/expected.js index 9cef35aa3bd7..2cd5ed386f07 100644 --- a/test/js/samples/component-static-var/expected.js +++ b/test/js/samples/component-static-var/expected.js @@ -19,7 +19,7 @@ import { import Foo from "./Foo.svelte"; import Bar from "./Bar.svelte"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let foo; let t0; let bar; diff --git a/test/js/samples/component-static/expected.js b/test/js/samples/component-static/expected.js index 2876b5a9d12d..186f6350e6bd 100644 --- a/test/js/samples/component-static/expected.js +++ b/test/js/samples/component-static/expected.js @@ -11,7 +11,7 @@ import { transition_out } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let nested; let current; nested = new /*Nested*/ ctx[0]({ props: { foo: "bar" } }); diff --git a/test/js/samples/component-store-access-invalidate/expected.js b/test/js/samples/component-store-access-invalidate/expected.js index e9437067f3d5..4c7bfd7009c3 100644 --- a/test/js/samples/component-store-access-invalidate/expected.js +++ b/test/js/samples/component-store-access-invalidate/expected.js @@ -15,7 +15,7 @@ import { import { writable } from "svelte/store"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let h1; let t; diff --git a/test/js/samples/component-store-reassign-invalidate/expected.js b/test/js/samples/component-store-reassign-invalidate/expected.js index 224ff613acb1..0cf555bf0d96 100644 --- a/test/js/samples/component-store-reassign-invalidate/expected.js +++ b/test/js/samples/component-store-reassign-invalidate/expected.js @@ -17,7 +17,7 @@ import { import { writable } from "svelte/store"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let h1; let t0; let t1; diff --git a/test/js/samples/css-media-query/expected.js b/test/js/samples/css-media-query/expected.js index d3dfaca9c31c..749c692aa143 100644 --- a/test/js/samples/css-media-query/expected.js +++ b/test/js/samples/css-media-query/expected.js @@ -15,7 +15,7 @@ function add_css(options) { append_styles(options, "1slhpfn", "@media(min-width: 1px){div.svelte-1slhpfn{color:red}}"); } -function create_fragment(root, ctx) { +function create_fragment(ctx) { let div; return { diff --git a/test/js/samples/css-shadow-dom-keyframes/expected.js b/test/js/samples/css-shadow-dom-keyframes/expected.js index 4db714dedc81..4d188201eb27 100644 --- a/test/js/samples/css-shadow-dom-keyframes/expected.js +++ b/test/js/samples/css-shadow-dom-keyframes/expected.js @@ -10,7 +10,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let div; return { diff --git a/test/js/samples/data-attribute/expected.js b/test/js/samples/data-attribute/expected.js index 97c4faf65bd6..8c30e6f6dbb5 100644 --- a/test/js/samples/data-attribute/expected.js +++ b/test/js/samples/data-attribute/expected.js @@ -11,7 +11,7 @@ import { space } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let div0; let t; let div1; diff --git a/test/js/samples/debug-empty/expected.js b/test/js/samples/debug-empty/expected.js index 2a0445663e26..c18eb8699c19 100644 --- a/test/js/samples/debug-empty/expected.js +++ b/test/js/samples/debug-empty/expected.js @@ -18,7 +18,7 @@ import { const file = undefined; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let h1; let t0; let t1; diff --git a/test/js/samples/debug-foo-bar-baz-things/expected.js b/test/js/samples/debug-foo-bar-baz-things/expected.js index a5e7af3ceab1..74be0c60b303 100644 --- a/test/js/samples/debug-foo-bar-baz-things/expected.js +++ b/test/js/samples/debug-foo-bar-baz-things/expected.js @@ -23,6 +23,7 @@ const file = undefined; function get_each_context(ctx, list, i) { const child_ctx = ctx.slice(); child_ctx[4] = list[i]; + child_ctx.root = ctx.root; return child_ctx; } @@ -84,7 +85,7 @@ function create_each_block(ctx) { return block; } -function create_fragment(root, ctx) { +function create_fragment(ctx) { let t0; let p; let t1; diff --git a/test/js/samples/debug-foo/expected.js b/test/js/samples/debug-foo/expected.js index 3e16d354e4ff..a4b22a4bd484 100644 --- a/test/js/samples/debug-foo/expected.js +++ b/test/js/samples/debug-foo/expected.js @@ -23,6 +23,7 @@ const file = undefined; function get_each_context(ctx, list, i) { const child_ctx = ctx.slice(); child_ctx[2] = list[i]; + child_ctx.root = ctx.root; return child_ctx; } @@ -78,7 +79,7 @@ function create_each_block(ctx) { return block; } -function create_fragment(root, ctx) { +function create_fragment(ctx) { let t0; let p; let t1; diff --git a/test/js/samples/debug-hoisted/expected.js b/test/js/samples/debug-hoisted/expected.js index 984c4e649c07..8dbd7184046b 100644 --- a/test/js/samples/debug-hoisted/expected.js +++ b/test/js/samples/debug-hoisted/expected.js @@ -10,7 +10,7 @@ import { const file = undefined; -function create_fragment(root, ctx) { +function create_fragment(ctx) { const block = { c: function create() { { diff --git a/test/js/samples/debug-no-dependencies/expected.js b/test/js/samples/debug-no-dependencies/expected.js index 8b56922bad69..99b20fb23999 100644 --- a/test/js/samples/debug-no-dependencies/expected.js +++ b/test/js/samples/debug-no-dependencies/expected.js @@ -21,6 +21,7 @@ function get_each_context(ctx, list, i) { const child_ctx = ctx.slice(); child_ctx[0] = list[i]; child_ctx[2] = i; + child_ctx.root = ctx.root; return child_ctx; } @@ -63,7 +64,7 @@ function create_each_block(ctx) { return block; } -function create_fragment(root, ctx) { +function create_fragment(ctx) { let each_1_anchor; let each_value = things; validate_each_argument(each_value); diff --git a/test/js/samples/deconflict-builtins/expected.js b/test/js/samples/deconflict-builtins/expected.js index e4a86534a288..9ab7ef693105 100644 --- a/test/js/samples/deconflict-builtins/expected.js +++ b/test/js/samples/deconflict-builtins/expected.js @@ -17,6 +17,7 @@ import { function get_each_context(ctx, list, i) { const child_ctx = ctx.slice(); child_ctx[1] = list[i]; + child_ctx.root = ctx.root; return child_ctx; } @@ -44,7 +45,7 @@ function create_each_block(ctx) { }; } -function create_fragment(root, ctx) { +function create_fragment(ctx) { let each_1_anchor; let each_value = /*createElement*/ ctx[0]; let each_blocks = []; diff --git a/test/js/samples/dev-warning-missing-data-computed/expected.js b/test/js/samples/dev-warning-missing-data-computed/expected.js index 6ec3dcb8f522..a981d88dca5e 100644 --- a/test/js/samples/dev-warning-missing-data-computed/expected.js +++ b/test/js/samples/dev-warning-missing-data-computed/expected.js @@ -18,7 +18,7 @@ import { const file = undefined; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let p; let t0_value = Math.max(0, /*foo*/ ctx[0]) + ""; let t0; diff --git a/test/js/samples/dont-invalidate-this/expected.js b/test/js/samples/dont-invalidate-this/expected.js index 74cc6b4cae86..0b155373a14f 100644 --- a/test/js/samples/dont-invalidate-this/expected.js +++ b/test/js/samples/dont-invalidate-this/expected.js @@ -10,7 +10,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let input; let mounted; let dispose; diff --git a/test/js/samples/dynamic-import/expected.js b/test/js/samples/dynamic-import/expected.js index e1fef0f7f0af..d1085f431b7c 100644 --- a/test/js/samples/dynamic-import/expected.js +++ b/test/js/samples/dynamic-import/expected.js @@ -13,7 +13,7 @@ import { import LazyLoad from "./LazyLoad.svelte"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let lazyload; let current; lazyload = new LazyLoad({ props: { load: func } }); diff --git a/test/js/samples/each-block-array-literal/expected.js b/test/js/samples/each-block-array-literal/expected.js index 7b5775923d08..d21bd3d315e1 100644 --- a/test/js/samples/each-block-array-literal/expected.js +++ b/test/js/samples/each-block-array-literal/expected.js @@ -17,6 +17,7 @@ import { function get_each_context(ctx, list, i) { const child_ctx = ctx.slice(); child_ctx[5] = list[i]; + child_ctx.root = ctx.root; return child_ctx; } @@ -44,7 +45,7 @@ function create_each_block(ctx) { }; } -function create_fragment(root, ctx) { +function create_fragment(ctx) { let each_1_anchor; let each_value = [/*a*/ ctx[0], /*b*/ ctx[1], /*c*/ ctx[2], /*d*/ ctx[3], /*e*/ ctx[4]]; let each_blocks = []; diff --git a/test/js/samples/each-block-changed-check/expected.js b/test/js/samples/each-block-changed-check/expected.js index e3b689c65e91..98e08a714282 100644 --- a/test/js/samples/each-block-changed-check/expected.js +++ b/test/js/samples/each-block-changed-check/expected.js @@ -20,6 +20,7 @@ function get_each_context(ctx, list, i) { const child_ctx = ctx.slice(); child_ctx[4] = list[i]; child_ctx[6] = i; + child_ctx.root = ctx.root; return child_ctx; } @@ -81,7 +82,7 @@ function create_each_block(ctx) { }; } -function create_fragment(root, ctx) { +function create_fragment(ctx) { let t0; let p; let t1; diff --git a/test/js/samples/each-block-keyed-animated/expected.js b/test/js/samples/each-block-keyed-animated/expected.js index 4b05e817856b..23f572e58f55 100644 --- a/test/js/samples/each-block-keyed-animated/expected.js +++ b/test/js/samples/each-block-keyed-animated/expected.js @@ -20,6 +20,7 @@ import { function get_each_context(ctx, list, i) { const child_ctx = ctx.slice(); child_ctx[1] = list[i]; + child_ctx.root = ctx.root; return child_ctx; } @@ -64,7 +65,7 @@ function create_each_block(key_1, ctx) { }; } -function create_fragment(root, ctx) { +function create_fragment(ctx) { let each_blocks = []; let each_1_lookup = new Map(); let each_1_anchor; diff --git a/test/js/samples/each-block-keyed/expected.js b/test/js/samples/each-block-keyed/expected.js index a064e72a13f7..2c1e13e96e0d 100644 --- a/test/js/samples/each-block-keyed/expected.js +++ b/test/js/samples/each-block-keyed/expected.js @@ -18,6 +18,7 @@ import { function get_each_context(ctx, list, i) { const child_ctx = ctx.slice(); child_ctx[1] = list[i]; + child_ctx.root = ctx.root; return child_ctx; } @@ -49,7 +50,7 @@ function create_each_block(key_1, ctx) { }; } -function create_fragment(root, ctx) { +function create_fragment(ctx) { let each_blocks = []; let each_1_lookup = new Map(); let each_1_anchor; diff --git a/test/js/samples/event-handler-dynamic/expected.js b/test/js/samples/event-handler-dynamic/expected.js index fb4596bf6891..dacdfe15ac37 100644 --- a/test/js/samples/event-handler-dynamic/expected.js +++ b/test/js/samples/event-handler-dynamic/expected.js @@ -16,7 +16,7 @@ import { text } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let p0; let button0; let t1; diff --git a/test/js/samples/event-handler-no-passive/expected.js b/test/js/samples/event-handler-no-passive/expected.js index bddbf312fc53..4d4b910d4eae 100644 --- a/test/js/samples/event-handler-no-passive/expected.js +++ b/test/js/samples/event-handler-no-passive/expected.js @@ -11,7 +11,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let a; let mounted; let dispose; diff --git a/test/js/samples/event-modifiers/expected.js b/test/js/samples/event-modifiers/expected.js index 8b9e173abb36..28db44282862 100644 --- a/test/js/samples/event-modifiers/expected.js +++ b/test/js/samples/event-modifiers/expected.js @@ -15,7 +15,7 @@ import { stop_propagation } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let div1; let div0; let t1; diff --git a/test/js/samples/head-no-whitespace/expected.js b/test/js/samples/head-no-whitespace/expected.js index da4d34359462..444bad3fd48a 100644 --- a/test/js/samples/head-no-whitespace/expected.js +++ b/test/js/samples/head-no-whitespace/expected.js @@ -10,7 +10,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let meta0; let meta1; diff --git a/test/js/samples/hoisted-const/expected.js b/test/js/samples/hoisted-const/expected.js index 5fe2b917a6f5..2842b547516e 100644 --- a/test/js/samples/hoisted-const/expected.js +++ b/test/js/samples/hoisted-const/expected.js @@ -9,7 +9,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let b; return { diff --git a/test/js/samples/hoisted-let/expected.js b/test/js/samples/hoisted-let/expected.js index f7532bbb444c..285b12411835 100644 --- a/test/js/samples/hoisted-let/expected.js +++ b/test/js/samples/hoisted-let/expected.js @@ -9,7 +9,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let b; return { diff --git a/test/js/samples/hydrated-void-element/expected.js b/test/js/samples/hydrated-void-element/expected.js index c219f563288d..e53d16d9250e 100644 --- a/test/js/samples/hydrated-void-element/expected.js +++ b/test/js/samples/hydrated-void-element/expected.js @@ -14,7 +14,7 @@ import { space } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let img; let img_src_value; let t; diff --git a/test/js/samples/if-block-complex/expected.js b/test/js/samples/if-block-complex/expected.js index 830d7db6167a..a8244de8b02d 100644 --- a/test/js/samples/if-block-complex/expected.js +++ b/test/js/samples/if-block-complex/expected.js @@ -28,7 +28,7 @@ function create_if_block(ctx) { }; } -function create_fragment(root, ctx) { +function create_fragment(ctx) { let show_if = /*item*/ ctx[0].divider && /*item*/ ctx[0].divider.includes(1); let if_block_anchor; let if_block = show_if && create_if_block(ctx); diff --git a/test/js/samples/if-block-no-update/expected.js b/test/js/samples/if-block-no-update/expected.js index 8908e819c6a8..c67b33fa8557 100644 --- a/test/js/samples/if-block-no-update/expected.js +++ b/test/js/samples/if-block-no-update/expected.js @@ -45,7 +45,7 @@ function create_if_block(ctx) { }; } -function create_fragment(root, ctx) { +function create_fragment(ctx) { let if_block_anchor; function select_block_type(ctx, dirty) { diff --git a/test/js/samples/if-block-simple/expected.js b/test/js/samples/if-block-simple/expected.js index d7582367d6fe..f4994811fbdc 100644 --- a/test/js/samples/if-block-simple/expected.js +++ b/test/js/samples/if-block-simple/expected.js @@ -27,7 +27,7 @@ function create_if_block(ctx) { }; } -function create_fragment(root, ctx) { +function create_fragment(ctx) { let if_block_anchor; let if_block = /*foo*/ ctx[0] && create_if_block(ctx); diff --git a/test/js/samples/import-meta/expected.js b/test/js/samples/import-meta/expected.js index 52a40c40149a..ba77398321cf 100644 --- a/test/js/samples/import-meta/expected.js +++ b/test/js/samples/import-meta/expected.js @@ -10,7 +10,7 @@ import { text } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let t0; let t1; let t2_value = import.meta.url + ""; diff --git a/test/js/samples/initial-context/expected.js b/test/js/samples/initial-context/expected.js index 98642f86c76d..592e2a709e9c 100644 --- a/test/js/samples/initial-context/expected.js +++ b/test/js/samples/initial-context/expected.js @@ -10,7 +10,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let button; let mounted; let dispose; diff --git a/test/js/samples/inline-style-optimized-multiple/expected.js b/test/js/samples/inline-style-optimized-multiple/expected.js index 0673c38a8191..0a9d0a1e8eba 100644 --- a/test/js/samples/inline-style-optimized-multiple/expected.js +++ b/test/js/samples/inline-style-optimized-multiple/expected.js @@ -10,7 +10,7 @@ import { set_style } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let div; return { diff --git a/test/js/samples/inline-style-optimized-url/expected.js b/test/js/samples/inline-style-optimized-url/expected.js index d98c5d4734cc..0debb035854f 100644 --- a/test/js/samples/inline-style-optimized-url/expected.js +++ b/test/js/samples/inline-style-optimized-url/expected.js @@ -10,7 +10,7 @@ import { set_style } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let div; return { diff --git a/test/js/samples/inline-style-optimized/expected.js b/test/js/samples/inline-style-optimized/expected.js index ac725d376efb..b7db0f1cf30b 100644 --- a/test/js/samples/inline-style-optimized/expected.js +++ b/test/js/samples/inline-style-optimized/expected.js @@ -10,7 +10,7 @@ import { set_style } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let div; return { diff --git a/test/js/samples/inline-style-unoptimized/expected.js b/test/js/samples/inline-style-unoptimized/expected.js index 8f46142cf170..0688f14b9b24 100644 --- a/test/js/samples/inline-style-unoptimized/expected.js +++ b/test/js/samples/inline-style-unoptimized/expected.js @@ -11,7 +11,7 @@ import { space } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let div0; let t; let div1; diff --git a/test/js/samples/inline-style-without-updates/expected.js b/test/js/samples/inline-style-without-updates/expected.js index ec620c24a63a..375896f259ea 100644 --- a/test/js/samples/inline-style-without-updates/expected.js +++ b/test/js/samples/inline-style-without-updates/expected.js @@ -10,7 +10,7 @@ import { set_style } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let div; return { diff --git a/test/js/samples/input-files/expected.js b/test/js/samples/input-files/expected.js index 64785c2dfe3b..8adc7443f5c1 100644 --- a/test/js/samples/input-files/expected.js +++ b/test/js/samples/input-files/expected.js @@ -11,7 +11,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let input; let mounted; let dispose; diff --git a/test/js/samples/input-no-initial-value/expected.js b/test/js/samples/input-no-initial-value/expected.js index 15342023ae1b..3354aa31117e 100644 --- a/test/js/samples/input-no-initial-value/expected.js +++ b/test/js/samples/input-no-initial-value/expected.js @@ -15,7 +15,7 @@ import { space } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let form; let input; let t0; diff --git a/test/js/samples/input-range/expected.js b/test/js/samples/input-range/expected.js index 4935e6cd9110..a855ca3653fe 100644 --- a/test/js/samples/input-range/expected.js +++ b/test/js/samples/input-range/expected.js @@ -14,7 +14,7 @@ import { to_number } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let input; let mounted; let dispose; diff --git a/test/js/samples/input-value/expected.js b/test/js/samples/input-value/expected.js index d036d1edfee4..781a2ae60358 100644 --- a/test/js/samples/input-value/expected.js +++ b/test/js/samples/input-value/expected.js @@ -14,7 +14,7 @@ import { text } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let input; let t0; let h1; diff --git a/test/js/samples/input-without-blowback-guard/expected.js b/test/js/samples/input-without-blowback-guard/expected.js index cb5af3204588..6c5b2156232f 100644 --- a/test/js/samples/input-without-blowback-guard/expected.js +++ b/test/js/samples/input-without-blowback-guard/expected.js @@ -11,7 +11,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let input; let mounted; let dispose; diff --git a/test/js/samples/instrumentation-script-if-no-block/expected.js b/test/js/samples/instrumentation-script-if-no-block/expected.js index bcd7ecfda16f..7f51c6455007 100644 --- a/test/js/samples/instrumentation-script-if-no-block/expected.js +++ b/test/js/samples/instrumentation-script-if-no-block/expected.js @@ -14,7 +14,7 @@ import { text } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let button; let t1; let p; diff --git a/test/js/samples/instrumentation-script-main-block/expected.js b/test/js/samples/instrumentation-script-main-block/expected.js index b6e2f9f201bb..a471a50b37cf 100644 --- a/test/js/samples/instrumentation-script-main-block/expected.js +++ b/test/js/samples/instrumentation-script-main-block/expected.js @@ -12,7 +12,7 @@ import { text } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let p; let t0; let t1; diff --git a/test/js/samples/instrumentation-script-x-equals-x/expected.js b/test/js/samples/instrumentation-script-x-equals-x/expected.js index 73afe3d91af1..ea0d65acb906 100644 --- a/test/js/samples/instrumentation-script-x-equals-x/expected.js +++ b/test/js/samples/instrumentation-script-x-equals-x/expected.js @@ -14,7 +14,7 @@ import { text } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let button; let t1; let p; diff --git a/test/js/samples/instrumentation-template-if-no-block/expected.js b/test/js/samples/instrumentation-template-if-no-block/expected.js index 6fa7239074eb..0c2713a9cc64 100644 --- a/test/js/samples/instrumentation-template-if-no-block/expected.js +++ b/test/js/samples/instrumentation-template-if-no-block/expected.js @@ -14,7 +14,7 @@ import { text } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let button; let t1; let p; diff --git a/test/js/samples/instrumentation-template-x-equals-x/expected.js b/test/js/samples/instrumentation-template-x-equals-x/expected.js index 0e65e9290e44..55cd310661e7 100644 --- a/test/js/samples/instrumentation-template-x-equals-x/expected.js +++ b/test/js/samples/instrumentation-template-x-equals-x/expected.js @@ -14,7 +14,7 @@ import { text } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let button; let t1; let p; diff --git a/test/js/samples/legacy-input-type/expected.js b/test/js/samples/legacy-input-type/expected.js index 7098b140e782..2b76a485225a 100644 --- a/test/js/samples/legacy-input-type/expected.js +++ b/test/js/samples/legacy-input-type/expected.js @@ -10,7 +10,7 @@ import { set_input_type } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let input; return { diff --git a/test/js/samples/loop-protect/expected.js b/test/js/samples/loop-protect/expected.js index 0f7a5db8ba8a..26721d6be6a8 100644 --- a/test/js/samples/loop-protect/expected.js +++ b/test/js/samples/loop-protect/expected.js @@ -18,7 +18,7 @@ import { const { console: console_1 } = globals; const file = undefined; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let div; const block = { diff --git a/test/js/samples/media-bindings/expected.js b/test/js/samples/media-bindings/expected.js index 780912f25bcf..867d4a7dadfb 100644 --- a/test/js/samples/media-bindings/expected.js +++ b/test/js/samples/media-bindings/expected.js @@ -14,7 +14,7 @@ import { time_ranges_to_array } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let audio; let audio_updating = false; let audio_animationframe; diff --git a/test/js/samples/non-imported-component/expected.js b/test/js/samples/non-imported-component/expected.js index cd2574023f2c..5a6b8e8bb730 100644 --- a/test/js/samples/non-imported-component/expected.js +++ b/test/js/samples/non-imported-component/expected.js @@ -16,7 +16,7 @@ import { import Imported from "Imported.svelte"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let imported; let t; let nonimported; diff --git a/test/js/samples/non-mutable-reference/expected.js b/test/js/samples/non-mutable-reference/expected.js index 1e658158f53b..93f2145a2e65 100644 --- a/test/js/samples/non-mutable-reference/expected.js +++ b/test/js/samples/non-mutable-reference/expected.js @@ -9,7 +9,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let h1; return { diff --git a/test/js/samples/optional-chaining/expected.js b/test/js/samples/optional-chaining/expected.js index 670bcbb3f34a..8aa94796c1b0 100644 --- a/test/js/samples/optional-chaining/expected.js +++ b/test/js/samples/optional-chaining/expected.js @@ -17,7 +17,7 @@ import { transition_out } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let t0_value = /*a*/ ctx[0].normal + ""; let t0; let t1_value = /*b*/ ctx[1]?.optional + ""; diff --git a/test/js/samples/reactive-class-optimized/expected.js b/test/js/samples/reactive-class-optimized/expected.js index 5ea2a21c304d..b7c2c3a60bf5 100644 --- a/test/js/samples/reactive-class-optimized/expected.js +++ b/test/js/samples/reactive-class-optimized/expected.js @@ -15,7 +15,7 @@ import { import { reactiveStoreVal, unreactiveExport } from "./store"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let div0; let t0; let div1; diff --git a/test/js/samples/select-dynamic-value/expected.js b/test/js/samples/select-dynamic-value/expected.js index 971de6704402..8777cd260072 100644 --- a/test/js/samples/select-dynamic-value/expected.js +++ b/test/js/samples/select-dynamic-value/expected.js @@ -11,7 +11,7 @@ import { select_option } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let select; let option0; let option1; diff --git a/test/js/samples/src-attribute-check/expected.js b/test/js/samples/src-attribute-check/expected.js index a4aa04647678..93638edfb43b 100644 --- a/test/js/samples/src-attribute-check/expected.js +++ b/test/js/samples/src-attribute-check/expected.js @@ -13,7 +13,7 @@ import { space } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let img0; let img0_src_value; let t; diff --git a/test/js/samples/svg-title/expected.js b/test/js/samples/svg-title/expected.js index d4b9fcec27e4..cd7ae3b55152 100644 --- a/test/js/samples/svg-title/expected.js +++ b/test/js/samples/svg-title/expected.js @@ -11,7 +11,7 @@ import { text } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let svg; let title; let t; diff --git a/test/js/samples/title/expected.js b/test/js/samples/title/expected.js index 6b967a65d054..b10f569759d4 100644 --- a/test/js/samples/title/expected.js +++ b/test/js/samples/title/expected.js @@ -1,7 +1,7 @@ /* generated by Svelte vX.Y.Z */ import { SvelteComponent, init, noop, safe_not_equal } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let title_value; document.title = title_value = "a " + /*custom*/ ctx[0] + " title"; diff --git a/test/js/samples/transition-local/expected.js b/test/js/samples/transition-local/expected.js index ac958fbc5bae..149953e30d79 100644 --- a/test/js/samples/transition-local/expected.js +++ b/test/js/samples/transition-local/expected.js @@ -80,7 +80,7 @@ function create_if_block_1(ctx) { }; } -function create_fragment(root, ctx) { +function create_fragment(ctx) { let if_block_anchor; let if_block = /*x*/ ctx[0] && create_if_block(ctx); diff --git a/test/js/samples/transition-repeated-outro/expected.js b/test/js/samples/transition-repeated-outro/expected.js index c3d428843897..12483ab91af7 100644 --- a/test/js/samples/transition-repeated-outro/expected.js +++ b/test/js/samples/transition-repeated-outro/expected.js @@ -46,7 +46,7 @@ function create_if_block(ctx) { }; } -function create_fragment(root, ctx) { +function create_fragment(ctx) { let if_block_anchor; let current; let if_block = /*num*/ ctx[0] < 5 && create_if_block(ctx); diff --git a/test/js/samples/unchanged-expression/expected.js b/test/js/samples/unchanged-expression/expected.js index 54685337175a..673d5b6abc8d 100644 --- a/test/js/samples/unchanged-expression/expected.js +++ b/test/js/samples/unchanged-expression/expected.js @@ -13,7 +13,7 @@ import { text } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let div0; let p0; let t1; diff --git a/test/js/samples/unreferenced-state-not-invalidated/expected.js b/test/js/samples/unreferenced-state-not-invalidated/expected.js index 68b2101c91c6..53044c7ed6d8 100644 --- a/test/js/samples/unreferenced-state-not-invalidated/expected.js +++ b/test/js/samples/unreferenced-state-not-invalidated/expected.js @@ -14,7 +14,7 @@ import { import { onMount } from "svelte"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let p; let t; diff --git a/test/js/samples/use-elements-as-anchors/expected.js b/test/js/samples/use-elements-as-anchors/expected.js index 3bc90000c3ff..915663add9b5 100644 --- a/test/js/samples/use-elements-as-anchors/expected.js +++ b/test/js/samples/use-elements-as-anchors/expected.js @@ -101,7 +101,7 @@ function create_if_block(ctx) { }; } -function create_fragment(root, ctx) { +function create_fragment(ctx) { let div; let t0; let p0; diff --git a/test/js/samples/valid-inner-html-for-static-element/expected.js b/test/js/samples/valid-inner-html-for-static-element/expected.js index b7ce927ef1e6..f1ced27ba458 100644 --- a/test/js/samples/valid-inner-html-for-static-element/expected.js +++ b/test/js/samples/valid-inner-html-for-static-element/expected.js @@ -9,7 +9,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let div; return { diff --git a/test/js/samples/video-bindings/expected.js b/test/js/samples/video-bindings/expected.js index 86fe224402be..8afa670bbb52 100644 --- a/test/js/samples/video-bindings/expected.js +++ b/test/js/samples/video-bindings/expected.js @@ -14,7 +14,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let video; let video_updating = false; let video_animationframe; diff --git a/test/js/samples/window-binding-online/expected.js b/test/js/samples/window-binding-online/expected.js index 0d064399b44c..887195bce1b3 100644 --- a/test/js/samples/window-binding-online/expected.js +++ b/test/js/samples/window-binding-online/expected.js @@ -9,7 +9,7 @@ import { safe_not_equal } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let mounted; let dispose; add_render_callback(/*onlinestatuschanged*/ ctx[1]); diff --git a/test/js/samples/window-binding-scroll/expected.js b/test/js/samples/window-binding-scroll/expected.js index bcc4482cf9f9..09a4d3737d29 100644 --- a/test/js/samples/window-binding-scroll/expected.js +++ b/test/js/samples/window-binding-scroll/expected.js @@ -14,7 +14,7 @@ import { text } from "svelte/internal"; -function create_fragment(root, ctx) { +function create_fragment(ctx) { let scrolling = false; let clear_scrolling = () => { From 7568a9145bd7c45e7c627caa844a66c42ede8ef2 Mon Sep 17 00:00:00 2001 From: Ivan Hofer Date: Fri, 2 Apr 2021 16:11:37 +0200 Subject: [PATCH 08/30] add root as compile option also in prod mode --- .../compile/render_dom/wrappers/InlineComponent/index.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts b/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts index 1e9818c78b03..6de1561922cd 100644 --- a/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts +++ b/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts @@ -186,12 +186,13 @@ export default class InlineComponentWrapper extends Wrapper { } } + component_opts.properties.push(p`root: #ctx.root`); + if (component.compile_options.dev) { // TODO this is a terrible hack, but without it the component // will complain that options.target is missing. This would // work better if components had separate public and private // APIs - component_opts.properties.push(p`root: #ctx.root`); component_opts.properties.push(p`$$inline: true`); } From a94abed5efe7c9e07a5b1aca7d92de56393c0438 Mon Sep 17 00:00:00 2001 From: Ivan Hofer Date: Fri, 2 Apr 2021 16:37:24 +0200 Subject: [PATCH 09/30] mark 'root' as special --- src/compiler/compile/render_dom/wrappers/EachBlock.ts | 2 +- .../compile/render_dom/wrappers/InlineComponent/index.ts | 2 +- src/runtime/internal/Component.ts | 2 +- src/runtime/internal/await_block.ts | 2 +- src/runtime/internal/dom.ts | 4 ++-- src/runtime/internal/utils.ts | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/compiler/compile/render_dom/wrappers/EachBlock.ts b/src/compiler/compile/render_dom/wrappers/EachBlock.ts index 81ebb54dbe46..fe92326d8e38 100644 --- a/src/compiler/compile/render_dom/wrappers/EachBlock.ts +++ b/src/compiler/compile/render_dom/wrappers/EachBlock.ts @@ -355,7 +355,7 @@ export default class EachBlockWrapper extends Wrapper { function ${this.vars.get_each_context}(#ctx, list, i) { const child_ctx = #ctx.slice(); ${this.context_props} - child_ctx.root = #ctx.root; + child_ctx.$$root = #ctx.$$root; return child_ctx; } `); diff --git a/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts b/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts index 6de1561922cd..81cc197c4939 100644 --- a/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts +++ b/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts @@ -186,7 +186,7 @@ export default class InlineComponentWrapper extends Wrapper { } } - component_opts.properties.push(p`root: #ctx.root`); + component_opts.properties.push(p`$$root: #ctx.$$root`); if (component.compile_options.dev) { // TODO this is a terrible hack, but without it the component diff --git a/src/runtime/internal/Component.ts b/src/runtime/internal/Component.ts index 55f6e649a680..9e9c7dcb4717 100644 --- a/src/runtime/internal/Component.ts +++ b/src/runtime/internal/Component.ts @@ -144,7 +144,7 @@ export function init(component, options, instance, create_fragment, not_equal, p }) : []; - $$.ctx.root = options.target || options.root; + $$.ctx.$$root = options.target || options.$$root; $$.update(); ready = true; diff --git a/src/runtime/internal/await_block.ts b/src/runtime/internal/await_block.ts index 53ceaeb38a11..a11084e6c964 100644 --- a/src/runtime/internal/await_block.ts +++ b/src/runtime/internal/await_block.ts @@ -16,7 +16,7 @@ export function handle_promise(promise, info) { if (key !== undefined) { child_ctx = child_ctx.slice(); child_ctx[key] = value; - child_ctx.root = info.ctx.root; + child_ctx.$$root = info.ctx.$$root; } const block = type && (info.current = type)(child_ctx); diff --git a/src/runtime/internal/dom.ts b/src/runtime/internal/dom.ts index 48ab9264b8c7..c15b6ba39160 100644 --- a/src/runtime/internal/dom.ts +++ b/src/runtime/internal/dom.ts @@ -113,12 +113,12 @@ function init_hydrate(target: NodeEx) { } export function append_styles( - { target, root }, + { target, $$root }, styleSheetId: string, styles: string, styleId: string = `svelte-${styleSheetId}-style` ) { - const appendStylesTo = get_root_for_node(target || root); + const appendStylesTo = get_root_for_node(target || $$root); if (!appendStylesTo?.querySelector('#' + styleId)) { const style = element('style'); diff --git a/src/runtime/internal/utils.ts b/src/runtime/internal/utils.ts index d0254c93ef70..0c0daf531400 100644 --- a/src/runtime/internal/utils.ts +++ b/src/runtime/internal/utils.ts @@ -83,7 +83,7 @@ function get_slot_context(definition, ctx, $$scope, fn) { const context = definition[1] && fn ? assign($$scope.ctx.slice(), definition[1](fn(ctx))) : $$scope.ctx; - context.root = ctx.root; + context.$$root = ctx.$$root; return context; } From 613b87da55b9d9734ffd68e43d53026749e24e91 Mon Sep 17 00:00:00 2001 From: Ivan Hofer Date: Fri, 2 Apr 2021 16:59:49 +0200 Subject: [PATCH 10/30] store root information in component.$$.root --- src/compiler/compile/render_dom/index.ts | 4 ++-- src/compiler/compile/render_dom/wrappers/EachBlock.ts | 1 - .../render_dom/wrappers/InlineComponent/index.ts | 2 -- src/runtime/internal/Component.ts | 10 ++++++---- src/runtime/internal/await_block.ts | 1 - src/runtime/internal/dom.ts | 4 ++-- src/runtime/internal/utils.ts | 1 - 7 files changed, 10 insertions(+), 13 deletions(-) diff --git a/src/compiler/compile/render_dom/index.ts b/src/compiler/compile/render_dom/index.ts index e749af672929..8c72501810a8 100644 --- a/src/compiler/compile/render_dom/index.ts +++ b/src/compiler/compile/render_dom/index.ts @@ -49,8 +49,8 @@ export default function dom( if (should_add_css) { body.push(b` - function ${add_css}(options) { - @append_styles(options, "${component.stylesheet.id.replace('svelte-', '')}", "${styles}"); + function ${add_css}(target) { + @append_styles(target, "${component.stylesheet.id.replace('svelte-', '')}", "${styles}"); } `); } diff --git a/src/compiler/compile/render_dom/wrappers/EachBlock.ts b/src/compiler/compile/render_dom/wrappers/EachBlock.ts index fe92326d8e38..134976ca6543 100644 --- a/src/compiler/compile/render_dom/wrappers/EachBlock.ts +++ b/src/compiler/compile/render_dom/wrappers/EachBlock.ts @@ -355,7 +355,6 @@ export default class EachBlockWrapper extends Wrapper { function ${this.vars.get_each_context}(#ctx, list, i) { const child_ctx = #ctx.slice(); ${this.context_props} - child_ctx.$$root = #ctx.$$root; return child_ctx; } `); diff --git a/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts b/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts index 81cc197c4939..2ea149a84891 100644 --- a/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts +++ b/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts @@ -186,8 +186,6 @@ export default class InlineComponentWrapper extends Wrapper { } } - component_opts.properties.push(p`$$root: #ctx.$$root`); - if (component.compile_options.dev) { // TODO this is a terrible hack, but without it the component // will complain that options.target is missing. This would diff --git a/src/runtime/internal/Component.ts b/src/runtime/internal/Component.ts index 9e9c7dcb4717..e706928af305 100644 --- a/src/runtime/internal/Component.ts +++ b/src/runtime/internal/Component.ts @@ -38,6 +38,7 @@ interface T$$ { on_destroy: any[]; skip_bound: boolean; on_disconnect: any[]; + root:Element|ShadowRoot } export function bind(component, name, callback) { @@ -103,7 +104,7 @@ function make_dirty(component, i) { component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31)); } -export function init(component, options, instance, create_fragment, not_equal, props, dirty = [-1]) { +export function init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) { const parent_component = current_component; set_current_component(component); @@ -128,9 +129,12 @@ export function init(component, options, instance, create_fragment, not_equal, p // everything else callbacks: blank_object(), dirty, - skip_bound: false + skip_bound: false, + root: options.target || parent_component.$$.root }; + append_styles && append_styles($$.root); + let ready = false; $$.ctx = instance @@ -144,8 +148,6 @@ export function init(component, options, instance, create_fragment, not_equal, p }) : []; - $$.ctx.$$root = options.target || options.$$root; - $$.update(); ready = true; run_all($$.before_update); diff --git a/src/runtime/internal/await_block.ts b/src/runtime/internal/await_block.ts index a11084e6c964..ea6e8a187f90 100644 --- a/src/runtime/internal/await_block.ts +++ b/src/runtime/internal/await_block.ts @@ -16,7 +16,6 @@ export function handle_promise(promise, info) { if (key !== undefined) { child_ctx = child_ctx.slice(); child_ctx[key] = value; - child_ctx.$$root = info.ctx.$$root; } const block = type && (info.current = type)(child_ctx); diff --git a/src/runtime/internal/dom.ts b/src/runtime/internal/dom.ts index c15b6ba39160..aa105f04c885 100644 --- a/src/runtime/internal/dom.ts +++ b/src/runtime/internal/dom.ts @@ -113,12 +113,12 @@ function init_hydrate(target: NodeEx) { } export function append_styles( - { target, $$root }, + target: Node, styleSheetId: string, styles: string, styleId: string = `svelte-${styleSheetId}-style` ) { - const appendStylesTo = get_root_for_node(target || $$root); + const appendStylesTo = get_root_for_node(target); if (!appendStylesTo?.querySelector('#' + styleId)) { const style = element('style'); diff --git a/src/runtime/internal/utils.ts b/src/runtime/internal/utils.ts index 0c0daf531400..cca72f8e9f58 100644 --- a/src/runtime/internal/utils.ts +++ b/src/runtime/internal/utils.ts @@ -83,7 +83,6 @@ function get_slot_context(definition, ctx, $$scope, fn) { const context = definition[1] && fn ? assign($$scope.ctx.slice(), definition[1](fn(ctx))) : $$scope.ctx; - context.$$root = ctx.$$root; return context; } From 6be2c2ac029d7458d2e8b6ebf0554c1ec3464667 Mon Sep 17 00:00:00 2001 From: Ivan Hofer Date: Fri, 2 Apr 2021 17:45:13 +0200 Subject: [PATCH 11/30] fix existing tests --- src/compiler/compile/render_dom/index.ts | 2 +- .../action-custom-event-handler/expected.js | 2 +- test/js/samples/action/expected.js | 2 +- test/js/samples/bind-online/expected.js | 2 +- test/js/samples/bind-open/expected.js | 2 +- test/js/samples/bind-width-height/expected.js | 2 +- .../bindings-readonly-order/expected.js | 2 +- .../capture-inject-dev-only/expected.js | 2 +- .../samples/capture-inject-state/expected.js | 2 +- .../expected.js | 7 ++-- .../component-static-array/expected.js | 2 +- .../component-static-immutable/expected.js | 2 +- .../component-static-immutable2/expected.js | 2 +- .../samples/component-static-var/expected.js | 2 +- test/js/samples/component-static/expected.js | 2 +- .../expected.js | 2 +- .../expected.js | 2 +- .../expected.js | 2 +- .../samples/computed-collapsed-if/expected.js | 2 +- test/js/samples/css-media-query/expected.js | 7 ++-- .../css-shadow-dom-keyframes/expected.js | 3 +- test/js/samples/data-attribute/expected.js | 2 +- test/js/samples/debug-empty/expected.js | 2 +- .../debug-foo-bar-baz-things/expected.js | 3 +- test/js/samples/debug-foo/expected.js | 3 +- test/js/samples/debug-hoisted/expected.js | 2 +- .../samples/debug-no-dependencies/expected.js | 3 +- .../samples/deconflict-builtins/expected.js | 3 +- .../js/samples/deconflict-globals/expected.js | 2 +- .../expected.js | 2 +- .../samples/dont-invalidate-this/expected.js | 2 +- test/js/samples/dynamic-import/expected.js | 2 +- .../each-block-array-literal/expected.js | 3 +- .../each-block-changed-check/expected.js | 3 +- .../each-block-keyed-animated/expected.js | 3 +- test/js/samples/each-block-keyed/expected.js | 3 +- test/js/samples/empty-dom/expected.js | 2 +- .../samples/event-handler-dynamic/expected.js | 2 +- .../event-handler-no-passive/expected.js | 2 +- test/js/samples/event-modifiers/expected.js | 2 +- .../js/samples/head-no-whitespace/expected.js | 2 +- test/js/samples/hoisted-const/expected.js | 2 +- test/js/samples/hoisted-let/expected.js | 2 +- .../samples/hydrated-void-element/expected.js | 2 +- test/js/samples/if-block-complex/expected.js | 2 +- .../js/samples/if-block-no-update/expected.js | 2 +- test/js/samples/if-block-simple/expected.js | 2 +- test/js/samples/import-meta/expected.js | 2 +- test/js/samples/initial-context/expected.js | 2 +- .../expected.js | 2 +- .../inline-style-optimized-url/expected.js | 2 +- .../inline-style-optimized/expected.js | 2 +- .../inline-style-unoptimized/expected.js | 2 +- .../inline-style-without-updates/expected.js | 2 +- test/js/samples/input-files/expected.js | 2 +- .../input-no-initial-value/expected.js | 2 +- test/js/samples/input-range/expected.js | 2 +- test/js/samples/input-value/expected.js | 2 +- .../input-without-blowback-guard/expected.js | 2 +- .../expected.js | 2 +- .../expected.js | 2 +- .../expected.js | 2 +- .../expected.js | 2 +- .../expected.js | 2 +- test/js/samples/legacy-input-type/expected.js | 2 +- test/js/samples/loop-protect/expected.js | 2 +- test/js/samples/media-bindings/expected.js | 34 ++++++++++++------- .../non-imported-component/expected.js | 2 +- .../samples/non-mutable-reference/expected.js | 2 +- test/js/samples/optional-chaining/expected.js | 2 +- .../reactive-class-optimized/expected.js | 2 +- .../expected.js | 2 +- .../expected.js | 2 +- .../samples/select-dynamic-value/expected.js | 2 +- test/js/samples/setup-method/expected.js | 2 +- .../samples/src-attribute-check/expected.js | 2 +- test/js/samples/svg-title/expected.js | 2 +- test/js/samples/title/expected.js | 2 +- test/js/samples/transition-local/expected.js | 2 +- .../transition-repeated-outro/expected.js | 2 +- .../samples/unchanged-expression/expected.js | 2 +- .../expected.js | 2 +- .../use-elements-as-anchors/expected.js | 2 +- .../expected.js | 2 +- test/js/samples/video-bindings/expected.js | 20 +++++++---- .../samples/window-binding-online/expected.js | 2 +- .../samples/window-binding-scroll/expected.js | 2 +- .../samples/compile-option-dev/test.js | 2 +- 88 files changed, 126 insertions(+), 119 deletions(-) diff --git a/src/compiler/compile/render_dom/index.ts b/src/compiler/compile/render_dom/index.ts index 8c72501810a8..4eb13e1eff67 100644 --- a/src/compiler/compile/render_dom/index.ts +++ b/src/compiler/compile/render_dom/index.ts @@ -482,7 +482,7 @@ export default function dom( ${css.code && b`this.shadowRoot.innerHTML = \`\`;`} - @init(this, { target: this.shadowRoot, props: ${init_props}, customElement: true }, ${definition}, ${has_create_fragment ? 'create_fragment' : 'null'}, ${not_equal}, ${prop_indexes}, ${dirty}); + @init(this, { target: this.shadowRoot, props: ${init_props}, customElement: true }, ${definition}, ${has_create_fragment ? 'create_fragment' : 'null'}, ${not_equal}, ${prop_indexes}, null, ${dirty}); ${dev_props_check} diff --git a/test/js/samples/action-custom-event-handler/expected.js b/test/js/samples/action-custom-event-handler/expected.js index 5ae9594ce0ea..9453908f6a73 100644 --- a/test/js/samples/action-custom-event-handler/expected.js +++ b/test/js/samples/action-custom-event-handler/expected.js @@ -65,7 +65,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { bar: 0 }); + init(this, options, instance, create_fragment, safe_not_equal, { bar: 0 }, null); } } diff --git a/test/js/samples/action/expected.js b/test/js/samples/action/expected.js index d52960bddd30..29b6d1802026 100644 --- a/test/js/samples/action/expected.js +++ b/test/js/samples/action/expected.js @@ -60,7 +60,7 @@ function link(node) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}); + init(this, options, null, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/bind-online/expected.js b/test/js/samples/bind-online/expected.js index 887195bce1b3..dfb61bd74aa4 100644 --- a/test/js/samples/bind-online/expected.js +++ b/test/js/samples/bind-online/expected.js @@ -49,7 +49,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}); + init(this, options, instance, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/bind-open/expected.js b/test/js/samples/bind-open/expected.js index 56ff30284572..89605bae10dd 100644 --- a/test/js/samples/bind-open/expected.js +++ b/test/js/samples/bind-open/expected.js @@ -62,7 +62,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { open: 0 }); + init(this, options, instance, create_fragment, safe_not_equal, { open: 0 }, null); } } diff --git a/test/js/samples/bind-width-height/expected.js b/test/js/samples/bind-width-height/expected.js index f23c20b68316..c481809f266b 100644 --- a/test/js/samples/bind-width-height/expected.js +++ b/test/js/samples/bind-width-height/expected.js @@ -57,7 +57,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { w: 0, h: 1 }); + init(this, options, instance, create_fragment, safe_not_equal, { w: 0, h: 1 }, null); } } diff --git a/test/js/samples/bindings-readonly-order/expected.js b/test/js/samples/bindings-readonly-order/expected.js index 78a71dcd8414..9dc0194beebc 100644 --- a/test/js/samples/bindings-readonly-order/expected.js +++ b/test/js/samples/bindings-readonly-order/expected.js @@ -78,7 +78,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { files: 0 }); + init(this, options, instance, create_fragment, safe_not_equal, { files: 0 }, null); } } diff --git a/test/js/samples/capture-inject-dev-only/expected.js b/test/js/samples/capture-inject-dev-only/expected.js index a87693dd9e8e..496c96fdb0ed 100644 --- a/test/js/samples/capture-inject-dev-only/expected.js +++ b/test/js/samples/capture-inject-dev-only/expected.js @@ -75,7 +75,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}); + init(this, options, instance, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/capture-inject-state/expected.js b/test/js/samples/capture-inject-state/expected.js index 6485526bd4d5..694987f9e0a2 100644 --- a/test/js/samples/capture-inject-state/expected.js +++ b/test/js/samples/capture-inject-state/expected.js @@ -158,7 +158,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance, create_fragment, safe_not_equal, { prop: 0, alias: 1 }); + init(this, options, instance, create_fragment, safe_not_equal, { prop: 0, alias: 1 }, null); dispatch_dev("SvelteRegisterComponent", { component: this, diff --git a/test/js/samples/collapses-text-around-comments/expected.js b/test/js/samples/collapses-text-around-comments/expected.js index e3e000094ff7..40d8fba5a5a2 100644 --- a/test/js/samples/collapses-text-around-comments/expected.js +++ b/test/js/samples/collapses-text-around-comments/expected.js @@ -14,8 +14,8 @@ import { text } from "svelte/internal"; -function add_css(options) { - append_styles(options, "1a7i8ec", "p.svelte-1a7i8ec{color:red}"); +function add_css(target) { + append_styles(target, "1a7i8ec", "p.svelte-1a7i8ec{color:red}"); } function create_fragment(ctx) { @@ -56,8 +56,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - add_css(options); - init(this, options, instance, create_fragment, safe_not_equal, { foo: 0 }); + init(this, options, instance, create_fragment, safe_not_equal, { foo: 0 }, add_css); } } diff --git a/test/js/samples/component-static-array/expected.js b/test/js/samples/component-static-array/expected.js index 0ecb0f32ba08..2e3e7199fd2d 100644 --- a/test/js/samples/component-static-array/expected.js +++ b/test/js/samples/component-static-array/expected.js @@ -48,7 +48,7 @@ function instance($$self) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}); + init(this, options, instance, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/component-static-immutable/expected.js b/test/js/samples/component-static-immutable/expected.js index b0c416541334..f626805e9774 100644 --- a/test/js/samples/component-static-immutable/expected.js +++ b/test/js/samples/component-static-immutable/expected.js @@ -48,7 +48,7 @@ function instance($$self) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, not_equal, {}); + init(this, options, instance, create_fragment, not_equal, {}, null); } } diff --git a/test/js/samples/component-static-immutable2/expected.js b/test/js/samples/component-static-immutable2/expected.js index b0c416541334..f626805e9774 100644 --- a/test/js/samples/component-static-immutable2/expected.js +++ b/test/js/samples/component-static-immutable2/expected.js @@ -48,7 +48,7 @@ function instance($$self) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, not_equal, {}); + init(this, options, instance, create_fragment, not_equal, {}, null); } } diff --git a/test/js/samples/component-static-var/expected.js b/test/js/samples/component-static-var/expected.js index 2cd5ed386f07..3d0bf3664e5e 100644 --- a/test/js/samples/component-static-var/expected.js +++ b/test/js/samples/component-static-var/expected.js @@ -101,7 +101,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}); + init(this, options, instance, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/component-static/expected.js b/test/js/samples/component-static/expected.js index 186f6350e6bd..ed3329d5e628 100644 --- a/test/js/samples/component-static/expected.js +++ b/test/js/samples/component-static/expected.js @@ -48,7 +48,7 @@ function instance($$self) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}); + init(this, options, instance, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/component-store-access-invalidate/expected.js b/test/js/samples/component-store-access-invalidate/expected.js index 4c7bfd7009c3..576e4d24f5b2 100644 --- a/test/js/samples/component-store-access-invalidate/expected.js +++ b/test/js/samples/component-store-access-invalidate/expected.js @@ -49,7 +49,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}); + init(this, options, instance, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/component-store-file-invalidate/expected.js b/test/js/samples/component-store-file-invalidate/expected.js index d2fb3d0be467..ed70c866178a 100644 --- a/test/js/samples/component-store-file-invalidate/expected.js +++ b/test/js/samples/component-store-file-invalidate/expected.js @@ -23,7 +23,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, null, safe_not_equal, { increment: 0 }); + init(this, options, instance, null, safe_not_equal, { increment: 0 }, null); } get increment() { diff --git a/test/js/samples/component-store-reassign-invalidate/expected.js b/test/js/samples/component-store-reassign-invalidate/expected.js index 0cf555bf0d96..692fc4464b4f 100644 --- a/test/js/samples/component-store-reassign-invalidate/expected.js +++ b/test/js/samples/component-store-reassign-invalidate/expected.js @@ -74,7 +74,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}); + init(this, options, instance, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/computed-collapsed-if/expected.js b/test/js/samples/computed-collapsed-if/expected.js index 3e70d6a7ae18..80ca5340282c 100644 --- a/test/js/samples/computed-collapsed-if/expected.js +++ b/test/js/samples/computed-collapsed-if/expected.js @@ -22,7 +22,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, null, safe_not_equal, { x: 0, a: 1, b: 2 }); + init(this, options, instance, null, safe_not_equal, { x: 0, a: 1, b: 2 }, null); } get a() { diff --git a/test/js/samples/css-media-query/expected.js b/test/js/samples/css-media-query/expected.js index 749c692aa143..ccbf0859d44d 100644 --- a/test/js/samples/css-media-query/expected.js +++ b/test/js/samples/css-media-query/expected.js @@ -11,8 +11,8 @@ import { safe_not_equal } from "svelte/internal"; -function add_css(options) { - append_styles(options, "1slhpfn", "@media(min-width: 1px){div.svelte-1slhpfn{color:red}}"); +function add_css(target) { + append_styles(target, "1slhpfn", "@media(min-width: 1px){div.svelte-1slhpfn{color:red}}"); } function create_fragment(ctx) { @@ -38,8 +38,7 @@ function create_fragment(ctx) { class Component extends SvelteComponent { constructor(options) { super(); - add_css(options); - init(this, options, null, create_fragment, safe_not_equal, {}); + init(this, options, null, create_fragment, safe_not_equal, {}, add_css); } } diff --git a/test/js/samples/css-shadow-dom-keyframes/expected.js b/test/js/samples/css-shadow-dom-keyframes/expected.js index 4d188201eb27..24cd01e51b61 100644 --- a/test/js/samples/css-shadow-dom-keyframes/expected.js +++ b/test/js/samples/css-shadow-dom-keyframes/expected.js @@ -46,7 +46,8 @@ class Component extends SvelteElement { null, create_fragment, safe_not_equal, - {} + {}, + null ); if (options) { diff --git a/test/js/samples/data-attribute/expected.js b/test/js/samples/data-attribute/expected.js index 8c30e6f6dbb5..339880ce69b0 100644 --- a/test/js/samples/data-attribute/expected.js +++ b/test/js/samples/data-attribute/expected.js @@ -57,7 +57,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { bar: 0 }); + init(this, options, instance, create_fragment, safe_not_equal, { bar: 0 }, null); } } diff --git a/test/js/samples/debug-empty/expected.js b/test/js/samples/debug-empty/expected.js index c18eb8699c19..2769b9603fa6 100644 --- a/test/js/samples/debug-empty/expected.js +++ b/test/js/samples/debug-empty/expected.js @@ -98,7 +98,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance, create_fragment, safe_not_equal, { name: 0 }); + init(this, options, instance, create_fragment, safe_not_equal, { name: 0 }, null); dispatch_dev("SvelteRegisterComponent", { component: this, diff --git a/test/js/samples/debug-foo-bar-baz-things/expected.js b/test/js/samples/debug-foo-bar-baz-things/expected.js index 74be0c60b303..5a27853022db 100644 --- a/test/js/samples/debug-foo-bar-baz-things/expected.js +++ b/test/js/samples/debug-foo-bar-baz-things/expected.js @@ -23,7 +23,6 @@ const file = undefined; function get_each_context(ctx, list, i) { const child_ctx = ctx.slice(); child_ctx[4] = list[i]; - child_ctx.root = ctx.root; return child_ctx; } @@ -209,7 +208,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance, create_fragment, safe_not_equal, { things: 0, foo: 1, bar: 2, baz: 3 }); + init(this, options, instance, create_fragment, safe_not_equal, { things: 0, foo: 1, bar: 2, baz: 3 }, null); dispatch_dev("SvelteRegisterComponent", { component: this, diff --git a/test/js/samples/debug-foo/expected.js b/test/js/samples/debug-foo/expected.js index a4b22a4bd484..aa2006e1df09 100644 --- a/test/js/samples/debug-foo/expected.js +++ b/test/js/samples/debug-foo/expected.js @@ -23,7 +23,6 @@ const file = undefined; function get_each_context(ctx, list, i) { const child_ctx = ctx.slice(); child_ctx[2] = list[i]; - child_ctx.root = ctx.root; return child_ctx; } @@ -197,7 +196,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance, create_fragment, safe_not_equal, { things: 0, foo: 1 }); + init(this, options, instance, create_fragment, safe_not_equal, { things: 0, foo: 1 }, null); dispatch_dev("SvelteRegisterComponent", { component: this, diff --git a/test/js/samples/debug-hoisted/expected.js b/test/js/samples/debug-hoisted/expected.js index 8dbd7184046b..40b07ab2437d 100644 --- a/test/js/samples/debug-hoisted/expected.js +++ b/test/js/samples/debug-hoisted/expected.js @@ -76,7 +76,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance, create_fragment, safe_not_equal, {}); + init(this, options, instance, create_fragment, safe_not_equal, {}, null); dispatch_dev("SvelteRegisterComponent", { component: this, diff --git a/test/js/samples/debug-no-dependencies/expected.js b/test/js/samples/debug-no-dependencies/expected.js index 99b20fb23999..e5532e652f28 100644 --- a/test/js/samples/debug-no-dependencies/expected.js +++ b/test/js/samples/debug-no-dependencies/expected.js @@ -21,7 +21,6 @@ function get_each_context(ctx, list, i) { const child_ctx = ctx.slice(); child_ctx[0] = list[i]; child_ctx[2] = i; - child_ctx.root = ctx.root; return child_ctx; } @@ -151,7 +150,7 @@ function instance($$self, $$props) { class Component extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance, create_fragment, safe_not_equal, {}); + init(this, options, instance, create_fragment, safe_not_equal, {}, null); dispatch_dev("SvelteRegisterComponent", { component: this, diff --git a/test/js/samples/deconflict-builtins/expected.js b/test/js/samples/deconflict-builtins/expected.js index 9ab7ef693105..c4631bda82dc 100644 --- a/test/js/samples/deconflict-builtins/expected.js +++ b/test/js/samples/deconflict-builtins/expected.js @@ -17,7 +17,6 @@ import { function get_each_context(ctx, list, i) { const child_ctx = ctx.slice(); child_ctx[1] = list[i]; - child_ctx.root = ctx.root; return child_ctx; } @@ -115,7 +114,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { createElement: 0 }); + init(this, options, instance, create_fragment, safe_not_equal, { createElement: 0 }, null); } } diff --git a/test/js/samples/deconflict-globals/expected.js b/test/js/samples/deconflict-globals/expected.js index 7168eba6a5d9..b86f471c4a39 100644 --- a/test/js/samples/deconflict-globals/expected.js +++ b/test/js/samples/deconflict-globals/expected.js @@ -20,7 +20,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, null, safe_not_equal, { foo: 0 }); + init(this, options, instance, null, safe_not_equal, { foo: 0 }, null); } } diff --git a/test/js/samples/dev-warning-missing-data-computed/expected.js b/test/js/samples/dev-warning-missing-data-computed/expected.js index a981d88dca5e..43cf8a91e21e 100644 --- a/test/js/samples/dev-warning-missing-data-computed/expected.js +++ b/test/js/samples/dev-warning-missing-data-computed/expected.js @@ -102,7 +102,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance, create_fragment, safe_not_equal, { foo: 0 }); + init(this, options, instance, create_fragment, safe_not_equal, { foo: 0 }, null); dispatch_dev("SvelteRegisterComponent", { component: this, diff --git a/test/js/samples/dont-invalidate-this/expected.js b/test/js/samples/dont-invalidate-this/expected.js index 0b155373a14f..eca9a70123e3 100644 --- a/test/js/samples/dont-invalidate-this/expected.js +++ b/test/js/samples/dont-invalidate-this/expected.js @@ -45,7 +45,7 @@ function make_uppercase() { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}); + init(this, options, null, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/dynamic-import/expected.js b/test/js/samples/dynamic-import/expected.js index d1085f431b7c..acc25ef1177a 100644 --- a/test/js/samples/dynamic-import/expected.js +++ b/test/js/samples/dynamic-import/expected.js @@ -47,7 +47,7 @@ const func = () => import("./Foo.svelte"); class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}); + init(this, options, null, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/each-block-array-literal/expected.js b/test/js/samples/each-block-array-literal/expected.js index d21bd3d315e1..e1f6b07aed1d 100644 --- a/test/js/samples/each-block-array-literal/expected.js +++ b/test/js/samples/each-block-array-literal/expected.js @@ -17,7 +17,6 @@ import { function get_each_context(ctx, list, i) { const child_ctx = ctx.slice(); child_ctx[5] = list[i]; - child_ctx.root = ctx.root; return child_ctx; } @@ -121,7 +120,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { a: 0, b: 1, c: 2, d: 3, e: 4 }); + init(this, options, instance, create_fragment, safe_not_equal, { a: 0, b: 1, c: 2, d: 3, e: 4 }, null); } } diff --git a/test/js/samples/each-block-changed-check/expected.js b/test/js/samples/each-block-changed-check/expected.js index 98e08a714282..7f423d6f3c20 100644 --- a/test/js/samples/each-block-changed-check/expected.js +++ b/test/js/samples/each-block-changed-check/expected.js @@ -20,7 +20,6 @@ function get_each_context(ctx, list, i) { const child_ctx = ctx.slice(); child_ctx[4] = list[i]; child_ctx[6] = i; - child_ctx.root = ctx.root; return child_ctx; } @@ -167,7 +166,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { comments: 0, elapsed: 1, time: 2, foo: 3 }); + init(this, options, instance, create_fragment, safe_not_equal, { comments: 0, elapsed: 1, time: 2, foo: 3 }, null); } } diff --git a/test/js/samples/each-block-keyed-animated/expected.js b/test/js/samples/each-block-keyed-animated/expected.js index 23f572e58f55..48edbed12147 100644 --- a/test/js/samples/each-block-keyed-animated/expected.js +++ b/test/js/samples/each-block-keyed-animated/expected.js @@ -20,7 +20,6 @@ import { function get_each_context(ctx, list, i) { const child_ctx = ctx.slice(); child_ctx[1] = list[i]; - child_ctx.root = ctx.root; return child_ctx; } @@ -140,7 +139,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { things: 0 }); + init(this, options, instance, create_fragment, safe_not_equal, { things: 0 }, null); } } diff --git a/test/js/samples/each-block-keyed/expected.js b/test/js/samples/each-block-keyed/expected.js index 2c1e13e96e0d..053f370eede8 100644 --- a/test/js/samples/each-block-keyed/expected.js +++ b/test/js/samples/each-block-keyed/expected.js @@ -18,7 +18,6 @@ import { function get_each_context(ctx, list, i) { const child_ctx = ctx.slice(); child_ctx[1] = list[i]; - child_ctx.root = ctx.root; return child_ctx; } @@ -109,7 +108,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { things: 0 }); + init(this, options, instance, create_fragment, safe_not_equal, { things: 0 }, null); } } diff --git a/test/js/samples/empty-dom/expected.js b/test/js/samples/empty-dom/expected.js index d5c80be696b5..50ea2280441e 100644 --- a/test/js/samples/empty-dom/expected.js +++ b/test/js/samples/empty-dom/expected.js @@ -9,7 +9,7 @@ function instance($$self) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, null, safe_not_equal, {}); + init(this, options, instance, null, safe_not_equal, {}, null); } } diff --git a/test/js/samples/event-handler-dynamic/expected.js b/test/js/samples/event-handler-dynamic/expected.js index dacdfe15ac37..df6a87362db8 100644 --- a/test/js/samples/event-handler-dynamic/expected.js +++ b/test/js/samples/event-handler-dynamic/expected.js @@ -103,7 +103,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}); + init(this, options, instance, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/event-handler-no-passive/expected.js b/test/js/samples/event-handler-no-passive/expected.js index 4d4b910d4eae..17c2ae648c1e 100644 --- a/test/js/samples/event-handler-no-passive/expected.js +++ b/test/js/samples/event-handler-no-passive/expected.js @@ -46,7 +46,7 @@ const touchstart_handler = e => e.preventDefault(); class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}); + init(this, options, null, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/event-modifiers/expected.js b/test/js/samples/event-modifiers/expected.js index 28db44282862..b2ed07da3039 100644 --- a/test/js/samples/event-modifiers/expected.js +++ b/test/js/samples/event-modifiers/expected.js @@ -86,7 +86,7 @@ function handleClick() { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}); + init(this, options, null, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/head-no-whitespace/expected.js b/test/js/samples/head-no-whitespace/expected.js index 444bad3fd48a..e30c3de43ca0 100644 --- a/test/js/samples/head-no-whitespace/expected.js +++ b/test/js/samples/head-no-whitespace/expected.js @@ -40,7 +40,7 @@ function create_fragment(ctx) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}); + init(this, options, null, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/hoisted-const/expected.js b/test/js/samples/hoisted-const/expected.js index 2842b547516e..24dc9ab8a9e2 100644 --- a/test/js/samples/hoisted-const/expected.js +++ b/test/js/samples/hoisted-const/expected.js @@ -38,7 +38,7 @@ function get_answer() { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}); + init(this, options, null, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/hoisted-let/expected.js b/test/js/samples/hoisted-let/expected.js index 285b12411835..633c7d431c30 100644 --- a/test/js/samples/hoisted-let/expected.js +++ b/test/js/samples/hoisted-let/expected.js @@ -38,7 +38,7 @@ function get_answer() { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}); + init(this, options, null, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/hydrated-void-element/expected.js b/test/js/samples/hydrated-void-element/expected.js index e53d16d9250e..e6c07b270d2e 100644 --- a/test/js/samples/hydrated-void-element/expected.js +++ b/test/js/samples/hydrated-void-element/expected.js @@ -57,7 +57,7 @@ function create_fragment(ctx) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}); + init(this, options, null, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/if-block-complex/expected.js b/test/js/samples/if-block-complex/expected.js index a8244de8b02d..83d22ecb0aad 100644 --- a/test/js/samples/if-block-complex/expected.js +++ b/test/js/samples/if-block-complex/expected.js @@ -60,7 +60,7 @@ function instance($$self) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}); + init(this, options, instance, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/if-block-no-update/expected.js b/test/js/samples/if-block-no-update/expected.js index c67b33fa8557..cc02bd3b461e 100644 --- a/test/js/samples/if-block-no-update/expected.js +++ b/test/js/samples/if-block-no-update/expected.js @@ -98,7 +98,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { foo: 0 }); + init(this, options, instance, create_fragment, safe_not_equal, { foo: 0 }, null); } } diff --git a/test/js/samples/if-block-simple/expected.js b/test/js/samples/if-block-simple/expected.js index f4994811fbdc..7ae4be7de628 100644 --- a/test/js/samples/if-block-simple/expected.js +++ b/test/js/samples/if-block-simple/expected.js @@ -76,7 +76,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { foo: 0 }); + init(this, options, instance, create_fragment, safe_not_equal, { foo: 0 }, null); } } diff --git a/test/js/samples/import-meta/expected.js b/test/js/samples/import-meta/expected.js index ba77398321cf..14581900a394 100644 --- a/test/js/samples/import-meta/expected.js +++ b/test/js/samples/import-meta/expected.js @@ -46,7 +46,7 @@ function instance($$self) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}); + init(this, options, instance, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/initial-context/expected.js b/test/js/samples/initial-context/expected.js index 592e2a709e9c..4ac86448772c 100644 --- a/test/js/samples/initial-context/expected.js +++ b/test/js/samples/initial-context/expected.js @@ -52,7 +52,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}); + init(this, options, instance, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/inline-style-optimized-multiple/expected.js b/test/js/samples/inline-style-optimized-multiple/expected.js index 0a9d0a1e8eba..7097a0065928 100644 --- a/test/js/samples/inline-style-optimized-multiple/expected.js +++ b/test/js/samples/inline-style-optimized-multiple/expected.js @@ -56,7 +56,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { color: 0, x: 1, y: 2 }); + init(this, options, instance, create_fragment, safe_not_equal, { color: 0, x: 1, y: 2 }, null); } } diff --git a/test/js/samples/inline-style-optimized-url/expected.js b/test/js/samples/inline-style-optimized-url/expected.js index 0debb035854f..6e2d49f3464b 100644 --- a/test/js/samples/inline-style-optimized-url/expected.js +++ b/test/js/samples/inline-style-optimized-url/expected.js @@ -47,7 +47,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { data: 0 }); + init(this, options, instance, create_fragment, safe_not_equal, { data: 0 }, null); } } diff --git a/test/js/samples/inline-style-optimized/expected.js b/test/js/samples/inline-style-optimized/expected.js index b7db0f1cf30b..731844706b6f 100644 --- a/test/js/samples/inline-style-optimized/expected.js +++ b/test/js/samples/inline-style-optimized/expected.js @@ -47,7 +47,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { color: 0 }); + init(this, options, instance, create_fragment, safe_not_equal, { color: 0 }, null); } } diff --git a/test/js/samples/inline-style-unoptimized/expected.js b/test/js/samples/inline-style-unoptimized/expected.js index 0688f14b9b24..1b030746f302 100644 --- a/test/js/samples/inline-style-unoptimized/expected.js +++ b/test/js/samples/inline-style-unoptimized/expected.js @@ -66,7 +66,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { style: 0, key: 1, value: 2 }); + init(this, options, instance, create_fragment, safe_not_equal, { style: 0, key: 1, value: 2 }, null); } } diff --git a/test/js/samples/inline-style-without-updates/expected.js b/test/js/samples/inline-style-without-updates/expected.js index 375896f259ea..376ee027a858 100644 --- a/test/js/samples/inline-style-without-updates/expected.js +++ b/test/js/samples/inline-style-without-updates/expected.js @@ -35,7 +35,7 @@ let color = "red"; class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}); + init(this, options, null, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/input-files/expected.js b/test/js/samples/input-files/expected.js index 8adc7443f5c1..906253546f4c 100644 --- a/test/js/samples/input-files/expected.js +++ b/test/js/samples/input-files/expected.js @@ -59,7 +59,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { files: 0 }); + init(this, options, instance, create_fragment, safe_not_equal, { files: 0 }, null); } } diff --git a/test/js/samples/input-no-initial-value/expected.js b/test/js/samples/input-no-initial-value/expected.js index 3354aa31117e..e3f82e4a85a6 100644 --- a/test/js/samples/input-no-initial-value/expected.js +++ b/test/js/samples/input-no-initial-value/expected.js @@ -83,7 +83,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}); + init(this, options, instance, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/input-range/expected.js b/test/js/samples/input-range/expected.js index a855ca3653fe..926d45e753d6 100644 --- a/test/js/samples/input-range/expected.js +++ b/test/js/samples/input-range/expected.js @@ -70,7 +70,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { value: 0 }); + init(this, options, instance, create_fragment, safe_not_equal, { value: 0 }, null); } } diff --git a/test/js/samples/input-value/expected.js b/test/js/samples/input-value/expected.js index 781a2ae60358..9ae359fdc6c6 100644 --- a/test/js/samples/input-value/expected.js +++ b/test/js/samples/input-value/expected.js @@ -76,7 +76,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}); + init(this, options, instance, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/input-without-blowback-guard/expected.js b/test/js/samples/input-without-blowback-guard/expected.js index 6c5b2156232f..ead7de593199 100644 --- a/test/js/samples/input-without-blowback-guard/expected.js +++ b/test/js/samples/input-without-blowback-guard/expected.js @@ -63,7 +63,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { foo: 0 }); + init(this, options, instance, create_fragment, safe_not_equal, { foo: 0 }, null); } } diff --git a/test/js/samples/instrumentation-script-if-no-block/expected.js b/test/js/samples/instrumentation-script-if-no-block/expected.js index 7f51c6455007..53516cca648b 100644 --- a/test/js/samples/instrumentation-script-if-no-block/expected.js +++ b/test/js/samples/instrumentation-script-if-no-block/expected.js @@ -72,7 +72,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}); + init(this, options, instance, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/instrumentation-script-main-block/expected.js b/test/js/samples/instrumentation-script-main-block/expected.js index a471a50b37cf..2f87338c7896 100644 --- a/test/js/samples/instrumentation-script-main-block/expected.js +++ b/test/js/samples/instrumentation-script-main-block/expected.js @@ -68,7 +68,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}); + init(this, options, instance, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/instrumentation-script-x-equals-x/expected.js b/test/js/samples/instrumentation-script-x-equals-x/expected.js index ea0d65acb906..f511073e5953 100644 --- a/test/js/samples/instrumentation-script-x-equals-x/expected.js +++ b/test/js/samples/instrumentation-script-x-equals-x/expected.js @@ -74,7 +74,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}); + init(this, options, instance, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/instrumentation-template-if-no-block/expected.js b/test/js/samples/instrumentation-template-if-no-block/expected.js index 0c2713a9cc64..cc78b00b35c0 100644 --- a/test/js/samples/instrumentation-template-if-no-block/expected.js +++ b/test/js/samples/instrumentation-template-if-no-block/expected.js @@ -72,7 +72,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}); + init(this, options, instance, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/instrumentation-template-x-equals-x/expected.js b/test/js/samples/instrumentation-template-x-equals-x/expected.js index 55cd310661e7..02b325ca464e 100644 --- a/test/js/samples/instrumentation-template-x-equals-x/expected.js +++ b/test/js/samples/instrumentation-template-x-equals-x/expected.js @@ -74,7 +74,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}); + init(this, options, instance, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/legacy-input-type/expected.js b/test/js/samples/legacy-input-type/expected.js index 2b76a485225a..baafa63d758b 100644 --- a/test/js/samples/legacy-input-type/expected.js +++ b/test/js/samples/legacy-input-type/expected.js @@ -33,7 +33,7 @@ function create_fragment(ctx) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}); + init(this, options, null, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/loop-protect/expected.js b/test/js/samples/loop-protect/expected.js index 26721d6be6a8..c6aad3034e3d 100644 --- a/test/js/samples/loop-protect/expected.js +++ b/test/js/samples/loop-protect/expected.js @@ -154,7 +154,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance, create_fragment, safe_not_equal, {}); + init(this, options, instance, create_fragment, safe_not_equal, {}, null); dispatch_dev("SvelteRegisterComponent", { component: this, diff --git a/test/js/samples/media-bindings/expected.js b/test/js/samples/media-bindings/expected.js index 867d4a7dadfb..02c2015e978f 100644 --- a/test/js/samples/media-bindings/expected.js +++ b/test/js/samples/media-bindings/expected.js @@ -215,19 +215,27 @@ class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { - buffered: 0, - seekable: 1, - played: 2, - currentTime: 3, - duration: 4, - paused: 5, - volume: 6, - muted: 7, - playbackRate: 8, - seeking: 9, - ended: 10 - }); + init( + this, + options, + instance, + create_fragment, + safe_not_equal, + { + buffered: 0, + seekable: 1, + played: 2, + currentTime: 3, + duration: 4, + paused: 5, + volume: 6, + muted: 7, + playbackRate: 8, + seeking: 9, + ended: 10 + }, + null + ); } } diff --git a/test/js/samples/non-imported-component/expected.js b/test/js/samples/non-imported-component/expected.js index 5a6b8e8bb730..1331e7f6ec07 100644 --- a/test/js/samples/non-imported-component/expected.js +++ b/test/js/samples/non-imported-component/expected.js @@ -59,7 +59,7 @@ function create_fragment(ctx) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}); + init(this, options, null, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/non-mutable-reference/expected.js b/test/js/samples/non-mutable-reference/expected.js index 93f2145a2e65..b43df9c7e569 100644 --- a/test/js/samples/non-mutable-reference/expected.js +++ b/test/js/samples/non-mutable-reference/expected.js @@ -34,7 +34,7 @@ let name = "world"; class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}); + init(this, options, null, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/optional-chaining/expected.js b/test/js/samples/optional-chaining/expected.js index 8aa94796c1b0..d80e2f9318cb 100644 --- a/test/js/samples/optional-chaining/expected.js +++ b/test/js/samples/optional-chaining/expected.js @@ -182,7 +182,7 @@ function instance($$self, $$props, $$invalidate) { class Component_1 extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { a: 0, b: 1, c: 2, d: 3, e: 4, f: 5 }); + init(this, options, instance, create_fragment, safe_not_equal, { a: 0, b: 1, c: 2, d: 3, e: 4, f: 5 }, null); } } diff --git a/test/js/samples/reactive-class-optimized/expected.js b/test/js/samples/reactive-class-optimized/expected.js index b7c2c3a60bf5..ba3de7bc0749 100644 --- a/test/js/samples/reactive-class-optimized/expected.js +++ b/test/js/samples/reactive-class-optimized/expected.js @@ -155,7 +155,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}); + init(this, options, instance, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/reactive-values-non-topologically-ordered/expected.js b/test/js/samples/reactive-values-non-topologically-ordered/expected.js index dbfd794dc77b..dccf4b89be94 100644 --- a/test/js/samples/reactive-values-non-topologically-ordered/expected.js +++ b/test/js/samples/reactive-values-non-topologically-ordered/expected.js @@ -26,7 +26,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, null, safe_not_equal, { x: 0 }); + init(this, options, instance, null, safe_not_equal, { x: 0 }, null); } } diff --git a/test/js/samples/reactive-values-non-writable-dependencies/expected.js b/test/js/samples/reactive-values-non-writable-dependencies/expected.js index 5196a770d976..a8850da05186 100644 --- a/test/js/samples/reactive-values-non-writable-dependencies/expected.js +++ b/test/js/samples/reactive-values-non-writable-dependencies/expected.js @@ -22,7 +22,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, null, safe_not_equal, { a: 0, b: 1 }); + init(this, options, instance, null, safe_not_equal, { a: 0, b: 1 }, null); } } diff --git a/test/js/samples/select-dynamic-value/expected.js b/test/js/samples/select-dynamic-value/expected.js index 8777cd260072..8562b77f303a 100644 --- a/test/js/samples/select-dynamic-value/expected.js +++ b/test/js/samples/select-dynamic-value/expected.js @@ -60,7 +60,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { current: 0 }); + init(this, options, instance, create_fragment, safe_not_equal, { current: 0 }, null); } } diff --git a/test/js/samples/setup-method/expected.js b/test/js/samples/setup-method/expected.js index 8e30a03a7dd4..570345c8b228 100644 --- a/test/js/samples/setup-method/expected.js +++ b/test/js/samples/setup-method/expected.js @@ -14,7 +14,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, null, safe_not_equal, { foo: 0 }); + init(this, options, instance, null, safe_not_equal, { foo: 0 }, null); } get foo() { diff --git a/test/js/samples/src-attribute-check/expected.js b/test/js/samples/src-attribute-check/expected.js index 93638edfb43b..c574e3307535 100644 --- a/test/js/samples/src-attribute-check/expected.js +++ b/test/js/samples/src-attribute-check/expected.js @@ -78,7 +78,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { url: 0, slug: 1 }); + init(this, options, instance, create_fragment, safe_not_equal, { url: 0, slug: 1 }, null); } } diff --git a/test/js/samples/svg-title/expected.js b/test/js/samples/svg-title/expected.js index cd7ae3b55152..56f61dbb0019 100644 --- a/test/js/samples/svg-title/expected.js +++ b/test/js/samples/svg-title/expected.js @@ -39,7 +39,7 @@ function create_fragment(ctx) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}); + init(this, options, null, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/title/expected.js b/test/js/samples/title/expected.js index b10f569759d4..cb455a4cb8ee 100644 --- a/test/js/samples/title/expected.js +++ b/test/js/samples/title/expected.js @@ -32,7 +32,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { custom: 0 }); + init(this, options, instance, create_fragment, safe_not_equal, { custom: 0 }, null); } } diff --git a/test/js/samples/transition-local/expected.js b/test/js/samples/transition-local/expected.js index 149953e30d79..aa32bd3aa300 100644 --- a/test/js/samples/transition-local/expected.js +++ b/test/js/samples/transition-local/expected.js @@ -135,7 +135,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { x: 0, y: 1 }); + init(this, options, instance, create_fragment, safe_not_equal, { x: 0, y: 1 }, null); } } diff --git a/test/js/samples/transition-repeated-outro/expected.js b/test/js/samples/transition-repeated-outro/expected.js index 12483ab91af7..f1feec3dfebf 100644 --- a/test/js/samples/transition-repeated-outro/expected.js +++ b/test/js/samples/transition-repeated-outro/expected.js @@ -112,7 +112,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { num: 0 }); + init(this, options, instance, create_fragment, safe_not_equal, { num: 0 }, null); } } diff --git a/test/js/samples/unchanged-expression/expected.js b/test/js/samples/unchanged-expression/expected.js index 673d5b6abc8d..edbe680e6c35 100644 --- a/test/js/samples/unchanged-expression/expected.js +++ b/test/js/samples/unchanged-expression/expected.js @@ -85,7 +85,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}); + init(this, options, instance, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/unreferenced-state-not-invalidated/expected.js b/test/js/samples/unreferenced-state-not-invalidated/expected.js index 53044c7ed6d8..f134ca61e9f1 100644 --- a/test/js/samples/unreferenced-state-not-invalidated/expected.js +++ b/test/js/samples/unreferenced-state-not-invalidated/expected.js @@ -69,7 +69,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}); + init(this, options, instance, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/use-elements-as-anchors/expected.js b/test/js/samples/use-elements-as-anchors/expected.js index 915663add9b5..83be5dfd786d 100644 --- a/test/js/samples/use-elements-as-anchors/expected.js +++ b/test/js/samples/use-elements-as-anchors/expected.js @@ -257,7 +257,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { a: 0, b: 1, c: 2, d: 3, e: 4 }); + init(this, options, instance, create_fragment, safe_not_equal, { a: 0, b: 1, c: 2, d: 3, e: 4 }, null); } } diff --git a/test/js/samples/valid-inner-html-for-static-element/expected.js b/test/js/samples/valid-inner-html-for-static-element/expected.js index f1ced27ba458..3275467fdcd4 100644 --- a/test/js/samples/valid-inner-html-for-static-element/expected.js +++ b/test/js/samples/valid-inner-html-for-static-element/expected.js @@ -32,7 +32,7 @@ function create_fragment(ctx) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}); + init(this, options, null, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/video-bindings/expected.js b/test/js/samples/video-bindings/expected.js index 8afa670bbb52..415a3d06d088 100644 --- a/test/js/samples/video-bindings/expected.js +++ b/test/js/samples/video-bindings/expected.js @@ -115,12 +115,20 @@ class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { - currentTime: 0, - videoHeight: 1, - videoWidth: 2, - offsetWidth: 3 - }); + init( + this, + options, + instance, + create_fragment, + safe_not_equal, + { + currentTime: 0, + videoHeight: 1, + videoWidth: 2, + offsetWidth: 3 + }, + null + ); } } diff --git a/test/js/samples/window-binding-online/expected.js b/test/js/samples/window-binding-online/expected.js index 887195bce1b3..dfb61bd74aa4 100644 --- a/test/js/samples/window-binding-online/expected.js +++ b/test/js/samples/window-binding-online/expected.js @@ -49,7 +49,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}); + init(this, options, instance, create_fragment, safe_not_equal, {}, null); } } diff --git a/test/js/samples/window-binding-scroll/expected.js b/test/js/samples/window-binding-scroll/expected.js index 09a4d3737d29..22291fad9f46 100644 --- a/test/js/samples/window-binding-scroll/expected.js +++ b/test/js/samples/window-binding-scroll/expected.js @@ -88,7 +88,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { y: 0 }); + init(this, options, instance, create_fragment, safe_not_equal, { y: 0 }, null); } } diff --git a/test/sourcemaps/samples/compile-option-dev/test.js b/test/sourcemaps/samples/compile-option-dev/test.js index 750a6afc640d..ba3d9f7b2839 100644 --- a/test/sourcemaps/samples/compile-option-dev/test.js +++ b/test/sourcemaps/samples/compile-option-dev/test.js @@ -5,7 +5,7 @@ const b64dec = s => Buffer.from(s, 'base64').toString(); export async function test({ assert, css, js }) { // We check that the css source map embedded in the js is accurate - const match = js.code.match(/\tappend_styles\(options, ".{6}", "(.*?)(?:\\n\/\*# sourceMappingURL=data:(.*?);charset=(.*?);base64,(.*?) \*\/)?"\);\n/); + const match = js.code.match(/\tappend_styles\(target, ".{6}", "(.*?)(?:\\n\/\*# sourceMappingURL=data:(.*?);charset=(.*?);base64,(.*?) \*\/)?"\);\n/); assert.notEqual(match, null); const [mimeType, encoding, cssMapBase64] = match.slice(2); From bd90b1fad9bcbe6029e13c41d4ce694a5c042b4a Mon Sep 17 00:00:00 2001 From: Ivan Hofer Date: Tue, 4 May 2021 07:14:43 +0200 Subject: [PATCH 12/30] use `get_root_for_node` instead of `node.ownerDocument` --- src/runtime/internal/dom.ts | 2 +- src/runtime/internal/style_manager.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/runtime/internal/dom.ts b/src/runtime/internal/dom.ts index aa105f04c885..b0386dcbb540 100644 --- a/src/runtime/internal/dom.ts +++ b/src/runtime/internal/dom.ts @@ -128,7 +128,7 @@ export function append_styles( } } -function get_root_for_node(node: Node) { +export function get_root_for_node(node: Node) { if (!node) return document.head; const root = (node.getRootNode ? node.getRootNode() : node.ownerDocument); // check for getRootNode because IE is still supported diff --git a/src/runtime/internal/style_manager.ts b/src/runtime/internal/style_manager.ts index c088af9dacbd..a646c9b916f7 100644 --- a/src/runtime/internal/style_manager.ts +++ b/src/runtime/internal/style_manager.ts @@ -1,4 +1,4 @@ -import { append_empty_stylesheet } from './dom'; +import { append_empty_stylesheet, get_root_for_node } from './dom'; import { raf } from './environment'; interface ExtendedDoc extends Document { @@ -29,7 +29,7 @@ export function create_rule(node: Element & ElementCSSInlineStyle, a: number, b: const rule = keyframes + `100% {${fn(b, 1 - b)}}\n}`; const name = `__svelte_${hash(rule)}_${uid}`; - const doc = node.ownerDocument as ExtendedDoc; + const doc = get_root_for_node(node) as unknown as ExtendedDoc; active_docs.add(doc); const stylesheet = doc.__svelte_stylesheet || (doc.__svelte_stylesheet = append_empty_stylesheet(node).sheet as CSSStyleSheet); const current_rules = doc.__svelte_rules || (doc.__svelte_rules = {}); From af3e1649212a9af1e44945378b0b913ac3ef60d0 Mon Sep 17 00:00:00 2001 From: Ivan Hofer Date: Thu, 6 May 2021 07:24:34 +0200 Subject: [PATCH 13/30] split function `get_root_for_node` into `get_root_for_node` and `get_root_for_styles` --- src/runtime/internal/dom.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/runtime/internal/dom.ts b/src/runtime/internal/dom.ts index b0386dcbb540..c4c90dbc8b43 100644 --- a/src/runtime/internal/dom.ts +++ b/src/runtime/internal/dom.ts @@ -118,7 +118,7 @@ export function append_styles( styles: string, styleId: string = `svelte-${styleSheetId}-style` ) { - const appendStylesTo = get_root_for_node(target); + const appendStylesTo = get_root_for_styles(target); if (!appendStylesTo?.querySelector('#' + styleId)) { const style = element('style'); @@ -129,14 +129,18 @@ export function append_styles( } export function get_root_for_node(node: Node) { - if (!node) return document.head; + if (!node) return document; - const root = (node.getRootNode ? node.getRootNode() : node.ownerDocument); // check for getRootNode because IE is still supported + return (node.getRootNode ? node.getRootNode() : node.ownerDocument); // check for getRootNode because IE is still supported +} + +export function get_root_for_styles(node: Node) { + const root = get_root_for_node(node); return ((root as ShadowRoot).host ? root : (root as Document).head) as Element; } export function append_empty_stylesheet(node: Node) { - return get_root_for_node(node).appendChild(element('style') as HTMLStyleElement); + return get_root_for_styles(node).appendChild(element('style') as HTMLStyleElement); } export function append(target: NodeEx, node: NodeEx) { From 0414ee69c44c1483034e69cc39acd464940cb14c Mon Sep 17 00:00:00 2001 From: Ivan Hofer Date: Sun, 27 Jun 2021 15:50:59 +0200 Subject: [PATCH 14/30] test another append_styles approach --- src/runtime/internal/Component.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/runtime/internal/Component.ts b/src/runtime/internal/Component.ts index e706928af305..65440c52cb4a 100644 --- a/src/runtime/internal/Component.ts +++ b/src/runtime/internal/Component.ts @@ -104,7 +104,15 @@ function make_dirty(component, i) { component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31)); } -export function init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) { +let append_styles; +export function set_append_styles(append_styles_fn) { + append_styles = function (root) { + append_styles_fn(root); + append_styles = null; + }; +} + +export function init(component, options, instance, create_fragment, not_equal, props, _append_styles_legacy, dirty = [-1]) { const parent_component = current_component; set_current_component(component); From e5ecca32c736c412513273b526b01c27404978c5 Mon Sep 17 00:00:00 2001 From: Ivan Hofer Date: Mon, 28 Jun 2021 17:49:56 +0200 Subject: [PATCH 15/30] only output `null` as value for `append_styles` in `init` function if `dirty` is set --- src/compiler/compile/render_dom/index.ts | 10 ++++++++++ src/runtime/internal/Component.ts | 10 +--------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/compiler/compile/render_dom/index.ts b/src/compiler/compile/render_dom/index.ts index 4eb13e1eff67..b57ea867b98f 100644 --- a/src/compiler/compile/render_dom/index.ts +++ b/src/compiler/compile/render_dom/index.ts @@ -529,6 +529,16 @@ export default function dom( name: options.dev ? '@SvelteComponentDev' : '@SvelteComponent' }; + const optionalParameters = []; + if (should_add_css) { + optionalParameters.push(add_css); + } else if (dirty) { + optionalParameters.push(x`null`); + } + if (dirty) { + optionalParameters.push(dirty); + } + const declaration = b` class ${name} extends ${superclass} { constructor(options) { diff --git a/src/runtime/internal/Component.ts b/src/runtime/internal/Component.ts index 65440c52cb4a..e706928af305 100644 --- a/src/runtime/internal/Component.ts +++ b/src/runtime/internal/Component.ts @@ -104,15 +104,7 @@ function make_dirty(component, i) { component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31)); } -let append_styles; -export function set_append_styles(append_styles_fn) { - append_styles = function (root) { - append_styles_fn(root); - append_styles = null; - }; -} - -export function init(component, options, instance, create_fragment, not_equal, props, _append_styles_legacy, dirty = [-1]) { +export function init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) { const parent_component = current_component; set_current_component(component); From e4a19d28e988989a57f0b97fb120cd47b185e0e0 Mon Sep 17 00:00:00 2001 From: Ivan Hofer Date: Tue, 29 Jun 2021 07:24:54 +0200 Subject: [PATCH 16/30] fix tests --- .../action-custom-event-handler/expected.js | 4 +-- test/js/samples/action/expected.js | 2 +- test/js/samples/bind-online/expected.js | 2 +- test/js/samples/bind-open/expected.js | 2 +- test/js/samples/bind-width-height/expected.js | 2 +- .../bindings-readonly-order/expected.js | 2 +- .../capture-inject-dev-only/expected.js | 2 +- .../samples/capture-inject-state/expected.js | 2 +- .../component-static-array/expected.js | 2 +- .../component-static-immutable/expected.js | 2 +- .../component-static-immutable2/expected.js | 2 +- .../samples/component-static-var/expected.js | 2 +- test/js/samples/component-static/expected.js | 2 +- .../expected.js | 2 +- .../expected.js | 2 +- .../expected.js | 2 +- .../samples/computed-collapsed-if/expected.js | 2 +- test/js/samples/data-attribute/expected.js | 2 +- test/js/samples/debug-empty/expected.js | 2 +- .../debug-foo-bar-baz-things/expected.js | 2 +- test/js/samples/debug-foo/expected.js | 2 +- test/js/samples/debug-hoisted/expected.js | 2 +- .../samples/debug-no-dependencies/expected.js | 2 +- .../samples/deconflict-builtins/expected.js | 2 +- .../js/samples/deconflict-globals/expected.js | 2 +- .../expected.js | 2 +- .../samples/dont-invalidate-this/expected.js | 2 +- test/js/samples/dynamic-import/expected.js | 2 +- .../each-block-array-literal/expected.js | 2 +- .../each-block-changed-check/expected.js | 2 +- .../each-block-keyed-animated/expected.js | 2 +- test/js/samples/each-block-keyed/expected.js | 2 +- test/js/samples/empty-dom/expected.js | 2 +- .../samples/event-handler-dynamic/expected.js | 2 +- .../event-handler-no-passive/expected.js | 2 +- test/js/samples/event-modifiers/expected.js | 6 ++-- .../js/samples/head-no-whitespace/expected.js | 2 +- test/js/samples/hoisted-const/expected.js | 2 +- test/js/samples/hoisted-let/expected.js | 2 +- .../samples/hydrated-void-element/expected.js | 2 +- test/js/samples/if-block-complex/expected.js | 2 +- .../js/samples/if-block-no-update/expected.js | 2 +- test/js/samples/if-block-simple/expected.js | 4 +-- test/js/samples/import-meta/expected.js | 2 +- test/js/samples/initial-context/expected.js | 2 +- .../expected.js | 2 +- .../inline-style-optimized-url/expected.js | 2 +- .../inline-style-optimized/expected.js | 2 +- .../inline-style-unoptimized/expected.js | 2 +- .../inline-style-without-updates/expected.js | 2 +- test/js/samples/input-files/expected.js | 2 +- .../input-no-initial-value/expected.js | 2 +- test/js/samples/input-range/expected.js | 2 +- test/js/samples/input-value/expected.js | 2 +- .../input-without-blowback-guard/expected.js | 2 +- .../expected.js | 2 +- .../expected.js | 2 +- .../expected.js | 2 +- .../expected.js | 2 +- .../expected.js | 2 +- test/js/samples/legacy-input-type/expected.js | 2 +- test/js/samples/loop-protect/expected.js | 2 +- test/js/samples/media-bindings/expected.js | 34 +++++++------------ .../non-imported-component/expected.js | 2 +- .../samples/non-mutable-reference/expected.js | 2 +- test/js/samples/optional-chaining/expected.js | 2 +- .../reactive-class-optimized/expected.js | 4 +-- .../expected.js | 2 +- .../expected.js | 2 +- .../samples/select-dynamic-value/expected.js | 2 +- test/js/samples/setup-method/expected.js | 2 +- .../samples/src-attribute-check/expected.js | 2 +- test/js/samples/svg-title/expected.js | 2 +- test/js/samples/title/expected.js | 2 +- test/js/samples/transition-local/expected.js | 4 +-- .../transition-repeated-outro/expected.js | 2 +- .../samples/unchanged-expression/expected.js | 2 +- .../expected.js | 2 +- .../use-elements-as-anchors/expected.js | 12 +++---- .../expected.js | 2 +- test/js/samples/video-bindings/expected.js | 20 ++++------- .../samples/window-binding-online/expected.js | 2 +- .../samples/window-binding-scroll/expected.js | 2 +- 83 files changed, 111 insertions(+), 127 deletions(-) diff --git a/test/js/samples/action-custom-event-handler/expected.js b/test/js/samples/action-custom-event-handler/expected.js index 9453908f6a73..51656290d668 100644 --- a/test/js/samples/action-custom-event-handler/expected.js +++ b/test/js/samples/action-custom-event-handler/expected.js @@ -48,7 +48,7 @@ function handleFoo(bar) { } function foo(node, callback) { - + } // code goes here function instance($$self, $$props, $$invalidate) { @@ -65,7 +65,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { bar: 0 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { bar: 0 }); } } diff --git a/test/js/samples/action/expected.js b/test/js/samples/action/expected.js index 29b6d1802026..d52960bddd30 100644 --- a/test/js/samples/action/expected.js +++ b/test/js/samples/action/expected.js @@ -60,7 +60,7 @@ function link(node) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}, null); + init(this, options, null, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/bind-online/expected.js b/test/js/samples/bind-online/expected.js index dfb61bd74aa4..887195bce1b3 100644 --- a/test/js/samples/bind-online/expected.js +++ b/test/js/samples/bind-online/expected.js @@ -49,7 +49,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}, null); + init(this, options, instance, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/bind-open/expected.js b/test/js/samples/bind-open/expected.js index 89605bae10dd..56ff30284572 100644 --- a/test/js/samples/bind-open/expected.js +++ b/test/js/samples/bind-open/expected.js @@ -62,7 +62,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { open: 0 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { open: 0 }); } } diff --git a/test/js/samples/bind-width-height/expected.js b/test/js/samples/bind-width-height/expected.js index c481809f266b..f23c20b68316 100644 --- a/test/js/samples/bind-width-height/expected.js +++ b/test/js/samples/bind-width-height/expected.js @@ -57,7 +57,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { w: 0, h: 1 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { w: 0, h: 1 }); } } diff --git a/test/js/samples/bindings-readonly-order/expected.js b/test/js/samples/bindings-readonly-order/expected.js index 9dc0194beebc..78a71dcd8414 100644 --- a/test/js/samples/bindings-readonly-order/expected.js +++ b/test/js/samples/bindings-readonly-order/expected.js @@ -78,7 +78,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { files: 0 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { files: 0 }); } } diff --git a/test/js/samples/capture-inject-dev-only/expected.js b/test/js/samples/capture-inject-dev-only/expected.js index 496c96fdb0ed..a87693dd9e8e 100644 --- a/test/js/samples/capture-inject-dev-only/expected.js +++ b/test/js/samples/capture-inject-dev-only/expected.js @@ -75,7 +75,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}, null); + init(this, options, instance, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/capture-inject-state/expected.js b/test/js/samples/capture-inject-state/expected.js index 694987f9e0a2..6485526bd4d5 100644 --- a/test/js/samples/capture-inject-state/expected.js +++ b/test/js/samples/capture-inject-state/expected.js @@ -158,7 +158,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance, create_fragment, safe_not_equal, { prop: 0, alias: 1 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { prop: 0, alias: 1 }); dispatch_dev("SvelteRegisterComponent", { component: this, diff --git a/test/js/samples/component-static-array/expected.js b/test/js/samples/component-static-array/expected.js index 2e3e7199fd2d..0ecb0f32ba08 100644 --- a/test/js/samples/component-static-array/expected.js +++ b/test/js/samples/component-static-array/expected.js @@ -48,7 +48,7 @@ function instance($$self) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}, null); + init(this, options, instance, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/component-static-immutable/expected.js b/test/js/samples/component-static-immutable/expected.js index f626805e9774..b0c416541334 100644 --- a/test/js/samples/component-static-immutable/expected.js +++ b/test/js/samples/component-static-immutable/expected.js @@ -48,7 +48,7 @@ function instance($$self) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, not_equal, {}, null); + init(this, options, instance, create_fragment, not_equal, {}); } } diff --git a/test/js/samples/component-static-immutable2/expected.js b/test/js/samples/component-static-immutable2/expected.js index f626805e9774..b0c416541334 100644 --- a/test/js/samples/component-static-immutable2/expected.js +++ b/test/js/samples/component-static-immutable2/expected.js @@ -48,7 +48,7 @@ function instance($$self) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, not_equal, {}, null); + init(this, options, instance, create_fragment, not_equal, {}); } } diff --git a/test/js/samples/component-static-var/expected.js b/test/js/samples/component-static-var/expected.js index 3d0bf3664e5e..2cd5ed386f07 100644 --- a/test/js/samples/component-static-var/expected.js +++ b/test/js/samples/component-static-var/expected.js @@ -101,7 +101,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}, null); + init(this, options, instance, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/component-static/expected.js b/test/js/samples/component-static/expected.js index ed3329d5e628..186f6350e6bd 100644 --- a/test/js/samples/component-static/expected.js +++ b/test/js/samples/component-static/expected.js @@ -48,7 +48,7 @@ function instance($$self) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}, null); + init(this, options, instance, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/component-store-access-invalidate/expected.js b/test/js/samples/component-store-access-invalidate/expected.js index 576e4d24f5b2..4c7bfd7009c3 100644 --- a/test/js/samples/component-store-access-invalidate/expected.js +++ b/test/js/samples/component-store-access-invalidate/expected.js @@ -49,7 +49,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}, null); + init(this, options, instance, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/component-store-file-invalidate/expected.js b/test/js/samples/component-store-file-invalidate/expected.js index ed70c866178a..d2fb3d0be467 100644 --- a/test/js/samples/component-store-file-invalidate/expected.js +++ b/test/js/samples/component-store-file-invalidate/expected.js @@ -23,7 +23,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, null, safe_not_equal, { increment: 0 }, null); + init(this, options, instance, null, safe_not_equal, { increment: 0 }); } get increment() { diff --git a/test/js/samples/component-store-reassign-invalidate/expected.js b/test/js/samples/component-store-reassign-invalidate/expected.js index 692fc4464b4f..0cf555bf0d96 100644 --- a/test/js/samples/component-store-reassign-invalidate/expected.js +++ b/test/js/samples/component-store-reassign-invalidate/expected.js @@ -74,7 +74,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}, null); + init(this, options, instance, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/computed-collapsed-if/expected.js b/test/js/samples/computed-collapsed-if/expected.js index 80ca5340282c..3e70d6a7ae18 100644 --- a/test/js/samples/computed-collapsed-if/expected.js +++ b/test/js/samples/computed-collapsed-if/expected.js @@ -22,7 +22,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, null, safe_not_equal, { x: 0, a: 1, b: 2 }, null); + init(this, options, instance, null, safe_not_equal, { x: 0, a: 1, b: 2 }); } get a() { diff --git a/test/js/samples/data-attribute/expected.js b/test/js/samples/data-attribute/expected.js index 339880ce69b0..8c30e6f6dbb5 100644 --- a/test/js/samples/data-attribute/expected.js +++ b/test/js/samples/data-attribute/expected.js @@ -57,7 +57,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { bar: 0 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { bar: 0 }); } } diff --git a/test/js/samples/debug-empty/expected.js b/test/js/samples/debug-empty/expected.js index 2769b9603fa6..c18eb8699c19 100644 --- a/test/js/samples/debug-empty/expected.js +++ b/test/js/samples/debug-empty/expected.js @@ -98,7 +98,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance, create_fragment, safe_not_equal, { name: 0 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { name: 0 }); dispatch_dev("SvelteRegisterComponent", { component: this, diff --git a/test/js/samples/debug-foo-bar-baz-things/expected.js b/test/js/samples/debug-foo-bar-baz-things/expected.js index 5a27853022db..12a04b438b29 100644 --- a/test/js/samples/debug-foo-bar-baz-things/expected.js +++ b/test/js/samples/debug-foo-bar-baz-things/expected.js @@ -208,7 +208,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance, create_fragment, safe_not_equal, { things: 0, foo: 1, bar: 2, baz: 3 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { things: 0, foo: 1, bar: 2, baz: 3 }); dispatch_dev("SvelteRegisterComponent", { component: this, diff --git a/test/js/samples/debug-foo/expected.js b/test/js/samples/debug-foo/expected.js index aa2006e1df09..029d52588393 100644 --- a/test/js/samples/debug-foo/expected.js +++ b/test/js/samples/debug-foo/expected.js @@ -196,7 +196,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance, create_fragment, safe_not_equal, { things: 0, foo: 1 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { things: 0, foo: 1 }); dispatch_dev("SvelteRegisterComponent", { component: this, diff --git a/test/js/samples/debug-hoisted/expected.js b/test/js/samples/debug-hoisted/expected.js index 40b07ab2437d..8dbd7184046b 100644 --- a/test/js/samples/debug-hoisted/expected.js +++ b/test/js/samples/debug-hoisted/expected.js @@ -76,7 +76,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance, create_fragment, safe_not_equal, {}, null); + init(this, options, instance, create_fragment, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, diff --git a/test/js/samples/debug-no-dependencies/expected.js b/test/js/samples/debug-no-dependencies/expected.js index e5532e652f28..29e518d9b1d6 100644 --- a/test/js/samples/debug-no-dependencies/expected.js +++ b/test/js/samples/debug-no-dependencies/expected.js @@ -150,7 +150,7 @@ function instance($$self, $$props) { class Component extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance, create_fragment, safe_not_equal, {}, null); + init(this, options, instance, create_fragment, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, diff --git a/test/js/samples/deconflict-builtins/expected.js b/test/js/samples/deconflict-builtins/expected.js index c4631bda82dc..6bc60194aaa5 100644 --- a/test/js/samples/deconflict-builtins/expected.js +++ b/test/js/samples/deconflict-builtins/expected.js @@ -114,7 +114,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { createElement: 0 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { createElement: 0 }); } } diff --git a/test/js/samples/deconflict-globals/expected.js b/test/js/samples/deconflict-globals/expected.js index b86f471c4a39..7168eba6a5d9 100644 --- a/test/js/samples/deconflict-globals/expected.js +++ b/test/js/samples/deconflict-globals/expected.js @@ -20,7 +20,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, null, safe_not_equal, { foo: 0 }, null); + init(this, options, instance, null, safe_not_equal, { foo: 0 }); } } diff --git a/test/js/samples/dev-warning-missing-data-computed/expected.js b/test/js/samples/dev-warning-missing-data-computed/expected.js index 43cf8a91e21e..a981d88dca5e 100644 --- a/test/js/samples/dev-warning-missing-data-computed/expected.js +++ b/test/js/samples/dev-warning-missing-data-computed/expected.js @@ -102,7 +102,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance, create_fragment, safe_not_equal, { foo: 0 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { foo: 0 }); dispatch_dev("SvelteRegisterComponent", { component: this, diff --git a/test/js/samples/dont-invalidate-this/expected.js b/test/js/samples/dont-invalidate-this/expected.js index eca9a70123e3..0b155373a14f 100644 --- a/test/js/samples/dont-invalidate-this/expected.js +++ b/test/js/samples/dont-invalidate-this/expected.js @@ -45,7 +45,7 @@ function make_uppercase() { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}, null); + init(this, options, null, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/dynamic-import/expected.js b/test/js/samples/dynamic-import/expected.js index acc25ef1177a..d1085f431b7c 100644 --- a/test/js/samples/dynamic-import/expected.js +++ b/test/js/samples/dynamic-import/expected.js @@ -47,7 +47,7 @@ const func = () => import("./Foo.svelte"); class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}, null); + init(this, options, null, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/each-block-array-literal/expected.js b/test/js/samples/each-block-array-literal/expected.js index e1f6b07aed1d..fe51ac5bc3aa 100644 --- a/test/js/samples/each-block-array-literal/expected.js +++ b/test/js/samples/each-block-array-literal/expected.js @@ -120,7 +120,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { a: 0, b: 1, c: 2, d: 3, e: 4 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { a: 0, b: 1, c: 2, d: 3, e: 4 }); } } diff --git a/test/js/samples/each-block-changed-check/expected.js b/test/js/samples/each-block-changed-check/expected.js index 7f423d6f3c20..0020235d44ef 100644 --- a/test/js/samples/each-block-changed-check/expected.js +++ b/test/js/samples/each-block-changed-check/expected.js @@ -166,7 +166,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { comments: 0, elapsed: 1, time: 2, foo: 3 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { comments: 0, elapsed: 1, time: 2, foo: 3 }); } } diff --git a/test/js/samples/each-block-keyed-animated/expected.js b/test/js/samples/each-block-keyed-animated/expected.js index 48edbed12147..b48073f5a7a6 100644 --- a/test/js/samples/each-block-keyed-animated/expected.js +++ b/test/js/samples/each-block-keyed-animated/expected.js @@ -139,7 +139,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { things: 0 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { things: 0 }); } } diff --git a/test/js/samples/each-block-keyed/expected.js b/test/js/samples/each-block-keyed/expected.js index 053f370eede8..7808ed677f1a 100644 --- a/test/js/samples/each-block-keyed/expected.js +++ b/test/js/samples/each-block-keyed/expected.js @@ -108,7 +108,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { things: 0 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { things: 0 }); } } diff --git a/test/js/samples/empty-dom/expected.js b/test/js/samples/empty-dom/expected.js index 50ea2280441e..d5c80be696b5 100644 --- a/test/js/samples/empty-dom/expected.js +++ b/test/js/samples/empty-dom/expected.js @@ -9,7 +9,7 @@ function instance($$self) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, null, safe_not_equal, {}, null); + init(this, options, instance, null, safe_not_equal, {}); } } diff --git a/test/js/samples/event-handler-dynamic/expected.js b/test/js/samples/event-handler-dynamic/expected.js index df6a87362db8..dacdfe15ac37 100644 --- a/test/js/samples/event-handler-dynamic/expected.js +++ b/test/js/samples/event-handler-dynamic/expected.js @@ -103,7 +103,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}, null); + init(this, options, instance, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/event-handler-no-passive/expected.js b/test/js/samples/event-handler-no-passive/expected.js index 17c2ae648c1e..4d4b910d4eae 100644 --- a/test/js/samples/event-handler-no-passive/expected.js +++ b/test/js/samples/event-handler-no-passive/expected.js @@ -46,7 +46,7 @@ const touchstart_handler = e => e.preventDefault(); class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}, null); + init(this, options, null, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/event-modifiers/expected.js b/test/js/samples/event-modifiers/expected.js index b2ed07da3039..3901753661d2 100644 --- a/test/js/samples/event-modifiers/expected.js +++ b/test/js/samples/event-modifiers/expected.js @@ -76,17 +76,17 @@ function create_fragment(ctx) { } function handleTouchstart() { - + } // ... function handleClick() { - + } // ... class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}, null); + init(this, options, null, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/head-no-whitespace/expected.js b/test/js/samples/head-no-whitespace/expected.js index e30c3de43ca0..444bad3fd48a 100644 --- a/test/js/samples/head-no-whitespace/expected.js +++ b/test/js/samples/head-no-whitespace/expected.js @@ -40,7 +40,7 @@ function create_fragment(ctx) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}, null); + init(this, options, null, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/hoisted-const/expected.js b/test/js/samples/hoisted-const/expected.js index 24dc9ab8a9e2..2842b547516e 100644 --- a/test/js/samples/hoisted-const/expected.js +++ b/test/js/samples/hoisted-const/expected.js @@ -38,7 +38,7 @@ function get_answer() { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}, null); + init(this, options, null, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/hoisted-let/expected.js b/test/js/samples/hoisted-let/expected.js index 633c7d431c30..285b12411835 100644 --- a/test/js/samples/hoisted-let/expected.js +++ b/test/js/samples/hoisted-let/expected.js @@ -38,7 +38,7 @@ function get_answer() { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}, null); + init(this, options, null, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/hydrated-void-element/expected.js b/test/js/samples/hydrated-void-element/expected.js index e6c07b270d2e..e53d16d9250e 100644 --- a/test/js/samples/hydrated-void-element/expected.js +++ b/test/js/samples/hydrated-void-element/expected.js @@ -57,7 +57,7 @@ function create_fragment(ctx) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}, null); + init(this, options, null, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/if-block-complex/expected.js b/test/js/samples/if-block-complex/expected.js index 83d22ecb0aad..a8244de8b02d 100644 --- a/test/js/samples/if-block-complex/expected.js +++ b/test/js/samples/if-block-complex/expected.js @@ -60,7 +60,7 @@ function instance($$self) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}, null); + init(this, options, instance, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/if-block-no-update/expected.js b/test/js/samples/if-block-no-update/expected.js index cc02bd3b461e..c67b33fa8557 100644 --- a/test/js/samples/if-block-no-update/expected.js +++ b/test/js/samples/if-block-no-update/expected.js @@ -98,7 +98,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { foo: 0 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { foo: 0 }); } } diff --git a/test/js/samples/if-block-simple/expected.js b/test/js/samples/if-block-simple/expected.js index 7ae4be7de628..4cdd73cddbc1 100644 --- a/test/js/samples/if-block-simple/expected.js +++ b/test/js/samples/if-block-simple/expected.js @@ -43,7 +43,7 @@ function create_fragment(ctx) { p(ctx, [dirty]) { if (/*foo*/ ctx[0]) { if (if_block) { - + } else { if_block = create_if_block(ctx); if_block.c(); @@ -76,7 +76,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { foo: 0 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { foo: 0 }); } } diff --git a/test/js/samples/import-meta/expected.js b/test/js/samples/import-meta/expected.js index 14581900a394..ba77398321cf 100644 --- a/test/js/samples/import-meta/expected.js +++ b/test/js/samples/import-meta/expected.js @@ -46,7 +46,7 @@ function instance($$self) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}, null); + init(this, options, instance, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/initial-context/expected.js b/test/js/samples/initial-context/expected.js index 4ac86448772c..592e2a709e9c 100644 --- a/test/js/samples/initial-context/expected.js +++ b/test/js/samples/initial-context/expected.js @@ -52,7 +52,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}, null); + init(this, options, instance, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/inline-style-optimized-multiple/expected.js b/test/js/samples/inline-style-optimized-multiple/expected.js index 7097a0065928..0a9d0a1e8eba 100644 --- a/test/js/samples/inline-style-optimized-multiple/expected.js +++ b/test/js/samples/inline-style-optimized-multiple/expected.js @@ -56,7 +56,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { color: 0, x: 1, y: 2 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { color: 0, x: 1, y: 2 }); } } diff --git a/test/js/samples/inline-style-optimized-url/expected.js b/test/js/samples/inline-style-optimized-url/expected.js index 6e2d49f3464b..0debb035854f 100644 --- a/test/js/samples/inline-style-optimized-url/expected.js +++ b/test/js/samples/inline-style-optimized-url/expected.js @@ -47,7 +47,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { data: 0 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { data: 0 }); } } diff --git a/test/js/samples/inline-style-optimized/expected.js b/test/js/samples/inline-style-optimized/expected.js index 731844706b6f..b7db0f1cf30b 100644 --- a/test/js/samples/inline-style-optimized/expected.js +++ b/test/js/samples/inline-style-optimized/expected.js @@ -47,7 +47,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { color: 0 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { color: 0 }); } } diff --git a/test/js/samples/inline-style-unoptimized/expected.js b/test/js/samples/inline-style-unoptimized/expected.js index 1b030746f302..0688f14b9b24 100644 --- a/test/js/samples/inline-style-unoptimized/expected.js +++ b/test/js/samples/inline-style-unoptimized/expected.js @@ -66,7 +66,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { style: 0, key: 1, value: 2 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { style: 0, key: 1, value: 2 }); } } diff --git a/test/js/samples/inline-style-without-updates/expected.js b/test/js/samples/inline-style-without-updates/expected.js index 376ee027a858..375896f259ea 100644 --- a/test/js/samples/inline-style-without-updates/expected.js +++ b/test/js/samples/inline-style-without-updates/expected.js @@ -35,7 +35,7 @@ let color = "red"; class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}, null); + init(this, options, null, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/input-files/expected.js b/test/js/samples/input-files/expected.js index 906253546f4c..8adc7443f5c1 100644 --- a/test/js/samples/input-files/expected.js +++ b/test/js/samples/input-files/expected.js @@ -59,7 +59,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { files: 0 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { files: 0 }); } } diff --git a/test/js/samples/input-no-initial-value/expected.js b/test/js/samples/input-no-initial-value/expected.js index e3f82e4a85a6..3354aa31117e 100644 --- a/test/js/samples/input-no-initial-value/expected.js +++ b/test/js/samples/input-no-initial-value/expected.js @@ -83,7 +83,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}, null); + init(this, options, instance, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/input-range/expected.js b/test/js/samples/input-range/expected.js index 926d45e753d6..a855ca3653fe 100644 --- a/test/js/samples/input-range/expected.js +++ b/test/js/samples/input-range/expected.js @@ -70,7 +70,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { value: 0 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { value: 0 }); } } diff --git a/test/js/samples/input-value/expected.js b/test/js/samples/input-value/expected.js index 9ae359fdc6c6..781a2ae60358 100644 --- a/test/js/samples/input-value/expected.js +++ b/test/js/samples/input-value/expected.js @@ -76,7 +76,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}, null); + init(this, options, instance, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/input-without-blowback-guard/expected.js b/test/js/samples/input-without-blowback-guard/expected.js index ead7de593199..6c5b2156232f 100644 --- a/test/js/samples/input-without-blowback-guard/expected.js +++ b/test/js/samples/input-without-blowback-guard/expected.js @@ -63,7 +63,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { foo: 0 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { foo: 0 }); } } diff --git a/test/js/samples/instrumentation-script-if-no-block/expected.js b/test/js/samples/instrumentation-script-if-no-block/expected.js index 53516cca648b..7f51c6455007 100644 --- a/test/js/samples/instrumentation-script-if-no-block/expected.js +++ b/test/js/samples/instrumentation-script-if-no-block/expected.js @@ -72,7 +72,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}, null); + init(this, options, instance, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/instrumentation-script-main-block/expected.js b/test/js/samples/instrumentation-script-main-block/expected.js index 2f87338c7896..a471a50b37cf 100644 --- a/test/js/samples/instrumentation-script-main-block/expected.js +++ b/test/js/samples/instrumentation-script-main-block/expected.js @@ -68,7 +68,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}, null); + init(this, options, instance, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/instrumentation-script-x-equals-x/expected.js b/test/js/samples/instrumentation-script-x-equals-x/expected.js index f511073e5953..ea0d65acb906 100644 --- a/test/js/samples/instrumentation-script-x-equals-x/expected.js +++ b/test/js/samples/instrumentation-script-x-equals-x/expected.js @@ -74,7 +74,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}, null); + init(this, options, instance, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/instrumentation-template-if-no-block/expected.js b/test/js/samples/instrumentation-template-if-no-block/expected.js index cc78b00b35c0..0c2713a9cc64 100644 --- a/test/js/samples/instrumentation-template-if-no-block/expected.js +++ b/test/js/samples/instrumentation-template-if-no-block/expected.js @@ -72,7 +72,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}, null); + init(this, options, instance, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/instrumentation-template-x-equals-x/expected.js b/test/js/samples/instrumentation-template-x-equals-x/expected.js index 02b325ca464e..55cd310661e7 100644 --- a/test/js/samples/instrumentation-template-x-equals-x/expected.js +++ b/test/js/samples/instrumentation-template-x-equals-x/expected.js @@ -74,7 +74,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}, null); + init(this, options, instance, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/legacy-input-type/expected.js b/test/js/samples/legacy-input-type/expected.js index baafa63d758b..2b76a485225a 100644 --- a/test/js/samples/legacy-input-type/expected.js +++ b/test/js/samples/legacy-input-type/expected.js @@ -33,7 +33,7 @@ function create_fragment(ctx) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}, null); + init(this, options, null, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/loop-protect/expected.js b/test/js/samples/loop-protect/expected.js index c6aad3034e3d..26721d6be6a8 100644 --- a/test/js/samples/loop-protect/expected.js +++ b/test/js/samples/loop-protect/expected.js @@ -154,7 +154,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance, create_fragment, safe_not_equal, {}, null); + init(this, options, instance, create_fragment, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, diff --git a/test/js/samples/media-bindings/expected.js b/test/js/samples/media-bindings/expected.js index 02c2015e978f..867d4a7dadfb 100644 --- a/test/js/samples/media-bindings/expected.js +++ b/test/js/samples/media-bindings/expected.js @@ -215,27 +215,19 @@ class Component extends SvelteComponent { constructor(options) { super(); - init( - this, - options, - instance, - create_fragment, - safe_not_equal, - { - buffered: 0, - seekable: 1, - played: 2, - currentTime: 3, - duration: 4, - paused: 5, - volume: 6, - muted: 7, - playbackRate: 8, - seeking: 9, - ended: 10 - }, - null - ); + init(this, options, instance, create_fragment, safe_not_equal, { + buffered: 0, + seekable: 1, + played: 2, + currentTime: 3, + duration: 4, + paused: 5, + volume: 6, + muted: 7, + playbackRate: 8, + seeking: 9, + ended: 10 + }); } } diff --git a/test/js/samples/non-imported-component/expected.js b/test/js/samples/non-imported-component/expected.js index 1331e7f6ec07..5a6b8e8bb730 100644 --- a/test/js/samples/non-imported-component/expected.js +++ b/test/js/samples/non-imported-component/expected.js @@ -59,7 +59,7 @@ function create_fragment(ctx) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}, null); + init(this, options, null, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/non-mutable-reference/expected.js b/test/js/samples/non-mutable-reference/expected.js index b43df9c7e569..93f2145a2e65 100644 --- a/test/js/samples/non-mutable-reference/expected.js +++ b/test/js/samples/non-mutable-reference/expected.js @@ -34,7 +34,7 @@ let name = "world"; class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}, null); + init(this, options, null, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/optional-chaining/expected.js b/test/js/samples/optional-chaining/expected.js index d80e2f9318cb..8aa94796c1b0 100644 --- a/test/js/samples/optional-chaining/expected.js +++ b/test/js/samples/optional-chaining/expected.js @@ -182,7 +182,7 @@ function instance($$self, $$props, $$invalidate) { class Component_1 extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { a: 0, b: 1, c: 2, d: 3, e: 4, f: 5 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { a: 0, b: 1, c: 2, d: 3, e: 4, f: 5 }); } } diff --git a/test/js/samples/reactive-class-optimized/expected.js b/test/js/samples/reactive-class-optimized/expected.js index ba3de7bc0749..c47a6e53a7c5 100644 --- a/test/js/samples/reactive-class-optimized/expected.js +++ b/test/js/samples/reactive-class-optimized/expected.js @@ -155,8 +155,8 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}, null); + init(this, options, instance, create_fragment, safe_not_equal, {}); } } -export default Component; +export default Component; \ No newline at end of file diff --git a/test/js/samples/reactive-values-non-topologically-ordered/expected.js b/test/js/samples/reactive-values-non-topologically-ordered/expected.js index dccf4b89be94..dbfd794dc77b 100644 --- a/test/js/samples/reactive-values-non-topologically-ordered/expected.js +++ b/test/js/samples/reactive-values-non-topologically-ordered/expected.js @@ -26,7 +26,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, null, safe_not_equal, { x: 0 }, null); + init(this, options, instance, null, safe_not_equal, { x: 0 }); } } diff --git a/test/js/samples/reactive-values-non-writable-dependencies/expected.js b/test/js/samples/reactive-values-non-writable-dependencies/expected.js index a8850da05186..5196a770d976 100644 --- a/test/js/samples/reactive-values-non-writable-dependencies/expected.js +++ b/test/js/samples/reactive-values-non-writable-dependencies/expected.js @@ -22,7 +22,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, null, safe_not_equal, { a: 0, b: 1 }, null); + init(this, options, instance, null, safe_not_equal, { a: 0, b: 1 }); } } diff --git a/test/js/samples/select-dynamic-value/expected.js b/test/js/samples/select-dynamic-value/expected.js index 8562b77f303a..8777cd260072 100644 --- a/test/js/samples/select-dynamic-value/expected.js +++ b/test/js/samples/select-dynamic-value/expected.js @@ -60,7 +60,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { current: 0 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { current: 0 }); } } diff --git a/test/js/samples/setup-method/expected.js b/test/js/samples/setup-method/expected.js index 570345c8b228..8e30a03a7dd4 100644 --- a/test/js/samples/setup-method/expected.js +++ b/test/js/samples/setup-method/expected.js @@ -14,7 +14,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, null, safe_not_equal, { foo: 0 }, null); + init(this, options, instance, null, safe_not_equal, { foo: 0 }); } get foo() { diff --git a/test/js/samples/src-attribute-check/expected.js b/test/js/samples/src-attribute-check/expected.js index c574e3307535..93638edfb43b 100644 --- a/test/js/samples/src-attribute-check/expected.js +++ b/test/js/samples/src-attribute-check/expected.js @@ -78,7 +78,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { url: 0, slug: 1 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { url: 0, slug: 1 }); } } diff --git a/test/js/samples/svg-title/expected.js b/test/js/samples/svg-title/expected.js index 56f61dbb0019..cd7ae3b55152 100644 --- a/test/js/samples/svg-title/expected.js +++ b/test/js/samples/svg-title/expected.js @@ -39,7 +39,7 @@ function create_fragment(ctx) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}, null); + init(this, options, null, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/title/expected.js b/test/js/samples/title/expected.js index cb455a4cb8ee..b10f569759d4 100644 --- a/test/js/samples/title/expected.js +++ b/test/js/samples/title/expected.js @@ -32,7 +32,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { custom: 0 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { custom: 0 }); } } diff --git a/test/js/samples/transition-local/expected.js b/test/js/samples/transition-local/expected.js index aa32bd3aa300..ea3d9db3d7e6 100644 --- a/test/js/samples/transition-local/expected.js +++ b/test/js/samples/transition-local/expected.js @@ -117,7 +117,7 @@ function create_fragment(ctx) { } function foo() { - + } function instance($$self, $$props, $$invalidate) { @@ -135,7 +135,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { x: 0, y: 1 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { x: 0, y: 1 }); } } diff --git a/test/js/samples/transition-repeated-outro/expected.js b/test/js/samples/transition-repeated-outro/expected.js index f1feec3dfebf..12483ab91af7 100644 --- a/test/js/samples/transition-repeated-outro/expected.js +++ b/test/js/samples/transition-repeated-outro/expected.js @@ -112,7 +112,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { num: 0 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { num: 0 }); } } diff --git a/test/js/samples/unchanged-expression/expected.js b/test/js/samples/unchanged-expression/expected.js index edbe680e6c35..673d5b6abc8d 100644 --- a/test/js/samples/unchanged-expression/expected.js +++ b/test/js/samples/unchanged-expression/expected.js @@ -85,7 +85,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}, null); + init(this, options, instance, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/unreferenced-state-not-invalidated/expected.js b/test/js/samples/unreferenced-state-not-invalidated/expected.js index f134ca61e9f1..53044c7ed6d8 100644 --- a/test/js/samples/unreferenced-state-not-invalidated/expected.js +++ b/test/js/samples/unreferenced-state-not-invalidated/expected.js @@ -69,7 +69,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}, null); + init(this, options, instance, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/use-elements-as-anchors/expected.js b/test/js/samples/use-elements-as-anchors/expected.js index 83be5dfd786d..d07411518e91 100644 --- a/test/js/samples/use-elements-as-anchors/expected.js +++ b/test/js/samples/use-elements-as-anchors/expected.js @@ -158,7 +158,7 @@ function create_fragment(ctx) { p(ctx, [dirty]) { if (/*a*/ ctx[0]) { if (if_block0) { - + } else { if_block0 = create_if_block_4(ctx); if_block0.c(); @@ -171,7 +171,7 @@ function create_fragment(ctx) { if (/*b*/ ctx[1]) { if (if_block1) { - + } else { if_block1 = create_if_block_3(ctx); if_block1.c(); @@ -184,7 +184,7 @@ function create_fragment(ctx) { if (/*c*/ ctx[2]) { if (if_block2) { - + } else { if_block2 = create_if_block_2(ctx); if_block2.c(); @@ -197,7 +197,7 @@ function create_fragment(ctx) { if (/*d*/ ctx[3]) { if (if_block3) { - + } else { if_block3 = create_if_block_1(ctx); if_block3.c(); @@ -210,7 +210,7 @@ function create_fragment(ctx) { if (/*e*/ ctx[4]) { if (if_block4) { - + } else { if_block4 = create_if_block(ctx); if_block4.c(); @@ -257,7 +257,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { a: 0, b: 1, c: 2, d: 3, e: 4 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { a: 0, b: 1, c: 2, d: 3, e: 4 }); } } diff --git a/test/js/samples/valid-inner-html-for-static-element/expected.js b/test/js/samples/valid-inner-html-for-static-element/expected.js index 3275467fdcd4..f1ced27ba458 100644 --- a/test/js/samples/valid-inner-html-for-static-element/expected.js +++ b/test/js/samples/valid-inner-html-for-static-element/expected.js @@ -32,7 +32,7 @@ function create_fragment(ctx) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, null, create_fragment, safe_not_equal, {}, null); + init(this, options, null, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/video-bindings/expected.js b/test/js/samples/video-bindings/expected.js index 415a3d06d088..8afa670bbb52 100644 --- a/test/js/samples/video-bindings/expected.js +++ b/test/js/samples/video-bindings/expected.js @@ -115,20 +115,12 @@ class Component extends SvelteComponent { constructor(options) { super(); - init( - this, - options, - instance, - create_fragment, - safe_not_equal, - { - currentTime: 0, - videoHeight: 1, - videoWidth: 2, - offsetWidth: 3 - }, - null - ); + init(this, options, instance, create_fragment, safe_not_equal, { + currentTime: 0, + videoHeight: 1, + videoWidth: 2, + offsetWidth: 3 + }); } } diff --git a/test/js/samples/window-binding-online/expected.js b/test/js/samples/window-binding-online/expected.js index dfb61bd74aa4..887195bce1b3 100644 --- a/test/js/samples/window-binding-online/expected.js +++ b/test/js/samples/window-binding-online/expected.js @@ -49,7 +49,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, {}, null); + init(this, options, instance, create_fragment, safe_not_equal, {}); } } diff --git a/test/js/samples/window-binding-scroll/expected.js b/test/js/samples/window-binding-scroll/expected.js index 22291fad9f46..09a4d3737d29 100644 --- a/test/js/samples/window-binding-scroll/expected.js +++ b/test/js/samples/window-binding-scroll/expected.js @@ -88,7 +88,7 @@ function instance($$self, $$props, $$invalidate) { class Component extends SvelteComponent { constructor(options) { super(); - init(this, options, instance, create_fragment, safe_not_equal, { y: 0 }, null); + init(this, options, instance, create_fragment, safe_not_equal, { y: 0 }); } } From 28e5e45c6f78473ed822832364c6a8a45babf790 Mon Sep 17 00:00:00 2001 From: Ivan Hofer Date: Tue, 29 Jun 2021 07:56:57 +0200 Subject: [PATCH 17/30] fix rebasing --- src/compiler/compile/render_dom/index.ts | 3 +-- src/runtime/internal/dev.ts | 20 +++----------------- src/runtime/internal/utils.ts | 3 +-- 3 files changed, 5 insertions(+), 21 deletions(-) diff --git a/src/compiler/compile/render_dom/index.ts b/src/compiler/compile/render_dom/index.ts index b57ea867b98f..b9d68a56e166 100644 --- a/src/compiler/compile/render_dom/index.ts +++ b/src/compiler/compile/render_dom/index.ts @@ -543,8 +543,7 @@ export default function dom( class ${name} extends ${superclass} { constructor(options) { super(${options.dev && 'options'}); - ${should_add_css && b`if (!@_document.getElementById("${component.stylesheet.id}-style")) ${add_css}();`} - @init(this, options, ${definition}, ${has_create_fragment ? 'create_fragment' : 'null'}, ${not_equal}, ${prop_indexes}, ${dirty}); + @init(this, options, ${definition}, ${has_create_fragment ? 'create_fragment' : 'null'}, ${not_equal}, ${prop_indexes}, ${optionalParameters}); ${options.dev && b`@dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "${name.name}", options, id: create_fragment.name });`} ${dev_props_check} diff --git a/src/runtime/internal/dev.ts b/src/runtime/internal/dev.ts index d6a47b57e43b..722972b1bfd9 100644 --- a/src/runtime/internal/dev.ts +++ b/src/runtime/internal/dev.ts @@ -105,7 +105,7 @@ export interface SvelteComponentDev { [accessor: string]: any; } interface IComponentOptions = Record> { - target: Element; + target: Element|ShadowRoot; anchor?: Element; props?: Props; context?: Map; @@ -140,14 +140,7 @@ export class SvelteComponentDev extends SvelteComponent { */ $$slot_def: any; - constructor(options: { - target: Element|ShadowRoot; - anchor?: Element; - props?: Props; - hydrate?: boolean; - intro?: boolean; - $$inline?: boolean; - }) { + constructor(options: IComponentOptions) { if (!options || (!options.target && !options.$$inline)) { throw new Error("'target' is a required option"); } @@ -239,14 +232,7 @@ export class SvelteComponentTyped< */ $$slot_def: Slots; - constructor(options: { - target: Element|ShadowRoot; - anchor?: Element; - props?: Props; - hydrate?: boolean; - intro?: boolean; - $$inline?: boolean; - }) { + constructor(options: IComponentOptions) { super(options); } } diff --git a/src/runtime/internal/utils.ts b/src/runtime/internal/utils.ts index cca72f8e9f58..4fb10cd5d407 100644 --- a/src/runtime/internal/utils.ts +++ b/src/runtime/internal/utils.ts @@ -80,10 +80,9 @@ export function create_slot(definition, ctx, $$scope, fn) { } function get_slot_context(definition, ctx, $$scope, fn) { - const context = definition[1] && fn + return definition[1] && fn ? assign($$scope.ctx.slice(), definition[1](fn(ctx))) : $$scope.ctx; - return context; } export function get_slot_changes(definition, $$scope, dirty, fn) { From eb6fd8f9a4b0e621201db90f7368bee53073cf37 Mon Sep 17 00:00:00 2001 From: Ivan Hofer Date: Tue, 29 Jun 2021 08:13:03 +0200 Subject: [PATCH 18/30] fix SvelteComponentTyped constructor parmeter --- src/runtime/internal/dev.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/runtime/internal/dev.ts b/src/runtime/internal/dev.ts index 722972b1bfd9..78f2231598fd 100644 --- a/src/runtime/internal/dev.ts +++ b/src/runtime/internal/dev.ts @@ -232,7 +232,7 @@ export class SvelteComponentTyped< */ $$slot_def: Slots; - constructor(options: IComponentOptions) { + constructor(options: IComponentOptions) { super(options); } } From accac6362707c3170742eb2f589cfde22d8878b5 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Tue, 29 Jun 2021 15:41:51 +0200 Subject: [PATCH 19/30] docs --- site/content/docs/03-run-time.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/content/docs/03-run-time.md b/site/content/docs/03-run-time.md index 9a8d6a69b555..785bd4f6ba5f 100644 --- a/site/content/docs/03-run-time.md +++ b/site/content/docs/03-run-time.md @@ -929,7 +929,7 @@ The following initialisation options can be provided: | option | default | description | | --- | --- | --- | -| `target` | **none** | An `HTMLElement` to render to. This option is required +| `target` | **none** | An `HTMLElement` or `ShadowRoot` to render to. This option is required | `anchor` | `null` | A child of `target` to render the component immediately before | `props` | `{}` | An object of properties to supply to the component | `context` | `new Map()` | A `Map` of root-level context key-value pairs to supply to the component From 7e5a1ec50d2f7efabf3df43d5496296c3cde8e6f Mon Sep 17 00:00:00 2001 From: Ivan Hofer Date: Tue, 29 Jun 2021 17:44:52 +0200 Subject: [PATCH 20/30] fix `add_css` to allow custom stle hashes --- src/compiler/compile/render_dom/index.ts | 2 +- src/runtime/internal/dom.ts | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/compiler/compile/render_dom/index.ts b/src/compiler/compile/render_dom/index.ts index b9d68a56e166..335b088d2822 100644 --- a/src/compiler/compile/render_dom/index.ts +++ b/src/compiler/compile/render_dom/index.ts @@ -50,7 +50,7 @@ export default function dom( if (should_add_css) { body.push(b` function ${add_css}(target) { - @append_styles(target, "${component.stylesheet.id.replace('svelte-', '')}", "${styles}"); + @append_styles(target, "${component.stylesheet.id}", "${styles}"); } `); } diff --git a/src/runtime/internal/dom.ts b/src/runtime/internal/dom.ts index c4c90dbc8b43..acba6a87c9da 100644 --- a/src/runtime/internal/dom.ts +++ b/src/runtime/internal/dom.ts @@ -115,14 +115,13 @@ function init_hydrate(target: NodeEx) { export function append_styles( target: Node, styleSheetId: string, - styles: string, - styleId: string = `svelte-${styleSheetId}-style` + styles: string ) { const appendStylesTo = get_root_for_styles(target); - if (!appendStylesTo?.querySelector('#' + styleId)) { + if (!appendStylesTo?.querySelector(`#${styleSheetId}`)) { const style = element('style'); - style.id = styleId; + style.id = styleSheetId; style.textContent = styles; append(appendStylesTo, style); } From a1a0585fc4529200215d50de0ab9177f64457056 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Thu, 8 Jul 2021 08:31:31 +0200 Subject: [PATCH 21/30] fix test --- test/js/samples/collapses-text-around-comments/expected.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/js/samples/collapses-text-around-comments/expected.js b/test/js/samples/collapses-text-around-comments/expected.js index 40d8fba5a5a2..12db7d49563a 100644 --- a/test/js/samples/collapses-text-around-comments/expected.js +++ b/test/js/samples/collapses-text-around-comments/expected.js @@ -15,7 +15,7 @@ import { } from "svelte/internal"; function add_css(target) { - append_styles(target, "1a7i8ec", "p.svelte-1a7i8ec{color:red}"); + append_styles(target, "svelte-1a7i8ec", "p.svelte-1a7i8ec{color:red}"); } function create_fragment(ctx) { @@ -60,4 +60,4 @@ class Component extends SvelteComponent { } } -export default Component; \ No newline at end of file +export default Component; From 5e0ece297aab867b6105aca131c8a826dc97ae25 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Thu, 8 Jul 2021 08:31:46 +0200 Subject: [PATCH 22/30] fix test --- test/js/samples/css-media-query/expected.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/js/samples/css-media-query/expected.js b/test/js/samples/css-media-query/expected.js index ccbf0859d44d..d74343220699 100644 --- a/test/js/samples/css-media-query/expected.js +++ b/test/js/samples/css-media-query/expected.js @@ -12,7 +12,7 @@ import { } from "svelte/internal"; function add_css(target) { - append_styles(target, "1slhpfn", "@media(min-width: 1px){div.svelte-1slhpfn{color:red}}"); + append_styles(target, "svelte-1slhpfn", "@media(min-width: 1px){div.svelte-1slhpfn{color:red}}"); } function create_fragment(ctx) { @@ -42,4 +42,4 @@ class Component extends SvelteComponent { } } -export default Component; \ No newline at end of file +export default Component; From 82a20e4bf329e26cd2afee551199aa5bf76e1436 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Thu, 8 Jul 2021 08:31:59 +0200 Subject: [PATCH 23/30] fix test --- test/js/samples/css-shadow-dom-keyframes/expected.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/test/js/samples/css-shadow-dom-keyframes/expected.js b/test/js/samples/css-shadow-dom-keyframes/expected.js index 24cd01e51b61..7afba3acaaee 100644 --- a/test/js/samples/css-shadow-dom-keyframes/expected.js +++ b/test/js/samples/css-shadow-dom-keyframes/expected.js @@ -46,8 +46,7 @@ class Component extends SvelteElement { null, create_fragment, safe_not_equal, - {}, - null + {} ); if (options) { @@ -59,4 +58,4 @@ class Component extends SvelteElement { } customElements.define("custom-element", Component); -export default Component; \ No newline at end of file +export default Component; From f9528c000aadd67b85211bdd93cbf70f32ee26bc Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Thu, 8 Jul 2021 08:45:34 +0200 Subject: [PATCH 24/30] fix test --- test/js/samples/css-shadow-dom-keyframes/expected.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/js/samples/css-shadow-dom-keyframes/expected.js b/test/js/samples/css-shadow-dom-keyframes/expected.js index 7afba3acaaee..5d65949488d6 100644 --- a/test/js/samples/css-shadow-dom-keyframes/expected.js +++ b/test/js/samples/css-shadow-dom-keyframes/expected.js @@ -46,7 +46,8 @@ class Component extends SvelteElement { null, create_fragment, safe_not_equal, - {} + {}, + null ); if (options) { From 50fe25fd16629ae9ceab598da949674291098ec0 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Thu, 8 Jul 2021 08:51:45 +0200 Subject: [PATCH 25/30] fix test --- test/sourcemaps/samples/compile-option-dev/test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/sourcemaps/samples/compile-option-dev/test.js b/test/sourcemaps/samples/compile-option-dev/test.js index ba3d9f7b2839..f169ab8832b1 100644 --- a/test/sourcemaps/samples/compile-option-dev/test.js +++ b/test/sourcemaps/samples/compile-option-dev/test.js @@ -5,7 +5,7 @@ const b64dec = s => Buffer.from(s, 'base64').toString(); export async function test({ assert, css, js }) { // We check that the css source map embedded in the js is accurate - const match = js.code.match(/\tappend_styles\(target, ".{6}", "(.*?)(?:\\n\/\*# sourceMappingURL=data:(.*?);charset=(.*?);base64,(.*?) \*\/)?"\);\n/); + const match = js.code.match(/\tappend_styles\(target, "svelte-.{6}", "(.*?)(?:\\n\/\*# sourceMappingURL=data:(.*?);charset=(.*?);base64,(.*?) \*\/)?"\);\n/); assert.notEqual(match, null); const [mimeType, encoding, cssMapBase64] = match.slice(2); From 4c4adeb8170aac43b17cc3f8625b8c64e6f3c675 Mon Sep 17 00:00:00 2001 From: Ivan Hofer Date: Fri, 9 Jul 2021 07:13:31 +0200 Subject: [PATCH 26/30] rename variables to snake_case --- src/runtime/internal/dom.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/runtime/internal/dom.ts b/src/runtime/internal/dom.ts index acba6a87c9da..32648ae1275d 100644 --- a/src/runtime/internal/dom.ts +++ b/src/runtime/internal/dom.ts @@ -114,16 +114,16 @@ function init_hydrate(target: NodeEx) { export function append_styles( target: Node, - styleSheetId: string, + style_sheet_id: string, styles: string ) { - const appendStylesTo = get_root_for_styles(target); + const append_styles_to = get_root_for_styles(target); - if (!appendStylesTo?.querySelector(`#${styleSheetId}`)) { + if (!append_styles_to?.querySelector(`#${style_sheet_id}`)) { const style = element('style'); - style.id = styleSheetId; + style.id = style_sheet_id; style.textContent = styles; - append(appendStylesTo, style); + append(append_styles_to, style); } } From 3d41b6beb60952beeb83abae1aeda300be6c2956 Mon Sep 17 00:00:00 2001 From: Ivan Hofer Date: Fri, 9 Jul 2021 07:47:28 +0200 Subject: [PATCH 27/30] use `getElementById` to look for existing stylesheets --- src/runtime/internal/dom.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/runtime/internal/dom.ts b/src/runtime/internal/dom.ts index 32648ae1275d..357464e5a000 100644 --- a/src/runtime/internal/dom.ts +++ b/src/runtime/internal/dom.ts @@ -119,11 +119,11 @@ export function append_styles( ) { const append_styles_to = get_root_for_styles(target); - if (!append_styles_to?.querySelector(`#${style_sheet_id}`)) { + if (!append_styles_to?.getElementById(style_sheet_id)) { const style = element('style'); style.id = style_sheet_id; style.textContent = styles; - append(append_styles_to, style); + append((append_styles_to as Document).head || append_styles_to, style); } } @@ -135,7 +135,7 @@ export function get_root_for_node(node: Node) { export function get_root_for_styles(node: Node) { const root = get_root_for_node(node); - return ((root as ShadowRoot).host ? root : (root as Document).head) as Element; + return (root as ShadowRoot).host ? root as ShadowRoot : root as Document; } export function append_empty_stylesheet(node: Node) { From 11724dd12bf0f296b36afda5360cb4c6a6a018f0 Mon Sep 17 00:00:00 2001 From: Ivan Hofer Date: Fri, 9 Jul 2021 12:53:58 +0200 Subject: [PATCH 28/30] fix `append_empty_stylesheet` --- src/runtime/internal/dom.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/runtime/internal/dom.ts b/src/runtime/internal/dom.ts index 357464e5a000..60e802922257 100644 --- a/src/runtime/internal/dom.ts +++ b/src/runtime/internal/dom.ts @@ -123,7 +123,7 @@ export function append_styles( const style = element('style'); style.id = style_sheet_id; style.textContent = styles; - append((append_styles_to as Document).head || append_styles_to, style); + append_stylesheet(append_styles_to, style); } } @@ -139,7 +139,11 @@ export function get_root_for_styles(node: Node) { } export function append_empty_stylesheet(node: Node) { - return get_root_for_styles(node).appendChild(element('style') as HTMLStyleElement); + append_stylesheet(get_root_for_styles(node), element('style') as HTMLStyleElement); +} + +function append_stylesheet(node: ShadowRoot | Document, style: HTMLStyleElement) { + append((node as Document).head || node, style); } export function append(target: NodeEx, node: NodeEx) { From 9c99c669aa6a1021047f2bb5512d27ca99b380f4 Mon Sep 17 00:00:00 2001 From: Ivan Hofer Date: Fri, 9 Jul 2021 15:06:38 +0200 Subject: [PATCH 29/30] fix return of `append_empty_stylesheet` --- src/runtime/internal/dom.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/runtime/internal/dom.ts b/src/runtime/internal/dom.ts index 60e802922257..2b66f88bf26f 100644 --- a/src/runtime/internal/dom.ts +++ b/src/runtime/internal/dom.ts @@ -133,13 +133,15 @@ export function get_root_for_node(node: Node) { return (node.getRootNode ? node.getRootNode() : node.ownerDocument); // check for getRootNode because IE is still supported } -export function get_root_for_styles(node: Node) { +function get_root_for_styles(node: Node) { const root = get_root_for_node(node); return (root as ShadowRoot).host ? root as ShadowRoot : root as Document; } export function append_empty_stylesheet(node: Node) { - append_stylesheet(get_root_for_styles(node), element('style') as HTMLStyleElement); + const style_element = element('style') as HTMLStyleElement; + append_stylesheet(get_root_for_styles(node), style_element); + return style_element; } function append_stylesheet(node: ShadowRoot | Document, style: HTMLStyleElement) { From c4a40248679896b106adb91de6b6481526f45bf0 Mon Sep 17 00:00:00 2001 From: Conduitry Date: Wed, 21 Jul 2021 15:48:28 -0400 Subject: [PATCH 30/30] tidy --- src/compiler/compile/render_dom/index.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/compiler/compile/render_dom/index.ts b/src/compiler/compile/render_dom/index.ts index 335b088d2822..367412b6bd92 100644 --- a/src/compiler/compile/render_dom/index.ts +++ b/src/compiler/compile/render_dom/index.ts @@ -529,21 +529,21 @@ export default function dom( name: options.dev ? '@SvelteComponentDev' : '@SvelteComponent' }; - const optionalParameters = []; + const optional_parameters = []; if (should_add_css) { - optionalParameters.push(add_css); + optional_parameters.push(add_css); } else if (dirty) { - optionalParameters.push(x`null`); + optional_parameters.push(x`null`); } if (dirty) { - optionalParameters.push(dirty); + optional_parameters.push(dirty); } const declaration = b` class ${name} extends ${superclass} { constructor(options) { super(${options.dev && 'options'}); - @init(this, options, ${definition}, ${has_create_fragment ? 'create_fragment' : 'null'}, ${not_equal}, ${prop_indexes}, ${optionalParameters}); + @init(this, options, ${definition}, ${has_create_fragment ? 'create_fragment' : 'null'}, ${not_equal}, ${prop_indexes}, ${optional_parameters}); ${options.dev && b`@dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "${name.name}", options, id: create_fragment.name });`} ${dev_props_check}