Files
agentic-studio/network-poc/frontend/node_modules/astro/dist/vite-plugin-astro-server/base.d.ts
Jaakko Vanhala a8c4af0975 Frontend uudelleenrakennettu: Astro-komponentit, Wasm pääsäikeessä, ei Workeria
Vanha frontend siirretty temp/. Uusi rakenne:
- StatusBar.astro, Terminal.astro, Editor.astro, Guide.astro
- global.css erillinen
- Wasm pääsäikeessä (ei Worker — yksinkertainen, debugattava)
- Tab-completion, dropdown, projektikortti, Monaco, GUIDE.md
- Ei tokenisointia eikä koodilaboratoriota

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 20:17:39 +03:00

57 lines
2.5 KiB
TypeScript

import type * as vite from 'vite';
import type { Logger } from '../core/logger/core.js';
import type { AstroSettings } from '../types/astro.js';
/**
* Outcome of the base-URL evaluation for a dev-server request.
*
* - **`rewrite`** — The request URL starts with the configured `base` path.
* Strip the base prefix so downstream handlers see a root-relative URL
* (e.g. `/docs/about` → `/about` when `base: '/docs'`).
* - **`not-found-subpath`** — The user navigated to `/` or `/index.html` but
* the project has a non-root `base`. Respond with a 404 explaining that the
* site lives under the base path, so the developer knows to update the URL.
* - **`not-found`** — The URL doesn't start with the base and the browser
* expects HTML (`Accept: text/html`). Respond with a generic 404 page.
* - **`check-public`** — The URL doesn't match the base and the browser is
* requesting a non-HTML asset (image, script, font, etc.). The middleware
* must do an async `fs.stat` to decide whether the file exists in
* `publicDir` (and show a helpful base-path hint) or just pass through.
* This variant cannot be resolved purely.
*/
export type BaseRewriteDecision = {
action: 'rewrite';
newUrl: string;
} | {
action: 'not-found-subpath';
pathname: string;
devRoot: string;
} | {
action: 'not-found';
pathname: string;
} | {
action: 'check-public';
};
/**
* Computes the `devRoot` path used to match and strip the base prefix.
*
* The `devRoot` is the pathname portion of the base URL (resolved against the
* `site` if present, otherwise against `http://localhost`). For example:
* - `base: '/docs'`, no site → `/docs`
* - `base: '/docs'`, `site: 'https://example.com'` → `/docs`
* - `base: '/'` → `/`
*/
export declare function resolveDevRoot(base: string, site?: string): {
devRoot: string;
devRootReplacement: string;
};
/**
* Pure decision function for base-URL dev-server rewriting.
*
* Evaluates whether the incoming `url` starts with the project's `base` path
* and returns the action the middleware should take. The async `fs.stat` branch
* (checking `publicDir`) is represented as `check-public` and must be handled
* by the caller.
*/
export declare function evaluateBaseRewrite(url: string, pathname: string, acceptHeader: string | undefined, devRoot: string, devRootReplacement: string): BaseRewriteDecision;
export declare function baseMiddleware(settings: AstroSettings, logger: Logger): vite.Connect.NextHandleFunction;