Skip to content

Commit a2bc5f7

Browse files
committed
add flag
1 parent 7dc2019 commit a2bc5f7

File tree

7 files changed

+18
-2
lines changed

7 files changed

+18
-2
lines changed

packages/svelte/package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@
5959
"./internal/disclose-version": {
6060
"default": "./src/internal/disclose-version.js"
6161
},
62+
"./internal/flags/async": {
63+
"default": "./src/internal/flags/async.js"
64+
},
6265
"./internal/flags/legacy": {
6366
"default": "./src/internal/flags/legacy.js"
6467
},

packages/svelte/src/compiler/phases/3-transform/client/transform-client.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -563,6 +563,10 @@ export function client_component(analysis, options) {
563563
);
564564
}
565565

566+
if (options.experimental.async) {
567+
body.unshift(b.imports([], 'svelte/internal/flags/async'));
568+
}
569+
566570
if (!analysis.runes) {
567571
body.unshift(b.imports([], 'svelte/internal/flags/legacy'));
568572
}

packages/svelte/src/index-client.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { is_array } from './internal/shared/utils.js';
66
import { user_effect } from './internal/client/index.js';
77
import * as e from './internal/client/errors.js';
88
import { lifecycle_outside_component } from './internal/shared/errors.js';
9-
import { legacy_mode_flag } from './internal/flags/index.js';
9+
import { async_mode_flag, legacy_mode_flag } from './internal/flags/index.js';
1010
import { component_context } from './internal/client/context.js';
1111
import { DEV } from 'esm-env';
1212

packages/svelte/src/internal/client/render.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import * as w from './warnings.js';
3030
import * as e from './errors.js';
3131
import { assign_nodes } from './dom/template.js';
3232
import { is_passive_event } from '../../utils.js';
33+
import { async_mode_flag } from '../flags/index.js';
3334

3435
/**
3536
* This is normally true — block effects should run their intro transitions —
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { enable_async_mode_flag } from './index.js';
2+
3+
enable_async_mode_flag();

packages/svelte/src/internal/flags/index.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
1+
export let async_mode_flag = false;
12
export let legacy_mode_flag = false;
23
export let tracing_mode_flag = false;
34

5+
export function enable_async_mode_flag() {
6+
async_mode_flag = true;
7+
}
8+
49
export function enable_legacy_mode_flag() {
510
legacy_mode_flag = true;
611
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ async function common_setup(cwd: string, runes: boolean | undefined, config: Run
173173
dev: force_hmr ? true : undefined,
174174
hmr: force_hmr ? true : undefined,
175175
experimental: {
176-
async: true
176+
async: runes
177177
},
178178
fragments,
179179
...config.compileOptions,

0 commit comments

Comments
 (0)