diff --git a/.changeset/thin-flies-notice.md b/.changeset/thin-flies-notice.md new file mode 100644 index 000000000000..25c543ff73a1 --- /dev/null +++ b/.changeset/thin-flies-notice.md @@ -0,0 +1,5 @@ +--- +'astro': patch +--- + +Enriches the explanation of the `base` configuration with examples. diff --git a/packages/astro/src/@types/astro.ts b/packages/astro/src/@types/astro.ts index 45a82b355e77..8741b4074307 100644 --- a/packages/astro/src/@types/astro.ts +++ b/packages/astro/src/@types/astro.ts @@ -580,7 +580,28 @@ export interface AstroUserConfig { * * When using this option, all of your static asset imports and URLs should add the base as a prefix. You can access this value via `import.meta.env.BASE_URL`. * - * The value of `import.meta.env.BASE_URL` respects your `trailingSlash` config and will include a trailing slash if you explicitly include one or if `trailingSlash: "always"` is set. If `trailingSlash: "never"` is set, `BASE_URL` will not include a trailing slash, even if `base` includes one. + * The value of `import.meta.env.BASE_URL` will be determined by your `trailingSlash` config, no matter what value you have set for `base`. + * + * A trailing slash is always included if `trailingSlash: "always"` is set. If `trailingSlash: "never"` is set, `BASE_URL` will not include a trailing slash, even if `base` includes one. + * + * Additionally, Astro will internally manipulate the configured value of `config.base` before making it available to integrations. The value of `config.base` as read by integrations will also be determined by your `trailingSlash` configuration in the same way. + * + * In the example below, the values of `import.meta.env.BASE_URL` and `config.base` when processed will both be `/docs`: + * ```js + * { + * base: '/docs/', + * trailingSlash: "never" + * } + * ``` + * + * In the example below, the values of `import.meta.env.BASE_URL` and `config.base` when processed will both be `/docs/`: + * + * ```js + * { + * base: '/docs', + * trailingSlash: "always" + * } + * ``` */ base?: string;