astro 6.1.9 → 6.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/client.d.ts +1 -0
  2. package/dist/actions/runtime/types.d.ts +1 -1
  3. package/dist/assets/fonts/constants.d.ts +2 -0
  4. package/dist/assets/fonts/constants.js +4 -0
  5. package/dist/assets/fonts/core/create-get-font-file-url.d.ts +2 -0
  6. package/dist/assets/fonts/core/create-get-font-file-url.js +23 -0
  7. package/dist/assets/fonts/core/font-file-middleware.d.ts +21 -0
  8. package/dist/assets/fonts/core/font-file-middleware.js +59 -0
  9. package/dist/assets/fonts/definitions.d.ts +13 -0
  10. package/dist/assets/fonts/infra/build-url-resolver.d.ts +1 -0
  11. package/dist/assets/fonts/infra/build-url-resolver.js +7 -1
  12. package/dist/assets/fonts/infra/dev-url-resolver.d.ts +1 -0
  13. package/dist/assets/fonts/infra/dev-url-resolver.js +7 -1
  14. package/dist/assets/fonts/infra/remote-runtime-font-file-url-resolver.d.ts +19 -0
  15. package/dist/assets/fonts/infra/remote-runtime-font-file-url-resolver.js +27 -0
  16. package/dist/assets/fonts/infra/ssr-runtime-font-file-url-resolver.d.ts +12 -0
  17. package/dist/assets/fonts/infra/ssr-runtime-font-file-url-resolver.js +25 -0
  18. package/dist/assets/fonts/runtime.d.ts +1 -0
  19. package/dist/assets/fonts/runtime.js +4 -0
  20. package/dist/assets/fonts/vite-plugin-fonts.js +88 -49
  21. package/dist/assets/index.d.ts +1 -1
  22. package/dist/assets/index.js +3 -2
  23. package/dist/assets/svg/config.d.ts +5 -0
  24. package/dist/assets/svg/config.js +8 -0
  25. package/dist/assets/svg/svgo.d.ts +4 -0
  26. package/dist/assets/svg/svgo.js +10 -0
  27. package/dist/assets/svg/types.d.ts +4 -0
  28. package/dist/assets/svg/types.js +0 -0
  29. package/dist/assets/svg/utils.d.ts +3 -0
  30. package/dist/assets/{utils/svg.js → svg/utils.js} +11 -14
  31. package/dist/assets/vite-plugin-assets.js +8 -4
  32. package/dist/cli/flags.js +19 -9
  33. package/dist/cli/help/index.js +2 -1
  34. package/dist/cli/infra/build-time-astro-version-provider.js +1 -1
  35. package/dist/cli/preferences/index.js +3 -2
  36. package/dist/config/entrypoint.d.ts +2 -0
  37. package/dist/config/entrypoint.js +4 -0
  38. package/dist/config/index.js +9 -7
  39. package/dist/container/index.js +4 -7
  40. package/dist/content/content-layer.js +3 -3
  41. package/dist/core/app/base.d.ts +18 -4
  42. package/dist/core/app/base.js +29 -12
  43. package/dist/core/app/dev/app.d.ts +0 -1
  44. package/dist/core/app/dev/app.js +0 -2
  45. package/dist/core/app/entrypoints/index.d.ts +1 -1
  46. package/dist/core/app/entrypoints/index.js +1 -1
  47. package/dist/core/app/entrypoints/virtual/dev.js +1 -1
  48. package/dist/core/app/manifest.js +2 -0
  49. package/dist/core/app/pipeline.js +2 -2
  50. package/dist/core/app/types.d.ts +10 -3
  51. package/dist/core/base-pipeline.d.ts +9 -2
  52. package/dist/core/base-pipeline.js +17 -0
  53. package/dist/core/build/app.js +2 -1
  54. package/dist/core/build/index.js +13 -2
  55. package/dist/core/build/internal.d.ts +1 -0
  56. package/dist/core/build/internal.js +1 -0
  57. package/dist/core/build/pipeline.js +1 -1
  58. package/dist/core/build/plugins/plugin-manifest.js +6 -1
  59. package/dist/core/cache/types.d.ts +2 -0
  60. package/dist/core/config/schemas/base.d.ts +12 -4
  61. package/dist/core/config/schemas/base.js +11 -4
  62. package/dist/core/config/schemas/relative.d.ts +27 -6
  63. package/dist/core/config/schemas/relative.js +1 -1
  64. package/dist/core/config/settings.js +2 -1
  65. package/dist/core/config/vite-load.js +4 -17
  66. package/dist/core/constants.js +1 -1
  67. package/dist/core/createMinimalViteDevServer.d.ts +8 -0
  68. package/dist/core/createMinimalViteDevServer.js +15 -0
  69. package/dist/core/dev/dev.js +2 -2
  70. package/dist/core/dev/restart.js +2 -2
  71. package/dist/core/encryption.d.ts +6 -2
  72. package/dist/core/encryption.js +12 -18
  73. package/dist/core/errors/errors-data.d.ts +48 -2
  74. package/dist/core/errors/errors-data.js +26 -2
  75. package/dist/core/logger/config.d.ts +6 -0
  76. package/dist/core/logger/config.js +0 -0
  77. package/dist/core/logger/core.d.ts +33 -13
  78. package/dist/core/logger/core.js +50 -5
  79. package/dist/core/logger/handlers.d.ts +60 -0
  80. package/dist/core/logger/handlers.js +81 -0
  81. package/dist/core/logger/impls/compose.d.ts +2 -0
  82. package/dist/core/logger/impls/compose.js +26 -0
  83. package/dist/core/logger/impls/console.d.ts +9 -0
  84. package/dist/core/logger/impls/console.js +38 -0
  85. package/dist/core/logger/impls/json.d.ts +15 -0
  86. package/dist/core/logger/impls/json.js +42 -0
  87. package/dist/core/logger/impls/node.d.ts +7 -0
  88. package/dist/core/logger/impls/node.js +40 -0
  89. package/dist/core/logger/load.d.ts +11 -0
  90. package/dist/core/logger/load.js +88 -0
  91. package/dist/core/logger/node.d.ts +0 -5
  92. package/dist/core/logger/node.js +1 -39
  93. package/dist/core/logger/public.d.ts +17 -0
  94. package/dist/core/logger/public.js +7 -0
  95. package/dist/core/messages/runtime.js +1 -1
  96. package/dist/core/middleware/index.js +2 -1
  97. package/dist/core/preview/index.js +4 -3
  98. package/dist/core/render-context.js +35 -1
  99. package/dist/core/server-islands/endpoint.js +7 -3
  100. package/dist/core/sync/index.js +2 -2
  101. package/dist/core/wait-until.d.ts +1 -0
  102. package/dist/core/wait-until.js +0 -0
  103. package/dist/manifest/serialized.js +6 -1
  104. package/dist/runtime/client/dev-toolbar/apps/audit/index.js +4 -1
  105. package/dist/runtime/compiler/index.d.ts +1 -1
  106. package/dist/runtime/compiler/index.js +4 -0
  107. package/dist/runtime/server/astro-global.js +3 -0
  108. package/dist/runtime/server/index.d.ts +1 -0
  109. package/dist/runtime/server/index.js +3 -0
  110. package/dist/runtime/server/render/common.js +16 -0
  111. package/dist/runtime/server/render/instruction.d.ts +7 -1
  112. package/dist/runtime/server/render/server-islands.js +7 -3
  113. package/dist/runtime/server/render/template-depth.d.ts +13 -0
  114. package/dist/runtime/server/render/template-depth.js +11 -0
  115. package/dist/toolbar/vite-plugin-dev-toolbar.js +23 -1
  116. package/dist/types/astro.d.ts +2 -0
  117. package/dist/types/public/common.d.ts +1 -0
  118. package/dist/types/public/config.d.ts +54 -42
  119. package/dist/types/public/context.d.ts +17 -0
  120. package/dist/types/public/index.d.ts +1 -0
  121. package/dist/types/public/internal.d.ts +7 -1
  122. package/dist/types/public/preview.d.ts +5 -0
  123. package/dist/vite-plugin-app/app.d.ts +0 -1
  124. package/dist/vite-plugin-app/app.js +0 -2
  125. package/dist/vite-plugin-app/createAstroServerApp.d.ts +1 -1
  126. package/dist/vite-plugin-app/createAstroServerApp.js +2 -6
  127. package/dist/vite-plugin-environment/index.js +2 -1
  128. package/dist/vite-plugin-load-fallback/index.d.ts +1 -1
  129. package/dist/vite-plugin-load-fallback/index.js +2 -5
  130. package/package.json +12 -7
  131. package/dist/assets/utils/svg.d.ts +0 -3
  132. package/dist/core/app/logging.d.ts +0 -3
  133. package/dist/core/app/logging.js +0 -11
  134. package/dist/core/logger/console.d.ts +0 -2
  135. package/dist/core/logger/console.js +0 -21
@@ -530,6 +530,23 @@ export interface APIContext<Props extends Record<string, any> = Record<string, a
530
530
  */
531
531
  insertScriptHash: (hash: CspHash) => void;
532
532
  } | undefined;
533
+ /**
534
+ * It exposes utilities for logging messages.
535
+ */
536
+ logger: {
537
+ /**
538
+ * Logs a message with `info` level.
539
+ */
540
+ info: (msg: string) => void;
541
+ /**
542
+ * Logs a message with `warn` level.
543
+ */
544
+ warn: (msg: string) => void;
545
+ /**
546
+ * Logs a message with `error` level.
547
+ */
548
+ error: (msg: string) => void;
549
+ } | undefined;
533
550
  /**
534
551
  * The route currently rendered. It's stripped of the `srcDir` and the `pages` folder, and it doesn't contain the extension.
535
552
  *
@@ -23,3 +23,4 @@ export type * from './manifest.js';
23
23
  export type * from './preview.js';
24
24
  export type * from './toolbar.js';
25
25
  export type * from './view-transitions.js';
26
+ export type { AstroLoggerDestination, AstroLoggerMessage, AstroLoggerLevel, } from '../../core/logger/core.js';
@@ -200,7 +200,7 @@ export interface SSRResult {
200
200
  * Map of directive name (e.g. `load`) to the directive script code
201
201
  */
202
202
  clientDirectives: Map<string, string>;
203
- compressHTML: boolean;
203
+ compressHTML: boolean | 'jsx';
204
204
  partial: boolean;
205
205
  /**
206
206
  * Only used for logging
@@ -295,6 +295,12 @@ export interface SSRMetadata {
295
295
  extraStyleHashes: string[];
296
296
  extraScriptHashes: string[];
297
297
  propagators: Set<AstroComponentInstance | ServerIslandComponent>;
298
+ /**
299
+ * Tracks nesting depth of HTML `<template>` elements during rendering.
300
+ * Scripts rendered inside `<template>` tags should not be deduplicated,
301
+ * because template content is inert and scripts inside don't execute.
302
+ */
303
+ templateDepth: number;
298
304
  }
299
305
  export type SSRError = Error & ViteErrorPayload['err'];
300
306
  export interface InternalInjectedRoute {
@@ -16,6 +16,11 @@ export interface PreviewServerParams {
16
16
  base: string;
17
17
  logger: AstroIntegrationLogger;
18
18
  headers?: OutgoingHttpHeaders;
19
+ /**
20
+ * Configures allowed hosts that the preview server can respond to.
21
+ * If the `Host` header doesn't match one of the allowed hosts, the server will return a 403 response.
22
+ */
23
+ allowedHosts?: string[] | true;
19
24
  root: URL;
20
25
  }
21
26
  export type CreatePreviewServer = (params: PreviewServerParams) => PreviewServer | Promise<PreviewServer>;
@@ -10,7 +10,6 @@ import { RunnablePipeline } from './pipeline.js';
10
10
  import type { DevMatch, LogRequestPayload } from '../core/app/base.js';
11
11
  export declare class AstroServerApp extends BaseApp<RunnablePipeline> {
12
12
  settings: AstroSettings;
13
- logger: AstroLogger;
14
13
  loader: ModuleLoader;
15
14
  manifestData: RoutesList;
16
15
  currentRenderContext: RenderContext | undefined;
@@ -19,14 +19,12 @@ import { matchRoute } from "../core/routing/dev.js";
19
19
  import { req } from "../core/messages/runtime.js";
20
20
  class AstroServerApp extends BaseApp {
21
21
  settings;
22
- logger;
23
22
  loader;
24
23
  manifestData;
25
24
  currentRenderContext = void 0;
26
25
  constructor(manifest, streaming = true, logger, manifestData, loader, settings, getDebugInfo) {
27
26
  super(manifest, streaming, settings, logger, loader, manifestData, getDebugInfo);
28
27
  this.settings = settings;
29
- this.logger = logger;
30
28
  this.loader = loader;
31
29
  this.manifestData = manifestData;
32
30
  }
@@ -1,5 +1,5 @@
1
1
  import type http from 'node:http';
2
- import { AstroLogger } from '../core/logger/core.js';
2
+ import type { AstroLogger } from '../core/logger/core.js';
3
3
  import type { ModuleLoader } from '../core/module-loader/index.js';
4
4
  import type { AstroSettings } from '../types/astro.js';
5
5
  import type { DevServerController } from '../vite-plugin-astro-server/controller.js';
@@ -9,14 +9,10 @@ import { BuildTimeAstroVersionProvider } from "../cli/infra/build-time-astro-ver
9
9
  import { PassthroughTextStyler } from "../cli/infra/passthrough-text-styler.js";
10
10
  import { ProcessOperatingSystemProvider } from "../cli/infra/process-operating-system-provider.js";
11
11
  import { TinyexecCommandExecutor } from "../cli/infra/tinyexec-command-executor.js";
12
- import { AstroLogger } from "../core/logger/core.js";
13
- import { nodeLogDestination } from "../core/logger/node.js";
14
12
  import { AstroServerApp } from "./app.js";
13
+ import { createNodeLoggerFromFlags } from "../core/logger/impls/node.js";
15
14
  async function createAstroServerApp(controller, settings, loader, logger) {
16
- const actualLogger = logger ?? new AstroLogger({
17
- destination: nodeLogDestination,
18
- level: settings.logLevel
19
- });
15
+ const actualLogger = logger ?? createNodeLoggerFromFlags({});
20
16
  const routesList = { routes: routes.map((r) => r.routeData) };
21
17
  const debugInfoProvider = new DevDebugInfoProvider({
22
18
  config: settings.config,
@@ -60,7 +60,8 @@ function vitePluginEnvironment({
60
60
  finalEnvironmentOptions.optimizeDeps = {
61
61
  include: [
62
62
  // For the dev toolbar
63
- "astro > html-escaper"
63
+ "astro > html-escaper",
64
+ "astro/runtime/client/dev-toolbar/entrypoint.js"
64
65
  ],
65
66
  exclude: ["astro:*", "virtual:astro:*", "astro/virtual-modules/prefetch.js"],
66
67
  // Astro files can't be rendered on the client
@@ -5,5 +5,5 @@ interface LoadFallbackPluginParams {
5
5
  fs?: NodeFileSystemModule;
6
6
  root: URL;
7
7
  }
8
- export default function loadFallbackPlugin({ fs, root, }: LoadFallbackPluginParams): vite.Plugin[] | false;
8
+ export default function loadFallbackPlugin({ fs, root }: LoadFallbackPluginParams): vite.Plugin[];
9
9
  export {};
@@ -3,12 +3,9 @@ import npath from "node:path";
3
3
  import { slash } from "../core/path.js";
4
4
  import { cleanUrl } from "../vite-plugin-utils/index.js";
5
5
  const FALLBACK_FLAG = "astroFallbackFlag";
6
- function loadFallbackPlugin({
7
- fs,
8
- root
9
- }) {
6
+ function loadFallbackPlugin({ fs, root }) {
10
7
  if (!fs || fs === nodeFs || fs.default === nodeFs) {
11
- return false;
8
+ return [];
12
9
  }
13
10
  const tryLoadModule = async (id) => {
14
11
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "astro",
3
- "version": "6.1.9",
3
+ "version": "6.2.0",
4
4
  "description": "Astro is a modern site builder with web best practices, performance, and DX front-of-mind.",
5
5
  "type": "module",
6
6
  "author": "withastro",
@@ -81,7 +81,12 @@
81
81
  "./zod": "./dist/zod.js",
82
82
  "./errors": "./dist/core/errors/userError.js",
83
83
  "./middleware": "./dist/core/middleware/index.js",
84
- "./virtual-modules/*": "./dist/virtual-modules/*"
84
+ "./virtual-modules/*": "./dist/virtual-modules/*",
85
+ "./logger": "./dist/core/logger/public.js",
86
+ "./logger/json": "./dist/core/logger/impls/json.js",
87
+ "./logger/node": "./dist/core/logger/impls/node.js",
88
+ "./logger/compose": "./dist/core/logger/impls/compose.js",
89
+ "./logger/console": "./dist/core/logger/impls/console.js"
85
90
  },
86
91
  "bin": {
87
92
  "astro": "./bin/astro.mjs"
@@ -101,7 +106,7 @@
101
106
  "README.md"
102
107
  ],
103
108
  "dependencies": {
104
- "@astrojs/compiler": "^3.0.1",
109
+ "@astrojs/compiler": "^4.0.0",
105
110
  "@capsizecss/unpack": "^4.0.0",
106
111
  "@clack/prompts": "^1.1.0",
107
112
  "@oslojs/encoding": "^1.1.0",
@@ -153,8 +158,8 @@
153
158
  "yargs-parser": "^22.0.0",
154
159
  "zod": "^4.3.6",
155
160
  "@astrojs/internal-helpers": "0.9.0",
156
- "@astrojs/markdown-remark": "7.1.1",
157
- "@astrojs/telemetry": "3.3.1"
161
+ "@astrojs/telemetry": "3.3.1",
162
+ "@astrojs/markdown-remark": "7.1.1"
158
163
  },
159
164
  "optionalDependencies": {
160
165
  "sharp": "^0.34.0"
@@ -189,8 +194,8 @@
189
194
  "undici": "^7.22.0",
190
195
  "unified": "^11.0.5",
191
196
  "vitest": "^4.1.0",
192
- "@astrojs/check": "0.9.8",
193
- "astro-scripts": "0.0.14"
197
+ "astro-scripts": "0.0.14",
198
+ "@astrojs/check": "0.9.9"
194
199
  },
195
200
  "engines": {
196
201
  "node": ">=22.12.0",
@@ -1,3 +0,0 @@
1
- import type { AstroConfig } from '../../types/public/config.js';
2
- import type { ImageMetadata } from '../types.js';
3
- export declare function makeSvgComponent(meta: ImageMetadata, contents: Buffer | string, svgoConfig: AstroConfig['experimental']['svgo']): string;
@@ -1,3 +0,0 @@
1
- import type { AstroInlineConfig } from '../../types/public/index.js';
2
- import { AstroLogger } from '../logger/core.js';
3
- export declare function createConsoleLogger(level: AstroInlineConfig['logLevel']): AstroLogger;
@@ -1,11 +0,0 @@
1
- import { consoleLogDestination } from "../logger/console.js";
2
- import { AstroLogger } from "../logger/core.js";
3
- function createConsoleLogger(level) {
4
- return new AstroLogger({
5
- destination: consoleLogDestination,
6
- level: level ?? "info"
7
- });
8
- }
9
- export {
10
- createConsoleLogger
11
- };
@@ -1,2 +0,0 @@
1
- import { type AstroLogMessage, type AstroLoggerDestination } from './core.js';
2
- export declare const consoleLogDestination: AstroLoggerDestination<AstroLogMessage>;
@@ -1,21 +0,0 @@
1
- import {
2
- getEventPrefix,
3
- levels
4
- } from "./core.js";
5
- const consoleLogDestination = {
6
- write(event) {
7
- let dest = console.error;
8
- if (levels[event.level] < levels["error"]) {
9
- dest = console.info;
10
- }
11
- if (event.label === "SKIP_FORMAT") {
12
- dest(event.message);
13
- } else {
14
- dest(getEventPrefix(event) + " " + event.message);
15
- }
16
- return true;
17
- }
18
- };
19
- export {
20
- consoleLogDestination
21
- };