8000 Svelte 5: Several circular dependencies in client runtime modules · Issue #10140 · sveltejs/svelte · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Svelte 5: Several circular dependencies in client runtime modules #10140

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
Conduitry opened this issue Jan 10, 2024 · 2 comments
Open

Svelte 5: Several circular dependencies in client runtime modules #10140

Conduitry opened this issue Jan 10, 2024 · 2 comments
Labels
runtime Changes relating to runtime APIs
Milestone

Comments

@Conduitry
Copy link
Member

Describe the bug

Not a bug, per se, but there are several circular dependencies among various files in the browser runtime. Here are a few that I observed in a project. There may be others that present themselves if you use more of Svelte's runtime.

svelte/src/internal/client/each.js -> svelte/src/internal/client/render.js -> svelte/src/internal/client/transitions.js -> svelte/src/internal/client/each.js
svelte/src/internal/client/proxy/readonly.js -> svelte/src/internal/client/proxy/proxy.js -> svelte/src/internal/client/proxy/readonly.js
svelte/src/internal/client/render.js -> svelte/src/internal/client/transitions.js -> svelte/src/internal/client/render.js
svelte/src/internal/client/runtime.js -> svelte/src/internal/client/block.js -> svelte/src/internal/client/runtime.js
svelte/src/internal/client/runtime.js -> svelte/src/internal/client/proxy/readonly.js -> svelte/src/internal/client/proxy/proxy.js -> svelte/src/internal/client/runtime.js
svelte/src/internal/index.js -> svelte/src/internal/client/custom-element.js -> svelte/src/legacy/legacy-client.js -> svelte/src/internal/index.js

If it comes down to it, I suppose we could suppress these warnings in our official tooling, but it would be nicer not to have the cycles at all if possible, for people with a more homegrown setup.

Reproduction

Attempt to bundle a Svelte 5 app directly with Rollup rather some other higher level tool, without suppressing CIRCULAR_DEPENDENCY warnings, and observe them at build time.

Logs

No response

System Info

n/a

Severity

annoyance

@Conduitry Conduitry added the runtime Changes relating to runtime APIs label Jan 10, 2024
@Conduitry Conduitry added this to the 5.0 milestone Jan 10, 2024
@trueadm trueadm modified the milestones: 5.0, 5.x Jun 3, 2024
@josdejong
Copy link
Contributor
josdejong commented Aug 2, 2024

I encounter the following circular dependencies:

node_modules/svelte/src/internal/client/reactivity/effects.js -> node_modules/svelte/src/internal/client/runtime.js -> node_modules/svelte/src/internal/client/reactivity/effects.js
node_modules/svelte/src/internal/client/reactivity/effects.js -> node_modules/svelte/src/internal/client/runtime.js -> node_modules/svelte/src/internal/client/dev/ownership.js -> node_modules/svelte/src/internal/client/reactivity/effects.js
node_modules/svelte/src/internal/client/runtime.js -> node_modules/svelte/src/internal/client/dev/ownership.js -> node_modules/svelte/src/internal/client/runtime.js
node_modules/svelte/src/internal/client/runtime.js -> node_modules/svelte/src/internal/client/reactivity/sources.js -> node_modules/svelte/src/internal/client/runtime.js
node_modules/svelte/src/internal/client/runtime.js -> node_modules/svelte/src/internal/client/reactivity/deriveds.js -> node_modules/svelte/src/internal/client/runtime.js

@Aristocrates201
Copy link
Aristocrates201 commented Apr 30, 2025

I encounter the following circular dependencies after upgrading from svelte 4 to svelte 5:

src/main.js → public/build/bundle.js...
(!) Circular dependencies
node_modules/svelte/src/internal/client/runtime.js -> node_modules/svelte/src/internal/client/reactivity/effects.js -> node_modules/svelte/src/internal/client/runtime.js
node_modules/svelte/src/internal/client/reactivity/sources.js -> node_modules/svelte/src/internal/client/runtime.js -> node_modules/svelte/src/internal/client/reactivity/effects.js -> node_modules/svelte/src/internal/client/reactivity/sources.js
node_modules/svelte/src/internal/client/dom/operations.js -> node_modules/svelte/src/internal/client/dom/hydration.js -> node_modules/svelte/src/internal/client/dom/operations.js
...and 13 more

I don't know whether it makes a difference for this purpose, but my project is an electronjs app.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
runtime Changes relating to runtime APIs
Projects
None yet
Development

No branches or pull requests

4 participants
0