diff --git a/site/content/docs/03-compile-time.md b/site/content/docs/03-compile-time.md index 20ad62e973..516a509773 100644 --- a/site/content/docs/03-compile-time.md +++ b/site/content/docs/03-compile-time.md @@ -14,6 +14,75 @@ Nonetheless, it's useful to understand how to use the compiler, since bundler pl ### svelte.compile +```js +result: { + js, + css, + ast, + warnings, + vars, + stats +} = svelte.compile(source: string, options?: {...}) +``` + +| option | type | default +| --- | --- | --- | +| `filename` | string | `null` +| `name` | string | `null` +| `format` | `"esm"` or `"cjs"` | `"esm"` +| `generate` | `"dom"` or `"ssr"` | `"dom"` +| `dev` | boolean | `false` +| `immutable` | boolean | `false` +| `hydratable` | boolean | `false` +| `legacy` | boolean | `false` +| `customElement` | boolean | `false` +| `css` | boolean | `true` +| `preserveComments` | boolean | `false` +| `preserveWhitespace` | boolean | `false` +| `outputFilename` | string | `null` +| `cssOutputFilename` | string | `null` +| `sveltePath` | string | `"node_modules/svelte"` + +--- + +This is where the magic happens. `svelte.compile` takes your component source code, and turns it into a JavaScript module that exports a class. + +Don't worry if the signature above looks a little overwhelming — none of the options are required. + +```js +const svelte = require('svelte/compiler'); + +const { js } = svelte.compile(source); +console.log(js.code); +``` + +#### `result.js` + +* TODO + +#### `result.css` + +* TODO + +#### `result.ast` + +* TODO + +#### `result.warnings` + +* TODO + +#### `result.vars` + +* TODO + +#### `result.stats` + +* TODO + + + ### svelte.preprocess diff --git a/site/src/routes/docs/index.svelte b/site/src/routes/docs/index.svelte index 5576b3f7a5..5c8cce1fbe 100644 --- a/site/src/routes/docs/index.svelte +++ b/site/src/routes/docs/index.svelte @@ -285,6 +285,10 @@ fill: none; } + .content :global(table) { + margin: 0 0 2em 0; + } + section > :global(.code-block)> :global(pre) { background: transparent; color: white;