Skip to content

Commit a5ea7ff

Browse files
committed
conflict
1 parent 36a6a6b commit a5ea7ff

File tree

5 files changed

+31
-7
lines changed

5 files changed

+31
-7
lines changed

packages/svelte/src/internal/client/dev/hmr.js

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,22 @@ export function hmr(source) {
3434
// when the component is invalidated, replace it without transitions
3535
if (ran) set_should_intro(false);
3636

37+
var descriptors = Object.getOwnPropertyDescriptors(
38+
// @ts-expect-error
39+
new.target ? new component(anchor, props) : component(anchor, props)
40+
)
41+
3742
// preserve getters/setters
38-
Object.defineProperties(
39-
instance,
40-
Object.getOwnPropertyDescriptors(
41-
// @ts-expect-error
42-
new.target ? new component(anchor, props) : component(anchor, props)
43-
)
44-
);
43+
for (var desc in descriptors) {
44+
debugger
45+
if (descriptors[desc].enumerable) {
46+
Object.defineProperty(
47+
instance,
48+
desc,
49+
descriptors[desc]
50+
);
51+
}
52+
}
4553

4654
if (ran) set_should_intro(true);
4755
});

packages/svelte/tests/runtime-legacy/samples/component-not-constructor2/_config.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
import { test } from '../../test';
22

33
export default test({
4+
compileOptions: {
5+
dev: false,
6+
},
7+
48
get props() {
59
return { componentName: 'Sub' };
610
},

packages/svelte/tests/runtime-legacy/shared.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,9 +138,13 @@ export function runtime_suite(runes: boolean) {
138138
}
139139

140140
async function common_setup(cwd: string, runes: boolean | undefined, config: RuntimeTest) {
141+
const force_hmr = process.env.HMR && config.compileOptions?.dev !== false && !config.error;
142+
141143
const compileOptions: CompileOptions = {
142144
generate: 'client',
143145
rootDir: cwd,
146+
dev: force_hmr ? true : undefined,
147+
hmr: force_hmr ? true : undefined,
144148
...config.compileOptions,
145149
immutable: config.immutable,
146150
accessors: 'accessors' in config ? config.accessors : true,

packages/svelte/tests/runtime-runes/samples/bind-this-proxy/_config.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ import { flushSync } from 'svelte';
22
import { test } from '../../test';
33

44
export default test({
5+
compileOptions: {
6+
dev: false,
7+
},
8+
59
html: `<button>Toggle</button><div>Hello\nworld</div>`,
610

711
async test({ assert, target, logs }) {

packages/svelte/tests/runtime-runes/samples/spread-props/_config.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
import { test } from '../../test';
22

33
export default test({
4+
compileOptions: {
5+
dev: false,
6+
},
7+
48
async test({ assert, target }) {
59
assert.htmlEqual(
610
target.innerHTML,

0 commit comments

Comments
 (0)