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:
21
apps/public-web/node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts
generated
vendored
Normal file
21
apps/public-web/node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
import type { RouteHas } from '../../../lib/load-custom-routes';
|
||||
export type MiddlewareConfigInput = {
|
||||
/**
|
||||
* The matcher for the middleware.
|
||||
*/
|
||||
matcher?: string | Array<{
|
||||
locale?: false;
|
||||
has?: RouteHas[];
|
||||
missing?: RouteHas[];
|
||||
source: string;
|
||||
} | string>;
|
||||
/**
|
||||
* The regions that the middleware should run in.
|
||||
*/
|
||||
regions?: string | string[];
|
||||
/**
|
||||
* A glob, or an array of globs, ignoring dynamic code evaluation for specific
|
||||
* files. The globs are relative to your application root folder.
|
||||
*/
|
||||
unstable_allowDynamic?: string | string[];
|
||||
};
|
||||
121
apps/public-web/node_modules/next/dist/build/segment-config/middleware/middleware-config.js
generated
vendored
Normal file
121
apps/public-web/node_modules/next/dist/build/segment-config/middleware/middleware-config.js
generated
vendored
Normal file
@@ -0,0 +1,121 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
0 && (module.exports = {
|
||||
MiddlewareConfigInputSchema: null,
|
||||
MiddlewareConfigInputSchemaKeys: null,
|
||||
SourceSchema: null
|
||||
});
|
||||
function _export(target, all) {
|
||||
for(var name in all)Object.defineProperty(target, name, {
|
||||
enumerable: true,
|
||||
get: all[name]
|
||||
});
|
||||
}
|
||||
_export(exports, {
|
||||
MiddlewareConfigInputSchema: function() {
|
||||
return MiddlewareConfigInputSchema;
|
||||
},
|
||||
MiddlewareConfigInputSchemaKeys: function() {
|
||||
return MiddlewareConfigInputSchemaKeys;
|
||||
},
|
||||
SourceSchema: function() {
|
||||
return SourceSchema;
|
||||
}
|
||||
});
|
||||
const _picomatch = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/picomatch"));
|
||||
const _zod = require("next/dist/compiled/zod");
|
||||
const _trytoparsepath = require("../../../lib/try-to-parse-path");
|
||||
function _interop_require_default(obj) {
|
||||
return obj && obj.__esModule ? obj : {
|
||||
default: obj
|
||||
};
|
||||
}
|
||||
const RouteHasSchema = _zod.z.discriminatedUnion('type', [
|
||||
_zod.z.object({
|
||||
type: _zod.z.enum([
|
||||
'header',
|
||||
'query',
|
||||
'cookie'
|
||||
]),
|
||||
key: _zod.z.string({
|
||||
required_error: 'key is required when type is header, query or cookie'
|
||||
}),
|
||||
value: _zod.z.string({
|
||||
invalid_type_error: 'value must be a string'
|
||||
}).optional()
|
||||
}).strict(),
|
||||
_zod.z.object({
|
||||
type: _zod.z.literal('host'),
|
||||
value: _zod.z.string({
|
||||
required_error: 'host must have a value'
|
||||
})
|
||||
}).strict()
|
||||
]);
|
||||
const SourceSchema = _zod.z.string({
|
||||
required_error: 'source is required'
|
||||
}).max(4096, 'exceeds max built length of 4096 for route').superRefine((val, ctx)=>{
|
||||
if (!val.startsWith('/')) {
|
||||
return ctx.addIssue({
|
||||
code: _zod.z.ZodIssueCode.custom,
|
||||
message: `source must start with /`
|
||||
});
|
||||
}
|
||||
const { error, regexStr } = (0, _trytoparsepath.tryToParsePath)(val);
|
||||
if (error || !regexStr) {
|
||||
ctx.addIssue({
|
||||
code: _zod.z.ZodIssueCode.custom,
|
||||
message: `Invalid source '${val}': ${error.message}`
|
||||
});
|
||||
}
|
||||
});
|
||||
const MiddlewareMatcherInputSchema = _zod.z.object({
|
||||
locale: _zod.z.union([
|
||||
_zod.z.literal(false),
|
||||
_zod.z.undefined()
|
||||
]).optional(),
|
||||
has: _zod.z.array(RouteHasSchema).optional(),
|
||||
missing: _zod.z.array(RouteHasSchema).optional(),
|
||||
source: SourceSchema
|
||||
}).strict();
|
||||
const MiddlewareConfigMatcherInputSchema = _zod.z.union([
|
||||
SourceSchema,
|
||||
_zod.z.array(_zod.z.union([
|
||||
SourceSchema,
|
||||
MiddlewareMatcherInputSchema
|
||||
], {
|
||||
invalid_type_error: 'must be an array of strings or middleware matchers'
|
||||
}))
|
||||
]);
|
||||
const GlobSchema = _zod.z.string().superRefine((val, ctx)=>{
|
||||
try {
|
||||
(0, _picomatch.default)(val);
|
||||
} catch (err) {
|
||||
ctx.addIssue({
|
||||
code: _zod.z.ZodIssueCode.custom,
|
||||
message: `Invalid glob pattern '${val}': ${err.message}`
|
||||
});
|
||||
}
|
||||
});
|
||||
const MiddlewareConfigInputSchema = _zod.z.object({
|
||||
/**
|
||||
* The matcher for the middleware.
|
||||
*/ matcher: MiddlewareConfigMatcherInputSchema.optional(),
|
||||
/**
|
||||
* The regions that the middleware should run in.
|
||||
*/ regions: _zod.z.union([
|
||||
_zod.z.string(),
|
||||
_zod.z.array(_zod.z.string())
|
||||
]).optional(),
|
||||
/**
|
||||
* A glob, or an array of globs, ignoring dynamic code evaluation for specific
|
||||
* files. The globs are relative to your application root folder.
|
||||
*/ unstable_allowDynamic: _zod.z.union([
|
||||
GlobSchema,
|
||||
_zod.z.array(GlobSchema)
|
||||
]).optional()
|
||||
});
|
||||
const MiddlewareConfigInputSchemaKeys = MiddlewareConfigInputSchema.keyof().options;
|
||||
|
||||
//# sourceMappingURL=middleware-config.js.map
|
||||
1
apps/public-web/node_modules/next/dist/build/segment-config/middleware/middleware-config.js.map
generated
vendored
Normal file
1
apps/public-web/node_modules/next/dist/build/segment-config/middleware/middleware-config.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user