From 0804130cb1306f6eebbd98097dc9ae397605dabf Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Thu, 16 Jul 2026 21:21:29 -0400 Subject: [PATCH 1/9] breaking: move `defineEnvVars` to `@sveltejs/kit/env` --- .changeset/lazy-glasses-love.md | 5 +++++ packages/kit/src/exports/env/index.js | 12 ++++++++++++ packages/kit/src/exports/hooks/index.js | 13 ++----------- packages/kit/test/apps/async/src/env.ts | 2 +- packages/kit/test/apps/basics/src/env.ts | 2 +- packages/kit/test/apps/dev-only/src/env.ts | 2 +- packages/kit/test/apps/options/source/env.ts | 2 +- .../apps/env-private-dynamic/src/env.ts | 2 +- .../apps/env-private-service-worker/src/env.ts | 2 +- .../test/build-errors/apps/env-private/src/env.ts | 2 +- packages/kit/test/prerendering/basics/src/env.ts | 2 +- 11 files changed, 27 insertions(+), 19 deletions(-) create mode 100644 .changeset/lazy-glasses-love.md create mode 100644 packages/kit/src/exports/env/index.js diff --git a/.changeset/lazy-glasses-love.md b/.changeset/lazy-glasses-love.md new file mode 100644 index 000000000000..89570d79d0ad --- /dev/null +++ b/.changeset/lazy-glasses-love.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/kit': major +--- + +breaking: move `defineEnvVars` to `@sveltejs/kit/env` diff --git a/packages/kit/src/exports/env/index.js b/packages/kit/src/exports/env/index.js new file mode 100644 index 000000000000..1f3e591e4b20 --- /dev/null +++ b/packages/kit/src/exports/env/index.js @@ -0,0 +1,12 @@ +/** @import { EnvVarConfig } from '@sveltejs/kit' */ + +/** + * Utility for defining [environment variables](https://svelte.dev/docs/kit/environment-variables), + * which are made available via `$app/env/public` and `$app/env/private`. + * @template {Record>} T + * @param {T} variables + * @returns {T} + */ +export function defineEnvVars(variables) { + return variables; +} diff --git a/packages/kit/src/exports/hooks/index.js b/packages/kit/src/exports/hooks/index.js index 38bacee3ba48..3bab7fcb942a 100644 --- a/packages/kit/src/exports/hooks/index.js +++ b/packages/kit/src/exports/hooks/index.js @@ -1,14 +1,5 @@ -/** @import { EnvVarConfig } from '@sveltejs/kit' */ - export { sequence } from './sequence.js'; -/** - * Utility for defining [environment variables](https://svelte.dev/docs/kit/environment-variables), - * which are made available via `$app/env/public` and `$app/env/private`. - * @template {Record>} T - * @param {T} variables - * @returns {T} - */ -export function defineEnvVars(variables) { - return variables; +export function defineEnvVars() { + throw new Error(`\`defineEnvVars\` has moved — it should be imported from @sveltejs/kit/env`); } diff --git a/packages/kit/test/apps/async/src/env.ts b/packages/kit/test/apps/async/src/env.ts index 3ebd2aecc14e..82f110e72262 100644 --- a/packages/kit/test/apps/async/src/env.ts +++ b/packages/kit/test/apps/async/src/env.ts @@ -1,4 +1,4 @@ -import { defineEnvVars } from '@sveltejs/kit/hooks'; +import { defineEnvVars } from '@sveltejs/kit/env'; export const variables = defineEnvVars({ PRIVATE_STATIC: { diff --git a/packages/kit/test/apps/basics/src/env.ts b/packages/kit/test/apps/basics/src/env.ts index cdf5d6a8d72b..f30dc972eab9 100644 --- a/packages/kit/test/apps/basics/src/env.ts +++ b/packages/kit/test/apps/basics/src/env.ts @@ -1,4 +1,4 @@ -import { defineEnvVars } from '@sveltejs/kit/hooks'; +import { defineEnvVars } from '@sveltejs/kit/env'; export const variables = defineEnvVars({ PRIVATE_STATIC: { diff --git a/packages/kit/test/apps/dev-only/src/env.ts b/packages/kit/test/apps/dev-only/src/env.ts index 62098353132a..7d83fc95a150 100644 --- a/packages/kit/test/apps/dev-only/src/env.ts +++ b/packages/kit/test/apps/dev-only/src/env.ts @@ -1,4 +1,4 @@ -import { defineEnvVars } from '@sveltejs/kit/hooks'; +import { defineEnvVars } from '@sveltejs/kit/env'; export const variables = defineEnvVars({ SHOULD_EXPLODE: {} diff --git a/packages/kit/test/apps/options/source/env.ts b/packages/kit/test/apps/options/source/env.ts index 0b49d8f3845b..c7c217c543b9 100644 --- a/packages/kit/test/apps/options/source/env.ts +++ b/packages/kit/test/apps/options/source/env.ts @@ -1,4 +1,4 @@ -import { defineEnvVars } from '@sveltejs/kit/hooks'; +import { defineEnvVars } from '@sveltejs/kit/env'; export const variables = defineEnvVars({ GO_AWAY_PLEASE: { diff --git a/packages/kit/test/build-errors/apps/env-private-dynamic/src/env.ts b/packages/kit/test/build-errors/apps/env-private-dynamic/src/env.ts index 62098353132a..7d83fc95a150 100644 --- a/packages/kit/test/build-errors/apps/env-private-dynamic/src/env.ts +++ b/packages/kit/test/build-errors/apps/env-private-dynamic/src/env.ts @@ -1,4 +1,4 @@ -import { defineEnvVars } from '@sveltejs/kit/hooks'; +import { defineEnvVars } from '@sveltejs/kit/env'; export const variables = defineEnvVars({ SHOULD_EXPLODE: {} diff --git a/packages/kit/test/build-errors/apps/env-private-service-worker/src/env.ts b/packages/kit/test/build-errors/apps/env-private-service-worker/src/env.ts index 62098353132a..7d83fc95a150 100644 --- a/packages/kit/test/build-errors/apps/env-private-service-worker/src/env.ts +++ b/packages/kit/test/build-errors/apps/env-private-service-worker/src/env.ts @@ -1,4 +1,4 @@ -import { defineEnvVars } from '@sveltejs/kit/hooks'; +import { defineEnvVars } from '@sveltejs/kit/env'; export const variables = defineEnvVars({ SHOULD_EXPLODE: {} diff --git a/packages/kit/test/build-errors/apps/env-private/src/env.ts b/packages/kit/test/build-errors/apps/env-private/src/env.ts index 62098353132a..7d83fc95a150 100644 --- a/packages/kit/test/build-errors/apps/env-private/src/env.ts +++ b/packages/kit/test/build-errors/apps/env-private/src/env.ts @@ -1,4 +1,4 @@ -import { defineEnvVars } from '@sveltejs/kit/hooks'; +import { defineEnvVars } from '@sveltejs/kit/env'; export const variables = defineEnvVars({ SHOULD_EXPLODE: {} diff --git a/packages/kit/test/prerendering/basics/src/env.ts b/packages/kit/test/prerendering/basics/src/env.ts index e5b56561f084..d1142619ba68 100644 --- a/packages/kit/test/prerendering/basics/src/env.ts +++ b/packages/kit/test/prerendering/basics/src/env.ts @@ -1,4 +1,4 @@ -import { defineEnvVars } from '@sveltejs/kit/hooks'; +import { defineEnvVars } from '@sveltejs/kit/env'; export const variables = defineEnvVars({ PUBLIC_STATIC: { From 888c5d9e64f5ec0964c280b1f79e95788d26aded Mon Sep 17 00:00:00 2001 From: "vercel[bot]" <35613825+vercel[bot]@users.noreply.github.com> Date: Fri, 17 Jul 2026 01:29:10 +0000 Subject: [PATCH 2/9] Fix: Adapter test apps still import `defineEnvVars` from `@sveltejs/kit/hooks`, which now throws, breaking their build/run. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit fixes the issue reported at packages/adapter-static/test/apps/spa/src/env.ts:1 ## Bug Commit `0804130` ("breaking: move `defineEnvVars` to `@sveltejs/kit/env`") changed `packages/kit/src/exports/hooks/index.js` so that `defineEnvVars` now throws unconditionally: ```js export function defineEnvVars() { throw new Error(``defineEnvVars` has moved — it should be imported from @sveltejs/kit/env`); } ``` The kit test apps were migrated to import from `@sveltejs/kit/env`, but three adapter test apps were missed and still import from `@sveltejs/kit/hooks`: - `packages/adapter-static/test/apps/spa/src/env.ts` - `packages/adapter-static/test/apps/prerendered/src/env.ts` - `packages/adapter-node/test/apps/basic/src/env.js` Each of these calls `defineEnvVars({...})` at module top level, so simply importing the module executes the throwing function. ## Trigger Running the adapter-static / adapter-node test suites (which build/prerender these apps) loads `env.ts`/`env.js`, immediately invoking the stub `defineEnvVars` and throwing `` `defineEnvVars` has moved ``. This is a concrete, deterministic failure at module evaluation time. ## Fix Updated the three files to import `defineEnvVars` from `@sveltejs/kit/env`, matching the kit test apps updated in the same commit. ## Related concern (see notes) The move commit did not add a `./env` entry to the `exports` map in `packages/kit/package.json`, so `@sveltejs/kit/env` may not resolve for any consumer. That is a broader issue affecting the kit test apps too and should be addressed separately by adding the `./env` export. Co-authored-by: Vercel Co-authored-by: Rich-Harris --- packages/adapter-node/test/apps/basic/src/env.js | 2 +- packages/adapter-static/test/apps/prerendered/src/env.ts | 2 +- packages/adapter-static/test/apps/spa/src/env.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/adapter-node/test/apps/basic/src/env.js b/packages/adapter-node/test/apps/basic/src/env.js index 2aef07a76735..7080cd2e1e41 100644 --- a/packages/adapter-node/test/apps/basic/src/env.js +++ b/packages/adapter-node/test/apps/basic/src/env.js @@ -1,4 +1,4 @@ -import { defineEnvVars } from '@sveltejs/kit/hooks'; +import { defineEnvVars } from '@sveltejs/kit/env'; export const variables = defineEnvVars({ MY_CUSTOM_PORT: {} diff --git a/packages/adapter-static/test/apps/prerendered/src/env.ts b/packages/adapter-static/test/apps/prerendered/src/env.ts index 01d2ca41b971..fa43d644dac4 100644 --- a/packages/adapter-static/test/apps/prerendered/src/env.ts +++ b/packages/adapter-static/test/apps/prerendered/src/env.ts @@ -1,4 +1,4 @@ -import { defineEnvVars } from '@sveltejs/kit/hooks'; +import { defineEnvVars } from '@sveltejs/kit/env'; export const variables = defineEnvVars({ PUBLIC_ANSWER: { diff --git a/packages/adapter-static/test/apps/spa/src/env.ts b/packages/adapter-static/test/apps/spa/src/env.ts index 70bc639e00bd..fd970cbbea21 100644 --- a/packages/adapter-static/test/apps/spa/src/env.ts +++ b/packages/adapter-static/test/apps/spa/src/env.ts @@ -1,4 +1,4 @@ -import { defineEnvVars } from '@sveltejs/kit/hooks'; +import { defineEnvVars } from '@sveltejs/kit/env'; export const variables = defineEnvVars({ PUBLIC_VALUE: { From f2ef82240337ffb0577f09ea9e0b62df6343d387 Mon Sep 17 00:00:00 2001 From: "vercel[bot]" <35613825+vercel[bot]@users.noreply.github.com> Date: Fri, 17 Jul 2026 01:29:13 +0000 Subject: [PATCH 3/9] Fix: The `@sveltejs/kit/env` subpath is imported across the codebase but is not registered in `package.json`'s `exports` map (nor in `generate-dts.js`), so `import { defineEnvVars } from '@sveltejs/kit/env'` fails with `ERR_PACKAGE_PATH_NOT_EXPORTED`. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit fixes the issue reported at packages/kit/package.json:115 ## Bug The PR adds `packages/kit/src/exports/env/index.js` exporting `defineEnvVars`, and rewrites imports across test apps to use `@sveltejs/kit/env`: ``` packages/kit/test/apps/basics/src/env.ts:1:import { defineEnvVars } from '@sveltejs/kit/env'; packages/kit/test/apps/options/source/env.ts:1:import { defineEnvVars } from '@sveltejs/kit/env'; ... (7 more test files) ``` However, `packages/kit/package.json`'s `exports` map only had entries for `.`, `./internal*`, `./node`, `./hooks`, and `./vite` — **no `./env` entry**. Under Node's package `exports` encapsulation, any subpath not listed is rejected. So `import { defineEnvVars } from '@sveltejs/kit/env'` resolves to `ERR_PACKAGE_PATH_NOT_EXPORTED`, breaking every test app (and any consumer) that imports it. **Concrete trigger:** running any of the integration test apps (e.g. `test/apps/basics`) whose `src/env.ts` imports from `@sveltejs/kit/env` — module resolution fails immediately. Additionally, `packages/kit/scripts/generate-dts.js` did not list `@sveltejs/kit/env` in its `modules` map, so no `.d.ts` declarations would be generated for the new subpath, leaving `defineEnvVars` untyped for TypeScript consumers. ## Fix 1. Added the `./env` entry to `exports` in `package.json`, mirroring the sibling `./node`/`./hooks` entries: ```json "./env": { "types": "./types/index.d.ts", "import": "./src/exports/env/index.js" }, ``` 2. Registered the module in `generate-dts.js` so declarations are emitted: ```js '@sveltejs/kit/env': 'src/exports/env/index.js', ``` Co-authored-by: Vercel Co-authored-by: Rich-Harris --- packages/kit/package.json | 4 ++++ packages/kit/scripts/generate-dts.js | 1 + 2 files changed, 5 insertions(+) diff --git a/packages/kit/package.json b/packages/kit/package.json index c0db52be1c29..af75255824d3 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -128,6 +128,10 @@ "types": "./types/index.d.ts", "import": "./src/exports/internal/server/index.js" }, + "./env": { + "types": "./types/index.d.ts", + "import": "./src/exports/env/index.js" + }, "./node": { "types": "./types/index.d.ts", "import": "./src/exports/node/index.js" diff --git a/packages/kit/scripts/generate-dts.js b/packages/kit/scripts/generate-dts.js index dc353be5f8d7..d5d7f8134c30 100644 --- a/packages/kit/scripts/generate-dts.js +++ b/packages/kit/scripts/generate-dts.js @@ -5,6 +5,7 @@ await createBundle({ output: 'types/index.d.ts', modules: { '@sveltejs/kit': 'src/exports/public.d.ts', + '@sveltejs/kit/env': 'src/exports/env/index.js', '@sveltejs/kit/hooks': 'src/exports/hooks/index.js', '@sveltejs/kit/node': 'src/exports/node/index.js', '@sveltejs/kit/vite': 'src/exports/vite/index.js', From 435ac3adcab08148dfee2641aec6241e4790a2ac Mon Sep 17 00:00:00 2001 From: "vercel[bot]" <35613825+vercel[bot]@users.noreply.github.com> Date: Fri, 17 Jul 2026 01:29:16 +0000 Subject: [PATCH 4/9] Fix: Documentation instructs users to import `defineEnvVars` from `@sveltejs/kit/hooks`, which now throws at runtime because the export was moved to `@sveltejs/kit/env`. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit fixes the issue reported at documentation/docs/20-core-concepts/70-environment-variables.md:28 ## Bug This PR relocated `defineEnvVars` from `@sveltejs/kit/hooks` to `@sveltejs/kit/env`: - `packages/kit/src/exports/env/index.js` now contains the real implementation (`return variables;`). - `packages/kit/src/exports/hooks/index.js` now throws: ```js export function defineEnvVars() { throw new Error(``defineEnvVars` has moved — it should be imported from @sveltejs/kit/env`); } ``` All the app test fixtures were updated to `@sveltejs/kit/env` (e.g. `packages/kit/test/apps/basics/src/env.ts`). However, `documentation/docs/20-core-concepts/70-environment-variables.md` still told users to write: ```ts import { defineEnvVars } from '@sveltejs/kit/hooks'; ``` **Concrete failure mode:** Any user following the docs and importing `defineEnvVars` from `@sveltejs/kit/hooks` triggers the `throw new Error(...)` above at module evaluation time — their app fails to start/build. This appeared in 7 code blocks (lines 28, 45, 68, 113, 128, 148, 192) plus the cross-reference doc-link on line 35 (`[`defineEnvVars`](@sveltejs-kit-hooks#defineEnvVars)`). ## Fix Updated the documentation to reference the new module: - Replaced all 7 `import { defineEnvVars } from '@sveltejs/kit/hooks';` occurrences with `@sveltejs/kit/env`. - Updated the doc-link from `@sveltejs-kit-hooks#defineEnvVars` to `@sveltejs-kit-env#defineEnvVars`. This matches the new export location and the updated test fixtures, so following the docs no longer produces a thrown error. See notes for related follow-ups (missing `./env` entry in `package.json` `exports` and stale generated `types/index.d.ts`) that are outside the scope of this docs fix. Co-authored-by: Vercel Co-authored-by: Rich-Harris --- .../20-core-concepts/70-environment-variables.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/documentation/docs/20-core-concepts/70-environment-variables.md b/documentation/docs/20-core-concepts/70-environment-variables.md index c98ec820950e..ec2beed58d46 100644 --- a/documentation/docs/20-core-concepts/70-environment-variables.md +++ b/documentation/docs/20-core-concepts/70-environment-variables.md @@ -25,14 +25,14 @@ Add a `src/env.ts` (or `src/env.js`) file that exports a `variables` object: ```ts /// file: src/env.ts -import { defineEnvVars } from '@sveltejs/kit/hooks'; +import { defineEnvVars } from '@sveltejs/kit/env'; export const variables = defineEnvVars({ // ... }); ``` -Each value in the object passed to [`defineEnvVars`](@sveltejs-kit-hooks#defineEnvVars) is an [`EnvVarConfig`](@sveltejs-kit#EnvVarConfig) object that configures the environment variable. +Each value in the object passed to [`defineEnvVars`](@sveltejs-kit-env#defineEnvVars) is an [`EnvVarConfig`](@sveltejs-kit#EnvVarConfig) object that configures the environment variable. > [!NOTE] `defineEnvVars` returns its argument unaltered — it exists purely to help with type safety. @@ -42,7 +42,7 @@ By default, all variables are considered private. For example, you don't want to ```ts /// file: src/env.ts -import { defineEnvVars } from '@sveltejs/kit/hooks'; +import { defineEnvVars } from '@sveltejs/kit/env'; export const variables = defineEnvVars({ +++API_KEY: {}+++ @@ -65,7 +65,7 @@ Some variables are perfectly safe — necessary, even — to expose to the brow ```ts /// file: src/env.ts -import { defineEnvVars } from '@sveltejs/kit/hooks'; +import { defineEnvVars } from '@sveltejs/kit/env'; export const variables = defineEnvVars({ GOOGLE_ANALYTICS_ID: { @@ -110,7 +110,7 @@ You can specify a [Standard Schema](https://standardschema.dev/) validator such ```ts /// file: src/env.ts -import { defineEnvVars } from '@sveltejs/kit/hooks'; +import { defineEnvVars } from '@sveltejs/kit/env'; +++import * as v from 'valibot';+++ export const variables = defineEnvVars({ @@ -125,7 +125,7 @@ If a value is invalid, the app will fail to start (or build). To opt out of one ```ts /// file: src/env.ts -import { defineEnvVars } from '@sveltejs/kit/hooks'; +import { defineEnvVars } from '@sveltejs/kit/env'; +++import { building } from '$app/env'+++ import * as v from 'valibot'; @@ -145,7 +145,7 @@ By default, variables are dynamic. If a variable is configured with `static: tru ```ts /// file: src/env.ts -import { defineEnvVars } from '@sveltejs/kit/hooks'; +import { defineEnvVars } from '@sveltejs/kit/env'; import * as v from 'valibot'; export const variables = defineEnvVars({ @@ -189,7 +189,7 @@ You can document the purpose of an environment variable by adding a `description ```ts /// file: src/env.ts -import { defineEnvVars } from '@sveltejs/kit/hooks'; +import { defineEnvVars } from '@sveltejs/kit/env'; export const variables = defineEnvVars({ CACHE_TTL_SECONDS: { From 152875907de64a44b72057359ca33e050daacf72 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Thu, 16 Jul 2026 21:30:57 -0400 Subject: [PATCH 5/9] docs --- documentation/docs/98-reference/15-@sveltejs-kit-env.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 documentation/docs/98-reference/15-@sveltejs-kit-env.md diff --git a/documentation/docs/98-reference/15-@sveltejs-kit-env.md b/documentation/docs/98-reference/15-@sveltejs-kit-env.md new file mode 100644 index 000000000000..c33e44376ae1 --- /dev/null +++ b/documentation/docs/98-reference/15-@sveltejs-kit-env.md @@ -0,0 +1,5 @@ +--- +title: @sveltejs/kit/env +--- + +> MODULE: @sveltejs/kit/env From a1b6e5d455a5620162c0e09237308c6edfe4fe7a Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Thu, 16 Jul 2026 21:32:56 -0400 Subject: [PATCH 6/9] regenerate --- packages/kit/src/exports/hooks/index.js | 1 + packages/kit/types/index.d.ts | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/kit/src/exports/hooks/index.js b/packages/kit/src/exports/hooks/index.js index 3bab7fcb942a..1a75643fbdbd 100644 --- a/packages/kit/src/exports/hooks/index.js +++ b/packages/kit/src/exports/hooks/index.js @@ -1,5 +1,6 @@ export { sequence } from './sequence.js'; +/** @internal */ export function defineEnvVars() { throw new Error(`\`defineEnvVars\` has moved — it should be imported from @sveltejs/kit/env`); } diff --git a/packages/kit/types/index.d.ts b/packages/kit/types/index.d.ts index 4df20f16dbad..040bb4205c8f 100644 --- a/packages/kit/types/index.d.ts +++ b/packages/kit/types/index.d.ts @@ -3107,13 +3107,20 @@ declare module '@sveltejs/kit' { export {}; } -declare module '@sveltejs/kit/hooks' { - import type { EnvVarConfig, Handle } from '@sveltejs/kit'; +declare module '@sveltejs/kit/env' { + import type { EnvVarConfig } from '@sveltejs/kit'; /** * Utility for defining [environment variables](https://svelte.dev/docs/kit/environment-variables), * which are made available via `$app/env/public` and `$app/env/private`. * */ export function defineEnvVars>>(variables: T): T; + + export {}; +} + +declare module '@sveltejs/kit/hooks' { + import type { Handle } from '@sveltejs/kit'; + export function defineEnvVars(): void; /** * A helper function for sequencing multiple `handle` calls in a middleware-like manner. * The behavior for the `handle` options is as follows: From d3d806d7196c5d63f97e54e3adb7bce382e8011c Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Thu, 16 Jul 2026 22:13:15 -0400 Subject: [PATCH 7/9] deprecate instead of erroring, for now --- packages/kit/src/exports/hooks/index.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/kit/src/exports/hooks/index.js b/packages/kit/src/exports/hooks/index.js index 1a75643fbdbd..f896c65ce39a 100644 --- a/packages/kit/src/exports/hooks/index.js +++ b/packages/kit/src/exports/hooks/index.js @@ -1,6 +1,15 @@ +/** @import { EnvVarConfig } from '@sveltejs/kit' */ + export { sequence } from './sequence.js'; -/** @internal */ -export function defineEnvVars() { - throw new Error(`\`defineEnvVars\` has moved — it should be imported from @sveltejs/kit/env`); +/** + * Utility for defining [environment variables](https://svelte.dev/docs/kit/environment-variables), + * which are made available via `$app/env/public` and `$app/env/private`. + * @template {Record>} T + * @param {T} variables + * @returns {T} + * @deprecated Import `defineEnvVars` from `@sveltejs/kit/env` instead + */ +export function defineEnvVars(variables) { + return variables; } From e1a943082d66936f2f077740640e711f7164756c Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Fri, 17 Jul 2026 11:56:16 -0400 Subject: [PATCH 8/9] dedupe --- packages/kit/package.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/kit/package.json b/packages/kit/package.json index 8d1b0a17fca2..8f4cf9abea70 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -128,10 +128,6 @@ "types": "./types/index.d.ts", "import": "./src/exports/internal/server/index.js" }, - "./env": { - "types": "./types/index.d.ts", - "import": "./src/exports/env/index.js" - }, "./node": { "types": "./types/index.d.ts", "import": "./src/exports/node/index.js" From 270338e71f8a057e56e2e520ef1c608b50fb7c7a Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Fri, 17 Jul 2026 12:46:27 -0400 Subject: [PATCH 9/9] strip internal --- packages/kit/package.json | 2 +- packages/kit/src/exports/hooks/index.js | 14 +++----------- packages/kit/types/index.d.ts | 13 ------------- pnpm-lock.yaml | 10 +++++----- 4 files changed, 9 insertions(+), 30 deletions(-) diff --git a/packages/kit/package.json b/packages/kit/package.json index 8f4cf9abea70..5f4e03d0dc9e 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -34,7 +34,7 @@ "@sveltejs/vite-plugin-svelte": "catalog:", "@types/connect": "catalog:", "@types/node": "catalog:", - "dts-buddy": "^0.8.2", + "dts-buddy": "^0.8.3", "jsdom": "catalog:", "rolldown": "catalog:", "svelte": "catalog:", diff --git a/packages/kit/src/exports/hooks/index.js b/packages/kit/src/exports/hooks/index.js index 460c07b366c8..ad9a93885257 100644 --- a/packages/kit/src/exports/hooks/index.js +++ b/packages/kit/src/exports/hooks/index.js @@ -1,16 +1,8 @@ -/** @import { EnvVarConfig } from '@sveltejs/kit' */ - export { sequence } from './sequence.js'; /** - * Utility for defining [environment variables](https://svelte.dev/docs/kit/environment-variables), - * which are made available via `$app/env/public` and `$app/env/private`. - * @template {Record>} T - * @param {T} variables - * @returns {T} - * @deprecated Import `defineEnvVars` from `@sveltejs/kit/env` instead + * @internal */ -export function defineEnvVars(variables) { - console.warn(`\`defineEnvVars\` has moved — import it from \`@sveltejs/kit/env\` instead`); - return variables; +export function defineEnvVars() { + throw new Error(`\`defineEnvVars\` has moved — import it from \`@sveltejs/kit/env\` instead`); } diff --git a/packages/kit/types/index.d.ts b/packages/kit/types/index.d.ts index 9d18efb76db4..d3e574d41094 100644 --- a/packages/kit/types/index.d.ts +++ b/packages/kit/types/index.d.ts @@ -2871,21 +2871,8 @@ declare module '@sveltejs/kit/env' { export {}; } -declare module '@sveltejs/kit/env' { - import type { EnvVarConfig } from '@sveltejs/kit'; - /** - * Utility for defining [environment variables](https://svelte.dev/docs/kit/environment-variables), - * which are made available via `$app/env/public` and `$app/env/private`. - * @deprecated Import `defineEnvVars` from `@sveltejs/kit/env` instead - */ - export function defineEnvVars>>(variables: T): T; - - export {}; -} - declare module '@sveltejs/kit/hooks' { import type { Handle } from '@sveltejs/kit'; - export function defineEnvVars(): void; /** * A helper function for sequencing multiple `handle` calls in a middleware-like manner. * The behavior for the `handle` options is as follows: diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a159c3b1b207..08c17b8d9b9d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -567,8 +567,8 @@ importers: specifier: 'catalog:' version: 22.19.19 dts-buddy: - specifier: ^0.8.2 - version: 0.8.2(typescript@6.0.3) + specifier: ^0.8.3 + version: 0.8.3(typescript@6.0.3) jsdom: specifier: 'catalog:' version: 29.1.1 @@ -3116,8 +3116,8 @@ packages: dropcss@1.0.16: resolution: {integrity: sha512-QgA6BUh2SoBYE/dSuMmeGhNdoGtGewt3Rn66xKyXoGNyjrKRXf163wuM+xeQ83p87l/3ALoB6Il1dgKyGS5pEw==} - dts-buddy@0.8.2: - resolution: {integrity: sha512-JwMQPNGhHwXBv9p0Uu5sKGO0EKb15CQbYZ7z4CvCFPX3MyosvhkGDyse6pAGpbtu4txPK3FoxoHy7MLBbEwQug==} + dts-buddy@0.8.3: + resolution: {integrity: sha512-1x/UrAYRlQYA7QeLjyiTo5x6u5FvsU2hheGXT/hJWJ1zQzR+dMSQMMGPmuSKAH4/rhdCuLAtUZUr+NIXubwjfQ==} hasBin: true peerDependencies: typescript: ^5.0.4 || ^6.0.0 @@ -5717,7 +5717,7 @@ snapshots: dropcss@1.0.16: {} - dts-buddy@0.8.2(typescript@6.0.3): + dts-buddy@0.8.3(typescript@6.0.3): dependencies: '@jridgewell/source-map': 0.3.6 '@jridgewell/sourcemap-codec': 1.5.5