Support Svelte 3

fixes #546, #551, #552, #554
This commit is contained in:
Rich Harris
2019-02-03 14:29:47 -05:00
committed by GitHub
parent 83c8d7f855
commit ca034d0857
139 changed files with 1946 additions and 2016 deletions

View File

@@ -1,15 +1,20 @@
{#if preloading}
<script context="module">
export function preload() {
return {
rootPreloadFunctionRan: true
};
}
</script>
<script>
import { preloading } from '@sapper/app';
export let child;
export let rootPreloadFunctionRan;
</script>
{#if $preloading}
<progress class='preloading-progress' value=0.5/>
{/if}
<svelte:component this={child.component} {rootPreloadFunctionRan} {...child.props}/>
<script>
export default {
preload() {
return {
rootPreloadFunctionRan: true
};
}
};
</script>
<svelte:component this={child.component} {rootPreloadFunctionRan} {...child.props}/>

View File

@@ -1 +1,5 @@
<h1>{params.slug}</h1>
<script>
import { page } from '@sapper/app';
</script>
<h1>{$page.params.slug}</h1>

View File

@@ -1,17 +1,19 @@
<h1>{foo.bar()}</h1>
<script context="module">
export function preload() {
class Foo {
bar() {
return 42;
}
}
return {
foo: new Foo()
};
}
</script>
<script>
export default {
preload() {
class Foo {
bar() {
return 42;
}
}
export let foo;
</script>
return {
foo: new Foo()
};
}
};
</script>
<h1>{foo.bar()}</h1>

View File

@@ -1,11 +1,13 @@
<h1>{set.has('x')}</h1>
<script context="module">
export function preload() {
return {
set: new Set(['x'])
};
}
</script>
<script>
export default {
preload() {
return {
set: new Set(['x'])
};
}
};
</script>
export let set;
</script>
<h1>{set.has('x')}</h1>

View File

@@ -1,15 +1,13 @@
<h1>This page should never render</h1>
<script context="module">
export function preload() {
return new Promise(fulfil => {
if (typeof window !== 'undefined') {
window.fulfil = fulfil;
} else {
fulfil({});
}
});
}
</script>
<script>
export default {
preload() {
return new Promise(fulfil => {
if (typeof window !== 'undefined') {
window.fulfil = fulfil;
} else {
fulfil({});
}
});
}
};
</script>
<h1>This page should never render</h1>