/svelte

Cybernetically enhanced web apps

Primary LanguageJavaScriptMIT LicenseMIT

Cybernetically enhanced web apps: Svelte npm version license

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.

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

Many tests depend on newlines being preserved as <LF>. On Windows, you can ensure this by cloning with:

git -c core.autocrlf=false clone https://github.com/sveltejs/svelte.git

To build the compiler, and all the other modules included in the package:

npm run build

To watch for changes and continually rebuild the package (this is useful if you're using npm link to test out changes in a project locally):

npm run 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

npm run test

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

npm run test -- -g transition

svelte.dev

The source code for https://svelte.dev, including all the documentation, lives in the site directory. The site is built with Sapper. To develop locally:

cd site
npm install && npm run update
npm run dev

License

MIT