svelte 5.55.6 → 5.55.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/compiler/index.js +1 -1
- package/package.json +2 -2
- package/src/internal/client/constants.js +5 -0
- package/src/internal/client/dom/elements/attributes.js +16 -7
- package/src/internal/client/dom/elements/bindings/shared.js +4 -6
- package/src/internal/client/dom/elements/class.js +3 -4
- package/src/internal/client/dom/elements/misc.js +2 -2
- package/src/internal/client/dom/elements/style.js +3 -4
- package/src/internal/client/dom/operations.js +12 -11
- package/src/internal/client/render.js +4 -5
- package/src/internal/server/hydratable.js +7 -2
- package/src/internal/server/index.js +1 -1
- package/src/utils.js +1 -1
- package/src/version.js +1 -1
- package/types/index.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "svelte",
|
|
3
3
|
"description": "Cybernetically enhanced web apps",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "5.55.
|
|
5
|
+
"version": "5.55.7",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"types": "./types/index.d.ts",
|
|
8
8
|
"engines": {
|
|
@@ -164,7 +164,7 @@
|
|
|
164
164
|
"aria-query": "5.3.1",
|
|
165
165
|
"axobject-query": "^4.1.0",
|
|
166
166
|
"clsx": "^2.1.1",
|
|
167
|
-
"devalue": "^5.
|
|
167
|
+
"devalue": "^5.8.1",
|
|
168
168
|
"esm-env": "^1.2.1",
|
|
169
169
|
"esrap": "^2.2.4",
|
|
170
170
|
"is-reference": "^3.0.3",
|
|
@@ -63,6 +63,11 @@ export const STATE_SYMBOL = Symbol('$state');
|
|
|
63
63
|
export const LEGACY_PROPS = Symbol('legacy props');
|
|
64
64
|
export const LOADING_ATTR_SYMBOL = Symbol('');
|
|
65
65
|
export const PROXY_PATH_SYMBOL = Symbol('proxy path');
|
|
66
|
+
export const ATTRIBUTES_CACHE = Symbol('attributes');
|
|
67
|
+
export const CLASS_CACHE = Symbol('class');
|
|
68
|
+
export const STYLE_CACHE = Symbol('style');
|
|
69
|
+
export const TEXT_CACHE = Symbol('text');
|
|
70
|
+
export const FORM_RESET_HANDLER = Symbol('form reset');
|
|
66
71
|
/** An anchor might change, via this symbol on the original anchor we can tell HMR about the updated anchor */
|
|
67
72
|
export const HMR_ANCHOR = Symbol('hmr anchor');
|
|
68
73
|
|
|
@@ -5,7 +5,12 @@ import { get_descriptors, get_prototype_of } from '../../../shared/utils.js';
|
|
|
5
5
|
import { create_event, delegate, delegated, event, event_symbol } from './events.js';
|
|
6
6
|
import { add_form_reset_listener, autofocus } from './misc.js';
|
|
7
7
|
import * as w from '../../warnings.js';
|
|
8
|
-
import {
|
|
8
|
+
import {
|
|
9
|
+
ATTRIBUTES_CACHE,
|
|
10
|
+
FORM_RESET_HANDLER,
|
|
11
|
+
IS_XHTML,
|
|
12
|
+
LOADING_ATTR_SYMBOL
|
|
13
|
+
} from '#client/constants';
|
|
9
14
|
import { queue_micro_task } from '../task.js';
|
|
10
15
|
import { is_capture_event, can_delegate_event, normalize_attribute } from '../../../../utils.js';
|
|
11
16
|
import {
|
|
@@ -69,8 +74,7 @@ export function remove_input_defaults(input) {
|
|
|
69
74
|
}
|
|
70
75
|
};
|
|
71
76
|
|
|
72
|
-
|
|
73
|
-
input.__on_r = remove_defaults;
|
|
77
|
+
/** @type {any} */ (input)[FORM_RESET_HANDLER] = remove_defaults;
|
|
74
78
|
queue_micro_task(remove_defaults);
|
|
75
79
|
add_form_reset_listener();
|
|
76
80
|
}
|
|
@@ -561,8 +565,7 @@ export function attribute_effect(
|
|
|
561
565
|
*/
|
|
562
566
|
function get_attributes(element) {
|
|
563
567
|
return /** @type {Record<string | symbol, unknown>} **/ (
|
|
564
|
-
|
|
565
|
-
element.__attributes ??= {
|
|
568
|
+
/** @type {any} */ (element)[ATTRIBUTES_CACHE] ??= {
|
|
566
569
|
[IS_CUSTOM_ELEMENT]: element.nodeName.includes('-'),
|
|
567
570
|
[IS_HTML]: element.namespaceURI === NAMESPACE_HTML
|
|
568
571
|
}
|
|
@@ -583,13 +586,19 @@ function get_setters(element) {
|
|
|
583
586
|
var proto = element; // In the case of custom elements there might be setters on the instance
|
|
584
587
|
var element_proto = Element.prototype;
|
|
585
588
|
|
|
586
|
-
// Stop at Element, from there on there's only unnecessary setters we're not interested in
|
|
589
|
+
// Stop at Element, from there on there's only unnecessary (and dangerous, like innerHTML) setters we're not interested in
|
|
587
590
|
// Do not use constructor.name here as that's unreliable in some browser environments
|
|
588
591
|
while (element_proto !== proto) {
|
|
589
592
|
descriptors = get_descriptors(proto);
|
|
590
593
|
|
|
591
594
|
for (var key in descriptors) {
|
|
592
|
-
if (
|
|
595
|
+
if (
|
|
596
|
+
descriptors[key].set &&
|
|
597
|
+
// better safe than sorry, we don't want spread attributes to mess with HTML content
|
|
598
|
+
key !== 'innerHTML' &&
|
|
599
|
+
key !== 'textContent' &&
|
|
600
|
+
key !== 'innerText'
|
|
601
|
+
) {
|
|
593
602
|
setters.push(key);
|
|
594
603
|
}
|
|
595
604
|
}
|
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
set_active_effect,
|
|
6
6
|
set_active_reaction
|
|
7
7
|
} from '../../../runtime.js';
|
|
8
|
+
import { FORM_RESET_HANDLER } from '../../../constants.js';
|
|
8
9
|
import { add_form_reset_listener } from '../misc.js';
|
|
9
10
|
|
|
10
11
|
/**
|
|
@@ -58,18 +59,15 @@ export function without_reactive_context(fn) {
|
|
|
58
59
|
*/
|
|
59
60
|
export function listen_to_event_and_reset_event(element, event, handler, on_reset = handler) {
|
|
60
61
|
element.addEventListener(event, () => without_reactive_context(handler));
|
|
61
|
-
|
|
62
|
-
const prev = element.__on_r;
|
|
62
|
+
const prev = /** @type {any} */ (element)[FORM_RESET_HANDLER];
|
|
63
63
|
if (prev) {
|
|
64
64
|
// special case for checkbox that can have multiple binds (group & checked)
|
|
65
|
-
|
|
66
|
-
element.__on_r = () => {
|
|
65
|
+
/** @type {any} */ (element)[FORM_RESET_HANDLER] = () => {
|
|
67
66
|
prev();
|
|
68
67
|
on_reset(true);
|
|
69
68
|
};
|
|
70
69
|
} else {
|
|
71
|
-
|
|
72
|
-
element.__on_r = () => on_reset(true);
|
|
70
|
+
/** @type {any} */ (element)[FORM_RESET_HANDLER] = () => on_reset(true);
|
|
73
71
|
}
|
|
74
72
|
|
|
75
73
|
add_form_reset_listener();
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { to_class } from '../../../shared/attributes.js';
|
|
2
|
+
import { CLASS_CACHE } from '../../constants.js';
|
|
2
3
|
import { hydrating } from '../hydration.js';
|
|
3
4
|
|
|
4
5
|
/**
|
|
@@ -11,8 +12,7 @@ import { hydrating } from '../hydration.js';
|
|
|
11
12
|
* @returns {Record<string, boolean> | undefined}
|
|
12
13
|
*/
|
|
13
14
|
export function set_class(dom, is_html, value, hash, prev_classes, next_classes) {
|
|
14
|
-
|
|
15
|
-
var prev = dom.__className;
|
|
15
|
+
var prev = /** @type {any} */ (dom)[CLASS_CACHE];
|
|
16
16
|
|
|
17
17
|
if (
|
|
18
18
|
hydrating ||
|
|
@@ -35,8 +35,7 @@ export function set_class(dom, is_html, value, hash, prev_classes, next_classes)
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
dom.__className = value;
|
|
38
|
+
/** @type {any} */ (dom)[CLASS_CACHE] = value;
|
|
40
39
|
} else if (next_classes && prev_classes !== next_classes) {
|
|
41
40
|
for (var key in next_classes) {
|
|
42
41
|
var is_present = !!next_classes[key];
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { hydrating } from '../hydration.js';
|
|
2
2
|
import { clear_text_content, get_first_child } from '../operations.js';
|
|
3
3
|
import { queue_micro_task } from '../task.js';
|
|
4
|
+
import { FORM_RESET_HANDLER } from '../../constants.js';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* @param {HTMLElement} dom
|
|
@@ -45,8 +46,7 @@ export function add_form_reset_listener() {
|
|
|
45
46
|
Promise.resolve().then(() => {
|
|
46
47
|
if (!evt.defaultPrevented) {
|
|
47
48
|
for (const e of /**@type {HTMLFormElement} */ (evt.target).elements) {
|
|
48
|
-
|
|
49
|
-
e.__on_r?.();
|
|
49
|
+
/** @type {any} */ (e)[FORM_RESET_HANDLER]?.();
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { to_style } from '../../../shared/attributes.js';
|
|
2
|
+
import { STYLE_CACHE } from '../../constants.js';
|
|
2
3
|
import { hydrating } from '../hydration.js';
|
|
3
4
|
|
|
4
5
|
/**
|
|
@@ -28,8 +29,7 @@ function update_styles(dom, prev = {}, next, priority) {
|
|
|
28
29
|
* @param {Record<string, any> | [Record<string, any>, Record<string, any>]} [next_styles]
|
|
29
30
|
*/
|
|
30
31
|
export function set_style(dom, value, prev_styles, next_styles) {
|
|
31
|
-
|
|
32
|
-
var prev = dom.__style;
|
|
32
|
+
var prev = /** @type {any} */ (dom)[STYLE_CACHE];
|
|
33
33
|
|
|
34
34
|
if (hydrating || prev !== value) {
|
|
35
35
|
var next_style_attr = to_style(value, next_styles);
|
|
@@ -42,8 +42,7 @@ export function set_style(dom, value, prev_styles, next_styles) {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
dom.__style = value;
|
|
45
|
+
/** @type {any} */ (dom)[STYLE_CACHE] = value;
|
|
47
46
|
} else if (next_styles) {
|
|
48
47
|
if (Array.isArray(next_styles)) {
|
|
49
48
|
update_styles(dom, prev_styles?.[0], next_styles[0]);
|
|
@@ -5,7 +5,14 @@ import { init_array_prototype_warnings } from '../dev/equality.js';
|
|
|
5
5
|
import { get_descriptor, is_extensible } from '../../shared/utils.js';
|
|
6
6
|
import { active_effect } from '../runtime.js';
|
|
7
7
|
import { async_mode_flag } from '../../flags/index.js';
|
|
8
|
-
import {
|
|
8
|
+
import {
|
|
9
|
+
ATTRIBUTES_CACHE,
|
|
10
|
+
CLASS_CACHE,
|
|
11
|
+
REACTION_RAN,
|
|
12
|
+
STYLE_CACHE,
|
|
13
|
+
TEXT_CACHE,
|
|
14
|
+
TEXT_NODE
|
|
15
|
+
} from '#client/constants';
|
|
9
16
|
import { eager_block_effects } from '../reactivity/batch.js';
|
|
10
17
|
import { NAMESPACE_HTML } from '../../../constants.js';
|
|
11
18
|
|
|
@@ -48,21 +55,15 @@ export function init_operations() {
|
|
|
48
55
|
|
|
49
56
|
if (is_extensible(element_prototype)) {
|
|
50
57
|
// the following assignments improve perf of lookups on DOM nodes
|
|
51
|
-
|
|
52
|
-
element_prototype
|
|
53
|
-
|
|
54
|
-
element_prototype.__className = undefined;
|
|
55
|
-
// @ts-expect-error
|
|
56
|
-
element_prototype.__attributes = null;
|
|
57
|
-
// @ts-expect-error
|
|
58
|
-
element_prototype.__style = undefined;
|
|
58
|
+
/** @type {any} */ (element_prototype)[CLASS_CACHE] = undefined;
|
|
59
|
+
/** @type {any} */ (element_prototype)[ATTRIBUTES_CACHE] = null;
|
|
60
|
+
/** @type {any} */ (element_prototype)[STYLE_CACHE] = undefined;
|
|
59
61
|
// @ts-expect-error
|
|
60
62
|
element_prototype.__e = undefined;
|
|
61
63
|
}
|
|
62
64
|
|
|
63
65
|
if (is_extensible(text_prototype)) {
|
|
64
|
-
|
|
65
|
-
text_prototype.__t = undefined;
|
|
66
|
+
/** @type {any} */ (text_prototype)[TEXT_CACHE] = undefined;
|
|
66
67
|
}
|
|
67
68
|
|
|
68
69
|
if (DEV) {
|
|
@@ -23,7 +23,7 @@ import * as w from './warnings.js';
|
|
|
23
23
|
import * as e from './errors.js';
|
|
24
24
|
import { assign_nodes } from './dom/template.js';
|
|
25
25
|
import { is_passive_event } from '../../utils.js';
|
|
26
|
-
import { COMMENT_NODE, STATE_SYMBOL } from './constants.js';
|
|
26
|
+
import { COMMENT_NODE, STATE_SYMBOL, TEXT_CACHE } from './constants.js';
|
|
27
27
|
import { boundary } from './dom/blocks/boundary.js';
|
|
28
28
|
|
|
29
29
|
/**
|
|
@@ -46,10 +46,9 @@ export function set_should_intro(value) {
|
|
|
46
46
|
export function set_text(text, value) {
|
|
47
47
|
// For objects, we apply string coercion (which might make things like $state array references in the template reactive) before diffing
|
|
48
48
|
var str = value == null ? '' : typeof value === 'object' ? `${value}` : value;
|
|
49
|
-
//
|
|
50
|
-
if (str !== (text
|
|
51
|
-
|
|
52
|
-
text.__t = str;
|
|
49
|
+
// prettier-ignore
|
|
50
|
+
if (str !== (/** @type {any} */ (text)[TEXT_CACHE] ??= text.nodeValue)) {
|
|
51
|
+
/** @type {any} */ (text)[TEXT_CACHE] = str;
|
|
53
52
|
text.nodeValue = `${str}`;
|
|
54
53
|
}
|
|
55
54
|
}
|
|
@@ -3,7 +3,6 @@ import { async_mode_flag } from '../flags/index.js';
|
|
|
3
3
|
import { get_render_context } from './render-context.js';
|
|
4
4
|
import * as e from './errors.js';
|
|
5
5
|
import * as devalue from 'devalue';
|
|
6
|
-
import { get_stack } from '../shared/dev.js';
|
|
7
6
|
import { DEV } from 'esm-env';
|
|
8
7
|
import { get_user_code_location } from './dev.js';
|
|
9
8
|
|
|
@@ -65,7 +64,13 @@ function encode(key, value, unresolved) {
|
|
|
65
64
|
const placeholder = `"${uid++}"`;
|
|
66
65
|
const p = value
|
|
67
66
|
.then((v) => {
|
|
68
|
-
entry.serialized = entry.serialized.replace(
|
|
67
|
+
entry.serialized = entry.serialized.replace(
|
|
68
|
+
placeholder,
|
|
69
|
+
// use the function form here to prevent any string replacement characters from being interpreted
|
|
70
|
+
// in `v`, as it's potentially user-controlled and therefore potentially malicious.
|
|
71
|
+
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#specifying_a_string_as_the_replacement
|
|
72
|
+
() => `r(${uneval(v)})`
|
|
73
|
+
);
|
|
69
74
|
})
|
|
70
75
|
.catch((devalue_error) =>
|
|
71
76
|
e.hydratable_serialization_failed(
|
|
@@ -151,7 +151,7 @@ export function attributes(attrs, css_hash, classes, styles, flags = 0) {
|
|
|
151
151
|
// omit functions, internal svelte properties and invalid attribute names
|
|
152
152
|
if (typeof attrs[name] === 'function') continue;
|
|
153
153
|
if (name[0] === '$' && name[1] === '$') continue; // faster than name.startsWith('$$')
|
|
154
|
-
if (INVALID_ATTR_NAME_CHAR_REGEX.test(name)) continue;
|
|
154
|
+
if (name === '' || INVALID_ATTR_NAME_CHAR_REGEX.test(name)) continue;
|
|
155
155
|
|
|
156
156
|
var value = attrs[name];
|
|
157
157
|
var lower = name.toLowerCase();
|
package/src/utils.js
CHANGED
|
@@ -491,7 +491,7 @@ export function is_raw_text_element(name) {
|
|
|
491
491
|
// Rejects strings containing whitespace, quotes, angle brackets, slashes, equals,
|
|
492
492
|
// or other characters that could break out of a tag-name token and enable markup injection.
|
|
493
493
|
export const REGEX_VALID_TAG_NAME =
|
|
494
|
-
/^[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9.\-_\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}]
|
|
494
|
+
/^[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9.\-_\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}]*)?$/u;
|
|
495
495
|
|
|
496
496
|
/**
|
|
497
497
|
* Prevent devtools trying to make `location` a clickable link by inserting a zero-width space
|
package/src/version.js
CHANGED
package/types/index.d.ts.map
CHANGED
|
@@ -273,6 +273,6 @@
|
|
|
273
273
|
null,
|
|
274
274
|
null
|
|
275
275
|
],
|
|
276
|
-
"mappings": ";;;;;;;;;kBAUiBA,2BAA2BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmC/BC,eAAeA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAwEhBC,kBAAkBA;;;;;;;;;;;;;;;;;;;;;;;;kBAwBbC,SAASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoCbC,oBAAoBA;;;;;;;;;;;;;;;;;;;;;;;;aAwBrBC,eAAeA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAiCfC,cAAcA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA6BdC,aAAaA;;;;;;;;;;;;;;;;;;;;;;;kBAuBRC,OAAOA;;;;;;;;;;;;;;;;kBAgBPC,eAAeA;;;;;;;;;;;;;;;;aAgBpBC,YAAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA+CPC,IAAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBCzSLC,cAAcA;;;;;;;;;;;;iBAsBdC,OAAOA;;;;;;;;iBAwBPC,SAASA;;;;;;;;;;;;;;;;;;;;;;iBA0CTC,qBAAqBA;;;;;;;;;;iBA2CrBC,YAAYA;;;;;;;;;;iBAuBZC,WAAWA;iBClNXC,UAAUA;;;;iBC4DVC,gBAAgBA;;;;;MCvEpBC,WAAWA;;;;;iBCi+BPC,SAASA;;;;;;;;;;;;;;;;;;iBA2WTC,IAAIA;;;;;;;;iBC7vCJC,aAAaA;;;;;;;;iBAyBbC,UAAUA;;;;;;;;;;;iBAoBVC,UAAUA;;;;;;iBA2BVC,UAAUA;;;;;;;iBAaVC,cAAcA;;;;;;
|
|
276
|
+
"mappings": "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",
|
|
277
277
|
"ignoreList": []
|
|
278
278
|
}
|