Files
klz-cables.com/.pnpm-store/v10/files/2c/3fc109a59e2fe1720c0f39f0179dd6f392a2a613b0e0ba9255ec1a4686ded0f7f03e26fc703eb4500e32ce89934aab7c875cf95bffa285c7a12fae2e078e56
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

55 lines
1.6 KiB
Plaintext

/*
MIT License http://www.opensource.org/licenses/mit-license.php
*/
"use strict";
const RuntimeGlobals = require("../RuntimeGlobals");
const RuntimeModule = require("../RuntimeModule");
const Template = require("../Template");
/** @typedef {import("../Chunk")} Chunk */
/** @typedef {import("../Compilation")} Compilation */
class ChunkPrefetchStartupRuntimeModule extends RuntimeModule {
/**
* @param {{ onChunks: Chunk[], chunks: Set<Chunk> }[]} startupChunks chunk ids to trigger when chunks are loaded
*/
constructor(startupChunks) {
super("startup prefetch", RuntimeModule.STAGE_TRIGGER);
this.startupChunks = startupChunks;
}
/**
* @returns {string | null} runtime code
*/
generate() {
const { startupChunks } = this;
const compilation = /** @type {Compilation} */ (this.compilation);
const chunk = /** @type {Chunk} */ (this.chunk);
const { runtimeTemplate } = compilation;
return Template.asString(
startupChunks.map(
({ onChunks, chunks }) =>
`${RuntimeGlobals.onChunksLoaded}(0, ${JSON.stringify(
// This need to include itself to delay execution after this chunk has been fully loaded
onChunks.filter((c) => c === chunk).map((c) => c.id)
)}, ${runtimeTemplate.basicFunction(
"",
chunks.size < 3
? Array.from(
chunks,
(c) =>
`${RuntimeGlobals.prefetchChunk}(${JSON.stringify(c.id)});`
)
: `${JSON.stringify(Array.from(chunks, (c) => c.id))}.map(${
RuntimeGlobals.prefetchChunk
});`
)}, 5);`
)
);
}
}
module.exports = ChunkPrefetchStartupRuntimeModule;