2016-11-20 19:14:34 +01:00
# Svelte
2016-11-17 06:20:38 +01:00
2016-12-18 03:49:57 +01:00
The magical disappearing UI framework.
2016-12-18 03:50:06 +01:00
* [Read the introductory blog post ](https://svelte.technology/blog/frameworks-without-the-framework/ )
2016-12-18 03:49:57 +01:00
* [Read the guide ](https://svelte.technology/guide )
* [Try it out ](https://svelte.technology/repl )
* [Chat on Gitter ](https://gitter.im/sveltejs/svelte )
2016-11-29 16:57:39 +01:00
---
This is the Svelte compiler, which is primarily intended for authors of tooling that integrates Svelte with different build systems. If you just want to write Svelte components and use them in your app, you probably want one of those tools:
* [svelte-cli ](https://github.com/sveltejs/svelte-cli ) – Command line interface for compiling components
* [rollup-plugin-svelte ](https://github.com/rollup/rollup-plugin-svelte ) – Rollup plugin
2016-12-01 16:45:49 +01:00
* [sveltify ](https://github.com/tehshrike/sveltify ) - Browserify transform
2016-12-02 12:40:55 +01:00
* [gulp-svelte ](https://github.com/shinnn/gulp-svelte ) - gulp plugin
* [metalsmith-svelte ](https://github.com/shinnn/metalsmith-svelte ) - Metalsmith plugin
2016-12-06 20:46:22 +01:00
* [system-svelte ](https://github.com/CanopyTax/system-svelte ) – System.js loader
2016-12-07 17:19:11 +01:00
* [svelte-loader ](https://github.com/sveltejs/svelte-loader ) – Webpack loader
2016-12-18 12:35:38 +01:00
* [meteor-svelte ](https://github.com/klaussner/meteor-svelte ) – Meteor build plugin
2016-11-29 16:57:39 +01:00
* More to come!
## API
```js
import * as svelte from 'svelte';
const { code, map } = svelte.compile( source, {
// the target module format – defaults to 'es' (ES2015 modules), can
// also be 'amd', 'cjs', 'umd' or 'iife'
format: 'umd',
// the filename of the source file, used in e.g. generating sourcemaps
filename: 'MyComponent.html',
// the name of the constructor. Required for 'iife' and 'umd' output,
// but otherwise mostly useful for debugging. Defaults to 'SvelteComponent'
name: 'MyComponent',
// for 'amd' and 'umd' output, you can optionally specify an AMD module ID
amd: {
id: 'my-component'
},
// custom error/warning handlers. By default, errors will throw, and
// warnings will be printed to the console. Where applicable, the
// error/warning object will have `pos` , `loc` and `frame` properties
onerror: err => {
console.error( err.message );
},
2016-12-04 21:28:27 +01:00
onwarn: warning => {
2016-11-29 16:57:39 +01:00
console.warn( warning.message );
}
});
```
2016-12-05 02:27:42 +01:00
## Example/starter repos
* [charpeni/svelte-example ](https://github.com/charpeni/svelte-example ) - Some Svelte examples with configured Rollup, Babel, ESLint, directives, Two-Way binding, and nested components
* [EmilTholin/svelte-test ](https://github.com/EmilTholin/svelte-test )
2016-12-10 17:41:18 +01:00
* [lukechinworth/codenames ](https://github.com/lukechinworth/codenames/tree/svelte ) – example integration with Redux
2016-12-05 02:27:42 +01:00
2016-11-29 16:57:39 +01:00
## License
[MIT ](LICENSE )