node-pagefind 0.1.0 → 0.2.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/pagefind.js CHANGED
@@ -1,13 +1,16 @@
1
1
  var _a, _b;
2
2
  import { __awaiter } from "tslib";
3
- import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'fs';
3
+ import { existsSync, mkdirSync, readdirSync, readFileSync, rmSync, statSync, writeFileSync, } from 'fs';
4
+ import { mkdir, writeFile } from 'fs/promises';
4
5
  import { tmpdir } from 'os';
5
- import { join, resolve } from 'path';
6
+ import { dirname, join, resolve } from 'path';
6
7
  // Shim window and location for basePath resolution
7
8
  (_a = global.window) !== null && _a !== void 0 ? _a : (global.window = undefined);
8
9
  (_b = global.document) !== null && _b !== void 0 ? _b : (global.document = undefined);
9
10
  const CACHE_ROOT = join(tmpdir(), 'node-pagefind');
10
11
  const KNOWN_VERSIONS_PATH = join(CACHE_ROOT, 'known-versions.json');
12
+ /** Files that belong in the version cache (pagefind runtime, shared across sites) */
13
+ const VERSION_CACHE_PATTERNS = [/^pagefind\.js$/, /\.pagefind$/, /\.wasm$/];
11
14
  function readKnownVersions() {
12
15
  if (!existsSync(KNOWN_VERSIONS_PATH)) {
13
16
  return {};
@@ -20,33 +23,119 @@ function writeKnownVersions(versions) {
20
23
  }
21
24
  writeFileSync(KNOWN_VERSIONS_PATH, JSON.stringify(versions, null, 2));
22
25
  }
23
- function extractVersion(jsContent) {
24
- // Pagefind embeds: const pagefind_version="X.Y.Z";
25
- const match = jsContent.match(/pagefind_version\s*=\s*"([^"]+)"/);
26
- if (!match) {
27
- throw new Error('Could not extract pagefind version from downloaded pagefind.js');
26
+ /**
27
+ * Derive a filesystem-safe directory name from a URL.
28
+ * e.g. "https://nx.dev/docs/pagefind""nx.dev_docs"
29
+ */
30
+ function dataSourceKey(pagefindPath) {
31
+ try {
32
+ const url = new URL(pagefindPath);
33
+ // Strip the trailing /pagefind from the path
34
+ const basePath = url.pathname.replace(/\/pagefind\/?$/, '');
35
+ const key = url.hostname + basePath.replace(/\//g, '_');
36
+ return key || url.hostname;
28
37
  }
29
- return match[1];
38
+ catch (_a) {
39
+ // Fallback for non-URL paths
40
+ return pagefindPath.replace(/[^a-zA-Z0-9.-]/g, '_');
41
+ }
42
+ }
43
+ function isVersionLevelFile(filename) {
44
+ return VERSION_CACHE_PATTERNS.some((p) => p.test(filename));
45
+ }
46
+ /**
47
+ * Fetch pagefind-entry.json to get version without downloading the full JS bundle.
48
+ */
49
+ function fetchEntryJson(pagefindPath) {
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ const url = `${pagefindPath}/pagefind-entry.json`;
52
+ const response = yield fetch(url);
53
+ if (!response.ok) {
54
+ throw new Error(`Failed to fetch pagefind-entry.json: ${response.status}`);
55
+ }
56
+ return response.json();
57
+ });
30
58
  }
31
- function getCachedPagefindPath(version) {
32
- return join(CACHE_ROOT, version, 'pagefind.js');
59
+ /**
60
+ * Install a fetch interceptor that caches pagefind requests to two directories:
61
+ * - versionCacheDir: for pagefind.js and WASM (shared across data sources)
62
+ * - dataSourceCacheDir: for index fragments and metadata (site-specific)
63
+ *
64
+ * Returns a cleanup function to restore the original fetch.
65
+ */
66
+ function installCachingFetch(pagefindBaseUrl, versionCacheDir, dataSourceCacheDir, verbose = false) {
67
+ const originalFetch = globalThis.fetch;
68
+ globalThis.fetch = (input, init) => __awaiter(this, void 0, void 0, function* () {
69
+ const url = typeof input === 'string'
70
+ ? input
71
+ : input instanceof URL
72
+ ? input.toString()
73
+ : input.url;
74
+ // Only intercept requests to the pagefind base URL
75
+ if (!url.startsWith(pagefindBaseUrl)) {
76
+ return originalFetch(input, init);
77
+ }
78
+ // Derive a local filename from the URL path relative to pagefind base
79
+ const relativePath = url.slice(pagefindBaseUrl.length).replace(/^\//, '');
80
+ const cleanPath = relativePath.split('?')[0];
81
+ // Route to the appropriate cache directory
82
+ const cacheDir = isVersionLevelFile(cleanPath)
83
+ ? versionCacheDir
84
+ : dataSourceCacheDir;
85
+ const cachedFile = join(cacheDir, cleanPath);
86
+ // Serve from cache if available
87
+ if (existsSync(cachedFile)) {
88
+ const buffer = readFileSync(cachedFile);
89
+ if (verbose) {
90
+ console.error(`[fetch] CACHE HIT ${cleanPath} (${buffer.length} bytes)`);
91
+ }
92
+ return new Response(buffer, {
93
+ status: 200,
94
+ headers: { 'content-type': 'application/octet-stream' },
95
+ });
96
+ }
97
+ // Fetch from remote
98
+ if (verbose) {
99
+ console.error(`[fetch] GET ${url}`);
100
+ }
101
+ const response = yield originalFetch(input, init);
102
+ if (verbose) {
103
+ console.error(`[fetch] ${response.ok ? 'OK' : 'FAIL'} ${url} → ${response.status}`);
104
+ }
105
+ if (response.ok) {
106
+ const buffer = Buffer.from(yield response.clone().arrayBuffer());
107
+ // Write to cache asynchronously — don't block the response
108
+ mkdir(dirname(cachedFile), { recursive: true }).then(() => writeFile(cachedFile, buffer).then(() => {
109
+ if (verbose) {
110
+ console.error(`[fetch] CACHED ${cleanPath} (${buffer.length} bytes)`);
111
+ }
112
+ }));
113
+ }
114
+ return response;
115
+ });
116
+ return () => {
117
+ globalThis.fetch = originalFetch;
118
+ };
33
119
  }
34
120
  export class PagefindClient {
35
121
  constructor(options = {}) {
36
- var _a;
122
+ var _a, _b, _c;
37
123
  this.initialized = false;
38
124
  this.pagefindModule = null;
125
+ this.removeFetchInterceptor = null;
39
126
  this.localPath = options.localPath
40
127
  ? this.resolveLocalPath(options.localPath)
41
128
  : null;
42
129
  this.baseUrl = options.baseUrl;
130
+ this.verbose = (_a = options.verbose) !== null && _a !== void 0 ? _a : false;
131
+ this.skipCache = (_b = options.skipCache) !== null && _b !== void 0 ? _b : false;
43
132
  if (!this.localPath && !this.baseUrl) {
44
133
  throw new Error('Either localPath or baseUrl must be provided');
45
134
  }
46
135
  this.pagefindPath = this.localPath
47
136
  ? this.localPath
48
137
  : `${this.baseUrl.replace(/\/$/, '')}/pagefind`;
49
- this.cachePath = (_a = options.cachePath) !== null && _a !== void 0 ? _a : null;
138
+ this.cachePath = (_c = options.cachePath) !== null && _c !== void 0 ? _c : null;
50
139
  }
51
140
  resolveLocalPath(inputPath) {
52
141
  const resolved = resolve(inputPath);
@@ -64,7 +153,13 @@ export class PagefindClient {
64
153
  if (this.initialized) {
65
154
  return this;
66
155
  }
67
- this.pagefindModule = yield this.loadPagefind();
156
+ const loaded = yield this.loadPagefind(this.skipCache);
157
+ this.pagefindModule = loaded.pagefindModule;
158
+ // Install fetch interceptor for remote sources so pagefind's internal
159
+ // fetches (WASM, metadata, index fragments) are cached transparently.
160
+ if (!this.skipCache && !this.localPath && loaded.versionCacheDir) {
161
+ this.removeFetchInterceptor = installCachingFetch(this.pagefindPath, loaded.versionCacheDir, loaded.dataSourceCacheDir, this.verbose);
162
+ }
68
163
  this.pagefindModule.options({
69
164
  basePath: this.pagefindPath,
70
165
  baseUrl: this.localPath ? `file://${this.localPath}` : this.baseUrl,
@@ -75,8 +170,13 @@ export class PagefindClient {
75
170
  catch (err) {
76
171
  // Version mismatch — invalidate cache and retry once
77
172
  if (!this.localPath) {
78
- this.invalidateCache();
79
- this.pagefindModule = yield this.loadPagefind(true);
173
+ this.cleanup();
174
+ this.invalidateDataSourceCache();
175
+ const reloaded = yield this.loadPagefind(true);
176
+ this.pagefindModule = reloaded.pagefindModule;
177
+ if (!this.skipCache && reloaded.versionCacheDir) {
178
+ this.removeFetchInterceptor = installCachingFetch(this.pagefindPath, reloaded.versionCacheDir, reloaded.dataSourceCacheDir, this.verbose);
179
+ }
80
180
  this.pagefindModule.options({
81
181
  basePath: this.pagefindPath,
82
182
  baseUrl: this.baseUrl,
@@ -91,17 +191,29 @@ export class PagefindClient {
91
191
  return this;
92
192
  });
93
193
  }
94
- invalidateCache() {
95
- const versions = readKnownVersions();
96
- const dataSource = this.pagefindPath;
97
- const oldVersion = versions[dataSource];
98
- if (oldVersion) {
99
- const oldCacheDir = join(CACHE_ROOT, oldVersion);
100
- if (existsSync(oldCacheDir)) {
101
- rmSync(oldCacheDir, { recursive: true, force: true });
194
+ /**
195
+ * Remove the fetch interceptor. Call this when you're done using the client
196
+ * to restore the original global fetch.
197
+ */
198
+ cleanup() {
199
+ if (this.removeFetchInterceptor) {
200
+ this.removeFetchInterceptor();
201
+ this.removeFetchInterceptor = null;
202
+ }
203
+ }
204
+ /** Invalidate only the data-source-specific cache (index fragments). */
205
+ invalidateDataSourceCache() {
206
+ if (this.cachePath) {
207
+ const cacheDir = resolve(this.cachePath);
208
+ if (existsSync(cacheDir)) {
209
+ rmSync(cacheDir, { recursive: true, force: true });
102
210
  }
103
- delete versions[dataSource];
104
- writeKnownVersions(versions);
211
+ return;
212
+ }
213
+ const dsKey = dataSourceKey(this.pagefindPath);
214
+ const dsDir = join(CACHE_ROOT, dsKey);
215
+ if (existsSync(dsDir)) {
216
+ rmSync(dsDir, { recursive: true, force: true });
105
217
  }
106
218
  }
107
219
  loadPagefind() {
@@ -109,70 +221,141 @@ export class PagefindClient {
109
221
  if (this.localPath) {
110
222
  const localFile = join(this.localPath, 'pagefind.js');
111
223
  const fileUrl = `file://localhost${localFile}`;
112
- return (yield import(fileUrl));
224
+ return {
225
+ pagefindModule: (yield import(fileUrl)),
226
+ versionCacheDir: null,
227
+ dataSourceCacheDir: null,
228
+ };
113
229
  }
114
- const pagefindUrl = `${this.pagefindPath}/pagefind.js`;
115
- // Custom cache path: simple download-to-path, no version management
116
230
  if (this.cachePath) {
117
- return this.loadWithCustomCache(pagefindUrl, skipCache);
231
+ return this.loadWithCustomCache(skipCache);
118
232
  }
119
- // Default: version-keyed cache in /tmp/node-pagefind/
120
- return this.loadWithVersionCache(pagefindUrl, skipCache);
233
+ return this.loadWithVersionCache(skipCache);
121
234
  });
122
235
  }
123
- loadWithCustomCache(pagefindUrl, skipCache) {
236
+ loadWithCustomCache(skipCache) {
124
237
  return __awaiter(this, void 0, void 0, function* () {
238
+ // Custom cache: everything goes in one dir (no version separation)
125
239
  const cacheDir = resolve(this.cachePath);
126
- const cachedFile = join(cacheDir, 'pagefind.js');
127
- if (!skipCache && existsSync(cachedFile)) {
128
- const fileUrl = `file://localhost${cachedFile}`;
129
- return (yield import(fileUrl));
240
+ const cachedJs = join(cacheDir, 'pagefind.js');
241
+ if (!skipCache && existsSync(cachedJs)) {
242
+ const fileUrl = `file://localhost${cachedJs}`;
243
+ return {
244
+ pagefindModule: (yield import(fileUrl)),
245
+ versionCacheDir: cacheDir,
246
+ dataSourceCacheDir: cacheDir,
247
+ };
130
248
  }
131
- const content = yield this.downloadPagefind(pagefindUrl);
249
+ const content = yield this.downloadText(`${this.pagefindPath}/pagefind.js`);
132
250
  if (!existsSync(cacheDir)) {
133
251
  mkdirSync(cacheDir, { recursive: true });
134
252
  }
135
- writeFileSync(cachedFile, content);
136
- const fileUrl = `file://localhost${cachedFile}`;
137
- return (yield import(fileUrl));
253
+ writeFileSync(cachedJs, content);
254
+ const fileUrl = `file://localhost${cachedJs}`;
255
+ return {
256
+ pagefindModule: (yield import(fileUrl)),
257
+ versionCacheDir: cacheDir,
258
+ dataSourceCacheDir: cacheDir,
259
+ };
138
260
  });
139
261
  }
140
- loadWithVersionCache(pagefindUrl, skipCache) {
262
+ loadWithVersionCache(skipCache) {
141
263
  return __awaiter(this, void 0, void 0, function* () {
142
- // Check known versions map for a cached copy
143
264
  const dataSource = this.pagefindPath;
265
+ const dsKey = dataSourceKey(dataSource);
266
+ const dsDir = join(CACHE_ROOT, dsKey);
267
+ // Check known versions map for a cached copy
144
268
  if (!skipCache) {
145
269
  const versions = readKnownVersions();
146
270
  const knownVersion = versions[dataSource];
147
271
  if (knownVersion) {
148
- const cachedFile = getCachedPagefindPath(knownVersion);
149
- if (existsSync(cachedFile)) {
150
- const fileUrl = `file://localhost${cachedFile}`;
151
- return (yield import(fileUrl));
272
+ const versionDir = join(CACHE_ROOT, knownVersion);
273
+ const cachedJs = join(versionDir, 'pagefind.js');
274
+ if (existsSync(cachedJs)) {
275
+ // Check if entry.json has changed (content update without version bump)
276
+ const cachedEntryPath = join(dsDir, 'pagefind-entry.json');
277
+ if (existsSync(cachedEntryPath)) {
278
+ try {
279
+ if (this.verbose) {
280
+ console.error(`[fetch] GET ${dataSource}/pagefind-entry.json`);
281
+ }
282
+ const remoteEntry = yield fetchEntryJson(dataSource);
283
+ const cachedEntry = JSON.parse(readFileSync(cachedEntryPath, 'utf-8'));
284
+ if (JSON.stringify(remoteEntry) !== JSON.stringify(cachedEntry)) {
285
+ // Content changed — invalidate data source cache, update entry
286
+ if (existsSync(dsDir)) {
287
+ rmSync(dsDir, { recursive: true, force: true });
288
+ }
289
+ mkdirSync(dsDir, { recursive: true });
290
+ writeFileSync(cachedEntryPath, JSON.stringify(remoteEntry, null, 2));
291
+ // If version also changed, need new pagefind.js
292
+ if (remoteEntry.version !== knownVersion) {
293
+ return this.downloadAndCacheVersion(dataSource, remoteEntry, dsDir);
294
+ }
295
+ }
296
+ }
297
+ catch (_a) {
298
+ // If we can't fetch entry.json, use stale cache
299
+ }
300
+ }
301
+ const fileUrl = `file://localhost${cachedJs}`;
302
+ return {
303
+ pagefindModule: (yield import(fileUrl)),
304
+ versionCacheDir: versionDir,
305
+ dataSourceCacheDir: dsDir,
306
+ };
152
307
  }
153
308
  }
154
309
  }
155
- const content = yield this.downloadPagefind(pagefindUrl);
156
- const version = extractVersion(content);
157
- // Store in version-keyed cache directory
310
+ // No cache fetch entry.json for version, then download pagefind.js
311
+ if (this.verbose) {
312
+ console.error(`[fetch] GET ${dataSource}/pagefind-entry.json`);
313
+ }
314
+ const entry = yield fetchEntryJson(dataSource);
315
+ return this.downloadAndCacheVersion(dataSource, entry, dsDir);
316
+ });
317
+ }
318
+ downloadAndCacheVersion(dataSource, entry, dsDir) {
319
+ return __awaiter(this, void 0, void 0, function* () {
320
+ const version = entry.version;
158
321
  const versionDir = join(CACHE_ROOT, version);
159
- if (!existsSync(versionDir)) {
160
- mkdirSync(versionDir, { recursive: true });
322
+ const cachedJs = join(versionDir, 'pagefind.js');
323
+ // Download pagefind.js if not already cached for this version
324
+ if (!existsSync(cachedJs)) {
325
+ const content = yield this.downloadText(`${this.pagefindPath}/pagefind.js`);
326
+ if (!existsSync(versionDir)) {
327
+ mkdirSync(versionDir, { recursive: true });
328
+ }
329
+ writeFileSync(cachedJs, content);
161
330
  }
162
- writeFileSync(join(versionDir, 'pagefind.js'), content);
331
+ // Save entry.json in the data source dir
332
+ if (!existsSync(dsDir)) {
333
+ mkdirSync(dsDir, { recursive: true });
334
+ }
335
+ writeFileSync(join(dsDir, 'pagefind-entry.json'), JSON.stringify(entry, null, 2));
163
336
  // Update known versions map
164
337
  const versions = readKnownVersions();
165
338
  versions[dataSource] = version;
166
339
  writeKnownVersions(versions);
167
- const fileUrl = `file://localhost${join(versionDir, 'pagefind.js')}`;
168
- return (yield import(fileUrl));
340
+ const fileUrl = `file://localhost${cachedJs}`;
341
+ return {
342
+ pagefindModule: (yield import(fileUrl)),
343
+ versionCacheDir: versionDir,
344
+ dataSourceCacheDir: dsDir,
345
+ };
169
346
  });
170
347
  }
171
- downloadPagefind(pagefindUrl) {
348
+ downloadText(url) {
172
349
  return __awaiter(this, void 0, void 0, function* () {
173
- const response = yield fetch(pagefindUrl);
350
+ if (this.verbose) {
351
+ console.error(`[fetch] GET ${url}`);
352
+ }
353
+ const response = yield fetch(url);
354
+ if (this.verbose) {
355
+ console.error(`[fetch] ${response.ok ? 'OK' : 'FAIL'} ${url} → ${response.status}`);
356
+ }
174
357
  if (!response.ok) {
175
- throw new Error(`Failed to download Pagefind: ${response.status}`);
358
+ throw new Error(`Failed to download ${url}: ${response.status}`);
176
359
  }
177
360
  return response.text();
178
361
  });
@@ -203,13 +386,169 @@ export class PagefindClient {
203
386
  };
204
387
  }
205
388
  }
389
+ function listFiles(dir) {
390
+ if (!existsSync(dir))
391
+ return [];
392
+ const files = [];
393
+ for (const entry of readdirSync(dir, { withFileTypes: true })) {
394
+ if (entry.isFile()) {
395
+ const fullPath = join(dir, entry.name);
396
+ files.push({ name: entry.name, size: statSync(fullPath).size });
397
+ }
398
+ else if (entry.isDirectory()) {
399
+ for (const sub of listFiles(join(dir, entry.name))) {
400
+ files.push({ name: `${entry.name}/${sub.name}`, size: sub.size });
401
+ }
402
+ }
403
+ }
404
+ return files;
405
+ }
406
+ function formatBytes(bytes) {
407
+ if (bytes < 1024)
408
+ return `${bytes} B`;
409
+ if (bytes < 1024 * 1024)
410
+ return `${(bytes / 1024).toFixed(1)} KB`;
411
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
412
+ }
413
+ /**
414
+ * Inspect the global pagefind cache and return structured information
415
+ * about all cached versions and data sources.
416
+ */
417
+ export function inspectCache() {
418
+ var _a, _b, _c;
419
+ const knownVersions = readKnownVersions();
420
+ // Build reverse map: version → data sources that use it
421
+ const versionToSources = {};
422
+ for (const [source, version] of Object.entries(knownVersions)) {
423
+ ((_a = versionToSources[version]) !== null && _a !== void 0 ? _a : (versionToSources[version] = [])).push(source);
424
+ }
425
+ const versions = [];
426
+ const dataSources = [];
427
+ if (!existsSync(CACHE_ROOT)) {
428
+ return {
429
+ cacheRoot: CACHE_ROOT,
430
+ versions: [],
431
+ dataSources: [],
432
+ knownVersions,
433
+ totalSize: 0,
434
+ };
435
+ }
436
+ // Identify version dirs (semver-like names) vs data source dirs
437
+ const semverPattern = /^\d+\.\d+\.\d+/;
438
+ for (const entry of readdirSync(CACHE_ROOT, { withFileTypes: true })) {
439
+ if (!entry.isDirectory())
440
+ continue;
441
+ const dirPath = join(CACHE_ROOT, entry.name);
442
+ if (semverPattern.test(entry.name)) {
443
+ // Version cache directory
444
+ const files = listFiles(dirPath);
445
+ const totalSize = files.reduce((sum, f) => sum + f.size, 0);
446
+ versions.push({
447
+ version: entry.name,
448
+ path: dirPath,
449
+ files,
450
+ totalSize,
451
+ dataSources: (_b = versionToSources[entry.name]) !== null && _b !== void 0 ? _b : [],
452
+ });
453
+ }
454
+ else {
455
+ // Data source cache directory
456
+ const files = listFiles(dirPath);
457
+ const totalSize = files.reduce((sum, f) => sum + f.size, 0);
458
+ const entryJsonPath = join(dirPath, 'pagefind-entry.json');
459
+ let parsedEntry = null;
460
+ if (existsSync(entryJsonPath)) {
461
+ try {
462
+ parsedEntry = JSON.parse(readFileSync(entryJsonPath, 'utf-8'));
463
+ }
464
+ catch (_d) {
465
+ // corrupted entry.json
466
+ }
467
+ }
468
+ // Find which version this data source maps to
469
+ const mappedSource = Object.entries(knownVersions).find(([src]) => dataSourceKey(src) === entry.name);
470
+ dataSources.push({
471
+ key: entry.name,
472
+ path: dirPath,
473
+ entry: parsedEntry,
474
+ files,
475
+ totalSize,
476
+ mappedVersion: (_c = mappedSource === null || mappedSource === void 0 ? void 0 : mappedSource[1]) !== null && _c !== void 0 ? _c : null,
477
+ });
478
+ }
479
+ }
480
+ const totalSize = versions.reduce((sum, v) => sum + v.totalSize, 0) +
481
+ dataSources.reduce((sum, d) => sum + d.totalSize, 0);
482
+ return {
483
+ cacheRoot: CACHE_ROOT,
484
+ versions,
485
+ dataSources,
486
+ knownVersions,
487
+ totalSize,
488
+ };
489
+ }
490
+ /**
491
+ * Print a human-readable summary of the cache to stdout.
492
+ */
493
+ export function printCacheInspection() {
494
+ const info = inspectCache();
495
+ console.log(`Cache root: ${info.cacheRoot}`);
496
+ console.log(`Total size: ${formatBytes(info.totalSize)}`);
497
+ console.log();
498
+ if (info.versions.length === 0 && info.dataSources.length === 0) {
499
+ console.log('Cache is empty.');
500
+ return info;
501
+ }
502
+ // Version caches
503
+ if (info.versions.length > 0) {
504
+ console.log('Version caches (shared runtime):');
505
+ for (const v of info.versions) {
506
+ console.log(` ${v.version}/ (${formatBytes(v.totalSize)})`);
507
+ for (const f of v.files) {
508
+ console.log(` ${f.name} (${formatBytes(f.size)})`);
509
+ }
510
+ if (v.dataSources.length > 0) {
511
+ console.log(` Used by: ${v.dataSources.join(', ')}`);
512
+ }
513
+ }
514
+ console.log();
515
+ }
516
+ // Data source caches
517
+ if (info.dataSources.length > 0) {
518
+ console.log('Data source caches (site-specific indices):');
519
+ for (const ds of info.dataSources) {
520
+ const versionLabel = ds.mappedVersion
521
+ ? ` → v${ds.mappedVersion}`
522
+ : '';
523
+ console.log(` ${ds.key}/${versionLabel} (${formatBytes(ds.totalSize)})`);
524
+ if (ds.entry) {
525
+ const langs = Object.entries(ds.entry.languages)
526
+ .map(([lang, info]) => `${lang} (${info.page_count} pages, hash: ${info.hash})`)
527
+ .join(', ');
528
+ console.log(` Languages: ${langs}`);
529
+ }
530
+ console.log(` Files: ${ds.files.length}`);
531
+ for (const f of ds.files) {
532
+ console.log(` ${f.name} (${formatBytes(f.size)})`);
533
+ }
534
+ }
535
+ console.log();
536
+ }
537
+ return info;
538
+ }
206
539
  export function createPagefindClient(options) {
207
540
  if (options.path) {
208
- return new PagefindClient({ localPath: options.path });
541
+ return new PagefindClient({
542
+ localPath: options.path,
543
+ verbose: options.verbose,
544
+ skipCache: options.skipCache,
545
+ });
209
546
  }
210
547
  return new PagefindClient({
211
548
  baseUrl: options.url,
212
549
  cachePath: options.cachePath,
550
+ verbose: options.verbose,
551
+ skipCache: options.skipCache,
213
552
  });
214
553
  }
215
554
  //# sourceMappingURL=pagefind.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pagefind.js","sourceRoot":"","sources":["../src/pagefind.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pagefind.js","sourceRoot":"","sources":["../src/pagefind.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -5,6 +5,10 @@ export interface PagefindClientOptions {
5
5
  baseUrl?: string;
6
6
  /** Custom cache directory for downloaded pagefind.js — bypasses version-based caching */
7
7
  cachePath?: string;
8
+ /** Log fetch events and cache details to stderr */
9
+ verbose?: boolean;
10
+ /** Skip all caching — always fetch from remote */
11
+ skipCache?: boolean;
8
12
  }
9
13
  export interface PagefindSearchOptions {
10
14
  /** Language code for the search index */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yFAAyF;IACzF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,WAAW,EAAE,KAAK,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEvE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/D,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,EAAE,CACN,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAA;KAAE,KACtD,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACrC,OAAO,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC3C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yFAAyF;IACzF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,WAAW,EAAE,KAAK,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEvE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/D,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,EAAE,CACN,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAA;KAAE,KACtD,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACrC,OAAO,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC3C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-pagefind",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "author": {
5
5
  "name": "Craigory Coppola",
6
6
  "url": "https://craigory.dev"