diff --git a/packages/core/dev/keypress-debug-renderer.ts b/packages/core/dev/keypress-debug-renderer.ts index 52e2ec97b..3cabc0ee0 100755 --- a/packages/core/dev/keypress-debug-renderer.ts +++ b/packages/core/dev/keypress-debug-renderer.ts @@ -1,8 +1,8 @@ #!/usr/bin/env bun -import { BoxRenderable, type CliRenderer, createCliRenderer, CodeRenderable, addDefaultParsers } from "../src/index" -import { ScrollBoxRenderable } from "../src/renderables/ScrollBox" -import { SyntaxStyle } from "../src/syntax-style" -import { parseColor } from "../src/lib/RGBA" +import { BoxRenderable, type CliRenderer, createCliRenderer, CodeRenderable, addDefaultParsers } from "../src/index.js" +import { ScrollBoxRenderable } from "../src/renderables/ScrollBox.js" +import { SyntaxStyle } from "../src/syntax-style.js" +import { parseColor } from "../src/lib/RGBA.js" const parsers = [ { diff --git a/packages/core/dev/print-env-vars.ts b/packages/core/dev/print-env-vars.ts index 09135c9f0..50e3f1623 100755 --- a/packages/core/dev/print-env-vars.ts +++ b/packages/core/dev/print-env-vars.ts @@ -9,7 +9,7 @@ * bun dev/print-env-vars.ts --update # Update docs/env-vars.md */ -import { generateEnvColored, generateEnvMarkdown } from "../src/index" +import { generateEnvColored, generateEnvMarkdown } from "../src/index.js" import { join } from "path" const args = process.argv.slice(2) diff --git a/packages/core/dev/thai-debug-test.ts b/packages/core/dev/thai-debug-test.ts index 55a184303..d1c544908 100644 --- a/packages/core/dev/thai-debug-test.ts +++ b/packages/core/dev/thai-debug-test.ts @@ -1,6 +1,6 @@ #!/usr/bin/env bun -import { TextRenderable, createCliRenderer } from "../src/index" -import { ScrollBoxRenderable } from "../src/renderables/ScrollBox" +import { TextRenderable, createCliRenderer } from "../src/index.js" +import { ScrollBoxRenderable } from "../src/renderables/ScrollBox.js" async function main() { const renderer = await createCliRenderer({ exitOnCtrlC: true }) console.log("capabilities:", renderer.capabilities) diff --git a/packages/core/src/3d.ts b/packages/core/src/3d.ts index f388e4fda..ab5bea528 100644 --- a/packages/core/src/3d.ts +++ b/packages/core/src/3d.ts @@ -1,3 +1,3 @@ // 3D module exports - requires optional dependencies -export * from "./3d/index" +export * from "./3d/index.js" export * as THREE from "three" diff --git a/packages/core/src/3d/SpriteResourceManager.ts b/packages/core/src/3d/SpriteResourceManager.ts index 2f94dcf12..151627d48 100644 --- a/packages/core/src/3d/SpriteResourceManager.ts +++ b/packages/core/src/3d/SpriteResourceManager.ts @@ -1,5 +1,5 @@ import * as THREE from "three" -import { TextureUtils } from "./TextureUtils" +import { TextureUtils } from "./TextureUtils.js" import type { Scene } from "three" export interface ResourceConfig { diff --git a/packages/core/src/3d/SpriteUtils.ts b/packages/core/src/3d/SpriteUtils.ts index 0c905ed8f..05f26b6dc 100644 --- a/packages/core/src/3d/SpriteUtils.ts +++ b/packages/core/src/3d/SpriteUtils.ts @@ -1,4 +1,4 @@ -import { TextureUtils } from "./TextureUtils" +import { TextureUtils } from "./TextureUtils.js" import { Sprite, SpriteMaterial, DataTexture, type SpriteMaterialParameters } from "three" export class SheetSprite extends Sprite { diff --git a/packages/core/src/3d/ThreeRenderable.ts b/packages/core/src/3d/ThreeRenderable.ts index b80367e78..965de18c6 100644 --- a/packages/core/src/3d/ThreeRenderable.ts +++ b/packages/core/src/3d/ThreeRenderable.ts @@ -1,11 +1,11 @@ import { OrthographicCamera, PerspectiveCamera, Scene } from "three" -import { OptimizedBuffer } from "../buffer" -import { RGBA } from "../lib/RGBA" -import { Renderable, type RenderableOptions } from "../Renderable" -import type { CliRenderer } from "../renderer" -import type { RenderContext } from "../types" -import { ThreeCliRenderer, type ThreeCliRendererOptions } from "./WGPURenderer" +import { OptimizedBuffer } from "../buffer.js" +import { RGBA } from "../lib/RGBA.js" +import { Renderable, type RenderableOptions } from "../Renderable.js" +import type { CliRenderer } from "../renderer.js" +import type { RenderContext } from "../types.js" +import { ThreeCliRenderer, type ThreeCliRendererOptions } from "./WGPURenderer.js" export interface ThreeRenderableOptions extends RenderableOptions { scene?: Scene | null diff --git a/packages/core/src/3d/WGPURenderer.ts b/packages/core/src/3d/WGPURenderer.ts index 51c63d56c..068ef48b8 100644 --- a/packages/core/src/3d/WGPURenderer.ts +++ b/packages/core/src/3d/WGPURenderer.ts @@ -1,10 +1,10 @@ import { PerspectiveCamera, OrthographicCamera, Color, NoToneMapping, LinearSRGBColorSpace, Scene } from "three" import { WebGPURenderer } from "three/webgpu" -import type { OptimizedBuffer } from "../buffer" -import { RGBA } from "../lib/RGBA" +import type { OptimizedBuffer } from "../buffer.js" +import { RGBA } from "../lib/RGBA.js" import { createWebGPUDevice, setupGlobals } from "bun-webgpu" -import { CLICanvas, SuperSampleAlgorithm } from "./canvas" -import { CliRenderEvents, type CliRenderer } from "../renderer" +import { CLICanvas, SuperSampleAlgorithm } from "./canvas.js" +import { CliRenderEvents, type CliRenderer } from "../renderer.js" export enum SuperSampleType { NONE = "none", diff --git a/packages/core/src/3d/animation/ExplodingSpriteEffect.ts b/packages/core/src/3d/animation/ExplodingSpriteEffect.ts index 149e6f7e7..2335c22ee 100644 --- a/packages/core/src/3d/animation/ExplodingSpriteEffect.ts +++ b/packages/core/src/3d/animation/ExplodingSpriteEffect.ts @@ -16,8 +16,8 @@ import { mat3, } from "three/tsl" import { MeshBasicNodeMaterial, NodeMaterial } from "three/webgpu" -import type { TiledSprite, SpriteDefinition, SpriteAnimator } from "./SpriteAnimator" -import type { SpriteResource } from "../SpriteResourceManager" +import type { TiledSprite, SpriteDefinition, SpriteAnimator } from "./SpriteAnimator.js" +import type { SpriteResource } from "../SpriteResourceManager.js" export interface ExplosionEffectParameters { numRows: number diff --git a/packages/core/src/3d/animation/PhysicsExplodingSpriteEffect.ts b/packages/core/src/3d/animation/PhysicsExplodingSpriteEffect.ts index 471f70885..a794ee764 100644 --- a/packages/core/src/3d/animation/PhysicsExplodingSpriteEffect.ts +++ b/packages/core/src/3d/animation/PhysicsExplodingSpriteEffect.ts @@ -1,15 +1,15 @@ import * as THREE from "three" import { texture as tslTexture, uv, vec2, attribute } from "three/tsl" import { MeshBasicNodeMaterial, NodeMaterial } from "three/webgpu" -import type { TiledSprite, SpriteDefinition, SpriteAnimator } from "./SpriteAnimator" +import type { TiledSprite, SpriteDefinition, SpriteAnimator } from "./SpriteAnimator.js" import type { PhysicsRigidBody, PhysicsWorld, PhysicsRigidBodyDesc, PhysicsColliderDesc, PhysicsVector2, -} from "../physics/physics-interface" -import type { SpriteResource } from "../SpriteResourceManager" +} from "../physics/physics-interface.js" +import type { SpriteResource } from "../SpriteResourceManager.js" export interface PhysicsExplosionEffectParameters { numRows: number diff --git a/packages/core/src/3d/animation/SpriteAnimator.ts b/packages/core/src/3d/animation/SpriteAnimator.ts index 32ad58c66..ed81e22dc 100644 --- a/packages/core/src/3d/animation/SpriteAnimator.ts +++ b/packages/core/src/3d/animation/SpriteAnimator.ts @@ -2,7 +2,7 @@ import * as THREE from "three" import { uniform, texture as tslTexture, uv, float, vec2, bufferAttribute, mix } from "three/tsl" import { MeshBasicNodeMaterial, NodeMaterial } from "three/webgpu" import type { Scene } from "three" -import { type SpriteResource, InstanceManager } from "../SpriteResourceManager" +import { type SpriteResource, InstanceManager } from "../SpriteResourceManager.js" export interface AnimationStateConfig { imagePath: string diff --git a/packages/core/src/3d/animation/SpriteParticleGenerator.ts b/packages/core/src/3d/animation/SpriteParticleGenerator.ts index a5053a890..c5e14bfe3 100644 --- a/packages/core/src/3d/animation/SpriteParticleGenerator.ts +++ b/packages/core/src/3d/animation/SpriteParticleGenerator.ts @@ -19,7 +19,7 @@ import { mod, } from "three/tsl" import { MeshBasicNodeMaterial, NodeMaterial } from "three/webgpu" -import type { SpriteResource, InstanceManager } from "../SpriteResourceManager" +import type { SpriteResource, InstanceManager } from "../SpriteResourceManager.js" export interface ParticleEffectParameters { resource: SpriteResource diff --git a/packages/core/src/3d/canvas.ts b/packages/core/src/3d/canvas.ts index fd9db44d1..be1507d99 100644 --- a/packages/core/src/3d/canvas.ts +++ b/packages/core/src/3d/canvas.ts @@ -1,7 +1,7 @@ import { GPUCanvasContextMock } from "bun-webgpu" -import { RGBA } from "../lib/RGBA" -import { SuperSampleType } from "./WGPURenderer" -import type { OptimizedBuffer } from "../buffer" +import { RGBA } from "../lib/RGBA.js" +import { SuperSampleType } from "./WGPURenderer.js" +import type { OptimizedBuffer } from "../buffer.js" import { toArrayBuffer } from "bun:ffi" import { Jimp } from "jimp" diff --git a/packages/core/src/3d/index.ts b/packages/core/src/3d/index.ts index c2139f059..3f69276a6 100644 --- a/packages/core/src/3d/index.ts +++ b/packages/core/src/3d/index.ts @@ -1,12 +1,12 @@ -export * from "./WGPURenderer" -export * from "./ThreeRenderable" -export * from "./TextureUtils" -export * from "./canvas" -export * from "./SpriteUtils" -export * from "./animation/SpriteAnimator" -export * from "./animation/ExplodingSpriteEffect" -export * from "./animation/SpriteParticleGenerator" -export * from "./animation/PhysicsExplodingSpriteEffect" -export * from "./physics/RapierPhysicsAdapter" -export * from "./physics/PlanckPhysicsAdapter" -export * from "./SpriteResourceManager" +export * from "./WGPURenderer.js" +export * from "./ThreeRenderable.js" +export * from "./TextureUtils.js" +export * from "./canvas.js" +export * from "./SpriteUtils.js" +export * from "./animation/SpriteAnimator.js" +export * from "./animation/ExplodingSpriteEffect.js" +export * from "./animation/SpriteParticleGenerator.js" +export * from "./animation/PhysicsExplodingSpriteEffect.js" +export * from "./physics/RapierPhysicsAdapter.js" +export * from "./physics/PlanckPhysicsAdapter.js" +export * from "./SpriteResourceManager.js" diff --git a/packages/core/src/3d/physics/PlanckPhysicsAdapter.ts b/packages/core/src/3d/physics/PlanckPhysicsAdapter.ts index 3bb80149f..55669d205 100644 --- a/packages/core/src/3d/physics/PlanckPhysicsAdapter.ts +++ b/packages/core/src/3d/physics/PlanckPhysicsAdapter.ts @@ -5,7 +5,7 @@ import type { PhysicsColliderDesc, PhysicsRigidBody, PhysicsWorld, -} from "./physics-interface" +} from "./physics-interface.js" export class PlanckRigidBody implements PhysicsRigidBody { constructor(private planckBody: planck.Body) {} diff --git a/packages/core/src/3d/physics/RapierPhysicsAdapter.ts b/packages/core/src/3d/physics/RapierPhysicsAdapter.ts index 812866c08..7598e8445 100644 --- a/packages/core/src/3d/physics/RapierPhysicsAdapter.ts +++ b/packages/core/src/3d/physics/RapierPhysicsAdapter.ts @@ -5,7 +5,7 @@ import type { PhysicsColliderDesc, PhysicsRigidBody, PhysicsWorld, -} from "./physics-interface" +} from "./physics-interface.js" export class RapierRigidBody implements PhysicsRigidBody { constructor(private rapierBody: RAPIER.RigidBody) {} diff --git a/packages/core/src/Renderable.ts b/packages/core/src/Renderable.ts index 28dcfd389..705a91a4f 100644 --- a/packages/core/src/Renderable.ts +++ b/packages/core/src/Renderable.ts @@ -1,9 +1,9 @@ import { EventEmitter } from "events" import Yoga, { Direction, Display, Edge, FlexDirection, type Config, type Node as YogaNode } from "yoga-layout" -import { OptimizedBuffer } from "./buffer" -import type { KeyEvent, PasteEvent } from "./lib/KeyHandler" -import type { MouseEventType } from "./lib/parse.mouse" -import type { Selection } from "./lib/selection" +import { OptimizedBuffer } from "./buffer.js" +import type { KeyEvent, PasteEvent } from "./lib/KeyHandler.js" +import type { MouseEventType } from "./lib/parse.mouse.js" +import type { Selection } from "./lib/selection.js" import { parseAlign, parseAlignItems, @@ -18,10 +18,10 @@ import { type OverflowString, type PositionTypeString, type WrapString, -} from "./lib/yoga.options" -import { maybeMakeRenderable, type VNode } from "./renderables/composition/vnode" -import type { MouseEvent } from "./renderer" -import type { RenderContext } from "./types" +} from "./lib/yoga.options.js" +import { maybeMakeRenderable, type VNode } from "./renderables/composition/vnode.js" +import type { MouseEvent } from "./renderer.js" +import type { RenderContext } from "./types.js" import { validateOptions, isPositionType, @@ -32,7 +32,7 @@ import { isPaddingType, isPositionTypeType, isOverflowType, -} from "./lib/renderable.validations" +} from "./lib/renderable.validations.js" const BrandedRenderable: unique symbol = Symbol.for("@opentui/core/Renderable") diff --git a/packages/core/src/animation/Timeline.test.ts b/packages/core/src/animation/Timeline.test.ts index d6bac9110..6cfea1719 100644 --- a/packages/core/src/animation/Timeline.test.ts +++ b/packages/core/src/animation/Timeline.test.ts @@ -1,5 +1,5 @@ import { expect, describe, it, beforeEach, afterEach } from "bun:test" -import { createTimeline, Timeline, type JSAnimation, engine, type EasingFunctions } from "./Timeline" +import { createTimeline, Timeline, type JSAnimation, engine, type EasingFunctions } from "./Timeline.js" describe("Timeline", () => { let timeline: Timeline diff --git a/packages/core/src/animation/Timeline.ts b/packages/core/src/animation/Timeline.ts index 3931e8c1b..78d337c25 100644 --- a/packages/core/src/animation/Timeline.ts +++ b/packages/core/src/animation/Timeline.ts @@ -1,4 +1,4 @@ -import type { CliRenderer } from "../renderer" +import type { CliRenderer } from "../renderer.js" export interface TimelineOptions { duration?: number diff --git a/packages/core/src/benchmark/renderer-benchmark.ts b/packages/core/src/benchmark/renderer-benchmark.ts index 8fd8fdbef..7ad30f344 100644 --- a/packages/core/src/benchmark/renderer-benchmark.ts +++ b/packages/core/src/benchmark/renderer-benchmark.ts @@ -1,8 +1,8 @@ #!/usr/bin/env bun -import { createCliRenderer, RGBA, TextRenderable, BoxRenderable, FrameBufferRenderable } from "../index" -import { ThreeCliRenderer } from "../3d/WGPURenderer" -import { TextureUtils } from "../3d/TextureUtils" +import { createCliRenderer, RGBA, TextRenderable, BoxRenderable, FrameBufferRenderable } from "../index.js" +import { ThreeCliRenderer } from "../3d/WGPURenderer.js" +import { TextureUtils } from "../3d/TextureUtils.js" import { Scene as ThreeScene, Mesh as ThreeMesh, diff --git a/packages/core/src/buffer.test.ts b/packages/core/src/buffer.test.ts index c3ebba45f..5273d8511 100644 --- a/packages/core/src/buffer.test.ts +++ b/packages/core/src/buffer.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { OptimizedBuffer } from "./buffer" -import { RGBA } from "./lib/RGBA" +import { OptimizedBuffer } from "./buffer.js" +import { RGBA } from "./lib/RGBA.js" describe("OptimizedBuffer", () => { let buffer: OptimizedBuffer diff --git a/packages/core/src/buffer.ts b/packages/core/src/buffer.ts index a3f69cce3..a5cc41f80 100644 --- a/packages/core/src/buffer.ts +++ b/packages/core/src/buffer.ts @@ -1,11 +1,11 @@ -import type { TextBuffer } from "./text-buffer" -import { RGBA } from "./lib" -import { resolveRenderLib, type RenderLib } from "./zig" +import type { TextBuffer } from "./text-buffer.js" +import { RGBA } from "./lib/index.js" +import { resolveRenderLib, type RenderLib } from "./zig.js" import { type Pointer, toArrayBuffer, ptr } from "bun:ffi" -import { type BorderStyle, type BorderSides, BorderCharArrays, parseBorderStyle } from "./lib" -import { type WidthMethod, type CapturedSpan, type CapturedLine } from "./types" -import type { TextBufferView } from "./text-buffer-view" -import type { EditorView } from "./editor-view" +import { type BorderStyle, type BorderSides, BorderCharArrays, parseBorderStyle } from "./lib/index.js" +import { type WidthMethod, type CapturedSpan, type CapturedLine } from "./types.js" +import type { TextBufferView } from "./text-buffer-view.js" +import type { EditorView } from "./editor-view.js" // Pack drawing options into a single u32 // bits 0-3: borderSides, bit 4: shouldFill, bits 5-6: titleAlignment diff --git a/packages/core/src/console.test.ts b/packages/core/src/console.test.ts index 7570b784a..eb07f9c8d 100644 --- a/packages/core/src/console.test.ts +++ b/packages/core/src/console.test.ts @@ -1,6 +1,6 @@ import { test, expect, describe, mock, beforeEach } from "bun:test" -import { TerminalConsole, ConsolePosition } from "./console" -import { MouseEvent } from "./renderer" +import { TerminalConsole, ConsolePosition } from "./console.js" +import { MouseEvent } from "./renderer.js" interface MockRenderer { terminalWidth: number diff --git a/packages/core/src/console.ts b/packages/core/src/console.ts index 555516a31..2406dba11 100644 --- a/packages/core/src/console.ts +++ b/packages/core/src/console.ts @@ -3,13 +3,13 @@ import { Console } from "node:console" import fs from "node:fs" import path from "node:path" import util from "node:util" -import type { CliRenderer, ColorInput, MouseEvent } from "." -import { OptimizedBuffer } from "./buffer" -import { Capture, CapturedWritableStream } from "./lib/output.capture" -import { parseColor, RGBA } from "./lib/RGBA" -import { singleton } from "./lib/singleton" -import { env, registerEnvVar } from "./lib/env" -import type { KeyEvent } from "./lib/KeyHandler" +import type { CliRenderer, ColorInput, MouseEvent } from "./index.js" +import { OptimizedBuffer } from "./buffer.js" +import { Capture, CapturedWritableStream } from "./lib/output.capture.js" +import { parseColor, RGBA } from "./lib/RGBA.js" +import { singleton } from "./lib/singleton.js" +import { env, registerEnvVar } from "./lib/env.js" +import type { KeyEvent } from "./lib/KeyHandler.js" import { type KeyBinding as BaseKeyBinding, mergeKeyBindings, @@ -19,7 +19,7 @@ import { defaultKeyAliases, mergeKeyAliases, keyBindingToString, -} from "./lib/keymapping" +} from "./lib/keymapping.js" interface CallerInfo { functionName: string diff --git a/packages/core/src/edit-buffer.test.ts b/packages/core/src/edit-buffer.test.ts index 5661d0dd9..da35d2439 100644 --- a/packages/core/src/edit-buffer.test.ts +++ b/packages/core/src/edit-buffer.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { EditBuffer } from "./edit-buffer" +import { EditBuffer } from "./edit-buffer.js" describe("EditBuffer", () => { let buffer: EditBuffer diff --git a/packages/core/src/edit-buffer.ts b/packages/core/src/edit-buffer.ts index e1f23ce44..5be36e0a3 100644 --- a/packages/core/src/edit-buffer.ts +++ b/packages/core/src/edit-buffer.ts @@ -1,9 +1,9 @@ -import { resolveRenderLib, type LogicalCursor, type RenderLib } from "./zig" +import { resolveRenderLib, type LogicalCursor, type RenderLib } from "./zig.js" import { type Pointer } from "bun:ffi" -import { type WidthMethod, type Highlight } from "./types" -import { RGBA } from "./lib/RGBA" +import { type WidthMethod, type Highlight } from "./types.js" +import { RGBA } from "./lib/RGBA.js" import { EventEmitter } from "events" -import type { SyntaxStyle } from "./syntax-style" +import type { SyntaxStyle } from "./syntax-style.js" export type { LogicalCursor } diff --git a/packages/core/src/editor-view.test.ts b/packages/core/src/editor-view.test.ts index 247b14808..493620cf8 100644 --- a/packages/core/src/editor-view.test.ts +++ b/packages/core/src/editor-view.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { EditBuffer } from "./edit-buffer" -import { EditorView } from "./editor-view" -import { RGBA } from "./lib/RGBA" +import { EditBuffer } from "./edit-buffer.js" +import { EditorView } from "./editor-view.js" +import { RGBA } from "./lib/RGBA.js" describe("EditorView", () => { let buffer: EditBuffer diff --git a/packages/core/src/editor-view.ts b/packages/core/src/editor-view.ts index 8583a5818..90dc9d154 100644 --- a/packages/core/src/editor-view.ts +++ b/packages/core/src/editor-view.ts @@ -1,8 +1,8 @@ -import { RGBA } from "./lib/RGBA" -import { resolveRenderLib, type RenderLib, type VisualCursor, type LineInfo } from "./zig" +import { RGBA } from "./lib/RGBA.js" +import { resolveRenderLib, type RenderLib, type VisualCursor, type LineInfo } from "./zig.js" import { type Pointer } from "bun:ffi" -import type { EditBuffer } from "./edit-buffer" -import { createExtmarksController } from "./lib" +import type { EditBuffer } from "./edit-buffer.js" +import { createExtmarksController } from "./lib/index.js" export interface Viewport { offsetY: number diff --git a/packages/core/src/examples/ascii-font-selection-demo.ts b/packages/core/src/examples/ascii-font-selection-demo.ts index 115e01403..9785daafa 100644 --- a/packages/core/src/examples/ascii-font-selection-demo.ts +++ b/packages/core/src/examples/ascii-font-selection-demo.ts @@ -1,8 +1,8 @@ #!/usr/bin/env bun -import { CliRenderer, createCliRenderer, BoxRenderable, TextRenderable, RGBA } from ".." -import { ASCIIFontRenderable } from "../renderables/ASCIIFont" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +import { CliRenderer, createCliRenderer, BoxRenderable, TextRenderable, RGBA } from "../index.js" +import { ASCIIFontRenderable } from "../renderables/ASCIIFont.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" let mainContainer: BoxRenderable | null = null let fontGroup: BoxRenderable | null = null diff --git a/packages/core/src/examples/code-demo.ts b/packages/core/src/examples/code-demo.ts index e67efc899..9a12a8979 100644 --- a/packages/core/src/examples/code-demo.ts +++ b/packages/core/src/examples/code-demo.ts @@ -7,10 +7,10 @@ import { type ParsedKey, ScrollBoxRenderable, LineNumberRenderable, -} from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" -import { parseColor } from "../lib/RGBA" -import { SyntaxStyle } from "../syntax-style" +} from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" +import { parseColor } from "../lib/RGBA.js" +import { SyntaxStyle } from "../syntax-style.js" // Code examples to cycle through const examples = [ diff --git a/packages/core/src/examples/console-demo.ts b/packages/core/src/examples/console-demo.ts index 737191718..568a4e915 100644 --- a/packages/core/src/examples/console-demo.ts +++ b/packages/core/src/examples/console-demo.ts @@ -10,8 +10,8 @@ import { type MouseEvent, OptimizedBuffer, type RenderContext, -} from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +} from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" let titleText: TextRenderable | null = null let instructionsText: TextRenderable | null = null diff --git a/packages/core/src/examples/diff-demo.ts b/packages/core/src/examples/diff-demo.ts index 104a3c510..cfc89456d 100644 --- a/packages/core/src/examples/diff-demo.ts +++ b/packages/core/src/examples/diff-demo.ts @@ -1,7 +1,14 @@ -import { CliRenderer, createCliRenderer, DiffRenderable, BoxRenderable, TextRenderable, type ParsedKey } from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" -import { parseColor, type RGBA } from "../lib/RGBA" -import { SyntaxStyle } from "../syntax-style" +import { + CliRenderer, + createCliRenderer, + DiffRenderable, + BoxRenderable, + TextRenderable, + type ParsedKey, +} from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" +import { parseColor, type RGBA } from "../lib/RGBA.js" +import { SyntaxStyle } from "../syntax-style.js" interface DiffTheme { name: string @@ -261,11 +268,11 @@ const contentExamples: ContentExample[] = [ --- packages/core/src/examples/index.ts before +++ packages/core/src/examples/index.ts after @@ -56,6 +56,7 @@ - import * as terminalDemo from "./terminal" - import * as diffDemo from "./diff-demo" - import * as keypressDebugDemo from "./keypress-debug-demo" -+import * as textTruncationDemo from "./text-truncation-demo" - import { setupCommonDemoKeys } from "./lib/standalone-keys" + import * as terminalDemo from "./terminal.js" + import * as diffDemo from "./diff-demo.js" + import * as keypressDebugDemo from "./keypress-debug-demo.js" ++import * as textTruncationDemo from "./text-truncation-demo.js" + import { setupCommonDemoKeys } from "./lib/standalone-keys.js" interface Example { @@ -85,6 +86,12 @@ diff --git a/packages/core/src/examples/draggable-three-demo.ts b/packages/core/src/examples/draggable-three-demo.ts index 20e459426..0866d6a2d 100644 --- a/packages/core/src/examples/draggable-three-demo.ts +++ b/packages/core/src/examples/draggable-three-demo.ts @@ -8,8 +8,8 @@ import { TextRenderable, type KeyEvent, type MouseEvent, -} from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +} from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" import { Scene as ThreeScene, Mesh as ThreeMesh, @@ -21,7 +21,7 @@ import { MeshPhongMaterial, Vector3, } from "three" -import { ThreeRenderable } from "../3d" +import { ThreeRenderable } from "../3d.js" let nextZIndex = 200 let keyListener: ((key: KeyEvent) => void) | null = null diff --git a/packages/core/src/examples/editor-demo.ts b/packages/core/src/examples/editor-demo.ts index 3d6ca21a3..7549d6222 100644 --- a/packages/core/src/examples/editor-demo.ts +++ b/packages/core/src/examples/editor-demo.ts @@ -10,8 +10,8 @@ import { bold, cyan, fg, -} from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +} from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" const initialContent = `Welcome to the TextareaRenderable Demo! diff --git a/packages/core/src/examples/extmarks-demo.ts b/packages/core/src/examples/extmarks-demo.ts index e43977acd..2ce28819e 100644 --- a/packages/core/src/examples/extmarks-demo.ts +++ b/packages/core/src/examples/extmarks-demo.ts @@ -7,10 +7,10 @@ import { KeyEvent, type ExtmarksController, type ExtmarkDeletedEvent, -} from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" -import { SyntaxStyle } from "../syntax-style" -import { RGBA } from "../lib/RGBA" +} from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" +import { SyntaxStyle } from "../syntax-style.js" +import { RGBA } from "../lib/RGBA.js" const initialContent = `Welcome to the Extmarks Demo! diff --git a/packages/core/src/examples/fonts.ts b/packages/core/src/examples/fonts.ts index 2a5c34296..4e7569f96 100644 --- a/packages/core/src/examples/fonts.ts +++ b/packages/core/src/examples/fonts.ts @@ -6,9 +6,9 @@ import { RGBA, TextRenderable, type KeyEvent, -} from "../index" -import { renderFontToFrameBuffer } from "../lib/ascii.font" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +} from "../index.js" +import { renderFontToFrameBuffer } from "../lib/ascii.font.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" let scrollY = 0 let contentHeight = 56 diff --git a/packages/core/src/examples/fractal-shader-demo.ts b/packages/core/src/examples/fractal-shader-demo.ts index 02095229b..aa862c8b4 100644 --- a/packages/core/src/examples/fractal-shader-demo.ts +++ b/packages/core/src/examples/fractal-shader-demo.ts @@ -1,7 +1,7 @@ #!/usr/bin/env bun -import { BoxRenderable, CliRenderer, createCliRenderer, RGBA, TextRenderable, type KeyEvent } from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +import { BoxRenderable, CliRenderer, createCliRenderer, RGBA, TextRenderable, type KeyEvent } from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" import { Scene as ThreeScene, Mesh as ThreeMesh, PerspectiveCamera, PlaneGeometry, Vector2 } from "three" import { MeshBasicNodeMaterial } from "three/webgpu" import { @@ -21,7 +21,7 @@ import { Fn, int, } from "three/tsl" -import { ThreeCliRenderer } from "../3d" +import { ThreeCliRenderer } from "../3d.js" let engine: ThreeCliRenderer | null = null let sceneRoot: ThreeScene | null = null diff --git a/packages/core/src/examples/framebuffer-demo.ts b/packages/core/src/examples/framebuffer-demo.ts index 92fa9175a..5f61da1d9 100644 --- a/packages/core/src/examples/framebuffer-demo.ts +++ b/packages/core/src/examples/framebuffer-demo.ts @@ -9,8 +9,8 @@ import { FrameBufferRenderable, BoxRenderable, ASCIIFontRenderable, -} from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +} from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" /** * This demo showcases framebuffers with multiple diff --git a/packages/core/src/examples/full-unicode-demo.ts b/packages/core/src/examples/full-unicode-demo.ts index 6fc601f98..45f2a62c2 100644 --- a/packages/core/src/examples/full-unicode-demo.ts +++ b/packages/core/src/examples/full-unicode-demo.ts @@ -12,7 +12,7 @@ import { type CliRenderer, type RenderContext, BoxRenderable, -} from "../index" +} from "../index.js" const GRAPHEME_LINES: string[] = [ "๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ’ป ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ ๐Ÿณ๏ธโ€๐ŸŒˆ ๐Ÿ‡บ๐Ÿ‡ธ ๐Ÿ‡ฉ๐Ÿ‡ช ๐Ÿ‡ฏ๐Ÿ‡ต ๐Ÿ‡ฎ๐Ÿ‡ณ", diff --git a/packages/core/src/examples/golden-star-demo.ts b/packages/core/src/examples/golden-star-demo.ts index 456f4e587..67f1d8849 100644 --- a/packages/core/src/examples/golden-star-demo.ts +++ b/packages/core/src/examples/golden-star-demo.ts @@ -1,9 +1,9 @@ #!/usr/bin/env bun -import { createCliRenderer, CliRenderer, FrameBufferRenderable, BoxRenderable, OptimizedBuffer } from "../index" -import { RGBA } from "../lib" -import { ASCIIFontRenderable } from "../renderables/ASCIIFont" -import type { ASCIIFontName } from "../lib/ascii.font" +import { createCliRenderer, CliRenderer, FrameBufferRenderable, BoxRenderable, OptimizedBuffer } from "../index.js" +import { RGBA } from "../lib/index.js" +import { ASCIIFontRenderable } from "../renderables/ASCIIFont.js" +import type { ASCIIFontName } from "../lib/ascii.font.js" import { Scene as ThreeScene, Mesh as ThreeMesh, @@ -24,8 +24,8 @@ import { Quaternion, ConeGeometry, } from "three" -import { ThreeCliRenderer } from "../3d" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +import { ThreeCliRenderer } from "../3d.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" interface StarParticle { instanceIndex: number diff --git a/packages/core/src/examples/grayscale-buffer-demo.ts b/packages/core/src/examples/grayscale-buffer-demo.ts index f5905ef80..a0679aeaf 100644 --- a/packages/core/src/examples/grayscale-buffer-demo.ts +++ b/packages/core/src/examples/grayscale-buffer-demo.ts @@ -1,7 +1,14 @@ #!/usr/bin/env bun -import { CliRenderer, createCliRenderer, OptimizedBuffer, RGBA, FrameBufferRenderable, type KeyEvent } from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +import { + CliRenderer, + createCliRenderer, + OptimizedBuffer, + RGBA, + FrameBufferRenderable, + type KeyEvent, +} from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" let framebuffer: OptimizedBuffer | null = null let keyListener: ((key: KeyEvent) => void) | null = null diff --git a/packages/core/src/examples/hast-syntax-highlighting-demo.ts b/packages/core/src/examples/hast-syntax-highlighting-demo.ts index 18eb2b242..a456c1ede 100644 --- a/packages/core/src/examples/hast-syntax-highlighting-demo.ts +++ b/packages/core/src/examples/hast-syntax-highlighting-demo.ts @@ -1,8 +1,8 @@ -import { CliRenderer, createCliRenderer, TextRenderable, BoxRenderable, type KeyEvent } from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" -import { parseColor } from "../lib/RGBA" -import { hastToStyledText, type HASTElement } from "../lib/hast-styled-text" -import { SyntaxStyle } from "../syntax-style" +import { CliRenderer, createCliRenderer, TextRenderable, BoxRenderable, type KeyEvent } from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" +import { parseColor } from "../lib/RGBA.js" +import { hastToStyledText, type HASTElement } from "../lib/hast-styled-text.js" +import { SyntaxStyle } from "../syntax-style.js" const exampleHAST: HASTElement = (await import("./assets/hast-example.json", { with: { type: "json" } })) as HASTElement diff --git a/packages/core/src/examples/index.ts b/packages/core/src/examples/index.ts index 99747910b..e4dac40ff 100644 --- a/packages/core/src/examples/index.ts +++ b/packages/core/src/examples/index.ts @@ -13,60 +13,60 @@ import { type SelectOption, type KeyEvent, ASCIIFontRenderable, -} from "../index" -import { measureText } from "../lib/ascii.font" -import * as goldenStarDemo from "./golden-star-demo" -import * as boxExample from "./fonts" -import * as fractalShaderExample from "./fractal-shader-demo" -import * as framebufferExample from "./framebuffer-demo" -import * as lightsPhongExample from "./lights-phong-demo" -import * as physxPlanckExample from "./physx-planck-2d-demo" -import * as physxRapierExample from "./physx-rapier-2d-demo" -import * as opentuiDemo from "./opentui-demo" -import * as nestedZIndexDemo from "./nested-zindex-demo" -import * as relativePositioningDemo from "./relative-positioning-demo" -import * as transparencyDemo from "./transparency-demo" -import * as draggableThreeDemo from "./draggable-three-demo" -import * as scrollExample from "./scroll-example" -import * as stickyScrollExample from "./sticky-scroll-example" -import * as shaderCubeExample from "./shader-cube-demo" -import * as spriteAnimationExample from "./sprite-animation-demo" -import * as spriteParticleExample from "./sprite-particle-generator-demo" -import * as staticSpriteExample from "./static-sprite-demo" -import * as textureLoadingExample from "./texture-loading-demo" -import * as timelineExample from "./timeline-example" -import * as tabSelectExample from "./tab-select-demo" -import * as selectExample from "./select-demo" -import * as inputExample from "./input-demo" -import * as layoutExample from "./simple-layout-example" -import * as inputSelectLayoutExample from "./input-select-layout-demo" -import * as styledTextExample from "./styled-text-demo" -import * as mouseInteractionExample from "./mouse-interaction-demo" -import * as textSelectionExample from "./text-selection-demo" -import * as asciiFontSelectionExample from "./ascii-font-selection-demo" -import * as splitModeExample from "./split-mode-demo" -import * as consoleExample from "./console-demo" -import * as vnodeCompositionDemo from "./vnode-composition-demo" -import * as hastSyntaxHighlightingExample from "./hast-syntax-highlighting-demo" -import * as codeDemo from "./code-demo" -import * as liveStateExample from "./live-state-demo" -import * as fullUnicodeExample from "./full-unicode-demo" -import * as textNodeDemo from "./text-node-demo" -import * as textWrapExample from "./text-wrap" -import * as editorDemo from "./editor-demo" -import * as sliderDemo from "./slider-demo" -import * as terminalDemo from "./terminal" -import * as diffDemo from "./diff-demo" -import * as keypressDebugDemo from "./keypress-debug-demo" -import * as extmarksDemo from "./extmarks-demo" -import * as markdownDemo from "./markdown-demo" -import * as linkDemo from "./link-demo" -import * as opacityExample from "./opacity-example" -import * as scrollboxOverlayHitTest from "./scrollbox-overlay-hit-test" -import * as scrollboxMouseTest from "./scrollbox-mouse-test" -import * as textTruncationDemo from "./text-truncation-demo" -import * as grayscaleBufferDemo from "./grayscale-buffer-demo" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +} from "../index.js" +import { measureText } from "../lib/ascii.font.js" +import * as goldenStarDemo from "./golden-star-demo.js" +import * as boxExample from "./fonts.js" +import * as fractalShaderExample from "./fractal-shader-demo.js" +import * as framebufferExample from "./framebuffer-demo.js" +import * as lightsPhongExample from "./lights-phong-demo.js" +import * as physxPlanckExample from "./physx-planck-2d-demo.js" +import * as physxRapierExample from "./physx-rapier-2d-demo.js" +import * as opentuiDemo from "./opentui-demo.js" +import * as nestedZIndexDemo from "./nested-zindex-demo.js" +import * as relativePositioningDemo from "./relative-positioning-demo.js" +import * as transparencyDemo from "./transparency-demo.js" +import * as draggableThreeDemo from "./draggable-three-demo.js" +import * as scrollExample from "./scroll-example.js" +import * as stickyScrollExample from "./sticky-scroll-example.js" +import * as shaderCubeExample from "./shader-cube-demo.js" +import * as spriteAnimationExample from "./sprite-animation-demo.js" +import * as spriteParticleExample from "./sprite-particle-generator-demo.js" +import * as staticSpriteExample from "./static-sprite-demo.js" +import * as textureLoadingExample from "./texture-loading-demo.js" +import * as timelineExample from "./timeline-example.js" +import * as tabSelectExample from "./tab-select-demo.js" +import * as selectExample from "./select-demo.js" +import * as inputExample from "./input-demo.js" +import * as layoutExample from "./simple-layout-example.js" +import * as inputSelectLayoutExample from "./input-select-layout-demo.js" +import * as styledTextExample from "./styled-text-demo.js" +import * as mouseInteractionExample from "./mouse-interaction-demo.js" +import * as textSelectionExample from "./text-selection-demo.js" +import * as asciiFontSelectionExample from "./ascii-font-selection-demo.js" +import * as splitModeExample from "./split-mode-demo.js" +import * as consoleExample from "./console-demo.js" +import * as vnodeCompositionDemo from "./vnode-composition-demo.js" +import * as hastSyntaxHighlightingExample from "./hast-syntax-highlighting-demo.js" +import * as codeDemo from "./code-demo.js" +import * as liveStateExample from "./live-state-demo.js" +import * as fullUnicodeExample from "./full-unicode-demo.js" +import * as textNodeDemo from "./text-node-demo.js" +import * as textWrapExample from "./text-wrap.js" +import * as editorDemo from "./editor-demo.js" +import * as sliderDemo from "./slider-demo.js" +import * as terminalDemo from "./terminal.js" +import * as diffDemo from "./diff-demo.js" +import * as keypressDebugDemo from "./keypress-debug-demo.js" +import * as extmarksDemo from "./extmarks-demo.js" +import * as markdownDemo from "./markdown-demo.js" +import * as linkDemo from "./link-demo.js" +import * as opacityExample from "./opacity-example.js" +import * as scrollboxOverlayHitTest from "./scrollbox-overlay-hit-test.js" +import * as scrollboxMouseTest from "./scrollbox-mouse-test.js" +import * as textTruncationDemo from "./text-truncation-demo.js" +import * as grayscaleBufferDemo from "./grayscale-buffer-demo.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" interface Example { name: string diff --git a/packages/core/src/examples/input-demo.ts b/packages/core/src/examples/input-demo.ts index 23e89c702..6dee36de3 100644 --- a/packages/core/src/examples/input-demo.ts +++ b/packages/core/src/examples/input-demo.ts @@ -8,9 +8,9 @@ import { bold, fg, BoxRenderable, -} from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" -import { TextRenderable } from "../renderables/Text" +} from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" +import { TextRenderable } from "../renderables/Text.js" let nameInput: InputRenderable | null = null let emailInput: InputRenderable | null = null diff --git a/packages/core/src/examples/input-select-layout-demo.ts b/packages/core/src/examples/input-select-layout-demo.ts index 28fd0c3ad..5b479774e 100644 --- a/packages/core/src/examples/input-select-layout-demo.ts +++ b/packages/core/src/examples/input-select-layout-demo.ts @@ -1,7 +1,7 @@ -import { CliRenderer, BoxRenderable, TextRenderable, createCliRenderer, type KeyEvent } from "../index" -import { InputRenderable, InputRenderableEvents } from "../renderables/Input" -import { SelectRenderable, SelectRenderableEvents, type SelectOption } from "../renderables/Select" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +import { CliRenderer, BoxRenderable, TextRenderable, createCliRenderer, type KeyEvent } from "../index.js" +import { InputRenderable, InputRenderableEvents } from "../renderables/Input.js" +import { SelectRenderable, SelectRenderableEvents, type SelectOption } from "../renderables/Select.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" let renderer: CliRenderer | null = null let header: TextRenderable | null = null diff --git a/packages/core/src/examples/keypress-debug-demo.ts b/packages/core/src/examples/keypress-debug-demo.ts index 5b5ea25ea..f47bc1c6f 100644 --- a/packages/core/src/examples/keypress-debug-demo.ts +++ b/packages/core/src/examples/keypress-debug-demo.ts @@ -1,10 +1,10 @@ #!/usr/bin/env bun -import { type CliRenderer, createCliRenderer, BoxRenderable, TextRenderable, type KeyEvent } from "../index" -import { ScrollBoxRenderable } from "../renderables/ScrollBox" -import { TextNodeRenderable } from "../renderables/TextNode" -import { setupCommonDemoKeys } from "./lib/standalone-keys" -import { env, registerEnvVar } from "../lib/env" +import { type CliRenderer, createCliRenderer, BoxRenderable, TextRenderable, type KeyEvent } from "../index.js" +import { ScrollBoxRenderable } from "../renderables/ScrollBox.js" +import { TextNodeRenderable } from "../renderables/TextNode.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" +import { env, registerEnvVar } from "../lib/env.js" registerEnvVar({ name: "OTUI_KEYPRESS_DEBUG_SHOW_JSON", diff --git a/packages/core/src/examples/lib/HexList.ts b/packages/core/src/examples/lib/HexList.ts index 1acea3ce5..c13189641 100644 --- a/packages/core/src/examples/lib/HexList.ts +++ b/packages/core/src/examples/lib/HexList.ts @@ -1,8 +1,8 @@ -import type { RenderableOptions } from "../../Renderable" -import { RGBA } from "../../lib/RGBA" -import { FrameBufferRenderable, type FrameBufferOptions } from "../../renderables/FrameBuffer" -import type { RenderContext } from "../../types" -import { TextAttributes } from "../../index" +import type { RenderableOptions } from "../../Renderable.js" +import { RGBA } from "../../lib/RGBA.js" +import { FrameBufferRenderable, type FrameBufferOptions } from "../../renderables/FrameBuffer.js" +import type { RenderContext } from "../../types.js" +import { TextAttributes } from "../../index.js" export interface HexListOptions extends Omit, "width" | "height"> { colors: string[] diff --git a/packages/core/src/examples/lib/PaletteGrid.ts b/packages/core/src/examples/lib/PaletteGrid.ts index dd3f95cc6..e7f3f83d4 100644 --- a/packages/core/src/examples/lib/PaletteGrid.ts +++ b/packages/core/src/examples/lib/PaletteGrid.ts @@ -1,8 +1,8 @@ -import type { RenderableOptions } from "../../Renderable" -import { RGBA } from "../../lib/RGBA" -import { FrameBufferRenderable, type FrameBufferOptions } from "../../renderables/FrameBuffer" -import type { RenderContext } from "../../types" -import { TextAttributes } from "../../index" +import type { RenderableOptions } from "../../Renderable.js" +import { RGBA } from "../../lib/RGBA.js" +import { FrameBufferRenderable, type FrameBufferOptions } from "../../renderables/FrameBuffer.js" +import type { RenderContext } from "../../types.js" +import { TextAttributes } from "../../index.js" export interface PaletteGridOptions extends Omit, "width" | "height"> { colors: string[] diff --git a/packages/core/src/examples/lib/standalone-keys.ts b/packages/core/src/examples/lib/standalone-keys.ts index 85c94d07f..a5371067e 100644 --- a/packages/core/src/examples/lib/standalone-keys.ts +++ b/packages/core/src/examples/lib/standalone-keys.ts @@ -1,4 +1,4 @@ -import { resolveRenderLib, type CliRenderer, type KeyEvent } from "../.." +import { resolveRenderLib, type CliRenderer, type KeyEvent } from "../../index.js" export function setupCommonDemoKeys(renderer: CliRenderer) { renderer.keyInput.on("keypress", (key: KeyEvent) => { diff --git a/packages/core/src/examples/lib/tab-controller.ts b/packages/core/src/examples/lib/tab-controller.ts index d9a7e9ac8..89a35632f 100644 --- a/packages/core/src/examples/lib/tab-controller.ts +++ b/packages/core/src/examples/lib/tab-controller.ts @@ -1,9 +1,9 @@ -import { Renderable, type RenderableOptions, RenderableEvents } from "../../Renderable" -import { OptimizedBuffer } from "../../buffer" -import { BoxRenderable } from "../../renderables" -import { TabSelectRenderable, TabSelectRenderableEvents } from "../../renderables/TabSelect" -import type { CliRenderer, TabSelectOption } from "../../index" -import { parseColor, type ColorInput } from "../../lib/RGBA" +import { Renderable, type RenderableOptions, RenderableEvents } from "../../Renderable.js" +import { OptimizedBuffer } from "../../buffer.js" +import { BoxRenderable } from "../../renderables/index.js" +import { TabSelectRenderable, TabSelectRenderableEvents } from "../../renderables/TabSelect.js" +import type { CliRenderer, TabSelectOption } from "../../index.js" +import { parseColor, type ColorInput } from "../../lib/RGBA.js" export interface TabObject { title: string diff --git a/packages/core/src/examples/lights-phong-demo.ts b/packages/core/src/examples/lights-phong-demo.ts index 961a45bbd..a75cbb0af 100644 --- a/packages/core/src/examples/lights-phong-demo.ts +++ b/packages/core/src/examples/lights-phong-demo.ts @@ -8,9 +8,9 @@ import { TextRenderable, FrameBufferRenderable, type KeyEvent, -} from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" -import { TextureUtils } from "../3d/TextureUtils" +} from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" +import { TextureUtils } from "../3d/TextureUtils.js" import { Scene as ThreeScene, Mesh as ThreeMesh, @@ -29,7 +29,7 @@ import { TeapotGeometry } from "three/addons/geometries/TeapotGeometry.js" import normalTexPath from "./assets/Water_2_M_Normal.jpg" with { type: "image/jpeg" } // @ts-ignore import alphaTexPath from "./assets/roughness_map.jpg" with { type: "image/jpeg" } -import { ThreeCliRenderer } from "../3d" +import { ThreeCliRenderer } from "../3d.js" interface PhongDemoState { camera: PerspectiveCamera diff --git a/packages/core/src/examples/link-demo.ts b/packages/core/src/examples/link-demo.ts index 8dce8028b..3c7bf6464 100644 --- a/packages/core/src/examples/link-demo.ts +++ b/packages/core/src/examples/link-demo.ts @@ -12,8 +12,8 @@ import { TextRenderable, type MouseEvent, type RenderContext, -} from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +} from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" let nextZIndex = 100 let draggableBoxes: DraggableBox[] = [] diff --git a/packages/core/src/examples/live-state-demo.ts b/packages/core/src/examples/live-state-demo.ts index 69e4b3ca9..bfd7d7eb4 100644 --- a/packages/core/src/examples/live-state-demo.ts +++ b/packages/core/src/examples/live-state-demo.ts @@ -16,9 +16,9 @@ import { fg, parseColor, Box, -} from "../index" -import type { BoxOptions } from "../renderables/Box" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +} from "../index.js" +import type { BoxOptions } from "../renderables/Box.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" let mainGroup: BoxRenderable | null = null let titleText: TextRenderable | null = null diff --git a/packages/core/src/examples/markdown-demo.ts b/packages/core/src/examples/markdown-demo.ts index eb156d455..d50c610ac 100644 --- a/packages/core/src/examples/markdown-demo.ts +++ b/packages/core/src/examples/markdown-demo.ts @@ -5,11 +5,11 @@ import { TextRenderable, type ParsedKey, ScrollBoxRenderable, -} from "../index" -import { MarkdownRenderable } from "../renderables/Markdown" -import { setupCommonDemoKeys } from "./lib/standalone-keys" -import { parseColor } from "../lib/RGBA" -import { SyntaxStyle } from "../syntax-style" +} from "../index.js" +import { MarkdownRenderable } from "../renderables/Markdown.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" +import { parseColor } from "../lib/RGBA.js" +import { SyntaxStyle } from "../syntax-style.js" // Rich markdown example showcasing various features const markdownContent = `# OpenTUI Markdown Demo diff --git a/packages/core/src/examples/mouse-interaction-demo.ts b/packages/core/src/examples/mouse-interaction-demo.ts index 3c9c76179..b4bcda27c 100644 --- a/packages/core/src/examples/mouse-interaction-demo.ts +++ b/packages/core/src/examples/mouse-interaction-demo.ts @@ -18,8 +18,8 @@ import { type BoxOptions, Text, type VChild, -} from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +} from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" interface TrailCell { x: number diff --git a/packages/core/src/examples/nested-zindex-demo.ts b/packages/core/src/examples/nested-zindex-demo.ts index af3267626..1c323e6c7 100644 --- a/packages/core/src/examples/nested-zindex-demo.ts +++ b/packages/core/src/examples/nested-zindex-demo.ts @@ -1,6 +1,6 @@ -import { TextAttributes, createCliRenderer, TextRenderable, BoxRenderable, type KeyEvent } from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" -import type { CliRenderer } from "../index" +import { TextAttributes, createCliRenderer, TextRenderable, BoxRenderable, type KeyEvent } from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" +import type { CliRenderer } from "../index.js" let globalKeyboardHandler: ((key: KeyEvent) => void) | null = null let zIndexPhase = 0 diff --git a/packages/core/src/examples/opacity-example.ts b/packages/core/src/examples/opacity-example.ts index 8cb16fd39..cfaf684a1 100644 --- a/packages/core/src/examples/opacity-example.ts +++ b/packages/core/src/examples/opacity-example.ts @@ -1,5 +1,5 @@ -import { CliRenderer, BoxRenderable, TextRenderable, createCliRenderer, type KeyEvent } from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +import { CliRenderer, BoxRenderable, TextRenderable, createCliRenderer, type KeyEvent } from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" let renderer: CliRenderer | null = null let header: BoxRenderable | null = null diff --git a/packages/core/src/examples/opentui-demo.ts b/packages/core/src/examples/opentui-demo.ts index 6e1664532..6752f90a3 100644 --- a/packages/core/src/examples/opentui-demo.ts +++ b/packages/core/src/examples/opentui-demo.ts @@ -8,10 +8,10 @@ import { parseColor, getBorderFromSides, type KeyEvent, -} from "../index" -import type { BorderCharacters, BorderSidesConfig, CliRenderer } from "../index" -import { TabControllerRenderable } from "./lib/tab-controller" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +} from "../index.js" +import type { BorderCharacters, BorderSidesConfig, CliRenderer } from "../index.js" +import { TabControllerRenderable } from "./lib/tab-controller.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" let globalTabController: TabControllerRenderable | null = null let globalKeyboardHandler: ((key: KeyEvent) => void) | null = null diff --git a/packages/core/src/examples/physx-planck-2d-demo.ts b/packages/core/src/examples/physx-planck-2d-demo.ts index a7481c904..244af9fe4 100644 --- a/packages/core/src/examples/physx-planck-2d-demo.ts +++ b/packages/core/src/examples/physx-planck-2d-demo.ts @@ -7,20 +7,20 @@ import { BoxRenderable, createCliRenderer, type KeyEvent, -} from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +} from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" import * as THREE from "three" import { SpriteAnimator, TiledSprite, type SpriteDefinition, type AnimationDefinition, -} from "../3d/animation/SpriteAnimator" -import { SpriteResourceManager, type ResourceConfig } from "../3d/SpriteResourceManager" -import { PhysicsExplosionManager, type PhysicsExplosionHandle } from "../3d/animation/PhysicsExplodingSpriteEffect" -import { PlanckPhysicsWorld } from "../3d/physics/PlanckPhysicsAdapter" +} from "../3d/animation/SpriteAnimator.js" +import { SpriteResourceManager, type ResourceConfig } from "../3d/SpriteResourceManager.js" +import { PhysicsExplosionManager, type PhysicsExplosionHandle } from "../3d/animation/PhysicsExplodingSpriteEffect.js" +import { PlanckPhysicsWorld } from "../3d/physics/PlanckPhysicsAdapter.js" import * as planck from "planck" -import { ThreeCliRenderer } from "../3d" +import { ThreeCliRenderer } from "../3d.js" // @ts-ignore import cratePath from "./assets/crate.png" with { type: "image/png" } diff --git a/packages/core/src/examples/physx-rapier-2d-demo.ts b/packages/core/src/examples/physx-rapier-2d-demo.ts index b7c404d93..1aa9079cb 100644 --- a/packages/core/src/examples/physx-rapier-2d-demo.ts +++ b/packages/core/src/examples/physx-rapier-2d-demo.ts @@ -7,21 +7,21 @@ import { BoxRenderable, createCliRenderer, type KeyEvent, -} from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +} from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" import * as THREE from "three" import { SpriteAnimator, TiledSprite, type SpriteDefinition, type AnimationDefinition, -} from "../3d/animation/SpriteAnimator" -import { SpriteResourceManager, type ResourceConfig } from "../3d/SpriteResourceManager" -import { PhysicsExplosionManager, type PhysicsExplosionHandle } from "../3d/animation/PhysicsExplodingSpriteEffect" -import { RapierPhysicsWorld } from "../3d/physics/RapierPhysicsAdapter" +} from "../3d/animation/SpriteAnimator.js" +import { SpriteResourceManager, type ResourceConfig } from "../3d/SpriteResourceManager.js" +import { PhysicsExplosionManager, type PhysicsExplosionHandle } from "../3d/animation/PhysicsExplodingSpriteEffect.js" +import { RapierPhysicsWorld } from "../3d/physics/RapierPhysicsAdapter.js" import RAPIER from "@dimforge/rapier2d-simd-compat" import { MeshLambertNodeMaterial } from "three/webgpu" -import { ThreeCliRenderer } from "../3d" +import { ThreeCliRenderer } from "../3d.js" // @ts-ignore import cratePath from "./assets/concrete.png" with { type: "image/png" } diff --git a/packages/core/src/examples/relative-positioning-demo.ts b/packages/core/src/examples/relative-positioning-demo.ts index 424785f3f..73ee1fb48 100644 --- a/packages/core/src/examples/relative-positioning-demo.ts +++ b/packages/core/src/examples/relative-positioning-demo.ts @@ -1,6 +1,6 @@ -import { TextAttributes, createCliRenderer, TextRenderable, BoxRenderable, type KeyEvent } from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" -import type { CliRenderer } from "../index" +import { TextAttributes, createCliRenderer, TextRenderable, BoxRenderable, type KeyEvent } from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" +import type { CliRenderer } from "../index.js" let globalKeyboardHandler: ((key: KeyEvent) => void) | null = null let animationSpeed = 4000 diff --git a/packages/core/src/examples/scroll-example.ts b/packages/core/src/examples/scroll-example.ts index de4ab5c0e..caf54d93b 100644 --- a/packages/core/src/examples/scroll-example.ts +++ b/packages/core/src/examples/scroll-example.ts @@ -10,9 +10,9 @@ import { bold, underline, italic, -} from "../index" -import { ScrollBoxRenderable } from "../renderables/ScrollBox" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +} from "../index.js" +import { ScrollBoxRenderable } from "../renderables/ScrollBox.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" let scrollBox: ScrollBoxRenderable | null = null let renderer: CliRenderer | null = null diff --git a/packages/core/src/examples/scrollbox-mouse-test.ts b/packages/core/src/examples/scrollbox-mouse-test.ts index 4f0da4c82..2e69c6fb3 100644 --- a/packages/core/src/examples/scrollbox-mouse-test.ts +++ b/packages/core/src/examples/scrollbox-mouse-test.ts @@ -1,7 +1,7 @@ #!/usr/bin/env bun -import { BoxRenderable, type CliRenderer, createCliRenderer, TextRenderable, RGBA, t, fg, bold } from "../index" -import { ScrollBoxRenderable } from "../renderables/ScrollBox" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +import { BoxRenderable, type CliRenderer, createCliRenderer, TextRenderable, RGBA, t, fg, bold } from "../index.js" +import { ScrollBoxRenderable } from "../renderables/ScrollBox.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" let scrollBox: ScrollBoxRenderable | null = null let statusText: TextRenderable | null = null diff --git a/packages/core/src/examples/scrollbox-overlay-hit-test.ts b/packages/core/src/examples/scrollbox-overlay-hit-test.ts index 554a37271..07813df37 100644 --- a/packages/core/src/examples/scrollbox-overlay-hit-test.ts +++ b/packages/core/src/examples/scrollbox-overlay-hit-test.ts @@ -8,9 +8,9 @@ import { fg, bold, type KeyEvent, -} from "../index" -import { ScrollBoxRenderable } from "../renderables/ScrollBox" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +} from "../index.js" +import { ScrollBoxRenderable } from "../renderables/ScrollBox.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" let overlay: BoxRenderable | null = null let dialog: BoxRenderable | null = null diff --git a/packages/core/src/examples/select-demo.ts b/packages/core/src/examples/select-demo.ts index 7ff3bc14f..dfc8dd41d 100644 --- a/packages/core/src/examples/select-demo.ts +++ b/packages/core/src/examples/select-demo.ts @@ -9,9 +9,9 @@ import { bold, fg, BoxRenderable, -} from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" -import { TextRenderable } from "../renderables/Text" +} from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" +import { TextRenderable } from "../renderables/Text.js" let selectElement: SelectRenderable | null = null let renderer: CliRenderer | null = null diff --git a/packages/core/src/examples/shader-cube-demo.ts b/packages/core/src/examples/shader-cube-demo.ts index 2dc6e875d..8c2a92525 100644 --- a/packages/core/src/examples/shader-cube-demo.ts +++ b/packages/core/src/examples/shader-cube-demo.ts @@ -7,10 +7,10 @@ import { BoxRenderable, FrameBufferRenderable, type KeyEvent, -} from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" -import { RGBA } from "../lib" -import { TextureUtils } from "../3d/TextureUtils" +} from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" +import { RGBA } from "../lib/index.js" +import { TextureUtils } from "../3d/TextureUtils.js" import { Scene as ThreeScene, Mesh as ThreeMesh, @@ -22,10 +22,10 @@ import { BoxGeometry, AmbientLight, } from "three" -import * as Filters from "../post/filters" -import { DistortionEffect, VignetteEffect, BrightnessEffect, BlurEffect, BloomEffect } from "../post/filters" -import type { OptimizedBuffer } from "../buffer" -import { ThreeCliRenderer } from "../3d" +import * as Filters from "../post/filters.js" +import { DistortionEffect, VignetteEffect, BrightnessEffect, BlurEffect, BloomEffect } from "../post/filters.js" +import type { OptimizedBuffer } from "../buffer.js" +import { ThreeCliRenderer } from "../3d.js" // State management for the demo interface ShaderCubeDemoState { diff --git a/packages/core/src/examples/simple-layout-example.ts b/packages/core/src/examples/simple-layout-example.ts index 86c5770a5..94cade02a 100644 --- a/packages/core/src/examples/simple-layout-example.ts +++ b/packages/core/src/examples/simple-layout-example.ts @@ -1,5 +1,5 @@ -import { CliRenderer, BoxRenderable, TextRenderable, createCliRenderer, type KeyEvent } from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +import { CliRenderer, BoxRenderable, TextRenderable, createCliRenderer, type KeyEvent } from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" interface LayoutDemo { name: string diff --git a/packages/core/src/examples/slider-demo.ts b/packages/core/src/examples/slider-demo.ts index 08d513b07..850ca256c 100644 --- a/packages/core/src/examples/slider-demo.ts +++ b/packages/core/src/examples/slider-demo.ts @@ -1,6 +1,6 @@ -import { type CliRenderer, createCliRenderer, t, fg, bold, BoxRenderable, TextRenderable } from "../index" -import { SliderRenderable } from "../renderables/Slider" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +import { type CliRenderer, createCliRenderer, t, fg, bold, BoxRenderable, TextRenderable } from "../index.js" +import { SliderRenderable } from "../renderables/Slider.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" let horizontalSlider1: SliderRenderable | null = null let horizontalSlider2: SliderRenderable | null = null diff --git a/packages/core/src/examples/split-mode-demo.ts b/packages/core/src/examples/split-mode-demo.ts index 2e81790f0..9ee068a8e 100644 --- a/packages/core/src/examples/split-mode-demo.ts +++ b/packages/core/src/examples/split-mode-demo.ts @@ -1,6 +1,6 @@ -import { createCliRenderer, TextRenderable, t, type CliRenderer, BoxRenderable, bold, fg } from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" -import { createTimeline, type JSAnimation, Timeline } from "../animation/Timeline" +import { createCliRenderer, TextRenderable, t, type CliRenderer, BoxRenderable, bold, fg } from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" +import { createTimeline, type JSAnimation, Timeline } from "../animation/Timeline.js" let text: TextRenderable | null = null let instructionsText: TextRenderable | null = null diff --git a/packages/core/src/examples/sprite-animation-demo.ts b/packages/core/src/examples/sprite-animation-demo.ts index 6bbda2c26..a3aee5191 100644 --- a/packages/core/src/examples/sprite-animation-demo.ts +++ b/packages/core/src/examples/sprite-animation-demo.ts @@ -8,27 +8,27 @@ import { FrameBufferRenderable, BoxRenderable, type KeyEvent, -} from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +} from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" import * as THREE from "three" import { SpriteAnimator, TiledSprite, type SpriteDefinition, type AnimationDefinition, -} from "../3d/animation/SpriteAnimator" -import { SpriteResourceManager, type ResourceConfig } from "../3d/SpriteResourceManager" +} from "../3d/animation/SpriteAnimator.js" +import { SpriteResourceManager, type ResourceConfig } from "../3d/SpriteResourceManager.js" import { ExplosionManager, type ExplosionHandle, type ExplosionEffectParameters, -} from "../3d/animation/ExplodingSpriteEffect" +} from "../3d/animation/ExplodingSpriteEffect.js" // @ts-ignore import mainCharIdlePath from "./assets/main_char_idle.png" with { type: "image/png" } import { randFloat } from "three/src/math/MathUtils.js" import { MeshLambertNodeMaterial } from "three/webgpu" -import { ThreeCliRenderer } from "../3d" +import { ThreeCliRenderer } from "../3d.js" interface SpriteAnimationDemoState { engine: ThreeCliRenderer diff --git a/packages/core/src/examples/sprite-particle-generator-demo.ts b/packages/core/src/examples/sprite-particle-generator-demo.ts index 7b67c9cbf..fc3f4c6b2 100644 --- a/packages/core/src/examples/sprite-particle-generator-demo.ts +++ b/packages/core/src/examples/sprite-particle-generator-demo.ts @@ -9,18 +9,18 @@ import { TextRenderable, FrameBufferRenderable, type KeyEvent, -} from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +} from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" import * as THREE from "three" import { SpriteAnimator, type TiledSprite, type SpriteDefinition, type AnimationDefinition, -} from "../3d/animation/SpriteAnimator" -import { SpriteResourceManager, type ResourceConfig } from "../3d/SpriteResourceManager" -import { SpriteParticleGenerator, type ParticleEffectParameters } from "../3d/animation/SpriteParticleGenerator" -import { ThreeCliRenderer } from "../3d" +} from "../3d/animation/SpriteAnimator.js" +import { SpriteResourceManager, type ResourceConfig } from "../3d/SpriteResourceManager.js" +import { SpriteParticleGenerator, type ParticleEffectParameters } from "../3d/animation/SpriteParticleGenerator.js" +import { ThreeCliRenderer } from "../3d.js" // @ts-ignore import heartPath from "./assets/heart.png" with { type: "image/png" } diff --git a/packages/core/src/examples/static-sprite-demo.ts b/packages/core/src/examples/static-sprite-demo.ts index 4daa37879..d74614410 100644 --- a/packages/core/src/examples/static-sprite-demo.ts +++ b/packages/core/src/examples/static-sprite-demo.ts @@ -8,11 +8,11 @@ import { FrameBufferRenderable, BoxRenderable, type KeyEvent, -} from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +} from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" import * as THREE from "three" -import { ThreeCliRenderer } from "../3d" -import { SpriteUtils } from "../3d/SpriteUtils" +import { ThreeCliRenderer } from "../3d.js" +import { SpriteUtils } from "../3d/SpriteUtils.js" // @ts-ignore - Bun specific import attribute for assets import staticImagePath from "./assets/main_char_idle.png" with { type: "image/png" } diff --git a/packages/core/src/examples/sticky-scroll-example.ts b/packages/core/src/examples/sticky-scroll-example.ts index 9033fd827..6f8792655 100644 --- a/packages/core/src/examples/sticky-scroll-example.ts +++ b/packages/core/src/examples/sticky-scroll-example.ts @@ -1,6 +1,6 @@ -import { BoxRenderable, type CliRenderer, createCliRenderer, TextRenderable, t, fg, bold } from "../index" -import { ScrollBoxRenderable } from "../renderables/ScrollBox" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +import { BoxRenderable, type CliRenderer, createCliRenderer, TextRenderable, t, fg, bold } from "../index.js" +import { ScrollBoxRenderable } from "../renderables/ScrollBox.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" let scrollBox: ScrollBoxRenderable | null = null let renderer: CliRenderer | null = null diff --git a/packages/core/src/examples/styled-text-demo.ts b/packages/core/src/examples/styled-text-demo.ts index d7c7a7a8a..bc9e0c303 100644 --- a/packages/core/src/examples/styled-text-demo.ts +++ b/packages/core/src/examples/styled-text-demo.ts @@ -12,9 +12,9 @@ import { link, BoxRenderable, type KeyEvent, -} from "../index" -import { TextRenderable } from "../renderables/Text" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +} from "../index.js" +import { TextRenderable } from "../renderables/Text.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" let parentContainer: BoxRenderable | null = null let counter = 0 diff --git a/packages/core/src/examples/tab-select-demo.ts b/packages/core/src/examples/tab-select-demo.ts index f0acca37d..d7bf82572 100644 --- a/packages/core/src/examples/tab-select-demo.ts +++ b/packages/core/src/examples/tab-select-demo.ts @@ -9,9 +9,9 @@ import { t, bold, fg, -} from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" -import { TextRenderable } from "../renderables/Text" +} from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" +import { TextRenderable } from "../renderables/Text.js" let tabSelect: TabSelectRenderable | null = null let renderer: CliRenderer | null = null diff --git a/packages/core/src/examples/terminal-title.ts b/packages/core/src/examples/terminal-title.ts index 24b27e0e5..fff2b63f1 100644 --- a/packages/core/src/examples/terminal-title.ts +++ b/packages/core/src/examples/terminal-title.ts @@ -1,4 +1,4 @@ -import { TextRenderable, createCliRenderer } from "../index" +import { TextRenderable, createCliRenderer } from "../index.js" async function testTerminalTitle() { const renderer = await createCliRenderer({ exitOnCtrlC: true }) diff --git a/packages/core/src/examples/terminal.ts b/packages/core/src/examples/terminal.ts index c87515bc8..c6ab0afb8 100644 --- a/packages/core/src/examples/terminal.ts +++ b/packages/core/src/examples/terminal.ts @@ -10,12 +10,12 @@ import { BoxRenderable, InputRenderable, InputRenderableEvents, -} from "../index" -import { ScrollBoxRenderable } from "../renderables/ScrollBox" -import { setupCommonDemoKeys } from "./lib/standalone-keys" -import type { TerminalColors } from "../lib/terminal-palette" -import { PaletteGridRenderable } from "./lib/PaletteGrid" -import { HexListRenderable } from "./lib/HexList" +} from "../index.js" +import { ScrollBoxRenderable } from "../renderables/ScrollBox.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" +import type { TerminalColors } from "../lib/terminal-palette.js" +import { PaletteGridRenderable } from "./lib/PaletteGrid.js" +import { HexListRenderable } from "./lib/HexList.js" /** * This demo showcases terminal palette detection. diff --git a/packages/core/src/examples/text-node-demo.ts b/packages/core/src/examples/text-node-demo.ts index a9973195c..8754aaf75 100644 --- a/packages/core/src/examples/text-node-demo.ts +++ b/packages/core/src/examples/text-node-demo.ts @@ -11,9 +11,9 @@ import { green, yellow, cyan, -} from ".." -import { TextNodeRenderable } from "../renderables/TextNode" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +} from "../index.js" +import { TextNodeRenderable } from "../renderables/TextNode.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" let mainContainer: BoxRenderable | null = null let demoText: TextRenderable | null = null diff --git a/packages/core/src/examples/text-selection-demo.ts b/packages/core/src/examples/text-selection-demo.ts index d8a66cbca..12ff5cf5d 100644 --- a/packages/core/src/examples/text-selection-demo.ts +++ b/packages/core/src/examples/text-selection-demo.ts @@ -12,8 +12,8 @@ import { yellow, cyan, magenta, -} from ".." -import { setupCommonDemoKeys } from "./lib/standalone-keys" +} from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" let mainContainer: BoxRenderable | null = null let floatingBox: BoxRenderable | null = null diff --git a/packages/core/src/examples/text-truncation-demo.ts b/packages/core/src/examples/text-truncation-demo.ts index c7d57190e..6a667279a 100644 --- a/packages/core/src/examples/text-truncation-demo.ts +++ b/packages/core/src/examples/text-truncation-demo.ts @@ -11,8 +11,8 @@ import { cyan, yellow, magenta, -} from ".." -import { setupCommonDemoKeys } from "./lib/standalone-keys" +} from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" let renderer: CliRenderer | null = null let mainContainer: BoxRenderable | null = null diff --git a/packages/core/src/examples/text-wrap.ts b/packages/core/src/examples/text-wrap.ts index 60a1636d3..93249015a 100644 --- a/packages/core/src/examples/text-wrap.ts +++ b/packages/core/src/examples/text-wrap.ts @@ -3,11 +3,20 @@ * Text wrapping example * Demonstrates automatic text wrapping when the wrap option is enabled */ -import { CliRenderer, createCliRenderer, TextRenderable, BoxRenderable, type MouseEvent, t, fg, bold } from ".." -import { TextNodeRenderable } from "../renderables/TextNode" -import { ScrollBoxRenderable } from "../renderables/ScrollBox" -import { InputRenderable, InputRenderableEvents } from "../renderables/Input" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +import { + CliRenderer, + createCliRenderer, + TextRenderable, + BoxRenderable, + type MouseEvent, + t, + fg, + bold, +} from "../index.js" +import { TextNodeRenderable } from "../renderables/TextNode.js" +import { ScrollBoxRenderable } from "../renderables/ScrollBox.js" +import { InputRenderable, InputRenderableEvents } from "../renderables/Input.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" import { existsSync } from "fs" import { resolve } from "path" diff --git a/packages/core/src/examples/texture-loading-demo.ts b/packages/core/src/examples/texture-loading-demo.ts index ef744e184..3723cf68d 100644 --- a/packages/core/src/examples/texture-loading-demo.ts +++ b/packages/core/src/examples/texture-loading-demo.ts @@ -1,8 +1,8 @@ #!/usr/bin/env bun -import { CliRenderer, createCliRenderer, RGBA, BoxRenderable, TextRenderable, type KeyEvent } from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" -import { TextureUtils } from "../3d/TextureUtils" +import { CliRenderer, createCliRenderer, RGBA, BoxRenderable, TextRenderable, type KeyEvent } from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" +import { TextureUtils } from "../3d/TextureUtils.js" import { Scene as ThreeScene, Mesh as ThreeMesh, @@ -15,7 +15,7 @@ import { } from "three" import { MeshPhongNodeMaterial } from "three/webgpu" import { lights } from "three/tsl" -import { ThreeRenderable, SuperSampleAlgorithm } from "../3d" +import { ThreeRenderable, SuperSampleAlgorithm } from "../3d.js" // @ts-ignore import cratePath from "./assets/crate.png" with { type: "image/png" } diff --git a/packages/core/src/examples/timeline-example.ts b/packages/core/src/examples/timeline-example.ts index dffbf8352..e0887cb38 100644 --- a/packages/core/src/examples/timeline-example.ts +++ b/packages/core/src/examples/timeline-example.ts @@ -1,6 +1,6 @@ -import { createTimeline, type JSAnimation, Timeline } from "../animation/Timeline" -import { CliRenderer, createCliRenderer, TextRenderable, BoxRenderable, type KeyEvent } from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +import { createTimeline, type JSAnimation, Timeline } from "../animation/Timeline.js" +import { CliRenderer, createCliRenderer, TextRenderable, BoxRenderable, type KeyEvent } from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" class TimelineExample { private _mainTimeline: Timeline diff --git a/packages/core/src/examples/transparency-demo.ts b/packages/core/src/examples/transparency-demo.ts index 6c02f1434..772086546 100644 --- a/packages/core/src/examples/transparency-demo.ts +++ b/packages/core/src/examples/transparency-demo.ts @@ -10,9 +10,9 @@ import { bold, underline, fg, -} from "../index" -import type { CliRenderer, RenderContext } from "../index" -import { setupCommonDemoKeys } from "./lib/standalone-keys" +} from "../index.js" +import type { CliRenderer, RenderContext } from "../index.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" let nextZIndex = 101 let draggableBoxes: DraggableTransparentBox[] = [] diff --git a/packages/core/src/examples/vnode-composition-demo.ts b/packages/core/src/examples/vnode-composition-demo.ts index a6e40664d..a8d4704cd 100644 --- a/packages/core/src/examples/vnode-composition-demo.ts +++ b/packages/core/src/examples/vnode-composition-demo.ts @@ -1,4 +1,4 @@ -import { createCliRenderer, MouseEvent, type CliRenderer } from "../renderer" +import { createCliRenderer, MouseEvent, type CliRenderer } from "../renderer.js" import { Box, Text, @@ -10,13 +10,13 @@ import { BoxRenderable, type BoxOptions, vstyles, -} from "../renderables" -import type { RenderContext } from "../types" -import type { OptimizedBuffer } from "../buffer" -import { setupCommonDemoKeys } from "./lib/standalone-keys" -import { RGBA, parseColor } from "../lib" -import type { Renderable } from "../Renderable" -import { TextAttributes } from "../types" +} from "../renderables/index.js" +import type { RenderContext } from "../types.js" +import type { OptimizedBuffer } from "../buffer.js" +import { setupCommonDemoKeys } from "./lib/standalone-keys.js" +import { RGBA, parseColor } from "../lib/index.js" +import type { Renderable } from "../Renderable.js" +import { TextAttributes } from "../types.js" const textColor = parseColor("#FFFFFF") const globalbgColor = parseColor("#333333") diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 434c0ff84..c53cd5e75 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -1,18 +1,18 @@ // Core exports without 3D dependencies -export * from "./Renderable" -export * from "./types" -export * from "./utils" -export * from "./buffer" -export * from "./text-buffer" -export * from "./text-buffer-view" -export * from "./edit-buffer" -export * from "./editor-view" -export * from "./syntax-style" -export * from "./post/filters" -export * from "./animation/Timeline" -export * from "./lib" -export * from "./renderer" -export * from "./renderables" -export * from "./zig" -export * from "./console" +export * from "./Renderable.js" +export * from "./types.js" +export * from "./utils.js" +export * from "./buffer.js" +export * from "./text-buffer.js" +export * from "./text-buffer-view.js" +export * from "./edit-buffer.js" +export * from "./editor-view.js" +export * from "./syntax-style.js" +export * from "./post/filters.js" +export * from "./animation/Timeline.js" +export * from "./lib/index.js" +export * from "./renderer.js" +export * from "./renderables/index.js" +export * from "./zig.js" +export * from "./console.js" export * as Yoga from "yoga-layout" diff --git a/packages/core/src/lib/KeyHandler.integration.test.ts b/packages/core/src/lib/KeyHandler.integration.test.ts index bb61b7f64..2e03eb988 100644 --- a/packages/core/src/lib/KeyHandler.integration.test.ts +++ b/packages/core/src/lib/KeyHandler.integration.test.ts @@ -1,5 +1,5 @@ import { test, expect } from "bun:test" -import { InternalKeyHandler, KeyEvent } from "./KeyHandler" +import { InternalKeyHandler, KeyEvent } from "./KeyHandler.js" /** * Integration tests demonstrating real-world scenarios with stopPropagation diff --git a/packages/core/src/lib/KeyHandler.stopPropagation.test.ts b/packages/core/src/lib/KeyHandler.stopPropagation.test.ts index 5c93d30d0..7c5ab1447 100644 --- a/packages/core/src/lib/KeyHandler.stopPropagation.test.ts +++ b/packages/core/src/lib/KeyHandler.stopPropagation.test.ts @@ -1,5 +1,5 @@ import { test, expect, beforeEach } from "bun:test" -import { InternalKeyHandler, KeyEvent } from "./KeyHandler" +import { InternalKeyHandler, KeyEvent } from "./KeyHandler.js" function createKeyHandler(useKittyKeyboard: boolean = false): InternalKeyHandler { return new InternalKeyHandler(useKittyKeyboard) diff --git a/packages/core/src/lib/KeyHandler.test.ts b/packages/core/src/lib/KeyHandler.test.ts index 547b94174..e530eb52c 100644 --- a/packages/core/src/lib/KeyHandler.test.ts +++ b/packages/core/src/lib/KeyHandler.test.ts @@ -1,6 +1,6 @@ import { test, expect } from "bun:test" -import { InternalKeyHandler, KeyEvent } from "./KeyHandler" -import { createTestRenderer } from "../testing/test-renderer" +import { InternalKeyHandler, KeyEvent } from "./KeyHandler.js" +import { createTestRenderer } from "../testing/test-renderer.js" const { renderer, mockInput } = await createTestRenderer({}) diff --git a/packages/core/src/lib/KeyHandler.ts b/packages/core/src/lib/KeyHandler.ts index be31f0f9d..0c2981c7e 100644 --- a/packages/core/src/lib/KeyHandler.ts +++ b/packages/core/src/lib/KeyHandler.ts @@ -1,6 +1,6 @@ import { EventEmitter } from "events" -import { parseKeypress, type KeyEventType, type ParsedKey } from "./parse.keypress" -import { ANSI } from "../ansi" +import { parseKeypress, type KeyEventType, type ParsedKey } from "./parse.keypress.js" +import { ANSI } from "../ansi.js" export class KeyEvent implements ParsedKey { name: string diff --git a/packages/core/src/lib/RGBA.test.ts b/packages/core/src/lib/RGBA.test.ts index 3fe35b119..115fd72f0 100644 --- a/packages/core/src/lib/RGBA.test.ts +++ b/packages/core/src/lib/RGBA.test.ts @@ -1,5 +1,5 @@ import { test, expect, describe } from "bun:test" -import { RGBA, hexToRgb, rgbToHex, hsvToRgb, parseColor } from "./RGBA" +import { RGBA, hexToRgb, rgbToHex, hsvToRgb, parseColor } from "./RGBA.js" describe("RGBA class", () => { describe("constructor", () => { diff --git a/packages/core/src/lib/ascii.font.ts b/packages/core/src/lib/ascii.font.ts index 832cee5d5..3879dd5d8 100644 --- a/packages/core/src/lib/ascii.font.ts +++ b/packages/core/src/lib/ascii.font.ts @@ -1,5 +1,5 @@ -import { OptimizedBuffer } from "../buffer" -import { parseColor, RGBA, type ColorInput } from "./RGBA" +import { OptimizedBuffer } from "../buffer.js" +import { parseColor, RGBA, type ColorInput } from "./RGBA.js" import block from "./fonts/block.json" import shade from "./fonts/shade.json" import slick from "./fonts/slick.json" diff --git a/packages/core/src/lib/border.test.ts b/packages/core/src/lib/border.test.ts index b5defc35b..8ff8ebaab 100644 --- a/packages/core/src/lib/border.test.ts +++ b/packages/core/src/lib/border.test.ts @@ -1,5 +1,5 @@ import { test, expect, describe, spyOn, afterEach } from "bun:test" -import { isValidBorderStyle, parseBorderStyle, type BorderStyle } from "./border" +import { isValidBorderStyle, parseBorderStyle, type BorderStyle } from "./border.js" describe("isValidBorderStyle", () => { test("returns true for valid border styles", () => { diff --git a/packages/core/src/lib/border.ts b/packages/core/src/lib/border.ts index 56b6d9639..78f2e0479 100644 --- a/packages/core/src/lib/border.ts +++ b/packages/core/src/lib/border.ts @@ -1,4 +1,4 @@ -import type { ColorInput } from "./RGBA" +import type { ColorInput } from "./RGBA.js" export interface BorderCharacters { topLeft: string diff --git a/packages/core/src/lib/bunfs.test.ts b/packages/core/src/lib/bunfs.test.ts index 2c7e2d9fc..41f903136 100644 --- a/packages/core/src/lib/bunfs.test.ts +++ b/packages/core/src/lib/bunfs.test.ts @@ -1,5 +1,5 @@ import { describe, expect, test } from "bun:test" -import { isBunfsPath, getBunfsRootPath } from "./bunfs" +import { isBunfsPath, getBunfsRootPath } from "./bunfs.js" describe("bunfs", () => { test("isBunfsPath detects $bunfs paths", () => { diff --git a/packages/core/src/lib/clipboard.test.ts b/packages/core/src/lib/clipboard.test.ts index 5e020a407..9d290d4d8 100644 --- a/packages/core/src/lib/clipboard.test.ts +++ b/packages/core/src/lib/clipboard.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it, afterEach } from "bun:test" -import { createTestRenderer, type TestRenderer } from "../testing/test-renderer" -import { ClipboardTarget, encodeOsc52Payload } from "./clipboard" -import type { RenderLib } from "../zig" +import { createTestRenderer, type TestRenderer } from "../testing/test-renderer.js" +import { ClipboardTarget, encodeOsc52Payload } from "./clipboard.js" +import type { RenderLib } from "../zig.js" describe("clipboard", () => { let renderer: TestRenderer | null = null diff --git a/packages/core/src/lib/clipboard.ts b/packages/core/src/lib/clipboard.ts index 06b0793d3..3a04d9ac3 100644 --- a/packages/core/src/lib/clipboard.ts +++ b/packages/core/src/lib/clipboard.ts @@ -2,7 +2,7 @@ // Delegates to native Zig implementation for ANSI sequence generation. import type { Pointer } from "bun:ffi" -import type { RenderLib } from "../zig" +import type { RenderLib } from "../zig.js" export enum ClipboardTarget { Clipboard = 0, diff --git a/packages/core/src/lib/data-paths.test.ts b/packages/core/src/lib/data-paths.test.ts index acf26700e..02ca20ffd 100644 --- a/packages/core/src/lib/data-paths.test.ts +++ b/packages/core/src/lib/data-paths.test.ts @@ -1,5 +1,5 @@ import { test, expect } from "bun:test" -import { DataPathsManager } from "./data-paths" +import { DataPathsManager } from "./data-paths.js" test("DataPathsManager validates appName", () => { const manager = new DataPathsManager() diff --git a/packages/core/src/lib/data-paths.ts b/packages/core/src/lib/data-paths.ts index aae046351..fc32bdced 100644 --- a/packages/core/src/lib/data-paths.ts +++ b/packages/core/src/lib/data-paths.ts @@ -1,9 +1,9 @@ import os from "os" import path from "path" import { EventEmitter } from "events" -import { singleton } from "./singleton" -import { env, registerEnvVar } from "./env" -import { isValidDirectoryName } from "./validate-dir-name" +import { singleton } from "./singleton.js" +import { env, registerEnvVar } from "./env.js" +import { isValidDirectoryName } from "./validate-dir-name.js" // Register environment variables for XDG directories registerEnvVar({ diff --git a/packages/core/src/lib/extmarks-history.ts b/packages/core/src/lib/extmarks-history.ts index a27cd1bc9..0523a2778 100644 --- a/packages/core/src/lib/extmarks-history.ts +++ b/packages/core/src/lib/extmarks-history.ts @@ -1,4 +1,4 @@ -import type { Extmark } from "./extmarks" +import type { Extmark } from "./extmarks.js" export interface ExtmarksSnapshot { extmarks: Map diff --git a/packages/core/src/lib/extmarks-multiwidth.test.ts b/packages/core/src/lib/extmarks-multiwidth.test.ts index c46ece91c..f00e52606 100644 --- a/packages/core/src/lib/extmarks-multiwidth.test.ts +++ b/packages/core/src/lib/extmarks-multiwidth.test.ts @@ -1,9 +1,9 @@ import { describe, expect, it, afterEach } from "bun:test" -import { TextareaRenderable } from "../renderables/Textarea" -import { createTestRenderer, type TestRenderer, type MockInput } from "../testing/test-renderer" -import { type ExtmarksController } from "./extmarks" -import { SyntaxStyle } from "../syntax-style" -import { RGBA } from "./RGBA" +import { TextareaRenderable } from "../renderables/Textarea.js" +import { createTestRenderer, type TestRenderer, type MockInput } from "../testing/test-renderer.js" +import { type ExtmarksController } from "./extmarks.js" +import { SyntaxStyle } from "../syntax-style.js" +import { RGBA } from "./RGBA.js" let currentRenderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/lib/extmarks.test.ts b/packages/core/src/lib/extmarks.test.ts index 5855db37b..60d5d08f4 100644 --- a/packages/core/src/lib/extmarks.test.ts +++ b/packages/core/src/lib/extmarks.test.ts @@ -1,9 +1,9 @@ import { describe, expect, it, afterEach } from "bun:test" -import { TextareaRenderable } from "../renderables/Textarea" -import { createTestRenderer, type TestRenderer, type MockInput } from "../testing/test-renderer" -import { type ExtmarksController } from "./extmarks" -import { SyntaxStyle } from "../syntax-style" -import { RGBA } from "./RGBA" +import { TextareaRenderable } from "../renderables/Textarea.js" +import { createTestRenderer, type TestRenderer, type MockInput } from "../testing/test-renderer.js" +import { type ExtmarksController } from "./extmarks.js" +import { SyntaxStyle } from "../syntax-style.js" +import { RGBA } from "./RGBA.js" let currentRenderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/lib/extmarks.ts b/packages/core/src/lib/extmarks.ts index c6e2a1016..fc77247bf 100644 --- a/packages/core/src/lib/extmarks.ts +++ b/packages/core/src/lib/extmarks.ts @@ -1,6 +1,6 @@ -import type { EditBuffer } from "../edit-buffer" -import type { EditorView } from "../editor-view" -import { ExtmarksHistory, type ExtmarksSnapshot } from "./extmarks-history" +import type { EditBuffer } from "../edit-buffer.js" +import type { EditorView } from "../editor-view.js" +import { ExtmarksHistory, type ExtmarksSnapshot } from "./extmarks-history.js" export interface Extmark { id: number diff --git a/packages/core/src/lib/hast-styled-text.ts b/packages/core/src/lib/hast-styled-text.ts index 7916ac10e..10c43cdc7 100644 --- a/packages/core/src/lib/hast-styled-text.ts +++ b/packages/core/src/lib/hast-styled-text.ts @@ -1,6 +1,6 @@ -import type { TextChunk } from "../text-buffer" -import { StyledText } from "./styled-text" -import { SyntaxStyle } from "../syntax-style" +import type { TextChunk } from "../text-buffer.js" +import { StyledText } from "./styled-text.js" +import { SyntaxStyle } from "../syntax-style.js" export interface HASTText { type: "text" @@ -18,7 +18,7 @@ export interface HASTElement { export type HASTNode = HASTText | HASTElement -export type { StyleDefinition } from "../syntax-style" +export type { StyleDefinition } from "../syntax-style.js" function hastToTextChunks(node: HASTNode, syntaxStyle: SyntaxStyle, parentStyles: string[] = []): TextChunk[] { const chunks: TextChunk[] = [] diff --git a/packages/core/src/lib/index.ts b/packages/core/src/lib/index.ts index 71496bbcb..96d280b8a 100644 --- a/packages/core/src/lib/index.ts +++ b/packages/core/src/lib/index.ts @@ -1,18 +1,18 @@ -export * from "./border" -export * from "./KeyHandler" -export * from "./ascii.font" -export * from "./hast-styled-text" -export * from "./RGBA" -export * from "./parse.keypress" -export * from "./scroll-acceleration" -export * from "./stdin-buffer" -export * from "./styled-text" -export * from "./yoga.options" -export * from "./parse.mouse" -export * from "./selection" -export * from "./env" -export * from "./tree-sitter-styled-text" -export * from "./tree-sitter" -export * from "./data-paths" -export * from "./extmarks" -export * from "./terminal-palette" +export * from "./border.js" +export * from "./KeyHandler.js" +export * from "./ascii.font.js" +export * from "./hast-styled-text.js" +export * from "./RGBA.js" +export * from "./parse.keypress.js" +export * from "./scroll-acceleration.js" +export * from "./stdin-buffer.js" +export * from "./styled-text.js" +export * from "./yoga.options.js" +export * from "./parse.mouse.js" +export * from "./selection.js" +export * from "./env.js" +export * from "./tree-sitter-styled-text.js" +export * from "./tree-sitter/index.js" +export * from "./data-paths.js" +export * from "./extmarks.js" +export * from "./terminal-palette.js" diff --git a/packages/core/src/lib/keymapping.test.ts b/packages/core/src/lib/keymapping.test.ts index 5c2fb4f05..02259aedc 100644 --- a/packages/core/src/lib/keymapping.test.ts +++ b/packages/core/src/lib/keymapping.test.ts @@ -7,7 +7,7 @@ import { defaultKeyAliases, keyBindingToString, type KeyAliasMap, -} from "./keymapping" +} from "./keymapping.js" describe("keymapping", () => { describe("getKeyBindingKey", () => { diff --git a/packages/core/src/lib/objects-in-viewport.test.ts b/packages/core/src/lib/objects-in-viewport.test.ts index 2df40c90a..1606c8363 100644 --- a/packages/core/src/lib/objects-in-viewport.test.ts +++ b/packages/core/src/lib/objects-in-viewport.test.ts @@ -1,6 +1,6 @@ import { test, expect, describe } from "bun:test" -import { getObjectsInViewport } from "./objects-in-viewport" -import type { ViewportBounds } from "../types" +import { getObjectsInViewport } from "./objects-in-viewport.js" +import type { ViewportBounds } from "../types.js" interface TestObject { x: number diff --git a/packages/core/src/lib/objects-in-viewport.ts b/packages/core/src/lib/objects-in-viewport.ts index ab595f642..48e402460 100644 --- a/packages/core/src/lib/objects-in-viewport.ts +++ b/packages/core/src/lib/objects-in-viewport.ts @@ -1,4 +1,4 @@ -import type { ViewportBounds } from "../types" +import type { ViewportBounds } from "../types.js" interface ViewportObject { x: number diff --git a/packages/core/src/lib/parse.keypress-kitty.test.ts b/packages/core/src/lib/parse.keypress-kitty.test.ts index 283b3fe6d..80e542d6f 100644 --- a/packages/core/src/lib/parse.keypress-kitty.test.ts +++ b/packages/core/src/lib/parse.keypress-kitty.test.ts @@ -1,5 +1,5 @@ import { test, expect } from "bun:test" -import { parseKeypress, type ParseKeypressOptions } from "./parse.keypress" +import { parseKeypress, type ParseKeypressOptions } from "./parse.keypress.js" test("parseKeypress - Kitty keyboard protocol disabled by default", () => { // Kitty sequences should fall back to regular parsing when disabled diff --git a/packages/core/src/lib/parse.keypress-kitty.ts b/packages/core/src/lib/parse.keypress-kitty.ts index 5790ef725..08da3acb6 100644 --- a/packages/core/src/lib/parse.keypress-kitty.ts +++ b/packages/core/src/lib/parse.keypress-kitty.ts @@ -1,7 +1,7 @@ // Kitty Keyboard Protocol parser // Based on https://sw.kovidgoyal.net/kitty/keyboard-protocol/ -import type { ParsedKey } from "./parse.keypress" +import type { ParsedKey } from "./parse.keypress.js" const kittyKeyMap: Record = { // Standard keys diff --git a/packages/core/src/lib/parse.keypress.test.ts b/packages/core/src/lib/parse.keypress.test.ts index 338f13508..7ff2b5f2d 100644 --- a/packages/core/src/lib/parse.keypress.test.ts +++ b/packages/core/src/lib/parse.keypress.test.ts @@ -1,5 +1,5 @@ import { test, expect } from "bun:test" -import { parseKeypress, nonAlphanumericKeys, type ParsedKey, type KeyEventType } from "./parse.keypress" +import { parseKeypress, nonAlphanumericKeys, type ParsedKey, type KeyEventType } from "./parse.keypress.js" import { Buffer } from "node:buffer" test("parseKeypress - basic letters", () => { diff --git a/packages/core/src/lib/parse.keypress.ts b/packages/core/src/lib/parse.keypress.ts index afa825e5b..652350852 100644 --- a/packages/core/src/lib/parse.keypress.ts +++ b/packages/core/src/lib/parse.keypress.ts @@ -1,6 +1,6 @@ // Copied from https://github.com/enquirer/enquirer/blob/36785f3399a41cd61e9d28d1eb9c2fcd73d69b4c/lib/keypress.js import { Buffer } from "node:buffer" -import { parseKittyKeyboard } from "./parse.keypress-kitty" +import { parseKittyKeyboard } from "./parse.keypress-kitty.js" const metaKeyCodeRe = /^(?:\x1b)([a-zA-Z0-9])$/ diff --git a/packages/core/src/lib/renderable.validations.test.ts b/packages/core/src/lib/renderable.validations.test.ts index a9977d9f0..8b4dac1b4 100644 --- a/packages/core/src/lib/renderable.validations.test.ts +++ b/packages/core/src/lib/renderable.validations.test.ts @@ -10,7 +10,7 @@ import { isPositionTypeType, isOverflowType, isValidPercentage, -} from "./renderable.validations" +} from "./renderable.validations.js" describe("Utility Functions", () => { test("validateOptions", () => { diff --git a/packages/core/src/lib/renderable.validations.ts b/packages/core/src/lib/renderable.validations.ts index e7f16b306..f110ff247 100644 --- a/packages/core/src/lib/renderable.validations.ts +++ b/packages/core/src/lib/renderable.validations.ts @@ -1,5 +1,5 @@ -import type { RenderableOptions, Renderable } from "../Renderable" -import type { PositionTypeString, OverflowString } from "./yoga.options" +import type { RenderableOptions, Renderable } from "../Renderable.js" +import type { PositionTypeString, OverflowString } from "./yoga.options.js" export function validateOptions(id: string, options: RenderableOptions): void { if (typeof options.width === "number") { diff --git a/packages/core/src/lib/selection.ts b/packages/core/src/lib/selection.ts index 9a680cb99..fe42d0f46 100644 --- a/packages/core/src/lib/selection.ts +++ b/packages/core/src/lib/selection.ts @@ -1,5 +1,5 @@ -import { Renderable, type ViewportBounds } from ".." -import { coordinateToCharacterIndex, fonts } from "./ascii.font" +import { Renderable, type ViewportBounds } from "../index.js" +import { coordinateToCharacterIndex, fonts } from "./ascii.font.js" class SelectionAnchor { private relativeX: number diff --git a/packages/core/src/lib/stdin-buffer.test.ts b/packages/core/src/lib/stdin-buffer.test.ts index f05ae357a..98d634b9f 100644 --- a/packages/core/src/lib/stdin-buffer.test.ts +++ b/packages/core/src/lib/stdin-buffer.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it, beforeEach } from "bun:test" -import { StdinBuffer } from "./stdin-buffer" +import { StdinBuffer } from "./stdin-buffer.js" describe("StdinBuffer", () => { let buffer: StdinBuffer diff --git a/packages/core/src/lib/styled-text.ts b/packages/core/src/lib/styled-text.ts index a65527d0a..726f7bf05 100644 --- a/packages/core/src/lib/styled-text.ts +++ b/packages/core/src/lib/styled-text.ts @@ -1,7 +1,7 @@ -import type { TextRenderable } from "../renderables/Text" -import type { TextBuffer, TextChunk } from "../text-buffer" -import { createTextAttributes } from "../utils" -import { parseColor, type ColorInput } from "./RGBA" +import type { TextRenderable } from "../renderables/Text.js" +import type { TextBuffer, TextChunk } from "../text-buffer.js" +import { createTextAttributes } from "../utils.js" +import { parseColor, type ColorInput } from "./RGBA.js" const BrandedStyledText: unique symbol = Symbol.for("@opentui/core/StyledText") diff --git a/packages/core/src/lib/terminal-capability-detection.test.ts b/packages/core/src/lib/terminal-capability-detection.test.ts index d0572e365..002c293df 100644 --- a/packages/core/src/lib/terminal-capability-detection.test.ts +++ b/packages/core/src/lib/terminal-capability-detection.test.ts @@ -1,5 +1,9 @@ import { test, expect, describe } from "bun:test" -import { isCapabilityResponse, isPixelResolutionResponse, parsePixelResolution } from "./terminal-capability-detection" +import { + isCapabilityResponse, + isPixelResolutionResponse, + parsePixelResolution, +} from "./terminal-capability-detection.js" describe("isCapabilityResponse", () => { test("detects DECRPM responses", () => { diff --git a/packages/core/src/lib/terminal-palette.test.ts b/packages/core/src/lib/terminal-palette.test.ts index 5d4985c34..07a259c95 100644 --- a/packages/core/src/lib/terminal-palette.test.ts +++ b/packages/core/src/lib/terminal-palette.test.ts @@ -1,5 +1,5 @@ import { test, expect } from "bun:test" -import { TerminalPalette } from "./terminal-palette" +import { TerminalPalette } from "./terminal-palette.js" import { EventEmitter } from "events" import { Buffer } from "node:buffer" diff --git a/packages/core/src/lib/tree-sitter-styled-text.test.ts b/packages/core/src/lib/tree-sitter-styled-text.test.ts index bd0cf2510..e84b7e810 100644 --- a/packages/core/src/lib/tree-sitter-styled-text.test.ts +++ b/packages/core/src/lib/tree-sitter-styled-text.test.ts @@ -1,13 +1,13 @@ import { test, expect, beforeAll, afterAll, describe } from "bun:test" -import { TreeSitterClient } from "./tree-sitter/client" -import { treeSitterToStyledText, treeSitterToTextChunks } from "./tree-sitter-styled-text" -import { SyntaxStyle } from "../syntax-style" -import { RGBA } from "./RGBA" -import { createTextAttributes } from "../utils" +import { TreeSitterClient } from "./tree-sitter/client.js" +import { treeSitterToStyledText, treeSitterToTextChunks } from "./tree-sitter-styled-text.js" +import { SyntaxStyle } from "../syntax-style.js" +import { RGBA } from "./RGBA.js" +import { createTextAttributes } from "../utils.js" import { tmpdir } from "os" import { join } from "path" import { mkdir } from "fs/promises" -import type { SimpleHighlight } from "./tree-sitter/types" +import type { SimpleHighlight } from "./tree-sitter/types.js" describe("TreeSitter Styled Text", () => { let client: TreeSitterClient diff --git a/packages/core/src/lib/tree-sitter-styled-text.ts b/packages/core/src/lib/tree-sitter-styled-text.ts index 74f798fb6..efaf4fca9 100644 --- a/packages/core/src/lib/tree-sitter-styled-text.ts +++ b/packages/core/src/lib/tree-sitter-styled-text.ts @@ -1,10 +1,10 @@ -import type { TextChunk } from "../text-buffer" -import { StyledText } from "./styled-text" -import { SyntaxStyle, type StyleDefinition } from "../syntax-style" -import { TreeSitterClient } from "./tree-sitter/client" -import type { SimpleHighlight } from "./tree-sitter/types" -import { createTextAttributes } from "../utils" -import { registerEnvVar, env } from "./env" +import type { TextChunk } from "../text-buffer.js" +import { StyledText } from "./styled-text.js" +import { SyntaxStyle, type StyleDefinition } from "../syntax-style.js" +import { TreeSitterClient } from "./tree-sitter/client.js" +import type { SimpleHighlight } from "./tree-sitter/types.js" +import { createTextAttributes } from "../utils.js" +import { registerEnvVar, env } from "./env.js" registerEnvVar({ name: "OTUI_TS_STYLE_WARN", default: false, description: "Enable warnings for missing syntax styles" }) diff --git a/packages/core/src/lib/tree-sitter/assets/update.ts b/packages/core/src/lib/tree-sitter/assets/update.ts index a58953fe4..6813049ea 100644 --- a/packages/core/src/lib/tree-sitter/assets/update.ts +++ b/packages/core/src/lib/tree-sitter/assets/update.ts @@ -2,9 +2,9 @@ import { readFile, writeFile, mkdir } from "fs/promises" import * as path from "path" -import { DownloadUtils } from "../download-utils" +import { DownloadUtils } from "../download-utils.js" import { parseArgs } from "util" -import type { FiletypeParserOptions } from "../types" +import type { FiletypeParserOptions } from "../types.js" import { readdir } from "fs/promises" interface ParsersConfig { diff --git a/packages/core/src/lib/tree-sitter/cache.test.ts b/packages/core/src/lib/tree-sitter/cache.test.ts index fefdc0426..9009fabdf 100644 --- a/packages/core/src/lib/tree-sitter/cache.test.ts +++ b/packages/core/src/lib/tree-sitter/cache.test.ts @@ -1,9 +1,9 @@ import { test, expect, beforeEach, beforeAll, afterAll, describe } from "bun:test" -import { TreeSitterClient, addDefaultParsers } from "./client" +import { TreeSitterClient, addDefaultParsers } from "./client.js" import { tmpdir } from "os" import { join, resolve } from "path" import { mkdir, readdir, stat } from "fs/promises" -import type { FiletypeParserOptions } from "./types" +import type { FiletypeParserOptions } from "./types.js" describe("TreeSitterClient Caching", () => { let dataPath: string diff --git a/packages/core/src/lib/tree-sitter/client.test.ts b/packages/core/src/lib/tree-sitter/client.test.ts index 0280e9a5d..c78879591 100644 --- a/packages/core/src/lib/tree-sitter/client.test.ts +++ b/packages/core/src/lib/tree-sitter/client.test.ts @@ -1,10 +1,10 @@ import { test, expect, beforeEach, afterEach, beforeAll, describe } from "bun:test" -import { TreeSitterClient } from "./client" +import { TreeSitterClient } from "./client.js" import { tmpdir } from "os" import { join } from "path" import { mkdir, writeFile, unlink } from "fs/promises" -import { getDataPaths } from "../data-paths" -import { getTreeSitterClient } from "." +import { getDataPaths } from "../data-paths.js" +import { getTreeSitterClient } from "./index.js" describe("TreeSitterClient", () => { let client: TreeSitterClient diff --git a/packages/core/src/lib/tree-sitter/client.ts b/packages/core/src/lib/tree-sitter/client.ts index 7d9257707..4888f18fd 100644 --- a/packages/core/src/lib/tree-sitter/client.ts +++ b/packages/core/src/lib/tree-sitter/client.ts @@ -1,6 +1,6 @@ import { EventEmitter } from "events" -import { createDebounce, clearDebounceScope, DebounceController } from "../debounce" -import { ProcessQueue } from "../queue" +import { createDebounce, clearDebounceScope, DebounceController } from "../debounce.js" +import { ProcessQueue } from "../queue.js" import type { TreeSitterClientOptions, TreeSitterClientEvents, @@ -10,12 +10,12 @@ import type { Edit, PerformanceStats, SimpleHighlight, -} from "./types" -import { getParsers } from "./default-parsers" +} from "./types.js" +import { getParsers } from "./default-parsers.js" import { resolve, isAbsolute, parse } from "path" import { existsSync } from "fs" -import { registerEnvVar, env } from "../env" -import { isBunfsPath, normalizeBunfsPath } from "../bunfs" +import { registerEnvVar, env } from "../env.js" +import { isBunfsPath, normalizeBunfsPath } from "../bunfs.js" registerEnvVar({ name: "OTUI_TREE_SITTER_WORKER_PATH", diff --git a/packages/core/src/lib/tree-sitter/default-parsers.ts b/packages/core/src/lib/tree-sitter/default-parsers.ts index a46250718..3590f8a4c 100644 --- a/packages/core/src/lib/tree-sitter/default-parsers.ts +++ b/packages/core/src/lib/tree-sitter/default-parsers.ts @@ -2,7 +2,7 @@ // Run 'bun assets/update.ts' to regenerate this file // Last generated: 2025-11-06T15:28:19.836Z -import type { FiletypeParserOptions } from "./types" +import type { FiletypeParserOptions } from "./types.js" import { resolve, dirname } from "path" import { fileURLToPath } from "url" diff --git a/packages/core/src/lib/tree-sitter/index.ts b/packages/core/src/lib/tree-sitter/index.ts index 9c39f6d5a..3c25b5a01 100644 --- a/packages/core/src/lib/tree-sitter/index.ts +++ b/packages/core/src/lib/tree-sitter/index.ts @@ -1,14 +1,14 @@ -import { singleton } from "../singleton" -import { TreeSitterClient } from "./client" -import type { TreeSitterClientOptions } from "./types" -import { getDataPaths } from "../data-paths" +import { singleton } from "../singleton.js" +import { TreeSitterClient } from "./client.js" +import type { TreeSitterClientOptions } from "./types.js" +import { getDataPaths } from "../data-paths.js" -export * from "./client" -export * from "../tree-sitter-styled-text" -export * from "./types" -export * from "./resolve-ft" -export type { UpdateOptions } from "./assets/update" -export { updateAssets } from "./assets/update" +export * from "./client.js" +export * from "../tree-sitter-styled-text.js" +export * from "./types.js" +export * from "./resolve-ft.js" +export type { UpdateOptions } from "./assets/update.js" +export { updateAssets } from "./assets/update.js" export function getTreeSitterClient(): TreeSitterClient { const dataPathsManager = getDataPaths() diff --git a/packages/core/src/lib/tree-sitter/parser.worker.ts b/packages/core/src/lib/tree-sitter/parser.worker.ts index e01850131..214e5909a 100644 --- a/packages/core/src/lib/tree-sitter/parser.worker.ts +++ b/packages/core/src/lib/tree-sitter/parser.worker.ts @@ -9,10 +9,10 @@ import type { FiletypeParserOptions, PerformanceStats, InjectionMapping, -} from "./types" -import { DownloadUtils } from "./download-utils" +} from "./types.js" +import { DownloadUtils } from "./download-utils.js" import { isMainThread } from "worker_threads" -import { isBunfsPath, normalizeBunfsPath } from "../bunfs" +import { isBunfsPath, normalizeBunfsPath } from "../bunfs.js" const self = globalThis diff --git a/packages/core/src/lib/yoga.options.test.ts b/packages/core/src/lib/yoga.options.test.ts index 4c599b544..979b6ea40 100644 --- a/packages/core/src/lib/yoga.options.test.ts +++ b/packages/core/src/lib/yoga.options.test.ts @@ -16,7 +16,7 @@ import { parseOverflow, parsePositionType, parseWrap, -} from "./yoga.options" +} from "./yoga.options.js" import { BoxSizing, Align, diff --git a/packages/core/src/post/filters.ts b/packages/core/src/post/filters.ts index 05d9d1e66..b1b15160c 100644 --- a/packages/core/src/post/filters.ts +++ b/packages/core/src/post/filters.ts @@ -1,4 +1,4 @@ -import type { OptimizedBuffer } from "../buffer" +import type { OptimizedBuffer } from "../buffer.js" /** * Applies a scanline effect by darkening every nth row. diff --git a/packages/core/src/renderables/ASCIIFont.ts b/packages/core/src/renderables/ASCIIFont.ts index 0deb32a82..24be9433c 100644 --- a/packages/core/src/renderables/ASCIIFont.ts +++ b/packages/core/src/renderables/ASCIIFont.ts @@ -4,17 +4,17 @@ import { renderFontToFrameBuffer, type ASCIIFontName, type fonts, -} from "../lib/ascii.font" -import { parseColor, type ColorInput } from "../lib/RGBA" +} from "../lib/ascii.font.js" +import { parseColor, type ColorInput } from "../lib/RGBA.js" import { ASCIIFontSelectionHelper, convertGlobalToLocalSelection, Selection, type LocalSelectionBounds, -} from "../lib/selection" -import type { RenderableOptions } from "../Renderable" -import type { RenderContext } from "../types" -import { FrameBufferRenderable, type FrameBufferOptions } from "./FrameBuffer" +} from "../lib/selection.js" +import type { RenderableOptions } from "../Renderable.js" +import type { RenderContext } from "../types.js" +import { FrameBufferRenderable, type FrameBufferOptions } from "./FrameBuffer.js" export interface ASCIIFontOptions extends Omit, "width" | "height"> { text?: string diff --git a/packages/core/src/renderables/Box.test.ts b/packages/core/src/renderables/Box.test.ts index a4e1db6ba..ff2bc3566 100644 --- a/packages/core/src/renderables/Box.test.ts +++ b/packages/core/src/renderables/Box.test.ts @@ -1,7 +1,7 @@ import { test, expect, describe, beforeEach, afterEach, spyOn } from "bun:test" -import { BoxRenderable, type BoxOptions } from "./Box" -import { createTestRenderer, type TestRenderer } from "../testing/test-renderer" -import type { BorderStyle } from "../lib/border" +import { BoxRenderable, type BoxOptions } from "./Box.js" +import { createTestRenderer, type TestRenderer } from "../testing/test-renderer.js" +import type { BorderStyle } from "../lib/border.js" let testRenderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/renderables/Box.ts b/packages/core/src/renderables/Box.ts index 8507418af..f2f962d58 100644 --- a/packages/core/src/renderables/Box.ts +++ b/packages/core/src/renderables/Box.ts @@ -1,6 +1,6 @@ import { Edge, Gutter } from "yoga-layout" -import { type RenderableOptions, Renderable } from "../Renderable" -import type { OptimizedBuffer } from "../buffer" +import { type RenderableOptions, Renderable } from "../Renderable.js" +import type { OptimizedBuffer } from "../buffer.js" import { type BorderCharacters, type BorderSides, @@ -9,10 +9,10 @@ import { borderCharsToArray, getBorderSides, parseBorderStyle, -} from "../lib" -import { type ColorInput, RGBA, parseColor } from "../lib/RGBA" -import { isValidPercentage } from "../lib/renderable.validations" -import type { RenderContext } from "../types" +} from "../lib/index.js" +import { type ColorInput, RGBA, parseColor } from "../lib/RGBA.js" +import { isValidPercentage } from "../lib/renderable.validations.js" +import type { RenderContext } from "../types.js" export interface BoxOptions extends RenderableOptions { backgroundColor?: string | RGBA diff --git a/packages/core/src/renderables/Code.test.ts b/packages/core/src/renderables/Code.test.ts index d6cb0d617..0f6d804ba 100644 --- a/packages/core/src/renderables/Code.test.ts +++ b/packages/core/src/renderables/Code.test.ts @@ -1,11 +1,11 @@ import { test, expect, beforeEach, afterEach } from "bun:test" -import { CodeRenderable } from "./Code" -import { SyntaxStyle } from "../syntax-style" -import { RGBA } from "../lib/RGBA" -import { createTestRenderer, type TestRenderer, MockTreeSitterClient, type MockMouse } from "../testing" -import { TreeSitterClient } from "../lib/tree-sitter" -import type { SimpleHighlight } from "../lib/tree-sitter/types" -import { BoxRenderable } from "./Box" +import { CodeRenderable } from "./Code.js" +import { SyntaxStyle } from "../syntax-style.js" +import { RGBA } from "../lib/RGBA.js" +import { createTestRenderer, type TestRenderer, MockTreeSitterClient, type MockMouse } from "../testing.js" +import { TreeSitterClient } from "../lib/tree-sitter/index.js" +import type { SimpleHighlight } from "../lib/tree-sitter/types.js" +import { BoxRenderable } from "./Box.js" let currentRenderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/renderables/Code.ts b/packages/core/src/renderables/Code.ts index e780d72a2..0db5d5f27 100644 --- a/packages/core/src/renderables/Code.ts +++ b/packages/core/src/renderables/Code.ts @@ -1,11 +1,11 @@ -import { type RenderContext } from "../types" -import { StyledText } from "../lib/styled-text" -import { SyntaxStyle } from "../syntax-style" -import { getTreeSitterClient, treeSitterToStyledText, TreeSitterClient } from "../lib/tree-sitter" -import { TextBufferRenderable, type TextBufferOptions } from "./TextBufferRenderable" -import type { OptimizedBuffer } from "../buffer" -import type { SimpleHighlight } from "../lib/tree-sitter/types" -import { treeSitterToTextChunks } from "../lib/tree-sitter-styled-text" +import { type RenderContext } from "../types.js" +import { StyledText } from "../lib/styled-text.js" +import { SyntaxStyle } from "../syntax-style.js" +import { getTreeSitterClient, treeSitterToStyledText, TreeSitterClient } from "../lib/tree-sitter/index.js" +import { TextBufferRenderable, type TextBufferOptions } from "./TextBufferRenderable.js" +import type { OptimizedBuffer } from "../buffer.js" +import type { SimpleHighlight } from "../lib/tree-sitter/types.js" +import { treeSitterToTextChunks } from "../lib/tree-sitter-styled-text.js" export interface HighlightContext { content: string diff --git a/packages/core/src/renderables/Diff.regression.test.ts b/packages/core/src/renderables/Diff.regression.test.ts index cb6c341d2..09102b858 100644 --- a/packages/core/src/renderables/Diff.regression.test.ts +++ b/packages/core/src/renderables/Diff.regression.test.ts @@ -1,11 +1,11 @@ import { test, expect, beforeEach, afterEach } from "bun:test" -import { DiffRenderable } from "./Diff" -import { SyntaxStyle } from "../syntax-style" -import { RGBA } from "../lib/RGBA" -import { createTestRenderer, type TestRenderer } from "../testing" -import { MockTreeSitterClient } from "../testing/mock-tree-sitter-client" -import type { SimpleHighlight } from "../lib/tree-sitter/types" -import { BoxRenderable } from "./Box" +import { DiffRenderable } from "./Diff.js" +import { SyntaxStyle } from "../syntax-style.js" +import { RGBA } from "../lib/RGBA.js" +import { createTestRenderer, type TestRenderer } from "../testing.js" +import { MockTreeSitterClient } from "../testing/mock-tree-sitter-client.js" +import type { SimpleHighlight } from "../lib/tree-sitter/types.js" +import { BoxRenderable } from "./Box.js" let currentRenderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/renderables/Diff.test.ts b/packages/core/src/renderables/Diff.test.ts index 58e599bf1..6f6317842 100644 --- a/packages/core/src/renderables/Diff.test.ts +++ b/packages/core/src/renderables/Diff.test.ts @@ -1,9 +1,9 @@ import { test, expect, beforeEach, afterEach } from "bun:test" -import { DiffRenderable } from "./Diff" -import { SyntaxStyle } from "../syntax-style" -import { RGBA } from "../lib/RGBA" -import { createTestRenderer, type TestRenderer } from "../testing" -import type { SimpleHighlight } from "../lib/tree-sitter/types" +import { DiffRenderable } from "./Diff.js" +import { SyntaxStyle } from "../syntax-style.js" +import { RGBA } from "../lib/RGBA.js" +import { createTestRenderer, type TestRenderer } from "../testing.js" +import type { SimpleHighlight } from "../lib/tree-sitter/types.js" let currentRenderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/renderables/Diff.ts b/packages/core/src/renderables/Diff.ts index f7ba43691..958ce18cf 100644 --- a/packages/core/src/renderables/Diff.ts +++ b/packages/core/src/renderables/Diff.ts @@ -1,12 +1,12 @@ -import { Renderable, type RenderableOptions } from "../Renderable" -import type { RenderContext } from "../types" -import { CodeRenderable, type CodeOptions } from "./Code" -import { LineNumberRenderable, type LineSign, type LineColorConfig } from "./LineNumberRenderable" -import { RGBA, parseColor } from "../lib/RGBA" -import { SyntaxStyle } from "../syntax-style" +import { Renderable, type RenderableOptions } from "../Renderable.js" +import type { RenderContext } from "../types.js" +import { CodeRenderable, type CodeOptions } from "./Code.js" +import { LineNumberRenderable, type LineSign, type LineColorConfig } from "./LineNumberRenderable.js" +import { RGBA, parseColor } from "../lib/RGBA.js" +import { SyntaxStyle } from "../syntax-style.js" import { parsePatch, type StructuredPatch } from "diff" -import { TextRenderable } from "./Text" -import type { TreeSitterClient } from "../lib/tree-sitter" +import { TextRenderable } from "./Text.js" +import type { TreeSitterClient } from "../lib/tree-sitter/index.js" interface LogicalLine { content: string diff --git a/packages/core/src/renderables/EditBufferRenderable.ts b/packages/core/src/renderables/EditBufferRenderable.ts index 35b2e7e78..9c2456fc6 100644 --- a/packages/core/src/renderables/EditBufferRenderable.ts +++ b/packages/core/src/renderables/EditBufferRenderable.ts @@ -1,12 +1,12 @@ -import { Renderable, type RenderableOptions } from "../Renderable" -import { convertGlobalToLocalSelection, Selection, type LocalSelectionBounds } from "../lib/selection" -import { EditBuffer, type LogicalCursor } from "../edit-buffer" -import { EditorView, type VisualCursor } from "../editor-view" -import { RGBA, parseColor } from "../lib/RGBA" -import type { RenderContext, Highlight, CursorStyleOptions, LineInfoProvider, LineInfo } from "../types" -import type { OptimizedBuffer } from "../buffer" +import { Renderable, type RenderableOptions } from "../Renderable.js" +import { convertGlobalToLocalSelection, Selection, type LocalSelectionBounds } from "../lib/selection.js" +import { EditBuffer, type LogicalCursor } from "../edit-buffer.js" +import { EditorView, type VisualCursor } from "../editor-view.js" +import { RGBA, parseColor } from "../lib/RGBA.js" +import type { RenderContext, Highlight, CursorStyleOptions, LineInfoProvider, LineInfo } from "../types.js" +import type { OptimizedBuffer } from "../buffer.js" import { MeasureMode } from "yoga-layout" -import type { SyntaxStyle } from "../syntax-style" +import type { SyntaxStyle } from "../syntax-style.js" export interface CursorChangeEvent { line: number diff --git a/packages/core/src/renderables/FrameBuffer.ts b/packages/core/src/renderables/FrameBuffer.ts index 9720e6643..16c2ed8f8 100644 --- a/packages/core/src/renderables/FrameBuffer.ts +++ b/packages/core/src/renderables/FrameBuffer.ts @@ -1,6 +1,6 @@ -import { type RenderableOptions, Renderable } from "../Renderable" -import { OptimizedBuffer } from "../buffer" -import type { RenderContext } from "../types" +import { type RenderableOptions, Renderable } from "../Renderable.js" +import { OptimizedBuffer } from "../buffer.js" +import type { RenderContext } from "../types.js" export interface FrameBufferOptions extends RenderableOptions { width: number diff --git a/packages/core/src/renderables/Input.test.ts b/packages/core/src/renderables/Input.test.ts index dd98deeaa..271174440 100644 --- a/packages/core/src/renderables/Input.test.ts +++ b/packages/core/src/renderables/Input.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it, afterAll, beforeAll } from "bun:test" -import { InputRenderable, type InputRenderableOptions, InputRenderableEvents } from "./Input" -import { createTestRenderer } from "../testing/test-renderer" -import type { KeyEvent } from "../lib/KeyHandler" +import { InputRenderable, type InputRenderableOptions, InputRenderableEvents } from "./Input.js" +import { createTestRenderer } from "../testing/test-renderer.js" +import type { KeyEvent } from "../lib/KeyHandler.js" const { renderer, mockInput } = await createTestRenderer({}) diff --git a/packages/core/src/renderables/Input.ts b/packages/core/src/renderables/Input.ts index 9161308eb..801adb2eb 100644 --- a/packages/core/src/renderables/Input.ts +++ b/packages/core/src/renderables/Input.ts @@ -1,11 +1,11 @@ -import type { PasteEvent } from "../lib/KeyHandler" -import type { RenderContext } from "../types" +import type { PasteEvent } from "../lib/KeyHandler.js" +import type { RenderContext } from "../types.js" import { TextareaRenderable, type TextareaOptions, type TextareaAction, type KeyBinding as TextareaKeyBinding, -} from "./Textarea" +} from "./Textarea.js" export type InputAction = TextareaAction export type InputKeyBinding = TextareaKeyBinding diff --git a/packages/core/src/renderables/LineNumberRenderable.ts b/packages/core/src/renderables/LineNumberRenderable.ts index e7ddd55d5..2db328dbb 100644 --- a/packages/core/src/renderables/LineNumberRenderable.ts +++ b/packages/core/src/renderables/LineNumberRenderable.ts @@ -1,7 +1,7 @@ -import { Renderable, type RenderableOptions } from "../Renderable" -import { OptimizedBuffer } from "../buffer" -import type { RenderContext, LineInfoProvider } from "../types" -import { RGBA, parseColor } from "../lib/RGBA" +import { Renderable, type RenderableOptions } from "../Renderable.js" +import { OptimizedBuffer } from "../buffer.js" +import type { RenderContext, LineInfoProvider } from "../types.js" +import { RGBA, parseColor } from "../lib/RGBA.js" import { MeasureMode } from "yoga-layout" export interface LineSign { diff --git a/packages/core/src/renderables/Markdown.ts b/packages/core/src/renderables/Markdown.ts index 614615af5..430f57bb6 100644 --- a/packages/core/src/renderables/Markdown.ts +++ b/packages/core/src/renderables/Markdown.ts @@ -1,16 +1,16 @@ -import { Renderable, type RenderableOptions } from "../Renderable" -import { type RenderContext } from "../types" -import { SyntaxStyle, type StyleDefinition } from "../syntax-style" -import { StyledText } from "../lib/styled-text" -import type { TextChunk } from "../text-buffer" -import { createTextAttributes } from "../utils" +import { Renderable, type RenderableOptions } from "../Renderable.js" +import { type RenderContext } from "../types.js" +import { SyntaxStyle, type StyleDefinition } from "../syntax-style.js" +import { StyledText } from "../lib/styled-text.js" +import type { TextChunk } from "../text-buffer.js" +import { createTextAttributes } from "../utils.js" import { Lexer, type MarkedToken, type Token, type Tokens } from "marked" -import { TextRenderable } from "./Text" -import { CodeRenderable } from "./Code" -import { BoxRenderable } from "./Box" -import type { TreeSitterClient } from "../lib/tree-sitter" -import { parseMarkdownIncremental, type ParseState } from "./markdown-parser" -import type { OptimizedBuffer } from "../buffer" +import { TextRenderable } from "./Text.js" +import { CodeRenderable } from "./Code.js" +import { BoxRenderable } from "./Box.js" +import type { TreeSitterClient } from "../lib/tree-sitter/index.js" +import { parseMarkdownIncremental, type ParseState } from "./markdown-parser.js" +import type { OptimizedBuffer } from "../buffer.js" export interface MarkdownOptions extends RenderableOptions { content?: string diff --git a/packages/core/src/renderables/ScrollBar.ts b/packages/core/src/renderables/ScrollBar.ts index 974c262f8..4a54efd7c 100644 --- a/packages/core/src/renderables/ScrollBar.ts +++ b/packages/core/src/renderables/ScrollBar.ts @@ -1,10 +1,10 @@ -import type { OptimizedBuffer } from "../buffer" -import { parseColor, RGBA, type ColorInput } from "../lib" -import type { KeyEvent } from "../lib/KeyHandler" -import { Renderable, type RenderableOptions } from "../Renderable" -import type { RenderContext, Timeout } from "../types" -import { type BoxOptions } from "./Box" -import { SliderRenderable, type SliderOptions } from "./Slider" +import type { OptimizedBuffer } from "../buffer.js" +import { parseColor, RGBA, type ColorInput } from "../lib/index.js" +import type { KeyEvent } from "../lib/KeyHandler.js" +import { Renderable, type RenderableOptions } from "../Renderable.js" +import type { RenderContext, Timeout } from "../types.js" +import { type BoxOptions } from "./Box.js" +import { SliderRenderable, type SliderOptions } from "./Slider.js" export interface ScrollBarOptions extends RenderableOptions { orientation: "vertical" | "horizontal" diff --git a/packages/core/src/renderables/ScrollBox.ts b/packages/core/src/renderables/ScrollBox.ts index 7eff8a0d3..0306b0755 100644 --- a/packages/core/src/renderables/ScrollBox.ts +++ b/packages/core/src/renderables/ScrollBox.ts @@ -1,12 +1,12 @@ -import { type KeyEvent } from "../lib" -import { getObjectsInViewport } from "../lib/objects-in-viewport" -import { LinearScrollAccel, MacOSScrollAccel, type ScrollAcceleration } from "../lib/scroll-acceleration" -import type { Renderable, RenderableOptions } from "../Renderable" -import type { MouseEvent } from "../renderer" -import type { RenderContext } from "../types" -import { BoxRenderable, type BoxOptions } from "./Box" -import type { VNode } from "./composition/vnode" -import { ScrollBarRenderable, type ScrollBarOptions, type ScrollUnit } from "./ScrollBar" +import { type KeyEvent } from "../lib/index.js" +import { getObjectsInViewport } from "../lib/objects-in-viewport.js" +import { LinearScrollAccel, MacOSScrollAccel, type ScrollAcceleration } from "../lib/scroll-acceleration.js" +import type { Renderable, RenderableOptions } from "../Renderable.js" +import type { MouseEvent } from "../renderer.js" +import type { RenderContext } from "../types.js" +import { BoxRenderable, type BoxOptions } from "./Box.js" +import type { VNode } from "./composition/vnode.js" +import { ScrollBarRenderable, type ScrollBarOptions, type ScrollUnit } from "./ScrollBar.js" class ContentRenderable extends BoxRenderable { private viewport: BoxRenderable diff --git a/packages/core/src/renderables/Select.test.ts b/packages/core/src/renderables/Select.test.ts index fd8d3097f..58359dda4 100644 --- a/packages/core/src/renderables/Select.test.ts +++ b/packages/core/src/renderables/Select.test.ts @@ -1,7 +1,7 @@ import { test, expect, beforeEach, afterEach, describe } from "bun:test" -import { SelectRenderable, type SelectRenderableOptions, SelectRenderableEvents, type SelectOption } from "./Select" -import { createTestRenderer, type MockInput, type TestRenderer } from "../testing/test-renderer" -import { KeyEvent } from "../lib/KeyHandler" +import { SelectRenderable, type SelectRenderableOptions, SelectRenderableEvents, type SelectOption } from "./Select.js" +import { createTestRenderer, type MockInput, type TestRenderer } from "../testing/test-renderer.js" +import { KeyEvent } from "../lib/KeyHandler.js" // Helper function to create a KeyEvent from a string or object function createKeyEvent( diff --git a/packages/core/src/renderables/Select.ts b/packages/core/src/renderables/Select.ts index ce2a47908..675b0a562 100644 --- a/packages/core/src/renderables/Select.ts +++ b/packages/core/src/renderables/Select.ts @@ -1,9 +1,9 @@ -import { OptimizedBuffer } from "../buffer" -import { fonts, measureText, renderFontToFrameBuffer } from "../lib/ascii.font" -import type { KeyEvent } from "../lib/KeyHandler" -import { RGBA, parseColor, type ColorInput } from "../lib/RGBA" -import { Renderable, type RenderableOptions } from "../Renderable" -import type { RenderContext } from "../types" +import { OptimizedBuffer } from "../buffer.js" +import { fonts, measureText, renderFontToFrameBuffer } from "../lib/ascii.font.js" +import type { KeyEvent } from "../lib/KeyHandler.js" +import { RGBA, parseColor, type ColorInput } from "../lib/RGBA.js" +import { Renderable, type RenderableOptions } from "../Renderable.js" +import type { RenderContext } from "../types.js" import { type KeyBinding as BaseKeyBinding, mergeKeyBindings, @@ -12,7 +12,7 @@ import { type KeyAliasMap, defaultKeyAliases, mergeKeyAliases, -} from "../lib/keymapping" +} from "../lib/keymapping.js" export interface SelectOption { name: string diff --git a/packages/core/src/renderables/Slider.test.ts b/packages/core/src/renderables/Slider.test.ts index 0e494f07f..814f0c824 100644 --- a/packages/core/src/renderables/Slider.test.ts +++ b/packages/core/src/renderables/Slider.test.ts @@ -1,6 +1,6 @@ import { test, expect, beforeEach, afterEach } from "bun:test" -import { SliderRenderable, type SliderOptions } from "./Slider" -import { createTestRenderer, type MockMouse, type TestRenderer } from "../testing/test-renderer" +import { SliderRenderable, type SliderOptions } from "./Slider.js" +import { createTestRenderer, type MockMouse, type TestRenderer } from "../testing/test-renderer.js" let currentRenderer: TestRenderer let currentMockMouse: MockMouse diff --git a/packages/core/src/renderables/Slider.ts b/packages/core/src/renderables/Slider.ts index 7cf79beee..97aefc4c7 100644 --- a/packages/core/src/renderables/Slider.ts +++ b/packages/core/src/renderables/Slider.ts @@ -6,7 +6,7 @@ import { type RenderableOptions, type RenderContext, RGBA, -} from "../index" +} from "../index.js" const defaultThumbBackgroundColor = RGBA.fromHex("#9a9ea3") const defaultTrackBackgroundColor = RGBA.fromHex("#252527") diff --git a/packages/core/src/renderables/TabSelect.test.ts b/packages/core/src/renderables/TabSelect.test.ts index d3de82f8d..99dd502da 100644 --- a/packages/core/src/renderables/TabSelect.test.ts +++ b/packages/core/src/renderables/TabSelect.test.ts @@ -4,8 +4,8 @@ import { type TabSelectRenderableOptions, TabSelectRenderableEvents, type TabSelectOption, -} from "./TabSelect" -import { createTestRenderer, type MockInput, type TestRenderer } from "../testing/test-renderer" +} from "./TabSelect.js" +import { createTestRenderer, type MockInput, type TestRenderer } from "../testing/test-renderer.js" let currentRenderer: TestRenderer let currentMockInput: MockInput diff --git a/packages/core/src/renderables/TabSelect.ts b/packages/core/src/renderables/TabSelect.ts index 7b75d0210..d29623690 100644 --- a/packages/core/src/renderables/TabSelect.ts +++ b/packages/core/src/renderables/TabSelect.ts @@ -1,8 +1,8 @@ -import { Renderable, type RenderableOptions } from "../Renderable" -import { OptimizedBuffer } from "../buffer" -import { RGBA, parseColor, type ColorInput } from "../lib/RGBA" -import type { KeyEvent } from "../lib/KeyHandler" -import type { RenderContext } from "../types" +import { Renderable, type RenderableOptions } from "../Renderable.js" +import { OptimizedBuffer } from "../buffer.js" +import { RGBA, parseColor, type ColorInput } from "../lib/RGBA.js" +import type { KeyEvent } from "../lib/KeyHandler.js" +import type { RenderContext } from "../types.js" import { type KeyBinding as BaseKeyBinding, mergeKeyBindings, @@ -11,7 +11,7 @@ import { type KeyAliasMap, defaultKeyAliases, mergeKeyAliases, -} from "../lib/keymapping" +} from "../lib/keymapping.js" export interface TabSelectOption { name: string diff --git a/packages/core/src/renderables/Text.selection-buffer.test.ts b/packages/core/src/renderables/Text.selection-buffer.test.ts index 398418ddf..c91b09b64 100644 --- a/packages/core/src/renderables/Text.selection-buffer.test.ts +++ b/packages/core/src/renderables/Text.selection-buffer.test.ts @@ -1,8 +1,8 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { TextRenderable } from "./Text" -import { RGBA } from "../lib/RGBA" -import { createTestRenderer, type MockMouse, type TestRenderer } from "../testing/test-renderer" -import { BoxRenderable } from "./Box" +import { TextRenderable } from "./Text.js" +import { RGBA } from "../lib/RGBA.js" +import { createTestRenderer, type MockMouse, type TestRenderer } from "../testing/test-renderer.js" +import { BoxRenderable } from "./Box.js" let currentRenderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/renderables/Text.test.ts b/packages/core/src/renderables/Text.test.ts index fa1eebba2..374f3b926 100644 --- a/packages/core/src/renderables/Text.test.ts +++ b/packages/core/src/renderables/Text.test.ts @@ -1,10 +1,10 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { TextRenderable, type TextOptions } from "./Text" -import { TextNodeRenderable } from "./TextNode" -import { RGBA } from "../lib/RGBA" -import { stringToStyledText, StyledText } from "../lib/styled-text" -import { createTestRenderer, type MockMouse, type TestRenderer } from "../testing/test-renderer" -import { BoxRenderable } from "./Box" +import { TextRenderable, type TextOptions } from "./Text.js" +import { TextNodeRenderable } from "./TextNode.js" +import { RGBA } from "../lib/RGBA.js" +import { stringToStyledText, StyledText } from "../lib/styled-text.js" +import { createTestRenderer, type MockMouse, type TestRenderer } from "../testing/test-renderer.js" +import { BoxRenderable } from "./Box.js" let currentRenderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/renderables/Text.ts b/packages/core/src/renderables/Text.ts index 24a12263c..0928a166b 100644 --- a/packages/core/src/renderables/Text.ts +++ b/packages/core/src/renderables/Text.ts @@ -1,10 +1,10 @@ -import { BaseRenderable } from "../Renderable" -import { stringToStyledText, StyledText } from "../lib/styled-text" -import { type TextChunk } from "../text-buffer" -import { RGBA } from "../lib/RGBA" -import { type RenderContext } from "../types" -import { RootTextNodeRenderable, TextNodeRenderable } from "./TextNode" -import { TextBufferRenderable, type TextBufferOptions } from "./TextBufferRenderable" +import { BaseRenderable } from "../Renderable.js" +import { stringToStyledText, StyledText } from "../lib/styled-text.js" +import { type TextChunk } from "../text-buffer.js" +import { RGBA } from "../lib/RGBA.js" +import { type RenderContext } from "../types.js" +import { RootTextNodeRenderable, TextNodeRenderable } from "./TextNode.js" +import { TextBufferRenderable, type TextBufferOptions } from "./TextBufferRenderable.js" export interface TextOptions extends TextBufferOptions { content?: StyledText | string diff --git a/packages/core/src/renderables/TextBufferRenderable.ts b/packages/core/src/renderables/TextBufferRenderable.ts index a4243a029..e96fa831b 100644 --- a/packages/core/src/renderables/TextBufferRenderable.ts +++ b/packages/core/src/renderables/TextBufferRenderable.ts @@ -1,13 +1,13 @@ -import { Renderable, type RenderableOptions } from "../Renderable" -import { convertGlobalToLocalSelection, Selection, type LocalSelectionBounds } from "../lib/selection" -import { TextBuffer, type TextChunk } from "../text-buffer" -import { TextBufferView } from "../text-buffer-view" -import { RGBA, parseColor } from "../lib/RGBA" -import { type RenderContext, type LineInfoProvider } from "../types" -import type { OptimizedBuffer } from "../buffer" +import { Renderable, type RenderableOptions } from "../Renderable.js" +import { convertGlobalToLocalSelection, Selection, type LocalSelectionBounds } from "../lib/selection.js" +import { TextBuffer, type TextChunk } from "../text-buffer.js" +import { TextBufferView } from "../text-buffer-view.js" +import { RGBA, parseColor } from "../lib/RGBA.js" +import { type RenderContext, type LineInfoProvider } from "../types.js" +import type { OptimizedBuffer } from "../buffer.js" import { MeasureMode } from "yoga-layout" -import type { LineInfo } from "../zig" -import { SyntaxStyle } from "../syntax-style" +import type { LineInfo } from "../zig.js" +import { SyntaxStyle } from "../syntax-style.js" export interface TextBufferOptions extends RenderableOptions { fg?: string | RGBA diff --git a/packages/core/src/renderables/TextNode.test.ts b/packages/core/src/renderables/TextNode.test.ts index 0ce661e47..a18151981 100644 --- a/packages/core/src/renderables/TextNode.test.ts +++ b/packages/core/src/renderables/TextNode.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it } from "bun:test" -import { TextNodeRenderable, isTextNodeRenderable } from "./TextNode" -import { RGBA } from "../lib/RGBA" -import { StyledText, red, bold, t } from "../lib/styled-text" +import { TextNodeRenderable, isTextNodeRenderable } from "./TextNode.js" +import { RGBA } from "../lib/RGBA.js" +import { StyledText, red, bold, t } from "../lib/styled-text.js" describe("TextNodeRenderable", () => { describe("Constructor and Options", () => { diff --git a/packages/core/src/renderables/TextNode.ts b/packages/core/src/renderables/TextNode.ts index 48eb07890..453ac2c9f 100644 --- a/packages/core/src/renderables/TextNode.ts +++ b/packages/core/src/renderables/TextNode.ts @@ -1,9 +1,9 @@ -import type { TextRenderable } from "." -import { BaseRenderable, type BaseRenderableOptions } from "../Renderable" -import { RGBA, parseColor } from "../lib/RGBA" -import { isStyledText, StyledText } from "../lib/styled-text" -import { type TextChunk } from "../text-buffer" -import type { RenderContext } from "../types" +import type { TextRenderable } from "./index.js" +import { BaseRenderable, type BaseRenderableOptions } from "../Renderable.js" +import { RGBA, parseColor } from "../lib/RGBA.js" +import { isStyledText, StyledText } from "../lib/styled-text.js" +import { type TextChunk } from "../text-buffer.js" +import type { RenderContext } from "../types.js" export interface TextNodeOptions extends BaseRenderableOptions { fg?: string | RGBA diff --git a/packages/core/src/renderables/Textarea.ts b/packages/core/src/renderables/Textarea.ts index 940c5f4ba..9c92248d9 100644 --- a/packages/core/src/renderables/Textarea.ts +++ b/packages/core/src/renderables/Textarea.ts @@ -1,7 +1,7 @@ -import { type RenderContext } from "../types" -import { EditBufferRenderable, type EditBufferOptions } from "./EditBufferRenderable" -import type { KeyEvent, PasteEvent } from "../lib/KeyHandler" -import { RGBA, parseColor, type ColorInput } from "../lib/RGBA" +import { type RenderContext } from "../types.js" +import { EditBufferRenderable, type EditBufferOptions } from "./EditBufferRenderable.js" +import type { KeyEvent, PasteEvent } from "../lib/KeyHandler.js" +import { RGBA, parseColor, type ColorInput } from "../lib/RGBA.js" import { type KeyBinding as BaseKeyBinding, mergeKeyBindings, @@ -10,9 +10,9 @@ import { type KeyAliasMap, defaultKeyAliases, mergeKeyAliases, -} from "../lib/keymapping" -import { type StyledText, fg } from "../lib/styled-text" -import type { ExtmarksController } from "../lib/extmarks" +} from "../lib/keymapping.js" +import { type StyledText, fg } from "../lib/styled-text.js" +import type { ExtmarksController } from "../lib/extmarks.js" export type TextareaAction = | "move-left" diff --git a/packages/core/src/renderables/__tests__/LineNumberRenderable.scrollbox-simple.test.ts b/packages/core/src/renderables/__tests__/LineNumberRenderable.scrollbox-simple.test.ts index b3bd768c6..8fbe479cc 100644 --- a/packages/core/src/renderables/__tests__/LineNumberRenderable.scrollbox-simple.test.ts +++ b/packages/core/src/renderables/__tests__/LineNumberRenderable.scrollbox-simple.test.ts @@ -1,10 +1,10 @@ import { describe, test, expect, beforeEach, afterEach } from "bun:test" -import { createTestRenderer, type TestRenderer } from "../../testing" -import { LineNumberRenderable } from "../LineNumberRenderable" -import { CodeRenderable } from "../Code" -import { ScrollBoxRenderable } from "../ScrollBox" -import { SyntaxStyle } from "../../syntax-style" -import { RGBA } from "../../lib/RGBA" +import { createTestRenderer, type TestRenderer } from "../../testing.js" +import { LineNumberRenderable } from "../LineNumberRenderable.js" +import { CodeRenderable } from "../Code.js" +import { ScrollBoxRenderable } from "../ScrollBox.js" +import { SyntaxStyle } from "../../syntax-style.js" +import { RGBA } from "../../lib/RGBA.js" let currentRenderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/renderables/__tests__/LineNumberRenderable.scrollbox.test.ts b/packages/core/src/renderables/__tests__/LineNumberRenderable.scrollbox.test.ts index e751ae93d..4800b7854 100644 --- a/packages/core/src/renderables/__tests__/LineNumberRenderable.scrollbox.test.ts +++ b/packages/core/src/renderables/__tests__/LineNumberRenderable.scrollbox.test.ts @@ -1,11 +1,11 @@ import { describe, test, expect, beforeEach, afterEach } from "bun:test" -import { createTestRenderer, type TestRenderer } from "../../testing" -import { LineNumberRenderable } from "../LineNumberRenderable" -import { CodeRenderable } from "../Code" -import { BoxRenderable } from "../Box" -import { ScrollBoxRenderable } from "../ScrollBox" -import { SyntaxStyle } from "../../syntax-style" -import { RGBA } from "../../lib/RGBA" +import { createTestRenderer, type TestRenderer } from "../../testing.js" +import { LineNumberRenderable } from "../LineNumberRenderable.js" +import { CodeRenderable } from "../Code.js" +import { BoxRenderable } from "../Box.js" +import { ScrollBoxRenderable } from "../ScrollBox.js" +import { SyntaxStyle } from "../../syntax-style.js" +import { RGBA } from "../../lib/RGBA.js" let currentRenderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/renderables/__tests__/LineNumberRenderable.test.ts b/packages/core/src/renderables/__tests__/LineNumberRenderable.test.ts index dad7b9d61..f2e65f551 100644 --- a/packages/core/src/renderables/__tests__/LineNumberRenderable.test.ts +++ b/packages/core/src/renderables/__tests__/LineNumberRenderable.test.ts @@ -1,10 +1,10 @@ import { describe, test, expect } from "bun:test" -import { createTestRenderer } from "../../testing/test-renderer" -import { TextBufferRenderable } from "../TextBufferRenderable" -import { LineNumberRenderable } from "../LineNumberRenderable" -import { BoxRenderable } from "../Box" -import { TextareaRenderable } from "../Textarea" -import { t, fg, bold, cyan } from "../../lib/styled-text" +import { createTestRenderer } from "../../testing/test-renderer.js" +import { TextBufferRenderable } from "../TextBufferRenderable.js" +import { LineNumberRenderable } from "../LineNumberRenderable.js" +import { BoxRenderable } from "../Box.js" +import { TextareaRenderable } from "../Textarea.js" +import { t, fg, bold, cyan } from "../../lib/styled-text.js" const initialContent = `Welcome to the TextareaRenderable Demo! diff --git a/packages/core/src/renderables/__tests__/LineNumberRenderable.wrapping.test.ts b/packages/core/src/renderables/__tests__/LineNumberRenderable.wrapping.test.ts index fd488f3f0..4f98ed71f 100644 --- a/packages/core/src/renderables/__tests__/LineNumberRenderable.wrapping.test.ts +++ b/packages/core/src/renderables/__tests__/LineNumberRenderable.wrapping.test.ts @@ -1,7 +1,7 @@ import { describe, test, expect } from "bun:test" -import { createTestRenderer } from "../../testing/test-renderer" -import { TextareaRenderable } from "../Textarea" -import { LineNumberRenderable } from "../LineNumberRenderable" +import { createTestRenderer } from "../../testing/test-renderer.js" +import { TextareaRenderable } from "../Textarea.js" +import { LineNumberRenderable } from "../LineNumberRenderable.js" describe("LineNumberRenderable Wrapping & Scrolling", () => { test("renders correct line numbers when scrolled", async () => { diff --git a/packages/core/src/renderables/__tests__/Markdown.test.ts b/packages/core/src/renderables/__tests__/Markdown.test.ts index c0e40246f..1bbad71ee 100644 --- a/packages/core/src/renderables/__tests__/Markdown.test.ts +++ b/packages/core/src/renderables/__tests__/Markdown.test.ts @@ -1,10 +1,10 @@ import { test, expect, beforeEach, afterEach } from "bun:test" -import { MarkdownRenderable } from "../Markdown" -import { TextRenderable } from "../Text" -import { SyntaxStyle } from "../../syntax-style" -import { RGBA } from "../../lib/RGBA" -import { createTestRenderer, type TestRenderer } from "../../testing" -import { TextAttributes, type CapturedFrame } from "../../types" +import { MarkdownRenderable } from "../Markdown.js" +import { TextRenderable } from "../Text.js" +import { SyntaxStyle } from "../../syntax-style.js" +import { RGBA } from "../../lib/RGBA.js" +import { createTestRenderer, type TestRenderer } from "../../testing.js" +import { TextAttributes, type CapturedFrame } from "../../types.js" let renderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/renderables/__tests__/MultiRenderable.selection.test.ts b/packages/core/src/renderables/__tests__/MultiRenderable.selection.test.ts index 32dfa890e..670c5f1d2 100644 --- a/packages/core/src/renderables/__tests__/MultiRenderable.selection.test.ts +++ b/packages/core/src/renderables/__tests__/MultiRenderable.selection.test.ts @@ -1,8 +1,8 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { createTestRenderer, type TestRenderer, type MockMouse } from "../../testing/test-renderer" -import { createTextareaRenderable } from "./renderable-test-utils" -import { TextRenderable } from "../Text" -import { RGBA } from "../../lib/RGBA" +import { createTestRenderer, type TestRenderer, type MockMouse } from "../../testing/test-renderer.js" +import { createTextareaRenderable } from "./renderable-test-utils.js" +import { TextRenderable } from "../Text.js" +import { RGBA } from "../../lib/RGBA.js" let currentRenderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/renderables/__tests__/Textarea.buffer.test.ts b/packages/core/src/renderables/__tests__/Textarea.buffer.test.ts index 91fdaed8a..0807446ee 100644 --- a/packages/core/src/renderables/__tests__/Textarea.buffer.test.ts +++ b/packages/core/src/renderables/__tests__/Textarea.buffer.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { createTestRenderer, type TestRenderer, type MockInput } from "../../testing/test-renderer" -import { createTextareaRenderable } from "./renderable-test-utils" +import { createTestRenderer, type TestRenderer, type MockInput } from "../../testing/test-renderer.js" +import { createTextareaRenderable } from "./renderable-test-utils.js" let currentRenderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/renderables/__tests__/Textarea.destroyed-events.test.ts b/packages/core/src/renderables/__tests__/Textarea.destroyed-events.test.ts index 242e2d998..dde58c396 100644 --- a/packages/core/src/renderables/__tests__/Textarea.destroyed-events.test.ts +++ b/packages/core/src/renderables/__tests__/Textarea.destroyed-events.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { createTestRenderer, type TestRenderer, type MockInput } from "../../testing/test-renderer" -import { createTextareaRenderable } from "./renderable-test-utils" +import { createTestRenderer, type TestRenderer, type MockInput } from "../../testing/test-renderer.js" +import { createTextareaRenderable } from "./renderable-test-utils.js" let currentRenderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/renderables/__tests__/Textarea.editing.test.ts b/packages/core/src/renderables/__tests__/Textarea.editing.test.ts index e63a84f99..6a3b549a1 100644 --- a/packages/core/src/renderables/__tests__/Textarea.editing.test.ts +++ b/packages/core/src/renderables/__tests__/Textarea.editing.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { createTestRenderer, type TestRenderer, type MockInput } from "../../testing/test-renderer" -import { createTextareaRenderable } from "./renderable-test-utils" -import { TextareaRenderable } from "../Textarea" +import { createTestRenderer, type TestRenderer, type MockInput } from "../../testing/test-renderer.js" +import { createTextareaRenderable } from "./renderable-test-utils.js" +import { TextareaRenderable } from "../Textarea.js" let currentRenderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/renderables/__tests__/Textarea.error-handling.test.ts b/packages/core/src/renderables/__tests__/Textarea.error-handling.test.ts index 7006b2930..042f58707 100644 --- a/packages/core/src/renderables/__tests__/Textarea.error-handling.test.ts +++ b/packages/core/src/renderables/__tests__/Textarea.error-handling.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { createTestRenderer, type TestRenderer } from "../../testing/test-renderer" -import { createTextareaRenderable } from "./renderable-test-utils" +import { createTestRenderer, type TestRenderer } from "../../testing/test-renderer.js" +import { createTextareaRenderable } from "./renderable-test-utils.js" let currentRenderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/renderables/__tests__/Textarea.events.test.ts b/packages/core/src/renderables/__tests__/Textarea.events.test.ts index 48f802c83..df58b195a 100644 --- a/packages/core/src/renderables/__tests__/Textarea.events.test.ts +++ b/packages/core/src/renderables/__tests__/Textarea.events.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { createTestRenderer, type TestRenderer, type MockMouse, type MockInput } from "../../testing/test-renderer" -import { createTextareaRenderable } from "./renderable-test-utils" +import { createTestRenderer, type TestRenderer, type MockMouse, type MockInput } from "../../testing/test-renderer.js" +import { createTextareaRenderable } from "./renderable-test-utils.js" let currentRenderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/renderables/__tests__/Textarea.highlights.test.ts b/packages/core/src/renderables/__tests__/Textarea.highlights.test.ts index a5e4d4e51..916462ca9 100644 --- a/packages/core/src/renderables/__tests__/Textarea.highlights.test.ts +++ b/packages/core/src/renderables/__tests__/Textarea.highlights.test.ts @@ -1,9 +1,9 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { createTestRenderer, type TestRenderer, type MockMouse, type MockInput } from "../../testing/test-renderer" -import { createTextareaRenderable } from "./renderable-test-utils" -import { OptimizedBuffer } from "../../buffer" -import { SyntaxStyle } from "../../syntax-style" -import { RGBA } from "../../lib" +import { createTestRenderer, type TestRenderer, type MockMouse, type MockInput } from "../../testing/test-renderer.js" +import { createTextareaRenderable } from "./renderable-test-utils.js" +import { OptimizedBuffer } from "../../buffer.js" +import { SyntaxStyle } from "../../syntax-style.js" +import { RGBA } from "../../lib/index.js" let currentRenderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/renderables/__tests__/Textarea.keybinding.test.ts b/packages/core/src/renderables/__tests__/Textarea.keybinding.test.ts index caab5f97e..2baa93a4a 100644 --- a/packages/core/src/renderables/__tests__/Textarea.keybinding.test.ts +++ b/packages/core/src/renderables/__tests__/Textarea.keybinding.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it, afterAll, beforeEach, afterEach } from "bun:test" -import { createTestRenderer, type TestRenderer, type MockMouse, type MockInput } from "../../testing/test-renderer" -import { createTextareaRenderable } from "./renderable-test-utils" -import { KeyEvent } from "../../lib/KeyHandler" +import { createTestRenderer, type TestRenderer, type MockMouse, type MockInput } from "../../testing/test-renderer.js" +import { createTextareaRenderable } from "./renderable-test-utils.js" +import { KeyEvent } from "../../lib/KeyHandler.js" // Helper function to create a KeyEvent from a string function createKeyEvent( diff --git a/packages/core/src/renderables/__tests__/Textarea.paste.test.ts b/packages/core/src/renderables/__tests__/Textarea.paste.test.ts index 3e809a3b5..f83f80d9d 100644 --- a/packages/core/src/renderables/__tests__/Textarea.paste.test.ts +++ b/packages/core/src/renderables/__tests__/Textarea.paste.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { createTestRenderer, type TestRenderer, type MockInput } from "../../testing/test-renderer" -import { createTextareaRenderable } from "./renderable-test-utils" -import { PasteEvent } from "../../lib" +import { createTestRenderer, type TestRenderer, type MockInput } from "../../testing/test-renderer.js" +import { createTextareaRenderable } from "./renderable-test-utils.js" +import { PasteEvent } from "../../lib/index.js" let currentRenderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/renderables/__tests__/Textarea.rendering.test.ts b/packages/core/src/renderables/__tests__/Textarea.rendering.test.ts index ea203d9f7..c77cda385 100644 --- a/packages/core/src/renderables/__tests__/Textarea.rendering.test.ts +++ b/packages/core/src/renderables/__tests__/Textarea.rendering.test.ts @@ -1,11 +1,11 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { createTestRenderer, type TestRenderer, type MockInput } from "../../testing/test-renderer" -import { createTextareaRenderable } from "./renderable-test-utils" -import { RGBA } from "../../lib/RGBA" -import { SyntaxStyle } from "../../syntax-style" -import { OptimizedBuffer } from "../../buffer" -import { fg, t } from "../../lib" -import { BoxRenderable, TextareaRenderable, TextRenderable } from ".." +import { createTestRenderer, type TestRenderer, type MockInput } from "../../testing/test-renderer.js" +import { createTextareaRenderable } from "./renderable-test-utils.js" +import { RGBA } from "../../lib/RGBA.js" +import { SyntaxStyle } from "../../syntax-style.js" +import { OptimizedBuffer } from "../../buffer.js" +import { fg, t } from "../../lib/index.js" +import { BoxRenderable, TextareaRenderable, TextRenderable } from "../index.js" let currentRenderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/renderables/__tests__/Textarea.scroll.test.ts b/packages/core/src/renderables/__tests__/Textarea.scroll.test.ts index 22195b6ec..5a9aae3cf 100644 --- a/packages/core/src/renderables/__tests__/Textarea.scroll.test.ts +++ b/packages/core/src/renderables/__tests__/Textarea.scroll.test.ts @@ -1,8 +1,8 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { createTestRenderer, type TestRenderer, type MockMouse } from "../../testing/test-renderer" -import { createTextareaRenderable } from "./renderable-test-utils" -import { TestRecorder } from "../../testing/test-recorder" -import { RGBA } from "../../lib/RGBA" +import { createTestRenderer, type TestRenderer, type MockMouse } from "../../testing/test-renderer.js" +import { createTextareaRenderable } from "./renderable-test-utils.js" +import { TestRecorder } from "../../testing/test-recorder.js" +import { RGBA } from "../../lib/RGBA.js" let currentRenderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/renderables/__tests__/Textarea.selection.test.ts b/packages/core/src/renderables/__tests__/Textarea.selection.test.ts index 3afdb13dd..d6990365b 100644 --- a/packages/core/src/renderables/__tests__/Textarea.selection.test.ts +++ b/packages/core/src/renderables/__tests__/Textarea.selection.test.ts @@ -1,9 +1,9 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { createTestRenderer, type TestRenderer, type MockMouse, type MockInput } from "../../testing/test-renderer" -import { createTextareaRenderable } from "./renderable-test-utils" -import { RGBA } from "../../lib/RGBA" -import { OptimizedBuffer } from "../../buffer" -import { TextRenderable } from "../Text" +import { createTestRenderer, type TestRenderer, type MockMouse, type MockInput } from "../../testing/test-renderer.js" +import { createTextareaRenderable } from "./renderable-test-utils.js" +import { RGBA } from "../../lib/RGBA.js" +import { OptimizedBuffer } from "../../buffer.js" +import { TextRenderable } from "../Text.js" let currentRenderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/renderables/__tests__/Textarea.stress.test.ts b/packages/core/src/renderables/__tests__/Textarea.stress.test.ts index e301f044d..ac9251db5 100644 --- a/packages/core/src/renderables/__tests__/Textarea.stress.test.ts +++ b/packages/core/src/renderables/__tests__/Textarea.stress.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it, afterAll, beforeEach, afterEach } from "bun:test" -import { createTestRenderer, type TestRenderer, type MockMouse, type MockInput } from "../../testing/test-renderer" -import { createTextareaRenderable } from "./renderable-test-utils" +import { createTestRenderer, type TestRenderer, type MockMouse, type MockInput } from "../../testing/test-renderer.js" +import { createTextareaRenderable } from "./renderable-test-utils.js" let currentRenderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/renderables/__tests__/Textarea.undo-redo.test.ts b/packages/core/src/renderables/__tests__/Textarea.undo-redo.test.ts index b7ed5cc6d..e5a71fb0e 100644 --- a/packages/core/src/renderables/__tests__/Textarea.undo-redo.test.ts +++ b/packages/core/src/renderables/__tests__/Textarea.undo-redo.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { createTestRenderer, type TestRenderer, type MockInput } from "../../testing/test-renderer" -import { createTextareaRenderable } from "./renderable-test-utils" +import { createTestRenderer, type TestRenderer, type MockInput } from "../../testing/test-renderer.js" +import { createTextareaRenderable } from "./renderable-test-utils.js" let currentRenderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/renderables/__tests__/Textarea.visual-lines.test.ts b/packages/core/src/renderables/__tests__/Textarea.visual-lines.test.ts index a4d61d68e..12b313391 100644 --- a/packages/core/src/renderables/__tests__/Textarea.visual-lines.test.ts +++ b/packages/core/src/renderables/__tests__/Textarea.visual-lines.test.ts @@ -1,6 +1,6 @@ import { describe, it, expect, beforeEach, afterEach } from "bun:test" -import { createTestRenderer, type TestRenderer, type MockInput } from "../../testing/test-renderer" -import { createTextareaRenderable } from "./renderable-test-utils" +import { createTestRenderer, type TestRenderer, type MockInput } from "../../testing/test-renderer.js" +import { createTextareaRenderable } from "./renderable-test-utils.js" let currentRenderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/renderables/__tests__/markdown-parser.test.ts b/packages/core/src/renderables/__tests__/markdown-parser.test.ts index b52173a57..95c4d9a66 100644 --- a/packages/core/src/renderables/__tests__/markdown-parser.test.ts +++ b/packages/core/src/renderables/__tests__/markdown-parser.test.ts @@ -1,5 +1,5 @@ import { test, expect } from "bun:test" -import { parseMarkdownIncremental, type ParseState } from "../markdown-parser" +import { parseMarkdownIncremental, type ParseState } from "../markdown-parser.js" test("first parse returns all tokens", () => { const state = parseMarkdownIncremental("# Hello\n\nParagraph", null) diff --git a/packages/core/src/renderables/__tests__/renderable-test-utils.ts b/packages/core/src/renderables/__tests__/renderable-test-utils.ts index a354941db..d269a993f 100644 --- a/packages/core/src/renderables/__tests__/renderable-test-utils.ts +++ b/packages/core/src/renderables/__tests__/renderable-test-utils.ts @@ -1,6 +1,6 @@ -import { TextareaRenderable } from "../Textarea" -import { type TestRenderer } from "../../testing/test-renderer" -import { type TextareaOptions } from "../Textarea" +import { TextareaRenderable } from "../Textarea.js" +import { type TestRenderer } from "../../testing/test-renderer.js" +import { type TextareaOptions } from "../Textarea.js" export async function createTextareaRenderable( renderer: TestRenderer, diff --git a/packages/core/src/renderables/composition/VRenderable.ts b/packages/core/src/renderables/composition/VRenderable.ts index 730c9ad50..3831b05c7 100644 --- a/packages/core/src/renderables/composition/VRenderable.ts +++ b/packages/core/src/renderables/composition/VRenderable.ts @@ -1,6 +1,6 @@ -import { Renderable, type RenderableOptions } from "../../Renderable" -import type { OptimizedBuffer } from "../../buffer" -import type { RenderContext } from "../../types" +import { Renderable, type RenderableOptions } from "../../Renderable.js" +import type { OptimizedBuffer } from "../../buffer.js" +import type { RenderContext } from "../../types.js" export interface VRenderableOptions extends RenderableOptions { render?: ( diff --git a/packages/core/src/renderables/composition/constructs.ts b/packages/core/src/renderables/composition/constructs.ts index 1f55dd3a8..f12930ede 100644 --- a/packages/core/src/renderables/composition/constructs.ts +++ b/packages/core/src/renderables/composition/constructs.ts @@ -19,11 +19,11 @@ import { type SelectRenderableOptions, type TabSelectRenderableOptions, type FrameBufferOptions, -} from "../" -import { TextNodeRenderable, type TextNodeOptions } from "../TextNode" -import { h, type VChild } from "./vnode" -import { TextAttributes } from "../../types" -import type { RGBA } from "../../lib/RGBA" +} from "..//index.js" +import { TextNodeRenderable, type TextNodeOptions } from "../TextNode.js" +import { h, type VChild } from "./vnode.js" +import { TextAttributes } from "../../types.js" +import type { RGBA } from "../../lib/RGBA.js" export function Generic(props?: VRenderableOptions, ...children: VChild[]) { return h(VRenderable, props || {}, ...children) diff --git a/packages/core/src/renderables/composition/vnode.ts b/packages/core/src/renderables/composition/vnode.ts index 9c41e4805..b1e8b8dde 100644 --- a/packages/core/src/renderables/composition/vnode.ts +++ b/packages/core/src/renderables/composition/vnode.ts @@ -1,5 +1,5 @@ -import { isRenderable, Renderable, type RenderableOptions } from "../../Renderable" -import type { RenderContext } from "../../types" +import { isRenderable, Renderable, type RenderableOptions } from "../../Renderable.js" +import type { RenderContext } from "../../types.js" import util from "node:util" export type VChild = VNode | Renderable | VChild[] | null | undefined | false diff --git a/packages/core/src/renderables/index.ts b/packages/core/src/renderables/index.ts index 68b6a11f5..a3f7f5b5c 100644 --- a/packages/core/src/renderables/index.ts +++ b/packages/core/src/renderables/index.ts @@ -1,20 +1,20 @@ -export * from "./ASCIIFont" -export * from "./Box" -export * from "./Code" -export * from "./composition/constructs" -export * from "./composition/VRenderable" -export * from "./composition/vnode" -export * from "./Diff" -export * from "./FrameBuffer" -export * from "./Input" -export * from "./LineNumberRenderable" -export * from "./Markdown" -export * from "./ScrollBar" -export * from "./ScrollBox" -export * from "./Select" -export * from "./Slider" -export * from "./TabSelect" -export * from "./Text" -export * from "./TextBufferRenderable" -export * from "./TextNode" -export * from "./Textarea" +export * from "./ASCIIFont.js" +export * from "./Box.js" +export * from "./Code.js" +export * from "./composition/constructs.js" +export * from "./composition/VRenderable.js" +export * from "./composition/vnode.js" +export * from "./Diff.js" +export * from "./FrameBuffer.js" +export * from "./Input.js" +export * from "./LineNumberRenderable.js" +export * from "./Markdown.js" +export * from "./ScrollBar.js" +export * from "./ScrollBox.js" +export * from "./Select.js" +export * from "./Slider.js" +export * from "./TabSelect.js" +export * from "./Text.js" +export * from "./TextBufferRenderable.js" +export * from "./TextNode.js" +export * from "./Textarea.js" diff --git a/packages/core/src/renderer.ts b/packages/core/src/renderer.ts index c8db3ea67..4fe35c58f 100644 --- a/packages/core/src/renderer.ts +++ b/packages/core/src/renderer.ts @@ -1,38 +1,38 @@ -import { ANSI } from "./ansi" -import { Renderable, RootRenderable } from "./Renderable" +import { ANSI } from "./ansi.js" +import { Renderable, RootRenderable } from "./Renderable.js" import { type CursorStyle, DebugOverlayCorner, type RenderContext, type ViewportBounds, type WidthMethod, -} from "./types" -import { RGBA, parseColor, type ColorInput } from "./lib/RGBA" +} from "./types.js" +import { RGBA, parseColor, type ColorInput } from "./lib/RGBA.js" import type { Pointer } from "bun:ffi" -import { OptimizedBuffer } from "./buffer" -import { resolveRenderLib, type RenderLib } from "./zig" -import { TerminalConsole, type ConsoleOptions, capture } from "./console" -import { MouseParser, type MouseEventType, type RawMouseEvent, type ScrollInfo } from "./lib/parse.mouse" -import { Selection } from "./lib/selection" -import { Clipboard, type ClipboardTarget } from "./lib/clipboard" +import { OptimizedBuffer } from "./buffer.js" +import { resolveRenderLib, type RenderLib } from "./zig.js" +import { TerminalConsole, type ConsoleOptions, capture } from "./console.js" +import { MouseParser, type MouseEventType, type RawMouseEvent, type ScrollInfo } from "./lib/parse.mouse.js" +import { Selection } from "./lib/selection.js" +import { Clipboard, type ClipboardTarget } from "./lib/clipboard.js" import { EventEmitter } from "events" -import { destroySingleton, hasSingleton, singleton } from "./lib/singleton" -import { getObjectsInViewport } from "./lib/objects-in-viewport" -import { KeyHandler, InternalKeyHandler } from "./lib/KeyHandler" -import { StdinBuffer } from "./lib/stdin-buffer" -import { env, registerEnvVar } from "./lib/env" -import { getTreeSitterClient } from "./lib/tree-sitter" +import { destroySingleton, hasSingleton, singleton } from "./lib/singleton.js" +import { getObjectsInViewport } from "./lib/objects-in-viewport.js" +import { KeyHandler, InternalKeyHandler } from "./lib/KeyHandler.js" +import { StdinBuffer } from "./lib/stdin-buffer.js" +import { env, registerEnvVar } from "./lib/env.js" +import { getTreeSitterClient } from "./lib/tree-sitter/index.js" import { createTerminalPalette, type TerminalPaletteDetector, type TerminalColors, type GetPaletteOptions, -} from "./lib/terminal-palette" +} from "./lib/terminal-palette.js" import { isCapabilityResponse, isPixelResolutionResponse, parsePixelResolution, -} from "./lib/terminal-capability-detection" +} from "./lib/terminal-capability-detection.js" registerEnvVar({ name: "OTUI_DUMP_CAPTURES", diff --git a/packages/core/src/syntax-style.test.ts b/packages/core/src/syntax-style.test.ts index 5f6e3e2c6..d14883595 100644 --- a/packages/core/src/syntax-style.test.ts +++ b/packages/core/src/syntax-style.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { SyntaxStyle } from "./syntax-style" -import { RGBA } from "./lib/RGBA" -import type { StyleDefinition, ThemeTokenStyle } from "./syntax-style" +import { SyntaxStyle } from "./syntax-style.js" +import { RGBA } from "./lib/RGBA.js" +import type { StyleDefinition, ThemeTokenStyle } from "./syntax-style.js" describe("NativeSyntaxStyle", () => { let style: SyntaxStyle diff --git a/packages/core/src/syntax-style.ts b/packages/core/src/syntax-style.ts index e82304a4c..3382aba76 100644 --- a/packages/core/src/syntax-style.ts +++ b/packages/core/src/syntax-style.ts @@ -1,7 +1,7 @@ -import { RGBA, parseColor, type ColorInput } from "./lib/RGBA" -import { resolveRenderLib, type RenderLib } from "./zig" +import { RGBA, parseColor, type ColorInput } from "./lib/RGBA.js" +import { resolveRenderLib, type RenderLib } from "./zig.js" import { type Pointer } from "bun:ffi" -import { createTextAttributes } from "./utils" +import { createTextAttributes } from "./utils.js" export interface StyleDefinition { fg?: RGBA diff --git a/packages/core/src/testing.ts b/packages/core/src/testing.ts index 73078a293..613932f4f 100644 --- a/packages/core/src/testing.ts +++ b/packages/core/src/testing.ts @@ -1,7 +1,7 @@ // Testing utilities module exports -export * from "./testing/test-renderer" -export * from "./testing/mock-keys" -export * from "./testing/mock-mouse" -export * from "./testing/mock-tree-sitter-client" -export * from "./testing/spy" -export { TestRecorder, type RecordedFrame } from "./testing/test-recorder" +export * from "./testing/test-renderer.js" +export * from "./testing/mock-keys.js" +export * from "./testing/mock-mouse.js" +export * from "./testing/mock-tree-sitter-client.js" +export * from "./testing/spy.js" +export { TestRecorder, type RecordedFrame } from "./testing/test-recorder.js" diff --git a/packages/core/src/testing/capture-spans.test.ts b/packages/core/src/testing/capture-spans.test.ts index 8e17c4ca3..3fe5dc603 100644 --- a/packages/core/src/testing/capture-spans.test.ts +++ b/packages/core/src/testing/capture-spans.test.ts @@ -1,9 +1,9 @@ import { describe, test, expect, beforeEach, afterEach } from "bun:test" -import { createTestRenderer, type TestRenderer } from "./test-renderer" -import { TextRenderable } from "../renderables/Text" -import { BoxRenderable } from "../renderables/Box" -import { TextAttributes, type CapturedFrame } from "../types" -import { RGBA } from "../lib" +import { createTestRenderer, type TestRenderer } from "./test-renderer.js" +import { TextRenderable } from "../renderables/Text.js" +import { BoxRenderable } from "../renderables/Box.js" +import { TextAttributes, type CapturedFrame } from "../types.js" +import { RGBA } from "../lib/index.js" describe("captureSpans", () => { let renderer: TestRenderer diff --git a/packages/core/src/testing/integration.test.ts b/packages/core/src/testing/integration.test.ts index daed6f760..8ef4a7d68 100644 --- a/packages/core/src/testing/integration.test.ts +++ b/packages/core/src/testing/integration.test.ts @@ -1,6 +1,6 @@ import { describe, test, expect } from "bun:test" -import { createMockMouse, MouseButtons } from "./mock-mouse" -import { MouseParser } from "../lib/parse.mouse" +import { createMockMouse, MouseButtons } from "./mock-mouse.js" +import { MouseParser } from "../lib/parse.mouse.js" class MockRenderer { public stdin: { emit: (event: string, data: Buffer) => void } diff --git a/packages/core/src/testing/mock-keys.test.ts b/packages/core/src/testing/mock-keys.test.ts index 23010713e..8e952a39b 100644 --- a/packages/core/src/testing/mock-keys.test.ts +++ b/packages/core/src/testing/mock-keys.test.ts @@ -1,5 +1,5 @@ import { describe, test, expect } from "bun:test" -import { createMockKeys, KeyCodes } from "./mock-keys" +import { createMockKeys, KeyCodes } from "./mock-keys.js" import { PassThrough } from "stream" class MockRenderer { diff --git a/packages/core/src/testing/mock-keys.ts b/packages/core/src/testing/mock-keys.ts index 206ae0d16..5a7f273c8 100644 --- a/packages/core/src/testing/mock-keys.ts +++ b/packages/core/src/testing/mock-keys.ts @@ -1,5 +1,5 @@ -import type { CliRenderer } from "../renderer" -import { ANSI } from "../ansi" +import type { CliRenderer } from "../renderer.js" +import { ANSI } from "../ansi.js" export const KeyCodes = { // Control keys diff --git a/packages/core/src/testing/mock-mouse.test.ts b/packages/core/src/testing/mock-mouse.test.ts index 697d1e1f7..a33512bbe 100644 --- a/packages/core/src/testing/mock-mouse.test.ts +++ b/packages/core/src/testing/mock-mouse.test.ts @@ -1,5 +1,5 @@ import { describe, test, expect } from "bun:test" -import { createMockMouse, MouseButtons } from "./mock-mouse" +import { createMockMouse, MouseButtons } from "./mock-mouse.js" import { PassThrough } from "stream" class MockRenderer { diff --git a/packages/core/src/testing/mock-mouse.ts b/packages/core/src/testing/mock-mouse.ts index f81f57686..1bafd1cfe 100644 --- a/packages/core/src/testing/mock-mouse.ts +++ b/packages/core/src/testing/mock-mouse.ts @@ -1,4 +1,4 @@ -import type { CliRenderer } from "../renderer" +import type { CliRenderer } from "../renderer.js" export const MouseButtons = { LEFT: 0, diff --git a/packages/core/src/testing/mock-tree-sitter-client.ts b/packages/core/src/testing/mock-tree-sitter-client.ts index 545ba1a78..eff217586 100644 --- a/packages/core/src/testing/mock-tree-sitter-client.ts +++ b/packages/core/src/testing/mock-tree-sitter-client.ts @@ -1,5 +1,5 @@ -import { TreeSitterClient } from "../lib/tree-sitter" -import type { SimpleHighlight } from "../lib/tree-sitter/types" +import { TreeSitterClient } from "../lib/tree-sitter/index.js" +import type { SimpleHighlight } from "../lib/tree-sitter/types.js" export class MockTreeSitterClient extends TreeSitterClient { private _highlightPromises: Array<{ diff --git a/packages/core/src/testing/test-recorder.test.ts b/packages/core/src/testing/test-recorder.test.ts index 483e4c21b..a7ae86f10 100644 --- a/packages/core/src/testing/test-recorder.test.ts +++ b/packages/core/src/testing/test-recorder.test.ts @@ -1,7 +1,7 @@ import { describe, test, expect, beforeEach, afterEach } from "bun:test" -import { createTestRenderer, type TestRenderer } from "./test-renderer" -import { TestRecorder } from "./test-recorder" -import { TextRenderable } from "../renderables/Text" +import { createTestRenderer, type TestRenderer } from "./test-renderer.js" +import { TestRecorder } from "./test-recorder.js" +import { TextRenderable } from "../renderables/Text.js" describe("TestRecorder", () => { let renderer: TestRenderer diff --git a/packages/core/src/testing/test-recorder.ts b/packages/core/src/testing/test-recorder.ts index 92016e859..852be3bf0 100644 --- a/packages/core/src/testing/test-recorder.ts +++ b/packages/core/src/testing/test-recorder.ts @@ -1,4 +1,4 @@ -import type { TestRenderer } from "./test-renderer" +import type { TestRenderer } from "./test-renderer.js" export interface RecordBuffersOptions { fg?: boolean diff --git a/packages/core/src/testing/test-renderer.ts b/packages/core/src/testing/test-renderer.ts index c4a4d16c4..213f94e83 100644 --- a/packages/core/src/testing/test-renderer.ts +++ b/packages/core/src/testing/test-renderer.ts @@ -1,9 +1,9 @@ import { Readable } from "stream" -import { CliRenderer, type CliRendererConfig } from "../renderer" -import { resolveRenderLib } from "../zig" -import { createMockKeys } from "./mock-keys" -import { createMockMouse } from "./mock-mouse" -import type { CapturedFrame } from "../types" +import { CliRenderer, type CliRendererConfig } from "../renderer.js" +import { resolveRenderLib } from "../zig.js" +import { createMockKeys } from "./mock-keys.js" +import { createMockMouse } from "./mock-mouse.js" +import type { CapturedFrame } from "../types.js" export interface TestRendererOptions extends CliRendererConfig { width?: number diff --git a/packages/core/src/tests/absolute-positioning.snapshot.test.ts b/packages/core/src/tests/absolute-positioning.snapshot.test.ts index 2142c509a..c944b686c 100644 --- a/packages/core/src/tests/absolute-positioning.snapshot.test.ts +++ b/packages/core/src/tests/absolute-positioning.snapshot.test.ts @@ -1,7 +1,7 @@ import { test, expect, beforeEach, afterEach, describe } from "bun:test" -import { createTestRenderer, type TestRenderer } from "../testing/test-renderer" -import { BoxRenderable } from "../renderables/Box" -import { TextRenderable } from "../renderables/Text" +import { createTestRenderer, type TestRenderer } from "../testing/test-renderer.js" +import { BoxRenderable } from "../renderables/Box.js" +import { TextRenderable } from "../renderables/Text.js" let testRenderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/tests/destroy-during-render.test.ts b/packages/core/src/tests/destroy-during-render.test.ts index c164fb4e6..ffae98d7e 100644 --- a/packages/core/src/tests/destroy-during-render.test.ts +++ b/packages/core/src/tests/destroy-during-render.test.ts @@ -1,8 +1,8 @@ import { test, expect, beforeEach, afterEach, describe } from "bun:test" -import { Renderable, type RenderableOptions } from "../Renderable" -import { createTestRenderer, type TestRenderer } from "../testing/test-renderer" -import type { RenderContext } from "../types" -import type { OptimizedBuffer } from "../buffer" +import { Renderable, type RenderableOptions } from "../Renderable.js" +import { createTestRenderer, type TestRenderer } from "../testing/test-renderer.js" +import type { RenderContext } from "../types.js" +import type { OptimizedBuffer } from "../buffer.js" class TestRenderable extends Renderable { public renderSelfCalled = false diff --git a/packages/core/src/tests/opacity.test.ts b/packages/core/src/tests/opacity.test.ts index 0e8192e18..66fa45cef 100644 --- a/packages/core/src/tests/opacity.test.ts +++ b/packages/core/src/tests/opacity.test.ts @@ -1,7 +1,7 @@ import { test, expect, beforeEach, afterEach, describe } from "bun:test" -import { Renderable, type RenderableOptions } from "../Renderable" -import { createTestRenderer, type TestRenderer } from "../testing/test-renderer" -import type { RenderContext } from "../types" +import { Renderable, type RenderableOptions } from "../Renderable.js" +import { createTestRenderer, type TestRenderer } from "../testing/test-renderer.js" +import type { RenderContext } from "../types.js" class TestRenderable extends Renderable { constructor(ctx: RenderContext, options: RenderableOptions) { diff --git a/packages/core/src/tests/renderable.snapshot.test.ts b/packages/core/src/tests/renderable.snapshot.test.ts index be28f171b..dad29dc0e 100644 --- a/packages/core/src/tests/renderable.snapshot.test.ts +++ b/packages/core/src/tests/renderable.snapshot.test.ts @@ -1,7 +1,7 @@ import { test, expect, beforeEach, afterEach, describe } from "bun:test" -import { createTestRenderer, type TestRenderer } from "../testing/test-renderer" -import { BoxRenderable } from "../renderables/Box" -import { TextRenderable } from "../renderables/Text" +import { createTestRenderer, type TestRenderer } from "../testing/test-renderer.js" +import { BoxRenderable } from "../renderables/Box.js" +import { TextRenderable } from "../renderables/Text.js" let testRenderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/tests/renderable.test.ts b/packages/core/src/tests/renderable.test.ts index 3958ea533..5d24515d0 100644 --- a/packages/core/src/tests/renderable.test.ts +++ b/packages/core/src/tests/renderable.test.ts @@ -6,11 +6,11 @@ import { RenderableEvents, type BaseRenderableOptions, type RenderableOptions, -} from "../Renderable" -import { createTestRenderer, type TestRenderer, type MockMouse, type MockInput } from "../testing/test-renderer" -import type { RenderContext } from "../types" -import { TextNodeRenderable } from "../renderables/TextNode" -import { TextRenderable } from "../renderables/Text" +} from "../Renderable.js" +import { createTestRenderer, type TestRenderer, type MockMouse, type MockInput } from "../testing/test-renderer.js" +import type { RenderContext } from "../types.js" +import { TextNodeRenderable } from "../renderables/TextNode.js" +import { TextRenderable } from "../renderables/Text.js" export class TestBaseRenderable extends BaseRenderable { constructor(options: BaseRenderableOptions) { diff --git a/packages/core/src/tests/renderer.control.test.ts b/packages/core/src/tests/renderer.control.test.ts index af074f3a7..4d9bc0f94 100644 --- a/packages/core/src/tests/renderer.control.test.ts +++ b/packages/core/src/tests/renderer.control.test.ts @@ -1,7 +1,7 @@ import { test, expect, beforeEach, afterEach } from "bun:test" -import { createTestRenderer, type TestRenderer, type MockInput, type MockMouse } from "../testing/test-renderer" -import { RendererControlState } from "../renderer" -import { Renderable } from "../Renderable" +import { createTestRenderer, type TestRenderer, type MockInput, type MockMouse } from "../testing/test-renderer.js" +import { RendererControlState } from "../renderer.js" +import { Renderable } from "../Renderable.js" class TestRenderable extends Renderable { constructor(renderer: TestRenderer, options: any) { diff --git a/packages/core/src/tests/renderer.destroy-during-render.test.ts b/packages/core/src/tests/renderer.destroy-during-render.test.ts index 20ad69b64..fed0a6602 100644 --- a/packages/core/src/tests/renderer.destroy-during-render.test.ts +++ b/packages/core/src/tests/renderer.destroy-during-render.test.ts @@ -1,7 +1,7 @@ import { test, expect } from "bun:test" -import { Renderable } from "../Renderable" -import type { OptimizedBuffer } from "../buffer" -import { createTestRenderer, type TestRenderer } from "../testing/test-renderer" +import { Renderable } from "../Renderable.js" +import type { OptimizedBuffer } from "../buffer.js" +import { createTestRenderer, type TestRenderer } from "../testing/test-renderer.js" class DestroyingRenderable extends Renderable { protected renderSelf(_buffer: OptimizedBuffer, _deltaTime: number): void {} diff --git a/packages/core/src/tests/renderer.focus.test.ts b/packages/core/src/tests/renderer.focus.test.ts index 954bf5ae8..bf3d6e687 100644 --- a/packages/core/src/tests/renderer.focus.test.ts +++ b/packages/core/src/tests/renderer.focus.test.ts @@ -1,8 +1,8 @@ import { test, expect, beforeEach, afterEach } from "bun:test" -import { createTestRenderer, MouseButtons, type MockMouse, type TestRenderer } from "../testing" -import { ScrollBoxRenderable } from "../renderables/ScrollBox" -import { BoxRenderable } from "../renderables/Box" -import { TextRenderable } from "../renderables/Text" +import { createTestRenderer, MouseButtons, type MockMouse, type TestRenderer } from "../testing.js" +import { ScrollBoxRenderable } from "../renderables/ScrollBox.js" +import { BoxRenderable } from "../renderables/Box.js" +import { TextRenderable } from "../renderables/Text.js" let testRenderer: TestRenderer let mockMouse: MockMouse diff --git a/packages/core/src/tests/renderer.idle.test.ts b/packages/core/src/tests/renderer.idle.test.ts index cd60cd8e8..9274ba8c8 100644 --- a/packages/core/src/tests/renderer.idle.test.ts +++ b/packages/core/src/tests/renderer.idle.test.ts @@ -1,6 +1,6 @@ import { test, expect, beforeEach, afterEach } from "bun:test" -import { createTestRenderer, type TestRenderer } from "../testing/test-renderer" -import { RendererControlState } from "../renderer" +import { createTestRenderer, type TestRenderer } from "../testing/test-renderer.js" +import { RendererControlState } from "../renderer.js" let renderer: TestRenderer let renderOnce: () => Promise diff --git a/packages/core/src/tests/renderer.input.test.ts b/packages/core/src/tests/renderer.input.test.ts index 7a4223ce0..194aece26 100644 --- a/packages/core/src/tests/renderer.input.test.ts +++ b/packages/core/src/tests/renderer.input.test.ts @@ -1,8 +1,8 @@ import { test, expect, beforeEach, afterEach } from "bun:test" -import { nonAlphanumericKeys, type KeyEventType, type ParsedKey } from "../lib/parse.keypress" -import { type KeyEvent } from "../lib/KeyHandler" +import { nonAlphanumericKeys, type KeyEventType, type ParsedKey } from "../lib/parse.keypress.js" +import { type KeyEvent } from "../lib/KeyHandler.js" import { Buffer } from "node:buffer" -import { createTestRenderer, type TestRenderer } from "../testing/test-renderer" +import { createTestRenderer, type TestRenderer } from "../testing/test-renderer.js" let currentRenderer: TestRenderer let kittyRenderer: TestRenderer diff --git a/packages/core/src/tests/renderer.kitty-flags.test.ts b/packages/core/src/tests/renderer.kitty-flags.test.ts index 9d0939e1e..c449e399e 100644 --- a/packages/core/src/tests/renderer.kitty-flags.test.ts +++ b/packages/core/src/tests/renderer.kitty-flags.test.ts @@ -1,5 +1,5 @@ import { test, expect } from "bun:test" -import { buildKittyKeyboardFlags } from "../renderer" +import { buildKittyKeyboardFlags } from "../renderer.js" // Kitty Keyboard Protocol progressive enhancement flags // See: https://sw.kovidgoyal.net/kitty/keyboard-protocol/#progressive-enhancement diff --git a/packages/core/src/tests/renderer.mouse.test.ts b/packages/core/src/tests/renderer.mouse.test.ts index cb2aba097..a118de4f9 100644 --- a/packages/core/src/tests/renderer.mouse.test.ts +++ b/packages/core/src/tests/renderer.mouse.test.ts @@ -1,9 +1,9 @@ import { beforeEach, describe, expect, test } from "bun:test" -import { createTestRenderer, MouseButtons, type MockMouse, type TestRenderer } from "../testing" -import { Renderable, type RenderableOptions } from "../Renderable" -import type { RenderContext } from "../types" -import type { Selection } from "../lib/selection" -import type { MouseEvent } from "../renderer" +import { createTestRenderer, MouseButtons, type MockMouse, type TestRenderer } from "../testing.js" +import { Renderable, type RenderableOptions } from "../Renderable.js" +import type { RenderContext } from "../types.js" +import type { Selection } from "../lib/selection.js" +import type { MouseEvent } from "../renderer.js" class TestRenderable extends Renderable { public selectionActive = false diff --git a/packages/core/src/tests/renderer.palette.test.ts b/packages/core/src/tests/renderer.palette.test.ts index 05bdc5064..ae438058d 100644 --- a/packages/core/src/tests/renderer.palette.test.ts +++ b/packages/core/src/tests/renderer.palette.test.ts @@ -1,5 +1,5 @@ import { test, expect, describe } from "bun:test" -import { createTestRenderer } from "../testing/test-renderer" +import { createTestRenderer } from "../testing/test-renderer.js" import { EventEmitter } from "events" import { Buffer } from "node:buffer" import { Readable } from "node:stream" diff --git a/packages/core/src/tests/renderer.selection.test.ts b/packages/core/src/tests/renderer.selection.test.ts index aafe9c7aa..2ac8250ce 100644 --- a/packages/core/src/tests/renderer.selection.test.ts +++ b/packages/core/src/tests/renderer.selection.test.ts @@ -1,6 +1,6 @@ import { test, expect, beforeEach, afterEach } from "bun:test" -import { createTestRenderer, type TestRenderer } from "../testing/test-renderer" -import { TextRenderable } from "../renderables/Text" +import { createTestRenderer, type TestRenderer } from "../testing/test-renderer.js" +import { TextRenderable } from "../renderables/Text.js" let renderer: TestRenderer let renderOnce: () => void diff --git a/packages/core/src/tests/renderer.useMouse.test.ts b/packages/core/src/tests/renderer.useMouse.test.ts index 258e0771c..56a09d658 100644 --- a/packages/core/src/tests/renderer.useMouse.test.ts +++ b/packages/core/src/tests/renderer.useMouse.test.ts @@ -1,5 +1,5 @@ import { test, expect, describe } from "bun:test" -import { createTestRenderer } from "../testing/test-renderer" +import { createTestRenderer } from "../testing/test-renderer.js" // NOTE: These tests are not running the mouse activation sequences, // only verifying that the configuration is applied correctly. diff --git a/packages/core/src/tests/scrollbox-culling-bug.test.ts b/packages/core/src/tests/scrollbox-culling-bug.test.ts index 97b1dcf99..d1937e59d 100644 --- a/packages/core/src/tests/scrollbox-culling-bug.test.ts +++ b/packages/core/src/tests/scrollbox-culling-bug.test.ts @@ -1,9 +1,9 @@ import { test, expect, beforeEach, afterEach } from "bun:test" -import { createTestRenderer, type TestRenderer } from "../testing" -import { ScrollBoxRenderable } from "../renderables/ScrollBox" -import { BoxRenderable } from "../renderables/Box" -import { TextRenderable } from "../renderables/Text" -import { TestRecorder } from "../testing/test-recorder" +import { createTestRenderer, type TestRenderer } from "../testing.js" +import { ScrollBoxRenderable } from "../renderables/ScrollBox.js" +import { BoxRenderable } from "../renderables/Box.js" +import { TextRenderable } from "../renderables/Text.js" +import { TestRecorder } from "../testing/test-recorder.js" let testRenderer: TestRenderer diff --git a/packages/core/src/tests/scrollbox-hitgrid.test.ts b/packages/core/src/tests/scrollbox-hitgrid.test.ts index 105fa0c48..322e395ff 100644 --- a/packages/core/src/tests/scrollbox-hitgrid.test.ts +++ b/packages/core/src/tests/scrollbox-hitgrid.test.ts @@ -1,8 +1,8 @@ import { test, expect, beforeEach, afterEach } from "bun:test" -import { createTestRenderer, MouseButtons, type MockMouse, type TestRenderer } from "../testing" -import { ScrollBoxRenderable } from "../renderables/ScrollBox" -import { BoxRenderable } from "../renderables/Box" -import { Renderable } from "../Renderable" +import { createTestRenderer, MouseButtons, type MockMouse, type TestRenderer } from "../testing.js" +import { ScrollBoxRenderable } from "../renderables/ScrollBox.js" +import { BoxRenderable } from "../renderables/Box.js" +import { Renderable } from "../Renderable.js" let testRenderer: TestRenderer let mockMouse: MockMouse diff --git a/packages/core/src/tests/scrollbox.test.ts b/packages/core/src/tests/scrollbox.test.ts index f0aef26d4..88f7e5554 100644 --- a/packages/core/src/tests/scrollbox.test.ts +++ b/packages/core/src/tests/scrollbox.test.ts @@ -1,11 +1,11 @@ import { test, expect, beforeEach, afterEach, describe } from "bun:test" -import { createTestRenderer, type TestRenderer, type MockMouse, MockTreeSitterClient } from "../testing" -import { ScrollBoxRenderable } from "../renderables/ScrollBox" -import { BoxRenderable } from "../renderables/Box" -import { TextRenderable } from "../renderables/Text" -import { CodeRenderable } from "../renderables/Code" -import { LinearScrollAccel, MacOSScrollAccel, type ScrollAcceleration } from "../lib/scroll-acceleration" -import { SyntaxStyle } from "../syntax-style" +import { createTestRenderer, type TestRenderer, type MockMouse, MockTreeSitterClient } from "../testing.js" +import { ScrollBoxRenderable } from "../renderables/ScrollBox.js" +import { BoxRenderable } from "../renderables/Box.js" +import { TextRenderable } from "../renderables/Text.js" +import { CodeRenderable } from "../renderables/Code.js" +import { LinearScrollAccel, MacOSScrollAccel, type ScrollAcceleration } from "../lib/scroll-acceleration.js" +import { SyntaxStyle } from "../syntax-style.js" // Test accelerator that returns a constant multiplier class ConstantScrollAccel implements ScrollAcceleration { diff --git a/packages/core/src/tests/wrap-resize-perf.test.ts b/packages/core/src/tests/wrap-resize-perf.test.ts index faeea11cc..b1d06048b 100644 --- a/packages/core/src/tests/wrap-resize-perf.test.ts +++ b/packages/core/src/tests/wrap-resize-perf.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it } from "bun:test" -import { TextBuffer } from "../text-buffer" -import { TextBufferView } from "../text-buffer-view" -import { stringToStyledText } from "../lib/styled-text" +import { TextBuffer } from "../text-buffer.js" +import { TextBufferView } from "../text-buffer-view.js" +import { stringToStyledText } from "../lib/styled-text.js" /** * These tests verify algorithmic complexity rather than absolute performance. diff --git a/packages/core/src/tests/yoga-setters.test.ts b/packages/core/src/tests/yoga-setters.test.ts index 80d58f3aa..7418a058c 100644 --- a/packages/core/src/tests/yoga-setters.test.ts +++ b/packages/core/src/tests/yoga-setters.test.ts @@ -1,7 +1,7 @@ import { test, expect, beforeEach, afterEach, describe } from "bun:test" -import { Renderable, type RenderableOptions } from "../Renderable" -import { createTestRenderer, type TestRenderer } from "../testing/test-renderer" -import type { RenderContext } from "../types" +import { Renderable, type RenderableOptions } from "../Renderable.js" +import { createTestRenderer, type TestRenderer } from "../testing/test-renderer.js" +import type { RenderContext } from "../types.js" class TestRenderable extends Renderable { constructor(ctx: RenderContext, options: RenderableOptions) { diff --git a/packages/core/src/text-buffer-view.test.ts b/packages/core/src/text-buffer-view.test.ts index 0e4de9d2d..b712397e2 100644 --- a/packages/core/src/text-buffer-view.test.ts +++ b/packages/core/src/text-buffer-view.test.ts @@ -1,8 +1,8 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { TextBuffer } from "./text-buffer" -import { TextBufferView } from "./text-buffer-view" -import { StyledText, stringToStyledText } from "./lib/styled-text" -import { RGBA } from "./lib/RGBA" +import { TextBuffer } from "./text-buffer.js" +import { TextBufferView } from "./text-buffer-view.js" +import { StyledText, stringToStyledText } from "./lib/styled-text.js" +import { RGBA } from "./lib/RGBA.js" describe("TextBufferView", () => { let buffer: TextBuffer diff --git a/packages/core/src/text-buffer-view.ts b/packages/core/src/text-buffer-view.ts index 5863d7216..672d47a0b 100644 --- a/packages/core/src/text-buffer-view.ts +++ b/packages/core/src/text-buffer-view.ts @@ -1,7 +1,7 @@ -import { RGBA } from "./lib/RGBA" -import { resolveRenderLib, type LineInfo, type RenderLib } from "./zig" +import { RGBA } from "./lib/RGBA.js" +import { resolveRenderLib, type LineInfo, type RenderLib } from "./zig.js" import { type Pointer } from "bun:ffi" -import type { TextBuffer } from "./text-buffer" +import type { TextBuffer } from "./text-buffer.js" export class TextBufferView { private lib: RenderLib diff --git a/packages/core/src/text-buffer.test.ts b/packages/core/src/text-buffer.test.ts index cdd55c66a..26807921e 100644 --- a/packages/core/src/text-buffer.test.ts +++ b/packages/core/src/text-buffer.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { TextBuffer } from "./text-buffer" -import { StyledText, stringToStyledText } from "./lib/styled-text" -import { RGBA } from "./lib/RGBA" +import { TextBuffer } from "./text-buffer.js" +import { StyledText, stringToStyledText } from "./lib/styled-text.js" +import { RGBA } from "./lib/RGBA.js" describe("TextBuffer", () => { let buffer: TextBuffer diff --git a/packages/core/src/text-buffer.ts b/packages/core/src/text-buffer.ts index 9aba23966..90ddb99ec 100644 --- a/packages/core/src/text-buffer.ts +++ b/packages/core/src/text-buffer.ts @@ -1,9 +1,9 @@ -import type { StyledText } from "./lib/styled-text" -import { RGBA } from "./lib/RGBA" -import { resolveRenderLib, type LineInfo, type RenderLib } from "./zig" +import type { StyledText } from "./lib/styled-text.js" +import { RGBA } from "./lib/RGBA.js" +import { resolveRenderLib, type LineInfo, type RenderLib } from "./zig.js" import { type Pointer } from "bun:ffi" -import { type WidthMethod, type Highlight } from "./types" -import type { SyntaxStyle } from "./syntax-style" +import { type WidthMethod, type Highlight } from "./types.js" +import type { SyntaxStyle } from "./syntax-style.js" export interface TextChunk { __isChunk: true diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts index e948de941..942ede2c6 100644 --- a/packages/core/src/types.ts +++ b/packages/core/src/types.ts @@ -1,8 +1,8 @@ -import type { RGBA } from "./lib/RGBA" +import type { RGBA } from "./lib/RGBA.js" import type { EventEmitter } from "events" -import type { Selection } from "./lib/selection" -import type { Renderable } from "./Renderable" -import type { InternalKeyHandler, KeyHandler } from "./lib/KeyHandler" +import type { Selection } from "./lib/selection.js" +import type { Renderable } from "./Renderable.js" +import type { InternalKeyHandler, KeyHandler } from "./lib/KeyHandler.js" export const TextAttributes = { NONE: 0, diff --git a/packages/core/src/utils.ts b/packages/core/src/utils.ts index 0655476b7..a42aa859e 100644 --- a/packages/core/src/utils.ts +++ b/packages/core/src/utils.ts @@ -1,5 +1,5 @@ -import { TextAttributes } from "./types" -import { Renderable } from "./Renderable" +import { TextAttributes } from "./types.js" +import { Renderable } from "./Renderable.js" export function createTextAttributes({ bold = false, diff --git a/packages/core/src/zig-structs.ts b/packages/core/src/zig-structs.ts index 9c16229cb..7bff39d51 100644 --- a/packages/core/src/zig-structs.ts +++ b/packages/core/src/zig-structs.ts @@ -1,6 +1,6 @@ import { defineStruct, defineEnum } from "bun-ffi-structs" import { ptr, toArrayBuffer, type Pointer } from "bun:ffi" -import { RGBA } from "./lib/RGBA" +import { RGBA } from "./lib/RGBA.js" const rgbaPackTransform = (rgba?: RGBA) => (rgba ? ptr(rgba.buffer) : null) const rgbaUnpackTransform = (ptr?: Pointer) => (ptr ? RGBA.fromArray(new Float32Array(toArrayBuffer(ptr))) : undefined) diff --git a/packages/core/src/zig.ts b/packages/core/src/zig.ts index a81dd0e85..656a978a3 100644 --- a/packages/core/src/zig.ts +++ b/packages/core/src/zig.ts @@ -1,13 +1,13 @@ import { dlopen, toArrayBuffer, JSCallback, ptr, type Pointer } from "bun:ffi" import { existsSync } from "fs" import { EventEmitter } from "events" -import { type CursorStyle, type DebugOverlayCorner, type WidthMethod, type Highlight, type LineInfo } from "./types" +import { type CursorStyle, type DebugOverlayCorner, type WidthMethod, type Highlight, type LineInfo } from "./types.js" export type { LineInfo } -import { RGBA } from "./lib/RGBA" -import { OptimizedBuffer } from "./buffer" -import { TextBuffer } from "./text-buffer" -import { env, registerEnvVar } from "./lib/env" +import { RGBA } from "./lib/RGBA.js" +import { OptimizedBuffer } from "./buffer.js" +import { TextBuffer } from "./text-buffer.js" +import { env, registerEnvVar } from "./lib/env.js" import { StyledChunkStruct, HighlightStruct, @@ -18,9 +18,9 @@ import { LineInfoStruct, MeasureResultStruct, CursorStateStruct, -} from "./zig-structs" -import { isBunfsPath } from "./lib/bunfs" -import { attributesWithLink } from "./utils" +} from "./zig-structs.js" +import { isBunfsPath } from "./lib/bunfs.js" +import { attributesWithLink } from "./utils.js" const module = await import(`@opentui/core-${process.platform}-${process.arch}/index.ts`) let targetLibPath = module.default diff --git a/packages/react/examples/text.tsx b/packages/react/examples/text.tsx index 251c91a33..d8de9d1f5 100644 --- a/packages/react/examples/text.tsx +++ b/packages/react/examples/text.tsx @@ -1,5 +1,5 @@ import { createCliRenderer } from "@opentui/core" -import { createRoot } from "../src" +import { createRoot } from "../src/index.js" function App() { return ( diff --git a/packages/react/jsx-namespace.d.ts b/packages/react/jsx-namespace.d.ts index d5658e9a3..3e57fba13 100644 --- a/packages/react/jsx-namespace.d.ts +++ b/packages/react/jsx-namespace.d.ts @@ -17,7 +17,7 @@ import type { TabSelectProps, TextareaProps, TextProps, -} from "./src/types/components" +} from "./src/types/components.js" export namespace JSX { type Element = React.ReactNode diff --git a/packages/react/src/components/index.ts b/packages/react/src/components/index.ts index d115cf73e..20b51e16b 100644 --- a/packages/react/src/components/index.ts +++ b/packages/react/src/components/index.ts @@ -12,7 +12,7 @@ import { TextareaRenderable, TextRenderable, } from "@opentui/core" -import type { RenderableConstructor } from "../types/components" +import type { RenderableConstructor } from "../types/components.js" import { BoldSpanRenderable, ItalicSpanRenderable, @@ -20,7 +20,7 @@ import { LinkRenderable, SpanRenderable, UnderlineSpanRenderable, -} from "./text" +} from "./text.js" export const baseComponents = { box: BoxRenderable, @@ -71,4 +71,4 @@ export function getComponentCatalogue(): ComponentCatalogue { return componentCatalogue } -export type { ExtendedComponentProps, ExtendedIntrinsicElements, RenderableConstructor } from "../types/components" +export type { ExtendedComponentProps, ExtendedIntrinsicElements, RenderableConstructor } from "../types/components.js" diff --git a/packages/react/src/hooks/index.ts b/packages/react/src/hooks/index.ts index e219931c9..9a5838f52 100644 --- a/packages/react/src/hooks/index.ts +++ b/packages/react/src/hooks/index.ts @@ -1,5 +1,5 @@ -export * from "./use-keyboard" -export * from "./use-renderer" -export * from "./use-resize" -export * from "./use-terminal-dimensions" -export * from "./use-timeline" +export * from "./use-keyboard.js" +export * from "./use-renderer.js" +export * from "./use-resize.js" +export * from "./use-terminal-dimensions.js" +export * from "./use-timeline.js" diff --git a/packages/react/src/hooks/use-keyboard.ts b/packages/react/src/hooks/use-keyboard.ts index 0718ce6c5..720296862 100644 --- a/packages/react/src/hooks/use-keyboard.ts +++ b/packages/react/src/hooks/use-keyboard.ts @@ -1,7 +1,7 @@ import type { KeyEvent } from "@opentui/core" import { useEffect } from "react" -import { useAppContext } from "../components/app" -import { useEffectEvent } from "./use-event" +import { useAppContext } from "../components/app.js" +import { useEffectEvent } from "./use-event.js" export interface UseKeyboardOptions { /** Include release events - callback receives events with eventType: "release" */ diff --git a/packages/react/src/hooks/use-renderer.ts b/packages/react/src/hooks/use-renderer.ts index 4534a51c8..7b16b7ab6 100644 --- a/packages/react/src/hooks/use-renderer.ts +++ b/packages/react/src/hooks/use-renderer.ts @@ -1,4 +1,4 @@ -import { useAppContext } from "../components/app" +import { useAppContext } from "../components/app.js" export const useRenderer = () => { const { renderer } = useAppContext() diff --git a/packages/react/src/hooks/use-resize.ts b/packages/react/src/hooks/use-resize.ts index 44c455c87..c869614c6 100644 --- a/packages/react/src/hooks/use-resize.ts +++ b/packages/react/src/hooks/use-resize.ts @@ -1,6 +1,6 @@ import { useEffect } from "react" -import { useEffectEvent } from "./use-event" -import { useRenderer } from "./use-renderer" +import { useEffectEvent } from "./use-event.js" +import { useRenderer } from "./use-renderer.js" export const useOnResize = (callback: (width: number, height: number) => void) => { const renderer = useRenderer() diff --git a/packages/react/src/hooks/use-terminal-dimensions.ts b/packages/react/src/hooks/use-terminal-dimensions.ts index 77b0f46c4..d7d343a80 100644 --- a/packages/react/src/hooks/use-terminal-dimensions.ts +++ b/packages/react/src/hooks/use-terminal-dimensions.ts @@ -1,6 +1,6 @@ import { useState } from "react" -import { useRenderer } from "./use-renderer" -import { useOnResize } from "./use-resize" +import { useRenderer } from "./use-renderer.js" +import { useOnResize } from "./use-resize.js" export const useTerminalDimensions = () => { const renderer = useRenderer() diff --git a/packages/react/src/index.ts b/packages/react/src/index.ts index bc5ae77d3..4edad6b6e 100644 --- a/packages/react/src/index.ts +++ b/packages/react/src/index.ts @@ -1,7 +1,7 @@ -export * from "./components" -export * from "./components/app" -export * from "./hooks" -export * from "./reconciler/renderer" -export * from "./types/components" +export * from "./components/index.js" +export * from "./components/app.js" +export * from "./hooks/index.js" +export * from "./reconciler/renderer.js" +export * from "./types/components.js" export { createElement } from "react" diff --git a/packages/react/src/reconciler/host-config.ts b/packages/react/src/reconciler/host-config.ts index 309ebabd1..0ffbea9dd 100644 --- a/packages/react/src/reconciler/host-config.ts +++ b/packages/react/src/reconciler/host-config.ts @@ -3,11 +3,11 @@ import pkgJson from "../../package.json" import { createContext } from "react" import type { HostConfig, ReactContext } from "react-reconciler" import { DefaultEventPriority, NoEventPriority } from "react-reconciler/constants" -import { getComponentCatalogue } from "../components" -import { textNodeKeys, type TextNodeKey } from "../components/text" -import type { Container, HostContext, Instance, Props, PublicInstance, TextInstance, Type } from "../types/host" -import { getNextId } from "../utils/id" -import { setInitialProperties, updateProperties } from "../utils/index" +import { getComponentCatalogue } from "../components/index.js" +import { textNodeKeys, type TextNodeKey } from "../components/text.js" +import type { Container, HostContext, Instance, Props, PublicInstance, TextInstance, Type } from "../types/host.js" +import { getNextId } from "../utils/id.js" +import { setInitialProperties, updateProperties } from "../utils/index.js" let currentUpdatePriority = NoEventPriority diff --git a/packages/react/src/reconciler/reconciler.ts b/packages/react/src/reconciler/reconciler.ts index 86418e167..cff788c04 100644 --- a/packages/react/src/reconciler/reconciler.ts +++ b/packages/react/src/reconciler/reconciler.ts @@ -2,13 +2,13 @@ import type { RootRenderable } from "@opentui/core" import React from "react" import ReactReconciler from "react-reconciler" import { ConcurrentRoot } from "react-reconciler/constants" -import { hostConfig } from "./host-config" +import { hostConfig } from "./host-config.js" export const reconciler = ReactReconciler(hostConfig) if (process.env["DEV"] === "true") { try { - await import("./devtools") + await import("./devtools.js") } catch (error: any) { if (error.code === "ERR_MODULE_NOT_FOUND") { console.warn( diff --git a/packages/react/src/reconciler/renderer.ts b/packages/react/src/reconciler/renderer.ts index e9bd29e9d..1b93f07e5 100644 --- a/packages/react/src/reconciler/renderer.ts +++ b/packages/react/src/reconciler/renderer.ts @@ -1,9 +1,9 @@ import { CliRenderer, CliRenderEvents, engine } from "@opentui/core" import React, { type ReactNode } from "react" import type { OpaqueRoot } from "react-reconciler" -import { AppContext } from "../components/app" -import { ErrorBoundary } from "../components/error-boundary" -import { _render, reconciler } from "./reconciler" +import { AppContext } from "../components/app.js" +import { ErrorBoundary } from "../components/error-boundary.js" +import { _render, reconciler } from "./reconciler.js" // flushSync was renamed to flushSyncFromReconciler in react-reconciler 0.32.0 // the types for react-reconciler are not up to date with the library diff --git a/packages/react/src/test-utils.ts b/packages/react/src/test-utils.ts index 7574e0b9c..83c568384 100644 --- a/packages/react/src/test-utils.ts +++ b/packages/react/src/test-utils.ts @@ -1,6 +1,6 @@ import { createTestRenderer, type TestRendererOptions } from "@opentui/core/testing" import { act, type ReactNode } from "react" -import { createRoot, type Root } from "./reconciler/renderer" +import { createRoot, type Root } from "./reconciler/renderer.js" function setIsReactActEnvironment(isReactActEnvironment: boolean) { // @ts-expect-error - this is a test environment diff --git a/packages/react/src/types/host.ts b/packages/react/src/types/host.ts index af7c8222f..4bd075123 100644 --- a/packages/react/src/types/host.ts +++ b/packages/react/src/types/host.ts @@ -1,5 +1,5 @@ import type { BaseRenderable, RootRenderable, TextNodeRenderable } from "@opentui/core" -import { baseComponents } from "../components" +import { baseComponents } from "../components/index.js" export type Type = keyof typeof baseComponents export type Props = Record diff --git a/packages/react/src/utils/id.ts b/packages/react/src/utils/id.ts index 4332a1a4d..5b3302625 100644 --- a/packages/react/src/utils/id.ts +++ b/packages/react/src/utils/id.ts @@ -1,4 +1,4 @@ -import type { Type } from "../types/host" +import type { Type } from "../types/host.js" const idCounter = new Map() diff --git a/packages/react/src/utils/index.ts b/packages/react/src/utils/index.ts index c9dc9a91c..02c4a9d50 100644 --- a/packages/react/src/utils/index.ts +++ b/packages/react/src/utils/index.ts @@ -7,7 +7,7 @@ import { TabSelectRenderable, TabSelectRenderableEvents, } from "@opentui/core" -import type { Instance, Props, Type } from "../types/host" +import type { Instance, Props, Type } from "../types/host.js" function initEventListeners(instance: Instance, eventName: string, listener: any, previousListener?: any) { if (previousListener) { diff --git a/packages/react/tests/destroy-crash.test.tsx b/packages/react/tests/destroy-crash.test.tsx index 063716879..2efa57961 100644 --- a/packages/react/tests/destroy-crash.test.tsx +++ b/packages/react/tests/destroy-crash.test.tsx @@ -1,7 +1,7 @@ import { describe, expect, it } from "bun:test" import React, { useEffect, useState } from "react" import { createTestRenderer } from "@opentui/core/testing" -import { createRoot } from "../src/reconciler/renderer" +import { createRoot } from "../src/reconciler/renderer.js" /** * Regression test for: Native Yoga crash when renderer.destroy() is called diff --git a/packages/react/tests/layout.test.tsx b/packages/react/tests/layout.test.tsx index 78d8d9e16..c39c5341b 100644 --- a/packages/react/tests/layout.test.tsx +++ b/packages/react/tests/layout.test.tsx @@ -1,7 +1,7 @@ import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, mock } from "bun:test" import { useState } from "react" import { act } from "react" -import { testRender } from "../src/test-utils" +import { testRender } from "../src/test-utils.js" let testSetup: Awaited> diff --git a/packages/react/tests/link.test.tsx b/packages/react/tests/link.test.tsx index 7114e98e0..c31f7d52c 100644 --- a/packages/react/tests/link.test.tsx +++ b/packages/react/tests/link.test.tsx @@ -1,5 +1,5 @@ import { describe, expect, test, beforeEach, afterEach } from "bun:test" -import { testRender } from "../src/test-utils" +import { testRender } from "../src/test-utils.js" let testSetup: Awaited> diff --git a/packages/solid/examples/components/mouse-demo.tsx b/packages/solid/examples/components/mouse-demo.tsx index a8f4cc634..2388c3cef 100644 --- a/packages/solid/examples/components/mouse-demo.tsx +++ b/packages/solid/examples/components/mouse-demo.tsx @@ -10,7 +10,7 @@ import { type RenderContext, } from "@opentui/core" import { useContext } from "solid-js" -import { RendererContext } from "../../src/elements/hooks" +import { RendererContext } from "../../src/elements/hooks.js" let nextZIndex = 101 class DraggableTransparentBox extends BoxRenderable { diff --git a/packages/solid/examples/components/textarea-minimal-demo.tsx b/packages/solid/examples/components/textarea-minimal-demo.tsx index 5bc685fd6..cb4af3446 100644 --- a/packages/solid/examples/components/textarea-minimal-demo.tsx +++ b/packages/solid/examples/components/textarea-minimal-demo.tsx @@ -1,5 +1,5 @@ import { TextAttributes, type TextareaRenderable } from "@opentui/core" -import { useTextareaKeybindings } from "./textarea-keybindings" +import { useTextareaKeybindings } from "./textarea-keybindings.js" export function TextareaMinimalDemo() { const bindings = useTextareaKeybindings() diff --git a/packages/solid/examples/index.tsx b/packages/solid/examples/index.tsx index 92b8ecc36..85a7263c8 100644 --- a/packages/solid/examples/index.tsx +++ b/packages/solid/examples/index.tsx @@ -1,6 +1,6 @@ import { render } from "@opentui/solid" import { ConsolePosition } from "@opentui/core" -import ExampleSelector from "./components/ExampleSelector" +import ExampleSelector from "./components/ExampleSelector.js" // Uncomment to debug solidjs reconciler // process.env.DEBUG = "true" diff --git a/packages/solid/index.ts b/packages/solid/index.ts index 011d926f2..8ebb9fd82 100644 --- a/packages/solid/index.ts +++ b/packages/solid/index.ts @@ -1,8 +1,8 @@ import { CliRenderer, createCliRenderer, engine, type CliRendererConfig } from "@opentui/core" import { createTestRenderer, type TestRendererOptions } from "@opentui/core/testing" import type { JSX } from "./jsx-runtime" -import { RendererContext } from "./src/elements" -import { _render as renderInternal, createComponent } from "./src/reconciler" +import { RendererContext } from "./src/elements/index.js" +import { _render as renderInternal, createComponent } from "./src/reconciler.js" export const render = async (node: () => JSX.Element, rendererOrConfig: CliRenderer | CliRendererConfig = {}) => { let isDisposed = false @@ -77,7 +77,7 @@ export const testRender = async (node: () => JSX.Element, renderConfig: TestRend return testSetup } -export * from "./src/reconciler" -export * from "./src/elements" -export * from "./src/types/elements" +export * from "./src/reconciler.js" +export * from "./src/elements/index.js" +export * from "./src/types/elements.js" export { type JSX } diff --git a/packages/solid/jsx-runtime.d.ts b/packages/solid/jsx-runtime.d.ts index 600ad800f..46c2dec46 100644 --- a/packages/solid/jsx-runtime.d.ts +++ b/packages/solid/jsx-runtime.d.ts @@ -14,7 +14,7 @@ import type { TabSelectProps, TextareaProps, TextProps, -} from "./src/types/elements" +} from "./src/types/elements.js" import type { DomNode } from "./dist" declare namespace JSX { diff --git a/packages/solid/scripts/build.ts b/packages/solid/scripts/build.ts index 6f02858ad..a380ea0ee 100644 --- a/packages/solid/scripts/build.ts +++ b/packages/solid/scripts/build.ts @@ -3,7 +3,7 @@ import { copyFileSync, existsSync, mkdirSync, readFileSync, rmSync, writeFileSyn import { dirname, join, resolve } from "path" import { fileURLToPath } from "url" import process from "process" -import solidTransformPlugin from "./solid-plugin" +import solidTransformPlugin from "./solid-plugin.js" interface PackageJson { name: string diff --git a/packages/solid/scripts/preload.ts b/packages/solid/scripts/preload.ts index 4c1b0d5a8..0014f7759 100644 --- a/packages/solid/scripts/preload.ts +++ b/packages/solid/scripts/preload.ts @@ -1,4 +1,4 @@ -import solidTransformPlugin from "./solid-plugin" +import solidTransformPlugin from "./solid-plugin.js" import { plugin, type BunPlugin } from "bun" plugin(solidTransformPlugin) diff --git a/packages/solid/src/elements/extras.ts b/packages/solid/src/elements/extras.ts index 556829d7b..235a19c0d 100644 --- a/packages/solid/src/elements/extras.ts +++ b/packages/solid/src/elements/extras.ts @@ -1,8 +1,8 @@ import { createEffect, createMemo, getOwner, onCleanup, runWithOwner, splitProps, untrack } from "solid-js" -import { createSlotNode, createElement, insert, spread, type DomNode } from "../reconciler" +import { createSlotNode, createElement, insert, spread, type DomNode } from "../reconciler.js" import type { JSX } from "../../jsx-runtime" import type { ValidComponent, ComponentProps } from "solid-js" -import { useRenderer } from "./hooks" +import { useRenderer } from "./hooks.js" /** * Renders components somewhere else in the DOM diff --git a/packages/solid/src/elements/index.ts b/packages/solid/src/elements/index.ts index c1f258db3..5d8b0a358 100644 --- a/packages/solid/src/elements/index.ts +++ b/packages/solid/src/elements/index.ts @@ -16,10 +16,10 @@ import { type RenderContext, type TextNodeOptions, } from "@opentui/core" -import type { RenderableConstructor } from "../types/elements" -export * from "./hooks" -export * from "./extras" -export * from "./slot" +import type { RenderableConstructor } from "../types/elements.js" +export * from "./hooks.js" +export * from "./extras.js" +export * from "./slot.js" class SpanRenderable extends TextNodeRenderable { constructor( @@ -139,4 +139,4 @@ export function getComponentCatalogue(): ComponentCatalogue { return componentCatalogue } -export type { ExtendedComponentProps, ExtendedIntrinsicElements, RenderableConstructor } from "../types/elements" +export type { ExtendedComponentProps, ExtendedIntrinsicElements, RenderableConstructor } from "../types/elements.js" diff --git a/packages/solid/src/reconciler.ts b/packages/solid/src/reconciler.ts index 209d6ba12..66b27e9c9 100644 --- a/packages/solid/src/reconciler.ts +++ b/packages/solid/src/reconciler.ts @@ -17,10 +17,10 @@ import { type TextNodeOptions, } from "@opentui/core" import { useContext } from "solid-js" -import { createRenderer } from "./renderer" -import { getComponentCatalogue, RendererContext, SlotRenderable } from "./elements" -import { getNextId } from "./utils/id-counter" -import { log } from "./utils/log" +import { createRenderer } from "./renderer/index.js" +import { getComponentCatalogue, RendererContext, SlotRenderable } from "./elements/index.js" +import { getNextId } from "./utils/id-counter.js" +import { log } from "./utils/log.js" class TextNode extends TextNodeRenderable { public static override fromString(text: string, options: Partial = {}): TextNode { diff --git a/packages/solid/tests/box.test.tsx b/packages/solid/tests/box.test.tsx index d262b3a9e..b75be41a6 100644 --- a/packages/solid/tests/box.test.tsx +++ b/packages/solid/tests/box.test.tsx @@ -1,5 +1,5 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { testRender } from "../index" +import { testRender } from "../index.js" import { createSignal } from "solid-js" let testSetup: Awaited> diff --git a/packages/solid/tests/control-flow.test.tsx b/packages/solid/tests/control-flow.test.tsx index f703c4a99..b5c193f00 100644 --- a/packages/solid/tests/control-flow.test.tsx +++ b/packages/solid/tests/control-flow.test.tsx @@ -1,5 +1,5 @@ import { describe, expect, it, beforeEach, afterEach, test } from "bun:test" -import { testRender } from "../index" +import { testRender } from "../index.js" import { createSignal, createEffect, createMemo, For, Show, Switch, Match, Index, ErrorBoundary } from "solid-js" let testSetup: Awaited> diff --git a/packages/solid/tests/cursor-behavior.test.tsx b/packages/solid/tests/cursor-behavior.test.tsx index 7a4436f06..4112b2784 100644 --- a/packages/solid/tests/cursor-behavior.test.tsx +++ b/packages/solid/tests/cursor-behavior.test.tsx @@ -1,5 +1,5 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { testRender } from "../index" +import { testRender } from "../index.js" import { createSignal, onMount, Show } from "solid-js" import type { TextareaRenderable } from "@opentui/core" diff --git a/packages/solid/tests/diff.test.tsx b/packages/solid/tests/diff.test.tsx index 65c7b0946..57c530df7 100644 --- a/packages/solid/tests/diff.test.tsx +++ b/packages/solid/tests/diff.test.tsx @@ -1,5 +1,5 @@ import { describe, test, expect, beforeEach, afterEach } from "bun:test" -import { testRender } from "../index" +import { testRender } from "../index.js" import { SyntaxStyle, RGBA } from "@opentui/core" import { createSignal, Show } from "solid-js" diff --git a/packages/solid/tests/dynamic-collections.test.tsx b/packages/solid/tests/dynamic-collections.test.tsx index 04c44096a..fdb45701a 100644 --- a/packages/solid/tests/dynamic-collections.test.tsx +++ b/packages/solid/tests/dynamic-collections.test.tsx @@ -1,5 +1,5 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { testRender } from "../index" +import { testRender } from "../index.js" import { createSignal } from "solid-js" let testSetup: Awaited> diff --git a/packages/solid/tests/dynamic-portal.test.tsx b/packages/solid/tests/dynamic-portal.test.tsx index 5a970d670..33e2cb404 100644 --- a/packages/solid/tests/dynamic-portal.test.tsx +++ b/packages/solid/tests/dynamic-portal.test.tsx @@ -1,5 +1,5 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { testRender, Dynamic, Portal } from "../index" +import { testRender, Dynamic, Portal } from "../index.js" import { createSignal, Show } from "solid-js" import { createSpy } from "@opentui/core/testing" import type { BoxRenderable } from "@opentui/core" diff --git a/packages/solid/tests/events.test.tsx b/packages/solid/tests/events.test.tsx index e450a5607..bcf07cec7 100644 --- a/packages/solid/tests/events.test.tsx +++ b/packages/solid/tests/events.test.tsx @@ -1,8 +1,8 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { testRender } from "../index" +import { testRender } from "../index.js" import { createSignal } from "solid-js" import { createSpy } from "@opentui/core/testing" -import { usePaste, useKeyboard } from "../src/elements/hooks" +import { usePaste, useKeyboard } from "../src/elements/hooks.js" import type { PasteEvent } from "@opentui/core" let testSetup: Awaited> diff --git a/packages/solid/tests/layout.test.tsx b/packages/solid/tests/layout.test.tsx index 1e318b139..02945196e 100644 --- a/packages/solid/tests/layout.test.tsx +++ b/packages/solid/tests/layout.test.tsx @@ -1,5 +1,5 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { testRender } from "../index" +import { testRender } from "../index.js" import { createSignal, Show } from "solid-js" let testSetup: Awaited> diff --git a/packages/solid/tests/line-number-scrollbox.test.tsx b/packages/solid/tests/line-number-scrollbox.test.tsx index 79bd6fee0..494920fae 100644 --- a/packages/solid/tests/line-number-scrollbox.test.tsx +++ b/packages/solid/tests/line-number-scrollbox.test.tsx @@ -1,8 +1,8 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { testRender } from "../index" +import { testRender } from "../index.js" import { For, Show, createSignal } from "solid-js" -import type { ScrollBoxRenderable } from "../../core/src/renderables" -import { SyntaxStyle } from "../../core/src/syntax-style" +import type { ScrollBoxRenderable } from "../../core/src/renderables/index.js" +import { SyntaxStyle } from "../../core/src/syntax-style.js" import { MockTreeSitterClient } from "@opentui/core/testing" let testSetup: Awaited> diff --git a/packages/solid/tests/line-number.test.tsx b/packages/solid/tests/line-number.test.tsx index 2bca088fc..b0c648791 100644 --- a/packages/solid/tests/line-number.test.tsx +++ b/packages/solid/tests/line-number.test.tsx @@ -1,5 +1,5 @@ import { describe, test, expect, beforeEach, afterEach } from "bun:test" -import { testRender } from "../index" +import { testRender } from "../index.js" import { SyntaxStyle } from "@opentui/core" import { MockTreeSitterClient } from "@opentui/core/testing" import { createSignal, Show } from "solid-js" diff --git a/packages/solid/tests/link.test.tsx b/packages/solid/tests/link.test.tsx index 699bacd08..64aff168a 100644 --- a/packages/solid/tests/link.test.tsx +++ b/packages/solid/tests/link.test.tsx @@ -1,5 +1,5 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { testRender } from "../index" +import { testRender } from "../index.js" import type { TextRenderable } from "@opentui/core" let testSetup: Awaited> diff --git a/packages/solid/tests/scrollbox-content.test.tsx b/packages/solid/tests/scrollbox-content.test.tsx index 39f8d6b36..956454ec9 100644 --- a/packages/solid/tests/scrollbox-content.test.tsx +++ b/packages/solid/tests/scrollbox-content.test.tsx @@ -1,8 +1,8 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { testRender } from "../index" +import { testRender } from "../index.js" import { createSignal, createMemo, createEffect, For } from "solid-js" -import type { ScrollBoxRenderable } from "../../core/src/renderables" -import { SyntaxStyle } from "../../core/src/syntax-style" +import type { ScrollBoxRenderable } from "../../core/src/renderables/index.js" +import { SyntaxStyle } from "../../core/src/syntax-style.js" import { MockTreeSitterClient } from "@opentui/core/testing" let testSetup: Awaited> diff --git a/packages/solid/tests/sticky-scroll.test.tsx b/packages/solid/tests/sticky-scroll.test.tsx index 21f359839..17c5ed4cb 100644 --- a/packages/solid/tests/sticky-scroll.test.tsx +++ b/packages/solid/tests/sticky-scroll.test.tsx @@ -1,7 +1,7 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { testRender } from "../index" +import { testRender } from "../index.js" import { createSignal, For } from "solid-js" -import type { ScrollBoxRenderable } from "../../core/src/renderables" +import type { ScrollBoxRenderable } from "../../core/src/renderables/index.js" let testSetup: Awaited> diff --git a/packages/solid/tests/textarea.test.tsx b/packages/solid/tests/textarea.test.tsx index 09140ba31..eac4282bf 100644 --- a/packages/solid/tests/textarea.test.tsx +++ b/packages/solid/tests/textarea.test.tsx @@ -1,5 +1,5 @@ import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { testRender } from "../index" +import { testRender } from "../index.js" import { createSignal } from "solid-js" import { TextAttributes } from "@opentui/core"