veryfront 0.1.174 → 0.1.175

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/esm/deno.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.174",
3
+ "version": "0.1.175",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "exclude": [
@@ -18,6 +18,7 @@ export declare class StatOperations extends VeryfrontOperationsBase {
18
18
  private normalizeMatchedPaths;
19
19
  private tryResolveViaApiSearch;
20
20
  private hasCachedFileList;
21
+ private resolveFromIndex;
21
22
  exists(path: string): Promise<boolean>;
22
23
  resolveFile(basePath: string, options?: ResolveFileOptions): Promise<string | null>;
23
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stat-operations.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/fs/veryfront/stat-operations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAuB/D,qBAAa,cAAe,SAAQ,uBAAuB;IACzD,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,aAAa,CAA8B;IAEnD,OAAO,CAAC,sBAAsB,CAA6B;IAC3D,OAAO,CAAC,qBAAqB,CAA8B;IAE3D,OAAO,CAAC,WAAW,CAAkC;IAErD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAGrC;IAEH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;YAiHvB,gBAAgB;YAwChB,UAAU;IAkDxB,UAAU,IAAI,IAAI;IAMlB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;YAIpC,cAAc;IAU5B,OAAO,CAAC,0BAA0B;IAgClC,OAAO,CAAC,qBAAqB;YAQf,sBAAsB;YA8EtB,iBAAiB;IASzB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWtC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAkI1F"}
1
+ {"version":3,"file":"stat-operations.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/fs/veryfront/stat-operations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAuB/D,qBAAa,cAAe,SAAQ,uBAAuB;IACzD,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,aAAa,CAA8B;IAEnD,OAAO,CAAC,sBAAsB,CAA6B;IAC3D,OAAO,CAAC,qBAAqB,CAA8B;IAE3D,OAAO,CAAC,WAAW,CAAkC;IAErD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAGrC;IAEH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;YAiHvB,gBAAgB;YAwChB,UAAU;IAkDxB,UAAU,IAAI,IAAI;IAMlB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;YAIpC,cAAc;IAU5B,OAAO,CAAC,0BAA0B;IAgClC,OAAO,CAAC,qBAAqB;YAQf,sBAAsB;YA8EtB,iBAAiB;IAS/B,OAAO,CAAC,gBAAgB;IA6DlB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWtC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CA0F1F"}
@@ -310,6 +310,51 @@ export class StatOperations extends VeryfrontOperationsBase {
310
310
  const files = await this.contextProvider?.getFileList?.();
311
311
  return Array.isArray(files) && files.length > 0;
312
312
  }
313
+ resolveFromIndex(fileIdx, normalizedPath, options, indexMs, resolveStart) {
314
+ if (fileIdx.has(normalizedPath)) {
315
+ const totalMs = Math.round(performance.now() - resolveStart);
316
+ logger.debug("resolveFile exact match found", {
317
+ normalizedPath,
318
+ indexMs,
319
+ totalMs,
320
+ });
321
+ return normalizedPath;
322
+ }
323
+ const pathWithoutExt = stripKnownExtension(normalizedPath, EXTENSION_PRIORITY);
324
+ const resolvedDirect = resolveByExtensionPriority(fileIdx, pathWithoutExt, EXTENSION_PRIORITY);
325
+ if (resolvedDirect) {
326
+ const totalMs = Math.round(performance.now() - resolveStart);
327
+ logger.debug("resolveFile found with extension", {
328
+ pathWithExt: resolvedDirect,
329
+ indexMs,
330
+ totalMs,
331
+ });
332
+ return resolvedDirect;
333
+ }
334
+ if (options?.allowPagesPrefix !== false && !pathWithoutExt.startsWith("pages/")) {
335
+ const resolvedPages = resolveByExtensionPriority(fileIdx, `pages/${pathWithoutExt}`, EXTENSION_PRIORITY);
336
+ if (resolvedPages) {
337
+ const totalMs = Math.round(performance.now() - resolveStart);
338
+ logger.debug("resolveFile found with pages prefix", {
339
+ pathWithExt: resolvedPages,
340
+ indexMs,
341
+ totalMs,
342
+ });
343
+ return resolvedPages;
344
+ }
345
+ }
346
+ const indexPath = resolveIndexByExtensionPriority(fileIdx, pathWithoutExt, EXTENSION_PRIORITY);
347
+ if (indexPath) {
348
+ const totalMs = Math.round(performance.now() - resolveStart);
349
+ logger.debug("resolveFile found index file", {
350
+ indexPath,
351
+ indexMs,
352
+ totalMs,
353
+ });
354
+ return indexPath;
355
+ }
356
+ return null;
357
+ }
313
358
  async exists(path) {
314
359
  const normalizedPath = this.normalizer.normalize(path);
315
360
  try {
@@ -364,47 +409,9 @@ export class StatOperations extends VeryfrontOperationsBase {
364
409
  logger.debug("resolveFile - no file index", { indexMs });
365
410
  return null;
366
411
  }
367
- if (fileIdx.has(normalizedPath)) {
368
- const totalMs = Math.round(performance.now() - resolveStart);
369
- logger.debug("resolveFile exact match found", {
370
- normalizedPath,
371
- indexMs,
372
- totalMs,
373
- });
374
- return normalizedPath;
375
- }
376
- const pathWithoutExt = stripKnownExtension(normalizedPath, EXTENSION_PRIORITY);
377
- const resolvedDirect = resolveByExtensionPriority(fileIdx, pathWithoutExt, EXTENSION_PRIORITY);
378
- if (resolvedDirect) {
379
- const totalMs = Math.round(performance.now() - resolveStart);
380
- logger.debug("resolveFile found with extension", {
381
- pathWithExt: resolvedDirect,
382
- indexMs,
383
- totalMs,
384
- });
385
- return resolvedDirect;
386
- }
387
- if (options?.allowPagesPrefix !== false && !pathWithoutExt.startsWith("pages/")) {
388
- const resolvedPages = resolveByExtensionPriority(fileIdx, `pages/${pathWithoutExt}`, EXTENSION_PRIORITY);
389
- if (resolvedPages) {
390
- const totalMs = Math.round(performance.now() - resolveStart);
391
- logger.debug("resolveFile found with pages prefix", {
392
- pathWithExt: resolvedPages,
393
- indexMs,
394
- totalMs,
395
- });
396
- return resolvedPages;
397
- }
398
- }
399
- const indexPath = resolveIndexByExtensionPriority(fileIdx, pathWithoutExt, EXTENSION_PRIORITY);
400
- if (indexPath) {
401
- const totalMs = Math.round(performance.now() - resolveStart);
402
- logger.debug("resolveFile found index file", {
403
- indexPath,
404
- indexMs,
405
- totalMs,
406
- });
407
- return indexPath;
412
+ const indexedResolution = this.resolveFromIndex(fileIdx, normalizedPath, options, indexMs, resolveStart);
413
+ if (indexedResolution) {
414
+ return indexedResolution;
408
415
  }
409
416
  if (attemptedApiResolve) {
410
417
  logger.debug("resolveFile not found after pre-index API search", {
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.1.174";
1
+ export declare const VERSION = "0.1.175";
2
2
  //# sourceMappingURL=version-constant.d.ts.map
@@ -1,3 +1,3 @@
1
1
  // Keep in sync with deno.json version.
2
2
  // scripts/release.ts updates this constant during releases.
3
- export const VERSION = "0.1.174";
3
+ export const VERSION = "0.1.175";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "veryfront",
3
- "version": "0.1.174",
3
+ "version": "0.1.175",
4
4
  "description": "The simplest way to build AI-powered apps",
5
5
  "keywords": [
6
6
  "react",
package/src/deno.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.174",
3
+ "version": "0.1.175",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "exclude": [
@@ -390,6 +390,67 @@ export class StatOperations extends VeryfrontOperationsBase {
390
390
  return Array.isArray(files) && files.length > 0;
391
391
  }
392
392
 
393
+ private resolveFromIndex(
394
+ fileIdx: Map<string, ProjectFile>,
395
+ normalizedPath: string,
396
+ options: ResolveFileOptions | undefined,
397
+ indexMs: number,
398
+ resolveStart: number,
399
+ ): string | null {
400
+ if (fileIdx.has(normalizedPath)) {
401
+ const totalMs = Math.round(performance.now() - resolveStart);
402
+ logger.debug("resolveFile exact match found", {
403
+ normalizedPath,
404
+ indexMs,
405
+ totalMs,
406
+ });
407
+ return normalizedPath;
408
+ }
409
+
410
+ const pathWithoutExt = stripKnownExtension(normalizedPath, EXTENSION_PRIORITY);
411
+
412
+ const resolvedDirect = resolveByExtensionPriority(fileIdx, pathWithoutExt, EXTENSION_PRIORITY);
413
+ if (resolvedDirect) {
414
+ const totalMs = Math.round(performance.now() - resolveStart);
415
+ logger.debug("resolveFile found with extension", {
416
+ pathWithExt: resolvedDirect,
417
+ indexMs,
418
+ totalMs,
419
+ });
420
+ return resolvedDirect;
421
+ }
422
+
423
+ if (options?.allowPagesPrefix !== false && !pathWithoutExt.startsWith("pages/")) {
424
+ const resolvedPages = resolveByExtensionPriority(
425
+ fileIdx,
426
+ `pages/${pathWithoutExt}`,
427
+ EXTENSION_PRIORITY,
428
+ );
429
+ if (resolvedPages) {
430
+ const totalMs = Math.round(performance.now() - resolveStart);
431
+ logger.debug("resolveFile found with pages prefix", {
432
+ pathWithExt: resolvedPages,
433
+ indexMs,
434
+ totalMs,
435
+ });
436
+ return resolvedPages;
437
+ }
438
+ }
439
+
440
+ const indexPath = resolveIndexByExtensionPriority(fileIdx, pathWithoutExt, EXTENSION_PRIORITY);
441
+ if (indexPath) {
442
+ const totalMs = Math.round(performance.now() - resolveStart);
443
+ logger.debug("resolveFile found index file", {
444
+ indexPath,
445
+ indexMs,
446
+ totalMs,
447
+ });
448
+ return indexPath;
449
+ }
450
+
451
+ return null;
452
+ }
453
+
393
454
  async exists(path: string): Promise<boolean> {
394
455
  const normalizedPath = this.normalizer.normalize(path);
395
456
  try {
@@ -453,55 +514,15 @@ export class StatOperations extends VeryfrontOperationsBase {
453
514
  return null;
454
515
  }
455
516
 
456
- if (fileIdx.has(normalizedPath)) {
457
- const totalMs = Math.round(performance.now() - resolveStart);
458
- logger.debug("resolveFile exact match found", {
459
- normalizedPath,
460
- indexMs,
461
- totalMs,
462
- });
463
- return normalizedPath;
464
- }
465
-
466
- const pathWithoutExt = stripKnownExtension(normalizedPath, EXTENSION_PRIORITY);
467
-
468
- const resolvedDirect = resolveByExtensionPriority(fileIdx, pathWithoutExt, EXTENSION_PRIORITY);
469
- if (resolvedDirect) {
470
- const totalMs = Math.round(performance.now() - resolveStart);
471
- logger.debug("resolveFile found with extension", {
472
- pathWithExt: resolvedDirect,
473
- indexMs,
474
- totalMs,
475
- });
476
- return resolvedDirect;
477
- }
478
-
479
- if (options?.allowPagesPrefix !== false && !pathWithoutExt.startsWith("pages/")) {
480
- const resolvedPages = resolveByExtensionPriority(
481
- fileIdx,
482
- `pages/${pathWithoutExt}`,
483
- EXTENSION_PRIORITY,
484
- );
485
- if (resolvedPages) {
486
- const totalMs = Math.round(performance.now() - resolveStart);
487
- logger.debug("resolveFile found with pages prefix", {
488
- pathWithExt: resolvedPages,
489
- indexMs,
490
- totalMs,
491
- });
492
- return resolvedPages;
493
- }
494
- }
495
-
496
- const indexPath = resolveIndexByExtensionPriority(fileIdx, pathWithoutExt, EXTENSION_PRIORITY);
497
- if (indexPath) {
498
- const totalMs = Math.round(performance.now() - resolveStart);
499
- logger.debug("resolveFile found index file", {
500
- indexPath,
501
- indexMs,
502
- totalMs,
503
- });
504
- return indexPath;
517
+ const indexedResolution = this.resolveFromIndex(
518
+ fileIdx,
519
+ normalizedPath,
520
+ options,
521
+ indexMs,
522
+ resolveStart,
523
+ );
524
+ if (indexedResolution) {
525
+ return indexedResolution;
505
526
  }
506
527
 
507
528
  if (attemptedApiResolve) {
@@ -1,3 +1,3 @@
1
1
  // Keep in sync with deno.json version.
2
2
  // scripts/release.ts updates this constant during releases.
3
- export const VERSION = "0.1.174";
3
+ export const VERSION = "0.1.175";