feat: adds legacy mode flag

pull/14180/head
Dominic Gannaway 2 years ago
parent d03337707f
commit f9fe9f042a

@ -0,0 +1,5 @@
---
'svelte': patch
---
feat: adds legacy mode flag

@ -53,6 +53,9 @@
"./internal/disclose-version": {
"default": "./src/internal/disclose-version.js"
},
"./internal/legacy-component": {
"default": "./src/internal/legacy-component.js"
},
"./internal/server": {
"default": "./src/internal/server/index.js"
},

@ -531,6 +531,10 @@ export function client_component(analysis, options) {
body.push(b.stmt(b.call(b.id('$.mark_module_end'), b.id(analysis.name))));
}
if (!analysis.runes) {
body.unshift(b.imports([], 'svelte/internal/legacy-component'));
}
if (options.discloseVersion) {
body.unshift(b.imports([], 'svelte/internal/disclose-version'));
}

@ -23,6 +23,7 @@ import * as e from '../errors.js';
import { BRANCH_EFFECT, LEGACY_DERIVED_PROP, ROOT_EFFECT } from '../constants.js';
import { proxy } from '../proxy.js';
import { capture_store_binding } from './store.js';
import { legacy_mode_flag } from '../../feature-flags.js';
/**
* @param {((value?: number) => number)} fn
@ -270,7 +271,7 @@ function with_parent_branch(fn) {
*/
export function prop(props, key, flags, fallback) {
var immutable = (flags & PROPS_IS_IMMUTABLE) !== 0;
var runes = (flags & PROPS_IS_RUNES) !== 0;
var runes = !legacy_mode_flag || (flags & PROPS_IS_RUNES) !== 0;
var bindable = (flags & PROPS_IS_BINDABLE) !== 0;
var lazy = (flags & PROPS_IS_LAZY_INITIAL) !== 0;
var is_store_sub = false;

@ -33,6 +33,7 @@ import { destroy_derived, execute_derived, update_derived } from './reactivity/d
import * as e from './errors.js';
import { lifecycle_outside_component } from '../shared/errors.js';
import { FILENAME } from '../../constants.js';
import { legacy_mode_flag } from '../feature-flags.js';
const FLUSH_MICROTASK = 0;
const FLUSH_SYNC = 1;
@ -162,7 +163,7 @@ export function increment_version() {
/** @returns {boolean} */
export function is_runes() {
return component_context !== null && component_context.l === null;
return !legacy_mode_flag || (component_context !== null && component_context.l === null);
}
/**
@ -1025,7 +1026,7 @@ export function push(props, runes = false, fn) {
l: null
};
if (!runes) {
if (legacy_mode_flag && !runes) {
component_context.l = {
s: null,
u: null,

@ -0,0 +1,5 @@
export let legacy_mode_flag = false;
export function enable_legacy_mode_flag() {
legacy_mode_flag = true;
}

@ -0,0 +1,3 @@
import { enable_legacy_mode_flag } from './feature-flags.js';
enable_legacy_mode_flag();

@ -1,4 +1,5 @@
import "svelte/internal/disclose-version";
import "svelte/internal/legacy-component";
import * as $ from "svelte/internal/client";
export default function Bind_this($$anchor) {

@ -1,4 +1,5 @@
import "svelte/internal/disclose-version";
import "svelte/internal/legacy-component";
import * as $ from "svelte/internal/client";
export default function Each_string_template($$anchor) {

@ -1,4 +1,5 @@
import "svelte/internal/disclose-version";
import "svelte/internal/legacy-component";
import * as $ from "svelte/internal/client";
var root = $.template(`<h1>hello world</h1>`);

@ -1,4 +1,5 @@
import "svelte/internal/disclose-version";
import "svelte/internal/legacy-component";
import * as $ from "svelte/internal/client";
var root = $.template(`<h1>hello world</h1>`);

@ -1,4 +1,5 @@
import "svelte/internal/disclose-version";
import "svelte/internal/legacy-component";
import * as $ from "svelte/internal/client";
import { random } from './module.svelte';

@ -1,4 +1,5 @@
import "svelte/internal/disclose-version";
import "svelte/internal/legacy-component";
import * as $ from "svelte/internal/client";
var root = $.template(`<p></p> <p></p> <!>`, 1);

Loading…
Cancel
Save