From 95fd068adb9761a91d415faa9951b87cafb9cad8 Mon Sep 17 00:00:00 2001 From: Andreas Ehrencrona Date: Fri, 23 Oct 2020 11:45:59 +0300 Subject: [PATCH 01/17] SetupModule with generics for Context and Session --- packages/app-utils/src/types.ts | 8 ++++---- packages/kit/src/api/dev/index.ts | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/app-utils/src/types.ts b/packages/app-utils/src/types.ts index 2414c6523f89..1177d13bd90b 100644 --- a/packages/app-utils/src/types.ts +++ b/packages/app-utils/src/types.ts @@ -23,10 +23,10 @@ export type PageResponse = EndpointResponse & { dependencies?: Record; }; -type SetupModule = { - prepare?: (headers: Headers) => Promise<{ context: any, headers: Headers }>; - getSession?: (context: any) => Promise; - setSession?: (context: any, session: any) => Promise; +type SetupModule = { + prepare?: (headers: Headers) => Promise<{ context: Context, headers: Headers }>; + getSession?: (context: Context) => Promise; + setSession?: (context: Context, session: Session) => Promise; }; export type RenderOptions = { diff --git a/packages/kit/src/api/dev/index.ts b/packages/kit/src/api/dev/index.ts index 084b7158c40d..b46916cfd9c0 100644 --- a/packages/kit/src/api/dev/index.ts +++ b/packages/kit/src/api/dev/index.ts @@ -132,6 +132,7 @@ class Watcher extends EventEmitter { try { setup = await load(`/_app/setup/index.js`); + setup = setup.default || setup } catch (err) { if (!err.message.endsWith('NOT_FOUND')) throw err; setup = {}; From 73d41d6e8d5315620570e5ff23c9d64ca7635376 Mon Sep 17 00:00:00 2001 From: Andreas Ehrencrona Date: Fri, 23 Oct 2020 18:19:33 +0300 Subject: [PATCH 02/17] tsconfig --- packages/kit/src/ambient.d.ts | 8 ++++++++ packages/kit/tsconfig.json | 9 +++++++++ 2 files changed, 17 insertions(+) create mode 100644 packages/kit/src/ambient.d.ts create mode 100644 packages/kit/tsconfig.json diff --git a/packages/kit/src/ambient.d.ts b/packages/kit/src/ambient.d.ts new file mode 100644 index 000000000000..09489dbb6873 --- /dev/null +++ b/packages/kit/src/ambient.d.ts @@ -0,0 +1,8 @@ +declare module "MANIFEST" { + export const components: any[]; + export const routes: any[]; +} + +declare module "ROOT" { + export default any; +} \ No newline at end of file diff --git a/packages/kit/tsconfig.json b/packages/kit/tsconfig.json new file mode 100644 index 000000000000..bdb0847e981f --- /dev/null +++ b/packages/kit/tsconfig.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "declaration": true, + "declarationDir": "declarations", + "emitDeclarationOnly": true, + "resolveJsonModule": true + }, + "lib": ["ES2020", "dom", "node"] +} From db9e5f971c7ae8a8a781014cbd977080d2d5fc38 Mon Sep 17 00:00:00 2001 From: Andreas Ehrencrona Date: Sat, 24 Oct 2020 10:30:57 +0300 Subject: [PATCH 03/17] build with ts without warnings --- packages/app-utils/src/prerender/index.ts | 18 ++++++++++-------- packages/app-utils/src/render/index.ts | 2 +- packages/app-utils/src/render/page.ts | 17 +++++++++++------ packages/app-utils/src/render/route.ts | 10 +++++++--- packages/kit/src/ambient.d.ts | 1 + .../kit/src/api/dev/sourcemap_stacktrace.ts | 4 +++- packages/kit/src/cli.ts | 6 +++--- packages/kit/tsconfig.json | 11 +++++++---- 8 files changed, 43 insertions(+), 26 deletions(-) diff --git a/packages/app-utils/src/prerender/index.ts b/packages/app-utils/src/prerender/index.ts index da5b4bbc39f3..45624165aa35 100644 --- a/packages/app-utils/src/prerender/index.ts +++ b/packages/app-utils/src/prerender/index.ts @@ -3,9 +3,9 @@ import { dirname, resolve as resolve_path } from 'path'; import { parse, resolve, URLSearchParams } from 'url'; import { mkdirp } from '../files'; import { render } from '../render'; -import { RouteManifest } from '../types'; +import { PageResponse, RouteManifest } from '../types'; -function clean_html(html) { +function clean_html(html: string) { return html .replace(//gm, '') .replace(/()[\s\S]*?<\/script>/gm, '$1') @@ -13,17 +13,17 @@ function clean_html(html) { .replace(//gm, ''); } -function get_href(attrs) { +function get_href(attrs: string) { const match = /href\s*=\s*(?:"(.*?)"|'(.*?)'|([^\s>]*))/.exec(attrs); return match && (match[1] || match[2] || match[3]); } -function get_src(attrs) { +function get_src(attrs: string) { const match = /src\s*=\s*(?:"(.*?)"|'(.*?)'|([^\s>]*))/.exec(attrs); return match && (match[1] || match[2] || match[3]); } -function get_srcset_urls(attrs) { +function get_srcset_urls(attrs: string) { const results = []; // Note that the srcset allows any ASCII whitespace, including newlines. const match = /srcset\s*=\s*(?:"(.*?)"|'(.*?)'|([^\s>]*))/s.exec(attrs); @@ -130,9 +130,11 @@ export async function prerender({ log.error(`${rendered.status} ${path}`); } - if (rendered.dependencies) { - for (const path in rendered.dependencies) { - const result = rendered.dependencies[path]; + const dependencies = (rendered as PageResponse).dependencies; + + if (dependencies) { + for (const path in dependencies) { + const result = dependencies[path]; const response_type = Math.floor(result.status / 100); const is_html = result.headers['content-type'] === 'text/html'; diff --git a/packages/app-utils/src/render/index.ts b/packages/app-utils/src/render/index.ts index bfdcb645e126..29d5e365c1a5 100644 --- a/packages/app-utils/src/render/index.ts +++ b/packages/app-utils/src/render/index.ts @@ -3,7 +3,7 @@ import render_page from './page'; import render_route from './route'; import { EndpointResponse, IncomingRequest, PageResponse, RenderOptions } from '../types'; -function md5(body) { +function md5(body: string) { return createHash('md5').update(body).digest('hex'); } diff --git a/packages/app-utils/src/render/page.ts b/packages/app-utils/src/render/page.ts index 50c94cc2efdf..4312b9c5bc8f 100644 --- a/packages/app-utils/src/render/page.ts +++ b/packages/app-utils/src/render/page.ts @@ -6,13 +6,13 @@ import devalue from 'devalue'; import fetch, { Response } from 'node-fetch'; import * as mime from 'mime'; import { render } from './index'; -import { IncomingRequest, RenderOptions, PageManifest } from '../types'; +import { IncomingRequest, RenderOptions, PageManifest, EndpointResponse, PageResponse, Headers } from '../types'; const noop = () => {}; type FetchOpts = { method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'HEAD' | 'OPTIONS'; - headers?: Record; + headers?: Headers; body?: any; }; @@ -20,8 +20,13 @@ export default async function render_page( request: IncomingRequest, context: any, options: RenderOptions -) { - let redirected; +): Promise<{ + status: number, + body?: string, + headers?: Headers, + dependencies?: Record< string, EndpointResponse | PageResponse> +}> { + let redirected: { status: number; location?: string; headers: Headers }; let preload_error; const page: PageManifest = options.manifest.pages.find(page => page.pattern.test(request.path)); @@ -53,10 +58,10 @@ export default async function render_page( l++; }); - const dependencies = {}; + const dependencies: Record = {}; const preload_context = { - redirect: (status, location) => { + redirect: (status: number, location: string) => { if (redirected && (redirected.status !== status || redirected.location !== location)) { throw new Error(`Conflicting redirects`); } diff --git a/packages/app-utils/src/render/route.ts b/packages/app-utils/src/render/route.ts index 2ef2d524e369..b1f75b3a97b0 100644 --- a/packages/app-utils/src/render/route.ts +++ b/packages/app-utils/src/render/route.ts @@ -1,10 +1,14 @@ -import { IncomingRequest, RenderOptions, EndpointManifest } from '../types'; +import { IncomingRequest, RenderOptions, EndpointManifest, Headers } from '../types'; export default function render_route( request: IncomingRequest, context: any, options: RenderOptions -) { +): Promise<{ + status: number, + body: string, + headers?: Headers +}> { const route: EndpointManifest = options.manifest.endpoints.find(route => route.pattern.test(request.path)); if (!route) return; @@ -53,7 +57,7 @@ export default function render_route( }); } -function lowercase_keys(obj) { +function lowercase_keys(obj: Record) { const clone = {}; for (const key in obj) { clone[key.toLowerCase()] = obj[key]; diff --git a/packages/kit/src/ambient.d.ts b/packages/kit/src/ambient.d.ts index 09489dbb6873..fdfc013f090c 100644 --- a/packages/kit/src/ambient.d.ts +++ b/packages/kit/src/ambient.d.ts @@ -1,6 +1,7 @@ declare module "MANIFEST" { export const components: any[]; export const routes: any[]; + export const Layout: any; } declare module "ROOT" { diff --git a/packages/kit/src/api/dev/sourcemap_stacktrace.ts b/packages/kit/src/api/dev/sourcemap_stacktrace.ts index f845cc61d0e1..3764290b0042 100644 --- a/packages/kit/src/api/dev/sourcemap_stacktrace.ts +++ b/packages/kit/src/api/dev/sourcemap_stacktrace.ts @@ -70,7 +70,9 @@ export function sourcemap_stacktrace(stack: string) { return input; } - const consumer = new SourceMapConsumer(raw_sourcemap); + // TODO: according to typings, this code cannot work; + // the constructor returns a promise that needs to be awaited + const consumer = new (SourceMapConsumer as any)(raw_sourcemap); const pos = consumer.originalPositionFor({ line: Number(line), column: Number(column), diff --git a/packages/kit/src/cli.ts b/packages/kit/src/cli.ts index 2bf7c9f27d17..97fe259b6679 100644 --- a/packages/kit/src/cli.ts +++ b/packages/kit/src/cli.ts @@ -1,10 +1,10 @@ import relative from 'require-relative'; import sade from 'sade'; import colors from 'kleur'; -import * as pkg from '../package.json'; -import { ReadyEvent } from './interfaces'; +import pkg from '../package.json'; +import { ReadyEvent, SvelteAppConfig } from './interfaces'; -let config; +let config: SvelteAppConfig; try { config = relative('./svelte.config.js', process.cwd()); diff --git a/packages/kit/tsconfig.json b/packages/kit/tsconfig.json index bdb0847e981f..27005ca1d79f 100644 --- a/packages/kit/tsconfig.json +++ b/packages/kit/tsconfig.json @@ -1,9 +1,12 @@ { "compilerOptions": { - "declaration": true, - "declarationDir": "declarations", - "emitDeclarationOnly": true, - "resolveJsonModule": true + "noEmit": true, + "resolveJsonModule": true, + "module": "esnext", + "moduleResolution": "node", + "target": "ES6", + "outDir": "build", + "esModuleInterop": true }, "lib": ["ES2020", "dom", "node"] } From 5ec4431aae17f261e37fcc95b136136ac46cac8f Mon Sep 17 00:00:00 2001 From: Andreas Ehrencrona Date: Sun, 25 Oct 2020 20:20:26 +0200 Subject: [PATCH 04/17] server-side imports --- examples/hn.svelte.dev/src/components/Nav.svelte | 6 ++++++ packages/kit/package.json | 2 +- packages/kit/tsconfig.json | 6 ++++-- packages/snowpack-config/snowpack.config.js | 1 + 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/examples/hn.svelte.dev/src/components/Nav.svelte b/examples/hn.svelte.dev/src/components/Nav.svelte index 01b050152322..d8a3775b852f 100644 --- a/examples/hn.svelte.dev/src/components/Nav.svelte +++ b/examples/hn.svelte.dev/src/components/Nav.svelte @@ -1,4 +1,10 @@ diff --git a/packages/kit/package.json b/packages/kit/package.json index f4f7373098b5..57219ea8fc63 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -14,7 +14,7 @@ "snowpack": "^2.15.1" }, "devDependencies": { - "@types/node": "^14.11.10", + "@types/node": "12", "@types/sade": "^1.7.2", "estree-walker": "^2.0.1", "kleur": "^4.1.3", diff --git a/packages/kit/tsconfig.json b/packages/kit/tsconfig.json index 27005ca1d79f..b95d190903f3 100644 --- a/packages/kit/tsconfig.json +++ b/packages/kit/tsconfig.json @@ -1,12 +1,14 @@ { "compilerOptions": { - "noEmit": true, "resolveJsonModule": true, "module": "esnext", "moduleResolution": "node", "target": "ES6", "outDir": "build", - "esModuleInterop": true + "esModuleInterop": true, + "noEmit": true, + "declarationDir": "declarations", + "declaration": true }, "lib": ["ES2020", "dom", "node"] } diff --git a/packages/snowpack-config/snowpack.config.js b/packages/snowpack-config/snowpack.config.js index 5600915b924c..521186b3abc8 100644 --- a/packages/snowpack-config/snowpack.config.js +++ b/packages/snowpack-config/snowpack.config.js @@ -25,6 +25,7 @@ module.exports = { 'src/setup': '/_app/setup' }, alias: { + '@sveltejs/kit': '/_app/main', $components: './src/components' } }; \ No newline at end of file From b44537682498ed7a21fbf0b7274588e69c022480 Mon Sep 17 00:00:00 2001 From: Andreas Ehrencrona Date: Mon, 26 Oct 2020 18:58:04 +0200 Subject: [PATCH 05/17] build types on prepublish --- packages/kit/.gitignore | 4 +++- packages/kit/package.json | 6 ++++-- packages/kit/src/ambient.d.ts | 1 + packages/kit/tsconfig.json | 5 +++-- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/packages/kit/.gitignore b/packages/kit/.gitignore index a42891b7aa81..aa52111c881c 100644 --- a/packages/kit/.gitignore +++ b/packages/kit/.gitignore @@ -1,4 +1,6 @@ .DS_Store /node_modules /dist -/assets/client.* \ No newline at end of file +/assets/client.* +/types +/client diff --git a/packages/kit/package.json b/packages/kit/package.json index 57219ea8fc63..2a0091b62032 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -33,12 +33,14 @@ }, "files": [ "assets", - "dist" + "dist", + "client" ], "scripts": { "dev": "rollup -cw", "build": "rollup -c", "prepare": "npm run build", - "prepublishOnly": "npm run build" + "prepublishOnly": "npm run build", + "prepublish": "tsc && cp -r types/src/client client" } } diff --git a/packages/kit/src/ambient.d.ts b/packages/kit/src/ambient.d.ts index fdfc013f090c..38074f9b0c8f 100644 --- a/packages/kit/src/ambient.d.ts +++ b/packages/kit/src/ambient.d.ts @@ -2,6 +2,7 @@ declare module "MANIFEST" { export const components: any[]; export const routes: any[]; export const Layout: any; + export const ErrorComponent: any; } declare module "ROOT" { diff --git a/packages/kit/tsconfig.json b/packages/kit/tsconfig.json index b95d190903f3..4444178f5e7d 100644 --- a/packages/kit/tsconfig.json +++ b/packages/kit/tsconfig.json @@ -6,9 +6,10 @@ "target": "ES6", "outDir": "build", "esModuleInterop": true, - "noEmit": true, - "declarationDir": "declarations", + "emitDeclarationOnly": true, + "declarationDir": "types", "declaration": true }, + "include": ["src/**/*", "types/src/**/*", "client"], "lib": ["ES2020", "dom", "node"] } From f23805848bda04cf45f5b107ccffa9ee05c2c0b7 Mon Sep 17 00:00:00 2001 From: Andreas Ehrencrona Date: Mon, 26 Oct 2020 18:59:14 +0200 Subject: [PATCH 06/17] snowpack API calls for "utf8", not "utf-8" --- packages/kit/src/api/dev/loader.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kit/src/api/dev/loader.ts b/packages/kit/src/api/dev/loader.ts index cedbbf529278..5444d8cff66a 100644 --- a/packages/kit/src/api/dev/loader.ts +++ b/packages/kit/src/api/dev/loader.ts @@ -35,7 +35,7 @@ export default function loader(snowpack: SnowpackDevServer): Loader { let data: string; try { - const result = await snowpack.loadUrl(url, {isSSR: true, encoding: 'utf-8'}); + const result = await snowpack.loadUrl(url, {isSSR: true, encoding: 'utf8'}); data = result.contents; } catch (err) { throw new Error(`Failed to load ${url}: ${err.message}`); From f2acabea659764839877a8a89c7440e23712373f Mon Sep 17 00:00:00 2001 From: Andreas Ehrencrona Date: Mon, 26 Oct 2020 19:00:00 +0200 Subject: [PATCH 07/17] revert debug output --- examples/hn.svelte.dev/src/components/Nav.svelte | 6 ------ 1 file changed, 6 deletions(-) diff --git a/examples/hn.svelte.dev/src/components/Nav.svelte b/examples/hn.svelte.dev/src/components/Nav.svelte index d8a3775b852f..01b050152322 100644 --- a/examples/hn.svelte.dev/src/components/Nav.svelte +++ b/examples/hn.svelte.dev/src/components/Nav.svelte @@ -1,10 +1,4 @@ From c4e7fd1a1f1b25fb7c62e9ad37399674661f7d4a Mon Sep 17 00:00:00 2001 From: Andreas Ehrencrona Date: Mon, 26 Oct 2020 19:01:53 +0200 Subject: [PATCH 08/17] formatting --- packages/app-utils/src/render/route.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/app-utils/src/render/route.ts b/packages/app-utils/src/render/route.ts index b1f75b3a97b0..994b7bb1dbc8 100644 --- a/packages/app-utils/src/render/route.ts +++ b/packages/app-utils/src/render/route.ts @@ -5,8 +5,8 @@ export default function render_route( context: any, options: RenderOptions ): Promise<{ - status: number, - body: string, + status: number, + body: string, headers?: Headers }> { const route: EndpointManifest = options.manifest.endpoints.find(route => route.pattern.test(request.path)); From 666e59cd7d44c0f0dd042af835d7925228bd5734 Mon Sep 17 00:00:00 2001 From: Andreas Ehrencrona Date: Mon, 26 Oct 2020 19:03:45 +0200 Subject: [PATCH 09/17] reverted dependency change that i thought fixed a compile error --- packages/kit/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kit/package.json b/packages/kit/package.json index 2a0091b62032..01cd521aafee 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -14,7 +14,7 @@ "snowpack": "^2.15.1" }, "devDependencies": { - "@types/node": "12", + "@types/node": "^14.11.10", "@types/sade": "^1.7.2", "estree-walker": "^2.0.1", "kleur": "^4.1.3", From 61a0fb683fb86ba793826967305f216061a1c4d5 Mon Sep 17 00:00:00 2001 From: Andreas Ehrencrona Date: Mon, 26 Oct 2020 19:04:51 +0200 Subject: [PATCH 10/17] formatting --- packages/kit/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kit/package.json b/packages/kit/package.json index 01cd521aafee..78bcbe255c27 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -41,6 +41,6 @@ "build": "rollup -c", "prepare": "npm run build", "prepublishOnly": "npm run build", - "prepublish": "tsc && cp -r types/src/client client" + "prepublish": "tsc && cp -r types/src/client client" } } From 018ad145083424c122d56c904d39fc86e7a4d7e1 Mon Sep 17 00:00:00 2001 From: Andreas Ehrencrona Date: Mon, 26 Oct 2020 19:07:32 +0200 Subject: [PATCH 11/17] we have esinterop so old import style is fine --- packages/kit/src/cli.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kit/src/cli.ts b/packages/kit/src/cli.ts index 97fe259b6679..3f8b3fe9f6bb 100644 --- a/packages/kit/src/cli.ts +++ b/packages/kit/src/cli.ts @@ -1,7 +1,7 @@ import relative from 'require-relative'; import sade from 'sade'; import colors from 'kleur'; -import pkg from '../package.json'; +import * as pkg from '../package.json'; import { ReadyEvent, SvelteAppConfig } from './interfaces'; let config: SvelteAppConfig; From 433b16c818fa4e9fe85b69608c396ad677c309f4 Mon Sep 17 00:00:00 2001 From: Andreas Ehrencrona Date: Mon, 26 Oct 2020 19:08:25 +0200 Subject: [PATCH 12/17] rolled back unrelated change --- packages/kit/src/api/dev/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/kit/src/api/dev/index.ts b/packages/kit/src/api/dev/index.ts index 55eec9d14400..37cf2febace3 100644 --- a/packages/kit/src/api/dev/index.ts +++ b/packages/kit/src/api/dev/index.ts @@ -132,7 +132,6 @@ class Watcher extends EventEmitter { try { setup = await load(`/_app/setup/index.js`); - setup = setup.default || setup } catch (err) { if (!err.message.endsWith('NOT_FOUND')) throw err; setup = {}; From ecd741c9371b7fd9afc5479309699b8fcdcbc520 Mon Sep 17 00:00:00 2001 From: Andreas Ehrencrona Date: Mon, 26 Oct 2020 19:10:39 +0200 Subject: [PATCH 13/17] formatting --- packages/kit/src/api/dev/sourcemap_stacktrace.ts | 2 +- packages/kit/tsconfig.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/kit/src/api/dev/sourcemap_stacktrace.ts b/packages/kit/src/api/dev/sourcemap_stacktrace.ts index 3764290b0042..c1b6ff1fe391 100644 --- a/packages/kit/src/api/dev/sourcemap_stacktrace.ts +++ b/packages/kit/src/api/dev/sourcemap_stacktrace.ts @@ -70,7 +70,7 @@ export function sourcemap_stacktrace(stack: string) { return input; } - // TODO: according to typings, this code cannot work; + // TODO: according to typings, this code cannot work; // the constructor returns a promise that needs to be awaited const consumer = new (SourceMapConsumer as any)(raw_sourcemap); const pos = consumer.originalPositionFor({ diff --git a/packages/kit/tsconfig.json b/packages/kit/tsconfig.json index 4444178f5e7d..db7bd383408c 100644 --- a/packages/kit/tsconfig.json +++ b/packages/kit/tsconfig.json @@ -10,6 +10,6 @@ "declarationDir": "types", "declaration": true }, - "include": ["src/**/*", "types/src/**/*", "client"], - "lib": ["ES2020", "dom", "node"] + "include": ["src/**/*", "client"], + "lib": ["ES2020", "dom", "node"] } From 4744fd769780e138a4a7019008be8e4b4ed9f3d5 Mon Sep 17 00:00:00 2001 From: Andreas Ehrencrona Date: Mon, 26 Oct 2020 19:20:37 +0200 Subject: [PATCH 14/17] revert generics in types --- packages/app-utils/src/types.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/app-utils/src/types.ts b/packages/app-utils/src/types.ts index 1177d13bd90b..2414c6523f89 100644 --- a/packages/app-utils/src/types.ts +++ b/packages/app-utils/src/types.ts @@ -23,10 +23,10 @@ export type PageResponse = EndpointResponse & { dependencies?: Record; }; -type SetupModule = { - prepare?: (headers: Headers) => Promise<{ context: Context, headers: Headers }>; - getSession?: (context: Context) => Promise; - setSession?: (context: Context, session: Session) => Promise; +type SetupModule = { + prepare?: (headers: Headers) => Promise<{ context: any, headers: Headers }>; + getSession?: (context: any) => Promise; + setSession?: (context: any, session: any) => Promise; }; export type RenderOptions = { From 8f8f54c4217315395ecd649fdb698d411370e017 Mon Sep 17 00:00:00 2001 From: Andreas Ehrencrona Date: Mon, 26 Oct 2020 19:21:28 +0200 Subject: [PATCH 15/17] formatting --- packages/kit/src/ambient.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kit/src/ambient.d.ts b/packages/kit/src/ambient.d.ts index 38074f9b0c8f..f922ffeb8e7a 100644 --- a/packages/kit/src/ambient.d.ts +++ b/packages/kit/src/ambient.d.ts @@ -7,4 +7,4 @@ declare module "MANIFEST" { declare module "ROOT" { export default any; -} \ No newline at end of file +} From 1ea6a0fb5b4deda3309171a06ad6eaaf8d008df4 Mon Sep 17 00:00:00 2001 From: Andreas Ehrencrona Date: Tue, 27 Oct 2020 09:22:30 +0200 Subject: [PATCH 16/17] Eliminated the moving of typings --- packages/kit/.gitignore | 3 +-- packages/kit/client/tsconfig.json | 15 +++++++++++++++ packages/kit/package.json | 2 +- packages/kit/src/ambient.d.ts | 3 ++- packages/kit/tsconfig.json | 7 ++----- 5 files changed, 21 insertions(+), 9 deletions(-) create mode 100644 packages/kit/client/tsconfig.json diff --git a/packages/kit/.gitignore b/packages/kit/.gitignore index aa52111c881c..fc683b4725d6 100644 --- a/packages/kit/.gitignore +++ b/packages/kit/.gitignore @@ -2,5 +2,4 @@ /node_modules /dist /assets/client.* -/types -/client +/client/**/*.d.ts diff --git a/packages/kit/client/tsconfig.json b/packages/kit/client/tsconfig.json new file mode 100644 index 000000000000..83f2c88c0e76 --- /dev/null +++ b/packages/kit/client/tsconfig.json @@ -0,0 +1,15 @@ +{ + /* Generates the typings for client code */ + "compilerOptions": { + "resolveJsonModule": true, + "module": "esnext", + "moduleResolution": "node", + "target": "ES6", + "esModuleInterop": true, + "emitDeclarationOnly": true, + "declaration": true, + "outDir": "." + }, + "include": ["../src/client/**/*", "../src/ambient.d.ts"], + "lib": ["ES2020", "dom", "node"] +} diff --git a/packages/kit/package.json b/packages/kit/package.json index 78bcbe255c27..435173480a7a 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -41,6 +41,6 @@ "build": "rollup -c", "prepare": "npm run build", "prepublishOnly": "npm run build", - "prepublish": "tsc && cp -r types/src/client client" + "prepublish": "cd client; tsc" } } diff --git a/packages/kit/src/ambient.d.ts b/packages/kit/src/ambient.d.ts index f922ffeb8e7a..ed02887ddc9b 100644 --- a/packages/kit/src/ambient.d.ts +++ b/packages/kit/src/ambient.d.ts @@ -6,5 +6,6 @@ declare module "MANIFEST" { } declare module "ROOT" { - export default any; + const root: any; + export default root; } diff --git a/packages/kit/tsconfig.json b/packages/kit/tsconfig.json index db7bd383408c..29d4d3b9c173 100644 --- a/packages/kit/tsconfig.json +++ b/packages/kit/tsconfig.json @@ -4,12 +4,9 @@ "module": "esnext", "moduleResolution": "node", "target": "ES6", - "outDir": "build", "esModuleInterop": true, - "emitDeclarationOnly": true, - "declarationDir": "types", - "declaration": true + "noEmit": true }, - "include": ["src/**/*", "client"], + "include": ["src/**/*"], "lib": ["ES2020", "dom", "node"] } From 49d080ea1e724efc72c327e0553a3f605bdb0bb9 Mon Sep 17 00:00:00 2001 From: Andreas Ehrencrona Date: Tue, 27 Oct 2020 09:34:32 +0200 Subject: [PATCH 17/17] moved typing build to prepare --- packages/kit/package.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/kit/package.json b/packages/kit/package.json index 435173480a7a..1bdf25195561 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -39,8 +39,7 @@ "scripts": { "dev": "rollup -cw", "build": "rollup -c", - "prepare": "npm run build", - "prepublishOnly": "npm run build", - "prepublish": "cd client; tsc" + "prepare": "npm run build && cd client && tsc", + "prepublishOnly": "npm run build" } }