vike
Version:
The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.
31 lines (30 loc) • 1.5 kB
JavaScript
;
// TODO/v1-release: remove
Object.defineProperty(exports, "__esModule", { value: true });
exports.determineClientEntry = determineClientEntry;
exports.getVikeClientEntry = getVikeClientEntry;
function determineClientEntry({ pageFilesClientSide, pageFilesServerSide, isHtmlOnly, isClientRouting, }) {
let clientEntries = [];
const pageFilesServerSideOnly = pageFilesServerSide.filter((p) => !pageFilesClientSide.includes(p));
const clientDependencies = [];
clientDependencies.push(...pageFilesClientSide.map((p) => ({ id: p.filePath, onlyAssets: false, eagerlyImported: false })));
// CSS & assets
clientDependencies.push(...pageFilesServerSideOnly.map((p) => ({ id: p.filePath, onlyAssets: true, eagerlyImported: false })));
// Handle SPA & SSR pages.
if (isHtmlOnly) {
clientEntries = pageFilesClientSide.map((p) => p.filePath);
}
else {
// Add the vike client entry
const clientEntry = getVikeClientEntry(isClientRouting);
clientDependencies.push({ id: clientEntry, onlyAssets: false, eagerlyImported: false });
clientEntries = [clientEntry];
}
// console.log(pageFilesClientSide, pageFilesServerSide, clientDependencies, clientEntry)
return { clientEntries, clientDependencies };
}
function getVikeClientEntry(isClientRouting) {
return isClientRouting
? '@@vike/dist/esm/client/runtime-client-routing/entry.js'
: '@@vike/dist/esm/client/runtime-server-routing/entry.js';
}