1 | <p>
|
2 | <a href="https://svelte.dev">
|
3 | <img alt="Cybernetically enhanced web apps: Svelte" src="https://svelte-assets.surge.sh/banner.png">
|
4 | </a>
|
5 |
|
6 | <a href="https://www.npmjs.com/package/svelte">
|
7 | <img src="https://img.shields.io/npm/v/svelte.svg" alt="npm version">
|
8 | </a>
|
9 |
|
10 | <a href="https://packagephobia.now.sh/result?p=svelte">
|
11 | <img src="https://packagephobia.now.sh/badge?p=svelte" alt="install size">
|
12 | </a>
|
13 |
|
14 | <a href="https://travis-ci.org/sveltejs/svelte">
|
15 | <img src="https://api.travis-ci.org/sveltejs/svelte.svg?branch=master"
|
16 | alt="build status">
|
17 | </a>
|
18 |
|
19 | <a href="https://github.com/sveltejs/svelte/blob/master/LICENSE">
|
20 | <img src="https://img.shields.io/npm/l/svelte.svg" alt="license">
|
21 | </a>
|
22 | </p>
|
23 |
|
24 |
|
25 | ## What is Svelte?
|
26 |
|
27 | 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.
|
28 |
|
29 | Learn more at the [Svelte website](https://svelte.dev), or stop by the [Discord chatroom](https://svelte.dev/chat).
|
30 |
|
31 |
|
32 | ## Development
|
33 |
|
34 | Pull requests are encouraged and always welcome. [Pick an issue](https://github.com/sveltejs/svelte/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc) and help us out!
|
35 |
|
36 | To install and work on Svelte locally:
|
37 |
|
38 | ```bash
|
39 | git clone https://github.com/sveltejs/svelte.git
|
40 | cd svelte
|
41 | npm install
|
42 | ```
|
43 |
|
44 | > Many tests depend on newlines being preserved as `<LF>`. On Windows, you can ensure this by cloning with:
|
45 | > ```bash
|
46 | > git -c core.autocrlf=false clone https://github.com/sveltejs/svelte.git
|
47 | > ```
|
48 |
|
49 | To build the compiler, and all the other modules included in the package:
|
50 |
|
51 | ```bash
|
52 | npm run build
|
53 | ```
|
54 |
|
55 | To watch for changes and continually rebuild the package (this is useful if you're using [npm link](https://docs.npmjs.com/cli/link.html) to test out changes in a project locally):
|
56 |
|
57 | ```bash
|
58 | npm run dev
|
59 | ```
|
60 |
|
61 | The compiler is written in [TypeScript](https://www.typescriptlang.org/), 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](https://code.visualstudio.com/) you may need to install a plugin in order to get syntax highlighting and code hints etc.
|
62 |
|
63 |
|
64 | ### Running Tests
|
65 |
|
66 | ```bash
|
67 | npm run test
|
68 | ```
|
69 |
|
70 | To filter tests, use `-g` (aka `--grep`). For example, to only run tests involving transitions:
|
71 |
|
72 | ```bash
|
73 | npm run test -- -g transition
|
74 | ```
|
75 |
|
76 |
|
77 | ## svelte.dev
|
78 |
|
79 | The source code for https://svelte.dev, including all the documentation, lives in the [site](site) directory. The site is built with [Sapper](https://sapper.svelte.dev). To develop locally:
|
80 |
|
81 | ```bash
|
82 | cd site
|
83 | npm install && npm run update
|
84 | npm run dev
|
85 | ```
|
86 |
|
87 |
|
88 | ## License
|
89 |
|
90 | [MIT](LICENSE)
|