aboutsummaryrefslogtreecommitdiff
path: root/packages/astro/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/astro/src')
-rw-r--r--packages/astro/src/@types/astro.ts30
-rw-r--r--packages/astro/src/actions/index.ts6
-rw-r--r--packages/astro/src/actions/runtime/middleware.ts2
-rw-r--r--packages/astro/src/actions/runtime/virtual/client.ts2
-rw-r--r--packages/astro/src/actions/runtime/virtual/get-action.ts2
-rw-r--r--packages/astro/src/actions/runtime/virtual/server.ts14
-rw-r--r--packages/astro/src/actions/runtime/virtual/shared.ts8
-rw-r--r--packages/astro/src/assets/build/generate.ts24
-rw-r--r--packages/astro/src/assets/build/remote.ts2
-rw-r--r--packages/astro/src/assets/endpoint/generic.ts2
-rw-r--r--packages/astro/src/assets/endpoint/node.ts4
-rw-r--r--packages/astro/src/assets/internal.ts8
-rw-r--r--packages/astro/src/assets/services/service.ts18
-rw-r--r--packages/astro/src/assets/services/squoosh.ts2
-rw-r--r--packages/astro/src/assets/utils/metadata.ts2
-rw-r--r--packages/astro/src/assets/utils/node/emitAsset.ts2
-rw-r--r--packages/astro/src/assets/utils/queryParams.ts2
-rw-r--r--packages/astro/src/assets/utils/remotePattern.ts2
-rw-r--r--packages/astro/src/assets/utils/transformToPath.ts4
-rw-r--r--packages/astro/src/assets/vite-plugin-assets.ts16
-rw-r--r--packages/astro/src/cli/add/imports.ts2
-rw-r--r--packages/astro/src/cli/add/index.ts102
-rw-r--r--packages/astro/src/cli/check/index.ts4
-rw-r--r--packages/astro/src/cli/db/index.ts2
-rw-r--r--packages/astro/src/cli/dev/index.ts2
-rw-r--r--packages/astro/src/cli/docs/open.ts2
-rw-r--r--packages/astro/src/cli/info/index.ts2
-rw-r--r--packages/astro/src/cli/install-package.ts14
-rw-r--r--packages/astro/src/cli/preferences/index.ts42
-rw-r--r--packages/astro/src/cli/preview/index.ts2
-rw-r--r--packages/astro/src/config/index.ts4
-rw-r--r--packages/astro/src/container/index.ts18
-rw-r--r--packages/astro/src/container/pipeline.ts4
-rw-r--r--packages/astro/src/content/runtime-assets.ts4
-rw-r--r--packages/astro/src/content/runtime.ts20
-rw-r--r--packages/astro/src/content/server-listeners.ts20
-rw-r--r--packages/astro/src/content/types-generator.ts26
-rw-r--r--packages/astro/src/content/utils.ts18
-rw-r--r--packages/astro/src/content/vite-plugin-content-assets.ts12
-rw-r--r--packages/astro/src/content/vite-plugin-content-imports.ts12
-rw-r--r--packages/astro/src/content/vite-plugin-content-virtual-mod.ts16
-rw-r--r--packages/astro/src/core/app/createOutgoingHttpHeaders.ts2
-rw-r--r--packages/astro/src/core/app/index.ts22
-rw-r--r--packages/astro/src/core/app/node.ts4
-rw-r--r--packages/astro/src/core/app/pipeline.ts10
-rw-r--r--packages/astro/src/core/base-pipeline.ts6
-rw-r--r--packages/astro/src/core/build/add-rollup-input.ts2
-rw-r--r--packages/astro/src/core/build/common.ts4
-rw-r--r--packages/astro/src/core/build/css-asset-name.ts4
-rw-r--r--packages/astro/src/core/build/generate.ts30
-rw-r--r--packages/astro/src/core/build/graph.ts6
-rw-r--r--packages/astro/src/core/build/index.ts16
-rw-r--r--packages/astro/src/core/build/internal.ts18
-rw-r--r--packages/astro/src/core/build/page-data.ts2
-rw-r--r--packages/astro/src/core/build/pipeline.ts28
-rw-r--r--packages/astro/src/core/build/plugins/README.md2
-rw-r--r--packages/astro/src/core/build/plugins/plugin-analyzer.ts8
-rw-r--r--packages/astro/src/core/build/plugins/plugin-content.ts20
-rw-r--r--packages/astro/src/core/build/plugins/plugin-css.ts10
-rw-r--r--packages/astro/src/core/build/plugins/plugin-hoisted-scripts.ts4
-rw-r--r--packages/astro/src/core/build/plugins/plugin-internals.ts2
-rw-r--r--packages/astro/src/core/build/plugins/plugin-manifest.ts10
-rw-r--r--packages/astro/src/core/build/plugins/plugin-middleware.ts2
-rw-r--r--packages/astro/src/core/build/plugins/plugin-pages.ts2
-rw-r--r--packages/astro/src/core/build/plugins/plugin-prerender.ts4
-rw-r--r--packages/astro/src/core/build/plugins/plugin-ssr.ts12
-rw-r--r--packages/astro/src/core/build/plugins/util.ts6
-rw-r--r--packages/astro/src/core/build/static-build.ts28
-rw-r--r--packages/astro/src/core/build/util.ts4
-rw-r--r--packages/astro/src/core/config/config.ts6
-rw-r--r--packages/astro/src/core/config/merge.ts4
-rw-r--r--packages/astro/src/core/config/schema.ts32
-rw-r--r--packages/astro/src/core/config/settings.ts12
-rw-r--r--packages/astro/src/core/config/tsconfig.ts8
-rw-r--r--packages/astro/src/core/config/validate.ts2
-rw-r--r--packages/astro/src/core/cookies/cookies.ts6
-rw-r--r--packages/astro/src/core/create-vite.ts4
-rw-r--r--packages/astro/src/core/dev/container.ts2
-rw-r--r--packages/astro/src/core/dev/dev.ts4
-rw-r--r--packages/astro/src/core/dev/restart.ts8
-rw-r--r--packages/astro/src/core/dev/update-check.ts2
-rw-r--r--packages/astro/src/core/errors/dev/vite.ts4
-rw-r--r--packages/astro/src/core/errors/errors-data.ts8
-rw-r--r--packages/astro/src/core/errors/overlay.ts2
-rw-r--r--packages/astro/src/core/errors/utils.ts2
-rw-r--r--packages/astro/src/core/errors/zod-error-map.ts12
-rw-r--r--packages/astro/src/core/logger/core.ts2
-rw-r--r--packages/astro/src/core/logger/node.ts2
-rw-r--r--packages/astro/src/core/logger/vite.ts2
-rw-r--r--packages/astro/src/core/messages.ts14
-rw-r--r--packages/astro/src/core/middleware/callMiddleware.ts4
-rw-r--r--packages/astro/src/core/middleware/sequence.ts2
-rw-r--r--packages/astro/src/core/middleware/vite-plugin.ts6
-rw-r--r--packages/astro/src/core/preview/index.ts6
-rw-r--r--packages/astro/src/core/preview/static-preview-server.ts4
-rw-r--r--packages/astro/src/core/render-context.ts24
-rw-r--r--packages/astro/src/core/render/paginate.ts8
-rw-r--r--packages/astro/src/core/render/params-and-props.ts2
-rw-r--r--packages/astro/src/core/render/renderer.ts2
-rw-r--r--packages/astro/src/core/render/route-cache.ts2
-rw-r--r--packages/astro/src/core/render/slots.ts4
-rw-r--r--packages/astro/src/core/render/ssr-element.ts12
-rw-r--r--packages/astro/src/core/request.ts4
-rw-r--r--packages/astro/src/core/routing/astro-designed-error-pages.ts2
-rw-r--r--packages/astro/src/core/routing/manifest/create.ts24
-rw-r--r--packages/astro/src/core/routing/manifest/generator.ts6
-rw-r--r--packages/astro/src/core/routing/manifest/pattern.ts2
-rw-r--r--packages/astro/src/core/routing/manifest/serialization.ts2
-rw-r--r--packages/astro/src/core/routing/validation.ts12
-rw-r--r--packages/astro/src/core/sync/index.ts12
-rw-r--r--packages/astro/src/core/sync/setup-env-ts.ts6
-rw-r--r--packages/astro/src/core/util.ts2
-rw-r--r--packages/astro/src/core/viteUtils.ts2
-rw-r--r--packages/astro/src/env/runtime.ts4
-rw-r--r--packages/astro/src/env/schema.ts2
-rw-r--r--packages/astro/src/env/validators.ts2
-rw-r--r--packages/astro/src/env/vite-plugin-env.ts4
-rw-r--r--packages/astro/src/events/error.ts2
-rw-r--r--packages/astro/src/events/session.ts16
-rw-r--r--packages/astro/src/i18n/index.ts2
-rw-r--r--packages/astro/src/i18n/middleware.ts2
-rw-r--r--packages/astro/src/i18n/utils.ts2
-rw-r--r--packages/astro/src/integrations/features-validation.ts26
-rw-r--r--packages/astro/src/integrations/hooks.ts22
-rw-r--r--packages/astro/src/jsx/babel.ts34
-rw-r--r--packages/astro/src/jsx/rehype.ts14
-rw-r--r--packages/astro/src/jsx/server.ts4
-rw-r--r--packages/astro/src/preferences/index.ts8
-rw-r--r--packages/astro/src/preferences/store.ts2
-rw-r--r--packages/astro/src/prefetch/index.ts6
-rw-r--r--packages/astro/src/prefetch/vite-plugin-prefetch.ts2
-rw-r--r--packages/astro/src/runtime/client/dev-toolbar/apps/astro.ts8
-rw-r--r--packages/astro/src/runtime/client/dev-toolbar/apps/audit/index.ts6
-rw-r--r--packages/astro/src/runtime/client/dev-toolbar/apps/audit/rules/a11y.ts18
-rw-r--r--packages/astro/src/runtime/client/dev-toolbar/apps/audit/rules/index.ts2
-rw-r--r--packages/astro/src/runtime/client/dev-toolbar/apps/audit/rules/perf.ts4
-rw-r--r--packages/astro/src/runtime/client/dev-toolbar/apps/audit/ui/audit-list-window.ts10
-rw-r--r--packages/astro/src/runtime/client/dev-toolbar/apps/audit/ui/audit-ui.ts6
-rw-r--r--packages/astro/src/runtime/client/dev-toolbar/apps/settings.ts4
-rw-r--r--packages/astro/src/runtime/client/dev-toolbar/apps/utils/highlight.ts4
-rw-r--r--packages/astro/src/runtime/client/dev-toolbar/apps/utils/icons.ts2
-rw-r--r--packages/astro/src/runtime/client/dev-toolbar/apps/utils/window.ts4
-rw-r--r--packages/astro/src/runtime/client/dev-toolbar/apps/xray.ts10
-rw-r--r--packages/astro/src/runtime/client/dev-toolbar/entrypoint.ts8
-rw-r--r--packages/astro/src/runtime/client/dev-toolbar/helpers.ts4
-rw-r--r--packages/astro/src/runtime/client/dev-toolbar/settings.ts2
-rw-r--r--packages/astro/src/runtime/client/dev-toolbar/toolbar.ts14
-rw-r--r--packages/astro/src/runtime/client/dev-toolbar/ui-library/badge.ts4
-rw-r--r--packages/astro/src/runtime/client/dev-toolbar/ui-library/button.ts6
-rw-r--r--packages/astro/src/runtime/client/dev-toolbar/ui-library/card.ts2
-rw-r--r--packages/astro/src/runtime/client/dev-toolbar/ui-library/highlight.ts2
-rw-r--r--packages/astro/src/runtime/client/dev-toolbar/ui-library/icons.ts2
-rw-r--r--packages/astro/src/runtime/client/dev-toolbar/ui-library/window.ts2
-rw-r--r--packages/astro/src/runtime/server/astro-component.ts4
-rw-r--r--packages/astro/src/runtime/server/astro-island.ts8
-rw-r--r--packages/astro/src/runtime/server/endpoint.ts10
-rw-r--r--packages/astro/src/runtime/server/escape.ts2
-rw-r--r--packages/astro/src/runtime/server/hydration.ts8
-rw-r--r--packages/astro/src/runtime/server/index.ts2
-rw-r--r--packages/astro/src/runtime/server/jsx.ts14
-rw-r--r--packages/astro/src/runtime/server/render/astro/factory.ts2
-rw-r--r--packages/astro/src/runtime/server/render/astro/instance.ts6
-rw-r--r--packages/astro/src/runtime/server/render/astro/render.ts16
-rw-r--r--packages/astro/src/runtime/server/render/common.ts4
-rw-r--r--packages/astro/src/runtime/server/render/component.ts60
-rw-r--r--packages/astro/src/runtime/server/render/dom.ts4
-rw-r--r--packages/astro/src/runtime/server/render/head.ts2
-rw-r--r--packages/astro/src/runtime/server/render/instruction.ts6
-rw-r--r--packages/astro/src/runtime/server/render/page.ts6
-rw-r--r--packages/astro/src/runtime/server/render/server-islands.ts2
-rw-r--r--packages/astro/src/runtime/server/render/slot.ts12
-rw-r--r--packages/astro/src/runtime/server/render/util.ts6
-rw-r--r--packages/astro/src/runtime/server/serialize.ts8
-rw-r--r--packages/astro/src/runtime/server/transition.ts14
-rw-r--r--packages/astro/src/toolbar/vite-plugin-dev-toolbar.ts14
-rw-r--r--packages/astro/src/transitions/events.ts14
-rw-r--r--packages/astro/src/transitions/router.ts38
-rw-r--r--packages/astro/src/transitions/swap-functions.ts4
-rw-r--r--packages/astro/src/virtual-modules/container.ts2
-rw-r--r--packages/astro/src/virtual-modules/i18n.ts2
-rw-r--r--packages/astro/src/vite-plugin-astro-postprocess/index.ts2
-rw-r--r--packages/astro/src/vite-plugin-astro-server/base.ts8
-rw-r--r--packages/astro/src/vite-plugin-astro-server/css.ts2
-rw-r--r--packages/astro/src/vite-plugin-astro-server/error.ts2
-rw-r--r--packages/astro/src/vite-plugin-astro-server/metadata.ts2
-rw-r--r--packages/astro/src/vite-plugin-astro-server/pipeline.ts6
-rw-r--r--packages/astro/src/vite-plugin-astro-server/plugin.ts4
-rw-r--r--packages/astro/src/vite-plugin-astro-server/response.ts10
-rw-r--r--packages/astro/src/vite-plugin-astro-server/route.ts8
-rw-r--r--packages/astro/src/vite-plugin-astro-server/scripts.ts2
-rw-r--r--packages/astro/src/vite-plugin-astro-server/vite.ts2
-rw-r--r--packages/astro/src/vite-plugin-astro/compile.ts6
-rw-r--r--packages/astro/src/vite-plugin-astro/hmr.ts2
-rw-r--r--packages/astro/src/vite-plugin-astro/index.ts6
-rw-r--r--packages/astro/src/vite-plugin-config-alias/index.ts4
-rw-r--r--packages/astro/src/vite-plugin-env/index.ts12
-rw-r--r--packages/astro/src/vite-plugin-head/index.ts2
-rw-r--r--packages/astro/src/vite-plugin-html/transform/escape.ts2
-rw-r--r--packages/astro/src/vite-plugin-html/transform/slots.ts2
-rw-r--r--packages/astro/src/vite-plugin-integrations-container/index.ts4
-rw-r--r--packages/astro/src/vite-plugin-markdown/images.ts2
-rw-r--r--packages/astro/src/vite-plugin-markdown/index.ts10
-rw-r--r--packages/astro/src/vite-plugin-mdx/index.ts2
-rw-r--r--packages/astro/src/vite-plugin-mdx/tag.ts12
-rw-r--r--packages/astro/src/vite-plugin-mdx/transform-jsx.ts2
-rw-r--r--packages/astro/src/vite-plugin-scanner/index.ts4
-rw-r--r--packages/astro/src/vite-plugin-scanner/scan.ts4
-rw-r--r--packages/astro/src/vite-plugin-utils/index.ts2
208 files changed, 858 insertions, 852 deletions
diff --git a/packages/astro/src/@types/astro.ts b/packages/astro/src/@types/astro.ts
index 1a3cf60bb..950095005 100644
--- a/packages/astro/src/@types/astro.ts
+++ b/packages/astro/src/@types/astro.ts
@@ -378,7 +378,7 @@ export interface AstroGlobalPartial {
*/
glob(globStr: `${any}.astro`): Promise<AstroInstance[]>;
glob<T extends Record<string, any>>(
- globStr: `${any}${MarkdowFileExtension}`
+ globStr: `${any}${MarkdowFileExtension}`,
): Promise<MarkdownInstance<T>[]>;
glob<T extends Record<string, any>>(globStr: `${any}.mdx`): Promise<MDXInstance<T>[]>;
glob<T extends Record<string, any>>(globStr: string): Promise<T[]>;
@@ -2300,7 +2300,7 @@ export interface ContentEntryType {
contents: string;
fileUrl: URL;
viteId: string;
- }
+ },
): rollup.LoadResult | Promise<rollup.LoadResult>;
contentModuleTypes?: string;
/**
@@ -2385,7 +2385,7 @@ export type AsyncRendererComponentFn<U> = (
Component: any,
props: any,
slots: Record<string, string>,
- metadata?: AstroComponentMetadata
+ metadata?: AstroComponentMetadata,
) => Promise<U>;
/** Generic interface for a component (Astro, Svelte, React, etc.) */
@@ -2470,7 +2470,7 @@ export type GetStaticPathsResultKeyed = GetStaticPathsResult & {
* [Astro Reference](https://docs.astro.build/en/reference/api-reference/#getstaticpaths)
*/
export type GetStaticPaths = (
- options: GetStaticPathsOptions
+ options: GetStaticPathsOptions,
) => Promise<GetStaticPathsResult> | GetStaticPathsResult;
/**
@@ -2493,7 +2493,7 @@ export type GetStaticPaths = (
* ```
*/
export type InferGetStaticParamsType<T> = T extends (
- opts?: GetStaticPathsOptions
+ opts?: GetStaticPathsOptions,
) => infer R | Promise<infer R>
? R extends Array<infer U>
? U extends { params: infer P }
@@ -2526,7 +2526,7 @@ export type InferGetStaticParamsType<T> = T extends (
* ```
*/
export type InferGetStaticPropsType<T> = T extends (
- opts: GetStaticPathsOptions
+ opts: GetStaticPathsOptions,
) => infer R | Promise<infer R>
? R extends Array<infer U>
? U extends { props: infer P }
@@ -2639,7 +2639,7 @@ export type PaginateFunction = <
AdditionalPaginateParams extends Params,
>(
data: PaginateData[],
- args?: PaginateOptions<AdditionalPaginateProps, AdditionalPaginateParams>
+ args?: PaginateOptions<AdditionalPaginateProps, AdditionalPaginateParams>,
) => {
params: Simplify<
{
@@ -2755,7 +2755,7 @@ interface AstroSharedContext<
TInputSchema extends ActionInputSchema<TAccept>,
TAction extends ActionClient<unknown, TAccept, TInputSchema>,
>(
- action: TAction
+ action: TAction,
) => ActionReturnType<TAction> | undefined;
/**
* Call action handler from the server.
@@ -2769,7 +2769,7 @@ interface AstroSharedContext<
| ActionClient<TOutput, TAccept, TInputSchema>['orThrow'],
>(
action: TAction,
- input: Parameters<TAction>[0]
+ input: Parameters<TAction>[0],
) => Promise<ActionReturnType<TAction>>;
/**
* Route parameters for this request if this is a dynamic route.
@@ -3142,7 +3142,7 @@ export type RewritePayload = string | URL | Request;
export type MiddlewareNext = (rewritePayload?: RewritePayload) => Promise<Response>;
export type MiddlewareHandler = (
context: APIContext,
- next: MiddlewareNext
+ next: MiddlewareNext,
) => Promise<Response> | Response | Promise<void> | void;
// NOTE: when updating this file with other functions,
@@ -3258,7 +3258,7 @@ export interface SSRResult {
createAstro(
Astro: AstroGlobalPartial,
props: Record<string, any>,
- slots: Record<string, any> | null
+ slots: Record<string, any> | null,
): AstroGlobal;
params: Params;
resolve: (s: string) => Promise<string>;
@@ -3326,7 +3326,7 @@ export interface PreviewServerParams {
}
export type CreatePreviewServer = (
- params: PreviewServerParams
+ params: PreviewServerParams,
) => PreviewServer | Promise<PreviewServer>;
export interface PreviewModule {
@@ -3351,7 +3351,7 @@ type DirectiveOptions = {
export type ClientDirective = (
load: DirectiveLoad,
options: DirectiveOptions,
- el: HTMLElement
+ el: HTMLElement,
) => void;
export interface ClientDirectiveConfig {
@@ -3399,7 +3399,7 @@ export type DevToolbarApp = {
init?(
canvas: ShadowRoot,
app: ToolbarAppEventTarget,
- server: ToolbarServerHelpers
+ server: ToolbarServerHelpers,
): void | Promise<void>;
beforeTogglingOff?(canvas: ShadowRoot): boolean | Promise<boolean>;
};
@@ -3464,7 +3464,7 @@ declare global {
// Container types
export type ContainerImportRendererFn = (
- containerRenderer: ContainerRenderer
+ containerRenderer: ContainerRenderer,
) => Promise<SSRLoadedRenderer>;
export type ContainerRenderer = {
diff --git a/packages/astro/src/actions/index.ts b/packages/astro/src/actions/index.ts
index f176988ff..04a911856 100644
--- a/packages/astro/src/actions/index.ts
+++ b/packages/astro/src/actions/index.ts
@@ -31,7 +31,7 @@ export default function astroActions({
}
const stringifiedActionsImport = JSON.stringify(
- viteID(new URL('./actions', params.config.srcDir))
+ viteID(new URL('./actions', params.config.srcDir)),
);
params.updateConfig({
vite: {
@@ -75,7 +75,7 @@ export function vitePluginUserActions({ settings }: { settings: AstroSettings })
}
if (id === VIRTUAL_INTERNAL_MODULE_ID) {
const resolvedModule = await this.resolve(
- `${decodeURI(new URL('actions', settings.config.srcDir).pathname)}`
+ `${decodeURI(new URL('actions', settings.config.srcDir).pathname)}`,
);
if (!resolvedModule) {
@@ -109,7 +109,7 @@ const vitePluginActions = (fs: typeof fsMod): VitePlugin => ({
let code = await fs.promises.readFile(
new URL('../../templates/actions.mjs', import.meta.url),
- 'utf-8'
+ 'utf-8',
);
if (opts?.ssr) {
code += `\nexport * from 'astro/actions/runtime/virtual/server.js';`;
diff --git a/packages/astro/src/actions/runtime/middleware.ts b/packages/astro/src/actions/runtime/middleware.ts
index 3d430b04a..0b93eb72f 100644
--- a/packages/astro/src/actions/runtime/middleware.ts
+++ b/packages/astro/src/actions/runtime/middleware.ts
@@ -35,7 +35,7 @@ export const onRequest = defineMiddleware(async (context, next) => {
// eslint-disable-next-line no-console
console.warn(
yellow('[astro:actions]'),
- 'POST requests should not be sent to prerendered pages. If you\'re using Actions, disable prerendering with `export const prerender = "false".'
+ 'POST requests should not be sent to prerendered pages. If you\'re using Actions, disable prerendering with `export const prerender = "false".',
);
return next();
}
diff --git a/packages/astro/src/actions/runtime/virtual/client.ts b/packages/astro/src/actions/runtime/virtual/client.ts
index ddeba9a75..424552a9f 100644
--- a/packages/astro/src/actions/runtime/virtual/client.ts
+++ b/packages/astro/src/actions/runtime/virtual/client.ts
@@ -10,5 +10,5 @@ export const z = new Proxy(
get() {
throw new Error('[astro:action] `z` unexpectedly used on the client.');
},
- }
+ },
);
diff --git a/packages/astro/src/actions/runtime/virtual/get-action.ts b/packages/astro/src/actions/runtime/virtual/get-action.ts
index 052849c48..cb9addd9d 100644
--- a/packages/astro/src/actions/runtime/virtual/get-action.ts
+++ b/packages/astro/src/actions/runtime/virtual/get-action.ts
@@ -7,7 +7,7 @@ import type { ActionAccept, ActionClient } from './server.js';
* the user's `src/actions/index.ts` file at build-time.
*/
export async function getAction(
- path: string
+ path: string,
): Promise<ActionClient<unknown, ActionAccept, ZodType> | undefined> {
const pathKeys = path.replace('/_actions/', '').split('.');
// @ts-expect-error virtual module
diff --git a/packages/astro/src/actions/runtime/virtual/server.ts b/packages/astro/src/actions/runtime/virtual/server.ts
index 94a993f04..a711f1032 100644
--- a/packages/astro/src/actions/runtime/virtual/server.ts
+++ b/packages/astro/src/actions/runtime/virtual/server.ts
@@ -25,7 +25,7 @@ export type ActionClient<
TInputSchema extends ActionInputSchema<TAccept> | undefined,
> = TInputSchema extends z.ZodType
? ((
- input: TAccept extends 'form' ? FormData : z.input<TInputSchema>
+ input: TAccept extends 'form' ? FormData : z.input<TInputSchema>,
) => Promise<
SafeResult<
z.input<TInputSchema> extends ErrorInferenceObject
@@ -36,7 +36,7 @@ export type ActionClient<
>) & {
queryString: string;
orThrow: (
- input: TAccept extends 'form' ? FormData : z.input<TInputSchema>
+ input: TAccept extends 'form' ? FormData : z.input<TInputSchema>,
) => Promise<Awaited<TOutput>>;
}
: (input?: any) => Promise<SafeResult<never, Awaited<TOutput>>> & {
@@ -85,7 +85,7 @@ export function defineAction<
function getFormServerHandler<TOutput, TInputSchema extends ActionInputSchema<'form'>>(
handler: ActionHandler<TInputSchema, TOutput>,
- inputSchema?: TInputSchema
+ inputSchema?: TInputSchema,
) {
return async (unparsedInput: unknown, context: ActionAPIContext): Promise<Awaited<TOutput>> => {
if (!(unparsedInput instanceof FormData)) {
@@ -107,7 +107,7 @@ function getFormServerHandler<TOutput, TInputSchema extends ActionInputSchema<'f
function getJsonServerHandler<TOutput, TInputSchema extends ActionInputSchema<'json'>>(
handler: ActionHandler<TInputSchema, TOutput>,
- inputSchema?: TInputSchema
+ inputSchema?: TInputSchema,
) {
return async (unparsedInput: unknown, context: ActionAPIContext): Promise<Awaited<TOutput>> => {
if (unparsedInput instanceof FormData) {
@@ -129,7 +129,7 @@ function getJsonServerHandler<TOutput, TInputSchema extends ActionInputSchema<'j
/** Transform form data to an object based on a Zod schema. */
export function formDataToObject<T extends z.AnyZodObject>(
formData: FormData,
- schema: T
+ schema: T,
): Record<string, unknown> {
const obj: Record<string, unknown> = {};
for (const [key, baseValidator] of Object.entries(schema.shape)) {
@@ -151,7 +151,7 @@ export function formDataToObject<T extends z.AnyZodObject>(
function handleFormDataGetAll(
key: string,
formData: FormData,
- validator: z.ZodArray<z.ZodUnknown>
+ validator: z.ZodArray<z.ZodUnknown>,
) {
const entries = Array.from(formData.getAll(key));
const elementValidator = validator._def.type;
@@ -167,7 +167,7 @@ function handleFormDataGet(
key: string,
formData: FormData,
validator: unknown,
- baseValidator: unknown
+ baseValidator: unknown,
) {
const value = formData.get(key);
if (!value) {
diff --git a/packages/astro/src/actions/runtime/virtual/shared.ts b/packages/astro/src/actions/runtime/virtual/shared.ts
index e00a89c68..962a0bec8 100644
--- a/packages/astro/src/actions/runtime/virtual/shared.ts
+++ b/packages/astro/src/actions/runtime/virtual/shared.ts
@@ -41,7 +41,7 @@ const codeToStatusMap: Record<ActionErrorCode, number> = {
const statusToCodeMap: Record<number, ActionErrorCode> = Object.entries(codeToStatusMap).reduce(
// reverse the key-value pairs
(acc, [key, value]) => ({ ...acc, [value]: key }),
- {}
+ {},
);
// T is used for error inference with SafeInput -> isInputError.
@@ -92,11 +92,11 @@ export function isActionError(error?: unknown): error is ActionError {
}
export function isInputError<T extends ErrorInferenceObject>(
- error?: ActionError<T>
+ error?: ActionError<T>,
): error is ActionInputError<T>;
export function isInputError(error?: unknown): error is ActionInputError<ErrorInferenceObject>;
export function isInputError<T extends ErrorInferenceObject>(
- error?: unknown | ActionError<T>
+ error?: unknown | ActionError<T>,
): error is ActionInputError<T> {
return (
typeof error === 'object' &&
@@ -146,7 +146,7 @@ export class ActionInputError<T extends ErrorInferenceObject> extends ActionErro
}
export async function callSafely<TOutput>(
- handler: () => MaybePromise<TOutput>
+ handler: () => MaybePromise<TOutput>,
): Promise<SafeResult<z.ZodType, TOutput>> {
try {
const data = await handler();
diff --git a/packages/astro/src/assets/build/generate.ts b/packages/astro/src/assets/build/generate.ts
index 52edeafbe..fcc19f4f5 100644
--- a/packages/astro/src/assets/build/generate.ts
+++ b/packages/astro/src/assets/build/generate.ts
@@ -48,7 +48,7 @@ type ImageData = { data: Uint8Array; expires: number };
export async function prepareAssetsGenerationEnv(
pipeline: BuildPipeline,
- totalCount: number
+ totalCount: number,
): Promise<AssetEnv> {
const { config, logger } = pipeline;
let useCache = true;
@@ -61,7 +61,7 @@ export async function prepareAssetsGenerationEnv(
} catch (err) {
logger.warn(
null,
- `An error was encountered while creating the cache directory. Proceeding without caching. Error: ${err}`
+ `An error was encountered while creating the cache directory. Proceeding without caching. Error: ${err}`,
);
useCache = false;
}
@@ -96,7 +96,7 @@ export async function generateImagesForPath(
originalFilePath: string,
transformsAndPath: MapValue<AssetsGlobalStaticImagesList>,
env: AssetEnv,
- queue: PQueue
+ queue: PQueue,
) {
const originalImageData = await loadImage(originalFilePath, env);
@@ -119,7 +119,7 @@ export async function generateImagesForPath(
if (transformsAndPath.originalSrcPath) {
env.logger.debug(
'assets',
- `Deleting ${originalFilePath} as it's not referenced outside of image processing.`
+ `Deleting ${originalFilePath} as it's not referenced outside of image processing.`,
);
await fs.promises.unlink(getFullImagePath(originalFilePath, env));
}
@@ -131,7 +131,7 @@ export async function generateImagesForPath(
async function generateImage(
originalImage: ImageData,
filepath: string,
- options: ImageTransform
+ options: ImageTransform,
) {
const timeStart = performance.now();
const generationData = await generateImageInternal(originalImage, filepath, options);
@@ -145,7 +145,7 @@ export async function generateImagesForPath(
const count = `(${env.count.current}/${env.count.total})`;
env.logger.info(
null,
- ` ${green('▶')} ${filepath} ${dim(statsText)} ${dim(timeIncrease)} ${dim(count)}`
+ ` ${green('▶')} ${filepath} ${dim(statsText)} ${dim(timeIncrease)} ${dim(count)}`,
);
env.count.current++;
}
@@ -153,7 +153,7 @@ export async function generateImagesForPath(
async function generateImageInternal(
originalImage: ImageData,
filepath: string,
- options: ImageTransform
+ options: ImageTransform,
): Promise<GenerationData> {
const isLocalImage = isESMImportedImage(options.src);
const finalFileURL = new URL('.' + filepath, env.clientRoot);
@@ -177,7 +177,7 @@ export async function generateImagesForPath(
await fs.promises.unlink(cachedFileURL);
throw new Error(
- `Malformed cache entry for ${filepath}, cache will be regenerated for this file.`
+ `Malformed cache entry for ${filepath}, cache will be regenerated for this file.`,
);
}
@@ -219,7 +219,7 @@ export async function generateImagesForPath(
await imageService.transform(
originalImage.data,
{ ...options, src: originalImagePath },
- env.imageConfig
+ env.imageConfig,
)
).data;
} catch (e) {
@@ -228,7 +228,7 @@ export async function generateImagesForPath(
...AstroErrorData.CouldNotTransformImage,
message: AstroErrorData.CouldNotTransformImage.message(originalFilePath),
},
- { cause: e }
+ { cause: e },
);
throw error;
@@ -245,14 +245,14 @@ export async function generateImagesForPath(
JSON.stringify({
data: Buffer.from(resultData.data).toString('base64'),
expires: resultData.expires,
- })
+ }),
);
}
}
} catch (e) {
env.logger.warn(
null,
- `An error was encountered while creating the cache directory. Proceeding without caching. Error: ${e}`
+ `An error was encountered while creating the cache directory. Proceeding without caching. Error: ${e}`,
);
} finally {
// Write the final file
diff --git a/packages/astro/src/assets/build/remote.ts b/packages/astro/src/assets/build/remote.ts
index c3d4bb9ba..08f8f4519 100644
--- a/packages/astro/src/assets/build/remote.ts
+++ b/packages/astro/src/assets/build/remote.ts
@@ -8,7 +8,7 @@ export async function loadRemoteImage(src: string) {
if (!res.ok) {
throw new Error(
- `Failed to load remote image ${src}. The request did not return a 200 OK response. (received ${res.status}))`
+ `Failed to load remote image ${src}. The request did not return a 200 OK response. (received ${res.status}))`,
);
}
diff --git a/packages/astro/src/assets/endpoint/generic.ts b/packages/astro/src/assets/endpoint/generic.ts
index 4180bffe2..5238f3721 100644
--- a/packages/astro/src/assets/endpoint/generic.ts
+++ b/packages/astro/src/assets/endpoint/generic.ts
@@ -60,7 +60,7 @@ export const GET: APIRoute = async ({ request }) => {
const { data, format } = await imageService.transform(
new Uint8Array(inputBuffer),
transform,
- imageConfig
+ imageConfig,
);
return new Response(data, {
diff --git a/packages/astro/src/assets/endpoint/node.ts b/packages/astro/src/assets/endpoint/node.ts
index ecbb75179..4c50fe95f 100644
--- a/packages/astro/src/assets/endpoint/node.ts
+++ b/packages/astro/src/assets/endpoint/node.ts
@@ -83,7 +83,7 @@ export const GET: APIRoute = async ({ request }) => {
if (!transform?.src) {
const err = new Error(
- 'Incorrect transform returned by `parseURL`. Expected a transform with a `src` property.'
+ 'Incorrect transform returned by `parseURL`. Expected a transform with a `src` property.',
);
console.error('Could not parse image transform from URL:', err);
return new Response('Internal Server Error', { status: 500 });
@@ -122,7 +122,7 @@ export const GET: APIRoute = async ({ request }) => {
import.meta.env.DEV ? `Could not process image request: ${err}` : `Internal Server Error`,
{
status: 500,
- }
+ },
);
}
};
diff --git a/packages/astro/src/assets/internal.ts b/packages/astro/src/assets/internal.ts
index 7265e85df..38afbf19f 100644
--- a/packages/astro/src/assets/internal.ts
+++ b/packages/astro/src/assets/internal.ts
@@ -33,7 +33,7 @@ export async function getConfiguredImageService(): Promise<ImageService> {
export async function getImage(
options: UnresolvedImageTransform,
- imageConfig: AstroConfig['image']
+ imageConfig: AstroConfig['image'],
): Promise<GetImageResult> {
if (!options || typeof options !== 'object') {
throw new AstroError({
@@ -47,7 +47,7 @@ export async function getImage(
message: AstroErrorData.ExpectedImage.message(
options.src,
'undefined',
- JSON.stringify(options)
+ JSON.stringify(options),
),
});
}
@@ -101,7 +101,7 @@ export async function getImage(
url: await service.getURL(srcSet.transform, imageConfig),
descriptor: srcSet.descriptor,
attributes: srcSet.attributes,
- }))
+ })),
);
if (
@@ -113,7 +113,7 @@ export async function getImage(
imageURL = globalThis.astroAsset.addStaticImage(
validatedOptions,
propsToHash,
- originalFilePath
+ originalFilePath,
);
srcSets = srcSetTransforms.map((srcSet) => ({
transform: srcSet.transform,
diff --git a/packages/astro/src/assets/services/service.ts b/packages/astro/src/assets/services/service.ts
index 0a4ff4064..9cd6d0ecb 100644
--- a/packages/astro/src/assets/services/service.ts
+++ b/packages/astro/src/assets/services/service.ts
@@ -47,7 +47,7 @@ interface SharedServiceProps<T extends Record<string, any> = Record<string, any>
*/
getSrcSet?: (
options: ImageTransform,
- imageConfig: ImageConfig<T>
+ imageConfig: ImageConfig<T>,
) => UnresolvedSrcSetValue[] | Promise<UnresolvedSrcSetValue[]>;
/**
* Return any additional HTML attributes separate from `src` that your service requires to show the image properly.
@@ -57,7 +57,7 @@ interface SharedServiceProps<T extends Record<string, any> = Record<string, any>
*/
getHTMLAttributes?: (
options: ImageTransform,
- imageConfig: ImageConfig<T>
+ imageConfig: ImageConfig<T>,
) => Record<string, any> | Promise<Record<string, any>>;
/**
* Validate and return the options passed by the user.
@@ -69,7 +69,7 @@ interface SharedServiceProps<T extends Record<string, any> = Record<string, any>
*/
validateOptions?: (
options: ImageTransform,
- imageConfig: ImageConfig<T>
+ imageConfig: ImageConfig<T>,
) => ImageTransform | Promise<ImageTransform>;
}
@@ -90,7 +90,7 @@ export interface LocalImageService<T extends Record<string, any> = Record<string
*/
parseURL: (
url: URL,
- imageConfig: ImageConfig<T>
+ imageConfig: ImageConfig<T>,
) => LocalImageTransform | undefined | Promise<LocalImageTransform> | Promise<undefined>;
/**
* Performs the image transformations on the input image and returns both the binary data and
@@ -99,7 +99,7 @@ export interface LocalImageService<T extends Record<string, any> = Record<string
transform: (
inputBuffer: Uint8Array,
transform: LocalImageTransform,
- imageConfig: ImageConfig<T>
+ imageConfig: ImageConfig<T>,
) => Promise<{ data: Uint8Array; format: ImageOutputFormat }>;
/**
@@ -148,7 +148,7 @@ export const baseService: Omit<LocalImageService, 'transform'> = {
message: AstroErrorData.ExpectedImage.message(
JSON.stringify(options.src),
typeof options.src,
- JSON.stringify(options, (_, v) => (v === undefined ? null : v))
+ JSON.stringify(options, (_, v) => (v === undefined ? null : v)),
),
});
}
@@ -188,7 +188,7 @@ export const baseService: Omit<LocalImageService, 'transform'> = {
message: AstroErrorData.UnsupportedImageFormat.message(
options.src.format,
options.src.src,
- VALID_SUPPORTED_FORMATS
+ VALID_SUPPORTED_FORMATS,
),
});
}
@@ -281,14 +281,14 @@ export const baseService: Omit<LocalImageService, 'transform'> = {
...densityWidths.map((width, index) => ({
maxTargetWidth: Math.min(width, maxWidth),
descriptor: `${densityValues[index]}x` as const,
- }))
+ })),
);
} else if (widths) {
allWidths.push(
...widths.map((width) => ({
maxTargetWidth: Math.min(width, maxWidth),
descriptor: `${width}w` as const,
- }))
+ })),
);
}
diff --git a/packages/astro/src/assets/services/squoosh.ts b/packages/astro/src/assets/services/squoosh.ts
index ddadaabf3..6eb78db4b 100644
--- a/packages/astro/src/assets/services/squoosh.ts
+++ b/packages/astro/src/assets/services/squoosh.ts
@@ -31,7 +31,7 @@ const qualityTable: Record<
async function getRotationForEXIF(
inputBuffer: Uint8Array,
- src?: string
+ src?: string,
): Promise<Operation | undefined> {
const meta = await imageMetadata(inputBuffer, src);
if (!meta) return undefined;
diff --git a/packages/astro/src/assets/utils/metadata.ts b/packages/astro/src/assets/utils/metadata.ts
index 645a2a5c6..d212bdeb7 100644
--- a/packages/astro/src/assets/utils/metadata.ts
+++ b/packages/astro/src/assets/utils/metadata.ts
@@ -4,7 +4,7 @@ import { lookup as probe } from '../utils/vendor/image-size/lookup.js';
export async function imageMetadata(
data: Uint8Array,
- src?: string
+ src?: string,
): Promise<Omit<ImageMetadata, 'src' | 'fsPath'>> {
try {
const result = probe(data);
diff --git a/packages/astro/src/assets/utils/node/emitAsset.ts b/packages/astro/src/assets/utils/node/emitAsset.ts
index 09a947538..b20ce4933 100644
--- a/packages/astro/src/assets/utils/node/emitAsset.ts
+++ b/packages/astro/src/assets/utils/node/emitAsset.ts
@@ -14,7 +14,7 @@ export async function emitESMImage(
_watchMode: boolean,
// FIX: in Astro 5, this function should not be passed in dev mode at all.
// Or rethink the API so that a function that throws isn't passed through.
- fileEmitter?: FileEmitter
+ fileEmitter?: FileEmitter,
): Promise<ImageMetadata | undefined> {
if (!id) {
return undefined;
diff --git a/packages/astro/src/assets/utils/queryParams.ts b/packages/astro/src/assets/utils/queryParams.ts
index 56bb4b3ff..b073c9786 100644
--- a/packages/astro/src/assets/utils/queryParams.ts
+++ b/packages/astro/src/assets/utils/queryParams.ts
@@ -1,7 +1,7 @@
import type { ImageInputFormat, ImageMetadata } from '../types.js';
export function getOrigQueryParams(
- params: URLSearchParams
+ params: URLSearchParams,
): Pick<ImageMetadata, 'width' | 'height' | 'format'> | undefined {
const width = params.get('origWidth');
const height = params.get('origHeight');
diff --git a/packages/astro/src/assets/utils/remotePattern.ts b/packages/astro/src/assets/utils/remotePattern.ts
index 3384e313e..5feefb89f 100644
--- a/packages/astro/src/assets/utils/remotePattern.ts
+++ b/packages/astro/src/assets/utils/remotePattern.ts
@@ -70,7 +70,7 @@ export function isRemoteAllowed(
{
domains = [],
remotePatterns = [],
- }: Partial<Pick<AstroConfig['image'], 'domains' | 'remotePatterns'>>
+ }: Partial<Pick<AstroConfig['image'], 'domains' | 'remotePatterns'>>,
): boolean {
if (!isRemotePath(src)) return false;
diff --git a/packages/astro/src/assets/utils/transformToPath.ts b/packages/astro/src/assets/utils/transformToPath.ts
index 9a91098cc..554761487 100644
--- a/packages/astro/src/assets/utils/transformToPath.ts
+++ b/packages/astro/src/assets/utils/transformToPath.ts
@@ -18,7 +18,7 @@ export function propsToFilename(filePath: string, transform: ImageTransform, has
export function hashTransform(
transform: ImageTransform,
imageService: string,
- propertiesToHash: string[]
+ propertiesToHash: string[],
) {
// Extract the fields we want to hash
const hashFields = propertiesToHash.reduce(
@@ -28,7 +28,7 @@ export function hashTransform(
acc[prop] = transform[prop];
return acc;
},
- { imageService } as Record<string, unknown>
+ { imageService } as Record<string, unknown>,
);
return shorthash(deterministicString(hashFields));
}
diff --git a/packages/astro/src/assets/vite-plugin-assets.ts b/packages/astro/src/assets/vite-plugin-assets.ts
index 949a6e672..4c9314e85 100644
--- a/packages/astro/src/assets/vite-plugin-assets.ts
+++ b/packages/astro/src/assets/vite-plugin-assets.ts
@@ -25,7 +25,7 @@ const resolvedVirtualModuleId = '\0' + VIRTUAL_MODULE_ID;
const assetRegex = new RegExp(`\\.(${VALID_INPUT_FORMATS.join('|')})`, 'i');
const assetRegexEnds = new RegExp(`\\.(${VALID_INPUT_FORMATS.join('|')})$`, 'i');
const addStaticImageFactory = (
- settings: AstroSettings
+ settings: AstroSettings,
): typeof globalThis.astroAsset.addStaticImage => {
return (options, hashProperties, originalFSPath) => {
if (!globalThis.astroAsset.staticImages) {
@@ -46,7 +46,7 @@ const addStaticImageFactory = (
// This is the path to the original image, from the dist root, without the base or the asset prefix (e.g. /_astro/image.hash.png)
const finalOriginalPath = removeBase(
removeBase(ESMImportedImageSrc, settings.config.base),
- assetPrefix
+ assetPrefix,
);
const hash = hashTransform(options, settings.config.image.service.entrypoint, hashProperties);
@@ -62,8 +62,8 @@ const addStaticImageFactory = (
finalFilePath = prependForwardSlash(
joinPaths(
isESMImportedImage(options.src) ? '' : settings.config.build.assets,
- prependForwardSlash(propsToFilename(finalOriginalPath, options, hash))
- )
+ prependForwardSlash(propsToFilename(finalOriginalPath, options, hash)),
+ ),
);
if (!transformsForPath) {
@@ -146,11 +146,11 @@ export default function assets({
new URL(
isServerLikeOutput(settings.config)
? settings.config.build.client
- : settings.config.outDir
- )
+ : settings.config.outDir,
+ ),
)});
export const assetsDir = /* #__PURE__ */ new URL(${JSON.stringify(
- settings.config.build.assets
+ settings.config.build.assets,
)}, outDir);
export const getImage = async (options) => await getImageInternal(options, imageConfig);
`;
@@ -235,7 +235,7 @@ export default function assets({
if (options?.ssr) {
return `export default ${getProxyCode(
imageMetadata,
- isServerLikeOutput(settings.config)
+ isServerLikeOutput(settings.config),
)}`;
} else {
globalThis.astroAsset.referencedImages.add(imageMetadata.fsPath);
diff --git a/packages/astro/src/cli/add/imports.ts b/packages/astro/src/cli/add/imports.ts
index bae8c7443..375ca1dd8 100644
--- a/packages/astro/src/cli/add/imports.ts
+++ b/packages/astro/src/cli/add/imports.ts
@@ -12,7 +12,7 @@ export function ensureImport(root: t.File, importDeclaration: t.ImportDeclaratio
if (specifier.local.name === specifierToFind.local.name) {
specifiersToFind.splice(i, 1);
}
- })
+ }),
);
}
},
diff --git a/packages/astro/src/cli/add/index.ts b/packages/astro/src/cli/add/index.ts
index 48cdb41a2..7d33fe33a 100644
--- a/packages/astro/src/cli/add/index.ts
+++ b/packages/astro/src/cli/add/index.ts
@@ -191,9 +191,9 @@ export async function add(names: string[], { flags }: AddOptions) {
'SKIP_FORMAT',
`\n ${magenta(
`Astro will scaffold ${green('./db/config.ts')}${magenta(' and ')}${green(
- './db/seed.ts'
- )}${magenta(' files.')}`
- )}\n`
+ './db/seed.ts',
+ )}${magenta(' files.')}`,
+ )}\n`,
);
if (await askToContinue({ flags })) {
@@ -205,7 +205,7 @@ export async function add(names: string[], { flags }: AddOptions) {
} else {
logger.info(
'SKIP_FORMAT',
- `\n Astro DB requires additional configuration. Please refer to https://astro.build/db/config`
+ `\n Astro DB requires additional configuration. Please refer to https://astro.build/db/config`,
);
}
} else {
@@ -235,8 +235,8 @@ export async function add(names: string[], { flags }: AddOptions) {
'SKIP_FORMAT',
msg.cancelled(
`Dependencies ${bold('NOT')} installed.`,
- `Be sure to install them manually before continuing!`
- )
+ `Be sure to install them manually before continuing!`,
+ ),
);
break;
}
@@ -273,8 +273,8 @@ export async function add(names: string[], { flags }: AddOptions) {
ast,
t.importDeclaration(
[t.importSpecifier(defineConfig, defineConfig)],
- t.stringLiteral('astro/config')
- )
+ t.stringLiteral('astro/config'),
+ ),
);
wrapDefaultExport(ast, defineConfig);
@@ -290,9 +290,9 @@ export async function add(names: string[], { flags }: AddOptions) {
'SKIP_FORMAT',
`\n ${magenta(
`Check our deployment docs for ${bold(
- integration.packageName
- )} to update your "adapter" config.`
- )}`
+ integration.packageName,
+ )} to update your "adapter" config.`,
+ )}`,
);
}
} else {
@@ -326,7 +326,7 @@ export async function add(names: string[], { flags }: AddOptions) {
case UpdateResult.cancelled: {
logger.info(
'SKIP_FORMAT',
- msg.cancelled(`Your configuration has ${bold('NOT')} been updated.`)
+ msg.cancelled(`Your configuration has ${bold('NOT')} been updated.`),
);
break;
}
@@ -338,7 +338,7 @@ export async function add(names: string[], { flags }: AddOptions) {
.then((res) => JSON.parse(res.toString()));
const deps = Object.keys(Object.assign(dependencies, devDependencies));
const missingDeps = integrations.filter(
- (integration) => !deps.includes(integration.packageName)
+ (integration) => !deps.includes(integration.packageName),
);
if (missingDeps.length === 0) {
logger.info('SKIP_FORMAT', msg.success(`Configuration up-to-date.`));
@@ -356,8 +356,8 @@ export async function add(names: string[], { flags }: AddOptions) {
msg.success(
`Added the following integration${
integrations.length === 1 ? '' : 's'
- } to your project:\n${list}`
- )
+ } to your project:\n${list}`,
+ ),
);
}
}
@@ -371,13 +371,13 @@ export async function add(names: string[], { flags }: AddOptions) {
case UpdateResult.cancelled: {
logger.info(
'SKIP_FORMAT',
- msg.cancelled(`Your TypeScript configuration has ${bold('NOT')} been updated.`)
+ msg.cancelled(`Your TypeScript configuration has ${bold('NOT')} been updated.`),
);
break;
}
case UpdateResult.failure: {
throw new Error(
- `Unknown error parsing tsconfig.json or jsconfig.json. Could not update TypeScript settings.`
+ `Unknown error parsing tsconfig.json or jsconfig.json. Could not update TypeScript settings.`,
);
}
default:
@@ -386,7 +386,7 @@ export async function add(names: string[], { flags }: AddOptions) {
}
function isAdapter(
- integration: IntegrationInfo
+ integration: IntegrationInfo,
): integration is IntegrationInfo & { type: 'adapter' } {
return integration.type === 'adapter';
}
@@ -445,8 +445,8 @@ async function addIntegration(ast: t.File, integration: IntegrationInfo) {
ast,
t.importDeclaration(
[t.importDefaultSpecifier(integrationId)],
- t.stringLiteral(integration.packageName)
- )
+ t.stringLiteral(integration.packageName),
+ ),
);
visit(ast, {
@@ -472,7 +472,7 @@ async function addIntegration(ast: t.File, integration: IntegrationInfo) {
if (!integrationsProp) {
configObject.properties.push(
- t.objectProperty(t.identifier('integrations'), t.arrayExpression([integrationCall]))
+ t.objectProperty(t.identifier('integrations'), t.arrayExpression([integrationCall])),
);
return;
}
@@ -484,7 +484,7 @@ async function addIntegration(ast: t.File, integration: IntegrationInfo) {
(expr) =>
t.isCallExpression(expr) &&
t.isIdentifier(expr.callee) &&
- expr.callee.name === integrationId.name
+ expr.callee.name === integrationId.name,
);
if (existingIntegrationCall) return;
@@ -499,7 +499,7 @@ async function setAdapter(ast: t.File, adapter: IntegrationInfo, exportName: str
ensureImport(
ast,
- t.importDeclaration([t.importDefaultSpecifier(adapterId)], t.stringLiteral(exportName))
+ t.importDeclaration([t.importDefaultSpecifier(adapterId)], t.stringLiteral(exportName)),
);
visit(ast, {
@@ -523,7 +523,7 @@ async function setAdapter(ast: t.File, adapter: IntegrationInfo, exportName: str
if (!outputProp) {
configObject.properties.push(
- t.objectProperty(t.identifier('output'), t.stringLiteral('server'))
+ t.objectProperty(t.identifier('output'), t.stringLiteral('server')),
);
}
@@ -610,7 +610,7 @@ async function updateAstroConfig({
logger.info(
'SKIP_FORMAT',
- `\n ${magenta('Astro will make the following changes to your config file:')}\n${message}`
+ `\n ${magenta('Astro will make the following changes to your config file:')}\n${message}`,
);
if (logAdapterInstructions) {
@@ -618,9 +618,9 @@ async function updateAstroConfig({
'SKIP_FORMAT',
magenta(
` For complete deployment options, visit\n ${bold(
- 'https://docs.astro.build/en/guides/deploy/'
- )}\n`
- )
+ 'https://docs.astro.build/en/guides/deploy/',
+ )}\n`,
+ ),
);
}
@@ -669,7 +669,7 @@ async function getInstallIntegrationsCommand({
}
async function convertIntegrationsToInstallSpecifiers(
- integrations: IntegrationInfo[]
+ integrations: IntegrationInfo[],
): Promise<string[]> {
const ranges: Record<string, string> = {};
for (let { packageName, dependencies } of integrations) {
@@ -679,7 +679,7 @@ async function convertIntegrationsToInstallSpecifiers(
}
}
return Promise.all(
- Object.entries(ranges).map(([name, range]) => resolveRangeToInstallSpecifier(name, range))
+ Object.entries(ranges).map(([name, range]) => resolveRangeToInstallSpecifier(name, range)),
);
}
@@ -749,8 +749,8 @@ async function tryToInstallIntegrations({
logger.info(
'SKIP_FORMAT',
`\n ${magenta('Astro will run the following command:')}\n ${dim(
- 'If you skip this step, you can always run it yourself later'
- )}\n${message}`
+ 'If you skip this step, you can always run it yourself later',
+ )}\n${message}`,
);
if (await askToContinue({ flags })) {
@@ -768,7 +768,7 @@ async function tryToInstallIntegrations({
cwd,
// reset NODE_ENV to ensure install command run in dev mode
env: { NODE_ENV: undefined },
- }
+ },
);
spinner.succeed();
return UpdateResult.updated;
@@ -817,8 +817,8 @@ async function validateIntegrations(integrations: string[]): Promise<Integration
if (!response.askToContinue) {
throw new Error(
`No problem! Find our official integrations at ${cyan(
- 'https://astro.build/integrations'
- )}`
+ 'https://astro.build/integrations',
+ )}`,
);
}
spinner.start('Resolving with third party packages...');
@@ -867,15 +867,15 @@ async function validateIntegrations(integrations: string[]): Promise<Integration
} else {
throw new Error(
`${bold(
- packageName
+ packageName,
)} doesn't appear to be an integration or an adapter. Find our official integrations at ${cyan(
- 'https://astro.build/integrations'
- )}`
+ 'https://astro.build/integrations',
+ )}`,
);
}
return { id: integration, packageName, dependencies, type: integrationType };
- })
+ }),
);
spinner.succeed();
return integrationEntries;
@@ -893,13 +893,13 @@ async function updateTSConfig(
cwd = process.cwd(),
logger: Logger,
integrationsInfo: IntegrationInfo[],
- flags: yargs.Arguments
+ flags: yargs.Arguments,
): Promise<UpdateResult> {
const integrations = integrationsInfo.map(
- (integration) => integration.id as frameworkWithTSSettings
+ (integration) => integration.id as frameworkWithTSSettings,
);
const firstIntegrationWithTSSettings = integrations.find((integration) =>
- presets.has(integration)
+ presets.has(integration),
);
if (!firstIntegrationWithTSSettings) {
@@ -926,7 +926,7 @@ async function updateTSConfig(
const outputConfig = updateTSConfigForFramework(
inputConfig.rawConfig,
- firstIntegrationWithTSSettings
+ firstIntegrationWithTSSettings,
);
const output = JSON.stringify(outputConfig, null, 2);
@@ -945,7 +945,7 @@ async function updateTSConfig(
logger.info(
'SKIP_FORMAT',
- `\n ${magenta(`Astro will make the following changes to your ${configFileName}:`)}\n${message}`
+ `\n ${magenta(`Astro will make the following changes to your ${configFileName}:`)}\n${message}`,
);
// Every major framework, apart from Vue and Svelte requires different `jsxImportSource`, as such it's impossible to config
@@ -961,11 +961,11 @@ async function updateTSConfig(
'SKIP_FORMAT',
red(
` ${bold(
- 'Caution:'
+ 'Caution:',
)} Selected UI frameworks require conflicting tsconfig.json settings, as such only settings for ${bold(
- firstIntegrationWithTSSettings
- )} were used.\n More information: https://docs.astro.build/en/guides/typescript/#errors-typing-multiple-jsx-frameworks-at-the-same-time\n`
- )
+ firstIntegrationWithTSSettings,
+ )} were used.\n More information: https://docs.astro.build/en/guides/typescript/#errors-typing-multiple-jsx-frameworks-at-the-same-time\n`,
+ ),
);
}
@@ -1046,7 +1046,7 @@ async function setupIntegrationConfig(opts: {
}) {
const logger = opts.logger;
const possibleConfigFiles = opts.possibleConfigFiles.map((p) =>
- fileURLToPath(new URL(p, opts.root))
+ fileURLToPath(new URL(p, opts.root)),
);
let alreadyConfigured = false;
for (const possibleConfigPath of possibleConfigFiles) {
@@ -1058,7 +1058,7 @@ async function setupIntegrationConfig(opts: {
if (!alreadyConfigured) {
logger.info(
'SKIP_FORMAT',
- `\n ${magenta(`Astro will generate a minimal ${bold(opts.defaultConfigFile)} file.`)}\n`
+ `\n ${magenta(`Astro will generate a minimal ${bold(opts.defaultConfigFile)} file.`)}\n`,
);
if (await askToContinue({ flags: opts.flags })) {
await fs.writeFile(
@@ -1066,7 +1066,7 @@ async function setupIntegrationConfig(opts: {
opts.defaultConfigContent,
{
encoding: 'utf-8',
- }
+ },
);
logger.debug('add', `Generated default ${opts.defaultConfigFile} file`);
}
diff --git a/packages/astro/src/cli/check/index.ts b/packages/astro/src/cli/check/index.ts
index 00bc3d11a..a95e1074a 100644
--- a/packages/astro/src/cli/check/index.ts
+++ b/packages/astro/src/cli/check/index.ts
@@ -12,14 +12,14 @@ export async function check(flags: Arguments) {
'@astrojs/check',
logger,
getPackageOpts,
- ['typescript']
+ ['typescript'],
);
const typescript = await getPackage('typescript', logger, getPackageOpts);
if (!checkPackage || !typescript) {
logger.error(
'check',
- 'The `@astrojs/check` and `typescript` packages are required for this command to work. Please manually install them into your project and try again.'
+ 'The `@astrojs/check` and `typescript` packages are required for this command to work. Please manually install them into your project and try again.',
);
return;
}
diff --git a/packages/astro/src/cli/db/index.ts b/packages/astro/src/cli/db/index.ts
index d7ac76efe..dc6da36e1 100644
--- a/packages/astro/src/cli/db/index.ts
+++ b/packages/astro/src/cli/db/index.ts
@@ -18,7 +18,7 @@ export async function db({ flags }: { flags: Arguments }) {
if (!dbPackage) {
logger.error(
'check',
- 'The `@astrojs/db` package is required for this command to work. Please manually install it in your project and try again.'
+ 'The `@astrojs/db` package is required for this command to work. Please manually install it in your project and try again.',
);
return;
}
diff --git a/packages/astro/src/cli/dev/index.ts b/packages/astro/src/cli/dev/index.ts
index 5db47fb97..531cddde4 100644
--- a/packages/astro/src/cli/dev/index.ts
+++ b/packages/astro/src/cli/dev/index.ts
@@ -23,7 +23,7 @@ export async function dev({ flags }: DevOptions) {
],
},
description: `Check ${cyan(
- 'https://docs.astro.build/en/reference/cli-reference/#astro-dev'
+ 'https://docs.astro.build/en/reference/cli-reference/#astro-dev',
)} for more information.`,
});
return;
diff --git a/packages/astro/src/cli/docs/open.ts b/packages/astro/src/cli/docs/open.ts
index 1227ebff4..3913ccec4 100644
--- a/packages/astro/src/cli/docs/open.ts
+++ b/packages/astro/src/cli/docs/open.ts
@@ -21,7 +21,7 @@ const getPlatformSpecificCommand = (): [string] | [string, string[]] => {
return ['/ide/bin/remote-cli/gitpod-code', ['--openExternal']];
default:
throw new Error(
- `It looks like your platform ("${platform}") isn't supported!\nTo view Astro's docs, please visit https://docs.astro.build`
+ `It looks like your platform ("${platform}") isn't supported!\nTo view Astro's docs, please visit https://docs.astro.build`,
);
}
};
diff --git a/packages/astro/src/cli/info/index.ts b/packages/astro/src/cli/info/index.ts
index 8a253f437..cb61e45bf 100644
--- a/packages/astro/src/cli/info/index.ts
+++ b/packages/astro/src/cli/info/index.ts
@@ -93,7 +93,7 @@ async function copyToClipboard(text: string) {
});
} catch {
console.error(
- colors.red(`\nSorry, something went wrong!`) + ` Please copy the text above manually.`
+ colors.red(`\nSorry, something went wrong!`) + ` Please copy the text above manually.`,
);
}
}
diff --git a/packages/astro/src/cli/install-package.ts b/packages/astro/src/cli/install-package.ts
index 46dfac4a3..637390ef3 100644
--- a/packages/astro/src/cli/install-package.ts
+++ b/packages/astro/src/cli/install-package.ts
@@ -21,7 +21,7 @@ export async function getPackage<T>(
packageName: string,
logger: Logger,
options: GetPackageOptions,
- otherDeps: string[] = []
+ otherDeps: string[] = [],
): Promise<T | undefined> {
try {
// Try to resolve with `createRequire` first to prevent ESM caching of the package
@@ -32,7 +32,7 @@ export async function getPackage<T>(
} catch {
if (options.optional) return undefined;
let message = `To continue, Astro requires the following dependency to be installed: ${bold(
- packageName
+ packageName,
)}.`;
if (ci.isCI) {
@@ -98,7 +98,7 @@ export async function getExecCommand(packageManager?: string): Promise<string> {
async function installPackage(
packageNames: string[],
options: GetPackageOptions,
- logger: Logger
+ logger: Logger,
): Promise<boolean> {
const cwd = options.cwd ?? process.cwd();
const packageManager = (await whichPm(cwd))?.name ?? 'npm';
@@ -120,8 +120,8 @@ async function installPackage(
logger.info(
'SKIP_FORMAT',
`\n ${magenta('Astro will run the following command:')}\n ${dim(
- 'If you skip this step, you can always run it yourself later'
- )}\n${message}`
+ 'If you skip this step, you can always run it yourself later',
+ )}\n${message}`,
);
let response;
@@ -144,7 +144,7 @@ async function installPackage(
await execa(
installCommand.pm,
[installCommand.command, ...installCommand.flags, ...installCommand.dependencies],
- { cwd: cwd }
+ { cwd: cwd },
);
spinner.succeed();
@@ -163,7 +163,7 @@ async function installPackage(
export async function fetchPackageJson(
scope: string | undefined,
name: string,
- tag: string
+ tag: string,
): Promise<Record<string, any> | Error> {
const packageName = `${scope ? `${scope}/` : ''}${name}`;
const registry = await getRegistry();
diff --git a/packages/astro/src/cli/preferences/index.ts b/packages/astro/src/cli/preferences/index.ts
index aa63690da..5735a9b6c 100644
--- a/packages/astro/src/cli/preferences/index.ts
+++ b/packages/astro/src/cli/preferences/index.ts
@@ -43,7 +43,7 @@ export async function preferences(
subcommand: string,
key: string,
value: string | undefined,
- { flags }: PreferencesOptions
+ { flags }: PreferencesOptions,
): Promise<number> {
applyPolyfill();
if (!isValidSubcommand(subcommand) || flags?.help || flags?.h) {
@@ -98,8 +98,8 @@ export async function preferences(
console.error(
msg.formatErrorMessage(
collectErrorMetadata(new Error(`Please provide a ${type} value for "${key}"`)),
- true
- )
+ true,
+ ),
);
return 1;
}
@@ -128,7 +128,7 @@ interface SubcommandOptions {
async function getPreference(
settings: AstroSettings,
key: PreferenceKey,
- { location = 'project' }: SubcommandOptions
+ { location = 'project' }: SubcommandOptions,
) {
try {
let value = await settings.preferences.get(key, { location });
@@ -155,7 +155,7 @@ async function setPreference(
settings: AstroSettings,
key: PreferenceKey,
value: unknown,
- { location }: SubcommandOptions
+ { location }: SubcommandOptions,
) {
try {
const defaultType = typeof dlv(DEFAULT_PREFERENCES, key);
@@ -178,7 +178,7 @@ async function setPreference(
async function enablePreference(
settings: AstroSettings,
key: PreferenceKey,
- { location }: SubcommandOptions
+ { location }: SubcommandOptions,
) {
try {
await settings.preferences.set(key, true, { location });
@@ -191,7 +191,7 @@ async function enablePreference(
async function disablePreference(
settings: AstroSettings,
key: PreferenceKey,
- { location }: SubcommandOptions
+ { location }: SubcommandOptions,
) {
try {
await settings.preferences.set(key, false, { location });
@@ -204,7 +204,7 @@ async function disablePreference(
async function resetPreference(
settings: AstroSettings,
key: PreferenceKey,
- { location }: SubcommandOptions
+ { location }: SubcommandOptions,
) {
try {
await settings.preferences.set(key, undefined as any, { location });
@@ -216,13 +216,13 @@ async function resetPreference(
function annotate(flat: Record<string, any>, annotation: string) {
return Object.fromEntries(
- Object.entries(flat).map(([key, value]) => [key, { annotation, value }])
+ Object.entries(flat).map(([key, value]) => [key, { annotation, value }]),
);
}
function userValues(
flatDefault: Record<string, string | number | boolean>,
flatProject: Record<string, string | number | boolean>,
- flatGlobal: Record<string, string | number | boolean>
+ flatGlobal: Record<string, string | number | boolean>,
) {
const result: AnnotatedValues = {};
for (const key of Object.keys(flatDefault)) {
@@ -289,8 +289,8 @@ async function listPreferences(settings: AstroSettings, { location, json }: Subc
) {
console.log(
yellow(
- 'The dev toolbar is currently disabled. To enable it, set devToolbar: {enabled: true} in your astroConfig file.'
- )
+ 'The dev toolbar is currently disabled. To enable it, set devToolbar: {enabled: true} in your astroConfig file.',
+ ),
);
}
@@ -327,7 +327,7 @@ function annotatedFormat(mv: AnnotatedValue) {
// this is the real formatting for annotated values
function formatAnnotated(
mv: AnnotatedValue,
- style: (value: string | number | boolean) => string = (v) => v.toString()
+ style: (value: string | number | boolean) => string = (v) => v.toString(),
) {
return mv.annotation ? `${style(mv.value)} ${dim(mv.annotation)}` : style(mv.value);
}
@@ -339,28 +339,28 @@ function formatTable(object: Record<string, AnnotatedValue>, columnLabels: [stri
i: number,
a: string,
b: AnnotatedValue,
- style: (value: string | number | boolean) => string = (v) => v.toString()
+ style: (value: string | number | boolean) => string = (v) => v.toString(),
): string {
return `${dim(chars.v)} ${style(a)} ${space(colALength - a.length - 2)} ${dim(
- chars.v
+ chars.v,
)} ${formatAnnotated(b, style)} ${space(colBLength - annotatedFormat(b).length - 3)} ${dim(
- chars.v
+ chars.v,
)}`;
}
const top = dim(
`${chars.topLeft}${chars.h.repeat(colALength + 1)}${chars.hBottom}${chars.h.repeat(
- colBLength
- )}${chars.topRight}`
+ colBLength,
+ )}${chars.topRight}`,
);
const bottom = dim(
`${chars.bottomLeft}${chars.h.repeat(colALength + 1)}${chars.hTop}${chars.h.repeat(
- colBLength
- )}${chars.bottomRight}`
+ colBLength,
+ )}${chars.bottomRight}`,
);
const divider = dim(
`${chars.vRightThick}${chars.hThick.repeat(colALength + 1)}${
chars.hThickCross
- }${chars.hThick.repeat(colBLength)}${chars.vLeftThick}`
+ }${chars.hThick.repeat(colBLength)}${chars.vLeftThick}`,
);
const rows: string[] = [top, formatRow(-1, colA, { value: colB, annotation: '' }, bold), divider];
let i = 0;
diff --git a/packages/astro/src/cli/preview/index.ts b/packages/astro/src/cli/preview/index.ts
index 0d569e2fb..387c1f241 100644
--- a/packages/astro/src/cli/preview/index.ts
+++ b/packages/astro/src/cli/preview/index.ts
@@ -23,7 +23,7 @@ export async function preview({ flags }: PreviewOptions) {
],
},
description: `Starts a local server to serve your static dist/ directory. Check ${cyan(
- 'https://docs.astro.build/en/reference/cli-reference/#astro-preview'
+ 'https://docs.astro.build/en/reference/cli-reference/#astro-preview',
)} for more information.`,
});
return;
diff --git a/packages/astro/src/config/index.ts b/packages/astro/src/config/index.ts
index fb97288a6..3c5faf2fa 100644
--- a/packages/astro/src/config/index.ts
+++ b/packages/astro/src/config/index.ts
@@ -8,7 +8,7 @@ export function defineConfig(config: AstroUserConfig) {
export function getViteConfig(
userViteConfig: ViteUserConfig,
- inlineAstroConfig: AstroInlineConfig = {}
+ inlineAstroConfig: AstroInlineConfig = {},
) {
// Return an async Vite config getter which exposes a resolved `mode` and `command`
return async ({ mode, command }: { mode: string; command: 'serve' | 'build' }) => {
@@ -48,7 +48,7 @@ export function getViteConfig(
astroContentListenPlugin({ settings, logger, fs }),
],
},
- { settings, logger, mode, sync: false }
+ { settings, logger, mode, sync: false },
);
await runHookConfigDone({ settings, logger });
return mergeConfig(viteConfig, userViteConfig);
diff --git a/packages/astro/src/container/index.ts b/packages/astro/src/container/index.ts
index d17ec7846..292b49ece 100644
--- a/packages/astro/src/container/index.ts
+++ b/packages/astro/src/container/index.ts
@@ -105,7 +105,7 @@ export type AddClientRenderer = {
function createManifest(
manifest?: AstroContainerManifest,
renderers?: SSRLoadedRenderer[],
- middleware?: MiddlewareHandler
+ middleware?: MiddlewareHandler,
): SSRManifest {
const defaultMiddleware: MiddlewareHandler = (_, next) => {
return next();
@@ -274,7 +274,7 @@ export class experimental_AstroContainer {
* @param {AstroContainerOptions=} containerOptions
*/
public static async create(
- containerOptions: AstroContainerOptions = {}
+ containerOptions: AstroContainerOptions = {},
): Promise<experimental_AstroContainer> {
const { streaming = false, manifest, renderers = [], resolve } = containerOptions;
const astroConfig = await validateConfig(ASTRO_CONFIG_DEFAULTS, process.cwd(), 'container');
@@ -315,7 +315,7 @@ export class experimental_AstroContainer {
if (!renderer.check || !renderer.renderToStaticMarkup) {
throw new Error(
"The renderer you passed isn't valid. A renderer is usually an object that exposes the `check` and `renderToStaticMarkup` functions.\n" +
- "Usually, the renderer is exported by a /server.js entrypoint e.g. `import renderer from '@astrojs/react/server.js'`"
+ "Usually, the renderer is exported by a /server.js entrypoint e.g. `import renderer from '@astrojs/react/server.js'`",
);
}
if (isNamedRenderer(renderer)) {
@@ -362,7 +362,7 @@ export class experimental_AstroContainer {
throw new Error(
'You tried to add the ' +
name +
- " client renderer, but its server renderer wasn't added. You must add the server renderer first. Use the `addServerRenderer` function."
+ " client renderer, but its server renderer wasn't added. You must add the server renderer first. Use the `addServerRenderer` function.",
);
}
const renderer = this.#pipeline.manifest.renderers[rendererIndex];
@@ -374,7 +374,7 @@ export class experimental_AstroContainer {
// NOTE: we keep this private via TS instead via `#` so it's still available on the surface, so we can play with it.
// @ematipico: I plan to use it for a possible integration that could help people
private static async createFromManifest(
- manifest: SSRManifest
+ manifest: SSRManifest,
): Promise<experimental_AstroContainer> {
const astroConfig = await validateConfig(ASTRO_CONFIG_DEFAULTS, process.cwd(), 'container');
const container = new experimental_AstroContainer({
@@ -431,7 +431,7 @@ export class experimental_AstroContainer {
*/
public async renderToString(
component: AstroComponentFactory,
- options: ContainerRenderOptions = {}
+ options: ContainerRenderOptions = {},
): Promise<string> {
const response = await this.renderToResponse(component, options);
return await response.text();
@@ -458,7 +458,7 @@ export class experimental_AstroContainer {
*/
public async renderToResponse(
component: AstroComponentFactory,
- options: ContainerRenderOptions = {}
+ options: ContainerRenderOptions = {},
): Promise<Response> {
const { routeType = 'page', slots } = options;
const request = options?.request ?? new Request('https://example.com/');
@@ -510,7 +510,7 @@ export class experimental_AstroContainer {
pattern: getPattern(
segments,
ASTRO_CONFIG_DEFAULTS.base,
- ASTRO_CONFIG_DEFAULTS.trailingSlash
+ ASTRO_CONFIG_DEFAULTS.trailingSlash,
),
prerender: false,
segments,
@@ -528,7 +528,7 @@ export class experimental_AstroContainer {
*/
#wrapComponent(
componentFactory: AstroComponentFactory,
- params?: Record<string, string | undefined>
+ params?: Record<string, string | undefined>,
): ComponentInstance {
if (params) {
return {
diff --git a/packages/astro/src/container/pipeline.ts b/packages/astro/src/container/pipeline.ts
index 1ad905bb5..ff2718b8f 100644
--- a/packages/astro/src/container/pipeline.ts
+++ b/packages/astro/src/container/pipeline.ts
@@ -41,7 +41,7 @@ export class ContainerPipeline extends Pipeline {
renderers,
resolve,
serverLike,
- streaming
+ streaming,
);
}
@@ -70,7 +70,7 @@ export class ContainerPipeline extends Pipeline {
async tryRewrite(
payload: RewritePayload,
- request: Request
+ request: Request,
): Promise<[RouteData, ComponentInstance, URL]> {
const [foundRoute, finalUrl] = findRouteToRewrite({
payload,
diff --git a/packages/astro/src/content/runtime-assets.ts b/packages/astro/src/content/runtime-assets.ts
index 42969042c..95b5092fe 100644
--- a/packages/astro/src/content/runtime-assets.ts
+++ b/packages/astro/src/content/runtime-assets.ts
@@ -6,7 +6,7 @@ import { emitESMImage } from '../assets/utils/node/emitAsset.js';
export function createImage(
pluginContext: PluginContext,
shouldEmitFile: boolean,
- entryFilePath: string
+ entryFilePath: string,
) {
return () => {
return z.string().transform(async (imagePath, ctx) => {
@@ -14,7 +14,7 @@ export function createImage(
const metadata = (await emitESMImage(
resolvedFilePath,
pluginContext.meta.watchMode,
- shouldEmitFile ? pluginContext.emitFile : undefined
+ shouldEmitFile ? pluginContext.emitFile : undefined,
)) as OmitBrand<ImageMetadata>;
if (!metadata) {
diff --git a/packages/astro/src/content/runtime.ts b/packages/astro/src/content/runtime.ts
index 6fd017c85..34d2f10e9 100644
--- a/packages/astro/src/content/runtime.ts
+++ b/packages/astro/src/content/runtime.ts
@@ -65,15 +65,15 @@ export function createGetCollection({
// eslint-disable-next-line no-console
console.warn(
`The collection ${JSON.stringify(
- collection
- )} does not exist or is empty. Ensure a collection directory with this name exists.`
+ collection,
+ )} does not exist or is empty. Ensure a collection directory with this name exists.`,
);
return [];
}
const lazyImports = Object.values(
type === 'content'
? contentCollectionToEntryMap[collection]
- : dataCollectionToEntryMap[collection]
+ : dataCollectionToEntryMap[collection],
);
let entries: any[] = [];
// Cache `getCollection()` calls in production only
@@ -106,8 +106,8 @@ export function createGetCollection({
collection: entry.collection,
data: entry.data,
};
- })
- )
+ }),
+ ),
);
cacheEntriesByCollection.set(collection, entries);
}
@@ -196,7 +196,7 @@ export function createGetEntry({
// Or pass a single object with the collection and identifier as properties.
// This means the first positional arg can have different shapes.
collectionOrLookupObject: string | EntryLookupObject,
- _lookupId?: string
+ _lookupId?: string,
): Promise<ContentEntryResult | DataEntryResult | undefined> {
let collection: string, lookupId: string;
if (typeof collectionOrLookupObject === 'string') {
@@ -249,7 +249,7 @@ export function createGetEntry({
export function createGetEntries(getEntry: ReturnType<typeof createGetEntry>) {
return async function getEntries(
- entries: { collection: string; id: string }[] | { collection: string; slug: string }[]
+ entries: { collection: string; id: string }[] | { collection: string; slug: string }[],
) {
return Promise.all(entries.map((e) => getEntry(e)));
};
@@ -332,8 +332,8 @@ async function render({
'Content',
propagationMod.Content,
props,
- slots
- )}`
+ slots,
+ )}`,
);
},
propagation: 'self',
@@ -374,7 +374,7 @@ export function createReference({ lookupMap }: { lookupMap: ContentLookupMap })
ctx.addIssue({
code: ZodIssueCode.custom,
message: `**${flattenedErrorPath}**: Reference to ${collection} invalid. Expected ${Object.keys(
- entries
+ entries,
)
.map((c) => JSON.stringify(c))
.join(' | ')}. Received ${JSON.stringify(lookupId)}.`,
diff --git a/packages/astro/src/content/server-listeners.ts b/packages/astro/src/content/server-listeners.ts
index 590d6f8c1..5d7868d58 100644
--- a/packages/astro/src/content/server-listeners.ts
+++ b/packages/astro/src/content/server-listeners.ts
@@ -29,8 +29,8 @@ export async function attachContentServerListeners({
logger.debug(
'content',
`Watching ${cyan(
- contentPaths.contentDir.href.replace(settings.config.root.href, '')
- )} for changes`
+ contentPaths.contentDir.href.replace(settings.config.root.href, ''),
+ )} for changes`,
);
const maybeTsConfigStats = await getTSConfigStatsWhenAllowJsFalse({ contentPaths, settings });
if (maybeTsConfigStats) warnAllowJsIsFalse({ ...maybeTsConfigStats, logger });
@@ -61,16 +61,16 @@ export async function attachContentServerListeners({
contentGenerator.queueEvent({ name: 'add', entry });
});
viteServer.watcher.on('addDir', (entry) =>
- contentGenerator.queueEvent({ name: 'addDir', entry })
+ contentGenerator.queueEvent({ name: 'addDir', entry }),
);
viteServer.watcher.on('change', (entry) =>
- contentGenerator.queueEvent({ name: 'change', entry })
+ contentGenerator.queueEvent({ name: 'change', entry }),
);
viteServer.watcher.on('unlink', (entry) => {
contentGenerator.queueEvent({ name: 'unlink', entry });
});
viteServer.watcher.on('unlinkDir', (entry) =>
- contentGenerator.queueEvent({ name: 'unlinkDir', entry })
+ contentGenerator.queueEvent({ name: 'unlinkDir', entry }),
);
}
}
@@ -87,12 +87,12 @@ function warnAllowJsIsFalse({
logger.warn(
'content',
`Make sure you have the ${bold('allowJs')} compiler option set to ${bold(
- 'true'
+ 'true',
)} in your ${bold(tsConfigFileName)} file to have autocompletion in your ${bold(
- contentConfigFileName
+ contentConfigFileName,
)} file. See ${underline(
- cyan('https://www.typescriptlang.org/tsconfig#allowJs')
- )} for more information.`
+ cyan('https://www.typescriptlang.org/tsconfig#allowJs'),
+ )} for more information.`,
);
}
@@ -104,7 +104,7 @@ async function getTSConfigStatsWhenAllowJsFalse({
settings: AstroSettings;
}) {
const isContentConfigJsFile = ['.js', '.mjs'].some((ext) =>
- contentPaths.config.url.pathname.endsWith(ext)
+ contentPaths.config.url.pathname.endsWith(ext),
);
if (!isContentConfigJsFile) return;
diff --git a/packages/astro/src/content/types-generator.ts b/packages/astro/src/content/types-generator.ts
index 3a646154d..ea0c3cc80 100644
--- a/packages/astro/src/content/types-generator.ts
+++ b/packages/astro/src/content/types-generator.ts
@@ -112,7 +112,7 @@ export async function createContentTypesGenerator({
async function handleEvent(event: ContentEvent): Promise<{ shouldGenerateTypes: boolean }> {
if (event.name === 'addDir' || event.name === 'unlinkDir') {
const collection = normalizePath(
- path.relative(fileURLToPath(contentPaths.contentDir), fileURLToPath(event.entry))
+ path.relative(fileURLToPath(contentPaths.contentDir), fileURLToPath(event.entry)),
);
const collectionKey = JSON.stringify(collection);
// If directory is multiple levels deep, it is not a collection. Ignore event.
@@ -137,7 +137,7 @@ export async function createContentTypesGenerator({
fileURLToPath(event.entry),
contentPaths,
contentEntryExts,
- dataEntryExts
+ dataEntryExts,
);
if (fileType === 'ignored') {
return { shouldGenerateTypes: false };
@@ -156,9 +156,9 @@ export async function createContentTypesGenerator({
'content',
`${bold(
normalizePath(
- path.relative(fileURLToPath(contentPaths.contentDir), fileURLToPath(event.entry))
- )
- )} must live in a ${bold('content/...')} collection subdirectory.`
+ path.relative(fileURLToPath(contentPaths.contentDir), fileURLToPath(event.entry)),
+ ),
+ )} must live in a ${bold('content/...')} collection subdirectory.`,
);
return { shouldGenerateTypes: false };
}
@@ -406,7 +406,7 @@ async function writeContentFiles({
message: AstroErrorData.ContentCollectionTypeMismatchError.message(
collectionKey,
collection.type,
- collectionConfig.type
+ collectionConfig.type,
),
hint:
collection.type === 'data'
@@ -438,7 +438,7 @@ async function writeContentFiles({
for (const entryKey of collectionEntryKeys) {
const entryMetadata = collection.entries[entryKey];
const renderType = `{ render(): Render[${JSON.stringify(
- path.extname(JSON.parse(entryKey))
+ path.extname(JSON.parse(entryKey)),
)}] }`;
const slugType = JSON.stringify(entryMetadata.slug);
@@ -479,14 +479,14 @@ async function writeContentFiles({
dateStrategy: ['format:date-time', 'format:date', 'integer'],
}),
null,
- 2
- )
+ 2,
+ ),
);
} catch (err) {
// This should error gracefully and not crash the dev server
logger.warn(
'content',
- `An error was encountered while creating the JSON schema for the ${collectionKey} collection. Proceeding without it. Error: ${err}`
+ `An error was encountered while creating the JSON schema for the ${collectionKey} collection. Proceeding without it. Error: ${err}`,
);
}
}
@@ -500,7 +500,7 @@ async function writeContentFiles({
const configPathRelativeToCacheDir = normalizeConfigPath(
settings.dotAstroDir.pathname,
- contentPaths.config.url.pathname
+ contentPaths.config.url.pathname,
);
for (const contentEntryType of contentEntryTypes) {
@@ -512,11 +512,11 @@ async function writeContentFiles({
typeTemplateContent = typeTemplateContent.replace('// @@DATA_ENTRY_MAP@@', dataTypesStr);
typeTemplateContent = typeTemplateContent.replace(
"'@@CONTENT_CONFIG_TYPE@@'",
- contentConfig ? `typeof import(${configPathRelativeToCacheDir})` : 'never'
+ contentConfig ? `typeof import(${configPathRelativeToCacheDir})` : 'never',
);
await fs.promises.writeFile(
new URL(CONTENT_TYPES_FILE, settings.dotAstroDir),
- typeTemplateContent
+ typeTemplateContent,
);
}
diff --git a/packages/astro/src/content/utils.ts b/packages/astro/src/content/utils.ts
index a38aee0d1..ce6dc63ca 100644
--- a/packages/astro/src/content/utils.ts
+++ b/packages/astro/src/content/utils.ts
@@ -76,7 +76,7 @@ export async function getEntryData(
},
collectionConfig: CollectionConfig,
shouldEmitFile: boolean,
- pluginContext: PluginContext
+ pluginContext: PluginContext,
) {
let data;
if (collectionConfig.type === 'data') {
@@ -127,7 +127,7 @@ export async function getEntryData(
message: AstroErrorData.InvalidContentEntryFrontmatterError.message(
entry.collection,
entry.id,
- parsed.error
+ parsed.error,
),
location: {
file: entry._internal.filePath,
@@ -151,7 +151,7 @@ export function getDataEntryExts(settings: Pick<AstroSettings, 'dataEntryTypes'>
}
export function getEntryConfigByExtMap<TEntryType extends ContentEntryType | DataEntryType>(
- entryTypes: TEntryType[]
+ entryTypes: TEntryType[],
): Map<string, TEntryType> {
const map = new Map<string, TEntryType>();
for (const entryType of entryTypes) {
@@ -248,7 +248,7 @@ export function getDataEntryId({
const relativePath = getRelativeEntryPath(entry, collection, contentDir);
const withoutFileExt = normalizePath(relativePath).replace(
new RegExp(path.extname(relativePath) + '$'),
- ''
+ '',
);
return withoutFileExt;
@@ -290,7 +290,7 @@ export function getEntryType(
entryPath: string,
paths: Pick<ContentPaths, 'config' | 'contentDir'>,
contentFileExts: string[],
- dataFileExts: string[]
+ dataFileExts: string[],
): 'content' | 'data' | 'config' | 'ignored' {
const { ext } = path.parse(entryPath);
const fileUrl = pathToFileURL(entryPath);
@@ -310,7 +310,7 @@ export function getEntryType(
function hasUnderscoreBelowContentDirectoryPath(
fileUrl: URL,
- contentDir: ContentPaths['contentDir']
+ contentDir: ContentPaths['contentDir'],
): boolean {
const parts = fileUrl.pathname.replace(contentDir.pathname, '').split('/');
for (const part of parts) {
@@ -324,7 +324,7 @@ function getYAMLErrorLine(rawData: string | undefined, objectKey: string) {
const indexOfObjectKey = rawData.search(
// Match key either at the top of the file or after a newline
// Ensures matching on top-level object keys only
- new RegExp(`(\n|^)${objectKey}`)
+ new RegExp(`(\n|^)${objectKey}`),
);
if (indexOfObjectKey === -1) return 0;
@@ -485,7 +485,7 @@ export type ContentPaths = {
export function getContentPaths(
{ srcDir }: Pick<AstroConfig, 'root' | 'srcDir'>,
- fs: typeof fsMod = fsMod
+ fs: typeof fsMod = fsMod,
): ContentPaths {
const configStats = search(fs, srcDir);
const pkgBase = new URL('../../', import.meta.url);
@@ -499,7 +499,7 @@ export function getContentPaths(
}
function search(fs: typeof fsMod, srcDir: URL) {
const paths = ['config.mjs', 'config.js', 'config.mts', 'config.ts'].map(
- (p) => new URL(`./content/${p}`, srcDir)
+ (p) => new URL(`./content/${p}`, srcDir),
);
for (const file of paths) {
if (fs.existsSync(file)) {
diff --git a/packages/astro/src/content/vite-plugin-content-assets.ts b/packages/astro/src/content/vite-plugin-content-assets.ts
index cba907bbf..dd6dacc7c 100644
--- a/packages/astro/src/content/vite-plugin-content-assets.ts
+++ b/packages/astro/src/content/vite-plugin-content-assets.ts
@@ -77,7 +77,7 @@ export function astroContentAssetPropagationPlugin({
: await getScriptsForURL(
pathToFileURL(basePath),
settings.config.root,
- devModuleLoader
+ devModuleLoader,
);
// Register files we crawled to be able to retrieve the rendered styles and scripts,
@@ -127,7 +127,7 @@ export function astroContentAssetPropagationPlugin({
export function astroConfigBuildPlugin(
options: StaticBuildOptions,
- internals: BuildInternals
+ internals: BuildInternals,
): AstroBuildPlugin {
return {
targets: ['server'],
@@ -176,7 +176,7 @@ export function astroConfigBuildPlugin(
if (entryStyles.size) {
newCode = newCode.replace(
JSON.stringify(STYLES_PLACEHOLDER),
- JSON.stringify(Array.from(entryStyles))
+ JSON.stringify(Array.from(entryStyles)),
);
} else {
newCode = newCode.replace(JSON.stringify(STYLES_PLACEHOLDER), '[]');
@@ -184,7 +184,7 @@ export function astroConfigBuildPlugin(
if (entryLinks.size) {
newCode = newCode.replace(
JSON.stringify(LINKS_PLACEHOLDER),
- JSON.stringify(Array.from(entryLinks).map(prependBase))
+ JSON.stringify(Array.from(entryLinks).map(prependBase)),
);
} else {
newCode = newCode.replace(JSON.stringify(LINKS_PLACEHOLDER), '[]');
@@ -210,8 +210,8 @@ export function astroConfigBuildPlugin(
type: 'module',
},
children: '',
- }))
- )
+ })),
+ ),
);
} else {
newCode = newCode.replace(JSON.stringify(SCRIPTS_PLACEHOLDER), '[]');
diff --git a/packages/astro/src/content/vite-plugin-content-imports.ts b/packages/astro/src/content/vite-plugin-content-imports.ts
index 91f411f07..de642329a 100644
--- a/packages/astro/src/content/vite-plugin-content-imports.ts
+++ b/packages/astro/src/content/vite-plugin-content-imports.ts
@@ -39,7 +39,7 @@ import {
function getContentRendererByViteId(
viteId: string,
- settings: Pick<AstroSettings, 'contentEntryTypes'>
+ settings: Pick<AstroSettings, 'contentEntryTypes'>,
): ContentEntryType['getRenderModule'] | undefined {
let ext = viteId.split('.').pop();
if (!ext) return undefined;
@@ -215,7 +215,7 @@ type GetEntryModuleParams<TEntryType extends ContentEntryType | DataEntryType> =
};
async function getContentEntryModule(
- params: GetEntryModuleParams<ContentEntryType>
+ params: GetEntryModuleParams<ContentEntryType>,
): Promise<ContentEntryModule> {
const { fileId, contentDir, pluginContext } = params;
const { collectionConfig, entryConfig, entry, rawContents, collection } =
@@ -245,7 +245,7 @@ async function getContentEntryModule(
{ id, collection, _internal, unvalidatedData },
collectionConfig,
params.shouldEmitFile,
- pluginContext
+ pluginContext,
)
: unvalidatedData;
@@ -262,7 +262,7 @@ async function getContentEntryModule(
}
async function getDataEntryModule(
- params: GetEntryModuleParams<DataEntryType>
+ params: GetEntryModuleParams<DataEntryType>,
): Promise<DataEntryModule> {
const { fileId, contentDir, pluginContext } = params;
const { collectionConfig, entryConfig, entry, rawContents, collection } =
@@ -280,7 +280,7 @@ async function getDataEntryModule(
{ id, collection, _internal, unvalidatedData },
collectionConfig,
params.shouldEmitFile,
- pluginContext
+ pluginContext,
)
: unvalidatedData;
@@ -320,7 +320,7 @@ async function getEntryModuleBaseInfo<TEntryType extends ContentEntryType | Data
throw new AstroError({
...AstroErrorData.UnknownContentCollectionError,
message: `No parser found for data entry ${JSON.stringify(
- fileId
+ fileId,
)}. Did you apply an integration for this file type?`,
});
}
diff --git a/packages/astro/src/content/vite-plugin-content-virtual-mod.ts b/packages/astro/src/content/vite-plugin-content-virtual-mod.ts
index 03d13a3d7..8c5365368 100644
--- a/packages/astro/src/content/vite-plugin-content-virtual-mod.ts
+++ b/packages/astro/src/content/vite-plugin-content-virtual-mod.ts
@@ -129,21 +129,21 @@ export async function generateContentEntryFile({
`import.meta.glob(${JSON.stringify(value)}, { query: { ${flag}: true } })`;
contentEntryGlobResult = createGlob(
globWithUnderscoresIgnored(relContentDir, contentEntryExts),
- CONTENT_FLAG
+ CONTENT_FLAG,
);
dataEntryGlobResult = createGlob(
globWithUnderscoresIgnored(relContentDir, dataEntryExts),
- DATA_FLAG
+ DATA_FLAG,
);
renderEntryGlobResult = createGlob(
globWithUnderscoresIgnored(relContentDir, contentEntryExts),
- CONTENT_RENDER_FLAG
+ CONTENT_RENDER_FLAG,
);
} else {
contentEntryGlobResult = getStringifiedCollectionFromLookup(
'content',
relContentDir,
- lookupMap
+ lookupMap,
);
dataEntryGlobResult = getStringifiedCollectionFromLookup('data', relContentDir, lookupMap);
renderEntryGlobResult = getStringifiedCollectionFromLookup('render', relContentDir, lookupMap);
@@ -168,7 +168,7 @@ console.warn('astro:content is only supported running server-side. Using it in t
function getStringifiedCollectionFromLookup(
wantedType: 'content' | 'data' | 'render',
relContentDir: string,
- lookupMap: ContentLookupMap
+ lookupMap: ContentLookupMap,
) {
let str = '{';
// In dev, we don't need to normalize the import specifier at all. Vite handles it.
@@ -226,7 +226,7 @@ export async function generateLookupMap({
absolute: true,
cwd: fileURLToPath(root),
fs,
- }
+ },
);
// Run 10 at a time to prevent `await getEntrySlug` from accessing the filesystem all at once.
@@ -276,7 +276,7 @@ export async function generateLookupMap({
collection,
slug,
lookupMap[collection].entries[slug],
- rootRelativePath(root, filePath)
+ rootRelativePath(root, filePath),
),
hint:
slug !== generatedSlug
@@ -301,7 +301,7 @@ export async function generateLookupMap({
},
};
}
- })
+ }),
);
}
diff --git a/packages/astro/src/core/app/createOutgoingHttpHeaders.ts b/packages/astro/src/core/app/createOutgoingHttpHeaders.ts
index e9cb3e1ca..64d2d5135 100644
--- a/packages/astro/src/core/app/createOutgoingHttpHeaders.ts
+++ b/packages/astro/src/core/app/createOutgoingHttpHeaders.ts
@@ -8,7 +8,7 @@ import type { OutgoingHttpHeaders } from 'node:http';
* @returns {OutgoingHttpHeaders} NodeJS OutgoingHttpHeaders object with multiple set-cookie handled as an array of values
*/
export const createOutgoingHttpHeaders = (
- headers: Headers | undefined | null
+ headers: Headers | undefined | null,
): OutgoingHttpHeaders | undefined => {
if (!headers) {
return undefined;
diff --git a/packages/astro/src/core/app/index.ts b/packages/astro/src/core/app/index.ts
index 42027098f..d19a4da7d 100644
--- a/packages/astro/src/core/app/index.ts
+++ b/packages/astro/src/core/app/index.ts
@@ -95,7 +95,7 @@ export class App {
this.#pipeline = this.#createPipeline(this.#manifestData, streaming);
this.#adapterLogger = new AstroIntegrationLogger(
this.#logger.options,
- this.#manifest.adapterName
+ this.#manifest.adapterName,
);
}
@@ -114,7 +114,7 @@ export class App {
if (this.#manifest.checkOrigin) {
this.#manifest.middleware = sequence(
createOriginCheckMiddleware(),
- this.#manifest.middleware
+ this.#manifest.middleware,
);
}
@@ -209,7 +209,7 @@ export class App {
let locale;
const hostAsUrl = new URL(`${protocol}//${host}`);
for (const [domainKey, localeValue] of Object.entries(
- this.#manifest.i18n.domainLookupTable
+ this.#manifest.i18n.domainLookupTable,
)) {
// This operation should be safe because we force the protocol via zod inside the configuration
// If not, then it means that the manifest was tampered
@@ -226,7 +226,7 @@ export class App {
if (locale) {
pathname = prependForwardSlash(
- joinPaths(normalizeTheLocale(locale), this.removeBase(url.pathname))
+ joinPaths(normalizeTheLocale(locale), this.removeBase(url.pathname)),
);
if (url.pathname.endsWith('/')) {
pathname = appendForwardSlash(pathname);
@@ -235,7 +235,7 @@ export class App {
} catch (e: any) {
this.#logger.error(
'router',
- `Astro tried to parse ${protocol}//${host} as an URL, but it threw a parsing error. Check the X-Forwarded-Host and X-Forwarded-Proto headers.`
+ `Astro tried to parse ${protocol}//${host} as an URL, but it threw a parsing error. Check the X-Forwarded-Host and X-Forwarded-Proto headers.`,
);
this.#logger.error('router', `Error: ${e}`);
}
@@ -253,7 +253,7 @@ export class App {
async render(
request: Request,
routeDataOrOptions?: RouteData | RenderOptions,
- maybeLocals?: object
+ maybeLocals?: object,
): Promise<Response> {
let routeData: RouteData | undefined;
let locals: object | undefined;
@@ -290,7 +290,7 @@ export class App {
this.#logger.debug(
'router',
'The adapter ' + this.#manifest.adapterName + ' provided a custom RouteData for ',
- request.url
+ request.url,
);
this.#logger.debug('router', 'RouteData:\n' + routeData);
}
@@ -370,7 +370,7 @@ export class App {
if (this.#renderOptionsDeprecationWarningShown) return;
this.#logger.warn(
'deprecated',
- `The adapter ${this.#manifest.adapterName} is using a deprecated signature of the 'app.render()' method. From Astro 4.0, locals and routeData are provided as properties on an optional object to this method. Using the old signature will cause an error in Astro 5.0. See https://github.com/withastro/astro/pull/9199 for more information.`
+ `The adapter ${this.#manifest.adapterName} is using a deprecated signature of the 'app.render()' method. From Astro 4.0, locals and routeData are provided as properties on an optional object to this method. Using the old signature will cause an error in Astro 5.0. See https://github.com/withastro/astro/pull/9199 for more information.`,
);
this.#renderOptionsDeprecationWarningShown = true;
}
@@ -404,7 +404,7 @@ export class App {
response: originalResponse,
skipMiddleware = false,
error,
- }: RenderErrorOptions
+ }: RenderErrorOptions,
): Promise<Response> {
const errorRoutePath = `/${status}${this.#manifest.trailingSlash === 'always' ? '/' : ''}`;
const errorRouteData = matchRoute(errorRoutePath, this.#manifestData);
@@ -414,7 +414,7 @@ export class App {
const maybeDotHtml = errorRouteData.route.endsWith(`/${status}`) ? '.html' : '';
const statusURL = new URL(
`${this.#baseWithoutTrailingSlash}/${status}${maybeDotHtml}`,
- url
+ url,
);
const response = await fetch(statusURL.toString());
@@ -459,7 +459,7 @@ export class App {
#mergeResponses(
newResponse: Response,
originalResponse?: Response,
- override?: { status: 404 | 500 }
+ override?: { status: 404 | 500 },
) {
if (!originalResponse) {
if (override !== undefined) {
diff --git a/packages/astro/src/core/app/node.ts b/packages/astro/src/core/app/node.ts
index 537c7f5e7..f9afa6189 100644
--- a/packages/astro/src/core/app/node.ts
+++ b/packages/astro/src/core/app/node.ts
@@ -37,7 +37,7 @@ export class NodeApp extends App {
render(
req: NodeRequest | Request,
routeDataOrOptions?: RouteData | RenderOptions,
- maybeLocals?: object
+ maybeLocals?: object,
) {
if (!(req instanceof Request)) {
req = NodeApp.createRequest(req);
@@ -120,7 +120,7 @@ export class NodeApp extends App {
// eslint-disable-next-line no-console
console.error(
`There was an uncaught error in the middle of the stream while rendering ${destination.req.url}.`,
- err
+ err,
);
});
});
diff --git a/packages/astro/src/core/app/pipeline.ts b/packages/astro/src/core/app/pipeline.ts
index 64c2fdcb8..b784ba916 100644
--- a/packages/astro/src/core/app/pipeline.ts
+++ b/packages/astro/src/core/app/pipeline.ts
@@ -36,7 +36,7 @@ export class AppPipeline extends Pipeline {
| 'serverLike'
| 'streaming'
| 'defaultRoutes'
- >
+ >,
) {
const pipeline = new AppPipeline(
logger,
@@ -55,7 +55,7 @@ export class AppPipeline extends Pipeline {
undefined,
undefined,
false,
- defaultRoutes
+ defaultRoutes,
);
pipeline.#manifestData = manifestData;
return pipeline;
@@ -93,7 +93,7 @@ export class AppPipeline extends Pipeline {
async tryRewrite(
payload: RewritePayload,
request: Request,
- _sourceRoute: RouteData
+ _sourceRoute: RouteData,
): Promise<[RouteData, ComponentInstance, URL]> {
const [foundRoute, finalUrl] = findRouteToRewrite({
payload,
@@ -125,7 +125,7 @@ export class AppPipeline extends Pipeline {
const importComponentInstance = this.manifest.pageMap.get(route.component);
if (!importComponentInstance) {
throw new Error(
- `Unexpectedly unable to find a component instance for route ${route.route}`
+ `Unexpectedly unable to find a component instance for route ${route.route}`,
);
}
return await importComponentInstance();
@@ -133,7 +133,7 @@ export class AppPipeline extends Pipeline {
return this.manifest.pageModule;
}
throw new Error(
- "Astro couldn't find the correct page to render, probably because it wasn't correctly mapped for SSR usage. This is an internal error, please file an issue."
+ "Astro couldn't find the correct page to render, probably because it wasn't correctly mapped for SSR usage. This is an internal error, please file an issue.",
);
}
}
diff --git a/packages/astro/src/core/base-pipeline.ts b/packages/astro/src/core/base-pipeline.ts
index b3884b841..01e18bfa0 100644
--- a/packages/astro/src/core/base-pipeline.ts
+++ b/packages/astro/src/core/base-pipeline.ts
@@ -58,13 +58,13 @@ export abstract class Pipeline {
* Array of built-in, internal, routes.
* Used to find the route module
*/
- readonly defaultRoutes = createDefaultRoutes(manifest)
+ readonly defaultRoutes = createDefaultRoutes(manifest),
) {
this.internalMiddleware = [];
// We do use our middleware only if the user isn't using the manual setup
if (i18n?.strategy !== 'manual') {
this.internalMiddleware.push(
- createI18nMiddleware(i18n, manifest.base, manifest.trailingSlash, manifest.buildFormat)
+ createI18nMiddleware(i18n, manifest.base, manifest.trailingSlash, manifest.buildFormat),
);
}
// In SSR, getSecret should fail by default. Setting it here will run before the
@@ -94,7 +94,7 @@ export abstract class Pipeline {
abstract tryRewrite(
rewritePayload: RewritePayload,
request: Request,
- sourceRoute: RouteData
+ sourceRoute: RouteData,
): Promise<[RouteData, ComponentInstance, URL]>;
/**
diff --git a/packages/astro/src/core/build/add-rollup-input.ts b/packages/astro/src/core/build/add-rollup-input.ts
index f45aef731..073fb5582 100644
--- a/packages/astro/src/core/build/add-rollup-input.ts
+++ b/packages/astro/src/core/build/add-rollup-input.ts
@@ -10,7 +10,7 @@ function fromEntries<V>(entries: [string, V][]) {
export function addRollupInput(
inputOptions: Rollup.InputOptions,
- newInputs: string[]
+ newInputs: string[],
): Rollup.InputOptions {
// Add input module ids to existing input option, whether it's a string, array or object
// this way you can use multiple html plugins all adding their own inputs
diff --git a/packages/astro/src/core/build/common.ts b/packages/astro/src/core/build/common.ts
index badfa561e..a479aed39 100644
--- a/packages/astro/src/core/build/common.ts
+++ b/packages/astro/src/core/build/common.ts
@@ -17,7 +17,7 @@ function getOutRoot(astroConfig: AstroConfig): URL {
export function getOutFolder(
astroConfig: AstroConfig,
pathname: string,
- routeData: RouteData
+ routeData: RouteData,
): URL {
const outRoot = getOutRoot(astroConfig);
const routeType = routeData.type;
@@ -59,7 +59,7 @@ export function getOutFile(
astroConfig: AstroConfig,
outFolder: URL,
pathname: string,
- routeData: RouteData
+ routeData: RouteData,
): URL {
const routeType = routeData.type;
switch (routeType) {
diff --git a/packages/astro/src/core/build/css-asset-name.ts b/packages/astro/src/core/build/css-asset-name.ts
index 1876c0877..fbee7f2e2 100644
--- a/packages/astro/src/core/build/css-asset-name.ts
+++ b/packages/astro/src/core/build/css-asset-name.ts
@@ -21,7 +21,7 @@ export function shortHashedName(settings: AstroSettings) {
return createNameHash(
getFirstParentId(parents),
parents.map((page) => page.id),
- settings
+ settings,
);
};
}
@@ -29,7 +29,7 @@ export function shortHashedName(settings: AstroSettings) {
export function createNameHash(
baseId: string | undefined,
hashIds: string[],
- settings: AstroSettings
+ settings: AstroSettings,
): string {
const baseName = baseId ? prettifyBaseName(npath.parse(baseId).name) : 'index';
const hash = crypto.createHash('sha256');
diff --git a/packages/astro/src/core/build/generate.ts b/packages/astro/src/core/build/generate.ts
index e3fca6120..5897ba7e4 100644
--- a/packages/astro/src/core/build/generate.ts
+++ b/packages/astro/src/core/build/generate.ts
@@ -69,14 +69,14 @@ export async function generatePages(options: StaticBuildOptions, internals: Buil
// middleware.mjs is not emitted if there is no user middleware
// in which case the import fails with ERR_MODULE_NOT_FOUND, and we fall back to a no-op middleware
middleware = await import(new URL('middleware.mjs', baseDirectory).toString()).then(
- (mod) => mod.onRequest
+ (mod) => mod.onRequest,
);
} catch {}
manifest = createBuildManifest(
options.settings,
internals,
renderers.renderers as SSRLoadedRenderer[],
- middleware
+ middleware,
);
}
const pipeline = BuildPipeline.create({ internals, manifest, options });
@@ -118,7 +118,7 @@ export async function generatePages(options: StaticBuildOptions, internals: Buil
} else {
const ssrEntryURLPage = createEntryURL(filePath, outFolder);
throw new Error(
- `Unable to find the manifest for the module ${ssrEntryURLPage.toString()}. This is unexpected and likely a bug in Astro, please report.`
+ `Unable to find the manifest for the module ${ssrEntryURLPage.toString()}. This is unexpected and likely a bug in Astro, please report.`,
);
}
} else {
@@ -135,7 +135,7 @@ export async function generatePages(options: StaticBuildOptions, internals: Buil
}
logger.info(
null,
- green(`✓ Completed in ${getTimeStat(generatePagesTimer, performance.now())}.\n`)
+ green(`✓ Completed in ${getTimeStat(generatePagesTimer, performance.now())}.\n`),
);
const staticImageList = getStaticImageList();
@@ -170,7 +170,7 @@ async function generatePage(
pageData: PageBuildData,
ssrEntry: SinglePageBuiltModule,
builtPaths: Set<string>,
- pipeline: BuildPipeline
+ pipeline: BuildPipeline,
) {
// prepare information we need
const { config, logger } = pipeline;
@@ -186,7 +186,7 @@ async function generatePage(
const scripts = pageData.hoistedScript ?? null;
if (!pageModulePromise) {
throw new Error(
- `Unable to find the module for ${pageData.component}. This is unexpected and likely a bug in Astro, please report.`
+ `Unable to find the module for ${pageData.component}. This is unexpected and likely a bug in Astro, please report.`,
);
}
const pageModule = await pageModulePromise();
@@ -241,7 +241,7 @@ async function getPathsForRoute(
route: RouteData,
mod: ComponentInstance,
pipeline: BuildPipeline,
- builtPaths: Set<string>
+ builtPaths: Set<string>,
): Promise<Array<string>> {
const { logger, options, routeCache, serverLike } = pipeline;
let paths: Array<string> = [];
@@ -263,7 +263,7 @@ async function getPathsForRoute(
const label = staticPaths.length === 1 ? 'page' : 'pages';
logger.debug(
'build',
- `├── ${bold(green('√'))} ${route.component} → ${magenta(`[${staticPaths.length} ${label}]`)}`
+ `├── ${bold(green('√'))} ${route.component} → ${magenta(`[${staticPaths.length} ${label}]`)}`,
);
paths = staticPaths
@@ -304,7 +304,7 @@ async function getPathsForRoute(
function getInvalidRouteSegmentError(
e: TypeError,
route: RouteData,
- staticPath: GetStaticPathsItem
+ staticPath: GetStaticPathsItem,
): AstroError {
const invalidParam = /^Expected "([^"]+)"/.exec(e.message)?.[1];
const received = invalidParam ? staticPath.params[invalidParam] : undefined;
@@ -312,7 +312,7 @@ function getInvalidRouteSegmentError(
'Learn about dynamic routes at https://docs.astro.build/en/core-concepts/routing/#dynamic-routes';
if (invalidParam && typeof received === 'string') {
const matchingSegment = route.segments.find(
- (segment) => segment[0]?.content === invalidParam
+ (segment) => segment[0]?.content === invalidParam,
)?.[0];
const mightBeMissingSpread = matchingSegment?.dynamic && !matchingSegment?.spread;
if (mightBeMissingSpread) {
@@ -325,7 +325,7 @@ function getInvalidRouteSegmentError(
? AstroErrorData.InvalidDynamicRoute.message(
route.route,
JSON.stringify(invalidParam),
- JSON.stringify(received)
+ JSON.stringify(received),
)
: `Generated path for ${route.route} is invalid.`,
hint,
@@ -355,7 +355,7 @@ function getUrlForPath(
origin: string,
format: AstroConfig['build']['format'],
trailingSlash: AstroConfig['trailingSlash'],
- routeType: RouteType
+ routeType: RouteType,
): URL {
/**
* Examples:
@@ -402,7 +402,7 @@ async function generatePath(
pathname: string,
pipeline: BuildPipeline,
gopts: GeneratePathOptions,
- route: RouteData
+ route: RouteData,
) {
const { mod } = gopts;
const { config, logger, options } = pipeline;
@@ -432,7 +432,7 @@ async function generatePath(
options.origin,
config.build.format,
config.trailingSlash,
- route.type
+ route.type,
);
const request = createRequest({
@@ -520,7 +520,7 @@ function createBuildManifest(
settings: AstroSettings,
internals: BuildInternals,
renderers: SSRLoadedRenderer[],
- middleware: MiddlewareHandler
+ middleware: MiddlewareHandler,
): SSRManifest {
let i18nManifest: SSRManifestI18n | undefined = undefined;
if (settings.config.i18n) {
diff --git a/packages/astro/src/core/build/graph.ts b/packages/astro/src/core/build/graph.ts
index d4c4089f3..e017bcb0f 100644
--- a/packages/astro/src/core/build/graph.ts
+++ b/packages/astro/src/core/build/graph.ts
@@ -17,7 +17,7 @@ export function getParentExtendedModuleInfos(
order = 0,
childId = '',
seen = new Set<string>(),
- accumulated: ExtendedModuleInfo[] = []
+ accumulated: ExtendedModuleInfo[] = [],
): ExtendedModuleInfo[] {
seen.add(id);
@@ -54,7 +54,7 @@ export function getParentModuleInfos(
ctx: { getModuleInfo: GetModuleInfo },
until?: (importer: string) => boolean,
seen = new Set<string>(),
- accumulated: ModuleInfo[] = []
+ accumulated: ModuleInfo[] = [],
): ModuleInfo[] {
seen.add(id);
@@ -88,7 +88,7 @@ export function moduleIsTopLevelPage(info: ModuleInfo): boolean {
// This could be a .astro page, a .markdown or a .md (or really any file extension for markdown files) page.
export function getTopLevelPageModuleInfos(
id: string,
- ctx: { getModuleInfo: GetModuleInfo }
+ ctx: { getModuleInfo: GetModuleInfo },
): ModuleInfo[] {
return getParentModuleInfos(id, ctx).filter(moduleIsTopLevelPage);
}
diff --git a/packages/astro/src/core/build/index.ts b/packages/astro/src/core/build/index.ts
index de8e48b9d..8df72d8b2 100644
--- a/packages/astro/src/core/build/index.ts
+++ b/packages/astro/src/core/build/index.ts
@@ -61,7 +61,7 @@ export interface BuildOptions {
*/
export default async function build(
inlineConfig: AstroInlineConfig,
- options: BuildOptions = {}
+ options: BuildOptions = {},
): Promise<void> {
ensureProcessNodeEnv('production');
applyPolyfill();
@@ -140,7 +140,13 @@ class AstroBuilder {
middlewareMode: true,
},
},
- { settings: this.settings, logger: this.logger, mode: 'build', command: 'build', sync: false }
+ {
+ settings: this.settings,
+ logger: this.logger,
+ mode: 'build',
+ command: 'build',
+ sync: false,
+ },
);
await runHookConfigDone({ settings: this.settings, logger: logger });
@@ -182,7 +188,7 @@ class AstroBuilder {
this.timer.buildStart = performance.now();
this.logger.info(
'build',
- green(`✓ Completed in ${getTimeStat(this.timer.init, performance.now())}.`)
+ green(`✓ Completed in ${getTimeStat(this.timer.init, performance.now())}.`),
);
const opts: StaticBuildOptions = {
@@ -221,7 +227,7 @@ class AstroBuilder {
.concat(
this.settings.config.experimental.serverIslands
? [getServerIslandRouteData(this.settings.config)]
- : []
+ : [],
),
logging: this.logger,
cacheManifest: internals.cacheManifestUsed,
@@ -256,7 +262,7 @@ class AstroBuilder {
// outDir gets blown away so it can't be the root.
if (config.outDir.toString() === config.root.toString()) {
throw new Error(
- `the outDir cannot be the root folder. Please build to a folder such as dist.`
+ `the outDir cannot be the root folder. Please build to a folder such as dist.`,
);
}
}
diff --git a/packages/astro/src/core/build/internal.ts b/packages/astro/src/core/build/internal.ts
index efab9baca..5c28a4d40 100644
--- a/packages/astro/src/core/build/internal.ts
+++ b/packages/astro/src/core/build/internal.ts
@@ -150,7 +150,7 @@ export function trackPageData(
component: string,
pageData: PageBuildData,
componentModuleId: string,
- componentURL: URL
+ componentURL: URL,
): void {
pageData.moduleSpecifier = componentModuleId;
internals.pagesByKeys.set(pageData.key, pageData);
@@ -163,7 +163,7 @@ export function trackPageData(
export function trackClientOnlyPageDatas(
internals: BuildInternals,
pageData: PageBuildData,
- clientOnlys: string[]
+ clientOnlys: string[],
) {
for (const clientOnlyComponent of clientOnlys) {
let pageDataSet: Set<PageBuildData>;
@@ -184,7 +184,7 @@ export function trackClientOnlyPageDatas(
export function trackScriptPageDatas(
internals: BuildInternals,
pageData: PageBuildData,
- scriptIds: string[]
+ scriptIds: string[],
) {
for (const scriptId of scriptIds) {
let pageDataSet: Set<PageBuildData>;
@@ -200,7 +200,7 @@ export function trackScriptPageDatas(
export function* getPageDatasByClientOnlyID(
internals: BuildInternals,
- viteid: ViteID
+ viteid: ViteID,
): Generator<PageBuildData, void, unknown> {
const pagesByClientOnly = internals.pagesByClientOnly;
if (pagesByClientOnly.size) {
@@ -238,7 +238,7 @@ export function* getPageDatasByClientOnlyID(
export function getPageData(
internals: BuildInternals,
route: string,
- component: string
+ component: string,
): PageBuildData | undefined {
let pageData = internals.pagesByKeys.get(makePageDataKey(route, component));
if (pageData) {
@@ -271,7 +271,7 @@ function getPagesDatasByComponent(internals: BuildInternals, component: string):
* @param pagesByKeys A map of all page data by their internal key
*/
export function getPageDatasWithPublicKey(
- pagesByKeys: Map<string, PageBuildData>
+ pagesByKeys: Map<string, PageBuildData>,
): Map<string, PageBuildData> {
// Create a map to store the pages with the public key, mimicking internal.pagesByKeys
const pagesWithPublicKey = new Map<string, PageBuildData>();
@@ -303,7 +303,7 @@ export function getPageDatasWithPublicKey(
export function getPageDataByViteID(
internals: BuildInternals,
- viteid: ViteID
+ viteid: ViteID,
): PageBuildData | undefined {
if (internals.pagesByViteID.has(viteid)) {
return internals.pagesByViteID.get(viteid);
@@ -358,7 +358,7 @@ export function cssOrder(a: OrderInfo, b: OrderInfo) {
export function mergeInlineCss(
acc: Array<StylesheetAsset>,
- current: StylesheetAsset
+ current: StylesheetAsset,
): Array<StylesheetAsset> {
const lastAdded = acc.at(acc.length - 1);
const lastWasInline = lastAdded?.type === 'inline';
@@ -379,7 +379,7 @@ export function mergeInlineCss(
*/
export function getPageDatasByHoistedScriptId(
internals: BuildInternals,
- id: string
+ id: string,
): PageBuildData[] {
const set = internals.hoistedScriptIdToPagesMap.get(id);
const pageDatas: PageBuildData[] = [];
diff --git a/packages/astro/src/core/build/page-data.ts b/packages/astro/src/core/build/page-data.ts
index b6cc03002..210b31a0e 100644
--- a/packages/astro/src/core/build/page-data.ts
+++ b/packages/astro/src/core/build/page-data.ts
@@ -46,7 +46,7 @@ export function collectPagesData(opts: CollectPagesDataOptions): CollectPagesDat
const html = `${route.pathname}`.replace(/\/?$/, '/index.html');
debug(
'build',
- `├── ${colors.bold(colors.green('✔'))} ${route.component} → ${colors.yellow(html)}`
+ `├── ${colors.bold(colors.green('✔'))} ${route.component} → ${colors.yellow(html)}`,
);
} else {
debug('build', `├── ${colors.bold(colors.green('✔'))} ${route.component}`);
diff --git a/packages/astro/src/core/build/pipeline.ts b/packages/astro/src/core/build/pipeline.ts
index 7ef94acd9..4e0d94c57 100644
--- a/packages/astro/src/core/build/pipeline.ts
+++ b/packages/astro/src/core/build/pipeline.ts
@@ -54,7 +54,7 @@ export class BuildPipeline extends Pipeline {
readonly options: StaticBuildOptions,
readonly config = options.settings.config,
readonly settings = options.settings,
- readonly defaultRoutes = createDefaultRoutes(manifest)
+ readonly defaultRoutes = createDefaultRoutes(manifest),
) {
const resolveCache = new Map<string, string>();
@@ -87,7 +87,7 @@ export class BuildPipeline extends Pipeline {
manifest.renderers,
resolve,
serverLike,
- streaming
+ streaming,
);
}
@@ -114,18 +114,18 @@ export class BuildPipeline extends Pipeline {
*/
static async retrieveManifest(
staticBuildOptions: StaticBuildOptions,
- internals: BuildInternals
+ internals: BuildInternals,
): Promise<SSRManifest> {
const config = staticBuildOptions.settings.config;
const baseDirectory = getOutputDirectory(config);
const manifestEntryUrl = new URL(
`${internals.manifestFileName}?time=${Date.now()}`,
- baseDirectory
+ baseDirectory,
);
const { manifest } = await import(manifestEntryUrl.toString());
if (!manifest) {
throw new Error(
- "Astro couldn't find the emitted manifest. This is an internal error, please file an issue."
+ "Astro couldn't find the emitted manifest. This is an internal error, please file an issue.",
);
}
@@ -140,7 +140,7 @@ export class BuildPipeline extends Pipeline {
if (!renderers) {
throw new Error(
- "Astro couldn't find the emitted renderers. This is an internal error, please file an issue."
+ "Astro couldn't find the emitted renderers. This is an internal error, please file an issue.",
);
}
return {
@@ -161,7 +161,7 @@ export class BuildPipeline extends Pipeline {
const scripts = createModuleScriptsSet(
pageBuildData?.hoistedScript ? [pageBuildData.hoistedScript] : [],
base,
- assetsPrefix
+ assetsPrefix,
);
const sortedCssAssets = pageBuildData?.styles
.sort(cssOrder)
@@ -216,8 +216,8 @@ export class BuildPipeline extends Pipeline {
...getPagesFromVirtualModulePageName(
this.internals,
ASTRO_PAGE_RESOLVED_MODULE_ID,
- virtualModulePageName
- )
+ virtualModulePageName,
+ ),
);
}
if (virtualModulePageName.includes(RESOLVED_SPLIT_MODULE_ID)) {
@@ -225,8 +225,8 @@ export class BuildPipeline extends Pipeline {
...getPagesFromVirtualModulePageName(
this.internals,
RESOLVED_SPLIT_MODULE_ID,
- virtualModulePageName
- )
+ virtualModulePageName,
+ ),
);
}
for (const pageData of pageDatas) {
@@ -288,7 +288,7 @@ export class BuildPipeline extends Pipeline {
async tryRewrite(
payload: RewritePayload,
request: Request,
- _sourceRoute: RouteData
+ _sourceRoute: RouteData,
): Promise<[RouteData, ComponentInstance, URL]> {
const [foundRoute, finalUrl] = findRouteToRewrite({
payload,
@@ -324,7 +324,7 @@ export class BuildPipeline extends Pipeline {
async #getEntryForFallbackRoute(
route: RouteData,
internals: BuildInternals,
- outFolder: URL
+ outFolder: URL,
): Promise<SinglePageBuiltModule> {
if (route.type !== 'fallback') {
throw new Error(`Expected a redirect route.`);
@@ -344,7 +344,7 @@ export class BuildPipeline extends Pipeline {
async #getEntryForRedirectRoute(
route: RouteData,
internals: BuildInternals,
- outFolder: URL
+ outFolder: URL,
): Promise<SinglePageBuiltModule> {
if (route.type !== 'redirect') {
throw new Error(`Expected a redirect route.`);
diff --git a/packages/astro/src/core/build/plugins/README.md b/packages/astro/src/core/build/plugins/README.md
index 410b81da6..2949233e6 100644
--- a/packages/astro/src/core/build/plugins/README.md
+++ b/packages/astro/src/core/build/plugins/README.md
@@ -22,7 +22,7 @@ The emitted file has content similar to:
const renderers = [
Object.assign(
{ name: 'astro:jsx', serverEntrypoint: 'astro/jsx/server.js', jsxImportSource: 'astro' },
- { ssr: server_default }
+ { ssr: server_default },
),
];
diff --git a/packages/astro/src/core/build/plugins/plugin-analyzer.ts b/packages/astro/src/core/build/plugins/plugin-analyzer.ts
index b0ba0e74d..b007e318f 100644
--- a/packages/astro/src/core/build/plugins/plugin-analyzer.ts
+++ b/packages/astro/src/core/build/plugins/plugin-analyzer.ts
@@ -28,7 +28,7 @@ function isPropagatedAsset(id: string) {
export function vitePluginAnalyzer(
options: StaticBuildOptions,
- internals: BuildInternals
+ internals: BuildInternals,
): VitePlugin {
function hoistedScriptScanner() {
const uniqueHoistedIds = new Map<string, string>();
@@ -43,7 +43,7 @@ export function vitePluginAnalyzer(
async scan(
this: PluginContext,
scripts: AstroPluginMetadata['astro']['scripts'],
- from: string
+ from: string,
) {
const hoistedScripts = new Set<string>();
for (let i = 0; i < scripts.length; i++) {
@@ -178,7 +178,7 @@ export function vitePluginAnalyzer(
// `discoveredScripts` here, which will eventually be passed as inputs of the client build.
if (options.settings.config.experimental.directRenderScript && astro.scripts.length) {
const scriptIds = astro.scripts.map(
- (_, i) => `${id.replace('/@fs', '')}?astro&type=script&index=${i}&lang.ts`
+ (_, i) => `${id.replace('/@fs', '')}?astro&type=script&index=${i}&lang.ts`,
);
// Assign as entrypoints for the client bundle
@@ -204,7 +204,7 @@ export function vitePluginAnalyzer(
export function pluginAnalyzer(
options: StaticBuildOptions,
- internals: BuildInternals
+ internals: BuildInternals,
): AstroBuildPlugin {
return {
targets: ['server'],
diff --git a/packages/astro/src/core/build/plugins/plugin-content.ts b/packages/astro/src/core/build/plugins/plugin-content.ts
index 68ff981a0..9c6d5add0 100644
--- a/packages/astro/src/core/build/plugins/plugin-content.ts
+++ b/packages/astro/src/core/build/plugins/plugin-content.ts
@@ -80,7 +80,7 @@ function vitePluginContent(
opts: StaticBuildOptions,
lookupMap: ContentLookupMap,
internals: BuildInternals,
- cachedBuildOutput: Array<{ cached: URL; dist: URL }>
+ cachedBuildOutput: Array<{ cached: URL; dist: URL }>,
): VitePlugin {
const { config } = opts.settings;
const distContentRoot = getContentRoot(config);
@@ -184,7 +184,7 @@ function vitePluginContent(
) {
const [srcRelativePath] = id.replace(rootPath, '/').split('?');
const resultId = encodeName(
- `${removeLeadingForwardSlash(removeFileExtension(srcRelativePath))}.render.mjs`
+ `${removeLeadingForwardSlash(removeFileExtension(srcRelativePath))}.render.mjs`,
);
return resultId;
}
@@ -192,7 +192,7 @@ function vitePluginContent(
const collectionEntry = findEntryFromSrcRelativePath(
lookupMap,
srcRelativePath,
- entryCache
+ entryCache,
);
if (collectionEntry) {
let suffix = '.mjs';
@@ -201,7 +201,7 @@ function vitePluginContent(
}
id =
removeLeadingForwardSlash(
- removeFileExtension(encodeName(id.replace(srcPath, '/')))
+ removeFileExtension(encodeName(id.replace(srcPath, '/'))),
) + suffix;
return id;
}
@@ -284,7 +284,7 @@ function vitePluginContent(
function findEntryFromSrcRelativePath(
lookupMap: ContentLookupMap,
srcRelativePath: string,
- entryCache: Map<string, string>
+ entryCache: Map<string, string>,
) {
let value = entryCache.get(srcRelativePath);
if (value) return value;
@@ -308,7 +308,7 @@ interface ContentEntries {
function getEntriesFromManifests(
oldManifest: ContentManifest,
- newManifest: ContentManifest
+ newManifest: ContentManifest,
): ContentEntries {
const { entries: oldEntries } = oldManifest;
const { entries: newEntries } = newManifest;
@@ -320,7 +320,7 @@ function getEntriesFromManifests(
return entries;
}
const oldEntryHashMap = new Map<string, ContentManifestKey>(
- oldEntries.map(([key, hash]) => [hash, key])
+ oldEntries.map(([key, hash]) => [hash, key]),
);
for (const [entry, hash] of newEntryMap) {
@@ -367,7 +367,7 @@ function manifestState(oldManifest: ContentManifest, newManifest: ContentManifes
async function generateContentManifest(
opts: StaticBuildOptions,
- lookupMap: ContentLookupMap
+ lookupMap: ContentLookupMap,
): Promise<ContentManifest> {
let manifest = createContentManifest();
manifest.version = CONTENT_MANIFEST_VERSION;
@@ -382,7 +382,7 @@ async function generateContentManifest(
limit(async () => {
const data = await fsMod.promises.readFile(fileURL, { encoding: 'utf8' });
manifest.entries.push([key, checksum(data, fileURL.toString())]);
- })
+ }),
);
}
}
@@ -480,7 +480,7 @@ export async function copyContentToCache(opts: StaticBuildOptions) {
export function pluginContent(
opts: StaticBuildOptions,
- internals: BuildInternals
+ internals: BuildInternals,
): AstroBuildPlugin {
const { cacheDir, outDir } = opts.settings.config;
diff --git a/packages/astro/src/core/build/plugins/plugin-css.ts b/packages/astro/src/core/build/plugins/plugin-css.ts
index 269364842..0ebc7e618 100644
--- a/packages/astro/src/core/build/plugins/plugin-css.ts
+++ b/packages/astro/src/core/build/plugins/plugin-css.ts
@@ -30,7 +30,7 @@ interface PluginOptions {
export function pluginCSS(
options: StaticBuildOptions,
- internals: BuildInternals
+ internals: BuildInternals,
): AstroBuildPlugin {
return {
targets: ['client', 'server'],
@@ -206,7 +206,7 @@ function rollupPluginAstroBuildCSS(options: PluginOptions): VitePlugin[] {
// Ref: https://github.com/vitejs/vite/blob/b2c0ee04d4db4a0ef5a084c50f49782c5f88587c/packages/vite/src/node/plugins/html.ts#L690-L705
if (resolvedConfig.build.cssCodeSplit) return;
const cssChunk = Object.values(bundle).find(
- (chunk) => chunk.type === 'asset' && chunk.name === 'style.css'
+ (chunk) => chunk.type === 'asset' && chunk.name === 'style.css',
);
if (cssChunk === undefined) return;
for (const pageData of internals.pagesByKeys.values()) {
@@ -293,7 +293,7 @@ function rollupPluginAstroBuildCSS(options: PluginOptions): VitePlugin[] {
function* getParentClientOnlys(
id: string,
ctx: { getModuleInfo: GetModuleInfo },
- internals: BuildInternals
+ internals: BuildInternals,
): Generator<PageBuildData, void, unknown> {
for (const info of getParentModuleInfos(id, ctx)) {
yield* getPageDatasByClientOnlyID(internals, info.id);
@@ -310,7 +310,7 @@ function appendCSSToPage(
meta: ViteMetadata,
pagesToCss: Record<string, Record<string, { order: number; depth: number }>>,
depth: number,
- order: number
+ order: number,
) {
for (const importedCssImport of meta.importedCss) {
// CSS is prioritized based on depth. Shared CSS has a higher depth due to being imported by multiple pages.
@@ -341,7 +341,7 @@ function appendCSSToPage(
*/
function isCssScopeToRendered(
cssScopeTo: Record<string, string[]>,
- chunks: Rollup.RenderedChunk[]
+ chunks: Rollup.RenderedChunk[],
) {
for (const moduleId in cssScopeTo) {
const exports = cssScopeTo[moduleId];
diff --git a/packages/astro/src/core/build/plugins/plugin-hoisted-scripts.ts b/packages/astro/src/core/build/plugins/plugin-hoisted-scripts.ts
index 7d31aed63..7c3784909 100644
--- a/packages/astro/src/core/build/plugins/plugin-hoisted-scripts.ts
+++ b/packages/astro/src/core/build/plugins/plugin-hoisted-scripts.ts
@@ -13,7 +13,7 @@ function virtualHoistedEntry(id: string) {
export function vitePluginHoistedScripts(
settings: AstroSettings,
- internals: BuildInternals
+ internals: BuildInternals,
): VitePlugin {
let assetsInlineLimit: NonNullable<BuildOptions['assetsInlineLimit']>;
@@ -104,7 +104,7 @@ export function vitePluginHoistedScripts(
export function pluginHoistedScripts(
options: StaticBuildOptions,
- internals: BuildInternals
+ internals: BuildInternals,
): AstroBuildPlugin {
return {
targets: ['client'],
diff --git a/packages/astro/src/core/build/plugins/plugin-internals.ts b/packages/astro/src/core/build/plugins/plugin-internals.ts
index 3f5467aae..01d524515 100644
--- a/packages/astro/src/core/build/plugins/plugin-internals.ts
+++ b/packages/astro/src/core/build/plugins/plugin-internals.ts
@@ -36,7 +36,7 @@ export function vitePluginInternals(input: Set<string>, internals: BuildInternal
mapping.set(result.id, new Set<string>([specifier]));
}
}
- })
+ }),
);
}
await Promise.all(promises);
diff --git a/packages/astro/src/core/build/plugins/plugin-manifest.ts b/packages/astro/src/core/build/plugins/plugin-manifest.ts
index 491b9187a..bb1add5b4 100644
--- a/packages/astro/src/core/build/plugins/plugin-manifest.ts
+++ b/packages/astro/src/core/build/plugins/plugin-manifest.ts
@@ -78,7 +78,7 @@ function vitePluginManifest(_options: StaticBuildOptions, internals: BuildIntern
export function pluginManifest(
options: StaticBuildOptions,
- internals: BuildInternals
+ internals: BuildInternals,
): AstroBuildPlugin {
return {
targets: ['server'],
@@ -115,7 +115,7 @@ export function pluginManifest(
async function createManifest(
buildOpts: StaticBuildOptions,
- internals: BuildInternals
+ internals: BuildInternals,
): Promise<SerializedSSRManifest> {
if (!internals.manifestEntryChunk) {
throw new Error(`Did not generate an entry chunk for SSR`);
@@ -125,7 +125,7 @@ async function createManifest(
const clientStatics = new Set(
await glob('**/*', {
cwd: fileURLToPath(buildOpts.settings.config.build.client),
- })
+ }),
);
for (const file of clientStatics) {
internals.staticFiles.add(file);
@@ -149,7 +149,7 @@ function injectManifest(manifest: SerializedSSRManifest, chunk: Readonly<OutputC
function buildManifest(
opts: StaticBuildOptions,
internals: BuildInternals,
- staticFiles: string[]
+ staticFiles: string[],
): SerializedSSRManifest {
const { settings } = opts;
@@ -197,7 +197,7 @@ function buildManifest(
scripts.unshift(
Object.assign({}, pageData.hoistedScript, {
value,
- })
+ }),
);
}
if (settings.scripts.some((script) => script.stage === 'page')) {
diff --git a/packages/astro/src/core/build/plugins/plugin-middleware.ts b/packages/astro/src/core/build/plugins/plugin-middleware.ts
index 701422a5b..6b982053f 100644
--- a/packages/astro/src/core/build/plugins/plugin-middleware.ts
+++ b/packages/astro/src/core/build/plugins/plugin-middleware.ts
@@ -6,7 +6,7 @@ export { MIDDLEWARE_MODULE_ID } from '../../middleware/vite-plugin.js';
export function pluginMiddleware(
opts: StaticBuildOptions,
- internals: BuildInternals
+ internals: BuildInternals,
): AstroBuildPlugin {
return {
targets: ['server'],
diff --git a/packages/astro/src/core/build/plugins/plugin-pages.ts b/packages/astro/src/core/build/plugins/plugin-pages.ts
index 4df70eac4..2dc400a6c 100644
--- a/packages/astro/src/core/build/plugins/plugin-pages.ts
+++ b/packages/astro/src/core/build/plugins/plugin-pages.ts
@@ -39,7 +39,7 @@ function vitePluginPages(opts: StaticBuildOptions, internals: BuildInternals): V
const pageDatas = getPagesFromVirtualModulePageName(
internals,
ASTRO_PAGE_RESOLVED_MODULE_ID,
- id
+ id,
);
for (const pageData of pageDatas) {
const resolvedPage = await this.resolve(pageData.moduleSpecifier);
diff --git a/packages/astro/src/core/build/plugins/plugin-prerender.ts b/packages/astro/src/core/build/plugins/plugin-prerender.ts
index a8ace9a25..25b951794 100644
--- a/packages/astro/src/core/build/plugins/plugin-prerender.ts
+++ b/packages/astro/src/core/build/plugins/plugin-prerender.ts
@@ -46,7 +46,7 @@ function getNonPrerenderOnlyChunks(bundle: Rollup.OutputBundle, internals: Build
const pageDatas = getPagesFromVirtualModulePageName(
internals,
ASTRO_PAGE_RESOLVED_MODULE_ID,
- chunk.facadeModuleId
+ chunk.facadeModuleId,
);
const prerender = pageDatas.every((pageData) => pageData.route.prerender);
if (prerender) {
@@ -102,7 +102,7 @@ function getNonPrerenderOnlyChunks(bundle: Rollup.OutputBundle, internals: Build
export function pluginPrerender(
opts: StaticBuildOptions,
- internals: BuildInternals
+ internals: BuildInternals,
): AstroBuildPlugin {
// Static output can skip prerender completely because we're already rendering all pages
if (opts.settings.config.output === 'static') {
diff --git a/packages/astro/src/core/build/plugins/plugin-ssr.ts b/packages/astro/src/core/build/plugins/plugin-ssr.ts
index f4857402a..f395141a0 100644
--- a/packages/astro/src/core/build/plugins/plugin-ssr.ts
+++ b/packages/astro/src/core/build/plugins/plugin-ssr.ts
@@ -22,7 +22,7 @@ export const RESOLVED_SSR_VIRTUAL_MODULE_ID = '\0' + SSR_VIRTUAL_MODULE_ID;
function vitePluginSSR(
internals: BuildInternals,
adapter: AstroAdapter,
- options: StaticBuildOptions
+ options: StaticBuildOptions,
): VitePlugin {
return {
name: '@astrojs/vite-plugin-astro-ssr-server',
@@ -60,7 +60,7 @@ function vitePluginSSR(
}
const virtualModuleName = getVirtualModulePageName(
ASTRO_PAGE_MODULE_ID,
- pageData.component
+ pageData.component,
);
let module = await this.resolve(virtualModuleName);
if (module) {
@@ -106,7 +106,7 @@ function vitePluginSSR(
export function pluginSSR(
options: StaticBuildOptions,
- internals: BuildInternals
+ internals: BuildInternals,
): AstroBuildPlugin {
const ssr = isServerLikeOutput(options.settings.config);
const functionPerRouteEnabled = isFunctionPerRouteEnabled(options.settings.adapter);
@@ -149,7 +149,7 @@ export const RESOLVED_SPLIT_MODULE_ID = '\0@astro-page-split:';
function vitePluginSSRSplit(
internals: BuildInternals,
adapter: AstroAdapter,
- options: StaticBuildOptions
+ options: StaticBuildOptions,
): VitePlugin {
return {
name: '@astrojs/vite-plugin-astro-ssr-split',
@@ -217,7 +217,7 @@ function vitePluginSSRSplit(
export function pluginSSRSplit(
options: StaticBuildOptions,
- internals: BuildInternals
+ internals: BuildInternals,
): AstroBuildPlugin {
const ssr = isServerLikeOutput(options.settings.config);
const functionPerRouteEnabled = isFunctionPerRouteEnabled(options.settings.adapter);
@@ -301,7 +301,7 @@ function storeEntryPoint(
moduleKey: string,
options: StaticBuildOptions,
internals: BuildInternals,
- fileName: string
+ fileName: string,
) {
const componentPath = getComponentFromVirtualModulePageName(RESOLVED_SPLIT_MODULE_ID, moduleKey);
for (const pageData of Object.values(options.allPages)) {
diff --git a/packages/astro/src/core/build/plugins/util.ts b/packages/astro/src/core/build/plugins/util.ts
index de2c53e81..c636928d0 100644
--- a/packages/astro/src/core/build/plugins/util.ts
+++ b/packages/astro/src/core/build/plugins/util.ts
@@ -82,7 +82,7 @@ export function getVirtualModulePageName(virtualModulePrefix: string, path: stri
export function getPagesFromVirtualModulePageName(
internals: BuildInternals,
virtualModulePrefix: string,
- id: string
+ id: string,
): PageBuildData[] {
const path = getComponentFromVirtualModulePageName(virtualModulePrefix, id);
@@ -105,7 +105,7 @@ export function getPagesFromVirtualModulePageName(
*/
export function getComponentFromVirtualModulePageName(
virtualModulePrefix: string,
- id: string
+ id: string,
): string {
return id.slice(virtualModulePrefix.length).replace(ASTRO_PAGE_EXTENSION_POST_PATTERN, '.');
}
@@ -113,7 +113,7 @@ export function getComponentFromVirtualModulePageName(
export function shouldInlineAsset(
assetContent: string,
assetPath: string,
- assetsInlineLimit: NonNullable<BuildOptions['assetsInlineLimit']>
+ assetsInlineLimit: NonNullable<BuildOptions['assetsInlineLimit']>,
) {
if (typeof assetsInlineLimit === 'function') {
const result = assetsInlineLimit(assetPath, Buffer.from(assetContent));
diff --git a/packages/astro/src/core/build/static-build.ts b/packages/astro/src/core/build/static-build.ts
index da651effd..862601956 100644
--- a/packages/astro/src/core/build/static-build.ts
+++ b/packages/astro/src/core/build/static-build.ts
@@ -141,7 +141,7 @@ export async function staticBuild(
opts: StaticBuildOptions,
internals: BuildInternals,
ssrOutputChunkNames: string[],
- contentFileNames?: string[]
+ contentFileNames?: string[],
) {
const { settings } = opts;
switch (true) {
@@ -171,7 +171,7 @@ async function ssrBuild(
internals: BuildInternals,
input: Set<string>,
container: AstroBuildPluginContainer,
- logger: Logger
+ logger: Logger,
) {
const buildID = Date.now().toString();
const { allPages, settings, viteConfig } = opts;
@@ -245,7 +245,7 @@ async function ssrBuild(
return makeAstroPageEntryPointFileName(
ASTRO_PAGE_RESOLVED_MODULE_ID,
chunkInfo.facadeModuleId,
- routes
+ routes,
);
} else if (chunkInfo.facadeModuleId?.startsWith(RESOLVED_SPLIT_MODULE_ID)) {
return makeSplitEntryPointFileName(chunkInfo.facadeModuleId, routes);
@@ -303,7 +303,7 @@ async function clientBuild(
opts: StaticBuildOptions,
internals: BuildInternals,
input: Set<string>,
- container: AstroBuildPluginContainer
+ container: AstroBuildPluginContainer,
) {
const { settings, viteConfig } = opts;
const ssr = isServerLikeOutput(settings.config);
@@ -364,7 +364,7 @@ async function clientBuild(
async function runPostBuildHooks(
container: AstroBuildPluginContainer,
ssrOutputs: vite.Rollup.RollupOutput[],
- clientOutputs: vite.Rollup.RollupOutput[]
+ clientOutputs: vite.Rollup.RollupOutput[],
) {
const mutations = await container.runPostHook(ssrOutputs, clientOutputs);
const config = container.options.settings.config;
@@ -401,7 +401,7 @@ async function cleanStaticOutput(opts: StaticBuildOptions, internals: BuildInter
await fs.promises.writeFile(
url,
"// Contents removed by Astro as it's used for prerendering only",
- 'utf-8'
+ 'utf-8',
);
} else {
await fs.promises.unlink(url);
@@ -410,7 +410,7 @@ async function cleanStaticOutput(opts: StaticBuildOptions, internals: BuildInter
// Best-effort only. Sometimes some chunks may be deleted by other plugins, like pure CSS chunks,
// so they may already not exist.
}
- })
+ }),
);
}
@@ -418,7 +418,7 @@ async function cleanServerOutput(
opts: StaticBuildOptions,
ssrOutputChunkNames: string[],
contentFileNames: string[] | undefined,
- internals: BuildInternals
+ internals: BuildInternals,
) {
const out = getOutDirWithinCwd(opts.settings.config.outDir);
// The SSR output chunks for Astro are all .mjs files
@@ -434,7 +434,7 @@ async function cleanServerOutput(
files.map(async (filename) => {
const url = new URL(filename, out);
await fs.promises.rm(url);
- })
+ }),
);
removeEmptyDirs(out);
@@ -447,7 +447,7 @@ async function cleanServerOutput(
await Promise.all(
fileNames
.filter((fileName) => fileName.endsWith('.d.ts'))
- .map((fileName) => fs.promises.rm(new URL(fileName, out)))
+ .map((fileName) => fs.promises.rm(new URL(fileName, out))),
);
// Copy assets before cleaning directory if outside root
await copyFiles(out, opts.settings.config.outDir, true);
@@ -471,7 +471,7 @@ export async function copyFiles(fromFolder: URL, toFolder: URL, includeDotfiles
const p = await fs.promises.copyFile(from, to, fs.constants.COPYFILE_FICLONE);
return p;
});
- })
+ }),
);
}
@@ -499,7 +499,7 @@ async function ssrMoveAssets(opts: StaticBuildOptions) {
// that includes the folder paths in `assetFileNames
if (!fs.existsSync(dir)) await fs.promises.mkdir(dir, { recursive: true });
return fs.promises.rename(currentUrl, clientUrl);
- })
+ }),
);
removeEmptyDirs(serverAssets);
}
@@ -526,7 +526,7 @@ async function ssrMoveAssets(opts: StaticBuildOptions) {
export function makeAstroPageEntryPointFileName(
prefix: string,
facadeModuleId: string,
- routes: RouteData[]
+ routes: RouteData[],
) {
const pageModuleId = facadeModuleId
.replace(prefix, '')
@@ -555,7 +555,7 @@ export function makeSplitEntryPointFileName(facadeModuleId: string, routes: Rout
const filePath = `${makeAstroPageEntryPointFileName(
RESOLVED_SPLIT_MODULE_ID,
facadeModuleId,
- routes
+ routes,
)}`;
const pathComponents = filePath.split(path.sep);
diff --git a/packages/astro/src/core/build/util.ts b/packages/astro/src/core/build/util.ts
index 96a5ec2f2..9dc61f06f 100644
--- a/packages/astro/src/core/build/util.ts
+++ b/packages/astro/src/core/build/util.ts
@@ -12,7 +12,7 @@ export function getTimeStat(timeStart: number, timeEnd: number) {
*/
export function shouldAppendForwardSlash(
trailingSlash: AstroConfig['trailingSlash'],
- buildFormat: AstroConfig['build']['format']
+ buildFormat: AstroConfig['build']['format'],
): boolean {
switch (trailingSlash) {
case 'always':
@@ -57,7 +57,7 @@ export function encodeName(name: string): string {
}
export function viteBuildReturnToRollupOutputs(
- viteBuildReturn: ViteBuildReturn
+ viteBuildReturn: ViteBuildReturn,
): Rollup.RollupOutput[] {
const result: Rollup.RollupOutput[] = [];
if (Array.isArray(viteBuildReturn)) {
diff --git a/packages/astro/src/core/config/config.ts b/packages/astro/src/core/config/config.ts
index 4c0f0aa3d..2e43661a4 100644
--- a/packages/astro/src/core/config/config.ts
+++ b/packages/astro/src/core/config/config.ts
@@ -74,7 +74,7 @@ interface ResolveConfigPathOptions {
* Resolve the file URL of the user's `astro.config.js|cjs|mjs|ts` file
*/
export async function resolveConfigPath(
- options: ResolveConfigPathOptions
+ options: ResolveConfigPathOptions,
): Promise<string | undefined> {
let userConfigPath: string | undefined;
if (options.configFile) {
@@ -95,7 +95,7 @@ export async function resolveConfigPath(
async function loadConfig(
root: string,
configFile?: string | false,
- fsMod = fs
+ fsMod = fs,
): Promise<Record<string, any>> {
if (configFile === false) return {};
@@ -155,7 +155,7 @@ interface ResolveConfigResult {
export async function resolveConfig(
inlineConfig: AstroInlineConfig,
command: string,
- fsMod = fs
+ fsMod = fs,
): Promise<ResolveConfigResult> {
const root = resolveRoot(inlineConfig.root);
const { inlineUserConfig, inlineOnlyConfig } = splitInlineConfig(inlineConfig);
diff --git a/packages/astro/src/core/config/merge.ts b/packages/astro/src/core/config/merge.ts
index 81b3b70f3..c897c1441 100644
--- a/packages/astro/src/core/config/merge.ts
+++ b/packages/astro/src/core/config/merge.ts
@@ -4,7 +4,7 @@ import { arraify, isObject, isURL } from '../util.js';
function mergeConfigRecursively(
defaults: Record<string, any>,
overrides: Record<string, any>,
- rootPath: string
+ rootPath: string,
) {
const merged: Record<string, any> = { ...defaults };
for (const key in overrides) {
@@ -67,7 +67,7 @@ function mergeConfigRecursively(
export function mergeConfig(
defaults: Record<string, any>,
overrides: Record<string, any>,
- isRoot = true
+ isRoot = true,
): Record<string, any> {
return mergeConfigRecursively(defaults, overrides, isRoot ? '' : '.');
}
diff --git a/packages/astro/src/core/config/schema.ts b/packages/astro/src/core/config/schema.ts
index 60941b17b..9ffb58934 100644
--- a/packages/astro/src/core/config/schema.ts
+++ b/packages/astro/src/core/config/schema.ts
@@ -143,7 +143,7 @@ export const AstroConfigSchema = z.object({
// validate
z
.array(z.object({ name: z.string(), hooks: z.object({}).passthrough().default({}) }))
- .default(ASTRO_CONFIG_DEFAULTS.integrations)
+ .default(ASTRO_CONFIG_DEFAULTS.integrations),
),
build: z
.object({
@@ -177,7 +177,7 @@ export const AstroConfigSchema = z.object({
},
{
message: 'The `fallback` is mandatory when defining the option as an object.',
- }
+ },
),
serverEntry: z.string().optional().default(ASTRO_CONFIG_DEFAULTS.build.serverEntry),
redirects: z.boolean().optional().default(ASTRO_CONFIG_DEFAULTS.build.redirects),
@@ -206,7 +206,7 @@ export const AstroConfigSchema = z.object({
port: z.number().optional().default(ASTRO_CONFIG_DEFAULTS.server.port),
headers: z.custom<OutgoingHttpHeaders>().optional(),
})
- .default({})
+ .default({}),
),
redirects: z
.record(
@@ -225,7 +225,7 @@ export const AstroConfigSchema = z.object({
]),
destination: z.string(),
}),
- ])
+ ]),
)
.default(ASTRO_CONFIG_DEFAULTS.redirects),
prefetch: z
@@ -263,7 +263,7 @@ export const AstroConfigSchema = z.object({
(val) => !val.includes('*') || val.startsWith('*.') || val.startsWith('**.'),
{
message: 'wildcards can only be placed at the beginning of the hostname',
- }
+ },
)
.optional(),
port: z.string().optional(),
@@ -273,7 +273,7 @@ export const AstroConfigSchema = z.object({
message: 'wildcards can only be placed at the end of a pathname',
})
.optional(),
- })
+ }),
)
.default([]),
})
@@ -318,7 +318,7 @@ export const AstroConfigSchema = z.object({
.record(
z
.enum(Object.keys(bundledThemes) as [BuiltinTheme, ...BuiltinTheme[]])
- .or(z.custom<ShikiTheme>())
+ .or(z.custom<ShikiTheme>()),
)
.default(ASTRO_CONFIG_DEFAULTS.markdown.shikiConfig.themes!),
defaultColor: z
@@ -381,7 +381,7 @@ export const AstroConfigSchema = z.object({
path: z.string(),
codes: z.string().array().nonempty(),
}),
- ])
+ ]),
),
domains: z
.record(
@@ -389,8 +389,8 @@ export const AstroConfigSchema = z.object({
z
.string()
.url(
- "The domain value must be a valid URL, and it has to start with 'https' or 'http'."
- )
+ "The domain value must be a valid URL, and it has to start with 'https' or 'http'.",
+ ),
)
.optional(),
fallback: z.record(z.string(), z.string()).optional(),
@@ -409,8 +409,8 @@ export const AstroConfigSchema = z.object({
{
message:
'The option `i18n.redirectToDefaultLocale` is only useful when the `i18n.prefixDefaultLocale` is set to `true`. Remove the option `i18n.redirectToDefaultLocale`, or change its value to `true`.',
- }
- )
+ },
+ ),
)
.optional()
.default({}),
@@ -497,7 +497,7 @@ export const AstroConfigSchema = z.object({
}
}
}
- })
+ }),
),
security: z
.object({
@@ -540,7 +540,7 @@ export const AstroConfigSchema = z.object({
.default(ASTRO_CONFIG_DEFAULTS.experimental.serverIslands),
})
.strict(
- `Invalid or outdated experimental feature.\nCheck for incorrect spelling or outdated Astro version.\nSee https://docs.astro.build/en/reference/configuration-reference/#experimental-flags for a list of all current experiments.`
+ `Invalid or outdated experimental feature.\nCheck for incorrect spelling or outdated Astro version.\nSee https://docs.astro.build/en/reference/configuration-reference/#experimental-flags for a list of all current experiments.`,
)
.default({}),
legacy: z.object({}).default({}),
@@ -605,7 +605,7 @@ export function createRelativeSchema(cmd: string, fileProtocolRoot: string) {
},
{
message: 'The `fallback` is mandatory when defining the option as an object.',
- }
+ },
),
serverEntry: z.string().optional().default(ASTRO_CONFIG_DEFAULTS.build.serverEntry),
redirects: z.boolean().optional().default(ASTRO_CONFIG_DEFAULTS.build.redirects),
@@ -641,7 +641,7 @@ export function createRelativeSchema(cmd: string, fileProtocolRoot: string) {
streaming: z.boolean().optional().default(true),
})
.optional()
- .default({})
+ .default({}),
),
})
.transform((config) => {
diff --git a/packages/astro/src/core/config/settings.ts b/packages/astro/src/core/config/settings.ts
index 9c82118b7..c3c62edd4 100644
--- a/packages/astro/src/core/config/settings.ts
+++ b/packages/astro/src/core/config/settings.ts
@@ -35,7 +35,7 @@ export function createBaseSettings(config: AstroConfig): AstroSettings {
const pathRelToContentDir = path.relative(
fileURLToPath(contentDir),
- fileURLToPath(fileUrl)
+ fileURLToPath(fileUrl),
);
let data;
try {
@@ -45,7 +45,7 @@ export function createBaseSettings(config: AstroConfig): AstroSettings {
...AstroErrorData.DataCollectionEntryParseError,
message: AstroErrorData.DataCollectionEntryParseError.message(
pathRelToContentDir,
- e instanceof Error ? e.message : 'contains invalid JSON.'
+ e instanceof Error ? e.message : 'contains invalid JSON.',
),
location: { file: fileUrl.pathname },
stack: e instanceof Error ? e.stack : undefined,
@@ -57,7 +57,7 @@ export function createBaseSettings(config: AstroConfig): AstroSettings {
...AstroErrorData.DataCollectionEntryParseError,
message: AstroErrorData.DataCollectionEntryParseError.message(
pathRelToContentDir,
- 'data is not an object.'
+ 'data is not an object.',
),
location: { file: fileUrl.pathname },
});
@@ -77,7 +77,7 @@ export function createBaseSettings(config: AstroConfig): AstroSettings {
} catch (e) {
const pathRelToContentDir = path.relative(
fileURLToPath(contentDir),
- fileURLToPath(fileUrl)
+ fileURLToPath(fileUrl),
);
const formattedError = isYAMLException(e)
? formatYAMLException(e)
@@ -87,7 +87,7 @@ export function createBaseSettings(config: AstroConfig): AstroSettings {
...AstroErrorData.DataCollectionEntryParseError,
message: AstroErrorData.DataCollectionEntryParseError.message(
pathRelToContentDir,
- formattedError.message
+ formattedError.message,
),
stack: formattedError.stack,
location:
@@ -122,7 +122,7 @@ export async function createSettings(config: AstroConfig, cwd?: string): Promise
if (typeof tsconfig !== 'string') {
watchFiles.push(
- ...[tsconfig.tsconfigFile, ...(tsconfig.extended ?? []).map((e) => e.tsconfigFile)]
+ ...[tsconfig.tsconfigFile, ...(tsconfig.extended ?? []).map((e) => e.tsconfigFile)],
);
settings.tsConfig = tsconfig.tsconfig;
settings.tsConfigPath = tsconfig.tsconfigFile;
diff --git a/packages/astro/src/core/config/tsconfig.ts b/packages/astro/src/core/config/tsconfig.ts
index 9813b200d..03d89e30c 100644
--- a/packages/astro/src/core/config/tsconfig.ts
+++ b/packages/astro/src/core/config/tsconfig.ts
@@ -64,7 +64,7 @@ type TSConfigResult<T = object> = Promise<
*/
export async function loadTSConfig(
root: string | undefined,
- findUp = false
+ findUp = false,
): Promise<TSConfigResult<{ rawConfig: TSConfig }>> {
const safeCwd = root ?? process.cwd();
@@ -74,8 +74,8 @@ export async function loadTSConfig(
find(join(safeCwd, './dummy.txt'), {
root: findUp ? undefined : root,
configName: configName,
- })
- )
+ }),
+ ),
);
// If we have both files, prefer tsconfig.json
@@ -132,7 +132,7 @@ async function safeParse(tsconfigPath: string, options: TSConfckParseOptions = {
export function updateTSConfigForFramework(
target: TSConfig,
- framework: frameworkWithTSSettings
+ framework: frameworkWithTSSettings,
): TSConfig {
if (!presets.has(framework)) {
return target;
diff --git a/packages/astro/src/core/config/validate.ts b/packages/astro/src/core/config/validate.ts
index 8d1207a85..4f4497b78 100644
--- a/packages/astro/src/core/config/validate.ts
+++ b/packages/astro/src/core/config/validate.ts
@@ -5,7 +5,7 @@ import { createRelativeSchema } from './schema.js';
export async function validateConfig(
userConfig: any,
root: string,
- cmd: string
+ cmd: string,
): Promise<AstroConfig> {
const AstroConfigRelativeSchema = createRelativeSchema(cmd, root);
diff --git a/packages/astro/src/core/cookies/cookies.ts b/packages/astro/src/core/cookies/cookies.ts
index c176fc757..852be913d 100644
--- a/packages/astro/src/core/cookies/cookies.ts
+++ b/packages/astro/src/core/cookies/cookies.ts
@@ -26,7 +26,7 @@ interface AstroCookiesInterface {
set(
key: string,
value: string | number | boolean | Record<string, any>,
- options?: AstroCookieSetOptions
+ options?: AstroCookieSetOptions,
): void;
delete(key: string, options?: AstroCookieDeleteOptions): void;
}
@@ -105,7 +105,7 @@ class AstroCookies implements AstroCookiesInterface {
*/
get(
key: string,
- options: AstroCookieGetOptions | undefined = undefined
+ options: AstroCookieGetOptions | undefined = undefined,
): AstroCookie | undefined {
// Check for outgoing Set-Cookie values first
if (this.#outgoing?.has(key)) {
@@ -153,7 +153,7 @@ class AstroCookies implements AstroCookiesInterface {
const warning = new Error(
'Astro.cookies.set() was called after the cookies had already been sent to the browser.\n' +
'This may have happened if this method was called in an imported component.\n' +
- 'Please make sure that Astro.cookies.set() is only called in the frontmatter of the main page.'
+ 'Please make sure that Astro.cookies.set() is only called in the frontmatter of the main page.',
);
warning.name = 'Warning';
// eslint-disable-next-line no-console
diff --git a/packages/astro/src/core/create-vite.ts b/packages/astro/src/core/create-vite.ts
index f0986e82c..0570d9d5d 100644
--- a/packages/astro/src/core/create-vite.ts
+++ b/packages/astro/src/core/create-vite.ts
@@ -75,7 +75,7 @@ const ONLY_DEV_EXTERNAL = [
/** Return a base vite config as a common starting point for all Vite commands. */
export async function createVite(
commandConfig: vite.InlineConfig,
- { settings, logger, mode, command, fs = nodeFs, sync }: CreateViteOptions
+ { settings, logger, mode, command, fs = nodeFs, sync }: CreateViteOptions,
): Promise<vite.InlineConfig> {
const astroPkgsConfig = await crawlFrameworkPkgs({
root: fileURLToPath(settings.config.root),
@@ -312,7 +312,7 @@ function isCommonNotAstro(dep: string): boolean {
(prefix) =>
prefix.startsWith('@')
? dep.startsWith(prefix)
- : dep.substring(dep.lastIndexOf('/') + 1).startsWith(prefix) // check prefix omitting @scope/
+ : dep.substring(dep.lastIndexOf('/') + 1).startsWith(prefix), // check prefix omitting @scope/
)
);
}
diff --git a/packages/astro/src/core/dev/container.ts b/packages/astro/src/core/dev/container.ts
index aaf6506e9..fc401ca71 100644
--- a/packages/astro/src/core/dev/container.ts
+++ b/packages/astro/src/core/dev/container.ts
@@ -88,7 +88,7 @@ export async function createContainer({
include: rendererClientEntries,
},
},
- { settings, logger, mode: 'dev', command: 'dev', fs, sync: false }
+ { settings, logger, mode: 'dev', command: 'dev', fs, sync: false },
);
await runHookConfigDone({ settings, logger });
await syncInternal({
diff --git a/packages/astro/src/core/dev/dev.ts b/packages/astro/src/core/dev/dev.ts
index 25165f028..3d8424174 100644
--- a/packages/astro/src/core/dev/dev.ts
+++ b/packages/astro/src/core/dev/dev.ts
@@ -70,7 +70,7 @@ export default async function dev(inlineConfig: AstroInlineConfig): Promise<DevS
'SKIP_FORMAT',
await msg.newVersionAvailable({
latestVersion: version,
- })
+ }),
);
}
}
@@ -90,7 +90,7 @@ export default async function dev(inlineConfig: AstroInlineConfig): Promise<DevS
resolvedUrls: restart.container.viteServer.resolvedUrls || { local: [], network: [] },
host: restart.container.settings.config.server.host,
base: restart.container.settings.config.base,
- })
+ }),
);
if (isPrerelease) {
diff --git a/packages/astro/src/core/dev/restart.ts b/packages/astro/src/core/dev/restart.ts
index a30cbe7e3..71dd41f08 100644
--- a/packages/astro/src/core/dev/restart.ts
+++ b/packages/astro/src/core/dev/restart.ts
@@ -13,7 +13,7 @@ import { createContainer, startContainer } from './container.js';
async function createRestartedContainer(
container: Container,
- settings: AstroSettings
+ settings: AstroSettings,
): Promise<Container> {
const { logger, fs, inlineConfig } = container;
const newContainer = await createContainer({
@@ -34,7 +34,7 @@ const preferencesRE = /.*\.astro\/settings.json$/;
function shouldRestartContainer(
{ settings, inlineConfig, restartInFlight }: Container,
- changedFile: string
+ changedFile: string,
): boolean {
if (restartInFlight) return false;
@@ -59,7 +59,7 @@ function shouldRestartContainer(
if (!shouldRestart && settings.watchFiles.length > 0) {
// If the config file didn't change, check if any of the watched files changed.
shouldRestart = settings.watchFiles.some(
- (path) => vite.normalizePath(path) === vite.normalizePath(changedFile)
+ (path) => vite.normalizePath(path) === vite.normalizePath(changedFile),
);
}
@@ -81,7 +81,7 @@ async function restartContainer(container: Container): Promise<Container | Error
if (!isAstroConfigZodError(_err)) {
logger.error(
'config',
- formatErrorMessage(collectErrorMetadata(error), logger.level() === 'debug') + '\n'
+ formatErrorMessage(collectErrorMetadata(error), logger.level() === 'debug') + '\n',
);
}
// Inform connected clients of the config error
diff --git a/packages/astro/src/core/dev/update-check.ts b/packages/astro/src/core/dev/update-check.ts
index 852dc8a13..ff5444686 100644
--- a/packages/astro/src/core/dev/update-check.ts
+++ b/packages/astro/src/core/dev/update-check.ts
@@ -8,7 +8,7 @@ const CHECK_MS_INTERVAL = 1_036_800_000; // 12 days, give or take
let _latestVersion: string | undefined = undefined;
export async function fetchLatestAstroVersion(
- preferences: AstroPreferences | undefined
+ preferences: AstroPreferences | undefined,
): Promise<string> {
if (_latestVersion) {
return _latestVersion;
diff --git a/packages/astro/src/core/errors/dev/vite.ts b/packages/astro/src/core/errors/dev/vite.ts
index cc723e649..56688877a 100644
--- a/packages/astro/src/core/errors/dev/vite.ts
+++ b/packages/astro/src/core/errors/dev/vite.ts
@@ -157,7 +157,7 @@ export async function getViteErrorPayload(err: ErrorWithMetadata): Promise<Astro
theme: cssVariablesTheme(),
transformers: [
transformerCompactLineOptions(
- err.loc?.line ? [{ line: err.loc.line, classes: ['error-line'] }] : undefined
+ err.loc?.line ? [{ line: err.loc.line, classes: ['error-line'] }] : undefined,
),
],
})
@@ -198,7 +198,7 @@ function transformerCompactLineOptions(
*/
line: number;
classes?: string[];
- }[] = []
+ }[] = [],
): ShikiTransformer {
return {
name: '@shikijs/transformers:compact-line-options',
diff --git a/packages/astro/src/core/errors/errors-data.ts b/packages/astro/src/core/errors/errors-data.ts
index a551af2fe..8415a9c0a 100644
--- a/packages/astro/src/core/errors/errors-data.ts
+++ b/packages/astro/src/core/errors/errors-data.ts
@@ -175,7 +175,7 @@ export const NoMatchingRenderer = {
componentName: string,
componentExtension: string | undefined,
plural: boolean,
- validRenderersCount: number
+ validRenderersCount: number,
) =>
`Unable to render \`${componentName}\`.
@@ -576,7 +576,7 @@ export const UnsupportedImageFormat = {
title: 'Unsupported image format',
message: (format: string, imagePath: string, supportedFormats: readonly string[]) =>
`Received unsupported format \`${format}\` from \`${imagePath}\`. Currently only ${supportedFormats.join(
- ', '
+ ', ',
)} are supported by our image services.`,
hint: "Using an `img` tag directly instead of the `Image` component might be what you're looking for.",
} satisfies ErrorData;
@@ -1488,7 +1488,7 @@ export const InvalidContentEntryFrontmatterError = {
message(collection: string, entryId: string, error: ZodError) {
return [
`**${String(collection)} → ${String(
- entryId
+ entryId,
)}** frontmatter does not match collection schema.`,
...error.errors.map((zodError) => zodError.message),
].join('\n');
@@ -1508,7 +1508,7 @@ export const InvalidContentEntrySlugError = {
title: 'Invalid content entry slug.',
message(collection: string, entryId: string) {
return `${String(collection)} → ${String(
- entryId
+ entryId,
)} has an invalid slug. \`slug\` must be a string.`;
},
hint: 'See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.',
diff --git a/packages/astro/src/core/errors/overlay.ts b/packages/astro/src/core/errors/overlay.ts
index c4caa3e8d..0579f5b1f 100644
--- a/packages/astro/src/core/errors/overlay.ts
+++ b/packages/astro/src/core/errors/overlay.ts
@@ -677,7 +677,7 @@ class ErrorOverlay extends HTMLElement {
'afterend',
`\n<span class="line error-caret"><span style="padding-left:${
err.loc.column - 1
- }ch;">^</span></span>`
+ }ch;">^</span></span>`,
);
}
}
diff --git a/packages/astro/src/core/errors/utils.ts b/packages/astro/src/core/errors/utils.ts
index ef0a10b4f..05dd49071 100644
--- a/packages/astro/src/core/errors/utils.ts
+++ b/packages/astro/src/core/errors/utils.ts
@@ -9,7 +9,7 @@ import type { SSRError } from '../../@types/astro.js';
*/
export function positionAt(
offset: number,
- text: string
+ text: string,
): {
line: number;
column: number;
diff --git a/packages/astro/src/core/errors/zod-error-map.ts b/packages/astro/src/core/errors/zod-error-map.ts
index c3372b708..647fc0db3 100644
--- a/packages/astro/src/core/errors/zod-error-map.ts
+++ b/packages/astro/src/core/errors/zod-error-map.ts
@@ -32,7 +32,7 @@ export const errorMap: ZodErrorMap = (baseError, ctx) => {
let messages: string[] = [
prefix(
baseErrorPath,
- typeOrLiteralErrByPath.size ? 'Did not match union:' : 'Did not match union.'
+ typeOrLiteralErrByPath.size ? 'Did not match union:' : 'Did not match union.',
),
];
return {
@@ -46,8 +46,8 @@ export const errorMap: ZodErrorMap = (baseError, ctx) => {
key === baseErrorPath
? // Avoid printing the key again if it's a base error
`> ${getTypeOrLiteralMsg(error)}`
- : `> ${prefix(key, getTypeOrLiteralMsg(error))}`
- )
+ : `> ${prefix(key, getTypeOrLiteralMsg(error))}`,
+ ),
)
.join('\n'),
};
@@ -60,7 +60,7 @@ export const errorMap: ZodErrorMap = (baseError, ctx) => {
code: baseError.code,
received: (baseError as any).received,
expected: [baseError.expected],
- })
+ }),
),
};
} else if (baseError.message) {
@@ -76,11 +76,11 @@ const getTypeOrLiteralMsg = (error: TypeOrLiteralErrByPathEntry): string => {
switch (error.code) {
case 'invalid_type':
return `Expected type \`${unionExpectedVals(expectedDeduped)}\`, received ${JSON.stringify(
- error.received
+ error.received,
)}`;
case 'invalid_literal':
return `Expected \`${unionExpectedVals(expectedDeduped)}\`, received ${JSON.stringify(
- error.received
+ error.received,
)}`;
}
};
diff --git a/packages/astro/src/core/logger/core.ts b/packages/astro/src/core/logger/core.ts
index 8cef7c4e3..530399ac4 100644
--- a/packages/astro/src/core/logger/core.ts
+++ b/packages/astro/src/core/logger/core.ts
@@ -77,7 +77,7 @@ export function log(
level: LoggerLevel,
label: string | null,
message: string,
- newLine = true
+ newLine = true,
) {
const logLevel = opts.level;
const dest = opts.dest;
diff --git a/packages/astro/src/core/logger/node.ts b/packages/astro/src/core/logger/node.ts
index aa858cd52..f78d4d247 100644
--- a/packages/astro/src/core/logger/node.ts
+++ b/packages/astro/src/core/logger/node.ts
@@ -44,6 +44,6 @@ export function enableVerboseLogging() {
debug('cli', '--verbose flag enabled! Enabling: DEBUG="astro:*,vite:*"');
debug(
'cli',
- 'Tip: Set the DEBUG env variable directly for more control. Example: "DEBUG=astro:*,vite:* astro build".'
+ 'Tip: Set the DEBUG env variable directly for more control. Example: "DEBUG=astro:*,vite:* astro build".',
);
}
diff --git a/packages/astro/src/core/logger/vite.ts b/packages/astro/src/core/logger/vite.ts
index 317a03782..ed62adc8d 100644
--- a/packages/astro/src/core/logger/vite.ts
+++ b/packages/astro/src/core/logger/vite.ts
@@ -24,7 +24,7 @@ const viteShortcutHelpMsg = /press (.+?) to (.+)$/s;
export function createViteLogger(
astroLogger: AstroLogger,
- viteLogLevel: LogLevel = 'info'
+ viteLogLevel: LogLevel = 'info',
): ViteLogger {
const warnedMessages = new Set<string>();
const loggedErrors = new WeakSet<Error | Rollup.RollupError>();
diff --git a/packages/astro/src/core/messages.ts b/packages/astro/src/core/messages.ts
index ed59e848f..8104d993b 100644
--- a/packages/astro/src/core/messages.ts
+++ b/packages/astro/src/core/messages.ts
@@ -93,7 +93,7 @@ export function serverStart({
const messages = [
'',
`${bgGreen(bold(` astro `))} ${green(`v${version}`)} ${dim(`ready in`)} ${Math.round(
- startupTime
+ startupTime,
)} ${dim('ms')}`,
'',
...localUrlMessages,
@@ -151,7 +151,7 @@ export function preferenceDefaultIntro(name: string) {
export function preferenceDefault(name: string, value: any) {
return `${yellow('◯')} ${name} has not been set. It defaults to ${bgYellow(
- black(` ${JSON.stringify(value)} `)
+ black(` ${JSON.stringify(value)} `),
)}\n`;
}
@@ -233,10 +233,10 @@ function getNetworkLogging(host: string | boolean): 'none' | 'host-to-expose' |
export function formatConfigErrorMessage(err: ZodError) {
const errorList = err.issues.map(
- (issue) => ` ! ${bold(issue.path.join('.'))} ${red(issue.message + '.')}`
+ (issue) => ` ! ${bold(issue.path.join('.'))} ${red(issue.message + '.')}`,
);
return `${red('[config]')} Astro found issue(s) with your configuration:\n${errorList.join(
- '\n'
+ '\n',
)}`;
}
@@ -246,7 +246,7 @@ const IRRELEVANT_STACK_REGEXP = /node_modules|astro[/\\]dist/g;
function formatErrorStackTrace(
err: Error | ErrorWithMetadata,
- showFullStacktrace: boolean
+ showFullStacktrace: boolean,
): string {
const stackLines = (err.stack || '').split('\n').filter((line) => STACK_LINE_REGEXP.test(line));
// If full details are required, just return the entire stack trace.
@@ -355,8 +355,8 @@ export function printHelp({
message.push(
linebreak(),
` ${bgGreen(black(` ${commandName} `))} ${green(
- `v${process.env.PACKAGE_VERSION ?? ''}`
- )} ${headline}`
+ `v${process.env.PACKAGE_VERSION ?? ''}`,
+ )} ${headline}`,
);
}
diff --git a/packages/astro/src/core/middleware/callMiddleware.ts b/packages/astro/src/core/middleware/callMiddleware.ts
index 5f2102f75..3bdc6052d 100644
--- a/packages/astro/src/core/middleware/callMiddleware.ts
+++ b/packages/astro/src/core/middleware/callMiddleware.ts
@@ -45,8 +45,8 @@ export async function callMiddleware(
apiContext: APIContext,
responseFunction: (
apiContext: APIContext,
- rewritePayload?: RewritePayload
- ) => Promise<Response> | Response
+ rewritePayload?: RewritePayload,
+ ) => Promise<Response> | Response,
): Promise<Response> {
let nextCalled = false;
let responseFunctionPromise: Promise<Response> | Response | undefined = undefined;
diff --git a/packages/astro/src/core/middleware/sequence.ts b/packages/astro/src/core/middleware/sequence.ts
index 8b2c2b49c..ee08381e6 100644
--- a/packages/astro/src/core/middleware/sequence.ts
+++ b/packages/astro/src/core/middleware/sequence.ts
@@ -39,7 +39,7 @@ export function sequence(...handlers: MiddlewareHandler[]): MiddlewareHandler {
} else {
newRequest = new Request(
new URL(payload, handleContext.url.origin),
- handleContext.request
+ handleContext.request,
);
}
carriedPayload = payload;
diff --git a/packages/astro/src/core/middleware/vite-plugin.ts b/packages/astro/src/core/middleware/vite-plugin.ts
index 4472e16c2..bb7b54e72 100644
--- a/packages/astro/src/core/middleware/vite-plugin.ts
+++ b/packages/astro/src/core/middleware/vite-plugin.ts
@@ -28,7 +28,7 @@ export function vitePluginMiddleware({ settings }: { settings: AstroSettings }):
async resolveId(id) {
if (id === MIDDLEWARE_MODULE_ID) {
const middlewareId = await this.resolve(
- `${decodeURI(settings.config.srcDir.pathname)}${MIDDLEWARE_PATH_SEGMENT_NAME}`
+ `${decodeURI(settings.config.srcDir.pathname)}${MIDDLEWARE_PATH_SEGMENT_NAME}`,
);
userMiddlewareIsPresent = !!middlewareId;
if (middlewareId) {
@@ -91,7 +91,7 @@ export const onRequest = sequence(
function createMiddlewareImports(
entrypoints: string[],
- prefix: string
+ prefix: string,
): {
importsCode: string;
sequenceCode: string;
@@ -114,7 +114,7 @@ function createMiddlewareImports(
export function vitePluginMiddlewareBuild(
opts: StaticBuildOptions,
- internals: BuildInternals
+ internals: BuildInternals,
): VitePlugin {
return {
name: '@astro/plugin-middleware-build',
diff --git a/packages/astro/src/core/preview/index.ts b/packages/astro/src/core/preview/index.ts
index e7e3282ff..b46cf1bec 100644
--- a/packages/astro/src/core/preview/index.ts
+++ b/packages/astro/src/core/preview/index.ts
@@ -40,7 +40,7 @@ export default async function preview(inlineConfig: AstroInlineConfig): Promise<
if (!fs.existsSync(settings.config.outDir)) {
const outDirPath = fileURLToPath(settings.config.outDir);
throw new Error(
- `[preview] The output directory ${outDirPath} does not exist. Did you run \`astro build\`?`
+ `[preview] The output directory ${outDirPath} does not exist. Did you run \`astro build\`?`,
);
}
const server = await createStaticPreviewServer(settings, logger);
@@ -51,7 +51,7 @@ export default async function preview(inlineConfig: AstroInlineConfig): Promise<
}
if (!settings.adapter.previewEntrypoint) {
throw new Error(
- `[preview] The ${settings.adapter.name} adapter does not support the preview command.`
+ `[preview] The ${settings.adapter.name} adapter does not support the preview command.`,
);
}
// We need to use require.resolve() here so that advanced package managers like pnpm
@@ -59,7 +59,7 @@ export default async function preview(inlineConfig: AstroInlineConfig): Promise<
// preview entrypoint of the integration package, relative to the user's project root.
const require = createRequire(settings.config.root);
const previewEntrypointUrl = pathToFileURL(
- require.resolve(settings.adapter.previewEntrypoint)
+ require.resolve(settings.adapter.previewEntrypoint),
).href;
const previewModule = (await import(previewEntrypointUrl)) as Partial<PreviewModule>;
diff --git a/packages/astro/src/core/preview/static-preview-server.ts b/packages/astro/src/core/preview/static-preview-server.ts
index 57aa48a1d..68ca3236b 100644
--- a/packages/astro/src/core/preview/static-preview-server.ts
+++ b/packages/astro/src/core/preview/static-preview-server.ts
@@ -18,7 +18,7 @@ export interface PreviewServer {
export default async function createStaticPreviewServer(
settings: AstroSettings,
- logger: Logger
+ logger: Logger,
): Promise<PreviewServer> {
const startServerTime = performance.now();
@@ -54,7 +54,7 @@ export default async function createStaticPreviewServer(
resolvedUrls: previewServer.resolvedUrls ?? { local: [], network: [] },
host: settings.config.server.host,
base: settings.config.base,
- })
+ }),
);
// Resolves once the server is closed
diff --git a/packages/astro/src/core/render-context.ts b/packages/astro/src/core/render-context.ts
index 4a824bfb0..97e1b25d9 100644
--- a/packages/astro/src/core/render-context.ts
+++ b/packages/astro/src/core/render-context.ts
@@ -56,7 +56,7 @@ export class RenderContext {
protected cookies = new AstroCookies(request),
public params = getParams(routeData, pathname),
protected url = new URL(request.url),
- public props: Props = {}
+ public props: Props = {},
) {
this.originalRoute = routeData;
}
@@ -92,7 +92,7 @@ export class RenderContext {
undefined,
undefined,
undefined,
- props
+ props,
);
}
@@ -109,7 +109,7 @@ export class RenderContext {
*/
async render(
componentInstance: ComponentInstance | undefined,
- slots: Record<string, any> = {}
+ slots: Record<string, any> = {},
): Promise<Response> {
const { cookies, middleware, pipeline } = this;
const { logger, serverLike, streaming } = pipeline;
@@ -143,7 +143,7 @@ export class RenderContext {
const [routeData, component] = await pipeline.tryRewrite(
payload,
this.request,
- this.originalRoute
+ this.originalRoute,
);
this.routeData = routeData;
componentInstance = component;
@@ -168,7 +168,7 @@ export class RenderContext {
props,
slots,
streaming,
- this.routeData
+ this.routeData,
);
} catch (e) {
// If there is an error in the page's frontmatter or instantiation of the RenderTemplate fails midway,
@@ -226,7 +226,7 @@ export class RenderContext {
const [routeData, component, newURL] = await this.pipeline.tryRewrite(
reroutePayload,
this.request,
- this.originalRoute
+ this.originalRoute,
);
this.routeData = routeData;
if (reroutePayload instanceof Request) {
@@ -374,20 +374,20 @@ export class RenderContext {
result: SSRResult,
astroStaticPartial: AstroGlobalPartial,
props: Record<string, any>,
- slotValues: Record<string, any> | null
+ slotValues: Record<string, any> | null,
): AstroGlobal {
let astroPagePartial;
// During rewriting, we must recompute the Astro global, because we need to purge the previous params/props/etc.
if (this.isRewriting) {
astroPagePartial = this.#astroPagePartial = this.createAstroPagePartial(
result,
- astroStaticPartial
+ astroStaticPartial,
);
} else {
// Create page partial with static partial so they can be cached together.
astroPagePartial = this.#astroPagePartial ??= this.createAstroPagePartial(
result,
- astroStaticPartial
+ astroStaticPartial,
);
}
// Create component-level partials. `Astro.self` is added by the compiler.
@@ -396,7 +396,7 @@ export class RenderContext {
// Create final object. `Astro.slots` will be lazily created.
const Astro: Omit<AstroGlobal, 'self' | 'slots'> = Object.assign(
Object.create(astroPagePartial),
- astroComponentPartial
+ astroComponentPartial,
);
// Handle `Astro.slots`
@@ -407,7 +407,7 @@ export class RenderContext {
_slots = new Slots(
result,
slotValues,
- this.pipeline.logger
+ this.pipeline.logger,
) as unknown as AstroGlobal['slots'];
}
return _slots;
@@ -419,7 +419,7 @@ export class RenderContext {
createAstroPagePartial(
result: SSRResult,
- astroStaticPartial: AstroGlobalPartial
+ astroStaticPartial: AstroGlobalPartial,
): Omit<AstroGlobal, 'props' | 'self' | 'slots'> {
const renderContext = this;
const { cookies, locals, params, pipeline, url } = this;
diff --git a/packages/astro/src/core/render/paginate.ts b/packages/astro/src/core/render/paginate.ts
index 591d739c5..e962d98d3 100644
--- a/packages/astro/src/core/render/paginate.ts
+++ b/packages/astro/src/core/render/paginate.ts
@@ -9,11 +9,11 @@ import type {
import { AstroError, AstroErrorData } from '../errors/index.js';
export function generatePaginateFunction(
- routeMatch: RouteData
+ routeMatch: RouteData,
): (...args: Parameters<PaginateFunction>) => ReturnType<PaginateFunction> {
return function paginateUtility(
data: any[],
- args: PaginateOptions<Props, Params> = {}
+ args: PaginateOptions<Props, Params> = {},
): ReturnType<PaginateFunction> {
let { pageSize: _pageSize, params: _params, props: _props } = args;
const pageSize = _pageSize || 10;
@@ -54,7 +54,7 @@ export function generatePaginateFunction(
...params,
page:
!includesFirstPageNumber && pageNum - 1 === 1 ? undefined : String(pageNum - 1),
- })
+ }),
);
const first =
pageNum === 1
@@ -63,7 +63,7 @@ export function generatePaginateFunction(
routeMatch.generate({
...params,
page: includesFirstPageNumber ? '1' : undefined,
- })
+ }),
);
const last =
pageNum === lastPage
diff --git a/packages/astro/src/core/render/params-and-props.ts b/packages/astro/src/core/render/params-and-props.ts
index fb02a997d..cf7d02d48 100644
--- a/packages/astro/src/core/render/params-and-props.ts
+++ b/packages/astro/src/core/render/params-and-props.ts
@@ -92,7 +92,7 @@ export function getParams(route: RouteData, pathname: string): Params {
function validatePrerenderEndpointCollision(
route: RouteData,
mod: ComponentInstance,
- params: Params
+ params: Params,
) {
if (route.type === 'endpoint' && mod.getStaticPaths) {
const lastSegment = route.segments[route.segments.length - 1];
diff --git a/packages/astro/src/core/render/renderer.ts b/packages/astro/src/core/render/renderer.ts
index 4b6015bbb..42cc8fd05 100644
--- a/packages/astro/src/core/render/renderer.ts
+++ b/packages/astro/src/core/render/renderer.ts
@@ -3,7 +3,7 @@ import type { ModuleLoader } from '../module-loader/index.js';
export async function loadRenderer(
renderer: AstroRenderer,
- moduleLoader: ModuleLoader
+ moduleLoader: ModuleLoader,
): Promise<SSRLoadedRenderer | undefined> {
const mod = await moduleLoader.import(renderer.serverEntrypoint);
if (typeof mod.default !== 'undefined') {
diff --git a/packages/astro/src/core/render/route-cache.ts b/packages/astro/src/core/render/route-cache.ts
index b6542222b..399795675 100644
--- a/packages/astro/src/core/render/route-cache.ts
+++ b/packages/astro/src/core/render/route-cache.ts
@@ -122,7 +122,7 @@ export function findPathItemByKey(
staticPaths: GetStaticPathsResultKeyed,
params: Params,
route: RouteData,
- logger: Logger
+ logger: Logger,
) {
const paramsKey = stringifyParams(params, route);
const matchedStaticPath = staticPaths.keyed.get(paramsKey);
diff --git a/packages/astro/src/core/render/slots.ts b/packages/astro/src/core/render/slots.ts
index b590237ba..ab87204e4 100644
--- a/packages/astro/src/core/render/slots.ts
+++ b/packages/astro/src/core/render/slots.ts
@@ -53,7 +53,7 @@ export class Slots {
if (!Array.isArray(args)) {
this.#logger.warn(
null,
- `Expected second parameter to be an array, received a ${typeof args}. If you're trying to pass an array as a single argument and getting unexpected results, make sure you're passing your array as a item of an array. Ex: Astro.slots.render('default', [["Hello", "World"]])`
+ `Expected second parameter to be an array, received a ${typeof args}. If you're trying to pass an array as a single argument and getting unexpected results, make sure you're passing your array as a item of an array. Ex: Astro.slots.render('default', [["Hello", "World"]])`,
);
} else if (args.length > 0) {
const slotValue = this.#slots[name];
@@ -71,7 +71,7 @@ export class Slots {
// JSX
if (typeof component === 'function') {
return await renderJSX(result, (component as any)(...args)).then((res) =>
- res != null ? String(res) : res
+ res != null ? String(res) : res,
);
}
}
diff --git a/packages/astro/src/core/render/ssr-element.ts b/packages/astro/src/core/render/ssr-element.ts
index a82dd0bc9..7c766ee20 100644
--- a/packages/astro/src/core/render/ssr-element.ts
+++ b/packages/astro/src/core/render/ssr-element.ts
@@ -17,7 +17,7 @@ export function createAssetLink(href: string, base?: string, assetsPrefix?: Asse
export function createStylesheetElement(
stylesheet: StylesheetAsset,
base?: string,
- assetsPrefix?: AssetsPrefix
+ assetsPrefix?: AssetsPrefix,
): SSRElement {
if (stylesheet.type === 'inline') {
return {
@@ -38,7 +38,7 @@ export function createStylesheetElement(
export function createStylesheetElementSet(
stylesheets: StylesheetAsset[],
base?: string,
- assetsPrefix?: AssetsPrefix
+ assetsPrefix?: AssetsPrefix,
): Set<SSRElement> {
return new Set(stylesheets.map((s) => createStylesheetElement(s, base, assetsPrefix)));
}
@@ -46,7 +46,7 @@ export function createStylesheetElementSet(
export function createModuleScriptElement(
script: { type: 'inline' | 'external'; value: string },
base?: string,
- assetsPrefix?: AssetsPrefix
+ assetsPrefix?: AssetsPrefix,
): SSRElement {
if (script.type === 'external') {
return createModuleScriptElementWithSrc(script.value, base, assetsPrefix);
@@ -63,7 +63,7 @@ export function createModuleScriptElement(
export function createModuleScriptElementWithSrc(
src: string,
base?: string,
- assetsPrefix?: AssetsPrefix
+ assetsPrefix?: AssetsPrefix,
): SSRElement {
return {
props: {
@@ -77,9 +77,9 @@ export function createModuleScriptElementWithSrc(
export function createModuleScriptsSet(
scripts: { type: 'inline' | 'external'; value: string }[],
base?: string,
- assetsPrefix?: AssetsPrefix
+ assetsPrefix?: AssetsPrefix,
): Set<SSRElement> {
return new Set<SSRElement>(
- scripts.map((script) => createModuleScriptElement(script, base, assetsPrefix))
+ scripts.map((script) => createModuleScriptElement(script, base, assetsPrefix)),
);
}
diff --git a/packages/astro/src/core/request.ts b/packages/astro/src/core/request.ts
index 27cd67a0d..93b552901 100644
--- a/packages/astro/src/core/request.ts
+++ b/packages/astro/src/core/request.ts
@@ -55,7 +55,7 @@ export function createRequest({
// Examples include `:method`, `:scheme`, `:authority`, and `:path`.
// They are always prefixed with a colon to distinguish them from other headers, and it is an error to add the to a Headers object manually.
// See https://httpwg.org/specs/rfc7540.html#HttpRequest
- Object.entries(headers as Record<string, any>).filter(([name]) => !name.startsWith(':'))
+ Object.entries(headers as Record<string, any>).filter(([name]) => !name.startsWith(':')),
);
if (typeof url === 'string') url = new URL(url);
@@ -83,7 +83,7 @@ export function createRequest({
get() {
logger.warn(
null,
- `\`Astro.request.headers\` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that \`output\` is configured as either \`"server"\` or \`output: "hybrid"\` in your config file, and that the page accessing the headers is rendered on-demand.`
+ `\`Astro.request.headers\` is unavailable in "static" output mode, and in prerendered pages within "hybrid" and "server" output modes. If you need access to request headers, make sure that \`output\` is configured as either \`"server"\` or \`output: "hybrid"\` in your config file, and that the page accessing the headers is rendered on-demand.`,
);
return _headers;
},
diff --git a/packages/astro/src/core/routing/astro-designed-error-pages.ts b/packages/astro/src/core/routing/astro-designed-error-pages.ts
index b834fb202..4e4b41b70 100644
--- a/packages/astro/src/core/routing/astro-designed-error-pages.ts
+++ b/packages/astro/src/core/routing/astro-designed-error-pages.ts
@@ -45,7 +45,7 @@ async function default404Page({ pathname }: { pathname: string }) {
tabTitle: '404: Not Found',
pathname,
}),
- { status: 404, headers: { 'Content-Type': 'text/html; charset=utf-8' } }
+ { status: 404, headers: { 'Content-Type': 'text/html; charset=utf-8' } },
);
}
// mark the function as an AstroComponentFactory for the rendering internals
diff --git a/packages/astro/src/core/routing/manifest/create.ts b/packages/astro/src/core/routing/manifest/create.ts
index a92d089ef..f9c19b9ed 100644
--- a/packages/astro/src/core/routing/manifest/create.ts
+++ b/packages/astro/src/core/routing/manifest/create.ts
@@ -133,7 +133,7 @@ export interface CreateRouteManifestParams {
function createFileBasedRoutes(
{ settings, cwd, fsMod }: CreateRouteManifestParams,
- logger: Logger
+ logger: Logger,
): RouteData[] {
const components: string[] = [];
const routes: RouteData[] = [];
@@ -150,7 +150,7 @@ function createFileBasedRoutes(
fs: typeof nodeFs,
dir: string,
parentSegments: RoutePart[][],
- parentParams: string[]
+ parentParams: string[],
) {
let items: Item[] = [];
const files = fs.readdirSync(dir);
@@ -172,8 +172,8 @@ function createFileBasedRoutes(
logger.warn(
null,
`Unsupported file type ${bold(
- resolved
- )} found. Prefix filename with an underscore (\`_\`) to ignore.`
+ resolved,
+ )} found. Prefix filename with an underscore (\`_\`) to ignore.`,
);
continue;
@@ -346,7 +346,7 @@ function createInjectedRoutes({ settings, cwd }: CreateRouteManifestParams): Pri
function createRedirectRoutes(
{ settings }: CreateRouteManifestParams,
routeMap: Map<string, RouteData>,
- logger: Logger
+ logger: Logger,
): PrioritizedRoutesData {
const { config } = settings;
const trailingSlash = config.trailingSlash;
@@ -387,7 +387,7 @@ function createRedirectRoutes(
if (/^https?:\/\//.test(destination)) {
logger.warn(
'redirects',
- `Redirecting to an external URL is not officially supported: ${from} -> ${destination}`
+ `Redirecting to an external URL is not officially supported: ${from} -> ${destination}`,
);
}
@@ -450,11 +450,11 @@ function detectRouteCollision(a: RouteData, b: RouteData, _config: AstroConfig,
// such that one of them will never be matched.
logger.warn(
'router',
- `The route "${a.route}" is defined in both "${a.component}" and "${b.component}". A static route cannot be defined more than once.`
+ `The route "${a.route}" is defined in both "${a.component}" and "${b.component}". A static route cannot be defined more than once.`,
);
logger.warn(
'router',
- 'A collision will result in an hard error in following versions of Astro.'
+ 'A collision will result in an hard error in following versions of Astro.',
);
return;
}
@@ -488,7 +488,7 @@ function detectRouteCollision(a: RouteData, b: RouteData, _config: AstroConfig,
// Both routes are guaranteed to collide such that one will never be matched.
logger.warn(
'router',
- `The route "${a.route}" is defined in both "${a.component}" and "${b.component}" using SSR mode. A dynamic SSR route cannot be defined more than once.`
+ `The route "${a.route}" is defined in both "${a.component}" and "${b.component}" using SSR mode. A dynamic SSR route cannot be defined more than once.`,
);
logger.warn('router', 'A collision will result in an hard error in following versions of Astro.');
}
@@ -496,7 +496,7 @@ function detectRouteCollision(a: RouteData, b: RouteData, _config: AstroConfig,
/** Create manifest of all static routes */
export function createRouteManifest(
params: CreateRouteManifestParams,
- logger: Logger
+ logger: Logger,
): ManifestData {
const { settings } = params;
const { config } = settings;
@@ -520,7 +520,7 @@ export function createRouteManifest(
const routes: RouteData[] = [
...injectedRoutes['legacy'].sort(routeComparator),
...[...fileBasedRoutes, ...injectedRoutes['normal'], ...redirectRoutes['normal']].sort(
- routeComparator
+ routeComparator,
),
...redirectRoutes['legacy'].sort(routeComparator),
];
@@ -543,7 +543,7 @@ export function createRouteManifest(
if (!index) {
let relativePath = path.relative(
fileURLToPath(settings.config.root),
- fileURLToPath(new URL('pages', settings.config.srcDir))
+ fileURLToPath(new URL('pages', settings.config.srcDir)),
);
throw new AstroError({
...MissingIndexForInternationalization,
diff --git a/packages/astro/src/core/routing/manifest/generator.ts b/packages/astro/src/core/routing/manifest/generator.ts
index 734aee726..4ab635ec6 100644
--- a/packages/astro/src/core/routing/manifest/generator.ts
+++ b/packages/astro/src/core/routing/manifest/generator.ts
@@ -8,7 +8,7 @@ import { compile } from 'path-to-regexp';
* @returns {Record<string, string | number | undefined>} The sanitized parameters object.
*/
function sanitizeParams(
- params: Record<string, string | number | undefined>
+ params: Record<string, string | number | undefined>,
): Record<string, string | number | undefined> {
return Object.fromEntries(
Object.entries(params).map(([key, value]) => {
@@ -16,13 +16,13 @@ function sanitizeParams(
return [key, value.normalize().replace(/#/g, '%23').replace(/\?/g, '%3F')];
}
return [key, value];
- })
+ }),
);
}
export function getRouteGenerator(
segments: RoutePart[][],
- addTrailingSlash: AstroConfig['trailingSlash']
+ addTrailingSlash: AstroConfig['trailingSlash'],
) {
const template = segments
.map((segment) => {
diff --git a/packages/astro/src/core/routing/manifest/pattern.ts b/packages/astro/src/core/routing/manifest/pattern.ts
index ee0cfaf65..65f223aa0 100644
--- a/packages/astro/src/core/routing/manifest/pattern.ts
+++ b/packages/astro/src/core/routing/manifest/pattern.ts
@@ -3,7 +3,7 @@ import type { AstroConfig, RoutePart } from '../../../@types/astro.js';
export function getPattern(
segments: RoutePart[][],
base: AstroConfig['base'],
- addTrailingSlash: AstroConfig['trailingSlash']
+ addTrailingSlash: AstroConfig['trailingSlash'],
) {
const pathname = segments
.map((segment) => {
diff --git a/packages/astro/src/core/routing/manifest/serialization.ts b/packages/astro/src/core/routing/manifest/serialization.ts
index 431febcb8..852aa703b 100644
--- a/packages/astro/src/core/routing/manifest/serialization.ts
+++ b/packages/astro/src/core/routing/manifest/serialization.ts
@@ -4,7 +4,7 @@ import { getRouteGenerator } from './generator.js';
export function serializeRouteData(
routeData: RouteData,
- trailingSlash: AstroConfig['trailingSlash']
+ trailingSlash: AstroConfig['trailingSlash'],
): SerializedRouteData {
return {
...routeData,
diff --git a/packages/astro/src/core/routing/validation.ts b/packages/astro/src/core/routing/validation.ts
index b68d5f3e8..1f11f55e6 100644
--- a/packages/astro/src/core/routing/validation.ts
+++ b/packages/astro/src/core/routing/validation.ts
@@ -26,7 +26,7 @@ export function validateDynamicRouteModule(
}: {
ssr: boolean;
route: RouteData;
- }
+ },
) {
if ((!ssr || route.prerender) && !mod.getStaticPaths) {
throw new AstroError({
@@ -40,7 +40,7 @@ export function validateDynamicRouteModule(
export function validateGetStaticPathsResult(
result: GetStaticPathsResult,
logger: Logger,
- route: RouteData
+ route: RouteData,
) {
if (!Array.isArray(result)) {
throw new AstroError({
@@ -57,7 +57,7 @@ export function validateGetStaticPathsResult(
throw new AstroError({
...AstroErrorData.InvalidGetStaticPathsEntry,
message: AstroErrorData.InvalidGetStaticPathsEntry.message(
- Array.isArray(pathObject) ? 'array' : typeof pathObject
+ Array.isArray(pathObject) ? 'array' : typeof pathObject,
),
});
}
@@ -81,14 +81,14 @@ export function validateGetStaticPathsResult(
logger.warn(
'router',
`getStaticPaths() returned an invalid path param: "${key}". A string, number or undefined value was expected, but got \`${JSON.stringify(
- val
- )}\`.`
+ val,
+ )}\`.`,
);
}
if (typeof val === 'string' && val === '') {
logger.warn(
'router',
- `getStaticPaths() returned an invalid path param: "${key}". \`undefined\` expected for an optional param, but got empty string.`
+ `getStaticPaths() returned an invalid path param: "${key}". \`undefined\` expected for an optional param, but got empty string.`,
);
}
}
diff --git a/packages/astro/src/core/sync/index.ts b/packages/astro/src/core/sync/index.ts
index 7441aabc7..7b0d3268a 100644
--- a/packages/astro/src/core/sync/index.ts
+++ b/packages/astro/src/core/sync/index.ts
@@ -88,7 +88,7 @@ export async function syncInternal({
optional: true,
cwd,
},
- []
+ [],
);
try {
@@ -104,7 +104,7 @@ export async function syncInternal({
const error = createSafeError(err);
logger.error(
'types',
- formatErrorMessage(collectErrorMetadata(error), logger.level() === 'debug') + '\n'
+ formatErrorMessage(collectErrorMetadata(error), logger.level() === 'debug') + '\n',
);
// Will return exit code 1 in CLI
throw error;
@@ -127,7 +127,7 @@ export async function syncInternal({
*/
async function syncContentCollections(
settings: AstroSettings,
- { logger, fs }: Required<Pick<SyncOptions, 'logger' | 'fs'>>
+ { logger, fs }: Required<Pick<SyncOptions, 'logger' | 'fs'>>,
): Promise<void> {
// Needed to load content config
const tempViteServer = await createServer(
@@ -138,8 +138,8 @@ async function syncContentCollections(
ssr: { external: [] },
logLevel: 'silent',
},
- { settings, logger, mode: 'build', command: 'build', fs, sync: true }
- )
+ { settings, logger, mode: 'build', command: 'build', fs, sync: true },
+ ),
);
// Patch `hot.send` to bubble up error events
@@ -186,7 +186,7 @@ async function syncContentCollections(
hint,
message: AstroErrorData.GenerateContentTypesError.message(safeError.message),
},
- { cause: e }
+ { cause: e },
);
} finally {
await tempViteServer.close();
diff --git a/packages/astro/src/core/sync/setup-env-ts.ts b/packages/astro/src/core/sync/setup-env-ts.ts
index 5a380271a..39eb062e5 100644
--- a/packages/astro/src/core/sync/setup-env-ts.ts
+++ b/packages/astro/src/core/sync/setup-env-ts.ts
@@ -16,8 +16,8 @@ function getDotAstroTypeReference({
const relativePath = normalizePath(
path.relative(
fileURLToPath(settings.config.srcDir),
- fileURLToPath(new URL(filename, settings.dotAstroDir))
- )
+ fileURLToPath(new URL(filename, settings.dotAstroDir)),
+ ),
);
return `/// <reference path=${JSON.stringify(relativePath)} />`;
@@ -36,7 +36,7 @@ export async function setUpEnvTs({
}) {
const envTsPath = new URL('env.d.ts', settings.config.srcDir);
const envTsPathRelativetoRoot = normalizePath(
- path.relative(fileURLToPath(settings.config.root), fileURLToPath(envTsPath))
+ path.relative(fileURLToPath(settings.config.root), fileURLToPath(envTsPath)),
);
const injectedTypes: Array<InjectedType> = [
diff --git a/packages/astro/src/core/util.ts b/packages/astro/src/core/util.ts
index 7ee4e4261..2dd4ddd3b 100644
--- a/packages/astro/src/core/util.ts
+++ b/packages/astro/src/core/util.ts
@@ -55,7 +55,7 @@ export function getOutputFilename(astroConfig: AstroConfig, name: string, type:
/** is a specifier an npm package? */
export function parseNpmName(
- spec: string
+ spec: string,
): { scope?: string; name: string; subpath?: string } | undefined {
// not an npm package
if (!spec || spec[0] === '.' || spec[0] === '/') return undefined;
diff --git a/packages/astro/src/core/viteUtils.ts b/packages/astro/src/core/viteUtils.ts
index 61ca26a3d..bfe1eaadc 100644
--- a/packages/astro/src/core/viteUtils.ts
+++ b/packages/astro/src/core/viteUtils.ts
@@ -20,7 +20,7 @@ export function resolvePath(specifier: string, importer: string) {
export function rootRelativePath(
root: URL,
idOrUrl: URL | string,
- shouldPrependForwardSlash = true
+ shouldPrependForwardSlash = true,
) {
let id: string;
if (typeof idOrUrl !== 'string') {
diff --git a/packages/astro/src/env/runtime.ts b/packages/astro/src/env/runtime.ts
index af63d3e5c..a2017b617 100644
--- a/packages/astro/src/env/runtime.ts
+++ b/packages/astro/src/env/runtime.ts
@@ -27,12 +27,12 @@ export function getEnv(...args: Parameters<GetEnv>) {
export function createInvalidVariablesError(
key: string,
type: string,
- result: ValidationResultInvalid
+ result: ValidationResultInvalid,
) {
return new AstroError({
...AstroErrorData.EnvInvalidVariables,
message: AstroErrorData.EnvInvalidVariables.message(
- invalidVariablesToError([{ key, type, errors: result.errors }])
+ invalidVariablesToError([{ key, type, errors: result.errors }]),
),
});
}
diff --git a/packages/astro/src/env/schema.ts b/packages/astro/src/env/schema.ts
index bd88fbb46..2fc6b003b 100644
--- a/packages/astro/src/env/schema.ts
+++ b/packages/astro/src/env/schema.ts
@@ -37,7 +37,7 @@ const EnumSchema = z.object({
.string()
.refine((v) => !v.includes("'"), {
message: `The "'" character can't be used as an enum value`,
- })
+ }),
),
optional: z.boolean().optional(),
default: z.string().optional(),
diff --git a/packages/astro/src/env/validators.ts b/packages/astro/src/env/validators.ts
index 8776793cb..f506bb8e7 100644
--- a/packages/astro/src/env/validators.ts
+++ b/packages/astro/src/env/validators.ts
@@ -159,7 +159,7 @@ function selectValidator(options: EnvFieldType): ValueValidator {
export function validateEnvVariable(
value: string | undefined,
- options: EnvFieldType
+ options: EnvFieldType,
): ValidationResult {
const isOptional = options.optional || options.default !== undefined;
if (isOptional && value === undefined) {
diff --git a/packages/astro/src/env/vite-plugin-env.ts b/packages/astro/src/env/vite-plugin-env.ts
index 9aae2cf94..fdcd6ce40 100644
--- a/packages/astro/src/env/vite-plugin-env.ts
+++ b/packages/astro/src/env/vite-plugin-env.ts
@@ -45,7 +45,7 @@ export function astroEnv({
const loadedEnv = loadEnv(
mode === 'dev' ? 'development' : 'production',
fileURLToPath(settings.config.root),
- ''
+ '',
);
for (const [key, value] of Object.entries(loadedEnv)) {
if (value !== undefined) {
@@ -138,7 +138,7 @@ function validatePublicVariables({
function getTemplates(
schema: EnvSchema,
fs: typeof fsMod,
- validatedVariables: ReturnType<typeof validatePublicVariables>
+ validatedVariables: ReturnType<typeof validatePublicVariables>,
) {
let client = '';
let server = fs.readFileSync(MODULE_TEMPLATE_URL, 'utf-8');
diff --git a/packages/astro/src/events/error.ts b/packages/astro/src/events/error.ts
index 97b9f49db..fc8eddfd8 100644
--- a/packages/astro/src/events/error.ts
+++ b/packages/astro/src/events/error.ts
@@ -105,7 +105,7 @@ function getSafeErrorMessage(message: string | Function): string {
`${match1
.split(/\.?(?=[A-Z])/)
.join('_')
- .toUpperCase()}`
+ .toUpperCase()}`,
)
.replace(/\\`/g, '`');
}
diff --git a/packages/astro/src/events/session.ts b/packages/astro/src/events/session.ts
index d9c492cb0..18049ac04 100644
--- a/packages/astro/src/events/session.ts
+++ b/packages/astro/src/events/session.ts
@@ -41,7 +41,7 @@ type StringLiteral<T> = T extends string ? (string extends T ? never : T) : neve
* results in an error, to make sure generic user input is never measured directly.
*/
function measureStringLiteral<T extends string>(
- val: StringLiteral<T> | boolean | undefined
+ val: StringLiteral<T> | boolean | undefined,
): string | boolean | undefined {
return val;
}
@@ -62,7 +62,7 @@ function sanitizeConfigInfo(obj: object | undefined, validKeys: string[]): Confi
result[key] = measureIsDefined((obj as Record<string, unknown>)[key]);
return result;
},
- {} as Record<string, boolean | undefined>
+ {} as Record<string, boolean | undefined>,
);
}
@@ -82,23 +82,23 @@ function createAnonymousConfigInfo(userConfig: AstroUserConfig) {
...sanitizeConfigInfo(userConfig, Object.keys(AstroConfigSchema.shape)),
build: sanitizeConfigInfo(
userConfig.build,
- Object.keys(AstroConfigSchema.shape.build._def.innerType.shape)
+ Object.keys(AstroConfigSchema.shape.build._def.innerType.shape),
),
image: sanitizeConfigInfo(
userConfig.image,
- Object.keys(AstroConfigSchema.shape.image._def.innerType.shape)
+ Object.keys(AstroConfigSchema.shape.image._def.innerType.shape),
),
markdown: sanitizeConfigInfo(
userConfig.markdown,
- Object.keys(AstroConfigSchema.shape.markdown._def.innerType.shape)
+ Object.keys(AstroConfigSchema.shape.markdown._def.innerType.shape),
),
experimental: sanitizeConfigInfo(
userConfig.experimental,
- Object.keys(AstroConfigSchema.shape.experimental._def.innerType.shape)
+ Object.keys(AstroConfigSchema.shape.experimental._def.innerType.shape),
),
legacy: sanitizeConfigInfo(
userConfig.legacy,
- Object.keys(AstroConfigSchema.shape.legacy._def.innerType.shape)
+ Object.keys(AstroConfigSchema.shape.legacy._def.innerType.shape),
),
vite: userConfig.vite
? sanitizeConfigInfo(userConfig.vite, Object.keys(userConfig.vite))
@@ -123,7 +123,7 @@ function createAnonymousConfigInfo(userConfig: AstroUserConfig) {
export function eventCliSession(
cliCommand: string,
userConfig: AstroUserConfig,
- flags?: Record<string, any>
+ flags?: Record<string, any>,
): { eventName: string; payload: EventPayload }[] {
// Filter out yargs default `_` flag which is the cli command
const cliFlags = flags ? Object.keys(flags).filter((name) => name != '_') : undefined;
diff --git a/packages/astro/src/i18n/index.ts b/packages/astro/src/i18n/index.ts
index 28ddfcf51..aa38b63bb 100644
--- a/packages/astro/src/i18n/index.ts
+++ b/packages/astro/src/i18n/index.ts
@@ -387,7 +387,7 @@ export function createMiddleware(
i18nManifest: SSRManifest['i18n'],
base: SSRManifest['base'],
trailingSlash: SSRManifest['trailingSlash'],
- format: SSRManifest['buildFormat']
+ format: SSRManifest['buildFormat'],
) {
return createI18nMiddleware(i18nManifest, base, trailingSlash, format);
}
diff --git a/packages/astro/src/i18n/middleware.ts b/packages/astro/src/i18n/middleware.ts
index 9f9c7348e..097332805 100644
--- a/packages/astro/src/i18n/middleware.ts
+++ b/packages/astro/src/i18n/middleware.ts
@@ -15,7 +15,7 @@ export function createI18nMiddleware(
i18n: SSRManifest['i18n'],
base: SSRManifest['base'],
trailingSlash: SSRManifest['trailingSlash'],
- format: SSRManifest['buildFormat']
+ format: SSRManifest['buildFormat'],
): MiddlewareHandler {
if (!i18n) return (_, next) => next();
const payload: MiddlewarePayload = {
diff --git a/packages/astro/src/i18n/utils.ts b/packages/astro/src/i18n/utils.ts
index e6b91c589..052fe01fc 100644
--- a/packages/astro/src/i18n/utils.ts
+++ b/packages/astro/src/i18n/utils.ts
@@ -183,7 +183,7 @@ export type RoutingStrategies =
| 'domains-prefix-always-no-redirect';
export function toRoutingStrategy(
routing: NonNullable<AstroConfig['i18n']>['routing'],
- domains: NonNullable<AstroConfig['i18n']>['domains']
+ domains: NonNullable<AstroConfig['i18n']>['domains'],
) {
let strategy: RoutingStrategies;
const hasDomains = domains ? Object.keys(domains).length > 0 : false;
diff --git a/packages/astro/src/integrations/features-validation.ts b/packages/astro/src/integrations/features-validation.ts
index 2b45e0461..87de3592b 100644
--- a/packages/astro/src/integrations/features-validation.ts
+++ b/packages/astro/src/integrations/features-validation.ts
@@ -34,7 +34,7 @@ export function validateSupportedFeatures(
featureMap: AstroFeatureMap,
config: AstroConfig,
adapterFeatures: AstroAdapterFeatures | undefined,
- logger: Logger
+ logger: Logger,
): ValidationResult {
const {
assets = UNSUPPORTED_ASSETS_FEATURE,
@@ -51,7 +51,7 @@ export function validateSupportedFeatures(
adapterName,
logger,
'staticOutput',
- () => config?.output === 'static'
+ () => config?.output === 'static',
);
validationResult.hybridOutput = validateSupportKind(
@@ -59,7 +59,7 @@ export function validateSupportedFeatures(
adapterName,
logger,
'hybridOutput',
- () => config?.output === 'hybrid'
+ () => config?.output === 'hybrid',
);
validationResult.serverOutput = validateSupportKind(
@@ -67,7 +67,7 @@ export function validateSupportedFeatures(
adapterName,
logger,
'serverOutput',
- () => config?.output === 'server'
+ () => config?.output === 'server',
);
validationResult.assets = validateAssetsFeature(assets, adapterName, config, logger);
@@ -79,12 +79,12 @@ export function validateSupportedFeatures(
'i18nDomains',
() => {
return config?.output === 'server' && !config?.site;
- }
+ },
);
if (adapterFeatures?.functionPerRoute) {
logger.error(
'config',
- 'The Astro feature `i18nDomains` is incompatible with the Adapter feature `functionPerRoute`'
+ 'The Astro feature `i18nDomains` is incompatible with the Adapter feature `functionPerRoute`',
);
}
}
@@ -94,7 +94,7 @@ export function validateSupportedFeatures(
adapterName,
logger,
'astro:env getSecret',
- () => config?.experimental?.env !== undefined
+ () => config?.experimental?.env !== undefined,
);
return validationResult;
@@ -105,7 +105,7 @@ function validateSupportKind(
adapterName: string,
logger: Logger,
featureName: string,
- hasCorrectConfig: () => boolean
+ hasCorrectConfig: () => boolean,
): boolean {
if (supportKind === STABLE) {
return true;
@@ -130,14 +130,14 @@ function featureIsUnsupported(adapterName: string, logger: Logger, featureName:
function featureIsExperimental(adapterName: string, logger: Logger, featureName: string) {
logger.warn(
'config',
- `The feature "${featureName}" is experimental and subject to change (used by ${adapterName}).`
+ `The feature "${featureName}" is experimental and subject to change (used by ${adapterName}).`,
);
}
function featureIsDeprecated(adapterName: string, logger: Logger, featureName: string) {
logger.warn(
'config',
- `The feature "${featureName}" is deprecated and will be removed in the future (used by ${adapterName}).`
+ `The feature "${featureName}" is deprecated and will be removed in the future (used by ${adapterName}).`,
);
}
@@ -148,7 +148,7 @@ function validateAssetsFeature(
assets: AstroAssetsFeature,
adapterName: string,
config: AstroConfig,
- logger: Logger
+ logger: Logger,
): boolean {
const {
supportKind = UNSUPPORTED,
@@ -158,7 +158,7 @@ function validateAssetsFeature(
if (config?.image?.service?.entrypoint === SHARP_SERVICE && !isSharpCompatible) {
logger.warn(
null,
- `The currently selected adapter \`${adapterName}\` is not compatible with the image service "Sharp".`
+ `The currently selected adapter \`${adapterName}\` is not compatible with the image service "Sharp".`,
);
return false;
}
@@ -166,7 +166,7 @@ function validateAssetsFeature(
if (config?.image?.service?.entrypoint === SQUOOSH_SERVICE && !isSquooshCompatible) {
logger.warn(
null,
- `The currently selected adapter \`${adapterName}\` is not compatible with the image service "Squoosh".`
+ `The currently selected adapter \`${adapterName}\` is not compatible with the image service "Squoosh".`,
);
return false;
}
diff --git a/packages/astro/src/integrations/hooks.ts b/packages/astro/src/integrations/hooks.ts
index 33a7c7c0c..9b2859e48 100644
--- a/packages/astro/src/integrations/hooks.ts
+++ b/packages/astro/src/integrations/hooks.ts
@@ -39,8 +39,8 @@ async function withTakingALongTimeMsg<T>({
logger.info(
'build',
`Waiting for integration ${bold(JSON.stringify(name))}, hook ${bold(
- JSON.stringify(hookName)
- )}...`
+ JSON.stringify(hookName),
+ )}...`,
);
}, timeoutMs);
const result = await hookResult;
@@ -176,7 +176,7 @@ export async function runHookConfigSetup({
if (injectRoute.entrypoint == null && 'entryPoint' in injectRoute) {
logger.warn(
null,
- `The injected route "${injectRoute.pattern}" by ${integration.name} specifies the entry point with the "entryPoint" property. This property is deprecated, please use "entrypoint" instead.`
+ `The injected route "${injectRoute.pattern}" by ${integration.name} specifies the entry point with the "entryPoint" property. This property is deprecated, please use "entrypoint" instead.`,
);
injectRoute.entrypoint = injectRoute.entryPoint as string;
}
@@ -195,26 +195,26 @@ export async function runHookConfigSetup({
addClientDirective: ({ name, entrypoint }) => {
if (updatedSettings.clientDirectives.has(name) || addedClientDirectives.has(name)) {
throw new Error(
- `The "${integration.name}" integration is trying to add the "${name}" client directive, but it already exists.`
+ `The "${integration.name}" integration is trying to add the "${name}" client directive, but it already exists.`,
);
}
// TODO: this should be performed after astro:config:done
addedClientDirectives.set(
name,
- buildClientDirectiveEntrypoint(name, entrypoint, settings.config.root)
+ buildClientDirectiveEntrypoint(name, entrypoint, settings.config.root),
);
},
addMiddleware: ({ order, entrypoint }) => {
if (typeof updatedSettings.middlewares[order] === 'undefined') {
throw new Error(
- `The "${integration.name}" integration is trying to add middleware but did not specify an order.`
+ `The "${integration.name}" integration is trying to add middleware but did not specify an order.`,
);
}
logger.debug(
'middleware',
`The integration ${integration.name} has added middleware that runs ${
order === 'pre' ? 'before' : 'after'
- } any application middleware you define.`
+ } any application middleware you define.`,
);
updatedSettings.middlewares[order].push(entrypoint);
},
@@ -296,12 +296,12 @@ export async function runHookConfigDone({
setAdapter(adapter) {
if (settings.adapter && settings.adapter.name !== adapter.name) {
throw new Error(
- `Integration "${integration.name}" conflicts with "${settings.adapter.name}". You can only configure one deployment integration.`
+ `Integration "${integration.name}" conflicts with "${settings.adapter.name}". You can only configure one deployment integration.`,
);
}
if (!adapter.supportedAstroFeatures) {
throw new Error(
- `The adapter ${adapter.name} doesn't provide a feature map. It is required in Astro 4.0.`
+ `The adapter ${adapter.name} doesn't provide a feature map. It is required in Astro 4.0.`,
);
} else {
const validationResult = validateSupportedFeatures(
@@ -310,7 +310,7 @@ export async function runHookConfigDone({
settings.config,
// SAFETY: we checked before if it's not present, and we throw an error
adapter.adapterFeatures,
- logger
+ logger,
);
for (const [featureName, supported] of Object.entries(validationResult)) {
// If `supported` / `validationResult[featureName]` only allows boolean,
@@ -320,7 +320,7 @@ export async function runHookConfigDone({
if (!supported && featureName !== 'assets') {
logger.error(
null,
- `The adapter ${adapter.name} doesn't support the feature ${featureName}. Your project won't be built. You should not use it.`
+ `The adapter ${adapter.name} doesn't support the feature ${featureName}. Your project won't be built. You should not use it.`,
);
}
}
diff --git a/packages/astro/src/jsx/babel.ts b/packages/astro/src/jsx/babel.ts
index 02280031b..648831481 100644
--- a/packages/astro/src/jsx/babel.ts
+++ b/packages/astro/src/jsx/babel.ts
@@ -58,15 +58,15 @@ function jsxAttributeToString(attr: t.JSXAttribute): string {
function addClientMetadata(
node: t.JSXElement,
- meta: { resolvedPath: string; path: string; name: string }
+ meta: { resolvedPath: string; path: string; name: string },
) {
const existingAttributes = node.openingElement.attributes.map((attr) =>
- t.isJSXAttribute(attr) ? jsxAttributeToString(attr) : null
+ t.isJSXAttribute(attr) ? jsxAttributeToString(attr) : null,
);
if (!existingAttributes.find((attr) => attr === 'client:component-path')) {
const componentPath = t.jsxAttribute(
t.jsxNamespacedName(t.jsxIdentifier('client'), t.jsxIdentifier('component-path')),
- t.stringLiteral(meta.resolvedPath)
+ t.stringLiteral(meta.resolvedPath),
);
node.openingElement.attributes.push(componentPath);
}
@@ -76,13 +76,13 @@ function addClientMetadata(
}
const componentExport = t.jsxAttribute(
t.jsxNamespacedName(t.jsxIdentifier('client'), t.jsxIdentifier('component-export')),
- t.stringLiteral(meta.name)
+ t.stringLiteral(meta.name),
);
node.openingElement.attributes.push(componentExport);
}
if (!existingAttributes.find((attr) => attr === 'client:component-hydration')) {
const staticMarker = t.jsxAttribute(
- t.jsxNamespacedName(t.jsxIdentifier('client'), t.jsxIdentifier('component-hydration'))
+ t.jsxNamespacedName(t.jsxIdentifier('client'), t.jsxIdentifier('component-hydration')),
);
node.openingElement.attributes.push(staticMarker);
}
@@ -90,30 +90,30 @@ function addClientMetadata(
function addClientOnlyMetadata(
node: t.JSXElement,
- meta: { resolvedPath: string; path: string; name: string }
+ meta: { resolvedPath: string; path: string; name: string },
) {
const tagName = getTagName(node);
node.openingElement = t.jsxOpeningElement(
t.jsxIdentifier(ClientOnlyPlaceholder),
- node.openingElement.attributes
+ node.openingElement.attributes,
);
if (node.closingElement) {
node.closingElement = t.jsxClosingElement(t.jsxIdentifier(ClientOnlyPlaceholder));
}
const existingAttributes = node.openingElement.attributes.map((attr) =>
- t.isJSXAttribute(attr) ? jsxAttributeToString(attr) : null
+ t.isJSXAttribute(attr) ? jsxAttributeToString(attr) : null,
);
if (!existingAttributes.find((attr) => attr === 'client:display-name')) {
const displayName = t.jsxAttribute(
t.jsxNamespacedName(t.jsxIdentifier('client'), t.jsxIdentifier('display-name')),
- t.stringLiteral(tagName)
+ t.stringLiteral(tagName),
);
node.openingElement.attributes.push(displayName);
}
if (!existingAttributes.find((attr) => attr === 'client:component-path')) {
const componentPath = t.jsxAttribute(
t.jsxNamespacedName(t.jsxIdentifier('client'), t.jsxIdentifier('component-path')),
- t.stringLiteral(meta.resolvedPath)
+ t.stringLiteral(meta.resolvedPath),
);
node.openingElement.attributes.push(componentPath);
}
@@ -123,13 +123,13 @@ function addClientOnlyMetadata(
}
const componentExport = t.jsxAttribute(
t.jsxNamespacedName(t.jsxIdentifier('client'), t.jsxIdentifier('component-export')),
- t.stringLiteral(meta.name)
+ t.stringLiteral(meta.name),
);
node.openingElement.attributes.push(componentExport);
}
if (!existingAttributes.find((attr) => attr === 'client:component-hydration')) {
const staticMarker = t.jsxAttribute(
- t.jsxNamespacedName(t.jsxIdentifier('client'), t.jsxIdentifier('component-hydration'))
+ t.jsxNamespacedName(t.jsxIdentifier('client'), t.jsxIdentifier('component-hydration')),
);
node.openingElement.attributes.push(staticMarker);
}
@@ -151,8 +151,8 @@ export default function astroJSX(): PluginObj {
0,
t.importDeclaration(
[t.importSpecifier(t.identifier('Fragment'), t.identifier('Fragment'))],
- t.stringLiteral('astro/jsx-runtime')
- )
+ t.stringLiteral('astro/jsx-runtime'),
+ ),
);
},
},
@@ -242,8 +242,8 @@ export default function astroJSX(): PluginObj {
} else {
throw new Error(
`Unable to match <${getTagName(
- parentNode
- )}> with client:* directive to an import statement!`
+ parentNode,
+ )}> with client:* directive to an import statement!`,
);
}
},
@@ -286,7 +286,7 @@ export default function astroJSX(): PluginObj {
if (name.startsWith('client:')) {
// eslint-disable-next-line
console.warn(
- `You are attempting to render <${displayName} ${name} />, but ${displayName} is an Astro component. Astro components do not render in the client and should not have a hydration directive. Please use a framework component for client rendering.`
+ `You are attempting to render <${displayName} ${name} />, but ${displayName} is an Astro component. Astro components do not render in the client and should not have a hydration directive. Please use a framework component for client rendering.`,
);
}
}
diff --git a/packages/astro/src/jsx/rehype.ts b/packages/astro/src/jsx/rehype.ts
index c18124796..6dcb08d0b 100644
--- a/packages/astro/src/jsx/rehype.ts
+++ b/packages/astro/src/jsx/rehype.ts
@@ -47,14 +47,14 @@ export const rehypeAnalyzeAstroMetadata: RehypePlugin = () => {
// work on Astro components as it's server-side only. Warn the user about this.
if (matchedImport.path.endsWith('.astro')) {
const clientAttribute = node.attributes.find(
- (attr) => attr.type === 'mdxJsxAttribute' && attr.name.startsWith('client:')
+ (attr) => attr.type === 'mdxJsxAttribute' && attr.name.startsWith('client:'),
) as MdxJsxAttribute | undefined;
if (clientAttribute) {
// eslint-disable-next-line
console.warn(
`You are attempting to render <${node.name!} ${
clientAttribute.name
- } />, but ${node.name!} is an Astro component. Astro components do not render in the client and should not have a hydration directive. Please use a framework component for client rendering.`
+ } />, but ${node.name!} is an Astro component. Astro components do not render in the client and should not have a hydration directive. Please use a framework component for client rendering.`,
);
}
}
@@ -165,13 +165,13 @@ function isComponent(tagName: string) {
function hasClientDirective(node: MdxJsxFlowElementHast | MdxJsxTextElementHast) {
return node.attributes.some(
- (attr) => attr.type === 'mdxJsxAttribute' && attr.name.startsWith('client:')
+ (attr) => attr.type === 'mdxJsxAttribute' && attr.name.startsWith('client:'),
);
}
function hasClientOnlyDirective(node: MdxJsxFlowElementHast | MdxJsxTextElementHast) {
return node.attributes.some(
- (attr) => attr.type === 'mdxJsxAttribute' && attr.name === 'client:only'
+ (attr) => attr.type === 'mdxJsxAttribute' && attr.name === 'client:only',
);
}
@@ -202,7 +202,7 @@ type MatchedImport = { name: string; path: string };
*/
function findMatchingImport(
tagName: string,
- imports: Map<string, Set<ImportSpecifier>>
+ imports: Map<string, Set<ImportSpecifier>>,
): MatchedImport | undefined {
const tagSpecifier = tagName.split('.')[0];
for (const [source, specs] of imports) {
@@ -239,7 +239,7 @@ function findMatchingImport(
function addClientMetadata(
node: MdxJsxFlowElementHast | MdxJsxTextElementHast,
meta: MatchedImport,
- resolvedPath: string
+ resolvedPath: string,
) {
const attributeNames = node.attributes
.map((attr) => (attr.type === 'mdxJsxAttribute' ? attr.name : null))
@@ -274,7 +274,7 @@ function addClientMetadata(
function addClientOnlyMetadata(
node: MdxJsxFlowElementHast | MdxJsxTextElementHast,
meta: { path: string; name: string },
- resolvedPath: string
+ resolvedPath: string,
) {
const attributeNames = node.attributes
.map((attr) => (attr.type === 'mdxJsxAttribute' ? attr.name : null))
diff --git a/packages/astro/src/jsx/server.ts b/packages/astro/src/jsx/server.ts
index f460094e1..73b584bae 100644
--- a/packages/astro/src/jsx/server.ts
+++ b/packages/astro/src/jsx/server.ts
@@ -10,7 +10,7 @@ const slotName = (str: string) => str.trim().replace(/[-_]([a-z])/g, (_, w) => w
export async function check(
Component: any,
props: any,
- { default: children = null, ...slotted } = {}
+ { default: children = null, ...slotted } = {},
) {
if (typeof Component !== 'function') return false;
const slots: Record<string, any> = {};
@@ -31,7 +31,7 @@ export async function renderToStaticMarkup(
this: any,
Component: any,
props = {},
- { default: children = null, ...slotted } = {}
+ { default: children = null, ...slotted } = {},
) {
const slots: Record<string, any> = {};
for (const [key, value] of Object.entries(slotted)) {
diff --git a/packages/astro/src/preferences/index.ts b/packages/astro/src/preferences/index.ts
index 48493c0f3..9318824bf 100644
--- a/packages/astro/src/preferences/index.ts
+++ b/packages/astro/src/preferences/index.ts
@@ -49,12 +49,12 @@ export interface PreferenceList extends Record<PreferenceLocation, DeepPartial<P
export interface AstroPreferences {
get<Key extends PreferenceKey>(
key: Key,
- opts?: PreferenceOptions
+ opts?: PreferenceOptions,
): Promise<GetDotKey<Preferences, Key>>;
set<Key extends PreferenceKey>(
key: Key,
value: GetDotKey<Preferences, Key>,
- opts?: PreferenceOptions
+ opts?: PreferenceOptions,
): Promise<void>;
getAll(): Promise<PublicPreferences>;
list(opts?: PreferenceOptions): Promise<PreferenceList>;
@@ -104,7 +104,7 @@ export default function createPreferences(config: AstroConfig): AstroPreferences
{},
DEFAULT_PREFERENCES,
stores['global'].getAll(),
- stores['project'].getAll()
+ stores['project'].getAll(),
);
const { _variables, ...prefs } = allPrefs;
@@ -122,7 +122,7 @@ export default function createPreferences(config: AstroConfig): AstroPreferences
function mapFrom(defaults: Preferences, astroConfig: Record<string, any>) {
return Object.fromEntries(
- Object.entries(defaults).map(([key, _]) => [key, astroConfig[key]])
+ Object.entries(defaults).map(([key, _]) => [key, astroConfig[key]]),
);
}
},
diff --git a/packages/astro/src/preferences/store.ts b/packages/astro/src/preferences/store.ts
index d8e8895e7..c999566e8 100644
--- a/packages/astro/src/preferences/store.ts
+++ b/packages/astro/src/preferences/store.ts
@@ -8,7 +8,7 @@ export class PreferenceStore {
constructor(
private dir: string,
- filename = 'settings.json'
+ filename = 'settings.json',
) {
this.file = path.join(this.dir, filename);
}
diff --git a/packages/astro/src/prefetch/index.ts b/packages/astro/src/prefetch/index.ts
index bdf8676e7..177945f37 100644
--- a/packages/astro/src/prefetch/index.ts
+++ b/packages/astro/src/prefetch/index.ts
@@ -62,7 +62,7 @@ function initTapStrategy() {
prefetch(e.target.href, { ignoreSlowConnection: true });
}
},
- { passive: true }
+ { passive: true },
);
}
}
@@ -81,7 +81,7 @@ function initHoverStrategy() {
handleHoverIn(e);
}
},
- { passive: true }
+ { passive: true },
);
document.body.addEventListener('focusout', handleHoverOut, { passive: true });
@@ -159,7 +159,7 @@ function createViewportIntersectionObserver() {
observer.unobserve(anchor);
timeouts.delete(anchor);
prefetch(anchor.href);
- }, 300) as unknown as number
+ }, 300) as unknown as number,
);
} else {
// If exited viewport but haven't prefetched, cancel it
diff --git a/packages/astro/src/prefetch/vite-plugin-prefetch.ts b/packages/astro/src/prefetch/vite-plugin-prefetch.ts
index 9e56536d9..d64c6d500 100644
--- a/packages/astro/src/prefetch/vite-plugin-prefetch.ts
+++ b/packages/astro/src/prefetch/vite-plugin-prefetch.ts
@@ -52,7 +52,7 @@ export default function astroPrefetch({ settings }: { settings: AstroSettings })
.replace('__PREFETCH_DEFAULT_STRATEGY__', JSON.stringify(prefetch?.defaultStrategy))
.replace(
'__EXPERIMENTAL_CLIENT_PRERENDER__',
- JSON.stringify(settings.config.experimental.clientPrerender)
+ JSON.stringify(settings.config.experimental.clientPrerender),
);
}
},
diff --git a/packages/astro/src/runtime/client/dev-toolbar/apps/astro.ts b/packages/astro/src/runtime/client/dev-toolbar/apps/astro.ts
index c70338ea8..e63667a12 100644
--- a/packages/astro/src/runtime/client/dev-toolbar/apps/astro.ts
+++ b/packages/astro/src/runtime/client/dev-toolbar/apps/astro.ts
@@ -368,12 +368,12 @@ export default {
(link) =>
`<a href="${link.link}" target="_blank"><astro-dev-toolbar-icon ${
isDefinedIcon(link.icon) ? `icon="${link.icon}">` : `>${link.icon}`
- }</astro-dev-toolbar-icon>${link.name}</a>`
+ }</astro-dev-toolbar-icon>${link.name}</a>`,
)
.join('')}
</section>
</div>
- `
+ `,
);
const copyDebugButton =
@@ -381,7 +381,7 @@ export default {
copyDebugButton?.addEventListener('click', () => {
navigator.clipboard.writeText(
- '```\n' + (window as DevToolbarMetadata).__astro_dev_toolbar__.debugInfo + '\n```'
+ '```\n' + (window as DevToolbarMetadata).__astro_dev_toolbar__.debugInfo + '\n```',
);
copyDebugButton.textContent = 'Copied to clipboard!';
@@ -431,7 +431,7 @@ export default {
integrationImage.append(icon);
integrationImage.style.setProperty(
'--integration-image-background',
- colorForIntegration()
+ colorForIntegration(),
);
}
diff --git a/packages/astro/src/runtime/client/dev-toolbar/apps/audit/index.ts b/packages/astro/src/runtime/client/dev-toolbar/apps/audit/index.ts
index 703b0a523..6a6aba42d 100644
--- a/packages/astro/src/runtime/client/dev-toolbar/apps/audit/index.ts
+++ b/packages/astro/src/runtime/client/dev-toolbar/apps/audit/index.ts
@@ -32,7 +32,7 @@ export default {
async init(canvas, eventTarget) {
let audits: Audit[] = [];
let auditWindow = document.createElement(
- 'astro-dev-toolbar-audit-window'
+ 'astro-dev-toolbar-audit-window',
) as DevToolbarAuditListWindow;
let hasCreatedUI = false;
@@ -60,7 +60,7 @@ export default {
if (showState) createAuditsUI();
});
},
- { timeout: 300 }
+ { timeout: 300 },
);
} else {
// Fallback for old versions of Safari, we'll assume that things are less likely to be busy after 150ms.
@@ -174,7 +174,7 @@ export default {
detail: {
state: audits.length > 0,
},
- })
+ }),
);
}
diff --git a/packages/astro/src/runtime/client/dev-toolbar/apps/audit/rules/a11y.ts b/packages/astro/src/runtime/client/dev-toolbar/apps/audit/rules/a11y.ts
index c26236c16..a20e14038 100644
--- a/packages/astro/src/runtime/client/dev-toolbar/apps/audit/rules/a11y.ts
+++ b/packages/astro/src/runtime/client/dev-toolbar/apps/audit/rules/a11y.ts
@@ -194,14 +194,14 @@ const input_type_to_implicit_role = new Map([
const ariaAttributes = new Set(
'activedescendant atomic autocomplete busy checked colcount colindex colspan controls current describedby description details disabled dropeffect errormessage expanded flowto grabbed haspopup hidden invalid keyshortcuts label labelledby level live modal multiline multiselectable orientation owns placeholder posinset pressed readonly relevant required roledescription rowcount rowindex rowspan selected setsize sort valuemax valuemin valuenow valuetext'.split(
- ' '
- )
+ ' ',
+ ),
);
const ariaRoles = new Set(
'alert alertdialog application article banner button cell checkbox columnheader combobox complementary contentinfo definition dialog directory document feed figure form grid gridcell group heading img link list listbox listitem log main marquee math menu menubar menuitem menuitemcheckbox menuitemradio navigation none note option presentation progressbar radio radiogroup region row rowgroup rowheader scrollbar search searchbox separator slider spinbutton status switch tab tablist tabpanel textbox timer toolbar tooltip tree treegrid treeitem'.split(
- ' '
- )
+ ' ',
+ ),
);
function isInteractive(element: Element): boolean {
@@ -315,7 +315,7 @@ export const a11y: AuditRuleWithSelector[] = [
if (!tracks.length) return true;
const hasCaptionTrack = Array.from(tracks).some(
- (track) => track.getAttribute('kind') === 'captions'
+ (track) => track.getAttribute('kind') === 'captions',
);
return !hasCaptionTrack;
@@ -338,7 +338,7 @@ export const a11y: AuditRuleWithSelector[] = [
a11y_required_attributes[element.localName as keyof typeof a11y_required_attributes];
const missingAttributes = requiredAttributes.filter(
- (attribute) => !element.hasAttribute(attribute)
+ (attribute) => !element.hasAttribute(attribute),
);
return `${
@@ -561,7 +561,7 @@ export const a11y: AuditRuleWithSelector[] = [
return `${
element.localName
} element has ARIA attributes that are not supported by its role (${role}): ${unsupported.join(
- ', '
+ ', ',
)}`;
},
selector: '*',
@@ -575,7 +575,7 @@ export const a11y: AuditRuleWithSelector[] = [
const attributes = getAttributeObject(element);
const unsupportedAttributes = aria.keys().filter((attribute) => !(attribute in props));
const invalidAttributes: string[] = Object.keys(attributes).filter(
- (key) => key.startsWith('aria-') && unsupportedAttributes.includes(key as any)
+ (key) => key.startsWith('aria-') && unsupportedAttributes.includes(key as any),
);
if (invalidAttributes.length > 0) {
(element as any).__astro_role = elementRole;
@@ -681,7 +681,7 @@ function getAttributeObject(element: Element): Record<string, string> {
function is_semantic_role_element(
role: ARIARoleDefinitionKey,
tag_name: string,
- attributes: Record<string, string>
+ attributes: Record<string, string>,
) {
for (const [schema, ax_object] of elementAXObjects.entries()) {
if (
diff --git a/packages/astro/src/runtime/client/dev-toolbar/apps/audit/rules/index.ts b/packages/astro/src/runtime/client/dev-toolbar/apps/audit/rules/index.ts
index 7d22a50c7..935f5376f 100644
--- a/packages/astro/src/runtime/client/dev-toolbar/apps/audit/rules/index.ts
+++ b/packages/astro/src/runtime/client/dev-toolbar/apps/audit/rules/index.ts
@@ -22,7 +22,7 @@ export interface ResolvedAuditRule {
export interface AuditRuleWithSelector extends AuditRule {
selector: string;
match?: (
- element: Element
+ element: Element,
) =>
| boolean
| null
diff --git a/packages/astro/src/runtime/client/dev-toolbar/apps/audit/rules/perf.ts b/packages/astro/src/runtime/client/dev-toolbar/apps/audit/rules/perf.ts
index 7a3de2307..6a1749d00 100644
--- a/packages/astro/src/runtime/client/dev-toolbar/apps/audit/rules/perf.ts
+++ b/packages/astro/src/runtime/client/dev-toolbar/apps/audit/rules/perf.ts
@@ -91,7 +91,7 @@ export const perf: AuditRuleWithSelector[] = [
title: 'Server-rendered component took a long time to render',
message: (element) =>
`This component took an unusually long time to render on the server (${getCleanRenderingTime(
- element.getAttribute('server-render-time')
+ element.getAttribute('server-render-time'),
)}). This might be a sign that it's doing too much work on the server, or something is blocking rendering.`,
selector: 'astro-island[server-render-time]',
match(element) {
@@ -109,7 +109,7 @@ export const perf: AuditRuleWithSelector[] = [
title: 'Client-rendered component took a long time to hydrate',
message: (element) =>
`This component took an unusually long time to render on the server (${getCleanRenderingTime(
- element.getAttribute('client-render-time')
+ element.getAttribute('client-render-time'),
)}). This could be a sign that something is blocking the main thread and preventing the component from hydrating quickly.`,
selector: 'astro-island[client-render-time]',
match(element) {
diff --git a/packages/astro/src/runtime/client/dev-toolbar/apps/audit/ui/audit-list-window.ts b/packages/astro/src/runtime/client/dev-toolbar/apps/audit/ui/audit-list-window.ts
index 86fa7b743..472e8d7c6 100644
--- a/packages/astro/src/runtime/client/dev-toolbar/apps/audit/ui/audit-list-window.ts
+++ b/packages/astro/src/runtime/client/dev-toolbar/apps/audit/ui/audit-list-window.ts
@@ -317,7 +317,7 @@ export class DevToolbarAuditListWindow extends HTMLElement {
rulesCategories.forEach((category) => {
const headerEntryContainer = document.createElement('div');
const auditCount = this.audits.filter(
- (audit) => getAuditCategory(audit.rule) === category.code
+ (audit) => getAuditCategory(audit.rule) === category.code,
).length;
const categoryBadge = createRoundedBadge(category.icon);
@@ -334,7 +334,7 @@ export class DevToolbarAuditListWindow extends HTMLElement {
if (backToListButton) {
backToListButton.addEventListener('click', () => {
const activeAudit = this.shadowRoot.querySelector(
- 'astro-dev-toolbar-audit-list-item[active]'
+ 'astro-dev-toolbar-audit-list-item[active]',
);
if (activeAudit) {
activeAudit.toggleAttribute('active', false);
@@ -355,7 +355,7 @@ export class DevToolbarAuditListWindow extends HTMLElement {
if (this.audits.length > 0) {
for (const category of rulesCategories) {
const template = this.shadowRoot.getElementById(
- 'category-template'
+ 'category-template',
) as HTMLTemplateElement;
if (!template) return;
@@ -368,7 +368,7 @@ export class DevToolbarAuditListWindow extends HTMLElement {
const categoryContent = clone.querySelector('.category-content')!;
const categoryAudits = this.audits.filter(
- (audit) => getAuditCategory(audit.rule) === category.code
+ (audit) => getAuditCategory(audit.rule) === category.code,
);
for (const audit of categoryAudits) {
@@ -399,7 +399,7 @@ export class DevToolbarAuditListWindow extends HTMLElement {
updateBadgeCounts() {
for (const category of rulesCategories) {
const auditCount = this.audits.filter(
- (audit) => getAuditCategory(audit.rule) === category.code
+ (audit) => getAuditCategory(audit.rule) === category.code,
).length;
this.badges[category.code].updateCount(auditCount);
}
diff --git a/packages/astro/src/runtime/client/dev-toolbar/apps/audit/ui/audit-ui.ts b/packages/astro/src/runtime/client/dev-toolbar/apps/audit/ui/audit-ui.ts
index e2833e804..38559e0f9 100644
--- a/packages/astro/src/runtime/client/dev-toolbar/apps/audit/ui/audit-ui.ts
+++ b/packages/astro/src/runtime/client/dev-toolbar/apps/audit/ui/audit-ui.ts
@@ -79,7 +79,7 @@ function buildAuditTooltip(rule: ResolvedAuditRule, element: Element) {
tooltip.sections.push({
content: elementFileWithPosition.slice(
- (window as DevToolbarMetadata).__astro_dev_toolbar__.root.length - 1 // We want to keep the final slash, so minus one.
+ (window as DevToolbarMetadata).__astro_dev_toolbar__.root.length - 1, // We want to keep the final slash, so minus one.
),
clickDescription: 'Click to go to file',
async clickAction() {
@@ -97,10 +97,10 @@ function buildAuditCard(
rule: ResolvedAuditRule,
highlightElement: HTMLElement,
auditedElement: Element,
- audits: Audit[]
+ audits: Audit[],
) {
const card = document.createElement(
- 'astro-dev-toolbar-audit-list-item'
+ 'astro-dev-toolbar-audit-list-item',
) as DevToolbarAuditListItem;
card.clickAction = () => {
diff --git a/packages/astro/src/runtime/client/dev-toolbar/apps/settings.ts b/packages/astro/src/runtime/client/dev-toolbar/apps/settings.ts
index eb97bd34e..7ee42da84 100644
--- a/packages/astro/src/runtime/client/dev-toolbar/apps/settings.ts
+++ b/packages/astro/src/runtime/client/dev-toolbar/apps/settings.ts
@@ -163,7 +163,7 @@ export default {
Run <code>astro preferences disable devToolbar</code> in your terminal to disable the toolbar. <a href="https://docs.astro.build/en/reference/cli-reference/#astro-preferences" target="_blank">Learn more</a>.
</section>
</label>
- `
+ `,
);
const general = windowElement.querySelector('#general')!;
for (const settingsRow of settingsRows) {
@@ -196,7 +196,7 @@ export default {
option.selected = true;
}
option.textContent = `${placement.slice(0, 1).toUpperCase()}${placement.slice(
- 1
+ 1,
)}`.replace('-', ' ');
astroSelect.append(option);
});
diff --git a/packages/astro/src/runtime/client/dev-toolbar/apps/utils/highlight.ts b/packages/astro/src/runtime/client/dev-toolbar/apps/utils/highlight.ts
index 661b68730..50be27b0e 100644
--- a/packages/astro/src/runtime/client/dev-toolbar/apps/utils/highlight.ts
+++ b/packages/astro/src/runtime/client/dev-toolbar/apps/utils/highlight.ts
@@ -4,7 +4,7 @@ import type { Icon } from '../../ui-library/icons.js';
export function createHighlight(
rect: DOMRect,
icon?: Icon,
- additionalAttributes?: Record<string, string>
+ additionalAttributes?: Record<string, string>,
) {
const highlight = document.createElement('astro-dev-toolbar-highlight');
if (icon) highlight.icon = icon;
@@ -57,7 +57,7 @@ export function positionHighlight(highlight: DevToolbarHighlight, rect: DOMRect)
export function attachTooltipToHighlight(
highlight: DevToolbarHighlight,
tooltip: HTMLElement,
- originalElement: Element
+ originalElement: Element,
) {
highlight.shadowRoot.append(tooltip);
diff --git a/packages/astro/src/runtime/client/dev-toolbar/apps/utils/icons.ts b/packages/astro/src/runtime/client/dev-toolbar/apps/utils/icons.ts
index ec5a34ad8..cddee0c26 100644
--- a/packages/astro/src/runtime/client/dev-toolbar/apps/utils/icons.ts
+++ b/packages/astro/src/runtime/client/dev-toolbar/apps/utils/icons.ts
@@ -13,7 +13,7 @@ const categoryIcons = new Map(
analytics: ['checkCircle', 'compress', 'searchFile'],
accessibility: ['approveUser', 'checkCircle'],
other: ['checkCircle', 'grid', 'puzzle', 'sitemap'],
- })
+ }),
);
export function iconForIntegration(integration: Integration) {
diff --git a/packages/astro/src/runtime/client/dev-toolbar/apps/utils/window.ts b/packages/astro/src/runtime/client/dev-toolbar/apps/utils/window.ts
index fb76c2a9a..87dee93da 100644
--- a/packages/astro/src/runtime/client/dev-toolbar/apps/utils/window.ts
+++ b/packages/astro/src/runtime/client/dev-toolbar/apps/utils/window.ts
@@ -10,7 +10,7 @@ export function createWindowElement(content: string, placement = settings.config
export function closeOnOutsideClick(
eventTarget: EventTarget,
- additionalCheck?: (target: Element) => boolean
+ additionalCheck?: (target: Element) => boolean,
) {
function onPageClick(event: MouseEvent) {
const target = event.target as Element | null;
@@ -23,7 +23,7 @@ export function closeOnOutsideClick(
detail: {
state: false,
},
- })
+ }),
);
}
eventTarget.addEventListener('app-toggled', (event: any) => {
diff --git a/packages/astro/src/runtime/client/dev-toolbar/apps/xray.ts b/packages/astro/src/runtime/client/dev-toolbar/apps/xray.ts
index 6dae6f6ca..2e56b0f24 100644
--- a/packages/astro/src/runtime/client/dev-toolbar/apps/xray.ts
+++ b/packages/astro/src/runtime/client/dev-toolbar/apps/xray.ts
@@ -71,7 +71,7 @@ export default {
<p>
It looks like there are no interactive component islands on this page. Did you forget to add a client directive to your interactive UI component?
</p>
- `
+ `,
);
canvas.append(window);
@@ -140,13 +140,13 @@ export default {
// Display the props if we have any
// Ignore the "data-astro-cid-XXXXXX" prop (internal)
const islandPropsEntries = Object.entries(islandProps).filter(
- (prop: any) => !prop[0].startsWith('data-astro-cid-')
+ (prop: any) => !prop[0].startsWith('data-astro-cid-'),
);
if (islandPropsEntries.length > 0) {
const stringifiedProps = JSON.stringify(
Object.fromEntries(islandPropsEntries.map((prop: any) => [prop[0], prop[1][1]])),
undefined,
- 2
+ 2,
);
tooltip.sections.push({
title: 'Props',
@@ -167,8 +167,8 @@ export default {
'/__open-in-editor?file=' +
encodeURIComponent(
(window as DevToolbarMetadata).__astro_dev_toolbar__.root +
- islandComponentPath.slice(1)
- )
+ islandComponentPath.slice(1),
+ ),
);
},
});
diff --git a/packages/astro/src/runtime/client/dev-toolbar/entrypoint.ts b/packages/astro/src/runtime/client/dev-toolbar/entrypoint.ts
index 48cdac72f..9731f3597 100644
--- a/packages/astro/src/runtime/client/dev-toolbar/entrypoint.ts
+++ b/packages/astro/src/runtime/client/dev-toolbar/entrypoint.ts
@@ -270,11 +270,11 @@ document.addEventListener('DOMContentLoaded', async () => {
hiddenApps.some(
(p) =>
p.notification.state === true &&
- p.notification.level === notificationLevel
- )
+ p.notification.level === notificationLevel,
+ ),
) ?? 'error',
},
- })
+ }),
);
});
}
@@ -286,7 +286,7 @@ document.addEventListener('DOMContentLoaded', async () => {
const apps: DevToolbarApp[] = [
...[astroDevToolApp, astroXrayApp, astroAuditApp, astroSettingsApp, astroMoreApp].map(
- (appDef) => prepareApp(appDef, true)
+ (appDef) => prepareApp(appDef, true),
),
...customAppsDefinitions.map((appDef) => prepareApp(appDef, false)),
];
diff --git a/packages/astro/src/runtime/client/dev-toolbar/helpers.ts b/packages/astro/src/runtime/client/dev-toolbar/helpers.ts
index c205d0003..a8250ed81 100644
--- a/packages/astro/src/runtime/client/dev-toolbar/helpers.ts
+++ b/packages/astro/src/runtime/client/dev-toolbar/helpers.ts
@@ -35,7 +35,7 @@ export class ToolbarAppEventTarget extends EventTarget {
state: options.state,
level: options.state === true ? options.level : undefined,
} satisfies NotificationPayload,
- })
+ }),
);
}
@@ -50,7 +50,7 @@ export class ToolbarAppEventTarget extends EventTarget {
detail: {
state: options.state,
} satisfies AppStatePayload,
- })
+ }),
);
}
diff --git a/packages/astro/src/runtime/client/dev-toolbar/settings.ts b/packages/astro/src/runtime/client/dev-toolbar/settings.ts
index 34ab7b5c0..2f5eabe6d 100644
--- a/packages/astro/src/runtime/client/dev-toolbar/settings.ts
+++ b/packages/astro/src/runtime/client/dev-toolbar/settings.ts
@@ -39,7 +39,7 @@ function getSettings() {
console[level](
`%cAstro`,
'background: linear-gradient(66.77deg, #D83333 0%, #F041FF 100%); color: white; padding-inline: 4px; border-radius: 2px; font-family: monospace;',
- message
+ message,
);
}
diff --git a/packages/astro/src/runtime/client/dev-toolbar/toolbar.ts b/packages/astro/src/runtime/client/dev-toolbar/toolbar.ts
index 3f9db6b1d..08ea61cac 100644
--- a/packages/astro/src/runtime/client/dev-toolbar/toolbar.ts
+++ b/packages/astro/src/runtime/client/dev-toolbar/toolbar.ts
@@ -284,13 +284,13 @@ export class AstroDevToolbar extends HTMLElement {
${
this.apps.filter((app) => !app.builtIn).length > this.customAppsToShow
? this.getAppTemplate(
- this.apps.find((app) => app.builtIn && app.id === 'astro:more')!
+ this.apps.find((app) => app.builtIn && app.id === 'astro:more')!,
)
: ''
}
<div class="separator"></div>
${this.getAppTemplate(
- this.apps.find((app) => app.builtIn && app.id === 'astro:settings')!
+ this.apps.find((app) => app.builtIn && app.id === 'astro:settings')!,
)}
</div>
</div>
@@ -315,7 +315,7 @@ export class AstroDevToolbar extends HTMLElement {
async () => {
this.apps.map((app) => this.initApp(app));
},
- { timeout: 300 }
+ { timeout: 300 },
);
} else {
setTimeout(async () => {
@@ -433,7 +433,7 @@ export class AstroDevToolbar extends HTMLElement {
getAppCanvasById(id: string) {
return this.shadowRoot.querySelector<HTMLElement>(
- `astro-dev-toolbar-app-canvas[data-app-id="${id}"]`
+ `astro-dev-toolbar-app-canvas[data-app-id="${id}"]`,
);
}
@@ -482,7 +482,7 @@ export class AstroDevToolbar extends HTMLElement {
app.active = newStatus ?? !app.active;
const mainBarButton = this.getAppButtonById(app.id);
const moreBarButton = this.getAppCanvasById('astro:more')?.shadowRoot?.querySelector(
- `[data-app-id="${app.id}"]`
+ `[data-app-id="${app.id}"]`,
);
if (mainBarButton) {
@@ -513,7 +513,7 @@ export class AstroDevToolbar extends HTMLElement {
state: app.active,
app,
},
- })
+ }),
);
});
@@ -586,7 +586,7 @@ export class AstroDevToolbar extends HTMLElement {
detail: {
placement: newPlacement,
},
- })
+ }),
);
});
}
diff --git a/packages/astro/src/runtime/client/dev-toolbar/ui-library/badge.ts b/packages/astro/src/runtime/client/dev-toolbar/ui-library/badge.ts
index 0a4f30cfc..f018e8f82 100644
--- a/packages/astro/src/runtime/client/dev-toolbar/ui-library/badge.ts
+++ b/packages/astro/src/runtime/client/dev-toolbar/ui-library/badge.ts
@@ -17,7 +17,7 @@ export class DevToolbarBadge extends HTMLElement {
set size(value) {
if (!sizes.includes(value)) {
settings.logger.error(
- `Invalid size: ${value}, expected one of ${sizes.join(', ')}, got ${value}.`
+ `Invalid size: ${value}, expected one of ${sizes.join(', ')}, got ${value}.`,
);
return;
}
@@ -32,7 +32,7 @@ export class DevToolbarBadge extends HTMLElement {
set badgeStyle(value) {
if (!styles.includes(value)) {
settings.logger.error(
- `Invalid style: ${value}, expected one of ${styles.join(', ')}, got ${value}.`
+ `Invalid style: ${value}, expected one of ${styles.join(', ')}, got ${value}.`,
);
return;
}
diff --git a/packages/astro/src/runtime/client/dev-toolbar/ui-library/button.ts b/packages/astro/src/runtime/client/dev-toolbar/ui-library/button.ts
index 067a1cf2a..0f13c67ec 100644
--- a/packages/astro/src/runtime/client/dev-toolbar/ui-library/button.ts
+++ b/packages/astro/src/runtime/client/dev-toolbar/ui-library/button.ts
@@ -20,7 +20,7 @@ export class DevToolbarButton extends HTMLElement {
set size(value) {
if (!sizes.includes(value)) {
settings.logger.error(
- `Invalid size: ${value}, expected one of ${sizes.join(', ')}, got ${value}.`
+ `Invalid size: ${value}, expected one of ${sizes.join(', ')}, got ${value}.`,
);
return;
}
@@ -35,7 +35,7 @@ export class DevToolbarButton extends HTMLElement {
set buttonStyle(value) {
if (!styles.includes(value)) {
settings.logger.error(
- `Invalid style: ${value}, expected one of ${styles.join(', ')}, got ${value}.`
+ `Invalid style: ${value}, expected one of ${styles.join(', ')}, got ${value}.`,
);
return;
}
@@ -50,7 +50,7 @@ export class DevToolbarButton extends HTMLElement {
set buttonBorderRadius(value) {
if (!borderRadii.includes(value)) {
settings.logger.error(
- `Invalid border-radius: ${value}, expected one of ${borderRadii.join(', ')}, got ${value}.`
+ `Invalid border-radius: ${value}, expected one of ${borderRadii.join(', ')}, got ${value}.`,
);
return;
}
diff --git a/packages/astro/src/runtime/client/dev-toolbar/ui-library/card.ts b/packages/astro/src/runtime/client/dev-toolbar/ui-library/card.ts
index bba46a943..abaf90efa 100644
--- a/packages/astro/src/runtime/client/dev-toolbar/ui-library/card.ts
+++ b/packages/astro/src/runtime/client/dev-toolbar/ui-library/card.ts
@@ -18,7 +18,7 @@ export class DevToolbarCard extends HTMLElement {
set cardStyle(value) {
if (!styles.includes(value)) {
settings.logger.error(
- `Invalid style: ${value}, expected one of ${styles.join(', ')}, got ${value}.`
+ `Invalid style: ${value}, expected one of ${styles.join(', ')}, got ${value}.`,
);
return;
}
diff --git a/packages/astro/src/runtime/client/dev-toolbar/ui-library/highlight.ts b/packages/astro/src/runtime/client/dev-toolbar/ui-library/highlight.ts
index 2dd85edd9..c77d2103b 100644
--- a/packages/astro/src/runtime/client/dev-toolbar/ui-library/highlight.ts
+++ b/packages/astro/src/runtime/client/dev-toolbar/ui-library/highlight.ts
@@ -16,7 +16,7 @@ export class DevToolbarHighlight extends HTMLElement {
set highlightStyle(value) {
if (!styles.includes(value)) {
settings.logger.error(
- `Invalid style: ${value}, expected one of ${styles.join(', ')}, got ${value}.`
+ `Invalid style: ${value}, expected one of ${styles.join(', ')}, got ${value}.`,
);
return;
}
diff --git a/packages/astro/src/runtime/client/dev-toolbar/ui-library/icons.ts b/packages/astro/src/runtime/client/dev-toolbar/ui-library/icons.ts
index cc8fb7829..bc47970c2 100644
--- a/packages/astro/src/runtime/client/dev-toolbar/ui-library/icons.ts
+++ b/packages/astro/src/runtime/client/dev-toolbar/ui-library/icons.ts
@@ -8,7 +8,7 @@ export function isDefinedIcon(icon: Icon): icon is DefinedIcon {
export function getIconElement(name: DefinedIcon): SVGElement;
export function getIconElement(name: string & NonNullable<unknown>): undefined;
export function getIconElement(
- name: DefinedIcon | (string & NonNullable<unknown>)
+ name: DefinedIcon | (string & NonNullable<unknown>),
): SVGElement | undefined {
const icon = icons[name as DefinedIcon];
diff --git a/packages/astro/src/runtime/client/dev-toolbar/ui-library/window.ts b/packages/astro/src/runtime/client/dev-toolbar/ui-library/window.ts
index 35cd0aa67..8b040ab44 100644
--- a/packages/astro/src/runtime/client/dev-toolbar/ui-library/window.ts
+++ b/packages/astro/src/runtime/client/dev-toolbar/ui-library/window.ts
@@ -18,7 +18,7 @@ export class DevToolbarWindow extends HTMLElement {
set placement(value) {
if (!isValidPlacement(value)) {
settings.logger.error(
- `Invalid placement: ${value}, expected one of ${placements.join(', ')}, got ${value}.`
+ `Invalid placement: ${value}, expected one of ${placements.join(', ')}, got ${value}.`,
);
return;
}
diff --git a/packages/astro/src/runtime/server/astro-component.ts b/packages/astro/src/runtime/server/astro-component.ts
index 9acc099a9..928d23ad8 100644
--- a/packages/astro/src/runtime/server/astro-component.ts
+++ b/packages/astro/src/runtime/server/astro-component.ts
@@ -10,7 +10,7 @@ function validateArgs(args: unknown[]): args is Parameters<AstroComponentFactory
function baseCreateComponent(
cb: AstroComponentFactory,
moduleId?: string,
- propagation?: PropagationHint
+ propagation?: PropagationHint,
): AstroComponentFactory {
const name = moduleId?.split('/').pop()?.replace('.astro', '') ?? '';
const fn = (...args: Parameters<AstroComponentFactory>) => {
@@ -44,7 +44,7 @@ function createComponentWithOptions(opts: CreateComponentOptions) {
export function createComponent(
arg1: AstroComponentFactory | CreateComponentOptions,
moduleId?: string,
- propagation?: PropagationHint
+ propagation?: PropagationHint,
) {
if (typeof arg1 === 'function') {
return baseCreateComponent(arg1, moduleId, propagation);
diff --git a/packages/astro/src/runtime/server/astro-island.ts b/packages/astro/src/runtime/server/astro-island.ts
index 22d9dd00a..3c0404435 100644
--- a/packages/astro/src/runtime/server/astro-island.ts
+++ b/packages/astro/src/runtime/server/astro-island.ts
@@ -8,7 +8,7 @@ declare const Astro: {
[k in directiveAstroKeys]?: (
fn: () => Promise<() => void>,
opts: Record<string, any>,
- root: HTMLElement
+ root: HTMLElement,
) => unknown;
};
@@ -123,7 +123,7 @@ declare const Astro: {
return this.hydrate;
},
opts,
- this
+ this,
);
} catch (e) {
// eslint-disable-next-line no-console
@@ -182,7 +182,7 @@ declare const Astro: {
console.error(
`[hydrate] Error parsing props for component ${componentName}`,
this.getAttribute('props'),
- e
+ e,
);
throw e;
}
@@ -195,7 +195,7 @@ declare const Astro: {
if (process.env.NODE_ENV === 'development' && hydrationTimeStart)
this.setAttribute(
'client-render-time',
- (performance.now() - hydrationTimeStart).toString()
+ (performance.now() - hydrationTimeStart).toString(),
);
this.removeAttribute('ssr');
this.dispatchEvent(new CustomEvent('astro:hydrate'));
diff --git a/packages/astro/src/runtime/server/endpoint.ts b/packages/astro/src/runtime/server/endpoint.ts
index 8cd676391..900d604fd 100644
--- a/packages/astro/src/runtime/server/endpoint.ts
+++ b/packages/astro/src/runtime/server/endpoint.ts
@@ -10,7 +10,7 @@ export async function renderEndpoint(
mod: EndpointHandler,
context: APIContext,
ssr: boolean,
- logger: Logger
+ logger: Logger,
) {
const { request, url } = context;
@@ -21,8 +21,8 @@ export async function renderEndpoint(
logger.warn(
'router',
`${url.pathname} ${bold(
- method
- )} requests are not available for a static site. Update your config to \`output: 'server'\` or \`output: 'hybrid'\` to enable.`
+ method,
+ )} requests are not available for a static site. Update your config to \`output: 'server'\` or \`output: 'hybrid'\` to enable.`,
);
}
if (handler === undefined) {
@@ -34,7 +34,7 @@ export async function renderEndpoint(
.join(', ')}\n` +
('all' in mod
? `One of the exported handlers is "all" (lowercase), did you mean to export 'ALL'?\n`
- : '')
+ : ''),
);
// No handler matching the verb found, so this should be a
// 404. Should be handled by 404.astro route if possible.
@@ -45,7 +45,7 @@ export async function renderEndpoint(
'router',
`The route "${
url.pathname
- }" exports a value for the method "${method}", but it is of the type ${typeof handler} instead of a function.`
+ }" exports a value for the method "${method}", but it is of the type ${typeof handler} instead of a function.`,
);
return new Response(null, { status: 500 });
}
diff --git a/packages/astro/src/runtime/server/escape.ts b/packages/astro/src/runtime/server/escape.ts
index 6674b08ff..1dbfd3725 100644
--- a/packages/astro/src/runtime/server/escape.ts
+++ b/packages/astro/src/runtime/server/escape.ts
@@ -82,7 +82,7 @@ function* unescapeChunks(iterable: Iterable<any>): any {
}
export function unescapeHTML(
- str: any
+ str: any,
):
| BlessedType
| Promise<BlessedType | AsyncGenerator<BlessedType, void, unknown>>
diff --git a/packages/astro/src/runtime/server/hydration.ts b/packages/astro/src/runtime/server/hydration.ts
index 28b5ff674..ab6396566 100644
--- a/packages/astro/src/runtime/server/hydration.ts
+++ b/packages/astro/src/runtime/server/hydration.ts
@@ -34,7 +34,7 @@ const transitionDirectivesToCopyOnIsland = Object.freeze([
// Finds these special props and removes them from what gets passed into the component.
export function extractDirectives(
inputProps: Props,
- clientDirectives: SSRResult['clientDirectives']
+ clientDirectives: SSRResult['clientDirectives'],
): ExtractedProps {
let extracted: ExtractedProps = {
isPage: false,
@@ -84,7 +84,7 @@ export function extractDirectives(
.map((d) => `client:${d}`)
.join(', ');
throw new Error(
- `Error: invalid hydration directive "${key}". Supported hydration methods: ${hydrationMethods}`
+ `Error: invalid hydration directive "${key}". Supported hydration methods: ${hydrationMethods}`,
);
}
@@ -125,7 +125,7 @@ interface HydrateScriptOptions {
/** For hydrated components, generate a <script type="module"> to load the component */
export async function generateHydrateScript(
scriptOptions: HydrateScriptOptions,
- metadata: Required<AstroComponentMetadata>
+ metadata: Required<AstroComponentMetadata>,
): Promise<SSRElement> {
const { renderer, result, astroId, props, attrs } = scriptOptions;
const { hydrate, componentUrl, componentExport } = metadata;
@@ -172,7 +172,7 @@ export async function generateHydrateScript(
JSON.stringify({
name: metadata.displayName,
value: metadata.hydrateArgs || '',
- })
+ }),
);
transitionDirectivesToCopyOnIsland.forEach((name) => {
diff --git a/packages/astro/src/runtime/server/index.ts b/packages/astro/src/runtime/server/index.ts
index 7a1ad16e8..e2b49c231 100644
--- a/packages/astro/src/runtime/server/index.ts
+++ b/packages/astro/src/runtime/server/index.ts
@@ -72,7 +72,7 @@ export function __astro_tag_component__(Component: unknown, rendererName: string
export function spreadAttributes(
values: Record<any, any> = {},
_name?: string,
- { class: scopedClassName }: { class?: string } = {}
+ { class: scopedClassName }: { class?: string } = {},
) {
let output = '';
// If the compiler passes along a scoped class, merge with existing props or inject it
diff --git a/packages/astro/src/runtime/server/jsx.ts b/packages/astro/src/runtime/server/jsx.ts
index b035d2b12..2491ab589 100644
--- a/packages/astro/src/runtime/server/jsx.ts
+++ b/packages/astro/src/runtime/server/jsx.ts
@@ -37,7 +37,7 @@ export async function renderJSX(result: SSRResult, vnode: any): Promise<any> {
return '';
case Array.isArray(vnode):
return markHTMLString(
- (await Promise.all(vnode.map((v: any) => renderJSX(result, v)))).join('')
+ (await Promise.all(vnode.map((v: any) => renderJSX(result, v)))).join(''),
);
}
@@ -130,7 +130,7 @@ Did you forget to import the component or is it possible there is a typo?`);
renderJSX(result, value).then((output) => {
if (output.toString().trim().length === 0) return;
slots[key] = () => output;
- })
+ }),
);
}
await Promise.all(slotPromises);
@@ -142,7 +142,7 @@ Did you forget to import the component or is it possible there is a typo?`);
vnode.props['client:display-name'] ?? '',
null,
props,
- slots
+ slots,
);
} else {
output = await renderComponentToString(
@@ -150,7 +150,7 @@ Did you forget to import the component or is it possible there is a typo?`);
typeof vnode.type === 'function' ? vnode.type.name : vnode.type,
vnode.type,
props,
- slots
+ slots,
);
}
return markHTMLString(output);
@@ -163,7 +163,7 @@ Did you forget to import the component or is it possible there is a typo?`);
async function renderElement(
result: any,
tag: string,
- { children, ...props }: Record<string, any>
+ { children, ...props }: Record<string, any>,
) {
return markHTMLString(
`<${tag}${spreadAttributes(props)}${markHTMLString(
@@ -171,8 +171,8 @@ async function renderElement(
? `/>`
: `>${
children == null ? '' : await renderJSX(result, prerenderElementChildren(tag, children))
- }</${tag}>`
- )}`
+ }</${tag}>`,
+ )}`,
);
}
diff --git a/packages/astro/src/runtime/server/render/astro/factory.ts b/packages/astro/src/runtime/server/render/astro/factory.ts
index f298a4ac1..db319eb1a 100644
--- a/packages/astro/src/runtime/server/render/astro/factory.ts
+++ b/packages/astro/src/runtime/server/render/astro/factory.ts
@@ -18,7 +18,7 @@ export function isAstroComponentFactory(obj: any): obj is AstroComponentFactory
export function isAPropagatingComponent(
result: SSRResult,
- factory: AstroComponentFactory
+ factory: AstroComponentFactory,
): boolean {
let hint: PropagationHint = factory.propagation || 'none';
if (factory.moduleId && result.componentMetadata.has(factory.moduleId) && hint === 'none') {
diff --git a/packages/astro/src/runtime/server/render/astro/instance.ts b/packages/astro/src/runtime/server/render/astro/instance.ts
index 1cfb5b524..3246a7e1b 100644
--- a/packages/astro/src/runtime/server/render/astro/instance.ts
+++ b/packages/astro/src/runtime/server/render/astro/instance.ts
@@ -24,7 +24,7 @@ export class AstroComponentInstance {
result: SSRResult,
props: ComponentProps,
slots: ComponentSlots,
- factory: AstroComponentFactory
+ factory: AstroComponentFactory,
) {
this.result = result;
this.props = props;
@@ -79,7 +79,7 @@ function validateComponentProps(props: any, displayName: string) {
if (prop.startsWith('client:')) {
// eslint-disable-next-line
console.warn(
- `You are attempting to render <${displayName} ${prop} />, but ${displayName} is an Astro component. Astro components do not render in the client and should not have a hydration directive. Please use a framework component for client rendering.`
+ `You are attempting to render <${displayName} ${prop} />, but ${displayName} is an Astro component. Astro components do not render in the client and should not have a hydration directive. Please use a framework component for client rendering.`,
);
}
}
@@ -91,7 +91,7 @@ export function createAstroComponentInstance(
displayName: string,
factory: AstroComponentFactory,
props: ComponentProps,
- slots: any = {}
+ slots: any = {},
) {
validateComponentProps(props, displayName);
const instance = new AstroComponentInstance(result, props, slots, factory);
diff --git a/packages/astro/src/runtime/server/render/astro/render.ts b/packages/astro/src/runtime/server/render/astro/render.ts
index 775f7f09c..41845b7b9 100644
--- a/packages/astro/src/runtime/server/render/astro/render.ts
+++ b/packages/astro/src/runtime/server/render/astro/render.ts
@@ -15,14 +15,14 @@ export async function renderToString(
props: any,
children: any,
isPage = false,
- route?: RouteData
+ route?: RouteData,
): Promise<string | Response> {
const templateResult = await callComponentAsTemplateResultOrResponse(
result,
componentFactory,
props,
children,
- route
+ route,
);
// If the Astro component returns a Response on init, return that response
@@ -65,14 +65,14 @@ export async function renderToReadableStream(
props: any,
children: any,
isPage = false,
- route?: RouteData
+ route?: RouteData,
): Promise<ReadableStream | Response> {
const templateResult = await callComponentAsTemplateResultOrResponse(
result,
componentFactory,
props,
children,
- route
+ route,
);
// If the Astro component returns a Response on init, return that response
@@ -142,7 +142,7 @@ async function callComponentAsTemplateResultOrResponse(
componentFactory: AstroComponentFactory,
props: any,
children: any,
- route?: RouteData
+ route?: RouteData,
) {
const factoryResult = await componentFactory(result, props, children);
@@ -157,7 +157,7 @@ async function callComponentAsTemplateResultOrResponse(
...AstroErrorData.OnlyResponseCanBeReturned,
message: AstroErrorData.OnlyResponseCanBeReturned.message(
route?.route,
- typeof factoryResult
+ typeof factoryResult,
),
location: {
file: route?.component,
@@ -203,14 +203,14 @@ export async function renderToAsyncIterable(
props: any,
children: any,
isPage = false,
- route?: RouteData
+ route?: RouteData,
): Promise<AsyncIterable<Uint8Array> | Response> {
const templateResult = await callComponentAsTemplateResultOrResponse(
result,
componentFactory,
props,
children,
- route
+ route,
);
if (templateResult instanceof Response) return templateResult;
let renderedFirstPageChunk = false;
diff --git a/packages/astro/src/runtime/server/render/common.ts b/packages/astro/src/runtime/server/render/common.ts
index 780e41463..0845bdd65 100644
--- a/packages/astro/src/runtime/server/render/common.ts
+++ b/packages/astro/src/runtime/server/render/common.ts
@@ -54,7 +54,7 @@ export const decoder = new TextDecoder();
// can ensure they are added only once, and as soon as possible.
function stringifyChunk(
result: SSRResult,
- chunk: string | HTMLString | SlotString | RenderInstruction
+ chunk: string | HTMLString | SlotString | RenderInstruction,
): string {
if (isRenderInstruction(chunk)) {
const instruction = chunk;
@@ -130,7 +130,7 @@ export function chunkToString(result: SSRResult, chunk: Exclude<RenderDestinatio
export function chunkToByteArray(
result: SSRResult,
- chunk: Exclude<RenderDestinationChunk, Response>
+ chunk: Exclude<RenderDestinationChunk, Response>,
): Uint8Array {
if (ArrayBuffer.isView(chunk)) {
return chunk as Uint8Array;
diff --git a/packages/astro/src/runtime/server/render/component.ts b/packages/astro/src/runtime/server/render/component.ts
index 5b22adecd..449f58fbc 100644
--- a/packages/astro/src/runtime/server/render/component.ts
+++ b/packages/astro/src/runtime/server/render/component.ts
@@ -77,11 +77,11 @@ async function renderFrameworkComponent(
displayName: string,
Component: unknown,
_props: Record<string | number, any>,
- slots: any = {}
+ slots: any = {},
): Promise<RenderInstance> {
if (!Component && 'client:only' in _props === false) {
throw new Error(
- `Unable to render ${displayName} because it is ${Component}!\nDid you forget to import the component or is it possible there is a typo?`
+ `Unable to render ${displayName} because it is ${Component}!\nDid you forget to import the component or is it possible there is a typo?`,
);
}
@@ -93,7 +93,7 @@ async function renderFrameworkComponent(
const { hydration, isPage, props, propsWithoutTransitionAttributes } = extractDirectives(
_props,
- clientDirectives
+ clientDirectives,
);
let html = '';
let attrs: Record<string, string> | undefined = undefined;
@@ -152,7 +152,7 @@ async function renderFrameworkComponent(
result,
Component as typeof HTMLElement,
_props,
- slots
+ slots,
);
return {
render(destination) {
@@ -168,7 +168,7 @@ async function renderFrameworkComponent(
: metadata.hydrateArgs;
if (clientOnlyValues.has(rendererName)) {
renderer = renderers.find(
- ({ name }) => name === `@astrojs/${rendererName}` || name === rendererName
+ ({ name }) => name === `@astrojs/${rendererName}` || name === rendererName,
);
}
}
@@ -199,10 +199,10 @@ async function renderFrameworkComponent(
metadata.displayName,
metadata?.componentUrl?.split('.').pop(),
plural,
- validRenderers.length
+ validRenderers.length,
),
hint: AstroErrorData.NoMatchingRenderer.hint(
- formatList(probableRendererNames.map((r) => '`' + r + '`'))
+ formatList(probableRendererNames.map((r) => '`' + r + '`')),
),
});
} else {
@@ -211,13 +211,13 @@ async function renderFrameworkComponent(
...AstroErrorData.NoClientOnlyHint,
message: AstroErrorData.NoClientOnlyHint.message(metadata.displayName),
hint: AstroErrorData.NoClientOnlyHint.hint(
- probableRendererNames.map((r) => r.replace('@astrojs/', '')).join('|')
+ probableRendererNames.map((r) => r.replace('@astrojs/', '')).join('|'),
),
});
}
} else if (typeof Component !== 'string') {
const matchingRenderers = validRenderers.filter((r) =>
- probableRendererNames.includes(r.name)
+ probableRendererNames.includes(r.name),
);
const plural = validRenderers.length > 1;
if (matchingRenderers.length === 0) {
@@ -227,10 +227,10 @@ async function renderFrameworkComponent(
metadata.displayName,
metadata?.componentUrl?.split('.').pop(),
plural,
- validRenderers.length
+ validRenderers.length,
),
hint: AstroErrorData.NoMatchingRenderer.hint(
- formatList(probableRendererNames.map((r) => '`' + r + '`'))
+ formatList(probableRendererNames.map((r) => '`' + r + '`')),
),
});
} else if (matchingRenderers.length === 1) {
@@ -242,7 +242,7 @@ async function renderFrameworkComponent(
Component,
propsWithoutTransitionAttributes,
children,
- metadata
+ metadata,
));
} else {
throw new Error(`Unable to render ${metadata.displayName}!
@@ -267,7 +267,7 @@ If you're still stuck, please open an issue on GitHub or join us at https://astr
// warning if provide incorrect client:only directive but find the renderer by guess
// eslint-disable-next-line no-console
console.warn(
- `The client:only directive for ${metadata.displayName} is not recognized. The renderer ${renderer.name} will be used. If you intended to use a different renderer, please provide a valid client:only directive.`
+ `The client:only directive for ${metadata.displayName} is not recognized. The renderer ${renderer.name} will be used. If you intended to use a different renderer, please provide a valid client:only directive.`,
);
}
html = await renderSlotToString(result, slots?.fallback);
@@ -278,7 +278,7 @@ If you're still stuck, please open an issue on GitHub or join us at https://astr
Component,
propsWithoutTransitionAttributes,
children,
- metadata
+ metadata,
));
if (process.env.NODE_ENV === 'development')
componentServerRenderEndTime = performance.now() - componentRenderStartTime;
@@ -298,7 +298,7 @@ If you're still stuck, please open an issue on GitHub or join us at https://astr
message: AstroErrorData.NoClientEntrypoint.message(
displayName,
metadata.hydrate,
- renderer.name
+ renderer.name,
),
});
}
@@ -311,9 +311,9 @@ If you're still stuck, please open an issue on GitHub or join us at https://astr
const childSlots = Object.values(children).join('');
const renderTemplateResult = renderTemplate`<${Tag}${internalSpreadAttributes(
- props
+ props,
)}${markHTMLString(
- childSlots === '' && voidElementNames.test(Tag) ? `/>` : `>${childSlots}</${Tag}>`
+ childSlots === '' && voidElementNames.test(Tag) ? `/>` : `>${childSlots}</${Tag}>`,
)}`;
html = '';
@@ -339,7 +339,7 @@ If you're still stuck, please open an issue on GitHub or join us at https://astr
destination.write(html);
} else if (html && html.length > 0) {
destination.write(
- markHTMLString(removeStaticAstroSlot(html, renderer?.ssr?.supportsAstroStaticSlot))
+ markHTMLString(removeStaticAstroSlot(html, renderer?.ssr?.supportsAstroStaticSlot)),
);
}
},
@@ -350,13 +350,13 @@ If you're still stuck, please open an issue on GitHub or join us at https://astr
const astroId = shorthash(
`<!--${metadata.componentExport!.value}:${metadata.componentUrl}-->\n${html}\n${serializeProps(
props,
- metadata
- )}`
+ metadata,
+ )}`,
);
const island = await generateHydrateScript(
{ renderer: renderer!, result, astroId, props, attrs },
- metadata as Required<AstroComponentMetadata>
+ metadata as Required<AstroComponentMetadata>,
);
if (componentServerRenderEndTime && process.env.NODE_ENV === 'development')
@@ -388,7 +388,7 @@ If you're still stuck, please open an issue on GitHub or join us at https://astr
(key) =>
`<template data-astro-template${key !== 'default' ? `="${key}"` : ''}>${
children[key]
- }</template>`
+ }</template>`,
)
.join('')
: '';
@@ -416,7 +416,7 @@ If you're still stuck, please open an issue on GitHub or join us at https://astr
type: 'renderer-hydration-script',
rendererName: renderer.name,
render: renderer.ssr.renderHydrationScript,
- })
+ }),
);
}
const renderedElement = renderElement('astro-island', island, false);
@@ -433,7 +433,7 @@ function sanitizeElementName(tag: string) {
async function renderFragmentComponent(
result: SSRResult,
- slots: ComponentSlots = {}
+ slots: ComponentSlots = {},
): Promise<RenderInstance> {
const children = await renderSlotToString(result, slots?.default);
return {
@@ -448,7 +448,7 @@ async function renderHTMLComponent(
result: SSRResult,
Component: unknown,
_props: Record<string | number, any>,
- slots: any = {}
+ slots: any = {},
): Promise<RenderInstance> {
const { slotInstructions, children } = await renderSlots(result, slots);
const html = (Component as any)({ slots: children });
@@ -467,7 +467,7 @@ function renderAstroComponent(
displayName: string,
Component: AstroComponentFactory,
props: Record<string | number, any>,
- slots: any = {}
+ slots: any = {},
): RenderInstance {
if (containsServerDirective(props)) {
return renderServerIsland(result, displayName, props, slots);
@@ -489,7 +489,7 @@ export async function renderComponent(
displayName: string,
Component: unknown,
props: Record<string | number, any>,
- slots: ComponentSlots = {}
+ slots: ComponentSlots = {},
): Promise<RenderInstance> {
if (isPromise(Component)) {
Component = await Component.catch(handleCancellation);
@@ -512,7 +512,7 @@ export async function renderComponent(
}
return await renderFrameworkComponent(result, displayName, Component, props, slots).catch(
- handleCancellation
+ handleCancellation,
);
function handleCancellation(e: unknown) {
@@ -543,7 +543,7 @@ export async function renderComponentToString(
props: Record<string | number, any>,
slots: any = {},
isPage = false,
- route?: RouteData
+ route?: RouteData,
): Promise<string> {
let str = '';
let renderedFirstPageChunk = false;
@@ -597,7 +597,7 @@ export type NonAstroPageComponent = {
};
function nonAstroPageNeedsHeadInjection(
- pageComponent: any
+ pageComponent: any,
): pageComponent is NonAstroPageComponent {
return !!pageComponent?.[needsHeadRenderingSymbol];
}
diff --git a/packages/astro/src/runtime/server/render/dom.ts b/packages/astro/src/runtime/server/render/dom.ts
index ca2017018..e2b194df3 100644
--- a/packages/astro/src/runtime/server/render/dom.ts
+++ b/packages/astro/src/runtime/server/render/dom.ts
@@ -12,7 +12,7 @@ export async function renderHTMLElement(
result: SSRResult,
constructor: typeof HTMLElement,
props: any,
- slots: any
+ slots: any,
): Promise<string> {
const name = getHTMLElementName(constructor);
@@ -23,7 +23,7 @@ export async function renderHTMLElement(
}
return markHTMLString(
- `<${name}${attrHTML}>${await renderSlotToString(result, slots?.default)}</${name}>`
+ `<${name}${attrHTML}>${await renderSlotToString(result, slots?.default)}</${name}>`,
);
}
diff --git a/packages/astro/src/runtime/server/render/head.ts b/packages/astro/src/runtime/server/render/head.ts
index c39dfe20f..49dd5abed 100644
--- a/packages/astro/src/runtime/server/render/head.ts
+++ b/packages/astro/src/runtime/server/render/head.ts
@@ -21,7 +21,7 @@ export function renderAllHeadContent(result: SSRResult) {
.map((style) =>
style.props.rel === 'stylesheet'
? renderElement('link', style)
- : renderElement('style', style)
+ : renderElement('style', style),
);
// Clear result.styles so that any new styles added will be inlined.
result.styles.clear();
diff --git a/packages/astro/src/runtime/server/render/instruction.ts b/packages/astro/src/runtime/server/render/instruction.ts
index 5be7ffd38..c1761312f 100644
--- a/packages/astro/src/runtime/server/render/instruction.ts
+++ b/packages/astro/src/runtime/server/render/instruction.ts
@@ -32,14 +32,14 @@ export type RenderInstruction =
| RendererHydrationScriptInstruction;
export function createRenderInstruction(
- instruction: RenderDirectiveInstruction
+ instruction: RenderDirectiveInstruction,
): RenderDirectiveInstruction;
export function createRenderInstruction(
- instruction: RendererHydrationScriptInstruction
+ instruction: RendererHydrationScriptInstruction,
): RendererHydrationScriptInstruction;
export function createRenderInstruction(instruction: RenderHeadInstruction): RenderHeadInstruction;
export function createRenderInstruction(
- instruction: MaybeRenderHeadInstruction
+ instruction: MaybeRenderHeadInstruction,
): MaybeRenderHeadInstruction;
export function createRenderInstruction(instruction: { type: string }): RenderInstruction {
return Object.defineProperty(instruction as RenderInstruction, RenderInstructionSymbol, {
diff --git a/packages/astro/src/runtime/server/render/page.ts b/packages/astro/src/runtime/server/render/page.ts
index 32345d926..35a7ec789 100644
--- a/packages/astro/src/runtime/server/render/page.ts
+++ b/packages/astro/src/runtime/server/render/page.ts
@@ -13,7 +13,7 @@ export async function renderPage(
props: any,
children: any,
streaming: boolean,
- route?: RouteData
+ route?: RouteData,
): Promise<Response> {
if (!isAstroComponentFactory(componentFactory)) {
result._metadata.headInTree =
@@ -28,7 +28,7 @@ export async function renderPage(
pageProps,
{},
true,
- route
+ route,
);
const bytes = encoder.encode(str);
@@ -57,7 +57,7 @@ export async function renderPage(
props,
children,
true,
- route
+ route,
);
// Node.js allows passing in an AsyncIterable to the Response constructor.
// This is non-standard so using `any` here to preserve types everywhere else.
diff --git a/packages/astro/src/runtime/server/render/server-islands.ts b/packages/astro/src/runtime/server/render/server-islands.ts
index 9a27fed51..c2263adda 100644
--- a/packages/astro/src/runtime/server/render/server-islands.ts
+++ b/packages/astro/src/runtime/server/render/server-islands.ts
@@ -27,7 +27,7 @@ export function renderServerIsland(
result: SSRResult,
_displayName: string,
props: Record<string | number, any>,
- slots: ComponentSlots
+ slots: ComponentSlots,
): RenderInstance {
return {
async render(destination) {
diff --git a/packages/astro/src/runtime/server/render/slot.ts b/packages/astro/src/runtime/server/render/slot.ts
index bf5a2bb3b..d02a32d82 100644
--- a/packages/astro/src/runtime/server/render/slot.ts
+++ b/packages/astro/src/runtime/server/render/slot.ts
@@ -9,7 +9,7 @@ import { type RenderDestination, type RenderInstance, chunkToString } from './co
type RenderTemplateResult = ReturnType<typeof renderTemplate>;
export type ComponentSlots = Record<string, ComponentSlotValue>;
export type ComponentSlotValue = (
- result: SSRResult
+ result: SSRResult,
) => RenderTemplateResult | Promise<RenderTemplateResult>;
const slotString = Symbol.for('astro:slot-string');
@@ -31,7 +31,7 @@ export function isSlotString(str: string): str is any {
export function renderSlot(
result: SSRResult,
slotted: ComponentSlotValue | RenderTemplateResult,
- fallback?: ComponentSlotValue | RenderTemplateResult
+ fallback?: ComponentSlotValue | RenderTemplateResult,
): RenderInstance {
if (!slotted && fallback) {
return renderSlot(result, fallback);
@@ -46,7 +46,7 @@ export function renderSlot(
export async function renderSlotToString(
result: SSRResult,
slotted: ComponentSlotValue | RenderTemplateResult,
- fallback?: ComponentSlotValue | RenderTemplateResult
+ fallback?: ComponentSlotValue | RenderTemplateResult,
): Promise<string> {
let content = '';
let instructions: null | RenderInstruction[] = null;
@@ -82,7 +82,7 @@ interface RenderSlotsResult {
export async function renderSlots(
result: SSRResult,
- slots: ComponentSlots = {}
+ slots: ComponentSlots = {},
): Promise<RenderSlotsResult> {
let slotInstructions: RenderSlotsResult['slotInstructions'] = null;
let children: RenderSlotsResult['children'] = {};
@@ -97,8 +97,8 @@ export async function renderSlots(
slotInstructions.push(...output.instructions);
}
children[key] = output;
- })
- )
+ }),
+ ),
);
}
return { slotInstructions, children };
diff --git a/packages/astro/src/runtime/server/render/util.ts b/packages/astro/src/runtime/server/render/util.ts
index 469491de4..5dc821aa5 100644
--- a/packages/astro/src/runtime/server/render/util.ts
+++ b/packages/astro/src/runtime/server/render/util.ts
@@ -48,7 +48,7 @@ export function defineScriptVars(vars: Record<any, any>) {
// https://stackoverflow.com/questions/29194024/cant-use-let-keyword-in-safari-javascript
output += `const ${toIdent(key)} = ${JSON.stringify(value)?.replace(
/<\/script>/g,
- '\\x3C/script>'
+ '\\x3C/script>',
)};\n`;
}
return markHTMLString(output);
@@ -96,7 +96,7 @@ Make sure to use the static attribute syntax (\`${key}={value}\`) instead of the
if (key === 'style' && !(value instanceof HTMLString)) {
if (Array.isArray(value) && value.length === 2) {
return markHTMLString(
- ` ${key}="${toAttributeString(`${toStyleString(value[0])};${value[1]}`, shouldEscape)}"`
+ ` ${key}="${toAttributeString(`${toStyleString(value[0])};${value[1]}`, shouldEscape)}"`,
);
}
if (typeof value === 'object') {
@@ -134,7 +134,7 @@ export function internalSpreadAttributes(values: Record<any, any>, shouldEscape
export function renderElement(
name: string,
{ props: _props, children = '' }: SSRElement,
- shouldEscape = true
+ shouldEscape = true,
) {
// Do not print `hoist`, `lang`, `is:global`
const { lang: _, 'data-astro-id': astroId, 'define:vars': defineVars, ...props } = _props;
diff --git a/packages/astro/src/runtime/server/serialize.ts b/packages/astro/src/runtime/server/serialize.ts
index 0d754ebc8..522b05256 100644
--- a/packages/astro/src/runtime/server/serialize.ts
+++ b/packages/astro/src/runtime/server/serialize.ts
@@ -18,7 +18,7 @@ const PROP_TYPE = {
function serializeArray(
value: any[],
metadata: AstroComponentMetadata | Record<string, any> = {},
- parents = new WeakSet<any>()
+ parents = new WeakSet<any>(),
): any[] {
if (parents.has(value)) {
throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!
@@ -36,7 +36,7 @@ Cyclic references cannot be safely serialized for client-side usage. Please remo
function serializeObject(
value: Record<any, any>,
metadata: AstroComponentMetadata | Record<string, any> = {},
- parents = new WeakSet<any>()
+ parents = new WeakSet<any>(),
): Record<any, any> {
if (parents.has(value)) {
throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!
@@ -47,7 +47,7 @@ Cyclic references cannot be safely serialized for client-side usage. Please remo
const serialized = Object.fromEntries(
Object.entries(value).map(([k, v]) => {
return [k, convertToSerializedForm(v, metadata, parents)];
- })
+ }),
);
parents.delete(value);
return serialized;
@@ -56,7 +56,7 @@ Cyclic references cannot be safely serialized for client-side usage. Please remo
function convertToSerializedForm(
value: any,
metadata: AstroComponentMetadata | Record<string, any> = {},
- parents = new WeakSet<any>()
+ parents = new WeakSet<any>(),
): [ValueOf<typeof PROP_TYPE>, any] | [ValueOf<typeof PROP_TYPE>] {
const tag = Object.prototype.toString.call(value);
switch (tag) {
diff --git a/packages/astro/src/runtime/server/transition.ts b/packages/astro/src/runtime/server/transition.ts
index 26c5915c1..8887d3dae 100644
--- a/packages/astro/src/runtime/server/transition.ts
+++ b/packages/astro/src/runtime/server/transition.ts
@@ -34,7 +34,7 @@ const getAnimations = (name: TransitionAnimationValue) => {
const addPairs = (
animations: TransitionDirectionalAnimations | Record<string, TransitionAnimationPair>,
- stylesheet: ViewTransitionStyleSheet
+ stylesheet: ViewTransitionStyleSheet,
) => {
for (const [direction, images] of Object.entries(animations) as Entries<typeof animations>) {
for (const [image, rules] of Object.entries(images) as Entries<
@@ -89,7 +89,7 @@ export function renderTransition(
result: SSRResult,
hash: string,
animationName: TransitionAnimationValue | undefined,
- transitionName: string
+ transitionName: string,
) {
if (typeof (transitionName ?? '') !== 'string') {
throw new Error(`Invalid transition name {${transitionName}}`);
@@ -116,7 +116,7 @@ export function renderTransition(
export function createAnimationScope(
transitionName: string,
- animations: Record<string, TransitionAnimationPair>
+ animations: Record<string, TransitionAnimationPair>,
) {
const hash = Math.random().toString(36).slice(2, 8);
const scope = `astro-${hash}`;
@@ -133,7 +133,7 @@ class ViewTransitionStyleSheet {
constructor(
private scope: string,
- private name: string
+ private name: string,
) {}
toString() {
@@ -170,14 +170,14 @@ class ViewTransitionStyleSheet {
'fallback',
// Two selectors here, the second in case there is an animation on the root.
`[data-astro-transition-fallback="${image}"] [data-astro-transition-scope="${scope}"],
- [data-astro-transition-fallback="${image}"][data-astro-transition-scope="${scope}"] { ${animation} }`
+ [data-astro-transition-fallback="${image}"][data-astro-transition-scope="${scope}"] { ${animation} }`,
);
}
addAnimationPair(
direction: 'forwards' | 'backwards' | string,
image: 'old' | 'new',
- rules: TransitionAnimation | TransitionAnimation[]
+ rules: TransitionAnimation | TransitionAnimation[],
) {
const { scope, name } = this;
const animation = stringifyAnimation(rules);
@@ -191,7 +191,7 @@ class ViewTransitionStyleSheet {
this.addRule(
'fallback',
`${prefix}[data-astro-transition-fallback="${image}"] [data-astro-transition-scope="${scope}"],
- ${prefix}[data-astro-transition-fallback="${image}"][data-astro-transition-scope="${scope}"] { ${animation} }`
+ ${prefix}[data-astro-transition-fallback="${image}"][data-astro-transition-scope="${scope}"] { ${animation} }`,
);
}
}
diff --git a/packages/astro/src/toolbar/vite-plugin-dev-toolbar.ts b/packages/astro/src/toolbar/vite-plugin-dev-toolbar.ts
index bb3c6fcb7..32c91752f 100644
--- a/packages/astro/src/toolbar/vite-plugin-dev-toolbar.ts
+++ b/packages/astro/src/toolbar/vite-plugin-dev-toolbar.ts
@@ -28,14 +28,14 @@ export default function astroDevToolbar({ settings, logger }: AstroPluginOptions
server.hot.on('astro:devtoolbar:error:load', (args) => {
logger.error(
'toolbar',
- `Failed to load dev toolbar app from ${args.entrypoint}: ${args.error}`
+ `Failed to load dev toolbar app from ${args.entrypoint}: ${args.error}`,
);
});
server.hot.on('astro:devtoolbar:error:init', (args) => {
logger.error(
'toolbar',
- `Failed to initialize dev toolbar app ${args.app.name} (${args.app.id}):\n${args.error}`
+ `Failed to initialize dev toolbar app ${args.app.name} (${args.app.id}):\n${args.error}`,
);
});
@@ -51,7 +51,7 @@ export default function astroDevToolbar({ settings, logger }: AstroPluginOptions
telemetry.record(
eventAppToggled({
appName: nameToRecord,
- })
+ }),
);
}, 200);
});
@@ -64,12 +64,12 @@ export default function astroDevToolbar({ settings, logger }: AstroPluginOptions
.map(
(plugin) =>
`safeLoadPlugin(${JSON.stringify(
- plugin
+ plugin,
)}, async () => (await import(${JSON.stringify(
- typeof plugin === 'string' ? plugin : plugin.entrypoint
+ typeof plugin === 'string' ? plugin : plugin.entrypoint,
)})).default, ${JSON.stringify(
- typeof plugin === 'string' ? plugin : plugin.entrypoint
- )})`
+ typeof plugin === 'string' ? plugin : plugin.entrypoint,
+ )})`,
)
.join(',')}]));
};
diff --git a/packages/astro/src/transitions/events.ts b/packages/astro/src/transitions/events.ts
index 3c4b4d2e2..39abd46bb 100644
--- a/packages/astro/src/transitions/events.ts
+++ b/packages/astro/src/transitions/events.ts
@@ -38,7 +38,7 @@ class BeforeEvent extends Event {
sourceElement: Element | undefined,
info: any,
newDocument: Document,
- signal: AbortSignal
+ signal: AbortSignal,
) {
super(type, eventInitDict);
this.from = from;
@@ -68,7 +68,7 @@ class BeforeEvent extends Event {
*/
export const isTransitionBeforePreparationEvent = (
- value: any
+ value: any,
): value is TransitionBeforePreparationEvent => value.type === TRANSITION_BEFORE_PREPARATION;
export class TransitionBeforePreparationEvent extends BeforeEvent {
formData: FormData | undefined;
@@ -83,7 +83,7 @@ export class TransitionBeforePreparationEvent extends BeforeEvent {
newDocument: Document,
signal: AbortSignal,
formData: FormData | undefined,
- loader: (event: TransitionBeforePreparationEvent) => Promise<void>
+ loader: (event: TransitionBeforePreparationEvent) => Promise<void>,
) {
super(
TRANSITION_BEFORE_PREPARATION,
@@ -95,7 +95,7 @@ export class TransitionBeforePreparationEvent extends BeforeEvent {
sourceElement,
info,
newDocument,
- signal
+ signal,
);
this.formData = formData;
this.loader = loader.bind(this, this);
@@ -128,7 +128,7 @@ export class TransitionBeforeSwapEvent extends BeforeEvent {
afterPreparation.sourceElement,
afterPreparation.info,
afterPreparation.newDocument,
- afterPreparation.signal
+ afterPreparation.signal,
);
this.direction = afterPreparation.direction;
this.viewTransition = viewTransition;
@@ -151,7 +151,7 @@ export async function doPreparation(
info: any,
signal: AbortSignal,
formData: FormData | undefined,
- defaultLoader: (event: TransitionBeforePreparationEvent) => Promise<void>
+ defaultLoader: (event: TransitionBeforePreparationEvent) => Promise<void>,
) {
const event = new TransitionBeforePreparationEvent(
from,
@@ -163,7 +163,7 @@ export async function doPreparation(
window.document,
signal,
formData,
- defaultLoader
+ defaultLoader,
);
if (document.dispatchEvent(event)) {
await event.loader();
diff --git a/packages/astro/src/transitions/router.ts b/packages/astro/src/transitions/router.ts
index e033b202f..3150aa861 100644
--- a/packages/astro/src/transitions/router.ts
+++ b/packages/astro/src/transitions/router.ts
@@ -66,7 +66,7 @@ const announce = () => {
// Much thought went into this magic number; the gist is that screen readers
// need to see that the element changed and might not do so if it happens
// too quickly.
- 60
+ 60,
);
};
@@ -100,7 +100,7 @@ if (inBrowser) {
// returns the contents of the page or null if the router can't deal with it.
async function fetchHTML(
href: string,
- init?: RequestInit
+ init?: RequestInit,
): Promise<null | { html: string; redirected?: string; mediaType: DOMParserSupportedType }> {
try {
const res = await fetch(href, init);
@@ -162,7 +162,7 @@ const moveToLocation = (
from: URL,
options: Options,
pageTitleForBrowserHistory: string,
- historyState?: State
+ historyState?: State,
) => {
const intraPage = samePage(from, to);
@@ -181,13 +181,13 @@ const moveToLocation = (
scrollY: current.scrollY,
},
'',
- to.href
+ to.href,
);
} else {
pushState(
{ ...options.state, index: ++currentHistoryIndex, scrollX: 0, scrollY: 0 },
'',
- to.href
+ to.href,
);
}
}
@@ -234,8 +234,8 @@ function preloadStyleLinks(newDocument: Document) {
if (
!document.querySelector(
`[${PERSIST_ATTR}="${el.getAttribute(
- PERSIST_ATTR
- )}"], link[rel=stylesheet][href="${el.getAttribute('href')}"]`
+ PERSIST_ATTR,
+ )}"], link[rel=stylesheet][href="${el.getAttribute('href')}"]`,
)
) {
const c = document.createElement('link');
@@ -246,7 +246,7 @@ function preloadStyleLinks(newDocument: Document) {
new Promise<any>((resolve) => {
['load', 'error'].forEach((evName) => c.addEventListener(evName, resolve));
document.head.append(c);
- })
+ }),
);
}
}
@@ -262,7 +262,7 @@ async function updateDOM(
options: Options,
currentTransition: Transition,
historyState?: State,
- fallback?: Fallback
+ fallback?: Fallback,
) {
async function animate(phase: string) {
function isInfinite(animation: Animation) {
@@ -276,7 +276,7 @@ async function updateDOM(
document.documentElement.setAttribute(OLD_NEW_ATTR, phase);
const nextAnimations = document.getAnimations();
const newAnimations = nextAnimations.filter(
- (a) => !currentAnimations.includes(a) && !isInfinite(a)
+ (a) => !currentAnimations.includes(a) && !isInfinite(a),
);
// Wait for all new animations to finish (resolved or rejected).
// Do not reject on canceled ones.
@@ -322,7 +322,7 @@ async function transition(
from: URL,
to: URL,
options: Options,
- historyState?: State
+ historyState?: State,
) {
// The most recent navigation always has precedence
// Yes, there can be several navigation instances as the user can click links
@@ -365,7 +365,7 @@ async function transition(
options.info,
currentNavigation!.controller.signal,
options.formData,
- defaultLoader
+ defaultLoader,
);
if (prepEvent.defaultPrevented || prepEvent.signal.aborted) {
if (currentNavigation === mostRecentNavigation) mostRecentNavigation = undefined;
@@ -445,7 +445,7 @@ async function transition(
await prepareForClientOnlyComponents(
preparationEvent.newDocument,
preparationEvent.to,
- preparationEvent.signal
+ preparationEvent.signal,
);
}
async function abortAndRecreateMostRecentTransition(): Promise<Transition> {
@@ -482,7 +482,7 @@ async function transition(
// This automatically cancels any previous transition
// We also already took care that the earlier update callback got through
currentTransition.viewTransition = document.startViewTransition(
- async () => await updateDOM(prepEvent, options, currentTransition, historyState)
+ async () => await updateDOM(prepEvent, options, currentTransition, historyState),
);
} else {
// Simulation mode requires a bit more manual work
@@ -554,7 +554,7 @@ export async function navigate(href: string, options?: Options) {
if (!navigateOnServerWarned) {
// instantiate an error for the stacktrace to show to user.
const warning = new Error(
- 'The view transitions client API was called during a server side render. This may be unintentional as the navigate() function is expected to be called in response to user interactions. Please make sure that your usage is correct.'
+ 'The view transitions client API was called during a server side render. This may be unintentional as the navigate() function is expected to be called in response to user interactions. Please make sure that your usage is correct.',
);
warning.name = 'Warning';
// eslint-disable-next-line no-console
@@ -639,7 +639,7 @@ if (inBrowser) {
(lastIndex = history.state.index), (lastY = scrollY), (lastX = scrollX);
intervalId = window.setInterval(scrollInterval, 50);
},
- { passive: true }
+ { passive: true },
);
}
}
@@ -653,7 +653,7 @@ if (inBrowser) {
async function prepareForClientOnlyComponents(
newDocument: Document,
toLocation: URL,
- signal: AbortSignal
+ signal: AbortSignal,
) {
// Any client:only component on the next page?
if (newDocument.body.querySelector(`astro-island[client='only']`)) {
@@ -675,7 +675,7 @@ async function prepareForClientOnlyComponents(
if (nextHead) {
// Collect the vite ids of all styles present in the next head
const viteIds = [...nextHead.querySelectorAll(`style[${VITE_ID}]`)].map((style) =>
- style.getAttribute(VITE_ID)
+ style.getAttribute(VITE_ID),
);
// Copy required styles to the new document if they are from hydration.
viteIds.forEach((id) => {
@@ -690,7 +690,7 @@ async function prepareForClientOnlyComponents(
async function hydrationDone(loadingPage: HTMLIFrameElement) {
if (!signal.aborted) {
await new Promise((r) =>
- loadingPage.contentWindow?.addEventListener('load', r, { once: true })
+ loadingPage.contentWindow?.addEventListener('load', r, { once: true }),
);
}
return new Promise<void>(async (r) => {
diff --git a/packages/astro/src/transitions/swap-functions.ts b/packages/astro/src/transitions/swap-functions.ts
index f9c089e5a..4c8db82ee 100644
--- a/packages/astro/src/transitions/swap-functions.ts
+++ b/packages/astro/src/transitions/swap-functions.ts
@@ -38,10 +38,10 @@ export function deselectScripts(doc: Document) {
export function swapRootAttributes(doc: Document) {
const html = document.documentElement;
const astroAttributes = [...html.attributes].filter(
- ({ name }) => (html.removeAttribute(name), name.startsWith('data-astro-'))
+ ({ name }) => (html.removeAttribute(name), name.startsWith('data-astro-')),
);
[...doc.documentElement.attributes, ...astroAttributes].forEach(({ name, value }) =>
- html.setAttribute(name, value)
+ html.setAttribute(name, value),
);
}
diff --git a/packages/astro/src/virtual-modules/container.ts b/packages/astro/src/virtual-modules/container.ts
index a4da62972..420b3e3e2 100644
--- a/packages/astro/src/virtual-modules/container.ts
+++ b/packages/astro/src/virtual-modules/container.ts
@@ -25,7 +25,7 @@ export async function loadRenderers(renderers: AstroRenderer[]) {
} as SSRLoadedRenderer;
}
return undefined;
- })
+ }),
);
return loadedRenderers.filter((r): r is SSRLoadedRenderer => Boolean(r));
diff --git a/packages/astro/src/virtual-modules/i18n.ts b/packages/astro/src/virtual-modules/i18n.ts
index f7365ea62..aacdd80a9 100644
--- a/packages/astro/src/virtual-modules/i18n.ts
+++ b/packages/astro/src/virtual-modules/i18n.ts
@@ -254,7 +254,7 @@ export const pathHasLocale = (path: string) => I18nInternals.pathHasLocale(path,
*/
export let redirectToDefaultLocale: (
context: APIContext,
- statusCode?: ValidRedirectStatus
+ statusCode?: ValidRedirectStatus,
) => Response | undefined;
if (i18n?.routing === 'manual') {
diff --git a/packages/astro/src/vite-plugin-astro-postprocess/index.ts b/packages/astro/src/vite-plugin-astro-postprocess/index.ts
index 39acd000c..0e48d8a66 100644
--- a/packages/astro/src/vite-plugin-astro-postprocess/index.ts
+++ b/packages/astro/src/vite-plugin-astro-postprocess/index.ts
@@ -48,7 +48,7 @@ export default function astro(): Plugin {
s.overwrite(
firstArgStart,
lastArgEnd,
- `import.meta.glob(${firstArg}), () => ${firstArg}`
+ `import.meta.glob(${firstArg}), () => ${firstArg}`,
);
}
},
diff --git a/packages/astro/src/vite-plugin-astro-server/base.ts b/packages/astro/src/vite-plugin-astro-server/base.ts
index 7f17d2afe..bea642f6f 100644
--- a/packages/astro/src/vite-plugin-astro-server/base.ts
+++ b/packages/astro/src/vite-plugin-astro-server/base.ts
@@ -11,7 +11,7 @@ import { writeHtmlResponse } from './response.js';
export function baseMiddleware(
settings: AstroSettings,
- logger: Logger
+ logger: Logger,
): vite.Connect.NextHandleFunction {
const { config } = settings;
const site = config.site ? new URL(config.base, config.site) : undefined;
@@ -55,15 +55,15 @@ export function baseMiddleware(
fs.stat(publicPath, (_err, stats) => {
if (stats) {
const publicDir = appendForwardSlash(
- path.posix.relative(config.root.pathname, config.publicDir.pathname)
+ path.posix.relative(config.root.pathname, config.publicDir.pathname),
);
const expectedLocation = new URL(devRootURL.pathname + url, devRootURL).pathname;
logger.error(
'router',
`Request URLs for ${bold(
- publicDir
- )} assets must also include your base. "${expectedLocation}" expected, but received "${url}".`
+ publicDir,
+ )} assets must also include your base. "${expectedLocation}" expected, but received "${url}".`,
);
const html = subpathNotUsedTemplate(devRoot, pathname);
return writeHtmlResponse(res, 404, html);
diff --git a/packages/astro/src/vite-plugin-astro-server/css.ts b/packages/astro/src/vite-plugin-astro-server/css.ts
index cda2ef002..c2dd5f6d7 100644
--- a/packages/astro/src/vite-plugin-astro-server/css.ts
+++ b/packages/astro/src/vite-plugin-astro-server/css.ts
@@ -12,7 +12,7 @@ interface ImportedStyle {
/** Given a filePath URL, crawl Vite’s module graph to find all style imports. */
export async function getStylesForURL(
filePath: URL,
- loader: ModuleLoader
+ loader: ModuleLoader,
): Promise<{ urls: Set<string>; styles: ImportedStyle[]; crawledFiles: Set<string> }> {
const importedCssUrls = new Set<string>();
// Map of url to injected style object. Use a `url` key to deduplicate styles
diff --git a/packages/astro/src/vite-plugin-astro-server/error.ts b/packages/astro/src/vite-plugin-astro-server/error.ts
index f29a49ba6..24db9dc49 100644
--- a/packages/astro/src/vite-plugin-astro-server/error.ts
+++ b/packages/astro/src/vite-plugin-astro-server/error.ts
@@ -10,7 +10,7 @@ export function recordServerError(
loader: ModuleLoader,
config: AstroConfig,
{ logger }: DevPipeline,
- _err: unknown
+ _err: unknown,
) {
const err = createSafeError(_err);
diff --git a/packages/astro/src/vite-plugin-astro-server/metadata.ts b/packages/astro/src/vite-plugin-astro-server/metadata.ts
index 09e2373cf..793ee5669 100644
--- a/packages/astro/src/vite-plugin-astro-server/metadata.ts
+++ b/packages/astro/src/vite-plugin-astro-server/metadata.ts
@@ -6,7 +6,7 @@ import { crawlGraph } from './vite.js';
export async function getComponentMetadata(
filePath: URL,
- loader: ModuleLoader
+ loader: ModuleLoader,
): Promise<SSRResult['componentMetadata']> {
const map: SSRResult['componentMetadata'] = new Map();
diff --git a/packages/astro/src/vite-plugin-astro-server/pipeline.ts b/packages/astro/src/vite-plugin-astro-server/pipeline.ts
index 2c718d3ab..4386eb154 100644
--- a/packages/astro/src/vite-plugin-astro-server/pipeline.ts
+++ b/packages/astro/src/vite-plugin-astro-server/pipeline.ts
@@ -46,7 +46,7 @@ export class DevPipeline extends Pipeline {
readonly manifest: SSRManifest,
readonly settings: AstroSettings,
readonly config = settings.config,
- readonly defaultRoutes = createDefaultRoutes(manifest)
+ readonly defaultRoutes = createDefaultRoutes(manifest),
) {
const mode = 'development';
const resolve = createResolve(loader, config.root);
@@ -64,7 +64,7 @@ export class DevPipeline extends Pipeline {
logger,
manifest,
settings,
- }: Pick<DevPipeline, 'loader' | 'logger' | 'manifest' | 'settings'>
+ }: Pick<DevPipeline, 'loader' | 'logger' | 'manifest' | 'settings'>,
) {
const pipeline = new DevPipeline(loader, logger, manifest, settings);
pipeline.manifestData = manifestData;
@@ -202,7 +202,7 @@ export class DevPipeline extends Pipeline {
async tryRewrite(
payload: RewritePayload,
request: Request,
- _sourceRoute: RouteData
+ _sourceRoute: RouteData,
): Promise<[RouteData, ComponentInstance, URL]> {
if (!this.manifestData) {
throw new Error('Missing manifest data. This is an internal error, please file an issue.');
diff --git a/packages/astro/src/vite-plugin-astro-server/plugin.ts b/packages/astro/src/vite-plugin-astro-server/plugin.ts
index a342220ed..7d1e2fb6f 100644
--- a/packages/astro/src/vite-plugin-astro-server/plugin.ts
+++ b/packages/astro/src/vite-plugin-astro-server/plugin.ts
@@ -37,7 +37,7 @@ export default function createVitePluginAstroServer({
const manifest = createDevelopmentManifest(settings);
let manifestData: ManifestData = injectDefaultRoutes(
manifest,
- createRouteManifest({ settings, fsMod }, logger)
+ createRouteManifest({ settings, fsMod }, logger),
);
const pipeline = DevPipeline.create(manifestData, { loader, logger, manifest, settings });
const controller = createController({ loader });
@@ -70,7 +70,7 @@ export default function createVitePluginAstroServer({
const { errorWithMetadata } = recordServerError(loader, settings.config, pipeline, error);
setTimeout(
async () => loader.webSocketSend(await getViteErrorPayload(errorWithMetadata)),
- 200
+ 200,
);
}
diff --git a/packages/astro/src/vite-plugin-astro-server/response.ts b/packages/astro/src/vite-plugin-astro-server/response.ts
index c6e034aef..2ccf1aade 100644
--- a/packages/astro/src/vite-plugin-astro-server/response.ts
+++ b/packages/astro/src/vite-plugin-astro-server/response.ts
@@ -10,7 +10,7 @@ import notFoundTemplate from '../template/4xx.js';
export async function handle404Response(
origin: string,
req: http.IncomingMessage,
- res: http.ServerResponse
+ res: http.ServerResponse,
) {
const pathname = decodeURI(new URL(origin + req.url).pathname);
@@ -26,10 +26,10 @@ export async function handle404Response(
export async function handle500Response(
loader: ModuleLoader,
res: http.ServerResponse,
- err: ErrorWithMetadata
+ err: ErrorWithMetadata,
) {
res.on('close', async () =>
- setTimeout(async () => loader.webSocketSend(await getViteErrorPayload(err)), 200)
+ setTimeout(async () => loader.webSocketSend(await getViteErrorPayload(err)), 200),
);
if (res.headersSent) {
res.write(`<script type="module" src="/@vite/client"></script>`);
@@ -38,7 +38,7 @@ export async function handle500Response(
writeHtmlResponse(
res,
500,
- `<title>${err.name}</title><script type="module" src="/@vite/client"></script>`
+ `<title>${err.name}</title><script type="module" src="/@vite/client"></script>`,
);
}
}
@@ -102,7 +102,7 @@ export async function writeWebResponse(res: http.ServerResponse, webResponse: Re
export async function writeSSRResult(
webRequest: Request,
webResponse: Response,
- res: http.ServerResponse
+ res: http.ServerResponse,
) {
Reflect.set(webRequest, Symbol.for('astro.responseSent'), true);
return writeWebResponse(res, webResponse);
diff --git a/packages/astro/src/vite-plugin-astro-server/route.ts b/packages/astro/src/vite-plugin-astro-server/route.ts
index 07d6cd2b1..aa70d5324 100644
--- a/packages/astro/src/vite-plugin-astro-server/route.ts
+++ b/packages/astro/src/vite-plugin-astro-server/route.ts
@@ -47,7 +47,7 @@ function getCustom500Route(manifestData: ManifestData): RouteData | undefined {
export async function matchRoute(
pathname: string,
manifestData: ManifestData,
- pipeline: DevPipeline
+ pipeline: DevPipeline,
): Promise<MatchedRoute | undefined> {
const { config, logger, routeCache, serverLike, settings } = pipeline;
const matches = matchAllRoutes(pathname, manifestData);
@@ -97,8 +97,8 @@ export async function matchRoute(
logger.warn(
'router',
`${AstroErrorData.NoMatchingStaticPathFound.message(
- pathname
- )}\n\n${AstroErrorData.NoMatchingStaticPathFound.hint(possibleRoutes)}`
+ pathname,
+ )}\n\n${AstroErrorData.NoMatchingStaticPathFound.hint(possibleRoutes)}`,
);
}
@@ -234,7 +234,7 @@ export async function handleRoute({
statusCode: isRewrite ? response.status : status ?? response.status,
isRewrite,
reqTime: timeEnd - timeStart,
- })
+ }),
);
}
if (response.status === 404 && response.headers.get(REROUTE_DIRECTIVE_HEADER) !== 'no') {
diff --git a/packages/astro/src/vite-plugin-astro-server/scripts.ts b/packages/astro/src/vite-plugin-astro-server/scripts.ts
index 4b94d12f5..e21d44116 100644
--- a/packages/astro/src/vite-plugin-astro-server/scripts.ts
+++ b/packages/astro/src/vite-plugin-astro-server/scripts.ts
@@ -9,7 +9,7 @@ import { crawlGraph } from './vite.js';
export async function getScriptsForURL(
filePath: URL,
root: URL,
- loader: ModuleLoader
+ loader: ModuleLoader,
): Promise<{ scripts: Set<SSRElement>; crawledFiles: Set<string> }> {
const elements = new Set<SSRElement>();
const crawledFiles = new Set<string>();
diff --git a/packages/astro/src/vite-plugin-astro-server/vite.ts b/packages/astro/src/vite-plugin-astro-server/vite.ts
index bd327081b..147853954 100644
--- a/packages/astro/src/vite-plugin-astro-server/vite.ts
+++ b/packages/astro/src/vite-plugin-astro-server/vite.ts
@@ -18,7 +18,7 @@ export async function* crawlGraph(
loader: ModuleLoader,
_id: string,
isRootFile: boolean,
- scanned = new Set<string>()
+ scanned = new Set<string>(),
): AsyncGenerator<ModuleNode, void, unknown> {
const id = unwrapId(_id);
const importedModules = new Set<ModuleNode>();
diff --git a/packages/astro/src/vite-plugin-astro/compile.ts b/packages/astro/src/vite-plugin-astro/compile.ts
index c7845568a..8dfb68a16 100644
--- a/packages/astro/src/vite-plugin-astro/compile.ts
+++ b/packages/astro/src/vite-plugin-astro/compile.ts
@@ -61,12 +61,12 @@ export async function compileAstro({
const { fileId: file, fileUrl: url } = getFileInfo(
compileProps.filename,
- compileProps.astroConfig
+ compileProps.astroConfig,
);
let SUFFIX = '';
SUFFIX += `\nconst $$file = ${JSON.stringify(file)};\nconst $$url = ${JSON.stringify(
- url
+ url,
)};export { $$file as file, $$url as url };\n`;
// Add HMR handling in dev mode.
@@ -126,7 +126,7 @@ async function enhanceCompileError({
if (frontmatterErr?.message) {
frontmatterErr.message = frontmatterErr.message.replace(
'end of file',
- 'end of frontmatter'
+ 'end of frontmatter',
);
}
throw frontmatterErr;
diff --git a/packages/astro/src/vite-plugin-astro/hmr.ts b/packages/astro/src/vite-plugin-astro/hmr.ts
index 17c10e768..93fecc7aa 100644
--- a/packages/astro/src/vite-plugin-astro/hmr.ts
+++ b/packages/astro/src/vite-plugin-astro/hmr.ts
@@ -10,7 +10,7 @@ export interface HandleHotUpdateOptions {
export async function handleHotUpdate(
ctx: HmrContext,
- { logger, astroFileToCompileMetadata }: HandleHotUpdateOptions
+ { logger, astroFileToCompileMetadata }: HandleHotUpdateOptions,
) {
// HANDLING 1: Invalidate compile metadata if CSS dependency updated
//
diff --git a/packages/astro/src/vite-plugin-astro/index.ts b/packages/astro/src/vite-plugin-astro/index.ts
index 456b7677d..d5968a905 100644
--- a/packages/astro/src/vite-plugin-astro/index.ts
+++ b/packages/astro/src/vite-plugin-astro/index.ts
@@ -112,7 +112,7 @@ export default function astro({ settings, logger }: AstroPluginOptions): vite.Pl
if (!compileMetadata) {
throw new Error(
`No cached compile metadata found for "${id}". The main Astro module "${filename}" should have ` +
- `compiled and filled the metadata first, before its virtual modules can be requested.`
+ `compiled and filled the metadata first, before its virtual modules can be requested.`,
);
}
@@ -166,7 +166,7 @@ export default function astro({ settings, logger }: AstroPluginOptions): vite.Pl
if (src.startsWith('/') && !isBrowserPath(src)) {
const publicDir = config.publicDir.pathname.replace(/\/$/, '').split('/').pop() + '/';
throw new Error(
- `\n\n<script src="${src}"> references an asset in the "${publicDir}" directory. Please add the "is:inline" directive to keep this asset from being bundled.\n\nFile: ${id}`
+ `\n\n<script src="${src}"> references an asset in the "${publicDir}" directory. Please add the "is:inline" directive to keep this asset from being bundled.\n\nFile: ${id}`,
);
}
}
@@ -256,6 +256,6 @@ export default function astro({ settings, logger }: AstroPluginOptions): vite.Pl
function appendSourceMap(content: string, map?: string) {
if (!map) return content;
return `${content}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,${Buffer.from(
- map
+ map,
).toString('base64')}`;
}
diff --git a/packages/astro/src/vite-plugin-config-alias/index.ts b/packages/astro/src/vite-plugin-config-alias/index.ts
index a5f4ae53c..cb9bdc48c 100644
--- a/packages/astro/src/vite-plugin-config-alias/index.ts
+++ b/packages/astro/src/vite-plugin-config-alias/index.ts
@@ -28,9 +28,9 @@ const getConfigAlias = (settings: AstroSettings): Alias[] | null => {
const find = new RegExp(
`^${[...alias]
.map((segment) =>
- segment === '*' ? '(.+)' : segment.replace(/[\\^$*+?.()|[\]{}]/, '\\$&')
+ segment === '*' ? '(.+)' : segment.replace(/[\\^$*+?.()|[\]{}]/, '\\$&'),
)
- .join('')}$`
+ .join('')}$`,
);
/** Internal index used to calculate the matching id in a replacement. */
diff --git a/packages/astro/src/vite-plugin-env/index.ts b/packages/astro/src/vite-plugin-env/index.ts
index 00df8f4d3..ea75e752f 100644
--- a/packages/astro/src/vite-plugin-env/index.ts
+++ b/packages/astro/src/vite-plugin-env/index.ts
@@ -20,7 +20,7 @@ const exportConstPrerenderRe = /\bexport\s+const\s+prerender\s*=\s*import\.meta\
function getPrivateEnv(
viteConfig: vite.ResolvedConfig,
- astroConfig: AstroConfig
+ astroConfig: AstroConfig,
): Record<string, string> {
let envPrefixes: string[] = ['PUBLIC_'];
if (viteConfig.envPrefix) {
@@ -33,7 +33,7 @@ function getPrivateEnv(
const fullEnv = loadEnv(
viteConfig.mode,
viteConfig.envDir ?? fileURLToPath(astroConfig.root),
- ''
+ '',
);
const privateEnv: Record<string, string> = {};
@@ -79,7 +79,7 @@ async function replaceDefine(
code: string,
id: string,
define: Record<string, string>,
- config: vite.ResolvedConfig
+ config: vite.ResolvedConfig,
): Promise<{ code: string; map: string | null }> {
// Since esbuild doesn't support replacing complex expressions, we replace `import.meta.env`
// with a marker string first, then postprocess and apply the `Object.assign` code.
@@ -89,7 +89,7 @@ async function replaceDefine(
// Compute the marker from the length of the replaced code. We do this so that esbuild generates
// the sourcemap with the right column offset when we do the postprocessing.
const marker = `__astro_import_meta_env${'_'.repeat(
- env.length - 23 /* length of preceding string */
+ env.length - 23 /* length of preceding string */,
)}`;
replacementMarkers[marker] = env;
define = { ...define, 'import.meta.env': marker };
@@ -133,11 +133,11 @@ export default function envVitePlugin({ settings }: EnvPluginOptions): vite.Plug
// HACK: move ourselves before Vite's define plugin to apply replacements at the right time (before Vite normal plugins)
const viteDefinePluginIndex = resolvedConfig.plugins.findIndex(
- (p) => p.name === 'vite:define'
+ (p) => p.name === 'vite:define',
);
if (viteDefinePluginIndex !== -1) {
const myPluginIndex = resolvedConfig.plugins.findIndex(
- (p) => p.name === 'astro:vite-plugin-env'
+ (p) => p.name === 'astro:vite-plugin-env',
);
if (myPluginIndex !== -1) {
const myPlugin = resolvedConfig.plugins[myPluginIndex];
diff --git a/packages/astro/src/vite-plugin-head/index.ts b/packages/astro/src/vite-plugin-head/index.ts
index 07169bd96..a7e35dedb 100644
--- a/packages/astro/src/vite-plugin-head/index.ts
+++ b/packages/astro/src/vite-plugin-head/index.ts
@@ -22,7 +22,7 @@ export default function configHeadVitePlugin(): vite.Plugin {
id: string,
prop: P,
value: V,
- seen = new Set<string>()
+ seen = new Set<string>(),
) {
if (seen.has(id)) return;
seen.add(id);
diff --git a/packages/astro/src/vite-plugin-html/transform/escape.ts b/packages/astro/src/vite-plugin-html/transform/escape.ts
index d55233adc..c367e834a 100644
--- a/packages/astro/src/vite-plugin-html/transform/escape.ts
+++ b/packages/astro/src/vite-plugin-html/transform/escape.ts
@@ -13,7 +13,7 @@ const rehypeEscape: Plugin<[{ s: MagicString }], Root> = ({ s }) => {
s.overwrite(
node.position!.start.offset!,
node.position!.end.offset!,
- escapeTemplateLiteralCharacters(node.value)
+ escapeTemplateLiteralCharacters(node.value),
);
}
} else if (node.type === 'element') {
diff --git a/packages/astro/src/vite-plugin-html/transform/slots.ts b/packages/astro/src/vite-plugin-html/transform/slots.ts
index 7969db383..82046dd33 100644
--- a/packages/astro/src/vite-plugin-html/transform/slots.ts
+++ b/packages/astro/src/vite-plugin-html/transform/slots.ts
@@ -21,7 +21,7 @@ const rehypeSlots: Plugin<[{ s: MagicString }], Root> = ({ s }) => {
s.overwrite(
start,
end,
- `\${${SLOT_PREFIX}["${name}"] ?? \`${escapeTemplateLiteralCharacters(text).trim()}\`}`
+ `\${${SLOT_PREFIX}["${name}"] ?? \`${escapeTemplateLiteralCharacters(text).trim()}\`}`,
);
}
});
diff --git a/packages/astro/src/vite-plugin-integrations-container/index.ts b/packages/astro/src/vite-plugin-integrations-container/index.ts
index 5c1bb044d..49122b24f 100644
--- a/packages/astro/src/vite-plugin-integrations-container/index.ts
+++ b/packages/astro/src/vite-plugin-integrations-container/index.ts
@@ -24,7 +24,7 @@ export default function astroIntegrationsContainerPlugin({
if (settings.injectedRoutes.length === settings.resolvedInjectedRoutes.length) return;
// Ensure the injectedRoutes are all resolved to their final paths through Rollup
settings.resolvedInjectedRoutes = await Promise.all(
- settings.injectedRoutes.map((route) => resolveEntryPoint.call(this, route))
+ settings.injectedRoutes.map((route) => resolveEntryPoint.call(this, route)),
);
},
};
@@ -32,7 +32,7 @@ export default function astroIntegrationsContainerPlugin({
async function resolveEntryPoint(
this: PluginContext,
- route: InjectedRoute
+ route: InjectedRoute,
): Promise<ResolvedInjectedRoute> {
const resolvedId = await this.resolve(route.entrypoint)
.then((res) => res?.id)
diff --git a/packages/astro/src/vite-plugin-markdown/images.ts b/packages/astro/src/vite-plugin-markdown/images.ts
index 29afa2001..b9ea98b82 100644
--- a/packages/astro/src/vite-plugin-markdown/images.ts
+++ b/packages/astro/src/vite-plugin-markdown/images.ts
@@ -15,7 +15,7 @@ export function getMarkdownCodeForImages(imagePaths: MarkdownImagePath[], html:
return `{
const regex = new RegExp('__ASTRO_IMAGE_="([^"]*' + ${rawUrl.replace(
/[.*+?^${}()|[\]\\]/g,
- '\\\\$&'
+ '\\\\$&',
)} + '[^"]*)"', 'g');
let match;
let occurrenceCounter = 0;
diff --git a/packages/astro/src/vite-plugin-markdown/index.ts b/packages/astro/src/vite-plugin-markdown/index.ts
index 6859af148..37af2dc50 100644
--- a/packages/astro/src/vite-plugin-markdown/index.ts
+++ b/packages/astro/src/vite-plugin-markdown/index.ts
@@ -23,11 +23,11 @@ interface AstroPluginOptions {
}
const astroServerRuntimeModulePath = normalizePath(
- fileURLToPath(new URL('../runtime/server/index.js', import.meta.url))
+ fileURLToPath(new URL('../runtime/server/index.js', import.meta.url)),
);
const astroErrorModulePath = normalizePath(
- fileURLToPath(new URL('../core/errors/index.js', import.meta.url))
+ fileURLToPath(new URL('../core/errors/index.js', import.meta.url)),
);
export default function markdown({ settings, logger }: AstroPluginOptions): Plugin {
@@ -65,7 +65,7 @@ export default function markdown({ settings, logger }: AstroPluginOptions): Plug
// should be called in between those two lifecycles, so this error should never happen
if (!processor) {
return this.error(
- 'MDX processor is not initialized. This is an internal error. Please file an issue.'
+ 'MDX processor is not initialized. This is an internal error. Please file an issue.',
);
}
@@ -100,13 +100,13 @@ export default function markdown({ settings, logger }: AstroPluginOptions): Plug
if (frontmatter.setup) {
logger.warn(
'markdown',
- `[${id}] Astro now supports MDX! Support for components in ".md" (or alternative extensions like ".markdown") files using the "setup" frontmatter is no longer enabled by default. Migrate this file to MDX.`
+ `[${id}] Astro now supports MDX! Support for components in ".md" (or alternative extensions like ".markdown") files using the "setup" frontmatter is no longer enabled by default. Migrate this file to MDX.`,
);
}
const code = `
import { unescapeHTML, spreadAttributes, createComponent, render, renderComponent, maybeRenderHead } from ${JSON.stringify(
- astroServerRuntimeModulePath
+ astroServerRuntimeModulePath,
)};
import { AstroError, AstroErrorData } from ${JSON.stringify(astroErrorModulePath)};
${layout ? `import Layout from ${JSON.stringify(layout)};` : ''}
diff --git a/packages/astro/src/vite-plugin-mdx/index.ts b/packages/astro/src/vite-plugin-mdx/index.ts
index 1c8e2ced6..1c85d9226 100644
--- a/packages/astro/src/vite-plugin-mdx/index.ts
+++ b/packages/astro/src/vite-plugin-mdx/index.ts
@@ -6,7 +6,7 @@ import { transformJSX } from './transform-jsx.js';
// Format inspired by https://github.com/vitejs/vite/blob/main/packages/vite/src/node/constants.ts#L54
const SPECIAL_QUERY_REGEX = new RegExp(
- `[?&](?:worker|sharedworker|raw|url|${CONTENT_FLAG}|${PROPAGATED_ASSET_FLAG})\\b`
+ `[?&](?:worker|sharedworker|raw|url|${CONTENT_FLAG}|${PROPAGATED_ASSET_FLAG})\\b`,
);
/**
diff --git a/packages/astro/src/vite-plugin-mdx/tag.ts b/packages/astro/src/vite-plugin-mdx/tag.ts
index 0bf9722a5..a65f99806 100644
--- a/packages/astro/src/vite-plugin-mdx/tag.ts
+++ b/packages/astro/src/vite-plugin-mdx/tag.ts
@@ -26,11 +26,11 @@ export const tagExportsPlugin: PluginObj = {
[
t.importSpecifier(
t.identifier('__astro_tag_component__'),
- t.identifier('__astro_tag_component__')
+ t.identifier('__astro_tag_component__'),
),
],
- t.stringLiteral('astro/runtime/server/index.js')
- )
+ t.stringLiteral('astro/runtime/server/index.js'),
+ ),
);
},
// For each export we found, inject `__astro_tag_component__(exportName, rendererName)`
@@ -43,8 +43,8 @@ export const tagExportsPlugin: PluginObj = {
t.callExpression(t.identifier('__astro_tag_component__'), [
t.identifier(id),
t.stringLiteral(rendererName),
- ])
- )
+ ]),
+ ),
);
}
}
@@ -66,7 +66,7 @@ export const tagExportsPlugin: PluginObj = {
: '_hoc_function';
const uidIdentifier = path.scope.generateUidIdentifier(varName);
path.insertBefore(
- t.variableDeclaration('const', [t.variableDeclarator(uidIdentifier, node.declaration)])
+ t.variableDeclaration('const', [t.variableDeclarator(uidIdentifier, node.declaration)]),
);
node.declaration = uidIdentifier;
} else if (t.isFunctionDeclaration(node.declaration) && !node.declaration.id?.name) {
diff --git a/packages/astro/src/vite-plugin-mdx/transform-jsx.ts b/packages/astro/src/vite-plugin-mdx/transform-jsx.ts
index e2e8e97bc..c3bb8ed76 100644
--- a/packages/astro/src/vite-plugin-mdx/transform-jsx.ts
+++ b/packages/astro/src/vite-plugin-mdx/transform-jsx.ts
@@ -11,7 +11,7 @@ import { tagExportsPlugin } from './tag.js';
export async function transformJSX(
code: string,
id: string,
- ssr?: boolean
+ ssr?: boolean,
): Promise<TransformResult> {
const options = await getJsxTransformOptions();
const plugins = ssr ? [...(options.plugins ?? []), tagExportsPlugin] : options.plugins;
diff --git a/packages/astro/src/vite-plugin-scanner/index.ts b/packages/astro/src/vite-plugin-scanner/index.ts
index ecb9c12a5..05be99a07 100644
--- a/packages/astro/src/vite-plugin-scanner/index.ts
+++ b/packages/astro/src/vite-plugin-scanner/index.ts
@@ -56,8 +56,8 @@ export default function astroScannerPlugin({
logger.warn(
'router',
`getStaticPaths() ignored in dynamic page ${bold(
- rootRelativePath(settings.config.root, fileURL, true)
- )}. Add \`export const prerender = true;\` to prerender the page as static HTML during the build process.`
+ rootRelativePath(settings.config.root, fileURL, true),
+ )}. Add \`export const prerender = true;\` to prerender the page as static HTML during the build process.`,
);
}
diff --git a/packages/astro/src/vite-plugin-scanner/scan.ts b/packages/astro/src/vite-plugin-scanner/scan.ts
index 4e0e5fbfe..f447a1f28 100644
--- a/packages/astro/src/vite-plugin-scanner/scan.ts
+++ b/packages/astro/src/vite-plugin-scanner/scan.ts
@@ -39,7 +39,7 @@ let didInit = false;
export async function scan(
code: string,
id: string,
- settings?: AstroSettings
+ settings?: AstroSettings,
): Promise<PageOptions> {
if (!includesExport(code)) return {};
if (!didInit) {
@@ -72,7 +72,7 @@ export async function scan(
message: AstroErrorData.InvalidPrerenderExport.message(
prefix,
suffix,
- settings?.config.output === 'hybrid'
+ settings?.config.output === 'hybrid',
),
location: { file: id },
});
diff --git a/packages/astro/src/vite-plugin-utils/index.ts b/packages/astro/src/vite-plugin-utils/index.ts
index 74167a36a..a0133104c 100644
--- a/packages/astro/src/vite-plugin-utils/index.ts
+++ b/packages/astro/src/vite-plugin-utils/index.ts
@@ -10,7 +10,7 @@ import { viteID } from '../core/util.js';
export function getFileInfo(id: string, config: AstroConfig) {
const sitePathname = appendForwardSlash(
- config.site ? new URL(config.base, config.site).pathname : config.base
+ config.site ? new URL(config.base, config.site).pathname : config.base,
);
const fileId = id.split('?')[0];