Generalise the no-restricted-syntax rule from the literal pdfjs-dist selector (added in #535) to also catch the underlying mechanism named in ADR-012 / #553: any `vi.mock(..., async () => { ... await import(...) ... })` produces a late birpc roundtrip during worker teardown. Selector: vi.mock CallExpression whose second argument is an ArrowFunctionExpression with async=true and whose subtree contains an AwaitExpression > ImportExpression. Both rules coexist — the literal pdfjs-dist rule still enforces the libLoader prop injection pattern (catches sync forms too); the new rule enforces the sync-factory invariant universally. Demonstrated by planting a synthetic offender locally and watching ESLint flag it with the new rule's message. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
sv
Everything you need to build a Svelte project, powered by sv.
Creating a project
If you're seeing this, you've probably already done this step. Congrats!
# create a new project in the current directory
npx sv create
# create a new project in my-app
npx sv create my-app
Developing
Once you've created a project and installed dependencies with npm install (or pnpm install or yarn), start a development server:
npm run dev
# or start the server and open the app in a new browser tab
npm run dev -- --open
Building
To create a production version of your app:
npm run build
You can preview the production build with npm run preview.
To deploy your app, you may need to install an adapter for your target environment.