astro 4.10.3 → 4.11.1
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.
- package/components/Code.astro +9 -0
- package/dist/@types/astro.d.ts +0 -2
- package/dist/actions/runtime/store.d.ts +0 -1
- package/dist/actions/runtime/virtual/server.d.ts +1 -1
- package/dist/assets/build/remote.d.ts +0 -1
- package/dist/assets/internal.d.ts +1 -1
- package/dist/assets/internal.js +6 -0
- package/dist/assets/services/vendor/squoosh/avif/avif_node_dec.wasm.d.ts +0 -1
- package/dist/assets/services/vendor/squoosh/avif/avif_node_enc.wasm.d.ts +0 -1
- package/dist/assets/services/vendor/squoosh/codecs.d.ts +0 -1
- package/dist/assets/services/vendor/squoosh/image.d.ts +0 -1
- package/dist/assets/services/vendor/squoosh/image_data.d.ts +0 -1
- package/dist/assets/services/vendor/squoosh/impl.d.ts +0 -1
- package/dist/assets/services/vendor/squoosh/mozjpeg/mozjpeg_node_dec.wasm.d.ts +0 -1
- package/dist/assets/services/vendor/squoosh/mozjpeg/mozjpeg_node_enc.wasm.d.ts +0 -1
- package/dist/assets/services/vendor/squoosh/png/squoosh_oxipng_bg.wasm.d.ts +0 -1
- package/dist/assets/services/vendor/squoosh/png/squoosh_png_bg.wasm.d.ts +0 -1
- package/dist/assets/services/vendor/squoosh/resize/squoosh_resize_bg.wasm.d.ts +0 -1
- package/dist/assets/services/vendor/squoosh/rotate/rotate.wasm.d.ts +0 -1
- package/dist/assets/services/vendor/squoosh/utils/workerPool.d.ts +0 -1
- package/dist/assets/services/vendor/squoosh/webp/webp_node_dec.wasm.d.ts +0 -1
- package/dist/assets/services/vendor/squoosh/webp/webp_node_enc.wasm.d.ts +0 -1
- package/dist/assets/types.d.ts +8 -2
- package/dist/assets/types.js +7 -0
- package/dist/cli/add/babel.d.ts +6 -6
- package/dist/config/index.d.ts +1 -1
- package/dist/config/vite-plugin-content-listen.d.ts +0 -1
- package/dist/container/pipeline.d.ts +0 -1
- package/dist/container/pipeline.js +13 -32
- package/dist/content/runtime-assets.d.ts +3 -3
- package/dist/content/server-listeners.d.ts +0 -1
- package/dist/content/types-generator.d.ts +1 -2
- package/dist/content/types-generator.js +27 -6
- package/dist/content/utils.d.ts +0 -1
- package/dist/content/vite-plugin-content-imports.d.ts +0 -1
- package/dist/content/vite-plugin-content-virtual-mod.d.ts +0 -1
- package/dist/core/app/createOutgoingHttpHeaders.d.ts +0 -1
- package/dist/core/app/index.d.ts +4 -0
- package/dist/core/app/index.js +17 -6
- package/dist/core/app/node.d.ts +0 -1
- package/dist/core/app/pipeline.d.ts +1 -2
- package/dist/core/app/pipeline.js +11 -39
- package/dist/core/base-pipeline.d.ts +0 -9
- package/dist/core/build/pipeline.d.ts +1 -2
- package/dist/core/build/pipeline.js +16 -42
- package/dist/core/build/plugins/plugin-analyzer.js +14 -12
- package/dist/core/config/config.d.ts +0 -1
- package/dist/core/config/schema.d.ts +0 -2
- package/dist/core/config/vite-load.d.ts +0 -1
- package/dist/core/constants.js +1 -1
- package/dist/core/cookies/cookies.d.ts +5 -0
- package/dist/core/cookies/cookies.js +12 -0
- package/dist/core/cookies/response.d.ts +1 -0
- package/dist/core/cookies/response.js +3 -2
- package/dist/core/create-vite.d.ts +0 -1
- package/dist/core/create-vite.js +0 -4
- package/dist/core/dev/container.d.ts +0 -3
- package/dist/core/dev/dev.d.ts +0 -2
- package/dist/core/dev/dev.js +1 -1
- package/dist/core/dev/restart.d.ts +0 -1
- package/dist/core/errors/errors-data.d.ts +21 -12
- package/dist/core/errors/errors-data.js +7 -6
- package/dist/core/messages.js +2 -2
- package/dist/core/module-loader/loader.d.ts +0 -1
- package/dist/core/preview/static-preview-server.d.ts +0 -1
- package/dist/core/render-context.d.ts +1 -1
- package/dist/core/render-context.js +20 -6
- package/dist/core/request.d.ts +0 -1
- package/dist/core/request.js +7 -1
- package/dist/core/routing/manifest/create.d.ts +0 -1
- package/dist/core/routing/rewrite.d.ts +10 -0
- package/dist/core/routing/rewrite.js +41 -0
- package/dist/env/vite-plugin-env.d.ts +0 -1
- package/dist/integrations/hooks.d.ts +1 -2
- package/dist/jsx/rehype.d.ts +2 -8
- package/dist/runtime/client/dev-toolbar/helpers.d.ts +1 -1
- package/dist/runtime/client/dev-toolbar/settings.d.ts +1 -1
- package/dist/runtime/server/render/page.js +11 -2
- package/dist/transitions/events.d.ts +0 -1
- package/dist/transitions/router.js +6 -1
- package/dist/vite-plugin-astro-server/pipeline.d.ts +1 -2
- package/dist/vite-plugin-astro-server/pipeline.js +15 -42
- package/dist/vite-plugin-astro-server/plugin.d.ts +0 -1
- package/dist/vite-plugin-astro-server/request.d.ts +0 -1
- package/dist/vite-plugin-astro-server/request.js +1 -1
- package/dist/vite-plugin-astro-server/response.d.ts +0 -1
- package/dist/vite-plugin-astro-server/route.d.ts +0 -1
- package/dist/vite-plugin-astro-server/route.js +39 -97
- package/dist/vite-plugin-inject-env-ts/index.d.ts +0 -1
- package/dist/vite-plugin-load-fallback/index.d.ts +0 -1
- package/package.json +12 -11
|
@@ -55,7 +55,7 @@ export declare const serverHelpers: {
|
|
|
55
55
|
* @param callback - The callback to run when the event is received.
|
|
56
56
|
* The payload's content will be passed to the callback as an argument
|
|
57
57
|
*/
|
|
58
|
-
on: <
|
|
58
|
+
on: <T>(event: string, callback: (data: T) => void) => void;
|
|
59
59
|
};
|
|
60
60
|
export type ToolbarServerHelpers = typeof serverHelpers;
|
|
61
61
|
export {};
|
|
@@ -13,7 +13,7 @@ export declare const settings: {
|
|
|
13
13
|
readonly config: Settings;
|
|
14
14
|
updateSetting: <Key extends keyof Settings>(key: Key, value: Settings[Key]) => void;
|
|
15
15
|
logger: {
|
|
16
|
-
log: (message: string, level?:
|
|
16
|
+
log: (message: string, level?: "log" | "warn" | "error") => void;
|
|
17
17
|
warn: (message: string) => void;
|
|
18
18
|
error: (message: string) => void;
|
|
19
19
|
verboseLog: (message: string) => void;
|
|
@@ -53,8 +53,17 @@ async function renderPage(result, componentFactory, props, children, streaming,
|
|
|
53
53
|
if (route?.component.endsWith(".md")) {
|
|
54
54
|
headers.set("Content-Type", "text/html; charset=utf-8");
|
|
55
55
|
}
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
let status = init.status;
|
|
57
|
+
if (route?.route === "/404") {
|
|
58
|
+
status = 404;
|
|
59
|
+
} else if (route?.route === "/500") {
|
|
60
|
+
status = 500;
|
|
61
|
+
}
|
|
62
|
+
if (status) {
|
|
63
|
+
return new Response(body, { ...init, headers, status });
|
|
64
|
+
} else {
|
|
65
|
+
return new Response(body, { ...init, headers });
|
|
66
|
+
}
|
|
58
67
|
}
|
|
59
68
|
export {
|
|
60
69
|
renderPage
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="@types/dom-view-transitions" />
|
|
2
1
|
import type { Direction, NavigationTypeString } from './types.js';
|
|
3
2
|
export declare const TRANSITION_BEFORE_PREPARATION = "astro:before-preparation";
|
|
4
3
|
export declare const TRANSITION_AFTER_PREPARATION = "astro:after-preparation";
|
|
@@ -268,7 +268,12 @@ async function transition(direction, from, to, options, historyState) {
|
|
|
268
268
|
return;
|
|
269
269
|
}
|
|
270
270
|
if (response.redirected) {
|
|
271
|
-
|
|
271
|
+
const redirectedTo = new URL(response.redirected);
|
|
272
|
+
if (redirectedTo.origin !== preparationEvent.to.origin) {
|
|
273
|
+
preparationEvent.preventDefault();
|
|
274
|
+
return;
|
|
275
|
+
}
|
|
276
|
+
preparationEvent.to = redirectedTo;
|
|
272
277
|
}
|
|
273
278
|
parser ??= new DOMParser();
|
|
274
279
|
preparationEvent.newDocument = parser.parseFromString(response.html, response.mediaType);
|
|
@@ -19,7 +19,6 @@ export declare class DevPipeline extends Pipeline {
|
|
|
19
19
|
preload(routeData: RouteData, filePath: URL): Promise<ComponentInstance>;
|
|
20
20
|
clearRouteCache(): void;
|
|
21
21
|
getComponentByRoute(routeData: RouteData): Promise<ComponentInstance>;
|
|
22
|
-
tryRewrite(payload: RewritePayload, request: Request,
|
|
22
|
+
tryRewrite(payload: RewritePayload, request: Request, _sourceRoute: RouteData): Promise<[RouteData, ComponentInstance, URL]>;
|
|
23
23
|
setManifestData(manifestData: ManifestData): void;
|
|
24
|
-
rewriteKnownRoute(route: string, sourceRoute: RouteData): ComponentInstance;
|
|
25
24
|
}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { fileURLToPath } from "node:url";
|
|
2
2
|
import { getInfoOutput } from "../cli/info/index.js";
|
|
3
3
|
import {} from "../core/base-pipeline.js";
|
|
4
|
+
import { shouldAppendForwardSlash } from "../core/build/util.js";
|
|
4
5
|
import { ASTRO_VERSION, DEFAULT_404_COMPONENT } from "../core/constants.js";
|
|
5
6
|
import { enhanceViteSSRError } from "../core/errors/dev/index.js";
|
|
6
|
-
import {
|
|
7
|
+
import { RewriteEncounteredAnError } from "../core/errors/errors-data.js";
|
|
7
8
|
import { AggregateError, AstroError, CSSError, MarkdownError } from "../core/errors/index.js";
|
|
9
|
+
import { prependForwardSlash, removeTrailingForwardSlash } from "../core/path.js";
|
|
8
10
|
import { Pipeline, loadRenderer } from "../core/render/index.js";
|
|
9
11
|
import { DEFAULT_404_ROUTE, default404Page } from "../core/routing/astro-designed-error-pages.js";
|
|
12
|
+
import { findRouteToRewrite } from "../core/routing/rewrite.js";
|
|
10
13
|
import { isPage, isServerLikeOutput, resolveIdToUrl, viteID } from "../core/util.js";
|
|
11
14
|
import { PAGE_SCRIPT_ID } from "../vite-plugin-scripts/index.js";
|
|
12
15
|
import { getStylesForURL } from "./css.js";
|
|
@@ -133,54 +136,24 @@ class DevPipeline extends Pipeline {
|
|
|
133
136
|
return await this.preload(routeData, filePath);
|
|
134
137
|
}
|
|
135
138
|
}
|
|
136
|
-
async tryRewrite(payload, request,
|
|
137
|
-
let foundRoute;
|
|
139
|
+
async tryRewrite(payload, request, _sourceRoute) {
|
|
138
140
|
if (!this.manifestData) {
|
|
139
141
|
throw new Error("Missing manifest data. This is an internal error, please file an issue.");
|
|
140
142
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
foundRoute = route;
|
|
152
|
-
break;
|
|
153
|
-
} else if (finalUrl.pathname === "/404") {
|
|
154
|
-
foundRoute = DEFAULT_404_ROUTE;
|
|
155
|
-
break;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
if (foundRoute && finalUrl) {
|
|
159
|
-
if (foundRoute.pathname === "/404") {
|
|
160
|
-
const componentInstance = this.rewriteKnownRoute(foundRoute.pathname, sourceRoute);
|
|
161
|
-
return [foundRoute, componentInstance, finalUrl];
|
|
162
|
-
} else {
|
|
163
|
-
const componentInstance = await this.getComponentByRoute(foundRoute);
|
|
164
|
-
return [foundRoute, componentInstance, finalUrl];
|
|
165
|
-
}
|
|
166
|
-
} else {
|
|
167
|
-
throw new AstroError({
|
|
168
|
-
...RewriteEncounteredAnError,
|
|
169
|
-
message: RewriteEncounteredAnError.message(payload.toString())
|
|
170
|
-
});
|
|
171
|
-
}
|
|
143
|
+
const [foundRoute, finalUrl] = findRouteToRewrite({
|
|
144
|
+
payload,
|
|
145
|
+
request,
|
|
146
|
+
routes: this.manifestData?.routes,
|
|
147
|
+
trailingSlash: this.config.trailingSlash,
|
|
148
|
+
buildFormat: this.config.build.format,
|
|
149
|
+
base: this.config.base
|
|
150
|
+
});
|
|
151
|
+
const componentInstance = await this.getComponentByRoute(foundRoute);
|
|
152
|
+
return [foundRoute, componentInstance, finalUrl];
|
|
172
153
|
}
|
|
173
154
|
setManifestData(manifestData) {
|
|
174
155
|
this.manifestData = manifestData;
|
|
175
156
|
}
|
|
176
|
-
rewriteKnownRoute(route, sourceRoute) {
|
|
177
|
-
if (isServerLikeOutput(this.config) && sourceRoute.prerender) {
|
|
178
|
-
if (route === "/404") {
|
|
179
|
-
return { default: default404Page };
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
throw new AstroError(InvalidRewrite404);
|
|
183
|
-
}
|
|
184
157
|
}
|
|
185
158
|
export {
|
|
186
159
|
DevPipeline
|
|
@@ -11,7 +11,7 @@ async function handleRequest({
|
|
|
11
11
|
incomingResponse
|
|
12
12
|
}) {
|
|
13
13
|
const { config, loader } = pipeline;
|
|
14
|
-
const origin = `${loader.isHttps() ? "https" : "http"}://${incomingRequest.headers.host}`;
|
|
14
|
+
const origin = `${loader.isHttps() ? "https" : "http"}://${incomingRequest.headers[":authority"] ?? incomingRequest.headers.host}`;
|
|
15
15
|
const url = new URL(origin + incomingRequest.url);
|
|
16
16
|
let pathname;
|
|
17
17
|
if (config.trailingSlash === "never" && !incomingRequest.url) {
|
|
@@ -108,11 +108,8 @@ async function handleRoute({
|
|
|
108
108
|
}) {
|
|
109
109
|
const timeStart = performance.now();
|
|
110
110
|
const { config, loader, logger } = pipeline;
|
|
111
|
-
if (!matchedRoute
|
|
112
|
-
|
|
113
|
-
logger.info(null, req({ url: pathname, method: incomingRequest.method, statusCode: 404 }));
|
|
114
|
-
}
|
|
115
|
-
return handle404Response(origin, incomingRequest, incomingResponse);
|
|
111
|
+
if (!matchedRoute) {
|
|
112
|
+
throw new Error("No route matched, and default 404 route was not found.");
|
|
116
113
|
}
|
|
117
114
|
let request;
|
|
118
115
|
let renderContext;
|
|
@@ -121,96 +118,40 @@ async function handleRoute({
|
|
|
121
118
|
let route;
|
|
122
119
|
const middleware = (await loadMiddleware(loader)).onRequest;
|
|
123
120
|
const locals = Reflect.get(incomingRequest, clientLocalsSymbol);
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
return found;
|
|
143
|
-
});
|
|
144
|
-
if (!pathNameHasLocale && pathname !== "/") {
|
|
145
|
-
return handle404Response(origin, incomingRequest, incomingResponse);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
request = createRequest({
|
|
149
|
-
base: config.base,
|
|
150
|
-
url,
|
|
151
|
-
headers: incomingRequest.headers,
|
|
152
|
-
logger,
|
|
153
|
-
// no route found, so we assume the default for rendering the 404 page
|
|
154
|
-
staticLike: config.output === "static" || config.output === "hybrid"
|
|
155
|
-
});
|
|
156
|
-
route = {
|
|
157
|
-
component: "",
|
|
158
|
-
generate(_data) {
|
|
159
|
-
return "";
|
|
160
|
-
},
|
|
161
|
-
params: [],
|
|
162
|
-
// Disable eslint as we only want to generate an empty RegExp
|
|
163
|
-
// eslint-disable-next-line prefer-regex-literals
|
|
164
|
-
pattern: new RegExp(""),
|
|
165
|
-
prerender: false,
|
|
166
|
-
segments: [],
|
|
167
|
-
type: "fallback",
|
|
168
|
-
route: "",
|
|
169
|
-
fallbackRoutes: [],
|
|
170
|
-
isIndex: false
|
|
171
|
-
};
|
|
172
|
-
renderContext = RenderContext.create({
|
|
173
|
-
pipeline,
|
|
174
|
-
pathname,
|
|
175
|
-
middleware,
|
|
176
|
-
request,
|
|
177
|
-
routeData: route
|
|
178
|
-
});
|
|
179
|
-
} else {
|
|
180
|
-
const filePath = matchedRoute.filePath;
|
|
181
|
-
const { preloadedComponent } = matchedRoute;
|
|
182
|
-
route = matchedRoute.route;
|
|
183
|
-
request = createRequest({
|
|
184
|
-
base: config.base,
|
|
185
|
-
url,
|
|
186
|
-
headers: incomingRequest.headers,
|
|
187
|
-
method: incomingRequest.method,
|
|
188
|
-
body,
|
|
189
|
-
logger,
|
|
190
|
-
clientAddress: incomingRequest.socket.remoteAddress,
|
|
191
|
-
staticLike: config.output === "static" || route.prerender
|
|
192
|
-
});
|
|
193
|
-
for (const [name, value] of Object.entries(config.server.headers ?? {})) {
|
|
194
|
-
if (value) incomingResponse.setHeader(name, value);
|
|
195
|
-
}
|
|
196
|
-
options = {
|
|
197
|
-
pipeline,
|
|
198
|
-
filePath,
|
|
199
|
-
preload: preloadedComponent,
|
|
200
|
-
pathname,
|
|
201
|
-
request,
|
|
202
|
-
route
|
|
203
|
-
};
|
|
204
|
-
mod = preloadedComponent;
|
|
205
|
-
renderContext = RenderContext.create({
|
|
206
|
-
locals,
|
|
207
|
-
pipeline,
|
|
208
|
-
pathname,
|
|
209
|
-
middleware,
|
|
210
|
-
request,
|
|
211
|
-
routeData: route
|
|
212
|
-
});
|
|
121
|
+
const filePath = matchedRoute.filePath;
|
|
122
|
+
const { preloadedComponent } = matchedRoute;
|
|
123
|
+
route = matchedRoute.route;
|
|
124
|
+
request = createRequest({
|
|
125
|
+
base: config.base,
|
|
126
|
+
url,
|
|
127
|
+
headers: incomingRequest.headers,
|
|
128
|
+
method: incomingRequest.method,
|
|
129
|
+
body,
|
|
130
|
+
logger,
|
|
131
|
+
clientAddress: incomingRequest.socket.remoteAddress,
|
|
132
|
+
staticLike: config.output === "static" || route.prerender
|
|
133
|
+
});
|
|
134
|
+
for (const [name, value] of Object.entries(config.server.headers ?? {})) {
|
|
135
|
+
if (value) incomingResponse.setHeader(name, value);
|
|
213
136
|
}
|
|
137
|
+
options = {
|
|
138
|
+
pipeline,
|
|
139
|
+
filePath,
|
|
140
|
+
preload: preloadedComponent,
|
|
141
|
+
pathname,
|
|
142
|
+
request,
|
|
143
|
+
route
|
|
144
|
+
};
|
|
145
|
+
mod = preloadedComponent;
|
|
146
|
+
const isPrerendered404 = matchedRoute.route.route === "/404" && matchedRoute.route.prerender;
|
|
147
|
+
renderContext = RenderContext.create({
|
|
148
|
+
locals,
|
|
149
|
+
pipeline,
|
|
150
|
+
pathname,
|
|
151
|
+
middleware: isPrerendered404 ? void 0 : middleware,
|
|
152
|
+
request,
|
|
153
|
+
routeData: route
|
|
154
|
+
});
|
|
214
155
|
let response;
|
|
215
156
|
try {
|
|
216
157
|
response = await renderContext.render(mod);
|
|
@@ -220,9 +161,10 @@ async function handleRoute({
|
|
|
220
161
|
throw err;
|
|
221
162
|
}
|
|
222
163
|
logger.error("router", err.stack || err.message);
|
|
223
|
-
const
|
|
224
|
-
const
|
|
225
|
-
|
|
164
|
+
const filePath500 = new URL(`./${custom500.component}`, config.root);
|
|
165
|
+
const preloaded500Component = await pipeline.preload(custom500, filePath500);
|
|
166
|
+
renderContext.props.error = err;
|
|
167
|
+
response = await renderContext.render(preloaded500Component);
|
|
226
168
|
status = 500;
|
|
227
169
|
}
|
|
228
170
|
if (isLoggedRequest(pathname)) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "astro",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.11.1",
|
|
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",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
"vendor"
|
|
110
110
|
],
|
|
111
111
|
"dependencies": {
|
|
112
|
-
"@astrojs/compiler": "^2.8.
|
|
112
|
+
"@astrojs/compiler": "^2.8.1",
|
|
113
113
|
"@babel/core": "^7.24.7",
|
|
114
114
|
"@babel/generator": "^7.24.7",
|
|
115
115
|
"@babel/parser": "^7.24.7",
|
|
@@ -134,7 +134,7 @@
|
|
|
134
134
|
"diff": "^5.2.0",
|
|
135
135
|
"dlv": "^1.1.3",
|
|
136
136
|
"dset": "^3.1.3",
|
|
137
|
-
"es-module-lexer": "^1.5.
|
|
137
|
+
"es-module-lexer": "^1.5.4",
|
|
138
138
|
"esbuild": "^0.21.5",
|
|
139
139
|
"estree-walker": "^3.0.3",
|
|
140
140
|
"execa": "^8.0.1",
|
|
@@ -157,7 +157,7 @@
|
|
|
157
157
|
"rehype": "^13.0.1",
|
|
158
158
|
"resolve": "^1.22.8",
|
|
159
159
|
"semver": "^7.6.2",
|
|
160
|
-
"shiki": "^1.
|
|
160
|
+
"shiki": "^1.9.0",
|
|
161
161
|
"string-width": "^7.1.0",
|
|
162
162
|
"strip-ansi": "^7.1.0",
|
|
163
163
|
"tsconfck": "^3.1.0",
|
|
@@ -168,10 +168,10 @@
|
|
|
168
168
|
"which-pm": "^2.2.0",
|
|
169
169
|
"yargs-parser": "^21.1.1",
|
|
170
170
|
"zod": "^3.23.8",
|
|
171
|
-
"zod-to-json-schema": "^3.23.
|
|
172
|
-
"@astrojs/internal-helpers": "0.4.
|
|
173
|
-
"@astrojs/
|
|
174
|
-
"@astrojs/
|
|
171
|
+
"zod-to-json-schema": "^3.23.1",
|
|
172
|
+
"@astrojs/internal-helpers": "0.4.1",
|
|
173
|
+
"@astrojs/markdown-remark": "5.1.1",
|
|
174
|
+
"@astrojs/telemetry": "3.1.0"
|
|
175
175
|
},
|
|
176
176
|
"optionalDependencies": {
|
|
177
177
|
"sharp": "^0.33.3"
|
|
@@ -205,16 +205,17 @@
|
|
|
205
205
|
"mdast-util-mdx": "^3.0.0",
|
|
206
206
|
"mdast-util-mdx-jsx": "^3.1.2",
|
|
207
207
|
"memfs": "^4.9.3",
|
|
208
|
-
"node-mocks-http": "^1.
|
|
208
|
+
"node-mocks-http": "^1.15.0",
|
|
209
209
|
"parse-srcset": "^1.0.2",
|
|
210
210
|
"rehype-autolink-headings": "^7.1.0",
|
|
211
211
|
"rehype-slug": "^6.0.0",
|
|
212
212
|
"rehype-toc": "^3.0.2",
|
|
213
213
|
"remark-code-titles": "^0.1.2",
|
|
214
214
|
"rollup": "^4.18.0",
|
|
215
|
-
"sass": "^1.77.
|
|
215
|
+
"sass": "^1.77.6",
|
|
216
216
|
"srcset-parse": "^1.1.0",
|
|
217
|
-
"
|
|
217
|
+
"undici": "^6.19.2",
|
|
218
|
+
"unified": "^11.0.5",
|
|
218
219
|
"astro-scripts": "0.0.14"
|
|
219
220
|
},
|
|
220
221
|
"engines": {
|