feat(blog): add file-based blog with dynamic slugs, MDX content and layout shell
- Introduced blog routing using Next.js App Router - Implemented dynamic [slug] pages for blog posts - Added MDX-based content loading via lib/posts - Integrated shared TopBar layout with navigation - Established clear content, lib and component separation
This commit is contained in:
161
apps/public-web/node_modules/next/dist/server/use-cache/cache-life.js
generated
vendored
Normal file
161
apps/public-web/node_modules/next/dist/server/use-cache/cache-life.js
generated
vendored
Normal file
@@ -0,0 +1,161 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "cacheLife", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return cacheLife;
|
||||
}
|
||||
});
|
||||
const _invarianterror = require("../../shared/lib/invariant-error");
|
||||
const _workasyncstorageexternal = require("../app-render/work-async-storage.external");
|
||||
const _workunitasyncstorageexternal = require("../app-render/work-unit-async-storage.external");
|
||||
function validateCacheLife(profile) {
|
||||
if (profile.stale !== undefined) {
|
||||
if (profile.stale === false) {
|
||||
throw Object.defineProperty(new Error('Pass `Infinity` instead of `false` if you want to cache on the client forever ' + 'without checking with the server.'), "__NEXT_ERROR_CODE", {
|
||||
value: "E407",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
} else if (typeof profile.stale !== 'number') {
|
||||
throw Object.defineProperty(new Error('The stale option must be a number of seconds.'), "__NEXT_ERROR_CODE", {
|
||||
value: "E308",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
}
|
||||
if (profile.revalidate !== undefined) {
|
||||
if (profile.revalidate === false) {
|
||||
throw Object.defineProperty(new Error('Pass `Infinity` instead of `false` if you do not want to revalidate by time.'), "__NEXT_ERROR_CODE", {
|
||||
value: "E104",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
} else if (typeof profile.revalidate !== 'number') {
|
||||
throw Object.defineProperty(new Error('The revalidate option must be a number of seconds.'), "__NEXT_ERROR_CODE", {
|
||||
value: "E233",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
}
|
||||
if (profile.expire !== undefined) {
|
||||
if (profile.expire === false) {
|
||||
throw Object.defineProperty(new Error('Pass `Infinity` instead of `false` if you want to cache on the server forever ' + 'without checking with the origin.'), "__NEXT_ERROR_CODE", {
|
||||
value: "E658",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
} else if (typeof profile.expire !== 'number') {
|
||||
throw Object.defineProperty(new Error('The expire option must be a number of seconds.'), "__NEXT_ERROR_CODE", {
|
||||
value: "E3",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
}
|
||||
if (profile.revalidate !== undefined && profile.expire !== undefined) {
|
||||
if (profile.revalidate > profile.expire) {
|
||||
throw Object.defineProperty(new Error('If providing both the revalidate and expire options, ' + 'the expire option must be greater than the revalidate option. ' + 'The expire option indicates how many seconds from the start ' + 'until it can no longer be used.'), "__NEXT_ERROR_CODE", {
|
||||
value: "E656",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
function cacheLife(profile) {
|
||||
if (!process.env.__NEXT_USE_CACHE) {
|
||||
throw Object.defineProperty(new Error('`cacheLife()` is only available with the `cacheComponents` config.'), "__NEXT_ERROR_CODE", {
|
||||
value: "E887",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
|
||||
switch(workUnitStore == null ? void 0 : workUnitStore.type){
|
||||
case 'prerender':
|
||||
case 'prerender-client':
|
||||
case 'prerender-runtime':
|
||||
case 'prerender-ppr':
|
||||
case 'prerender-legacy':
|
||||
case 'request':
|
||||
case 'unstable-cache':
|
||||
case undefined:
|
||||
throw Object.defineProperty(new Error('`cacheLife()` can only be called inside a "use cache" function.'), "__NEXT_ERROR_CODE", {
|
||||
value: "E818",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
case 'cache':
|
||||
case 'private-cache':
|
||||
break;
|
||||
default:
|
||||
workUnitStore;
|
||||
}
|
||||
if (typeof profile === 'string') {
|
||||
const workStore = _workasyncstorageexternal.workAsyncStorage.getStore();
|
||||
if (!workStore) {
|
||||
throw Object.defineProperty(new Error('`cacheLife()` can only be called during App Router rendering at the moment.'), "__NEXT_ERROR_CODE", {
|
||||
value: "E820",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
if (!workStore.cacheLifeProfiles) {
|
||||
throw Object.defineProperty(new _invarianterror.InvariantError('`cacheLifeProfiles` should always be provided.'), "__NEXT_ERROR_CODE", {
|
||||
value: "E817",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
// TODO: This should be globally available and not require an AsyncLocalStorage.
|
||||
const configuredProfile = workStore.cacheLifeProfiles[profile];
|
||||
if (configuredProfile === undefined) {
|
||||
if (workStore.cacheLifeProfiles[profile.trim()]) {
|
||||
throw Object.defineProperty(new Error(`Unknown \`cacheLife()\` profile "${profile}" is not configured in next.config.js\n` + `Did you mean "${profile.trim()}" without the spaces?`), "__NEXT_ERROR_CODE", {
|
||||
value: "E816",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
throw Object.defineProperty(new Error(`Unknown \`cacheLife()\` profile "${profile}" is not configured in next.config.js\n` + 'module.exports = {\n' + ' cacheLife: {\n' + ` "${profile}": ...\n` + ' }\n' + '}'), "__NEXT_ERROR_CODE", {
|
||||
value: "E888",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
profile = configuredProfile;
|
||||
} else if (typeof profile !== 'object' || profile === null || Array.isArray(profile)) {
|
||||
throw Object.defineProperty(new Error('Invalid `cacheLife()` option. Either pass a profile name or object.'), "__NEXT_ERROR_CODE", {
|
||||
value: "E814",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
} else {
|
||||
validateCacheLife(profile);
|
||||
}
|
||||
if (profile.revalidate !== undefined) {
|
||||
// Track the explicit revalidate time.
|
||||
if (workUnitStore.explicitRevalidate === undefined || workUnitStore.explicitRevalidate > profile.revalidate) {
|
||||
workUnitStore.explicitRevalidate = profile.revalidate;
|
||||
}
|
||||
}
|
||||
if (profile.expire !== undefined) {
|
||||
// Track the explicit expire time.
|
||||
if (workUnitStore.explicitExpire === undefined || workUnitStore.explicitExpire > profile.expire) {
|
||||
workUnitStore.explicitExpire = profile.expire;
|
||||
}
|
||||
}
|
||||
if (profile.stale !== undefined) {
|
||||
// Track the explicit stale time.
|
||||
if (workUnitStore.explicitStale === undefined || workUnitStore.explicitStale > profile.stale) {
|
||||
workUnitStore.explicitStale = profile.stale;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//# sourceMappingURL=cache-life.js.map
|
||||
Reference in New Issue
Block a user