0
0
mirror of https://github.com/sveltejs/svelte.git synced 2024-11-30 17:00:40 +01:00
Cybernetically enhanced web apps https://svelte.dev/
Go to file
2017-05-27 09:02:05 -04:00
.github Update ISSUE_TEMPLATE.md 2017-01-03 19:15:05 -05:00
rollup more typescript conversion 2017-05-21 16:59:10 -04:00
src Fix typing errors 2017-05-26 12:32:30 +02:00
test Merge pull request #591 from sveltejs/gh-590 2017-05-21 15:20:41 -04:00
.editorconfig add editorconfig and flowconfig files 2016-12-05 10:02:55 +01:00
.eslintignore move test/generator to test/runtime, and have separate input -> output tests for codegen. add test for #433 2017-04-04 12:05:54 -04:00
.eslintrc.json another lint fix 2016-12-07 12:39:45 -05:00
.flowconfig add editorconfig and flowconfig files 2016-12-05 10:02:55 +01:00
.gitignore include css in compiler output (#409) 2017-03-28 14:57:00 -04:00
.travis.yml add Node 4 to travis build matrix 2017-03-07 12:09:10 -05:00
appveyor.yml add appveyor config 2017-01-04 13:36:32 -05:00
CHANGELOG.md -> v1.20.2 2017-05-06 17:22:37 -04:00
LICENSE update license with link to contributors page 2016-12-06 17:41:01 -05:00
mocha.coverage.opts exclude src/shared/** from coverage reports 2017-05-04 11:15:54 -04:00
mocha.opts move tests around to facilitate registering babel based on environment 2017-03-07 14:10:28 -05:00
package.json Fix typing errors 2017-05-26 12:32:30 +02:00
README.md note different default format for SSR 2017-03-19 07:25:43 -04:00
rename.js rename all (almost) .js files 2017-05-06 22:21:16 -04:00
tsconfig.json Fix typing errors 2017-05-26 12:32:30 +02:00
yarn.lock start converting to typescript 2017-05-06 19:43:33 -04:00

Svelte

The magical disappearing UI framework.


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:

Example usage

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', 'iife' or 'eval'
	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 );
	},

	onwarn: warning => {
		console.warn( warning.message );
	}
});

API

The Svelte compiler exposes the following API:

  • compile( source [, options ] ) => { code, map } - Compile the component with the given options (see below). Returns an object containing the compiled JavaScript and a sourcemap.
  • create( source [, options ] ) => function - Compile the component and return the component itself.
  • VERSION - The version of this copy of the Svelte compiler as a string, 'x.x.x'.

Options

The Svelte compiler optionally takes a second argument, an object of configuration options:

Values Description Defaults
format 'es', 'amd', 'cjs', 'umd', 'iife', 'eval' The format to output in the compiled component.
'es' - ES6/ES2015 module, suitable for consumption by a bundler
'amd' - AMD module
'cjs' - CommonJS module
'iife' - IIFE-wrapped function defining a global variable, suitable for use directly in browser
'eval' - standalone function, suitable for passing to eval()
'es' for generate: 'dom'
'cjs' for generate: 'ssr'
generate 'dom', 'ssr' Whether to generate JavaScript code intended for use on the client ('dom'), or for use in server-side rendering ('ssr'). 'dom'
name string The name of the constructor in the compiled component. 'SvelteComponent'
filename string The filename to use in sourcemaps and compiler error and warning messages. 'SvelteComponent.html'
amd.id string The AMD module ID to use for the 'amd' and 'umd' output formats. undefined
shared true, false, string Whether to import various helpers from a shared external library. When you have a project with multiple components, this reduces the overall size of your JavaScript bundle, at the expense of having immediately-usable component. You can pass a string of the module path to use, or true will import from 'svelte/shared.js'. false
dev true, false Whether to enable run-time checks in the compiled component. These are helpful during development, but slow your component down. false
css true, false Whether to include code to inject your component's styles into the DOM. true
globals object, function When outputting to the 'umd', 'iife' or 'eval' formats, an object or function mapping the names of imported dependencies to the names of global variables. {}
onerror function Specify a callback for when Svelte encounters an error while compiling the component. (exception is thrown)
onwarn function Specify a callback for when Svelte encounters a non-fatal warning while compiling the component. (warning is logged to console)

Example/starter repos

License

MIT