🎉 initiate project *astro_rewrite*
This commit is contained in:
parent
ffd4d5e86c
commit
2ba37bfbe3
8658 changed files with 2268794 additions and 2538 deletions
57
node_modules/astro/dist/prerender/routing.js
generated
vendored
Normal file
57
node_modules/astro/dist/prerender/routing.js
generated
vendored
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
import { RedirectComponentInstance, routeIsRedirect } from "../core/redirects/index.js";
|
||||
import { preload } from "../core/render/dev/index.js";
|
||||
import { getPrerenderStatus } from "./metadata.js";
|
||||
async function getSortedPreloadedMatches({
|
||||
env,
|
||||
matches,
|
||||
settings
|
||||
}) {
|
||||
return (await preloadAndSetPrerenderStatus({
|
||||
env,
|
||||
matches,
|
||||
settings
|
||||
})).sort((a, b) => prioritizePrerenderedMatchesComparator(a.route, b.route));
|
||||
}
|
||||
async function preloadAndSetPrerenderStatus({
|
||||
env,
|
||||
matches,
|
||||
settings
|
||||
}) {
|
||||
const preloaded = await Promise.all(
|
||||
matches.map(async (route) => {
|
||||
const filePath = new URL(`./${route.component}`, settings.config.root);
|
||||
if (routeIsRedirect(route)) {
|
||||
return {
|
||||
preloadedComponent: RedirectComponentInstance,
|
||||
route,
|
||||
filePath
|
||||
};
|
||||
}
|
||||
const preloadedComponent = await preload({ env, filePath });
|
||||
const prerenderStatus = getPrerenderStatus({
|
||||
filePath,
|
||||
loader: env.loader
|
||||
});
|
||||
if (prerenderStatus !== void 0) {
|
||||
route.prerender = prerenderStatus;
|
||||
}
|
||||
return { preloadedComponent, route, filePath };
|
||||
})
|
||||
);
|
||||
return preloaded;
|
||||
}
|
||||
function prioritizePrerenderedMatchesComparator(a, b) {
|
||||
if (areRegexesEqual(a.pattern, b.pattern)) {
|
||||
if (a.prerender !== b.prerender) {
|
||||
return a.prerender ? -1 : 1;
|
||||
}
|
||||
return a.component < b.component ? -1 : 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
function areRegexesEqual(regexp1, regexp2) {
|
||||
return regexp1.source === regexp2.source && regexp1.global === regexp2.global;
|
||||
}
|
||||
export {
|
||||
getSortedPreloadedMatches
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue