-
-
Notifications
You must be signed in to change notification settings - Fork 2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: remove internal
__sveltekit/
module declarations from types (#…
…11620) * fix: remove internal `__sveltekit/` module declarations from types Takes advantage of the fact that dts-buddy doesn't detect the ambient-private.d.ts module declarations (which arguably is a bit weird and could result in buggy behavior, but we can use it to our advantage here). fixes #11607 * lint * re-export values from internal modules * move files * point dts-buddy at facade .d.ts files * remove some junk we no longer need --------- Co-authored-by: Rich Harris <rich.harris@vercel.com>
- Loading branch information
1 parent
067d369
commit 2137717
Showing
13 changed files
with
132 additions
and
142 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
--- | ||
"@sveltejs/kit": patch | ||
--- | ||
|
||
fix: remove internal `__sveltekit/` module declarations from types |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,28 @@ | ||
import { createBundle } from 'dts-buddy'; | ||
import { readFileSync } from 'node:fs'; | ||
|
||
createBundle({ | ||
await createBundle({ | ||
output: 'types/index.d.ts', | ||
modules: { | ||
'@sveltejs/kit': 'src/exports/public.d.ts', | ||
'@sveltejs/kit/hooks': 'src/exports/hooks/index.js', | ||
'@sveltejs/kit/node': 'src/exports/node/index.js', | ||
'@sveltejs/kit/node/polyfills': 'src/exports/node/polyfills.js', | ||
'@sveltejs/kit/vite': 'src/exports/vite/index.js', | ||
'$app/environment': 'src/runtime/app/environment.js', | ||
'$app/environment': 'src/runtime/app/environment/types.d.ts', | ||
'$app/forms': 'src/runtime/app/forms.js', | ||
'$app/navigation': 'src/runtime/app/navigation.js', | ||
'$app/paths': 'src/runtime/app/paths.js', | ||
'$app/paths': 'src/runtime/app/paths/types.d.ts', | ||
'$app/stores': 'src/runtime/app/stores.js' | ||
}, | ||
include: ['src'] | ||
}); | ||
|
||
// dts-buddy doesn't inline imports of module declaration in ambient-private.d.ts but also doesn't include them, resulting in broken types - guard against that | ||
const types = readFileSync('./types/index.d.ts', 'utf-8'); | ||
if (types.includes('__sveltekit/')) { | ||
throw new Error( | ||
'Found __sveltekit/ in types/index.d.ts - make sure to hide internal modules by not just reexporting them. Contents:\n\n' + | ||
types | ||
); | ||
} |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
import { BROWSER, DEV } from 'esm-env'; | ||
export { building, version } from '__sveltekit/environment'; | ||
|
||
export const browser = BROWSER; | ||
|
||
export const dev = DEV; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
/** | ||
* `true` if the app is running in the browser. | ||
*/ | ||
export const browser: boolean; | ||
|
||
/** | ||
* Whether the dev server is running. This is not guaranteed to correspond to `NODE_ENV` or `MODE`. | ||
*/ | ||
export const dev: boolean; | ||
|
||
/** | ||
* SvelteKit analyses your app during the `build` step by running it. During this process, `building` is `true`. This also applies during prerendering. | ||
*/ | ||
export const building: boolean; | ||
|
||
/** | ||
* The value of `config.kit.version.name`. | ||
*/ | ||
export const version: string; |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
export { base, assets } from '__sveltekit/paths'; | ||
import { base } from '__sveltekit/paths'; | ||
import { resolve_route } from '../../../utils/routing.js'; | ||
|
||
/** @type {import('./types.d.ts').resolveRoute} */ | ||
export function resolveRoute(id, params) { | ||
return base + resolve_route(id, params); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
/** | ||
* A string that matches [`config.kit.paths.base`](https://kit.svelte.dev/docs/configuration#paths). | ||
* | ||
* Example usage: `<a href="{base}/your-page">Link</a>` | ||
*/ | ||
export let base: '' | `/${string}`; | ||
|
||
/** | ||
* An absolute path that matches [`config.kit.paths.assets`](https://kit.svelte.dev/docs/configuration#paths). | ||
* | ||
* > If a value for `config.kit.paths.assets` is specified, it will be replaced with `'/_svelte_kit_assets'` during `vite dev` or `vite preview`, since the assets don't yet live at their eventual URL. | ||
*/ | ||
export let assets: '' | `https://${string}` | `http://${string}` | '/_svelte_kit_assets'; | ||
|
||
/** | ||
* Populate a route ID with params to resolve a pathname. | ||
* @example | ||
* ```js | ||
* resolveRoute( | ||
* `/blog/[slug]/[...somethingElse]`, | ||
* { | ||
* slug: 'hello-world', | ||
* somethingElse: 'something/else' | ||
* } | ||
* ); // `/blog/hello-world/something/else` | ||
* ``` | ||
*/ | ||
export function resolveRoute(id: string, params: Record<string, string | undefined>): string; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,18 @@ | ||
declare global { | ||
const __SVELTEKIT_ADAPTER_NAME__: string; | ||
const __SVELTEKIT_APP_VERSION_FILE__: string; | ||
const __SVELTEKIT_APP_VERSION_POLL_INTERVAL__: number; | ||
const __SVELTEKIT_DEV__: boolean; | ||
const __SVELTEKIT_EMBEDDED__: boolean; | ||
var Bun: object; | ||
var Deno: object; | ||
/** Internal version of $app/environment */ | ||
declare module '__sveltekit/environment' { | ||
export const building: boolean; | ||
export const prerendering: boolean; | ||
export const version: string; | ||
export function set_building(): void; | ||
export function set_prerendering(): void; | ||
} | ||
|
||
export {}; | ||
/** Internal version of $app/paths */ | ||
declare module '__sveltekit/paths' { | ||
export let base: '' | `/${string}`; | ||
export let assets: '' | `https://${string}` | `http://${string}` | '/_svelte_kit_assets'; | ||
export let relative: boolean; | ||
export function reset(): void; | ||
export function override(paths: { base: string; assets: string }): void; | ||
export function set_assets(path: string): void; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
declare global { | ||
const __SVELTEKIT_ADAPTER_NAME__: string; | ||
const __SVELTEKIT_APP_VERSION_FILE__: string; | ||
const __SVELTEKIT_APP_VERSION_POLL_INTERVAL__: number; | ||
const __SVELTEKIT_DEV__: boolean; | ||
const __SVELTEKIT_EMBEDDED__: boolean; | ||
var Bun: object; | ||
var Deno: object; | ||
} | ||
|
||
export {}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters