[ci] yarn format

This commit is contained in:
matthewp 2022-01-14 21:15:26 +00:00 committed by GitHub Actions
parent c8a257adc4
commit 72096858e8
4 changed files with 45 additions and 30 deletions

View file

@ -180,7 +180,7 @@ export type GetHydrateCallback = () => Promise<(element: Element, innerHTML: str
export type GetStaticPathsItem = { params: Params; props?: Props };
export type GetStaticPathsResult = GetStaticPathsItem[];
export type GetStaticPathsResultKeyed = GetStaticPathsResult & {
keyed: Map<string, GetStaticPathsItem>
keyed: Map<string, GetStaticPathsItem>;
};
export interface HydrateOptions {

View file

@ -48,26 +48,26 @@ function chunkIsPage(output: OutputAsset | OutputChunk, internals: BuildInternal
}
// Throttle the rendering a paths to prevents creating too many Promises on the microtask queue.
function *throttle(max: number, inPaths: string[]) {
let tmp = [];
let i = 0;
for(let path of inPaths) {
tmp.push(path);
if(i === max) {
yield tmp;
function* throttle(max: number, inPaths: string[]) {
let tmp = [];
let i = 0;
for (let path of inPaths) {
tmp.push(path);
if (i === max) {
yield tmp;
// Empties the array, to avoid allocating a new one.
tmp.length = 0;
i = 0;
} else {
i++;
}
}
tmp.length = 0;
i = 0;
} else {
i++;
}
}
// If tmp has items in it, that means there were less than {max} paths remaining
// at the end, so we need to yield these too.
if(tmp.length) {
yield tmp;
}
if (tmp.length) {
yield tmp;
}
}
export async function staticBuild(opts: StaticBuildOptions) {
@ -273,15 +273,15 @@ async function generatePage(output: OutputChunk, opts: StaticBuildOptions, inter
const renderPromises = [];
// Throttle the paths to avoid overloading the CPU with too many tasks.
for(const paths of throttle(MAX_CONCURRENT_RENDERS, pageData.paths)) {
for(const path of paths) {
for (const paths of throttle(MAX_CONCURRENT_RENDERS, pageData.paths)) {
for (const path of paths) {
renderPromises.push(generatePath(path, opts, generationOptions));
}
// This blocks generating more paths until these 10 complete.
await Promise.all(renderPromises);
// This empties the array without allocating a new one.
renderPromises.length = 0;
}
}
}
interface GeneratePathOptions {
@ -310,7 +310,7 @@ async function generatePath(pathname: string, opts: StaticBuildOptions, gopts: G
mod,
// Do not validate as validation already occurred for static routes
// and validation is relatively expensive.
validate: false
validate: false,
});
debug(logging, 'generate', `Generating: ${pathname}`);

View file

@ -1,6 +1,19 @@
import type { BuildResult } from 'esbuild';
import type vite from '../vite';
import type { AstroConfig, ComponentInstance, GetStaticPathsResult, GetStaticPathsResultKeyed, Params, Props, Renderer, RouteCache, RouteData, RuntimeMode, SSRElement, SSRError } from '../../@types/astro';
import type {
AstroConfig,
ComponentInstance,
GetStaticPathsResult,
GetStaticPathsResultKeyed,
Params,
Props,
Renderer,
RouteCache,
RouteData,
RuntimeMode,
SSRElement,
SSRError,
} from '../../@types/astro';
import type { LogOptions } from '../logger';
import eol from 'eol';
@ -132,7 +145,7 @@ export async function getParamsAndProps({
logging,
pathname,
mod,
validate = true
validate = true,
}: {
route: RouteData | undefined;
routeCache: RouteCache;
@ -151,13 +164,13 @@ export async function getParamsAndProps({
params = getParams(route.params)(paramsMatch);
}
}
if(validate) {
if (validate) {
validateGetStaticPathsModule(mod);
}
if (!routeCache[route.component]) {
await assignStaticPaths(routeCache, route, mod);
}
if(validate) {
if (validate) {
// This validation is expensive so we only want to do it in dev.
validateGetStaticPathsResult(routeCache[route.component], logging);
}

View file

@ -10,15 +10,17 @@ export async function callGetStaticPaths(mod: ComponentInstance, route: RouteDat
const staticPaths: GetStaticPathsResult = await (
await mod.getStaticPaths!({
paginate: generatePaginateFunction(route),
rss: rssFn || (() => {
/* noop */
}),
rss:
rssFn ||
(() => {
/* noop */
}),
})
).flat();
const keyedStaticPaths = staticPaths as GetStaticPathsResultKeyed;
keyedStaticPaths.keyed = new Map<string, GetStaticPathsItem>();
for(const sp of keyedStaticPaths) {
for (const sp of keyedStaticPaths) {
const paramsKey = JSON.stringify(sp.params);
keyedStaticPaths.keyed.set(paramsKey, sp);
}
@ -43,7 +45,7 @@ export async function ensureRouteCached(routeCache: RouteCache, route: RouteData
export function findPathItemByKey(staticPaths: GetStaticPathsResultKeyed, paramsKey: string, logging: LogOptions) {
let matchedStaticPath = staticPaths.keyed.get(paramsKey);
if(matchedStaticPath) {
if (matchedStaticPath) {
return matchedStaticPath;
}