Cybernetically enhanced web apps
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
Ben McCann 6f8cdf3b0f
chore: run CI tests on Node 20 (#8519)
2 years ago
.github chore: run CI tests on Node 20 (#8519) 2 years ago
elements feat: add support for resize observer bindings (#8022) 2 years ago
scripts chore: simplify Svelte 4 CI (#8487) 2 years ago
site/content feat: add a11y `no-noninteractive-element-interactions` (#8391) 2 years ago
src feat: improve duplicate key error for keyed each blocks (#8411) 2 years ago
test chore: switch from npm to pnpm (#8514) 2 years ago
.editorconfig chore: remove unnecessary indent_size from editorconfig (#5992) 4 years ago
.eslintignore use common linting configuration (#4942) 5 years ago
.eslintrc.js use common linting configuration (#4942) 5 years ago
.gitattributes Add a linguist configuration (#5878) 4 years ago
.gitignore [chore] add ESLint Caching (#8069) 2 years ago
.mocharc.js [feat] pre-build before testing in CI (#7933) 2 years ago
.mocharc.unit.js [feat] pre-build before testing in CI (#7933) 2 years ago
CHANGELOG.md breaking: remove legacy package.json files (#8515) 2 years ago
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md (#7183) 3 years ago
CONTRIBUTING.md chore: switch from npm to pnpm (#8514) 2 years ago
LICENSE.md Update license year (#8227) 2 years ago
README.md chore: switch from npm to pnpm (#8514) 2 years ago
check_publish_env.js work around publishing issue with npm v7 (#5983) 4 years ago
package.json chore: switch from npm to pnpm (#8514) 2 years ago
pnpm-lock.yaml chore: switch from npm to pnpm (#8514) 2 years ago
register.js Log warnings in svelte/register when in dev-mode (#4365) 5 years ago
rollup.config.mjs breaking: remove legacy package.json files (#8515) 2 years ago
tsconfig.json chore: upgrade rollup (#8491) 2 years ago

README.md

Cybernetically enhanced web apps: Svelte

npm version license Chat

What is Svelte?

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.

Supporting Svelte

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.

Roadmap

You may view our roadmap if you'd like to see what we're currently working on.

Development

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 package-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.

Running Tests

pnpm test

To filter tests, use -g (aka --grep). For example, to only run tests involving transitions:

pnpm test -- -g transition

svelte.dev

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.

Is svelte.dev down?

Probably not, but it's possible. If you can't seem to access any .dev sites, check out this SuperUser question and answer.

License

MIT