diff --git a/.changeset/large-lies-reply.md b/.changeset/large-lies-reply.md new file mode 100644 index 000000000000..a4c1869d956d --- /dev/null +++ b/.changeset/large-lies-reply.md @@ -0,0 +1,6 @@ +--- +'create-svelte': patch +'@sveltejs/kit': patch +--- + +Reference Vite/Svelte types inside Kit types diff --git a/packages/adapter-static/test/apps/prerendered/src/global.d.ts b/packages/adapter-static/test/apps/prerendered/src/global.d.ts index 79d7d7faa607..63908c66cfd4 100644 --- a/packages/adapter-static/test/apps/prerendered/src/global.d.ts +++ b/packages/adapter-static/test/apps/prerendered/src/global.d.ts @@ -1,3 +1 @@ /// -/// -/// diff --git a/packages/adapter-static/test/apps/spa/src/global.d.ts b/packages/adapter-static/test/apps/spa/src/global.d.ts index 79d7d7faa607..63908c66cfd4 100644 --- a/packages/adapter-static/test/apps/spa/src/global.d.ts +++ b/packages/adapter-static/test/apps/spa/src/global.d.ts @@ -1,3 +1 @@ /// -/// -/// diff --git a/packages/create-svelte/templates/default/src/global.d.ts b/packages/create-svelte/templates/default/src/global.d.ts index 79d7d7faa607..63908c66cfd4 100644 --- a/packages/create-svelte/templates/default/src/global.d.ts +++ b/packages/create-svelte/templates/default/src/global.d.ts @@ -1,3 +1 @@ /// -/// -/// diff --git a/packages/create-svelte/templates/skeleton/src/global.d.ts b/packages/create-svelte/templates/skeleton/src/global.d.ts index 79d7d7faa607..63908c66cfd4 100644 --- a/packages/create-svelte/templates/skeleton/src/global.d.ts +++ b/packages/create-svelte/templates/skeleton/src/global.d.ts @@ -1,3 +1 @@ /// -/// -/// diff --git a/packages/kit/assets/components/error.svelte b/packages/kit/assets/components/error.svelte index f6bf40f09f6c..02bfa098d764 100644 --- a/packages/kit/assets/components/error.svelte +++ b/packages/kit/assets/components/error.svelte @@ -1,4 +1,5 @@ diff --git a/packages/kit/package.json b/packages/kit/package.json index ea79a056382f..c8a480a11d0a 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -12,6 +12,7 @@ "@sveltejs/kit": "workspace:*", "@types/amphtml-validator": "^1.0.1", "@types/cookie": "^0.4.0", + "@types/marked": "^2.0.2", "@types/mime": "^2.0.3", "@types/node": "^14.14.43", "@types/rimraf": "^3.0.0", @@ -29,6 +30,7 @@ "selfsigned": "^1.10.11", "sirv": "^1.0.11", "svelte": "^3.38.2", + "svelte-check": "^1.5.2", "tiny-glob": "^0.2.8", "typescript": "^4.2.4", "uvu": "^0.5.1", @@ -51,7 +53,7 @@ "dev": "rm -rf assets/runtime && rollup -cw", "build": "rm -rf assets/runtime && rollup -c", "lint": "eslint --ignore-path .gitignore \"src/**/*.{ts,mjs,js,svelte}\" && npm run check-format", - "check": "npx tsc", + "check": "tsc && svelte-check", "format": "prettier --write . --config ../../.prettierrc --ignore-path .gitignore", "check-format": "prettier --check . --config ../../.prettierrc --ignore-path .gitignore", "prepublishOnly": "npm run build", diff --git a/packages/kit/src/runtime/client/start.js b/packages/kit/src/runtime/client/start.js index 0cac45b36f68..98217a7b4bfe 100644 --- a/packages/kit/src/runtime/client/start.js +++ b/packages/kit/src/runtime/client/start.js @@ -57,6 +57,8 @@ export async function start({ paths, target, session, host, route, spa, hydrate if (import.meta.env.VITE_SVELTEKIT_SERVICE_WORKER) { if ('serviceWorker' in navigator) { - navigator.serviceWorker.register(import.meta.env.VITE_SVELTEKIT_SERVICE_WORKER); + navigator.serviceWorker.register( + /** @type {string} */ (import.meta.env.VITE_SVELTEKIT_SERVICE_WORKER) + ); } } diff --git a/packages/kit/src/runtime/client/types.d.ts b/packages/kit/src/runtime/client/types.d.ts index 127e12fc782f..d3ee8a0e8298 100644 --- a/packages/kit/src/runtime/client/types.d.ts +++ b/packages/kit/src/runtime/client/types.d.ts @@ -1,5 +1,5 @@ -import { Page, LoadOutput } from '../../../types/page'; -import { CSRComponent, CSRRoute } from '../../../types/internal'; +import { Page } from '../../../types/page'; +import { CSRComponent, CSRRoute, NormalizedLoadOutput } from '../../../types/internal'; export type NavigationInfo = { id: string; @@ -23,7 +23,7 @@ export type NavigationResult = { export type BranchNode = { module: CSRComponent; - loaded: LoadOutput; + loaded: NormalizedLoadOutput; uses: { params: Set; path: boolean; diff --git a/packages/kit/src/runtime/load.js b/packages/kit/src/runtime/load.js index e45b8e2372e1..34f368a92df9 100644 --- a/packages/kit/src/runtime/load.js +++ b/packages/kit/src/runtime/load.js @@ -1,6 +1,6 @@ /** * @param {import('types/page').LoadOutput} loaded - * @returns {import('types/page').LoadOutput} + * @returns {import('types/internal').NormalizedLoadOutput} */ export function normalize(loaded) { // TODO should this behaviour be dev-only? @@ -44,5 +44,5 @@ export function normalize(loaded) { } } - return loaded; + return /** @type {import('types/internal').NormalizedLoadOutput} */ (loaded); } diff --git a/packages/kit/src/runtime/server/page/types.d.ts b/packages/kit/src/runtime/server/page/types.d.ts index 81064825de8c..7c4a653ab977 100644 --- a/packages/kit/src/runtime/server/page/types.d.ts +++ b/packages/kit/src/runtime/server/page/types.d.ts @@ -1,9 +1,8 @@ -import { LoadOutput } from '../../../../types/page'; -import { SSRNode } from '../../../../types/internal'; +import { NormalizedLoadOutput, SSRNode } from '../../../../types/internal'; export type Loaded = { node: SSRNode; - loaded: LoadOutput; + loaded: NormalizedLoadOutput; context: Record; fetched: Array<{ url: string; json: string }>; uses_credentials: boolean; diff --git a/packages/kit/test/ambient.d.ts b/packages/kit/test/ambient.d.ts index cce6c1449a02..d63031f109e9 100644 --- a/packages/kit/test/ambient.d.ts +++ b/packages/kit/test/ambient.d.ts @@ -2,6 +2,10 @@ declare global { interface Window { navigated: Promise; started: boolean; + + // used in tests + oops: string; + pageContext: any; } const goto: ( diff --git a/packages/kit/test/apps/amp/src/routes/host/index.svelte b/packages/kit/test/apps/amp/src/routes/host/index.svelte index 2bc23da4e386..b1078fb1e0c5 100644 --- a/packages/kit/test/apps/amp/src/routes/host/index.svelte +++ b/packages/kit/test/apps/amp/src/routes/host/index.svelte @@ -1,4 +1,5 @@

{host}

{$page.host}

-

{data.host}

\ No newline at end of file +

{data.host}

diff --git a/packages/kit/test/apps/amp/src/routes/invalid/__tests__.js b/packages/kit/test/apps/amp/src/routes/invalid/__tests__.js index 947dd15f1fa3..42c8372516c4 100644 --- a/packages/kit/test/apps/amp/src/routes/invalid/__tests__.js +++ b/packages/kit/test/apps/amp/src/routes/invalid/__tests__.js @@ -8,9 +8,9 @@ export default function (test, is_dev) { assert.equal(await page.textContent('h1'), 'AMP validation failed'); assert.ok(body.includes("The tag 'img' may only appear as a descendant of tag 'noscript'")); - assert.ok(body.includes('<img src="potato.jpg">')); + assert.ok(body.includes('<img alt="A potato." src="potato.jpg">')); } else { - assert.ok(body.includes('')); + assert.ok(body.includes('A potato.')); } }); } diff --git a/packages/kit/test/apps/amp/src/routes/invalid/index.svelte b/packages/kit/test/apps/amp/src/routes/invalid/index.svelte index b4004269d190..18d8e6f42e8f 100644 --- a/packages/kit/test/apps/amp/src/routes/invalid/index.svelte +++ b/packages/kit/test/apps/amp/src/routes/invalid/index.svelte @@ -1 +1 @@ - \ No newline at end of file +A potato. diff --git a/packages/kit/test/apps/amp/src/routes/valid/index.svelte b/packages/kit/test/apps/amp/src/routes/valid/index.svelte index 756d75b83102..f6a65bef2cd0 100644 --- a/packages/kit/test/apps/amp/src/routes/valid/index.svelte +++ b/packages/kit/test/apps/amp/src/routes/valid/index.svelte @@ -1,4 +1,5 @@ @@ -20,4 +23,4 @@ p { color: red; } - \ No newline at end of file + diff --git a/packages/kit/test/apps/basics/src/routes/$error.svelte b/packages/kit/test/apps/basics/src/routes/$error.svelte index 759ea7955b8b..40487254525c 100644 --- a/packages/kit/test/apps/basics/src/routes/$error.svelte +++ b/packages/kit/test/apps/basics/src/routes/$error.svelte @@ -10,6 +10,7 @@ diff --git a/packages/kit/test/apps/basics/src/routes/$layout.svelte b/packages/kit/test/apps/basics/src/routes/$layout.svelte index 20f713edcc67..070de74c9f47 100644 --- a/packages/kit/test/apps/basics/src/routes/$layout.svelte +++ b/packages/kit/test/apps/basics/src/routes/$layout.svelte @@ -18,6 +18,7 @@ Object.assign(window, { goto, invalidate, prefetch, prefetchRoutes }); } + /** @type {{ bar: string }} */ export let foo; diff --git a/packages/kit/test/apps/basics/src/routes/asset-import/index.svelte b/packages/kit/test/apps/basics/src/routes/asset-import/index.svelte index 9913b273531b..3648f1afaca0 100644 --- a/packages/kit/test/apps/basics/src/routes/asset-import/index.svelte +++ b/packages/kit/test/apps/basics/src/routes/asset-import/index.svelte @@ -4,4 +4,4 @@ svelte -potatoes \ No newline at end of file +potatoes diff --git a/packages/kit/test/apps/basics/src/routes/caching/index.svelte b/packages/kit/test/apps/basics/src/routes/caching/index.svelte index e3060cc1dc20..a0fb22431f6e 100644 --- a/packages/kit/test/apps/basics/src/routes/caching/index.svelte +++ b/packages/kit/test/apps/basics/src/routes/caching/index.svelte @@ -1,4 +1,5 @@ -

this page will be cached for 30 seconds

\ No newline at end of file +

this page will be cached for 30 seconds

diff --git a/packages/kit/test/apps/basics/src/routes/caching/private/uses-fetch.svelte b/packages/kit/test/apps/basics/src/routes/caching/private/uses-fetch.svelte index 09bcc4725686..d8159d28ca61 100644 --- a/packages/kit/test/apps/basics/src/routes/caching/private/uses-fetch.svelte +++ b/packages/kit/test/apps/basics/src/routes/caching/private/uses-fetch.svelte @@ -1,6 +1,8 @@ -

this page will be cached for 30 seconds

\ No newline at end of file +

this page will be cached for 30 seconds

diff --git a/packages/kit/test/apps/basics/src/routes/caching/private/uses-session.svelte b/packages/kit/test/apps/basics/src/routes/caching/private/uses-session.svelte index 17d2217e6143..eb32f9809fad 100644 --- a/packages/kit/test/apps/basics/src/routes/caching/private/uses-session.svelte +++ b/packages/kit/test/apps/basics/src/routes/caching/private/uses-session.svelte @@ -1,11 +1,15 @@ -

this page will be cached for 30 seconds

\ No newline at end of file +

this page will be cached for 30 seconds

diff --git a/packages/kit/test/apps/basics/src/routes/delete-route/index.svelte b/packages/kit/test/apps/basics/src/routes/delete-route/index.svelte index d2f09765f8ed..2fac8001cd5c 100644 --- a/packages/kit/test/apps/basics/src/routes/delete-route/index.svelte +++ b/packages/kit/test/apps/basics/src/routes/delete-route/index.svelte @@ -1,4 +1,5 @@ diff --git a/packages/kit/test/apps/basics/src/routes/errors/load-error-server.svelte b/packages/kit/test/apps/basics/src/routes/errors/load-error-server.svelte index 8bd8f1780483..9e0a86b05c58 100644 --- a/packages/kit/test/apps/basics/src/routes/errors/load-error-server.svelte +++ b/packages/kit/test/apps/basics/src/routes/errors/load-error-server.svelte @@ -1,4 +1,5 @@ -
{@html marked('this is some **markdown**')}
\ No newline at end of file +
{@html marked('this is some **markdown**')}
diff --git a/packages/kit/test/apps/basics/src/routes/load/[dynamic].svelte b/packages/kit/test/apps/basics/src/routes/load/[dynamic].svelte index 04316033c527..18af7ef4a2ed 100644 --- a/packages/kit/test/apps/basics/src/routes/load/[dynamic].svelte +++ b/packages/kit/test/apps/basics/src/routes/load/[dynamic].svelte @@ -1,4 +1,5 @@ diff --git a/packages/kit/test/apps/basics/src/routes/load/context/$layout.svelte b/packages/kit/test/apps/basics/src/routes/load/context/$layout.svelte index ae7b792dbdcb..cef29dfcfb0a 100644 --- a/packages/kit/test/apps/basics/src/routes/load/context/$layout.svelte +++ b/packages/kit/test/apps/basics/src/routes/load/context/$layout.svelte @@ -1,4 +1,5 @@ - \ No newline at end of file + diff --git a/packages/kit/test/apps/basics/src/routes/load/context/[x]/$layout.svelte b/packages/kit/test/apps/basics/src/routes/load/context/[x]/$layout.svelte index 8ed74121d14f..f692444caa0a 100644 --- a/packages/kit/test/apps/basics/src/routes/load/context/[x]/$layout.svelte +++ b/packages/kit/test/apps/basics/src/routes/load/context/[x]/$layout.svelte @@ -1,4 +1,5 @@ - \ No newline at end of file + diff --git a/packages/kit/test/apps/basics/src/routes/load/context/[x]/[y]/$layout.svelte b/packages/kit/test/apps/basics/src/routes/load/context/[x]/[y]/$layout.svelte index 4680186747b6..83fe116d4d94 100644 --- a/packages/kit/test/apps/basics/src/routes/load/context/[x]/[y]/$layout.svelte +++ b/packages/kit/test/apps/basics/src/routes/load/context/[x]/[y]/$layout.svelte @@ -1,4 +1,5 @@ - \ No newline at end of file + diff --git a/packages/kit/test/apps/basics/src/routes/load/context/[x]/[y]/[z].svelte b/packages/kit/test/apps/basics/src/routes/load/context/[x]/[y]/[z].svelte index 2cb885f6e1e9..eaedb482e21c 100644 --- a/packages/kit/test/apps/basics/src/routes/load/context/[x]/[y]/[z].svelte +++ b/packages/kit/test/apps/basics/src/routes/load/context/[x]/[y]/[z].svelte @@ -1,4 +1,5 @@

message: {message}

-
{JSON.stringify({x, y, z})}
\ No newline at end of file +
{JSON.stringify({x, y, z})}
diff --git a/packages/kit/test/apps/basics/src/routes/load/index.svelte b/packages/kit/test/apps/basics/src/routes/load/index.svelte index 155b3523ec8b..8565ed52a359 100644 --- a/packages/kit/test/apps/basics/src/routes/load/index.svelte +++ b/packages/kit/test/apps/basics/src/routes/load/index.svelte @@ -1,6 +1,7 @@ diff --git a/packages/kit/test/apps/basics/src/routes/load/relay.svelte b/packages/kit/test/apps/basics/src/routes/load/relay.svelte index 80d3acb6ed3c..956c2e676c57 100644 --- a/packages/kit/test/apps/basics/src/routes/load/relay.svelte +++ b/packages/kit/test/apps/basics/src/routes/load/relay.svelte @@ -11,6 +11,7 @@ diff --git a/packages/kit/test/apps/basics/src/routes/load/serialization.svelte b/packages/kit/test/apps/basics/src/routes/load/serialization.svelte index ff7a700621e1..9fdb8226d67f 100644 --- a/packages/kit/test/apps/basics/src/routes/load/serialization.svelte +++ b/packages/kit/test/apps/basics/src/routes/load/serialization.svelte @@ -1,4 +1,5 @@ diff --git a/packages/kit/test/apps/basics/src/routes/query/__tests__.js b/packages/kit/test/apps/basics/src/routes/query/__tests__.js index d5c0ee9f5e0e..594a603d516b 100644 --- a/packages/kit/test/apps/basics/src/routes/query/__tests__.js +++ b/packages/kit/test/apps/basics/src/routes/query/__tests__.js @@ -6,12 +6,12 @@ export default function (test) { { description: 'exposes query string parameters', search: '?foo=1', - expected: { foo: '1' } + expected: { foo: ['1'] } }, { description: 'value-less query parameter', search: '?foo', - expected: { foo: '' } + expected: { foo: [''] } }, { description: 'duplicated query parameter', @@ -21,7 +21,7 @@ export default function (test) { { description: 'encoded query parameter', search: '?key=%26a=b', - expected: { key: '&a=b' } + expected: { key: ['&a=b'] } } ]; @@ -37,7 +37,7 @@ export default function (test) { test('updates page on client-side nav', '/query/echo?foo=1', async ({ page, clicknav }) => { await clicknav('[href="/query/echo?bar=2"]'); - const json = JSON.stringify({ bar: '2' }); + const json = JSON.stringify({ bar: ['2'] }); assert.equal(await page.textContent('#one'), json); assert.equal(await page.textContent('#two'), json); diff --git a/packages/kit/test/apps/basics/src/routes/query/echo.svelte b/packages/kit/test/apps/basics/src/routes/query/echo.svelte index cd6ac00c700b..c69b7aa99e07 100644 --- a/packages/kit/test/apps/basics/src/routes/query/echo.svelte +++ b/packages/kit/test/apps/basics/src/routes/query/echo.svelte @@ -1,22 +1,20 @@
{JSON.stringify(values)}
{JSON.stringify(to_pojo($page.query))}
-?bar=2 \ No newline at end of file +?bar=2 diff --git a/packages/kit/test/apps/basics/src/routes/routing/_error.svelte b/packages/kit/test/apps/basics/src/routes/routing/_error.svelte index a8fca7e98b2a..3fe9a7b2b42c 100644 --- a/packages/kit/test/apps/basics/src/routes/routing/_error.svelte +++ b/packages/kit/test/apps/basics/src/routes/routing/_error.svelte @@ -1,5 +1,8 @@ diff --git a/packages/kit/test/apps/basics/src/routes/routing/b/index.svelte b/packages/kit/test/apps/basics/src/routes/routing/b/index.svelte index c665c7d1f561..ff012dd1c220 100644 --- a/packages/kit/test/apps/basics/src/routes/routing/b/index.svelte +++ b/packages/kit/test/apps/basics/src/routes/routing/b/index.svelte @@ -1,4 +1,5 @@ -

{letter}

\ No newline at end of file +

{letter}

diff --git a/packages/kit/test/apps/basics/src/routes/routing/rest/[...rest]/deep.svelte b/packages/kit/test/apps/basics/src/routes/routing/rest/[...rest]/deep.svelte index 8b66903560f3..e0c6633cd2e4 100644 --- a/packages/kit/test/apps/basics/src/routes/routing/rest/[...rest]/deep.svelte +++ b/packages/kit/test/apps/basics/src/routes/routing/rest/[...rest]/deep.svelte @@ -1,4 +1,5 @@ diff --git a/packages/kit/test/apps/basics/src/routes/routing/rest/[...rest]/index.svelte b/packages/kit/test/apps/basics/src/routes/routing/rest/[...rest]/index.svelte index fd675440f1ae..d15f8691a962 100644 --- a/packages/kit/test/apps/basics/src/routes/routing/rest/[...rest]/index.svelte +++ b/packages/kit/test/apps/basics/src/routes/routing/rest/[...rest]/index.svelte @@ -1,4 +1,5 @@ diff --git a/packages/kit/test/apps/basics/src/routes/routing/shadow/action.svelte b/packages/kit/test/apps/basics/src/routes/routing/shadow/action.svelte index 8fdd433aae2f..a5e8e45ff167 100644 --- a/packages/kit/test/apps/basics/src/routes/routing/shadow/action.svelte +++ b/packages/kit/test/apps/basics/src/routes/routing/shadow/action.svelte @@ -1,4 +1,5 @@ -

{random}

\ No newline at end of file +

{random}

diff --git a/packages/kit/test/apps/basics/src/routes/routing/skipped/[one]/[two].svelte b/packages/kit/test/apps/basics/src/routes/routing/skipped/[one]/[two].svelte index 2d7097e8f165..29b4effd51d1 100644 --- a/packages/kit/test/apps/basics/src/routes/routing/skipped/[one]/[two].svelte +++ b/packages/kit/test/apps/basics/src/routes/routing/skipped/[one]/[two].svelte @@ -1,11 +1,15 @@ diff --git a/packages/kit/test/apps/basics/src/routes/session/index.svelte b/packages/kit/test/apps/basics/src/routes/session/index.svelte index 4a26c92ac2c3..5ac150066b61 100644 --- a/packages/kit/test/apps/basics/src/routes/session/index.svelte +++ b/packages/kit/test/apps/basics/src/routes/session/index.svelte @@ -1,4 +1,5 @@

answer via props: {answer}

answer via store: {$session.answer}

- \ No newline at end of file + diff --git a/packages/kit/test/apps/basics/src/routes/store/__tests__.js b/packages/kit/test/apps/basics/src/routes/store/__tests__.js index 398c3b58c2fa..e04e82f63cbe 100644 --- a/packages/kit/test/apps/basics/src/routes/store/__tests__.js +++ b/packages/kit/test/apps/basics/src/routes/store/__tests__.js @@ -10,7 +10,6 @@ export default function (test) { assert.equal(await page.textContent('h1'), 'Result'); assert.equal(await page.textContent('h2'), js ? 'Calls: 1' : 'Calls: 0'); - // @ts-expect-error const oops = await page.evaluate(() => window.oops); assert.ok(!oops, oops); }); diff --git a/packages/kit/test/apps/basics/src/routes/store/index.svelte b/packages/kit/test/apps/basics/src/routes/store/index.svelte index f2df438133bb..66f5cdcea714 100644 --- a/packages/kit/test/apps/basics/src/routes/store/index.svelte +++ b/packages/kit/test/apps/basics/src/routes/store/index.svelte @@ -10,7 +10,7 @@ session.set(calls); }); - const unsubscribe = page.subscribe(($page) => { + const unsubscribe = page.subscribe(() => { calls++; session.set(calls); }); diff --git a/packages/kit/test/apps/basics/src/routes/store/navigating/b.svelte b/packages/kit/test/apps/basics/src/routes/store/navigating/b.svelte index 50f0a6853668..23aaf604c196 100644 --- a/packages/kit/test/apps/basics/src/routes/store/navigating/b.svelte +++ b/packages/kit/test/apps/basics/src/routes/store/navigating/b.svelte @@ -1,4 +1,5 @@ -$& {escape} \ No newline at end of file +$& {escape} diff --git a/packages/kit/test/apps/custom-extension/src/routes/$error.svelte b/packages/kit/test/apps/custom-extension/src/routes/$error.svelte deleted file mode 100644 index 8276072576fe..000000000000 --- a/packages/kit/test/apps/custom-extension/src/routes/$error.svelte +++ /dev/null @@ -1,37 +0,0 @@ - - - - Custom error page: {error.message} - - -

{status}

- -

This is your custom error page saying: "{error.message}"

- -
{error.stack}
- - diff --git a/packages/kit/test/apps/options/source/pages/host/index.svelte b/packages/kit/test/apps/options/source/pages/host/index.svelte index 2bc23da4e386..b1078fb1e0c5 100644 --- a/packages/kit/test/apps/options/source/pages/host/index.svelte +++ b/packages/kit/test/apps/options/source/pages/host/index.svelte @@ -1,4 +1,5 @@

{host}

{$page.host}

-

{data.host}

\ No newline at end of file +

{data.host}

diff --git a/packages/kit/test/types.d.ts b/packages/kit/test/types.d.ts index 68edc27e637b..5214190d8dac 100644 --- a/packages/kit/test/types.d.ts +++ b/packages/kit/test/types.d.ts @@ -1,3 +1,5 @@ +/// + import { Page, Response as PlaywrightResponse } from 'playwright-chromium'; import { RequestInfo, RequestInit, Response as NodeFetchResponse } from 'node-fetch'; diff --git a/packages/kit/types/index.d.ts b/packages/kit/types/index.d.ts index 64a276229c7c..7726c26d9ba4 100644 --- a/packages/kit/types/index.d.ts +++ b/packages/kit/types/index.d.ts @@ -1,3 +1,6 @@ +/// +/// + import './ambient-modules'; export { Adapter, AdapterUtils, Config } from './config'; diff --git a/packages/kit/types/internal.d.ts b/packages/kit/types/internal.d.ts index e20616ef9463..7f5c4c9b53b2 100644 --- a/packages/kit/types/internal.d.ts +++ b/packages/kit/types/internal.d.ts @@ -2,12 +2,6 @@ import { Load } from './page'; import { Incoming, GetSession, Handle } from './hooks'; import { RequestHandler, ServerResponse } from './endpoint'; -declare global { - interface ImportMeta { - env: Record; - } -} - type PageId = string; export type Logger = { @@ -201,3 +195,12 @@ export type BuildData = { static: string[]; entries: string[]; }; + +export type NormalizedLoadOutput = { + status?: number; + error?: Error; + redirect?: string; + props?: Record | Promise>; + context?: Record; + maxage?: number; +}; diff --git a/packages/kit/types/page.d.ts b/packages/kit/types/page.d.ts index 072f5d420819..967439ddac1b 100644 --- a/packages/kit/types/page.d.ts +++ b/packages/kit/types/page.d.ts @@ -12,7 +12,7 @@ export type ErrorLoadInput = LoadInput & { export type LoadOutput = { status?: number; - error?: Error; + error?: string | Error; redirect?: string; props?: Record | Promise>; context?: Record; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1cfb36012c73..cf5040d44a47 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -187,7 +187,7 @@ importers: '@lukeed/uuid': 2.0.0 cookie: 0.4.1 devDependencies: - '@sveltejs/adapter-cloudflare-workers': 0.0.2-next.6 + '@sveltejs/adapter-cloudflare-workers': link:../../../adapter-cloudflare-workers '@sveltejs/adapter-netlify': link:../../../adapter-netlify '@sveltejs/adapter-vercel': link:../../../adapter-vercel '@sveltejs/kit': link:../../../kit @@ -203,6 +203,7 @@ importers: '@sveltejs/vite-plugin-svelte': ^1.0.0-next.9 '@types/amphtml-validator': ^1.0.1 '@types/cookie': ^0.4.0 + '@types/marked': ^2.0.2 '@types/mime': ^2.0.3 '@types/node': ^14.14.43 '@types/rimraf': ^3.0.0 @@ -222,6 +223,7 @@ importers: selfsigned: ^1.10.11 sirv: ^1.0.11 svelte: ^3.38.2 + svelte-check: ^1.5.2 tiny-glob: ^0.2.8 typescript: ^4.2.4 uvu: ^0.5.1 @@ -235,6 +237,7 @@ importers: '@sveltejs/kit': 'link:' '@types/amphtml-validator': 1.0.1 '@types/cookie': 0.4.0 + '@types/marked': 2.0.2 '@types/mime': 2.0.3 '@types/node': 14.14.43 '@types/rimraf': 3.0.0 @@ -252,6 +255,7 @@ importers: selfsigned: 1.10.11 sirv: 1.0.11 svelte: 3.38.2 + svelte-check: 1.5.2_svelte@3.38.2 tiny-glob: 0.2.8 typescript: 4.2.4 uvu: 0.5.1 @@ -627,13 +631,6 @@ packages: rollup: 2.47.0 dev: false - /@sveltejs/adapter-cloudflare-workers/0.0.2-next.6: - resolution: {integrity: sha512-GmNh88nFaLUYmHWrmOCy074PBoHhB9UJDSOLXY47sphNzRiqYEpb3Jqzsb3KH6umjbFZMWWykjm6mqnKubHeYA==} - dependencies: - esbuild: 0.11.18 - toml: 3.0.0 - dev: true - /@sveltejs/vite-plugin-svelte/1.0.0-next.9_e199ea43849c994a9b29d0b980598eb5: resolution: {integrity: sha512-ySB/GJsZV3h3jqjq5WIiaxVFkJK6vqtG9gS7Iw6SfUH9ZiFNw5JjQF69g68j9cNep3q4yRIYiG5/pI3YIdXEuA==} engines: {node: '>=12.0.0'} @@ -697,6 +694,10 @@ packages: resolution: {integrity: sha1-7ihweulOEdK4J7y+UnC86n8+ce4=} dev: true + /@types/marked/2.0.2: + resolution: {integrity: sha512-P4zanhCQKs4tiWPPBGpB7lHflgFCP9DFGNI5YtpW9MALKoy2qs9rHNWJ+z55cegD9uCfnmsKuaosq9FNvbxrOw==} + dev: true + /@types/mime/2.0.3: resolution: {integrity: sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==} dev: true @@ -981,6 +982,14 @@ packages: resolution: {integrity: sha1-q8av7tzqUugJzcA3au0845Y10X8=} dev: true + /anymatch/3.1.2: + resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.2.3 + dev: true + /argparse/1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: @@ -1037,6 +1046,11 @@ packages: is-windows: 1.0.2 dev: true + /binary-extensions/2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + /boxen/1.3.0: resolution: {integrity: sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==} engines: {node: '>=4'} @@ -1167,6 +1181,21 @@ packages: engines: {node: '>=8'} dev: false + /chokidar/3.5.1: + resolution: {integrity: sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.2 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.1 + normalize-path: 3.0.0 + readdirp: 3.5.0 + optionalDependencies: + fsevents: 2.3.2 + dev: true + /ci-info/2.0.0: resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} dev: true @@ -1490,6 +1519,7 @@ packages: resolution: {integrity: sha512-KD7v4N9b5B8bxPUNn/3GA9r0HWo4nJk3iwjZ+2zG1ffg+r8ig+wqj7sW6zgI6Sn4/B2FnbzqWxcAokAGGM5zwQ==} hasBin: true requiresBuild: true + dev: false /esbuild/0.9.7: resolution: {integrity: sha512-VtUf6aQ89VTmMLKrWHYG50uByMF4JQlVysb8dmg6cOgW8JnFCipmz7p+HNBl+RR3LLCuBxFGVauAe2wfnF9bLg==} @@ -2068,6 +2098,13 @@ packages: resolution: {integrity: sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==} dev: true + /is-binary-path/2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + /is-boolean-object/1.1.0: resolution: {integrity: sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==} engines: {node: '>= 0.4'} @@ -2538,6 +2575,11 @@ packages: validate-npm-package-license: 3.0.4 dev: true + /normalize-path/3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + /npm-run-path/2.0.2: resolution: {integrity: sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=} engines: {node: '>=4'} @@ -2973,6 +3015,13 @@ packages: strip-bom: 3.0.0 dev: true + /readdirp/3.5.0: + resolution: {integrity: sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.2.3 + dev: true + /redent/3.0.0: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} @@ -3327,6 +3376,34 @@ packages: dependencies: has-flag: 4.0.0 + /svelte-check/1.5.2_svelte@3.38.2: + resolution: {integrity: sha512-x9Pc13r814TKrMXY70IyqDEmPzuFiqNSpBmsrMKrFpi995MiG+lmqYnyw8iQC+DGh7H3eUt3LIFXbNd396XIFw==} + hasBin: true + peerDependencies: + svelte: ^3.24.0 + dependencies: + chalk: 4.1.1 + chokidar: 3.5.1 + glob: 7.1.6 + import-fresh: 3.3.0 + minimist: 1.2.5 + source-map: 0.7.3 + svelte: 3.38.2 + svelte-preprocess: 4.7.3_svelte@3.38.2+typescript@4.2.4 + typescript: 4.2.4 + transitivePeerDependencies: + - '@babel/core' + - coffeescript + - less + - node-sass + - postcss + - postcss-load-config + - pug + - sass + - stylus + - sugarss + dev: true + /svelte-hmr/0.14.3_svelte@3.38.2: resolution: {integrity: sha512-N56xX405zLMw2tpGHKRx5h+kmdeZwxI21pvyC6OyBHJDCF6DlwWBm9TifdQmSD4dloWSmpDPzHWYa3CSjfopUg==} peerDependencies: @@ -3511,6 +3588,7 @@ packages: /toml/3.0.0: resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} + dev: false /totalist/1.1.0: resolution: {integrity: sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==}