@piqit/resolvers 0.0.8 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/edge.d.ts +1 -1
- package/dist/edge.d.ts.map +1 -1
- package/dist/edge.js +1 -1
- package/dist/edge.js.map +1 -1
- package/dist/file-markdown.d.ts +7 -2
- package/dist/file-markdown.d.ts.map +1 -1
- package/dist/file-markdown.js +79 -12
- package/dist/file-markdown.js.map +1 -1
- package/dist/frontmatter.d.ts +34 -3
- package/dist/frontmatter.d.ts.map +1 -1
- package/dist/frontmatter.js +265 -16
- package/dist/frontmatter.js.map +1 -1
- package/dist/index.d.ts +8 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/markdown.js +1 -1
- package/dist/markdown.js.map +1 -1
- package/dist/path-pattern.d.ts +19 -1
- package/dist/path-pattern.d.ts.map +1 -1
- package/dist/path-pattern.js +143 -49
- package/dist/path-pattern.js.map +1 -1
- package/package.json +5 -5
package/dist/edge.d.ts
CHANGED
package/dist/edge.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edge.d.ts","sourceRoot":"","sources":["../src/edge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"edge.d.ts","sourceRoot":"","sources":["../src/edge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA"}
|
package/dist/edge.js
CHANGED
package/dist/edge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edge.js","sourceRoot":"","sources":["../src/edge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"edge.js","sourceRoot":"","sources":["../src/edge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA"}
|
package/dist/file-markdown.d.ts
CHANGED
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
* Optimized for reading only what's needed based on the query.
|
|
6
6
|
*/
|
|
7
7
|
import type { Resolver, StandardSchema, Infer } from "piqit";
|
|
8
|
-
import { type PathParams } from "./path-pattern";
|
|
9
|
-
import { type
|
|
8
|
+
import { type PathParams } from "./path-pattern.js";
|
|
9
|
+
import { type FrontmatterParseOptions } from "./frontmatter.js";
|
|
10
|
+
import { type BodyOptions, type BodyResult, type Heading } from "./markdown.js";
|
|
10
11
|
/**
|
|
11
12
|
* Options for creating a file markdown resolver.
|
|
12
13
|
*/
|
|
@@ -26,6 +27,10 @@ export interface FileMarkdownOptions<TPath extends string, TFrontmatter extends
|
|
|
26
27
|
* The schema's inferred type defines filter parameters.
|
|
27
28
|
*/
|
|
28
29
|
frontmatter: TFrontmatter;
|
|
30
|
+
/**
|
|
31
|
+
* Low-level frontmatter parsing options.
|
|
32
|
+
*/
|
|
33
|
+
frontmatterParse?: FrontmatterParseOptions;
|
|
29
34
|
/**
|
|
30
35
|
* Body parsing options.
|
|
31
36
|
* @default { raw: false, html: false, headings: false }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-markdown.d.ts","sourceRoot":"","sources":["../src/file-markdown.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC5D,OAAO,EAAsC,KAAK,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"file-markdown.d.ts","sourceRoot":"","sources":["../src/file-markdown.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC5D,OAAO,EAAsC,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACvF,OAAO,EAML,KAAK,uBAAuB,EAC7B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,OAAO,EACb,MAAM,eAAe,CAAA;AAOtB;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAClC,KAAK,SAAS,MAAM,EACpB,YAAY,SAAS,cAAc,EACnC,KAAK,SAAS,WAAW;IAEzB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;;OAGG;IACH,IAAI,EAAE,KAAK,CAAA;IAEX;;;OAGG;IACH,WAAW,EAAE,YAAY,CAAA;IAEzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,uBAAuB,CAAA;IAE1C;;;OAGG;IACH,IAAI,CAAC,EAAE,KAAK,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CACjC,OAAO,EACP,YAAY,EACZ,KAAK,SAAS,UAAU;IAExB,MAAM,EAAE,OAAO,CAAA;IACf,WAAW,EAAE,YAAY,CAAA;IACzB,IAAI,EAAE,KAAK,CAAA;CACZ;AAED;;GAEG;AACH,KAAK,iBAAiB,CAAC,CAAC,SAAS,WAAW,GAAG,SAAS,IAAI,CAAC,SAAS,WAAW,GAC7E;IACE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,KAAK,CAAA;IAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,KAAK,CAAA;IAC7C,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,SAAS,IAAI,GAAG,OAAO,EAAE,GAAG,KAAK,CAAA;CACzD,GACD,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AAEzB;;GAEG;AACH,KAAK,cAAc,CAAC,CAAC,IAAI;KACtB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACvD,CAAA;AAkJD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAC1B,KAAK,SAAS,MAAM,EACpB,YAAY,SAAS,cAAc,EACnC,KAAK,SAAS,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAEjD,OAAO,EAAE,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,GACvD,QAAQ,CACT,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAC1C,YAAY,EACZ,cAAc,CACZ,kBAAkB,CAChB,UAAU,CAAC,KAAK,CAAC,EACjB,KAAK,CAAC,YAAY,CAAC,EACnB,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CACzC,CACF,CACF,CAyLA"}
|
package/dist/file-markdown.js
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
* A resolver for querying markdown files from the filesystem.
|
|
5
5
|
* Optimized for reading only what's needed based on the query.
|
|
6
6
|
*/
|
|
7
|
-
import { compilePattern, createParamsSchema } from "./path-pattern";
|
|
8
|
-
import { FrontmatterParseError, parseFrontmatterStrict } from "./frontmatter";
|
|
9
|
-
import { parseMarkdownBody } from "./markdown";
|
|
7
|
+
import { compilePattern, createParamsSchema } from "./path-pattern.js";
|
|
8
|
+
import { FrontmatterParseError, parseFrontmatterStrict, parseFrontmatterPickStrict, readFrontmatterStrict, readFrontmatterPickStrict, } from "./frontmatter.js";
|
|
9
|
+
import { parseMarkdownBody, } from "./markdown.js";
|
|
10
10
|
import path from "node:path";
|
|
11
11
|
// =============================================================================
|
|
12
12
|
// Result Schema Factory
|
|
@@ -102,6 +102,28 @@ function matchesFilter(frontmatter, filter) {
|
|
|
102
102
|
}
|
|
103
103
|
return true;
|
|
104
104
|
}
|
|
105
|
+
function getFrontmatterKeys(selectPaths, filter) {
|
|
106
|
+
let wantAll = false;
|
|
107
|
+
const keys = new Set();
|
|
108
|
+
for (const p of selectPaths) {
|
|
109
|
+
if (p === "frontmatter.*") {
|
|
110
|
+
wantAll = true;
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
if (p.startsWith("frontmatter.")) {
|
|
114
|
+
const key = p.slice("frontmatter.".length).split(".")[0];
|
|
115
|
+
if (key)
|
|
116
|
+
keys.add(key);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
if (filter) {
|
|
120
|
+
for (const key of Object.keys(filter)) {
|
|
121
|
+
if (key)
|
|
122
|
+
keys.add(key);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return { wantAll, keys: [...keys] };
|
|
126
|
+
}
|
|
105
127
|
// =============================================================================
|
|
106
128
|
// Resolver Factory
|
|
107
129
|
// =============================================================================
|
|
@@ -125,10 +147,27 @@ export function fileMarkdown(options) {
|
|
|
125
147
|
? options.base
|
|
126
148
|
: path.join(process.cwd(), options.base);
|
|
127
149
|
const bodyOptions = options.body || {};
|
|
150
|
+
const frontmatterParseOptions = options.frontmatterParse;
|
|
128
151
|
// Create schemas
|
|
129
152
|
const scanSchema = createParamsSchema(pattern);
|
|
130
153
|
const resultSchema = createResultSchema(pattern.paramNames, options.frontmatter, bodyOptions);
|
|
154
|
+
// Frontmatter keys are introspectable when the schema is a Zod object
|
|
155
|
+
// (StandardSchema itself has no field enumeration)
|
|
156
|
+
const frontmatterShape = options.frontmatter.shape;
|
|
157
|
+
const filterKeys = frontmatterShape ? Object.keys(frontmatterShape) : undefined;
|
|
158
|
+
const selectPaths = [
|
|
159
|
+
...pattern.paramNames.map((name) => `params.${name}`),
|
|
160
|
+
...(filterKeys?.map((key) => `frontmatter.${key}`) ?? ["frontmatter.*"]),
|
|
161
|
+
...["raw", "html", "headings"]
|
|
162
|
+
.filter((part) => bodyOptions[part])
|
|
163
|
+
.map((part) => `body.${part}`),
|
|
164
|
+
];
|
|
131
165
|
return {
|
|
166
|
+
meta: {
|
|
167
|
+
scanKeys: [...pattern.paramNames],
|
|
168
|
+
filterKeys,
|
|
169
|
+
selectPaths,
|
|
170
|
+
},
|
|
132
171
|
schema: {
|
|
133
172
|
scanParams: scanSchema,
|
|
134
173
|
filterParams: options.frontmatter,
|
|
@@ -136,26 +175,45 @@ export function fileMarkdown(options) {
|
|
|
136
175
|
},
|
|
137
176
|
async resolve(spec) {
|
|
138
177
|
const results = [];
|
|
139
|
-
// 1. Generate glob
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
const
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
178
|
+
// 1. Generate glob variants from scan constraints (optional path
|
|
179
|
+
// segments produce multiple globs)
|
|
180
|
+
const scanConstraints = spec.scan;
|
|
181
|
+
const globPatterns = pattern.toGlobs(scanConstraints);
|
|
182
|
+
// 2. Find matching files using Bun.Glob, deduped across variants
|
|
183
|
+
const fileSet = new Set();
|
|
184
|
+
for (const globPattern of globPatterns) {
|
|
185
|
+
const glob = new Bun.Glob(globPattern);
|
|
186
|
+
for await (const file of glob.scan({ cwd: basePath, absolute: false })) {
|
|
187
|
+
fileSet.add(file);
|
|
188
|
+
}
|
|
146
189
|
}
|
|
190
|
+
const files = [...fileSet];
|
|
147
191
|
// 3. Determine what we need to read
|
|
148
192
|
const wantParams = needsParams(spec.select);
|
|
149
193
|
const wantFrontmatter = needsFrontmatter(spec.select);
|
|
150
194
|
const wantBody = needsBody(spec.select);
|
|
151
195
|
const hasFilter = spec.filter && Object.keys(spec.filter).length > 0;
|
|
152
196
|
const neededBodyParts = wantBody ? getNeededBodyParts(spec.select) : {};
|
|
197
|
+
const { wantAll: wantAllFrontmatter, keys: frontmatterKeys } = getFrontmatterKeys(spec.select, spec.filter ?? undefined);
|
|
153
198
|
// 4. Process each file
|
|
154
199
|
for (const relativePath of files) {
|
|
155
200
|
// Extract params from path
|
|
156
201
|
const params = pattern.match(relativePath);
|
|
157
202
|
if (!params)
|
|
158
203
|
continue;
|
|
204
|
+
// Variant globs can over-match, so re-verify scan constraints
|
|
205
|
+
// against the extracted params
|
|
206
|
+
if (scanConstraints) {
|
|
207
|
+
let mismatch = false;
|
|
208
|
+
for (const [key, value] of Object.entries(scanConstraints)) {
|
|
209
|
+
if (value !== undefined && value !== null && params[key] !== String(value)) {
|
|
210
|
+
mismatch = true;
|
|
211
|
+
break;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
if (mismatch)
|
|
215
|
+
continue;
|
|
216
|
+
}
|
|
159
217
|
const fullPath = path.join(basePath, relativePath);
|
|
160
218
|
// Read file content only if needed
|
|
161
219
|
let content = null;
|
|
@@ -163,9 +221,18 @@ export function fileMarkdown(options) {
|
|
|
163
221
|
let body = null;
|
|
164
222
|
// If filtering or selecting frontmatter, we need to read it
|
|
165
223
|
if (hasFilter || wantFrontmatter) {
|
|
166
|
-
content = await Bun.file(fullPath).text();
|
|
167
224
|
try {
|
|
168
|
-
|
|
225
|
+
if (wantBody) {
|
|
226
|
+
content = await Bun.file(fullPath).text();
|
|
227
|
+
frontmatter = wantAllFrontmatter || frontmatterKeys.length === 0
|
|
228
|
+
? parseFrontmatterStrict(content, fullPath, frontmatterParseOptions)
|
|
229
|
+
: parseFrontmatterPickStrict(content, frontmatterKeys, fullPath, frontmatterParseOptions);
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
frontmatter = wantAllFrontmatter || frontmatterKeys.length === 0
|
|
233
|
+
? await readFrontmatterStrict(fullPath, 8192, frontmatterParseOptions)
|
|
234
|
+
: await readFrontmatterPickStrict(fullPath, frontmatterKeys, 8192, frontmatterParseOptions);
|
|
235
|
+
}
|
|
169
236
|
}
|
|
170
237
|
catch (error) {
|
|
171
238
|
if (error instanceof FrontmatterParseError) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-markdown.js","sourceRoot":"","sources":["../src/file-markdown.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAmB,MAAM,
|
|
1
|
+
{"version":3,"file":"file-markdown.js","sourceRoot":"","sources":["../src/file-markdown.ts"],"names":[],"mappings":"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"}
|
package/dist/frontmatter.d.ts
CHANGED
|
@@ -8,6 +8,15 @@ export declare class FrontmatterParseError extends Error {
|
|
|
8
8
|
readonly filePath?: string | undefined;
|
|
9
9
|
constructor(reason: string, filePath?: string | undefined);
|
|
10
10
|
}
|
|
11
|
+
export type FrontmatterPickKeys = readonly string[];
|
|
12
|
+
export interface FrontmatterParseOptions {
|
|
13
|
+
/**
|
|
14
|
+
* When true, coerces ISO-ish date strings to `toISOString()`.
|
|
15
|
+
*
|
|
16
|
+
* Defaults to false to avoid surprising equality semantics and extra CPU.
|
|
17
|
+
*/
|
|
18
|
+
coerceDates?: boolean;
|
|
19
|
+
}
|
|
11
20
|
/**
|
|
12
21
|
* Parse YAML frontmatter from content string.
|
|
13
22
|
*
|
|
@@ -21,14 +30,21 @@ export declare class FrontmatterParseError extends Error {
|
|
|
21
30
|
* @param content - The file content (or just the frontmatter portion)
|
|
22
31
|
* @returns The parsed frontmatter object, or null if not found
|
|
23
32
|
*/
|
|
24
|
-
export declare function parseFrontmatter(content: string): Record<string, unknown> | null;
|
|
33
|
+
export declare function parseFrontmatter(content: string, options?: FrontmatterParseOptions): Record<string, unknown> | null;
|
|
25
34
|
/**
|
|
26
35
|
* Parse YAML frontmatter with strict malformed-data checks.
|
|
27
36
|
*
|
|
28
37
|
* - Returns null when no frontmatter is present.
|
|
29
38
|
* - Throws FrontmatterParseError when frontmatter fences are malformed.
|
|
30
39
|
*/
|
|
31
|
-
export declare function parseFrontmatterStrict(content: string, filePath?: string): Record<string, unknown> | null;
|
|
40
|
+
export declare function parseFrontmatterStrict(content: string, filePath?: string, options?: FrontmatterParseOptions): Record<string, unknown> | null;
|
|
41
|
+
/**
|
|
42
|
+
* Parse just a subset of frontmatter keys with strict malformed-data checks.
|
|
43
|
+
*
|
|
44
|
+
* This is intended for query-time optimization when you only need a few keys
|
|
45
|
+
* (filter/select), rather than parsing every key eagerly.
|
|
46
|
+
*/
|
|
47
|
+
export declare function parseFrontmatterPickStrict(content: string, keys: FrontmatterPickKeys, filePath?: string, options?: FrontmatterParseOptions): Record<string, unknown> | null;
|
|
32
48
|
/**
|
|
33
49
|
* Extract just the frontmatter portion from content.
|
|
34
50
|
* Returns the raw YAML string without the --- delimiters.
|
|
@@ -55,7 +71,22 @@ export declare function getFrontmatterEndOffset(content: string): number;
|
|
|
55
71
|
* @param maxBytes - Maximum bytes to read looking for frontmatter (default 8KB)
|
|
56
72
|
* @returns The parsed frontmatter, or null if not found
|
|
57
73
|
*/
|
|
58
|
-
export declare function readFrontmatter(path: string, maxBytes?: number): Promise<Record<string, unknown> | null>;
|
|
74
|
+
export declare function readFrontmatter(path: string, maxBytes?: number, options?: FrontmatterParseOptions): Promise<Record<string, unknown> | null>;
|
|
75
|
+
/**
|
|
76
|
+
* Read and parse frontmatter with strict malformed-data checks.
|
|
77
|
+
*
|
|
78
|
+
* Reads incrementally and stops once frontmatter is complete when it starts
|
|
79
|
+
* at byte 0. Falls back to scanning the whole file only when needed to
|
|
80
|
+
* preserve strict fence-position behavior.
|
|
81
|
+
*/
|
|
82
|
+
export declare function readFrontmatterStrict(path: string, chunkSize?: number, options?: FrontmatterParseOptions): Promise<Record<string, unknown> | null>;
|
|
83
|
+
/**
|
|
84
|
+
* Read and parse only a subset of frontmatter keys (strict).
|
|
85
|
+
*
|
|
86
|
+
* This reads incrementally until the frontmatter block is complete and then
|
|
87
|
+
* parses only the keys you ask for. It preserves strict fence-position checks.
|
|
88
|
+
*/
|
|
89
|
+
export declare function readFrontmatterPickStrict(path: string, keys: FrontmatterPickKeys, chunkSize?: number, options?: FrontmatterParseOptions): Promise<Record<string, unknown> | null>;
|
|
59
90
|
/**
|
|
60
91
|
* Read frontmatter and return the offset where body starts.
|
|
61
92
|
* Useful when you need both frontmatter and body.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontmatter.d.ts","sourceRoot":"","sources":["../src/frontmatter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,qBAAa,qBAAsB,SAAQ,KAAK;aAE5B,MAAM,EAAE,MAAM;aACd,QAAQ,CAAC,EAAE,MAAM;gBADjB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,YAAA;CAMpC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"frontmatter.d.ts","sourceRoot":"","sources":["../src/frontmatter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,qBAAa,qBAAsB,SAAQ,KAAK;aAE5B,MAAM,EAAE,MAAM;aACd,QAAQ,CAAC,EAAE,MAAM;gBADjB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,YAAA;CAMpC;AAED,MAAM,MAAM,mBAAmB,GAAG,SAAS,MAAM,EAAE,CAAA;AAEnD,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAUD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,uBAAuB,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAMhC;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,uBAAuB,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAyBhC;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,mBAAmB,EACzB,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,uBAAuB,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAyBhC;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGvE;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAI/D;AA0RD;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,QAAQ,SAAO,EACf,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAazC;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,EACZ,SAAS,SAAO,EAChB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAkEzC;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,mBAAmB,EACzB,SAAS,SAAO,EAChB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAmEzC;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAY9E"}
|
package/dist/frontmatter.js
CHANGED
|
@@ -23,6 +23,11 @@ export class FrontmatterParseError extends Error {
|
|
|
23
23
|
this.name = "FrontmatterParseError";
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
+
function normalizeFrontmatterOptions(options) {
|
|
27
|
+
return {
|
|
28
|
+
coerceDates: options?.coerceDates ?? false,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
26
31
|
/**
|
|
27
32
|
* Parse YAML frontmatter from content string.
|
|
28
33
|
*
|
|
@@ -36,12 +41,12 @@ export class FrontmatterParseError extends Error {
|
|
|
36
41
|
* @param content - The file content (or just the frontmatter portion)
|
|
37
42
|
* @returns The parsed frontmatter object, or null if not found
|
|
38
43
|
*/
|
|
39
|
-
export function parseFrontmatter(content) {
|
|
44
|
+
export function parseFrontmatter(content, options) {
|
|
40
45
|
const match = FRONTMATTER_REGEX.exec(content);
|
|
41
46
|
if (!match)
|
|
42
47
|
return null;
|
|
43
48
|
const yaml = match[1];
|
|
44
|
-
return parseSimpleYaml(yaml);
|
|
49
|
+
return parseSimpleYaml(yaml, options);
|
|
45
50
|
}
|
|
46
51
|
/**
|
|
47
52
|
* Parse YAML frontmatter with strict malformed-data checks.
|
|
@@ -49,14 +54,40 @@ export function parseFrontmatter(content) {
|
|
|
49
54
|
* - Returns null when no frontmatter is present.
|
|
50
55
|
* - Throws FrontmatterParseError when frontmatter fences are malformed.
|
|
51
56
|
*/
|
|
52
|
-
export function parseFrontmatterStrict(content, filePath) {
|
|
57
|
+
export function parseFrontmatterStrict(content, filePath, options) {
|
|
58
|
+
const hasFrontmatterAtStart = content.startsWith("---\n") || content.startsWith("---\r\n");
|
|
59
|
+
if (hasFrontmatterAtStart) {
|
|
60
|
+
const match = FRONTMATTER_REGEX.exec(content);
|
|
61
|
+
if (!match) {
|
|
62
|
+
throw new FrontmatterParseError("opening frontmatter fence is not closed", filePath);
|
|
63
|
+
}
|
|
64
|
+
return parseSimpleYaml(match[1], options);
|
|
65
|
+
}
|
|
66
|
+
if (content.startsWith("---")) {
|
|
67
|
+
throw new FrontmatterParseError("opening frontmatter fence must be followed by a newline", filePath);
|
|
68
|
+
}
|
|
69
|
+
if (FRONTMATTER_FENCE_ANYWHERE_REGEX.test(content)) {
|
|
70
|
+
throw new FrontmatterParseError("frontmatter fence found after non-frontmatter content (frontmatter must start at byte 0)", filePath);
|
|
71
|
+
}
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Parse just a subset of frontmatter keys with strict malformed-data checks.
|
|
76
|
+
*
|
|
77
|
+
* This is intended for query-time optimization when you only need a few keys
|
|
78
|
+
* (filter/select), rather than parsing every key eagerly.
|
|
79
|
+
*/
|
|
80
|
+
export function parseFrontmatterPickStrict(content, keys, filePath, options) {
|
|
53
81
|
const hasFrontmatterAtStart = content.startsWith("---\n") || content.startsWith("---\r\n");
|
|
54
82
|
if (hasFrontmatterAtStart) {
|
|
55
83
|
const match = FRONTMATTER_REGEX.exec(content);
|
|
56
84
|
if (!match) {
|
|
57
85
|
throw new FrontmatterParseError("opening frontmatter fence is not closed", filePath);
|
|
58
86
|
}
|
|
59
|
-
return
|
|
87
|
+
return parseSimpleYamlPick(match[1], keys, options);
|
|
88
|
+
}
|
|
89
|
+
if (content.startsWith("---")) {
|
|
90
|
+
throw new FrontmatterParseError("opening frontmatter fence must be followed by a newline", filePath);
|
|
60
91
|
}
|
|
61
92
|
if (FRONTMATTER_FENCE_ANYWHERE_REGEX.test(content)) {
|
|
62
93
|
throw new FrontmatterParseError("frontmatter fence found after non-frontmatter content (frontmatter must start at byte 0)", filePath);
|
|
@@ -94,7 +125,8 @@ export function getFrontmatterEndOffset(content) {
|
|
|
94
125
|
* Parse simple YAML into an object.
|
|
95
126
|
* Handles the common patterns found in markdown frontmatter.
|
|
96
127
|
*/
|
|
97
|
-
function parseSimpleYaml(yaml) {
|
|
128
|
+
function parseSimpleYaml(yaml, options) {
|
|
129
|
+
const normalizedOptions = normalizeFrontmatterOptions(options);
|
|
98
130
|
const result = {};
|
|
99
131
|
const lines = yaml.split(/\r?\n/);
|
|
100
132
|
let currentKey = null;
|
|
@@ -112,7 +144,7 @@ function parseSimpleYaml(yaml) {
|
|
|
112
144
|
inBlockArray = false;
|
|
113
145
|
}
|
|
114
146
|
else if (currentValue.length === 1) {
|
|
115
|
-
result[currentKey] = parseYamlValue(currentValue[0]);
|
|
147
|
+
result[currentKey] = parseYamlValue(currentValue[0], normalizedOptions);
|
|
116
148
|
}
|
|
117
149
|
else if (currentValue.length > 1) {
|
|
118
150
|
result[currentKey] = currentValue.join("\n");
|
|
@@ -129,7 +161,7 @@ function parseSimpleYaml(yaml) {
|
|
|
129
161
|
inBlockArray = true;
|
|
130
162
|
inMultiline = false;
|
|
131
163
|
const itemValue = arrayItemMatch[2].trim();
|
|
132
|
-
blockArrayItems.push(parseYamlValue(itemValue));
|
|
164
|
+
blockArrayItems.push(parseYamlValue(itemValue, normalizedOptions));
|
|
133
165
|
continue;
|
|
134
166
|
}
|
|
135
167
|
// Check for key: value pattern
|
|
@@ -203,10 +235,116 @@ function parseSimpleYaml(yaml) {
|
|
|
203
235
|
commitValue();
|
|
204
236
|
return result;
|
|
205
237
|
}
|
|
238
|
+
/**
|
|
239
|
+
* Parse a subset of simple YAML keys into an object.
|
|
240
|
+
*
|
|
241
|
+
* Uses the same parsing rules as `parseSimpleYaml`, but stops once all requested
|
|
242
|
+
* keys have been found and committed.
|
|
243
|
+
*/
|
|
244
|
+
function parseSimpleYamlPick(yaml, keys, options) {
|
|
245
|
+
const normalizedOptions = normalizeFrontmatterOptions(options);
|
|
246
|
+
const want = new Set(keys);
|
|
247
|
+
const remaining = new Set(keys);
|
|
248
|
+
const result = {};
|
|
249
|
+
if (remaining.size === 0)
|
|
250
|
+
return result;
|
|
251
|
+
const lines = yaml.split(/\r?\n/);
|
|
252
|
+
let currentKey = null;
|
|
253
|
+
let currentValue = [];
|
|
254
|
+
let inMultiline = false;
|
|
255
|
+
let inBlockArray = false;
|
|
256
|
+
let blockArrayItems = [];
|
|
257
|
+
let multilineIndent = 0;
|
|
258
|
+
function commitValue() {
|
|
259
|
+
if (!currentKey)
|
|
260
|
+
return;
|
|
261
|
+
if (want.has(currentKey)) {
|
|
262
|
+
if (inBlockArray) {
|
|
263
|
+
result[currentKey] = blockArrayItems;
|
|
264
|
+
}
|
|
265
|
+
else if (currentValue.length === 1) {
|
|
266
|
+
result[currentKey] = parseYamlValue(currentValue[0], normalizedOptions);
|
|
267
|
+
}
|
|
268
|
+
else if (currentValue.length > 1) {
|
|
269
|
+
result[currentKey] = currentValue.join("\n");
|
|
270
|
+
}
|
|
271
|
+
remaining.delete(currentKey);
|
|
272
|
+
}
|
|
273
|
+
currentKey = null;
|
|
274
|
+
currentValue = [];
|
|
275
|
+
inMultiline = false;
|
|
276
|
+
inBlockArray = false;
|
|
277
|
+
blockArrayItems = [];
|
|
278
|
+
multilineIndent = 0;
|
|
279
|
+
}
|
|
280
|
+
for (const line of lines) {
|
|
281
|
+
const arrayItemMatch = line.match(/^(\s+)-\s+(.*)$/);
|
|
282
|
+
if (arrayItemMatch && currentKey && (inBlockArray || (inMultiline && currentValue.length === 0))) {
|
|
283
|
+
inBlockArray = true;
|
|
284
|
+
inMultiline = false;
|
|
285
|
+
const itemValue = arrayItemMatch[2].trim();
|
|
286
|
+
if (want.has(currentKey)) {
|
|
287
|
+
blockArrayItems.push(parseYamlValue(itemValue, normalizedOptions));
|
|
288
|
+
}
|
|
289
|
+
continue;
|
|
290
|
+
}
|
|
291
|
+
const keyMatch = line.match(/^([a-zA-Z_][a-zA-Z0-9_-]*)\s*:\s*(.*)$/);
|
|
292
|
+
if (keyMatch && !inMultiline) {
|
|
293
|
+
commitValue();
|
|
294
|
+
if (remaining.size === 0)
|
|
295
|
+
break;
|
|
296
|
+
currentKey = keyMatch[1];
|
|
297
|
+
const valueStr = keyMatch[2].trim();
|
|
298
|
+
if (valueStr === "" || valueStr === "|" || valueStr === ">") {
|
|
299
|
+
inMultiline = true;
|
|
300
|
+
multilineIndent = 0;
|
|
301
|
+
}
|
|
302
|
+
else {
|
|
303
|
+
currentValue = [valueStr];
|
|
304
|
+
}
|
|
305
|
+
continue;
|
|
306
|
+
}
|
|
307
|
+
if (inMultiline && currentKey && !inBlockArray) {
|
|
308
|
+
if (line.trim() === "") {
|
|
309
|
+
if (want.has(currentKey))
|
|
310
|
+
currentValue.push("");
|
|
311
|
+
continue;
|
|
312
|
+
}
|
|
313
|
+
const indent = line.search(/\S/);
|
|
314
|
+
if (indent > 0) {
|
|
315
|
+
if (multilineIndent === 0) {
|
|
316
|
+
multilineIndent = indent;
|
|
317
|
+
}
|
|
318
|
+
if (want.has(currentKey))
|
|
319
|
+
currentValue.push(line.slice(multilineIndent));
|
|
320
|
+
continue;
|
|
321
|
+
}
|
|
322
|
+
// No indent: multiline ended, re-process as a new key
|
|
323
|
+
commitValue();
|
|
324
|
+
if (remaining.size === 0)
|
|
325
|
+
break;
|
|
326
|
+
const reKeyMatch = line.match(/^([a-zA-Z_][a-zA-Z0-9_-]*)\s*:\s*(.*)$/);
|
|
327
|
+
if (reKeyMatch) {
|
|
328
|
+
currentKey = reKeyMatch[1];
|
|
329
|
+
const valueStr = reKeyMatch[2].trim();
|
|
330
|
+
if (valueStr === "" || valueStr === "|" || valueStr === ">") {
|
|
331
|
+
inMultiline = true;
|
|
332
|
+
multilineIndent = 0;
|
|
333
|
+
}
|
|
334
|
+
else {
|
|
335
|
+
currentValue = [valueStr];
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
continue;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
commitValue();
|
|
342
|
+
return result;
|
|
343
|
+
}
|
|
206
344
|
/**
|
|
207
345
|
* Parse a single YAML value.
|
|
208
346
|
*/
|
|
209
|
-
function parseYamlValue(value) {
|
|
347
|
+
function parseYamlValue(value, options) {
|
|
210
348
|
// Remove quotes
|
|
211
349
|
if ((value.startsWith('"') && value.endsWith('"')) || (value.startsWith("'") && value.endsWith("'"))) {
|
|
212
350
|
return value.slice(1, -1);
|
|
@@ -216,7 +354,7 @@ function parseYamlValue(value) {
|
|
|
216
354
|
const inner = value.slice(1, -1);
|
|
217
355
|
if (inner.trim() === "")
|
|
218
356
|
return [];
|
|
219
|
-
return inner.split(",").map((item) => parseYamlValue(item.trim()));
|
|
357
|
+
return inner.split(",").map((item) => parseYamlValue(item.trim(), options));
|
|
220
358
|
}
|
|
221
359
|
// Check for booleans
|
|
222
360
|
if (value === "true")
|
|
@@ -230,11 +368,13 @@ function parseYamlValue(value) {
|
|
|
230
368
|
const num = Number(value);
|
|
231
369
|
if (!isNaN(num) && value !== "")
|
|
232
370
|
return num;
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
371
|
+
if (options.coerceDates) {
|
|
372
|
+
// Check for dates (ISO-ish format)
|
|
373
|
+
if (/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2})?/.test(value)) {
|
|
374
|
+
const date = new Date(value);
|
|
375
|
+
if (!isNaN(date.getTime()))
|
|
376
|
+
return date.toISOString();
|
|
377
|
+
}
|
|
238
378
|
}
|
|
239
379
|
return value;
|
|
240
380
|
}
|
|
@@ -251,19 +391,128 @@ function parseYamlValue(value) {
|
|
|
251
391
|
* @param maxBytes - Maximum bytes to read looking for frontmatter (default 8KB)
|
|
252
392
|
* @returns The parsed frontmatter, or null if not found
|
|
253
393
|
*/
|
|
254
|
-
export async function readFrontmatter(path, maxBytes = 8192) {
|
|
394
|
+
export async function readFrontmatter(path, maxBytes = 8192, options) {
|
|
255
395
|
try {
|
|
256
396
|
const file = Bun.file(path);
|
|
257
397
|
const size = file.size;
|
|
258
398
|
// Read up to maxBytes or file size
|
|
259
399
|
const bytesToRead = Math.min(maxBytes, size);
|
|
260
400
|
const buffer = await file.slice(0, bytesToRead).text();
|
|
261
|
-
return parseFrontmatter(buffer);
|
|
401
|
+
return parseFrontmatter(buffer, options);
|
|
262
402
|
}
|
|
263
403
|
catch {
|
|
264
404
|
return null;
|
|
265
405
|
}
|
|
266
406
|
}
|
|
407
|
+
/**
|
|
408
|
+
* Read and parse frontmatter with strict malformed-data checks.
|
|
409
|
+
*
|
|
410
|
+
* Reads incrementally and stops once frontmatter is complete when it starts
|
|
411
|
+
* at byte 0. Falls back to scanning the whole file only when needed to
|
|
412
|
+
* preserve strict fence-position behavior.
|
|
413
|
+
*/
|
|
414
|
+
export async function readFrontmatterStrict(path, chunkSize = 8192, options) {
|
|
415
|
+
try {
|
|
416
|
+
const file = Bun.file(path);
|
|
417
|
+
const size = file.size;
|
|
418
|
+
if (size === 0)
|
|
419
|
+
return null;
|
|
420
|
+
const firstReadSize = Math.min(chunkSize, size);
|
|
421
|
+
const firstChunk = await file.slice(0, firstReadSize).text();
|
|
422
|
+
const hasFrontmatterAtStart = firstChunk.startsWith("---\n") || firstChunk.startsWith("---\r\n");
|
|
423
|
+
if (hasFrontmatterAtStart) {
|
|
424
|
+
let content = firstChunk;
|
|
425
|
+
let offset = firstReadSize;
|
|
426
|
+
while (!/\r?\n---/.test(content)) {
|
|
427
|
+
if (offset >= size) {
|
|
428
|
+
throw new FrontmatterParseError("opening frontmatter fence is not closed", path);
|
|
429
|
+
}
|
|
430
|
+
const end = Math.min(offset + chunkSize, size);
|
|
431
|
+
const nextChunk = await file.slice(offset, end).text();
|
|
432
|
+
content += nextChunk;
|
|
433
|
+
offset = end;
|
|
434
|
+
}
|
|
435
|
+
return parseFrontmatterStrict(content, path, options);
|
|
436
|
+
}
|
|
437
|
+
if (firstChunk.startsWith("---")) {
|
|
438
|
+
throw new FrontmatterParseError("opening frontmatter fence must be followed by a newline", path);
|
|
439
|
+
}
|
|
440
|
+
let carry = firstChunk.slice(-8);
|
|
441
|
+
if (FRONTMATTER_FENCE_ANYWHERE_REGEX.test(firstChunk)) {
|
|
442
|
+
throw new FrontmatterParseError("frontmatter fence found after non-frontmatter content (frontmatter must start at byte 0)", path);
|
|
443
|
+
}
|
|
444
|
+
for (let offset = firstReadSize; offset < size; offset += chunkSize) {
|
|
445
|
+
const end = Math.min(offset + chunkSize, size);
|
|
446
|
+
const chunk = await file.slice(offset, end).text();
|
|
447
|
+
const sample = carry + chunk;
|
|
448
|
+
if (FRONTMATTER_FENCE_ANYWHERE_REGEX.test(sample)) {
|
|
449
|
+
throw new FrontmatterParseError("frontmatter fence found after non-frontmatter content (frontmatter must start at byte 0)", path);
|
|
450
|
+
}
|
|
451
|
+
carry = sample.slice(-8);
|
|
452
|
+
}
|
|
453
|
+
return null;
|
|
454
|
+
}
|
|
455
|
+
catch (error) {
|
|
456
|
+
if (error instanceof FrontmatterParseError) {
|
|
457
|
+
throw error;
|
|
458
|
+
}
|
|
459
|
+
return null;
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
/**
|
|
463
|
+
* Read and parse only a subset of frontmatter keys (strict).
|
|
464
|
+
*
|
|
465
|
+
* This reads incrementally until the frontmatter block is complete and then
|
|
466
|
+
* parses only the keys you ask for. It preserves strict fence-position checks.
|
|
467
|
+
*/
|
|
468
|
+
export async function readFrontmatterPickStrict(path, keys, chunkSize = 8192, options) {
|
|
469
|
+
try {
|
|
470
|
+
const file = Bun.file(path);
|
|
471
|
+
const size = file.size;
|
|
472
|
+
if (size === 0)
|
|
473
|
+
return null;
|
|
474
|
+
const firstReadSize = Math.min(chunkSize, size);
|
|
475
|
+
const firstChunk = await file.slice(0, firstReadSize).text();
|
|
476
|
+
const hasFrontmatterAtStart = firstChunk.startsWith("---\n") || firstChunk.startsWith("---\r\n");
|
|
477
|
+
if (hasFrontmatterAtStart) {
|
|
478
|
+
let content = firstChunk;
|
|
479
|
+
let offset = firstReadSize;
|
|
480
|
+
while (!/\r?\n---/.test(content)) {
|
|
481
|
+
if (offset >= size) {
|
|
482
|
+
throw new FrontmatterParseError("opening frontmatter fence is not closed", path);
|
|
483
|
+
}
|
|
484
|
+
const end = Math.min(offset + chunkSize, size);
|
|
485
|
+
const nextChunk = await file.slice(offset, end).text();
|
|
486
|
+
content += nextChunk;
|
|
487
|
+
offset = end;
|
|
488
|
+
}
|
|
489
|
+
return parseFrontmatterPickStrict(content, keys, path, options);
|
|
490
|
+
}
|
|
491
|
+
if (firstChunk.startsWith("---")) {
|
|
492
|
+
throw new FrontmatterParseError("opening frontmatter fence must be followed by a newline", path);
|
|
493
|
+
}
|
|
494
|
+
let carry = firstChunk.slice(-8);
|
|
495
|
+
if (FRONTMATTER_FENCE_ANYWHERE_REGEX.test(firstChunk)) {
|
|
496
|
+
throw new FrontmatterParseError("frontmatter fence found after non-frontmatter content (frontmatter must start at byte 0)", path);
|
|
497
|
+
}
|
|
498
|
+
for (let offset = firstReadSize; offset < size; offset += chunkSize) {
|
|
499
|
+
const end = Math.min(offset + chunkSize, size);
|
|
500
|
+
const chunk = await file.slice(offset, end).text();
|
|
501
|
+
const sample = carry + chunk;
|
|
502
|
+
if (FRONTMATTER_FENCE_ANYWHERE_REGEX.test(sample)) {
|
|
503
|
+
throw new FrontmatterParseError("frontmatter fence found after non-frontmatter content (frontmatter must start at byte 0)", path);
|
|
504
|
+
}
|
|
505
|
+
carry = sample.slice(-8);
|
|
506
|
+
}
|
|
507
|
+
return null;
|
|
508
|
+
}
|
|
509
|
+
catch (error) {
|
|
510
|
+
if (error instanceof FrontmatterParseError) {
|
|
511
|
+
throw error;
|
|
512
|
+
}
|
|
513
|
+
return null;
|
|
514
|
+
}
|
|
515
|
+
}
|
|
267
516
|
/**
|
|
268
517
|
* Read frontmatter and return the offset where body starts.
|
|
269
518
|
* Useful when you need both frontmatter and body.
|
package/dist/frontmatter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontmatter.js","sourceRoot":"","sources":["../src/frontmatter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"frontmatter.js","sourceRoot":"","sources":["../src/frontmatter.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @packageDocumentation
|
|
9
9
|
*/
|
|
10
|
-
export { fileMarkdown } from "./file-markdown";
|
|
11
|
-
export type { FileMarkdownOptions, FileMarkdownResult } from "./file-markdown";
|
|
12
|
-
export { staticContent, staticResolver } from "./static";
|
|
13
|
-
export { compilePattern, createParamsSchema } from "./path-pattern";
|
|
14
|
-
export type { CompiledPattern, ExtractParams, PathParams, } from "./path-pattern";
|
|
15
|
-
export { FrontmatterParseError, parseFrontmatter, parseFrontmatterStrict, extractFrontmatterString, getFrontmatterEndOffset, readFrontmatter, readFrontmatterWithOffset, } from "./frontmatter";
|
|
16
|
-
export { parseMarkdownBody, extractHeadings, slugify, markdownToHtml, readMarkdownBody, readParsedBody, } from "./markdown";
|
|
17
|
-
export type { BodyOptions, BodyResult, BodyShape, Heading, } from "./markdown";
|
|
10
|
+
export { fileMarkdown } from "./file-markdown.js";
|
|
11
|
+
export type { FileMarkdownOptions, FileMarkdownResult } from "./file-markdown.js";
|
|
12
|
+
export { staticContent, staticResolver } from "./static.js";
|
|
13
|
+
export { compilePattern, createParamsSchema } from "./path-pattern.js";
|
|
14
|
+
export type { CompiledPattern, ExtractParams, PathParams, } from "./path-pattern.js";
|
|
15
|
+
export { FrontmatterParseError, parseFrontmatter, parseFrontmatterStrict, parseFrontmatterPickStrict, extractFrontmatterString, getFrontmatterEndOffset, readFrontmatter, readFrontmatterPickStrict, readFrontmatterWithOffset, } from "./frontmatter.js";
|
|
16
|
+
export { parseMarkdownBody, extractHeadings, slugify, markdownToHtml, readMarkdownBody, readParsedBody, } from "./markdown.js";
|
|
17
|
+
export type { BodyOptions, BodyResult, BodyShape, Heading, } from "./markdown.js";
|
|
18
18
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAMjF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAM3D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtE,YAAY,EACV,eAAe,EACf,aAAa,EACb,UAAU,GACX,MAAM,mBAAmB,CAAA;AAM1B,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAA;AAMzB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,cAAc,GACf,MAAM,eAAe,CAAA;AAEtB,YAAY,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,OAAO,GACR,MAAM,eAAe,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -10,21 +10,21 @@
|
|
|
10
10
|
// =============================================================================
|
|
11
11
|
// Filesystem Resolver (Node.js/Bun only)
|
|
12
12
|
// =============================================================================
|
|
13
|
-
export { fileMarkdown } from "./file-markdown";
|
|
13
|
+
export { fileMarkdown } from "./file-markdown.js";
|
|
14
14
|
// =============================================================================
|
|
15
15
|
// Static Content Resolver (Edge/Workers compatible)
|
|
16
16
|
// =============================================================================
|
|
17
|
-
export { staticContent, staticResolver } from "./static";
|
|
17
|
+
export { staticContent, staticResolver } from "./static.js";
|
|
18
18
|
// =============================================================================
|
|
19
19
|
// Path Pattern Utilities
|
|
20
20
|
// =============================================================================
|
|
21
|
-
export { compilePattern, createParamsSchema } from "./path-pattern";
|
|
21
|
+
export { compilePattern, createParamsSchema } from "./path-pattern.js";
|
|
22
22
|
// =============================================================================
|
|
23
23
|
// Frontmatter Utilities
|
|
24
24
|
// =============================================================================
|
|
25
|
-
export { FrontmatterParseError, parseFrontmatter, parseFrontmatterStrict, extractFrontmatterString, getFrontmatterEndOffset, readFrontmatter, readFrontmatterWithOffset, } from "./frontmatter";
|
|
25
|
+
export { FrontmatterParseError, parseFrontmatter, parseFrontmatterStrict, parseFrontmatterPickStrict, extractFrontmatterString, getFrontmatterEndOffset, readFrontmatter, readFrontmatterPickStrict, readFrontmatterWithOffset, } from "./frontmatter.js";
|
|
26
26
|
// =============================================================================
|
|
27
27
|
// Markdown Utilities
|
|
28
28
|
// =============================================================================
|
|
29
|
-
export { parseMarkdownBody, extractHeadings, slugify, markdownToHtml, readMarkdownBody, readParsedBody, } from "./markdown";
|
|
29
|
+
export { parseMarkdownBody, extractHeadings, slugify, markdownToHtml, readMarkdownBody, readParsedBody, } from "./markdown.js";
|
|
30
30
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,gFAAgF;AAChF,yCAAyC;AACzC,gFAAgF;AAEhF,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,gFAAgF;AAChF,yCAAyC;AACzC,gFAAgF;AAEhF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGjD,gFAAgF;AAChF,oDAAoD;AACpD,gFAAgF;AAEhF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE3D,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAOtE,gFAAgF;AAChF,wBAAwB;AACxB,gFAAgF;AAEhF,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAA;AAEzB,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,cAAc,GACf,MAAM,eAAe,CAAA"}
|
package/dist/markdown.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* - HTML (basic conversion)
|
|
7
7
|
* - Headings with slugs
|
|
8
8
|
*/
|
|
9
|
-
import { getFrontmatterEndOffset } from "./frontmatter";
|
|
9
|
+
import { getFrontmatterEndOffset } from "./frontmatter.js";
|
|
10
10
|
// =============================================================================
|
|
11
11
|
// Markdown Parsing
|
|
12
12
|
// =============================================================================
|
package/dist/markdown.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"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"}
|
package/dist/path-pattern.d.ts
CHANGED
|
@@ -10,12 +10,16 @@
|
|
|
10
10
|
import { StandardSchema } from "piqit";
|
|
11
11
|
/**
|
|
12
12
|
* Extract params from a path pattern string at the type level.
|
|
13
|
+
* Params inside `<...>` optional segments become optional properties.
|
|
13
14
|
*
|
|
14
15
|
* @example
|
|
15
16
|
* type Params = ExtractParams<'{year}/{slug}.md'>
|
|
16
17
|
* // = { year: string } & { slug: string }
|
|
18
|
+
*
|
|
19
|
+
* type Params = ExtractParams<'{date}< {time}> {slug}.md'>
|
|
20
|
+
* // = { date: string } & { time?: string } & { slug: string }
|
|
17
21
|
*/
|
|
18
|
-
export type ExtractParams<P extends string> = P extends `${string}{${infer Param}}${infer Rest}` ? {
|
|
22
|
+
export type ExtractParams<P extends string> = P extends `${infer Head}<${infer Opt}>${infer Rest}` ? ExtractParams<Head> & Partial<ExtractParams<Opt>> & ExtractParams<Rest> : P extends `${string}{${infer Param}}${infer Rest}` ? {
|
|
19
23
|
[K in ExtractParamName<Param>]: string;
|
|
20
24
|
} & ExtractParams<Rest> : {};
|
|
21
25
|
type ExtractParamName<T extends string> = T extends `${infer Name}:${string}` ? Name : T;
|
|
@@ -53,8 +57,19 @@ export interface CompiledPattern {
|
|
|
53
57
|
* pattern.toGlob({ year: '2024' }) // '2024/*.md'
|
|
54
58
|
*/
|
|
55
59
|
toGlob(constraints?: Record<string, unknown>): string;
|
|
60
|
+
/**
|
|
61
|
+
* Generate all glob variants for a pattern with optional segments.
|
|
62
|
+
* Each `<...>` segment doubles the variants (present/absent); variants
|
|
63
|
+
* that omit a constrained param are pruned. Patterns without optional
|
|
64
|
+
* segments yield a single glob.
|
|
65
|
+
*
|
|
66
|
+
* @param constraints - Optional param values to use instead of wildcards
|
|
67
|
+
* @returns Deduplicated glob pattern strings
|
|
68
|
+
*/
|
|
69
|
+
toGlobs(constraints?: Record<string, unknown>): string[];
|
|
56
70
|
/**
|
|
57
71
|
* Match a path against this pattern and extract params.
|
|
72
|
+
* Params in unmatched optional segments are omitted from the result.
|
|
58
73
|
*
|
|
59
74
|
* @param path - The file path to match (relative to base)
|
|
60
75
|
* @returns The extracted params, or null if no match
|
|
@@ -78,6 +93,9 @@ export interface CompiledPattern {
|
|
|
78
93
|
/**
|
|
79
94
|
* Compile a path pattern string into a usable pattern object.
|
|
80
95
|
*
|
|
96
|
+
* Supports `{param}` placeholders, `{param:regex}` inline constraints, and
|
|
97
|
+
* `<...>` optional segments (e.g. `'{date}< {time}> - {slug}.md'`).
|
|
98
|
+
*
|
|
81
99
|
* @param pattern - The pattern string like '{year}/{slug}.md'
|
|
82
100
|
* @returns A CompiledPattern instance
|
|
83
101
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-pattern.d.ts","sourceRoot":"","sources":["../src/path-pattern.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAMvC
|
|
1
|
+
{"version":3,"file":"path-pattern.d.ts","sourceRoot":"","sources":["../src/path-pattern.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAMvC;;;;;;;;;;GAUG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IACxC,CAAC,SAAS,GAAG,MAAM,IAAI,IAAI,MAAM,GAAG,IAAI,MAAM,IAAI,EAAE,GAChD,aAAa,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,GACvE,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,KAAK,IAAI,MAAM,IAAI,EAAE,GAChD;KAAG,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,GAAG,MAAM;CAAE,GAAG,aAAa,CAAC,IAAI,CAAC,GAChE,EAAE,CAAA;AAEV,KAAK,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,IAAI,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,CAAA;AAExF;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAA;AAElD;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;AAMrE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,UAAU,EAAE,MAAM,EAAE,CAAA;IAEpB;;;;;;;;;OASG;IACH,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAA;IAErD;;;;;;;;OAQG;IACH,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAAA;IAExD;;;;;;;;;;OAUG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAA;IAElD;;;;;;;;OAQG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAA;CAC9C;AAgFD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CA8H/D;AAMD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,eAAe,GACvB,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA4BxC"}
|
package/dist/path-pattern.js
CHANGED
|
@@ -19,9 +19,63 @@ const PARAM_REGEX = /\{([a-zA-Z_][a-zA-Z0-9_]*)(?::([^{}]+))?\}/g;
|
|
|
19
19
|
* Characters that need escaping in regex.
|
|
20
20
|
*/
|
|
21
21
|
const REGEX_ESCAPE = /[.*+?^${}()|[\]\\]/g;
|
|
22
|
+
/**
|
|
23
|
+
* Characters with special meaning in glob patterns.
|
|
24
|
+
* Literal text is escaped so paths containing e.g. `[id]` match verbatim.
|
|
25
|
+
*/
|
|
26
|
+
const GLOB_ESCAPE = /[*?[\]{}()!\\]/g;
|
|
27
|
+
function parseParts(segment) {
|
|
28
|
+
const parts = [];
|
|
29
|
+
const regex = new RegExp(PARAM_REGEX.source, "g");
|
|
30
|
+
let cursor = 0;
|
|
31
|
+
let match;
|
|
32
|
+
while ((match = regex.exec(segment)) !== null) {
|
|
33
|
+
if (match.index > cursor) {
|
|
34
|
+
parts.push({ kind: "literal", value: segment.slice(cursor, match.index) });
|
|
35
|
+
}
|
|
36
|
+
parts.push({ kind: "param", name: match[1], constraint: match[2] || undefined });
|
|
37
|
+
cursor = match.index + match[0].length;
|
|
38
|
+
}
|
|
39
|
+
if (cursor < segment.length) {
|
|
40
|
+
parts.push({ kind: "literal", value: segment.slice(cursor) });
|
|
41
|
+
}
|
|
42
|
+
return parts;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Split a pattern into chunks at `<...>` optional segment boundaries.
|
|
46
|
+
* Nesting is not supported.
|
|
47
|
+
*/
|
|
48
|
+
function parseChunks(pattern) {
|
|
49
|
+
const chunks = [];
|
|
50
|
+
let cursor = 0;
|
|
51
|
+
while (cursor < pattern.length) {
|
|
52
|
+
const open = pattern.indexOf("<", cursor);
|
|
53
|
+
if (open === -1) {
|
|
54
|
+
chunks.push({ optional: false, parts: parseParts(pattern.slice(cursor)) });
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
const close = pattern.indexOf(">", open);
|
|
58
|
+
if (close === -1) {
|
|
59
|
+
throw new Error(`Unclosed optional segment in pattern: ${pattern}`);
|
|
60
|
+
}
|
|
61
|
+
const inner = pattern.slice(open + 1, close);
|
|
62
|
+
if (inner.includes("<")) {
|
|
63
|
+
throw new Error(`Nested optional segments are not supported: ${pattern}`);
|
|
64
|
+
}
|
|
65
|
+
if (open > cursor) {
|
|
66
|
+
chunks.push({ optional: false, parts: parseParts(pattern.slice(cursor, open)) });
|
|
67
|
+
}
|
|
68
|
+
chunks.push({ optional: true, parts: parseParts(inner) });
|
|
69
|
+
cursor = close + 1;
|
|
70
|
+
}
|
|
71
|
+
return chunks;
|
|
72
|
+
}
|
|
22
73
|
/**
|
|
23
74
|
* Compile a path pattern string into a usable pattern object.
|
|
24
75
|
*
|
|
76
|
+
* Supports `{param}` placeholders, `{param:regex}` inline constraints, and
|
|
77
|
+
* `<...>` optional segments (e.g. `'{date}< {time}> - {slug}.md'`).
|
|
78
|
+
*
|
|
25
79
|
* @param pattern - The pattern string like '{year}/{slug}.md'
|
|
26
80
|
* @returns A CompiledPattern instance
|
|
27
81
|
*
|
|
@@ -31,58 +85,83 @@ const REGEX_ESCAPE = /[.*+?^${}()|[\]\\]/g;
|
|
|
31
85
|
* pattern.match('2024/hello.md') // { year: '2024', slug: 'hello' }
|
|
32
86
|
*/
|
|
33
87
|
export function compilePattern(pattern) {
|
|
34
|
-
|
|
88
|
+
const chunks = parseChunks(pattern);
|
|
35
89
|
const paramNames = [];
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
raw: match[0],
|
|
45
|
-
name,
|
|
46
|
-
constraint,
|
|
47
|
-
});
|
|
90
|
+
const paramChunk = new Map();
|
|
91
|
+
for (const chunk of chunks) {
|
|
92
|
+
for (const part of chunk.parts) {
|
|
93
|
+
if (part.kind === "param") {
|
|
94
|
+
paramNames.push(part.name);
|
|
95
|
+
paramChunk.set(part.name, chunk);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
48
98
|
}
|
|
49
|
-
// Build the match regex
|
|
50
|
-
// capturing groups
|
|
99
|
+
// Build the match regex. Only param groups capture, so capture order
|
|
100
|
+
// follows param order even with optional (non-capturing) groups.
|
|
51
101
|
let regexPattern = "";
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
102
|
+
for (const chunk of chunks) {
|
|
103
|
+
let sub = "";
|
|
104
|
+
for (const part of chunk.parts) {
|
|
105
|
+
if (part.kind === "literal") {
|
|
106
|
+
sub += part.value.replace(REGEX_ESCAPE, "\\$&");
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
// Non-greedy groups so adjacent params separated by literals
|
|
110
|
+
// (e.g. "wp-{priority}-{name}.md") split as expected.
|
|
111
|
+
sub += `(${part.constraint?.trim() || "[^/]+?"})`;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
regexPattern += chunk.optional ? `(?:${sub})?` : sub;
|
|
65
115
|
}
|
|
66
|
-
regexPattern += pattern.slice(cursor).replace(REGEX_ESCAPE, "\\$&");
|
|
67
116
|
const matchRegex = new RegExp(`^${regexPattern}$`);
|
|
117
|
+
function toGlobs(constraints) {
|
|
118
|
+
const optionals = chunks.filter((c) => c.optional);
|
|
119
|
+
const globs = new Set();
|
|
120
|
+
// Enumerate include/exclude combinations of optional chunks
|
|
121
|
+
for (let mask = 0; mask < 1 << optionals.length; mask++) {
|
|
122
|
+
const included = new Set();
|
|
123
|
+
optionals.forEach((chunk, i) => {
|
|
124
|
+
if (mask & (1 << i))
|
|
125
|
+
included.add(chunk);
|
|
126
|
+
});
|
|
127
|
+
// Prune variants that omit a constrained param
|
|
128
|
+
const omitsConstrained = [...paramChunk.entries()].some(([name, chunk]) => chunk.optional &&
|
|
129
|
+
!included.has(chunk) &&
|
|
130
|
+
constraints?.[name] !== undefined &&
|
|
131
|
+
constraints?.[name] !== null);
|
|
132
|
+
if (omitsConstrained)
|
|
133
|
+
continue;
|
|
134
|
+
let glob = "";
|
|
135
|
+
for (const chunk of chunks) {
|
|
136
|
+
if (chunk.optional && !included.has(chunk))
|
|
137
|
+
continue;
|
|
138
|
+
for (const part of chunk.parts) {
|
|
139
|
+
if (part.kind === "literal") {
|
|
140
|
+
glob += part.value.replace(GLOB_ESCAPE, "\\$&");
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
const value = constraints?.[part.name];
|
|
144
|
+
glob +=
|
|
145
|
+
value !== undefined && value !== null
|
|
146
|
+
? String(value).replace(GLOB_ESCAPE, "\\$&")
|
|
147
|
+
: "*";
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
globs.add(glob);
|
|
152
|
+
}
|
|
153
|
+
return [...globs];
|
|
154
|
+
}
|
|
68
155
|
return {
|
|
69
156
|
pattern,
|
|
70
157
|
paramNames,
|
|
158
|
+
toGlobs,
|
|
71
159
|
toGlob(constraints) {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
const value = constraints?.[placeholder.name];
|
|
76
|
-
if (value !== undefined && value !== null) {
|
|
77
|
-
// Use the constrained value
|
|
78
|
-
glob = glob.replace(placeholder.raw, String(value));
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
// Use a wildcard - * matches anything except /
|
|
82
|
-
glob = glob.replace(placeholder.raw, "*");
|
|
83
|
-
}
|
|
160
|
+
const globs = toGlobs(constraints);
|
|
161
|
+
if (globs.length > 1) {
|
|
162
|
+
throw new Error(`Pattern has optional segments producing ${globs.length} glob variants; use toGlobs(): ${pattern}`);
|
|
84
163
|
}
|
|
85
|
-
return
|
|
164
|
+
return globs[0];
|
|
86
165
|
},
|
|
87
166
|
match(path) {
|
|
88
167
|
const result = matchRegex.exec(path);
|
|
@@ -90,18 +169,33 @@ export function compilePattern(pattern) {
|
|
|
90
169
|
return null;
|
|
91
170
|
const params = {};
|
|
92
171
|
for (let i = 0; i < paramNames.length; i++) {
|
|
93
|
-
|
|
172
|
+
if (result[i + 1] !== undefined) {
|
|
173
|
+
params[paramNames[i]] = result[i + 1];
|
|
174
|
+
}
|
|
94
175
|
}
|
|
95
176
|
return params;
|
|
96
177
|
},
|
|
97
178
|
build(params) {
|
|
98
|
-
let result =
|
|
99
|
-
for (const
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
179
|
+
let result = "";
|
|
180
|
+
for (const chunk of chunks) {
|
|
181
|
+
if (chunk.optional) {
|
|
182
|
+
const chunkParams = chunk.parts.filter((p) => p.kind === "param");
|
|
183
|
+
if (!chunkParams.every((p) => p.kind === "param" && params[p.name] !== undefined)) {
|
|
184
|
+
continue;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
for (const part of chunk.parts) {
|
|
188
|
+
if (part.kind === "literal") {
|
|
189
|
+
result += part.value;
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
const value = params[part.name];
|
|
193
|
+
if (value === undefined) {
|
|
194
|
+
throw new Error(`Missing required param: ${part.name}`);
|
|
195
|
+
}
|
|
196
|
+
result += value;
|
|
197
|
+
}
|
|
103
198
|
}
|
|
104
|
-
result = result.replace(placeholder.raw, value);
|
|
105
199
|
}
|
|
106
200
|
return result;
|
|
107
201
|
},
|
package/dist/path-pattern.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-pattern.js","sourceRoot":"","sources":["../src/path-pattern.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"path-pattern.js","sourceRoot":"","sources":["../src/path-pattern.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@piqit/resolvers",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
7
7
|
"exports": {
|
|
8
8
|
".": {
|
|
9
|
-
"bun": "./
|
|
9
|
+
"bun": "./dist/index.js",
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
11
11
|
"default": "./dist/index.js"
|
|
12
12
|
},
|
|
13
13
|
"./edge": {
|
|
14
|
-
"bun": "./
|
|
14
|
+
"bun": "./dist/edge.js",
|
|
15
15
|
"types": "./dist/edge.d.ts",
|
|
16
16
|
"default": "./dist/edge.js"
|
|
17
17
|
},
|
|
18
18
|
"./static": {
|
|
19
|
-
"bun": "./
|
|
19
|
+
"bun": "./dist/static.js",
|
|
20
20
|
"types": "./dist/static.d.ts",
|
|
21
21
|
"default": "./dist/static.js"
|
|
22
22
|
}
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"dist"
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"piqit": "0.0
|
|
28
|
+
"piqit": "0.1.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@types/bun": "latest",
|