{"id":26452,"library":"svelte-fast-check","title":"svelte-fast-check","description":"svelte-fast-check is a fast type and Svelte compiler warning checker for Svelte/SvelteKit projects, leveraging the TypeScript 7 (tsgo) preview (Go-based, parallel) for up to 24x faster incremental checks compared to svelte-check. Version 0.4.5 (Jan 2025) adds Windows support and fixes Node.js glob compatibility. Requires Node.js 22+ or Bun, Svelte 5+, and TypeScript 5+. Key differentiators: uses tsgo for faster incremental type checking, supports Svelte compiler warnings (unused CSS, a11y), reads warningFilter from svelte.config.js. Not included: CSS language service diagnostics.","status":"active","version":"0.4.5","language":"javascript","source_language":"en","source_url":"https://github.com/astralhpi/svelte-fast-check","tags":["javascript","svelte","sveltekit","typescript","type-checker","tsgo","typescript-go"],"install":[{"cmd":"npm install svelte-fast-check","lang":"bash","label":"npm"},{"cmd":"yarn add svelte-fast-check","lang":"bash","label":"yarn"},{"cmd":"pnpm add svelte-fast-check","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency; required for Svelte compiler and svelte2tsx","package":"svelte","optional":false},{"reason":"Peer dependency; provides TypeScript type checking","package":"typescript","optional":false},{"reason":"Internal dependency for TypeScript 7 Go-based type checker (pinned version in 0.2.1)","package":"tsgo","optional":false},{"reason":"Replaces experimental Node.js glob (v0.4.4)","package":"tinyglobby","optional":false}],"imports":[{"note":"The default export is a function for programmatic usage, not the config type.","wrong":"import { svelteFastCheck } from 'svelte-fast-check';","symbol":"svelteFastCheck (default export from config)","correct":"import svelteFastCheck from 'svelte-fast-check';"},{"note":"Use import type for TypeScript only; not a runtime value.","wrong":"import { FastCheckConfig } from 'svelte-fast-check';","symbol":"FastCheckConfig","correct":"import type { FastCheckConfig } from 'svelte-fast-check';"},{"note":"ESM-only; requires Node.js 22+ or Bun.","wrong":"const run = require('svelte-fast-check');","symbol":"run (if exposed)","correct":"import { run } from 'svelte-fast-check';"},{"note":"Type import for diagnostics; added in v0.4.0.","wrong":"","symbol":"MappedDiagnostic","correct":"import type { MappedDiagnostic } from 'svelte-fast-check';"}],"quickstart":{"code":"# Install\nnpm install -D svelte-fast-check\n\n# Basic usage\nnpx svelte-fast-check --incremental\n\n# Or with Bun for faster runtime\nbun add -D svelte-fast-check\nbun --bun svelte-fast-check --incremental\n\n# For a monorepo, specify tsconfig path:\nnpx svelte-fast-check --project packages/web/tsconfig.json\n","lang":"bash","description":"Installs and runs svelte-fast-check with incremental mode for up to 24x faster checks."},"warnings":[{"fix":"Upgrade Node.js to 22+ or use Bun.","message":"Node.js version requirement changed from >=18 to >=22 in v0.3.0","severity":"breaking","affected_versions":">=0.3.0"},{"fix":"Use `bun --bun svelte-fast-check` to force Bun runtime, or configure in package.json.","message":"CLI scripts have `#!/usr/bin/env node` shebang; `bun svelte-fast-check` runs with Node.js by default","severity":"gotcha","affected_versions":">=0.4.1"},{"fix":"Upgrade to v0.4.4+ which uses `tinyglobby`.","message":"Node.js experimental `fs.glob` used in v0.3.0 was replaced in v0.4.4 due to `SyntaxError: Import named 'glob' not found in module 'fs/promises'`","severity":"deprecated","affected_versions":"0.3.0 - 0.4.3"},{"fix":"Upgrade to v0.4.3+ or use absolute symlinks.","message":"Symbolic links to CLI may fail if relative paths are used; resolved in v0.4.3","severity":"gotcha","affected_versions":"<0.4.3"},{"fix":"Check tsgo issue tracker for known limitations. Pin tsgo version via package.json resolutions if needed.","message":"TypeScript 7 (tsgo) preview is experimental; not all TypeScript features may work","severity":"gotcha","affected_versions":"all"},{"fix":"Use eslint-plugin-svelte or Biome for CSS diagnostics.","message":"CSS language service diagnostics are NOT included; only TypeScript errors and Svelte compiler warnings","severity":"gotcha","affected_versions":"all"},{"fix":"To see all warnings, use `--no-svelte-warnings false` or remove warningFilter.","message":"Svelte compiler warnings are filtered by default using `warningFilter` from svelte.config.js; can be disabled with `--no-svelte-warnings`","severity":"gotcha","affected_versions":">=0.4.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Update to svelte-fast-check v0.4.4+ or use Node.js 22 with `--experimental-modules` flag.","cause":"Node.js 22/24 may not expose experimental `fs.glob` in some environments; used in v0.3.0-v0.4.3","error":"SyntaxError: Import named 'glob' not found in module 'fs/promises'"},{"fix":"Install as devDependency: `npm install -D svelte-fast-check`. Ensure symlink paths are absolute (upgrade to v0.4.3+).","cause":"Package not installed or running from wrong directory when using CLI symlinks","error":"Error: Cannot find module 'svelte-fast-check'"},{"fix":"Ensure warningFilter is a function that returns a boolean. Example: `warningFilter: (warning) => warning.code !== 'css-unused-selector'`","cause":"warningFilter must be a function; may be misconfigured in svelte.config.js","error":"TypeError: svelte.config.js warningFilter is not a function"},{"fix":"Upgrade to v0.2.1+ which filters this false positive. Or ignore with `// @ts-expect-error`.","cause":"False positive from tsgo for Snippet type; known issue tsgo#1682","error":"error TS2322: Type 'Snippet' is not assignable to type..."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}