From 9fe622e5a7a7924640eb333874381a33359bf8c9 Mon Sep 17 00:00:00 2001 From: James Hegedus Date: Thu, 1 Jul 2021 16:22:01 +1000 Subject: [PATCH 1/7] fix(kit): export Vitejs mode from $app/env --- packages/kit/src/runtime/app/env.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/kit/src/runtime/app/env.js b/packages/kit/src/runtime/app/env.js index a5f1e045c6d4..0f85ab786470 100644 --- a/packages/kit/src/runtime/app/env.js +++ b/packages/kit/src/runtime/app/env.js @@ -6,6 +6,10 @@ export const browser = !import.meta.env.SSR; * @type {import('$app/env').dev} */ export const dev = !!import.meta.env.DEV; +/** + * @type {import('$app/env).mode} + */ +export const mode = import.meta.env.MODE /** * @type {import('$app/env').amp} */ From 738b086826ee5d525cb1b7ea45a3e3f5ad1a0746 Mon Sep 17 00:00:00 2001 From: James Hegedus Date: Thu, 1 Jul 2021 16:23:19 +1000 Subject: [PATCH 2/7] fix(kit): typo in type import --- packages/kit/src/runtime/app/env.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kit/src/runtime/app/env.js b/packages/kit/src/runtime/app/env.js index 0f85ab786470..99286ce986a4 100644 --- a/packages/kit/src/runtime/app/env.js +++ b/packages/kit/src/runtime/app/env.js @@ -7,7 +7,7 @@ export const browser = !import.meta.env.SSR; */ export const dev = !!import.meta.env.DEV; /** - * @type {import('$app/env).mode} + * @type {import('$app/env').mode} */ export const mode = import.meta.env.MODE /** From b541ffbef71eb04f99f86fa43d168315cd5c19cb Mon Sep 17 00:00:00 2001 From: James Hegedus Date: Thu, 1 Jul 2021 16:31:36 +1000 Subject: [PATCH 3/7] types(kit): type for $app/env mode --- packages/kit/types/ambient-modules.d.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/kit/types/ambient-modules.d.ts b/packages/kit/types/ambient-modules.d.ts index 454e8d5b5348..c66f063b012e 100644 --- a/packages/kit/types/ambient-modules.d.ts +++ b/packages/kit/types/ambient-modules.d.ts @@ -15,6 +15,10 @@ declare module '$app/env' { * `true` when prerendering, `false` otherwise. */ export const prerendering: boolean; + /** + * The Vite.js mode the app is running in. Configure in `config.kit.vite.mode`. By default, `svelte-kit dev` runs in `development` mode and `svelte-kit build` runs in `production` mode. + */ + export const mode: string; } declare module '$app/navigation' { From ffcd6604f932ea957b5fa532c7f59e23439adfc2 Mon Sep 17 00:00:00 2001 From: jthegedus Date: Sun, 4 Jul 2021 11:55:00 +1000 Subject: [PATCH 4/7] docs: explain vite.js mode --- documentation/docs/05-modules.md | 3 ++- packages/kit/types/ambient-modules.d.ts | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/documentation/docs/05-modules.md b/documentation/docs/05-modules.md index 733446ef1999..8285a0998f33 100644 --- a/documentation/docs/05-modules.md +++ b/documentation/docs/05-modules.md @@ -7,12 +7,13 @@ SvelteKit makes a number of modules available to your application. ### $app/env ```js -import { amp, browser, dev, prerendering } from '$app/env'; +import { amp, browser, dev, mode, prerendering } from '$app/env'; ``` - `amp` is `true` or `false` depending on the corresponding value in your [project configuration](#configuration) - `browser` is `true` or `false` depending on whether the app is running in the browser or on the server - `dev` is `true` in development mode, `false` in production +- `mode` is `development` in development mode or `production` during build, unless otherwise configured in `config.kit.vite.mode`. - `prerendering` is `true` when [prerendering](#ssr-and-javascript-prerender), `false` otherwise ### $app/navigation diff --git a/packages/kit/types/ambient-modules.d.ts b/packages/kit/types/ambient-modules.d.ts index c66f063b012e..0066dfd176ae 100644 --- a/packages/kit/types/ambient-modules.d.ts +++ b/packages/kit/types/ambient-modules.d.ts @@ -16,7 +16,9 @@ declare module '$app/env' { */ export const prerendering: boolean; /** - * The Vite.js mode the app is running in. Configure in `config.kit.vite.mode`. By default, `svelte-kit dev` runs in `development` mode and `svelte-kit build` runs in `production` mode. + * The Vite.js mode the app is running in. Configure in `config.kit.vite.mode`. + * Vite.js loads the dotenv file associated with the provided mode, `.env.[mode]` or `.env.[mode].local`. + * By default, `svelte-kit dev` runs with `mode=development` and `svelte-kit build` runs with `mode=production`. */ export const mode: string; } From 6066ca562ee753e0f43800af941a299696127dce Mon Sep 17 00:00:00 2001 From: jthegedus Date: Sun, 4 Jul 2021 12:01:23 +1000 Subject: [PATCH 5/7] chore: add changeset --- .changeset/silly-jokes-hug.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/silly-jokes-hug.md diff --git a/.changeset/silly-jokes-hug.md b/.changeset/silly-jokes-hug.md new file mode 100644 index 000000000000..db3ea2730e4d --- /dev/null +++ b/.changeset/silly-jokes-hug.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/kit': patch +--- + +Expose Vite.js mode from \$app/env From dfb1fcde56cc5f34195ac4e38d0d092cf472be39 Mon Sep 17 00:00:00 2001 From: jthegedus Date: Sun, 4 Jul 2021 12:08:20 +1000 Subject: [PATCH 6/7] fix: missing trailing smei --- packages/kit/src/runtime/app/env.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kit/src/runtime/app/env.js b/packages/kit/src/runtime/app/env.js index 99286ce986a4..f422aa5091b3 100644 --- a/packages/kit/src/runtime/app/env.js +++ b/packages/kit/src/runtime/app/env.js @@ -9,7 +9,7 @@ export const dev = !!import.meta.env.DEV; /** * @type {import('$app/env').mode} */ -export const mode = import.meta.env.MODE +export const mode = import.meta.env.MODE; /** * @type {import('$app/env').amp} */ From 168ea2b29524ca3c7d32dea72cf8d4cf7bca3edb Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Thu, 8 Jul 2021 06:40:00 -0700 Subject: [PATCH 7/7] Update documentation/docs/05-modules.md --- documentation/docs/05-modules.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/docs/05-modules.md b/documentation/docs/05-modules.md index 8285a0998f33..4a867c5691d5 100644 --- a/documentation/docs/05-modules.md +++ b/documentation/docs/05-modules.md @@ -13,7 +13,7 @@ import { amp, browser, dev, mode, prerendering } from '$app/env'; - `amp` is `true` or `false` depending on the corresponding value in your [project configuration](#configuration) - `browser` is `true` or `false` depending on whether the app is running in the browser or on the server - `dev` is `true` in development mode, `false` in production -- `mode` is `development` in development mode or `production` during build, unless otherwise configured in `config.kit.vite.mode`. +- `mode` is the [Vite mode](https://vitejs.dev/guide/env-and-mode.html#modes), which is `development` in dev mode or `production` during build unless configured otherwise in `config.kit.vite.mode`. - `prerendering` is `true` when [prerendering](#ssr-and-javascript-prerender), `false` otherwise ### $app/navigation