a post-component library for building user-interfaces on the web.

Fix TypeScript errors for isolated declarations

tombl.dev c5e52406 8e654f1d

verified
+75 -68
+5 -4
scripts/test/main.ts
··· 1 1 import { createBirpc } from 'birpc' 2 + import type { ExecFileOptions } from 'node:child_process' 2 3 import { execFile } from 'node:child_process' 3 4 import * as fs from 'node:fs/promises' 4 5 import * as path from 'node:path' ··· 44 45 console.log(`Building ${commit}`) 45 46 46 47 // Create worktree for this commit 47 - await exec_file('git', ['worktree', 'add', temp_dir, commit], { stdio: 'inherit' }) 48 + await exec_file('git', ['worktree', 'add', temp_dir, commit], { stdio: 'inherit' } as ExecFileOptions) 48 49 49 50 // Install dependencies and build 50 - await exec_file('npm', ['install'], { stdio: 'inherit', cwd: temp_dir }) 51 - await exec_file('npm', ['run', 'build'], { stdio: 'inherit', cwd: temp_dir }) 51 + await exec_file('npm', ['install'], { stdio: 'inherit', cwd: temp_dir } as ExecFileOptions) 52 + await exec_file('npm', ['run', 'build'], { stdio: 'inherit', cwd: temp_dir } as ExecFileOptions) 52 53 53 54 console.log(`Completed building ${commit}`) 54 55 ··· 63 64 await Promise.all( 64 65 temp_dirs.map(async temp_dir => { 65 66 try { 66 - await exec_file('git', ['worktree', 'remove', temp_dir], { stdio: 'inherit' }) 67 + await exec_file('git', ['worktree', 'remove', temp_dir], { stdio: 'inherit' } as ExecFileOptions) 67 68 } catch (error) { 68 69 console.warn(`Failed to remove worktree ${temp_dir}:`, error) 69 70 }
+11 -5
scripts/test/runtime.ts
··· 43 43 return benchmarks 44 44 } else { 45 45 // Multiple builds - comparison mode 46 - const libraries = [] 46 + const libraries: Array<{ 47 + index: { html: any } 48 + client: { invalidate: any; createRoot: any } 49 + server: any 50 + ref: string 51 + }> = [] 47 52 48 53 // Dynamically import all library versions 49 54 for (const build of builds) { ··· 63 68 } 64 69 } 65 70 66 - // Import get_benchmarks function 67 - const benchModule = await import('../../../src/client/tests/bench-comparison.ts') 68 - const get_benchmarks = benchModule.get_benchmarks 71 + // Import get_benchmarks function dynamically 72 + const benchPath = '../../../src/client/tests/bench-comparison.ts' 73 + const benchModule = (await import(benchPath)) as any 74 + const get_benchmarks = benchModule.get_benchmarks as Function 69 75 70 76 // Setup mitata comparison 71 77 mitata.summary(() => { ··· 74 80 const benchmarks = get_benchmarks(lib) 75 81 // Run all benchmark functions 76 82 for (const [name, fn] of Object.entries(benchmarks)) { 77 - if (name.startsWith('bench_')) { 83 + if (name.startsWith('bench_') && typeof fn === 'function') { 78 84 fn() 79 85 } 80 86 }
+59 -59
src/client/tests/bench-comparison.ts
··· 4 4 }: { 5 5 index: { html: any } 6 6 client: { invalidate: any; createRoot: any } 7 - }) { 7 + }): Record<string, () => void> { 8 8 // Setup function using the passed library version 9 9 function setup(initial_html = '') { 10 10 const el = document.createElement('div') ··· 413 413 // Benchmark Functions 414 414 // ============================== 415 415 416 - function bench_table_small_render() { 416 + function bench_table_small_render(): void { 417 417 const { root } = setup() 418 418 const state = new TableState(15, 4) 419 419 root.render(state) 420 420 } 421 421 422 - function bench_table_small_removeAll() { 422 + function bench_table_small_removeAll(): void { 423 423 const { root } = setup() 424 424 const state = new TableState(15, 4) 425 425 root.render(state) ··· 427 427 invalidate(state) 428 428 } 429 429 430 - function bench_table_small_sort() { 430 + function bench_table_small_sort(): void { 431 431 const { root } = setup() 432 432 const state = new TableState(15, 4) 433 433 root.render(state) ··· 435 435 invalidate(state) 436 436 } 437 437 438 - function bench_table_small_filter() { 438 + function bench_table_small_filter(): void { 439 439 const { root } = setup() 440 440 const state = new TableState(15, 4) 441 441 root.render(state) ··· 443 443 invalidate(state) 444 444 } 445 445 446 - function bench_table_small_activate() { 446 + function bench_table_small_activate(): void { 447 447 const { root } = setup() 448 448 const state = new TableState(15, 4) 449 449 root.render(state) ··· 451 451 invalidate(state) 452 452 } 453 453 454 - function bench_table_large_render() { 454 + function bench_table_large_render(): void { 455 455 const { root } = setup() 456 456 const state = new TableState(100, 4) 457 457 root.render(state) 458 458 } 459 459 460 - function bench_table_large_removeAll() { 460 + function bench_table_large_removeAll(): void { 461 461 const { root } = setup() 462 462 const state = new TableState(100, 4) 463 463 root.render(state) ··· 465 465 invalidate(state) 466 466 } 467 467 468 - function bench_table_large_sort() { 468 + function bench_table_large_sort(): void { 469 469 const { root } = setup() 470 470 const state = new TableState(100, 4) 471 471 root.render(state) ··· 473 473 invalidate(state) 474 474 } 475 475 476 - function bench_table_large_filter() { 476 + function bench_table_large_filter(): void { 477 477 const { root } = setup() 478 478 const state = new TableState(100, 4) 479 479 root.render(state) ··· 481 481 invalidate(state) 482 482 } 483 483 484 - function bench_table_large_activate() { 484 + function bench_table_large_activate(): void { 485 485 const { root } = setup() 486 486 const state = new TableState(100, 4) 487 487 root.render(state) ··· 489 489 invalidate(state) 490 490 } 491 491 492 - function bench_anim_small_advance() { 492 + function bench_anim_small_advance(): void { 493 493 const { root } = setup() 494 494 const state = new AnimState(30) 495 495 root.render(state) ··· 497 497 invalidate(state) 498 498 } 499 499 500 - function bench_anim_large_advance() { 500 + function bench_anim_large_advance(): void { 501 501 const { root } = setup() 502 502 const state = new AnimState(100) 503 503 root.render(state) ··· 505 505 invalidate(state) 506 506 } 507 507 508 - function bench_tree_small_render() { 508 + function bench_tree_small_render(): void { 509 509 const { root } = setup() 510 510 const state = new TreeState([5, 10]) 511 511 root.render(state) 512 512 } 513 513 514 - function bench_tree_small_removeAll() { 514 + function bench_tree_small_removeAll(): void { 515 515 const { root } = setup() 516 516 const state = new TreeState([5, 10]) 517 517 root.render(state) ··· 519 519 invalidate(state) 520 520 } 521 521 522 - function bench_tree_small_reverse() { 522 + function bench_tree_small_reverse(): void { 523 523 const { root } = setup() 524 524 const state = new TreeState([5, 10]) 525 525 root.render(state) ··· 527 527 invalidate(state) 528 528 } 529 529 530 - function bench_tree_small_insertFirst() { 530 + function bench_tree_small_insertFirst(): void { 531 531 const { root } = setup() 532 532 const state = new TreeState([5, 10]) 533 533 root.render(state) ··· 535 535 invalidate(state) 536 536 } 537 537 538 - function bench_tree_small_insertLast() { 538 + function bench_tree_small_insertLast(): void { 539 539 const { root } = setup() 540 540 const state = new TreeState([5, 10]) 541 541 root.render(state) ··· 543 543 invalidate(state) 544 544 } 545 545 546 - function bench_tree_small_removeFirst() { 546 + function bench_tree_small_removeFirst(): void { 547 547 const { root } = setup() 548 548 const state = new TreeState([5, 10]) 549 549 root.render(state) ··· 551 551 invalidate(state) 552 552 } 553 553 554 - function bench_tree_small_removeLast() { 554 + function bench_tree_small_removeLast(): void { 555 555 const { root } = setup() 556 556 const state = new TreeState([5, 10]) 557 557 root.render(state) ··· 559 559 invalidate(state) 560 560 } 561 561 562 - function bench_tree_small_moveFromEndToStart() { 562 + function bench_tree_small_moveFromEndToStart(): void { 563 563 const { root } = setup() 564 564 const state = new TreeState([5, 10]) 565 565 root.render(state) ··· 567 567 invalidate(state) 568 568 } 569 569 570 - function bench_tree_small_moveFromStartToEnd() { 570 + function bench_tree_small_moveFromStartToEnd(): void { 571 571 const { root } = setup() 572 572 const state = new TreeState([5, 10]) 573 573 root.render(state) ··· 575 575 invalidate(state) 576 576 } 577 577 578 - function bench_tree_small_no_change() { 578 + function bench_tree_small_no_change(): void { 579 579 const { root } = setup() 580 580 const state = new TreeState([5, 10]) 581 581 root.render(state) 582 582 invalidate(state) 583 583 } 584 584 585 - function bench_tree_large_render() { 585 + function bench_tree_large_render(): void { 586 586 const { root } = setup() 587 587 const state = new TreeState([50, 10]) 588 588 root.render(state) 589 589 } 590 590 591 - function bench_tree_large_removeAll() { 591 + function bench_tree_large_removeAll(): void { 592 592 const { root } = setup() 593 593 const state = new TreeState([50, 10]) 594 594 root.render(state) ··· 596 596 invalidate(state) 597 597 } 598 598 599 - function bench_tree_large_reverse() { 599 + function bench_tree_large_reverse(): void { 600 600 const { root } = setup() 601 601 const state = new TreeState([50, 10]) 602 602 root.render(state) ··· 604 604 invalidate(state) 605 605 } 606 606 607 - function bench_tree_worst_case_kivi() { 607 + function bench_tree_worst_case_kivi(): void { 608 608 const { root } = setup() 609 609 const state = new TreeState([10, 10]) 610 610 root.render(state) ··· 612 612 invalidate(state) 613 613 } 614 614 615 - function bench_tree_worst_case_snabbdom() { 615 + function bench_tree_worst_case_snabbdom(): void { 616 616 const { root } = setup() 617 617 const state = new TreeState([10, 10]) 618 618 root.render(state) ··· 620 620 invalidate(state) 621 621 } 622 622 623 - function bench_tree_worst_case_react() { 623 + function bench_tree_worst_case_react(): void { 624 624 const { root } = setup() 625 625 const state = new TreeState([10, 10]) 626 626 root.render(state) ··· 628 628 invalidate(state) 629 629 } 630 630 631 - function bench_tree_worst_case_virtual_dom() { 631 + function bench_tree_worst_case_virtual_dom(): void { 632 632 const { root } = setup() 633 633 const state = new TreeState([10, 10]) 634 634 root.render(state) ··· 637 637 } 638 638 639 639 return { 640 - bench_table_small_render, 641 - bench_table_small_removeAll, 642 - bench_table_small_sort, 643 - bench_table_small_filter, 644 - bench_table_small_activate, 645 - bench_table_large_render, 646 - bench_table_large_removeAll, 647 - bench_table_large_sort, 648 - bench_table_large_filter, 649 - bench_table_large_activate, 650 - bench_anim_small_advance, 651 - bench_anim_large_advance, 652 - bench_tree_small_render, 653 - bench_tree_small_removeAll, 654 - bench_tree_small_reverse, 655 - bench_tree_small_insertFirst, 656 - bench_tree_small_insertLast, 657 - bench_tree_small_removeFirst, 658 - bench_tree_small_removeLast, 659 - bench_tree_small_moveFromEndToStart, 660 - bench_tree_small_moveFromStartToEnd, 661 - bench_tree_small_no_change, 662 - bench_tree_large_render, 663 - bench_tree_large_removeAll, 664 - bench_tree_large_reverse, 665 - bench_tree_worst_case_kivi, 666 - bench_tree_worst_case_snabbdom, 667 - bench_tree_worst_case_react, 668 - bench_tree_worst_case_virtual_dom, 640 + bench_table_small_render: bench_table_small_render, 641 + bench_table_small_removeAll: bench_table_small_removeAll, 642 + bench_table_small_sort: bench_table_small_sort, 643 + bench_table_small_filter: bench_table_small_filter, 644 + bench_table_small_activate: bench_table_small_activate, 645 + bench_table_large_render: bench_table_large_render, 646 + bench_table_large_removeAll: bench_table_large_removeAll, 647 + bench_table_large_sort: bench_table_large_sort, 648 + bench_table_large_filter: bench_table_large_filter, 649 + bench_table_large_activate: bench_table_large_activate, 650 + bench_anim_small_advance: bench_anim_small_advance, 651 + bench_anim_large_advance: bench_anim_large_advance, 652 + bench_tree_small_render: bench_tree_small_render, 653 + bench_tree_small_removeAll: bench_tree_small_removeAll, 654 + bench_tree_small_reverse: bench_tree_small_reverse, 655 + bench_tree_small_insertFirst: bench_tree_small_insertFirst, 656 + bench_tree_small_insertLast: bench_tree_small_insertLast, 657 + bench_tree_small_removeFirst: bench_tree_small_removeFirst, 658 + bench_tree_small_removeLast: bench_tree_small_removeLast, 659 + bench_tree_small_moveFromEndToStart: bench_tree_small_moveFromEndToStart, 660 + bench_tree_small_moveFromStartToEnd: bench_tree_small_moveFromStartToEnd, 661 + bench_tree_small_no_change: bench_tree_small_no_change, 662 + bench_tree_large_render: bench_tree_large_render, 663 + bench_tree_large_removeAll: bench_tree_large_removeAll, 664 + bench_tree_large_reverse: bench_tree_large_reverse, 665 + bench_tree_worst_case_kivi: bench_tree_worst_case_kivi, 666 + bench_tree_worst_case_snabbdom: bench_tree_worst_case_snabbdom, 667 + bench_tree_worst_case_react: bench_tree_worst_case_react, 668 + bench_tree_worst_case_virtual_dom: bench_tree_worst_case_virtual_dom, 669 669 } 670 670 }