Refactor routing in App component to enhance navigation and improve error handling by integrating dynamic routes and updating the NotFound route.
This commit is contained in:
8
node_modules/astro/dist/vite-plugin-scripts/index.d.ts
generated
vendored
Normal file
8
node_modules/astro/dist/vite-plugin-scripts/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
import type { Plugin as VitePlugin } from 'vite';
|
||||
import type { AstroSettings } from '../@types/astro.js';
|
||||
export declare const BEFORE_HYDRATION_SCRIPT_ID: string;
|
||||
export declare const PAGE_SCRIPT_ID: string;
|
||||
export declare const PAGE_SSR_SCRIPT_ID: string;
|
||||
export default function astroScriptsPlugin({ settings }: {
|
||||
settings: AstroSettings;
|
||||
}): VitePlugin;
|
48
node_modules/astro/dist/vite-plugin-scripts/index.js
generated
vendored
Normal file
48
node_modules/astro/dist/vite-plugin-scripts/index.js
generated
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
const SCRIPT_ID_PREFIX = `astro:scripts/`;
|
||||
const BEFORE_HYDRATION_SCRIPT_ID = `${SCRIPT_ID_PREFIX}${"before-hydration"}.js`;
|
||||
const PAGE_SCRIPT_ID = `${SCRIPT_ID_PREFIX}${"page"}.js`;
|
||||
const PAGE_SSR_SCRIPT_ID = `${SCRIPT_ID_PREFIX}${"page-ssr"}.js`;
|
||||
function astroScriptsPlugin({ settings }) {
|
||||
let env = void 0;
|
||||
return {
|
||||
name: "astro:scripts",
|
||||
config(_config, _env) {
|
||||
env = _env;
|
||||
},
|
||||
async resolveId(id) {
|
||||
if (id.startsWith(SCRIPT_ID_PREFIX)) {
|
||||
return id;
|
||||
}
|
||||
return void 0;
|
||||
},
|
||||
async load(id) {
|
||||
if (id === BEFORE_HYDRATION_SCRIPT_ID) {
|
||||
return settings.scripts.filter((s) => s.stage === "before-hydration").map((s) => s.content).join("\n");
|
||||
}
|
||||
if (id === PAGE_SCRIPT_ID) {
|
||||
return settings.scripts.filter((s) => s.stage === "page").map((s) => s.content).join("\n");
|
||||
}
|
||||
if (id === PAGE_SSR_SCRIPT_ID) {
|
||||
return settings.scripts.filter((s) => s.stage === "page-ssr").map((s) => s.content).join("\n");
|
||||
}
|
||||
return null;
|
||||
},
|
||||
buildStart() {
|
||||
const hasHydrationScripts = settings.scripts.some((s) => s.stage === "before-hydration");
|
||||
const isSsrBuild = env?.isSsrBuild;
|
||||
if (hasHydrationScripts && env?.command === "build" && !isSsrBuild) {
|
||||
this.emitFile({
|
||||
type: "chunk",
|
||||
id: BEFORE_HYDRATION_SCRIPT_ID,
|
||||
name: BEFORE_HYDRATION_SCRIPT_ID
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
export {
|
||||
BEFORE_HYDRATION_SCRIPT_ID,
|
||||
PAGE_SCRIPT_ID,
|
||||
PAGE_SSR_SCRIPT_ID,
|
||||
astroScriptsPlugin as default
|
||||
};
|
5
node_modules/astro/dist/vite-plugin-scripts/page-ssr.d.ts
generated
vendored
Normal file
5
node_modules/astro/dist/vite-plugin-scripts/page-ssr.d.ts
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
import { type Plugin as VitePlugin } from 'vite';
|
||||
import type { AstroSettings } from '../@types/astro.js';
|
||||
export default function astroScriptsPostPlugin({ settings, }: {
|
||||
settings: AstroSettings;
|
||||
}): VitePlugin;
|
36
node_modules/astro/dist/vite-plugin-scripts/page-ssr.js
generated
vendored
Normal file
36
node_modules/astro/dist/vite-plugin-scripts/page-ssr.js
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
import MagicString from "magic-string";
|
||||
import { normalizePath } from "vite";
|
||||
import { isPage } from "../core/util.js";
|
||||
import { PAGE_SSR_SCRIPT_ID } from "./index.js";
|
||||
function astroScriptsPostPlugin({
|
||||
settings
|
||||
}) {
|
||||
return {
|
||||
name: "astro:scripts:page-ssr",
|
||||
enforce: "post",
|
||||
transform(code, id, options) {
|
||||
if (!options?.ssr) return;
|
||||
const hasInjectedScript = settings.scripts.some((s2) => s2.stage === "page-ssr");
|
||||
if (!hasInjectedScript) return;
|
||||
const filename = normalizePath(id);
|
||||
let fileURL;
|
||||
try {
|
||||
fileURL = new URL(`file://${filename}`);
|
||||
} catch {
|
||||
return;
|
||||
}
|
||||
const fileIsPage = isPage(fileURL, settings);
|
||||
if (!fileIsPage) return;
|
||||
const s = new MagicString(code, { filename });
|
||||
s.prepend(`import '${PAGE_SSR_SCRIPT_ID}';
|
||||
`);
|
||||
return {
|
||||
code: s.toString(),
|
||||
map: s.generateMap({ hires: "boundary" })
|
||||
};
|
||||
}
|
||||
};
|
||||
}
|
||||
export {
|
||||
astroScriptsPostPlugin as default
|
||||
};
|
Reference in New Issue
Block a user