Svelte is a new way to build web applications. It's a compiler that takes your declarative components and converts them into efficient JavaScript that surgically updates the DOM.
Learn more at the Svelte website, or stop by the Discord chatroom.
Svelte is an MIT-licensed open source project with its ongoing development made possible entirely by fantastic volunteers. If you'd like to support their efforts, please consider:
Funds donated via Open Collective will be used for compensating expenses related to Svelte's development such as hosting costs. If sufficient donations are received, funds may also be used to support Svelte's development more directly.
You may view our roadmap if you'd like to see what we're currently working on.
Please see the Contributing Guide and svelte package for contributing to Svelte.
Pull requests are encouraged and always welcome. Pick an issue and help us out!
To install and work on Svelte locally:
git clone https://github.com/sveltejs/svelte.git
cd svelte
pnpm install
Do not use Yarn to install the dependencies, as the specific package versions in
pnpm-lock.json
are used to build and test Svelte.
To build the compiler and all the other modules included in the package:
pnpm build
To watch for changes and continually rebuild the package (this is useful if you're using pnpm link
to test out changes in a project locally):
pnpm dev
The compiler is written in TypeScript, but don't let that put you off — it's basically just JavaScript with type annotations. You'll pick it up in no time. If you're using an editor other than Visual Studio Code, you may need to install a plugin in order to get syntax highlighting and code hints, etc.
pnpm test
To filter tests, use -g
(aka --grep
). For example, to only run tests involving transitions:
pnpm test -- -g transition
The source code for https://svelte.dev lives in the sites repository, with all the documentation in the site/content directory. The site is built with SvelteKit.
Probably not, but it's possible. If you can't seem to access any .dev
sites, check out this SuperUser question and answer.