Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork4.6k
fix: supportusing
keyword#16190
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
changeset-botbot commentedJun 17, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
🦋 Changeset detectedLatest commit:0fd3921 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means?Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
Realised that we don't need to do the whole async dance to get top-level |
Uh oh!
There was an error while loading.Please reload this page.
Upgrades to the latest version of Acorn, and replaces
ecmaVersion: 16
with'latest'
which allows Svelte code to use theusing
keyword (which is now stage 4, i.e. part of the language).I didn't think it worthwhile to add a test (would be like having a test for
var
declarations or whatever) but you can easily see itworking in the playground once it deploys.One thing wecould conceivably do is transform components with top-level
using
such that disposals don't occur until the component is removed. This would mean wrapping everything in an async function that ends with something like this:Personally I'm not sold on the idea — it's a little magical, and would prevent the component from exporting values — but I raise it as a possibility for discussion. If we thought wemight want to add that capability in future we could always prevent the usage of top-level
using
, though that itself might be annoying.Before submitting the PR, please make sure you do the following
feat:
,fix:
,chore:
, ordocs:
.packages/svelte/src
, add a changeset (npx changeset
).Tests and linting
pnpm test
and lint the project withpnpm lint