@opentui/core 0.5.10 → 0.5.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/audio.d.ts +6 -1
- package/{chunk-bun-9gqvxy8c.js → chunk-bun-8f4q4e2m.js} +1234 -1039
- package/{chunk-bun-9gqvxy8c.js.map → chunk-bun-8f4q4e2m.js.map} +8 -8
- package/{chunk-bun-bb3k0yt8.js → chunk-bun-91mz470w.js} +680 -585
- package/chunk-bun-91mz470w.js.map +32 -0
- package/{chunk-node-f647ts9q.js → chunk-node-1zjyxy5y.js} +1241 -1043
- package/chunk-node-1zjyxy5y.js.map +63 -0
- package/{chunk-node-6bg8r2m7.js → chunk-node-fyb4fckk.js} +680 -585
- package/chunk-node-fyb4fckk.js.map +32 -0
- package/editor-view.d.ts +1 -0
- package/index.bun.js +1603 -1377
- package/index.bun.js.map +8 -8
- package/index.node.js +1603 -1377
- package/index.node.js.map +8 -8
- package/lib/detect-links.d.ts +5 -0
- package/lib/tree-sitter/update-assets.js +4 -4
- package/lib/tree-sitter/update-assets.js.map +2 -2
- package/lib/tree-sitter-styled-text.d.ts +4 -0
- package/node-assets.js +6 -2
- package/node-assets.js.map +3 -3
- package/package.json +13 -9
- package/parser.worker.js +7 -12
- package/parser.worker.js.map +3 -3
- package/renderables/Code.d.ts +6 -0
- package/renderables/Diff.d.ts +1 -2
- package/renderables/EmbeddedTerminal.d.ts +4 -0
- package/renderables/Markdown.d.ts +6 -0
- package/renderables/TextBufferRenderable.d.ts +7 -0
- package/renderables/TextTable.d.ts +2 -0
- package/renderer.d.ts +2 -0
- package/runtime-plugin.js +15 -4
- package/runtime-plugin.js.map +1 -1
- package/testing.bun.js +23 -23
- package/testing.bun.js.map +2 -2
- package/testing.js +23 -23
- package/testing.js.map +2 -2
- package/text-buffer-view.d.ts +2 -0
- package/types.d.ts +2 -1
- package/yoga.bun.js +187 -187
- package/yoga.bun.js.map +1 -1
- package/yoga.js +187 -187
- package/yoga.js.map +1 -1
- package/zig-structs.d.ts +8 -1
- package/zig.d.ts +6 -0
- package/chunk-bun-bb3k0yt8.js.map +0 -32
- package/chunk-node-6bg8r2m7.js.map +0 -32
- package/chunk-node-f647ts9q.js.map +0 -63
package/lib/detect-links.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import type { TextChunk } from "../text-buffer.js";
|
|
2
2
|
import type { SimpleHighlight } from "./tree-sitter/types.js";
|
|
3
|
+
export declare function normalizeMarkdownLinkTarget(destination: string): string;
|
|
3
4
|
export declare function detectLinks(chunks: TextChunk[], context: {
|
|
4
5
|
content: string;
|
|
5
6
|
highlights: SimpleHighlight[];
|
|
7
|
+
sourceRanges?: Array<{
|
|
8
|
+
start: number;
|
|
9
|
+
end: number;
|
|
10
|
+
}>;
|
|
6
11
|
}): TextChunk[];
|
|
@@ -131,7 +131,7 @@ async function loadConfig(configPath) {
|
|
|
131
131
|
let resolvedConfigPath = configPath;
|
|
132
132
|
if (ext === "") {
|
|
133
133
|
const files = await readdir(path2.dirname(configPath));
|
|
134
|
-
const file = files.find((
|
|
134
|
+
const file = files.find((file) => file.startsWith(path2.basename(configPath)) && (file.endsWith(".json") || file.endsWith(".ts") || file.endsWith(".js")));
|
|
135
135
|
if (!file) {
|
|
136
136
|
throw new Error(`No config file found for ${configPath}`);
|
|
137
137
|
}
|
|
@@ -437,9 +437,9 @@ if (import.meta.main) {
|
|
|
437
437
|
await runUpdateAssetsCli();
|
|
438
438
|
}
|
|
439
439
|
export {
|
|
440
|
-
|
|
441
|
-
|
|
440
|
+
runUpdateAssetsCli,
|
|
441
|
+
main as updateAssets
|
|
442
442
|
};
|
|
443
443
|
|
|
444
|
-
//# debugId=
|
|
444
|
+
//# debugId=22E1DE90AE569C3B64756E2164756E21
|
|
445
445
|
//# sourceMappingURL=update-assets.js.map
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"import { mkdir, readFile, writeFile } from \"fs/promises\"\nimport * as path from \"path\"\n\nexport interface DownloadResult {\n content?: Buffer\n filePath?: string\n error?: string\n}\n\nexport class DownloadUtils {\n private static hashUrl(url: string): string {\n let hash = 0\n for (let i = 0; i < url.length; i++) {\n const char = url.charCodeAt(i)\n hash = (hash << 5) - hash + char\n hash = hash & hash\n }\n return Math.abs(hash).toString(16)\n }\n\n /**\n * Download a file from URL or load from local path, with caching support\n */\n static async downloadOrLoad(\n source: string,\n cacheDir: string,\n cacheSubdir: string,\n fileExtension: string,\n useHashForCache: boolean = true,\n filetype?: string,\n ): Promise<DownloadResult> {\n const isUrl = source.startsWith(\"http://\") || source.startsWith(\"https://\")\n\n if (isUrl) {\n let cacheFileName: string\n if (useHashForCache) {\n const hash = this.hashUrl(source)\n cacheFileName = filetype ? `${filetype}-${hash}${fileExtension}` : `${hash}${fileExtension}`\n } else {\n cacheFileName = path.basename(source)\n }\n const cacheFile = path.join(cacheDir, cacheSubdir, cacheFileName)\n\n // Ensure cache directory exists\n await mkdir(path.dirname(cacheFile), { recursive: true })\n\n try {\n const cachedContent = await readFile(cacheFile)\n if (cachedContent.byteLength > 0) {\n console.log(`Loaded from cache: ${cacheFile} (${source})`)\n return { content: cachedContent, filePath: cacheFile }\n }\n } catch (error) {\n // Cache miss, continue to fetch\n }\n\n try {\n console.log(`Downloading from URL: ${source}`)\n const response = await fetch(source)\n if (!response.ok) {\n return { error: `Failed to fetch from ${source}: ${response.statusText}` }\n }\n const content = Buffer.from(await response.arrayBuffer())\n\n try {\n await writeFile(cacheFile, Buffer.from(content))\n console.log(`Cached: ${source}`)\n } catch (cacheError) {\n console.warn(`Failed to cache: ${cacheError}`)\n }\n\n return { content, filePath: cacheFile }\n } catch (error) {\n return { error: `Error downloading from ${source}: ${error}` }\n }\n } else {\n try {\n console.log(`Loading from local path: ${source}`)\n const content = await readFile(source)\n return { content, filePath: source }\n } catch (error) {\n return { error: `Error loading from local path ${source}: ${error}` }\n }\n }\n }\n\n /**\n * Download and save a file to a specific target path\n */\n static async downloadToPath(source: string, targetPath: string): Promise<DownloadResult> {\n const isUrl = source.startsWith(\"http://\") || source.startsWith(\"https://\")\n\n await mkdir(path.dirname(targetPath), { recursive: true })\n\n if (isUrl) {\n try {\n console.log(`Downloading from URL: ${source}`)\n const response = await fetch(source)\n if (!response.ok) {\n return { error: `Failed to fetch from ${source}: ${response.statusText}` }\n }\n const content = Buffer.from(await response.arrayBuffer())\n\n await writeFile(targetPath, Buffer.from(content))\n console.log(`Downloaded: ${source} -> ${targetPath}`)\n\n return { content, filePath: targetPath }\n } catch (error) {\n return { error: `Error downloading from ${source}: ${error}` }\n }\n } else {\n try {\n console.log(`Copying from local path: ${source}`)\n const content = await readFile(source)\n await writeFile(targetPath, Buffer.from(content))\n return { content, filePath: targetPath }\n } catch (error) {\n return { error: `Error copying from local path ${source}: ${error}` }\n }\n }\n }\n\n /**\n * Fetch multiple highlight queries and concatenate them\n */\n static async fetchHighlightQueries(sources: string[], cacheDir: string, filetype: string): Promise<string> {\n const queryPromises = sources.map((source) => this.fetchHighlightQuery(source, cacheDir, filetype))\n const queryResults = await Promise.all(queryPromises)\n\n const validQueries = queryResults.filter((query) => query.trim().length > 0)\n return validQueries.join(\"\\n\")\n }\n\n private static async fetchHighlightQuery(source: string, cacheDir: string, filetype: string): Promise<string> {\n const result = await this.downloadOrLoad(source, cacheDir, \"queries\", \".scm\", true, filetype)\n\n if (result.error) {\n console.error(`Error fetching highlight query from ${source}:`, result.error)\n return \"\"\n }\n\n if (result.content) {\n return new TextDecoder().decode(result.content)\n }\n\n return \"\"\n }\n}\n",
|
|
7
7
|
"#!/usr/bin/env bun\n\nimport { runUpdateAssetsCli } from \"./assets/update.js\"\n\nexport { runUpdateAssetsCli, updateAssets } from \"./assets/update.js\"\nexport type { UpdateOptions } from \"./assets/update.js\"\n\nif (import.meta.main) {\n await runUpdateAssetsCli()\n}\n"
|
|
8
8
|
],
|
|
9
|
-
"mappings": "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
|
|
10
|
-
"debugId": "
|
|
9
|
+
"mappings": "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",
|
|
10
|
+
"debugId": "22E1DE90AE569C3B64756E2164756E21",
|
|
11
11
|
"names": []
|
|
12
12
|
}
|
|
@@ -6,6 +6,10 @@ import type { SimpleHighlight } from "./tree-sitter/types.js";
|
|
|
6
6
|
interface TextChunkOptions {
|
|
7
7
|
enabled?: boolean;
|
|
8
8
|
baseHighlight?: string;
|
|
9
|
+
ranges?: Array<{
|
|
10
|
+
start: number;
|
|
11
|
+
end: number;
|
|
12
|
+
}>;
|
|
9
13
|
}
|
|
10
14
|
export declare function treeSitterToTextChunks(content: string, highlights: SimpleHighlight[], syntaxStyle: SyntaxStyle, options?: TextChunkOptions): TextChunk[];
|
|
11
15
|
export interface TreeSitterToStyledTextOptions {
|
package/node-assets.js
CHANGED
|
@@ -214,13 +214,14 @@ var TREE_SITTER_WASM_KEY = "web-tree-sitter/tree-sitter.wasm";
|
|
|
214
214
|
function getNodeAssets(target) {
|
|
215
215
|
const native = getNativeAssetDescriptor(target);
|
|
216
216
|
const coreRoot = resolveCoreRuntimeRoot();
|
|
217
|
+
const parserRoot = resolve(dirname(fileURLToPath(import.meta.url)), "lib/tree-sitter");
|
|
217
218
|
const nativeRoot = dirname(resolvePackageEntry(native.packageName));
|
|
218
219
|
const assets = [
|
|
219
220
|
{ key: native.key, source: join2(nativeRoot, native.fileName) },
|
|
220
221
|
{ key: PARSER_WORKER_KEY, source: join2(coreRoot, "parser.worker.js") },
|
|
221
222
|
...defaultParserAssetPaths.map((relativePath) => ({
|
|
222
223
|
key: `${CORE_PREFIX}${relativePath}`,
|
|
223
|
-
source: join2(coreRoot, relativePath)
|
|
224
|
+
source: firstExistingFile(join2(coreRoot, relativePath), join2(parserRoot, relativePath))
|
|
224
225
|
})),
|
|
225
226
|
{ key: TREE_SITTER_WASM_KEY, source: resolvePackageEntry(TREE_SITTER_WASM_KEY) }
|
|
226
227
|
];
|
|
@@ -246,6 +247,9 @@ function resolveCoreRuntimeRoot() {
|
|
|
246
247
|
const candidates = [moduleDirectory, resolve(moduleDirectory, "../dist")];
|
|
247
248
|
return candidates.find((candidate) => statIsFile(join2(candidate, "parser.worker.js"))) ?? moduleDirectory;
|
|
248
249
|
}
|
|
250
|
+
function firstExistingFile(...paths) {
|
|
251
|
+
return paths.find(statIsFile) ?? paths[0];
|
|
252
|
+
}
|
|
249
253
|
function resolvePackageEntry(specifier) {
|
|
250
254
|
return fileURLToPath(import.meta.resolve(specifier));
|
|
251
255
|
}
|
|
@@ -260,5 +264,5 @@ export {
|
|
|
260
264
|
getNodeAssets
|
|
261
265
|
};
|
|
262
266
|
|
|
263
|
-
//# debugId=
|
|
267
|
+
//# debugId=A3C7C3AAD62B2B8D64756E2164756E21
|
|
264
268
|
//# sourceMappingURL=node-assets.js.map
|
package/node-assets.js.map
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/node-assets.ts", "../src/node-asset-target.ts", "../src/platform/assets.ts", "../src/lib/singleton.ts", "../src/lib/env.ts", "../src/platform/runtime-assets.node.ts", "../src/lib/tree-sitter/default-parsers.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import { statSync } from \"node:fs\"\nimport { dirname, join, resolve } from \"node:path\"\nimport { fileURLToPath } from \"node:url\"\n\nimport { defaultParserAssetPaths } from \"./lib/tree-sitter/default-parsers.js\"\nimport { getNativeAssetDescriptor, type NodeAssetTarget } from \"./node-asset-target.js\"\nimport { validateAssetKey } from \"./platform/assets.js\"\n\nexport type { NodeAssetTarget }\n\nexport type NodeAsset = {\n readonly key: string\n readonly source: string\n}\n\nconst CORE_PREFIX = \"@opentui/core/\"\nconst PARSER_WORKER_KEY = `${CORE_PREFIX}parser.worker.js`\nconst TREE_SITTER_WASM_KEY = \"web-tree-sitter/tree-sitter.wasm\"\n\nexport function getNodeAssets(target: NodeAssetTarget): readonly NodeAsset[] {\n const native = getNativeAssetDescriptor(target)\n const coreRoot = resolveCoreRuntimeRoot()\n const nativeRoot = dirname(resolvePackageEntry(native.packageName))\n const assets: NodeAsset[] = [\n { key: native.key, source: join(nativeRoot, native.fileName) },\n { key: PARSER_WORKER_KEY, source: join(coreRoot, \"parser.worker.js\") },\n ...defaultParserAssetPaths.map((relativePath) => ({\n key: `${CORE_PREFIX}${relativePath}`,\n source: join(coreRoot, relativePath),\n })),\n { key: TREE_SITTER_WASM_KEY, source: resolvePackageEntry(TREE_SITTER_WASM_KEY) },\n ]\n\n const keys = new Set<string>()\n for (const asset of assets) {\n validateAssetKey(asset.key)\n if (keys.has(asset.key)) {\n throw new Error(`Duplicate OpenTUI Node asset key: ${JSON.stringify(asset.key)}`)\n }\n keys.add(asset.key)\n\n let isFile = false\n try {\n isFile = statSync(asset.source).isFile()\n } catch {}\n if (!isFile) {\n throw new Error(`Missing OpenTUI Node asset ${JSON.stringify(asset.key)} at ${JSON.stringify(asset.source)}`)\n }\n }\n\n return assets.toSorted((left, right) => (left.key < right.key ? -1 : left.key > right.key ? 1 : 0))\n}\n\nfunction resolveCoreRuntimeRoot(): string {\n const moduleDirectory = dirname(fileURLToPath(import.meta.url))\n const candidates = [moduleDirectory, resolve(moduleDirectory, \"../dist\")]\n return candidates.find((candidate) => statIsFile(join(candidate, \"parser.worker.js\"))) ?? moduleDirectory\n}\n\nfunction resolvePackageEntry(specifier: string): string {\n return fileURLToPath(import.meta.resolve(specifier))\n}\n\nfunction statIsFile(path: string): boolean {\n try {\n return statSync(path).isFile()\n } catch {\n return false\n }\n}\n",
|
|
5
|
+
"import { statSync } from \"node:fs\"\nimport { dirname, join, resolve } from \"node:path\"\nimport { fileURLToPath } from \"node:url\"\n\nimport { defaultParserAssetPaths } from \"./lib/tree-sitter/default-parsers.js\"\nimport { getNativeAssetDescriptor, type NodeAssetTarget } from \"./node-asset-target.js\"\nimport { validateAssetKey } from \"./platform/assets.js\"\n\nexport type { NodeAssetTarget }\n\nexport type NodeAsset = {\n readonly key: string\n readonly source: string\n}\n\nconst CORE_PREFIX = \"@opentui/core/\"\nconst PARSER_WORKER_KEY = `${CORE_PREFIX}parser.worker.js`\nconst TREE_SITTER_WASM_KEY = \"web-tree-sitter/tree-sitter.wasm\"\n\nexport function getNodeAssets(target: NodeAssetTarget): readonly NodeAsset[] {\n const native = getNativeAssetDescriptor(target)\n const coreRoot = resolveCoreRuntimeRoot()\n const parserRoot = resolve(dirname(fileURLToPath(import.meta.url)), \"lib/tree-sitter\")\n const nativeRoot = dirname(resolvePackageEntry(native.packageName))\n const assets: NodeAsset[] = [\n { key: native.key, source: join(nativeRoot, native.fileName) },\n { key: PARSER_WORKER_KEY, source: join(coreRoot, \"parser.worker.js\") },\n ...defaultParserAssetPaths.map((relativePath) => ({\n key: `${CORE_PREFIX}${relativePath}`,\n source: firstExistingFile(join(coreRoot, relativePath), join(parserRoot, relativePath)),\n })),\n { key: TREE_SITTER_WASM_KEY, source: resolvePackageEntry(TREE_SITTER_WASM_KEY) },\n ]\n\n const keys = new Set<string>()\n for (const asset of assets) {\n validateAssetKey(asset.key)\n if (keys.has(asset.key)) {\n throw new Error(`Duplicate OpenTUI Node asset key: ${JSON.stringify(asset.key)}`)\n }\n keys.add(asset.key)\n\n let isFile = false\n try {\n isFile = statSync(asset.source).isFile()\n } catch {}\n if (!isFile) {\n throw new Error(`Missing OpenTUI Node asset ${JSON.stringify(asset.key)} at ${JSON.stringify(asset.source)}`)\n }\n }\n\n return assets.toSorted((left, right) => (left.key < right.key ? -1 : left.key > right.key ? 1 : 0))\n}\n\nfunction resolveCoreRuntimeRoot(): string {\n const moduleDirectory = dirname(fileURLToPath(import.meta.url))\n const candidates = [moduleDirectory, resolve(moduleDirectory, \"../dist\")]\n return candidates.find((candidate) => statIsFile(join(candidate, \"parser.worker.js\"))) ?? moduleDirectory\n}\n\nfunction firstExistingFile(...paths: string[]): string {\n return paths.find(statIsFile) ?? paths[0]!\n}\n\nfunction resolvePackageEntry(specifier: string): string {\n return fileURLToPath(import.meta.resolve(specifier))\n}\n\nfunction statIsFile(path: string): boolean {\n try {\n return statSync(path).isFile()\n } catch {\n return false\n }\n}\n",
|
|
6
6
|
"export type NodeAssetTarget = {\n readonly platform: \"darwin\" | \"linux\" | \"win32\"\n readonly arch: \"arm64\" | \"x64\"\n readonly libc?: \"glibc\" | \"musl\"\n}\n\nexport interface NativeAssetDescriptor {\n readonly key: string\n readonly packageName: string\n readonly fileName: string\n}\n\nconst NATIVE_FILE_NAMES = {\n darwin: \"libopentui.dylib\",\n linux: \"libopentui.so\",\n win32: \"opentui.dll\",\n} as const\n\nexport function getNativeAssetDescriptor(target: NodeAssetTarget): NativeAssetDescriptor {\n if (!Object.hasOwn(NATIVE_FILE_NAMES, target.platform) || (target.arch !== \"arm64\" && target.arch !== \"x64\")) {\n throw new Error(`Unsupported OpenTUI Node asset target: ${String(target.platform)}-${String(target.arch)}`)\n }\n\n if (target.libc !== undefined && target.libc !== \"glibc\" && target.libc !== \"musl\") {\n throw new Error(`Unsupported libc for OpenTUI Node assets: ${String(target.libc)}`)\n }\n if (target.platform !== \"linux\" && target.libc !== undefined) {\n throw new Error(`OpenTUI Node asset target libc is only supported on Linux, got ${target.platform}`)\n }\n\n const libcSuffix = target.platform === \"linux\" && target.libc === \"musl\" ? \"-musl\" : \"\"\n const packageName = `@opentui/core-${target.platform}-${target.arch}${libcSuffix}`\n const fileName = NATIVE_FILE_NAMES[target.platform]\n return {\n key: `${packageName}/${fileName}`,\n packageName,\n fileName,\n }\n}\n\nexport function getCurrentNodeAssetTarget(): NodeAssetTarget {\n const libc = process.env.OPENTUI_LIBC\n if (process.platform === \"linux\" && libc !== undefined && libc !== \"\" && libc !== \"glibc\" && libc !== \"musl\") {\n throw new Error(`On Linux, OPENTUI_LIBC must be unset, empty, \"glibc\", or \"musl\", got ${JSON.stringify(libc)}`)\n }\n\n return {\n platform: process.platform as NodeAssetTarget[\"platform\"],\n arch: process.arch as NodeAssetTarget[\"arch\"],\n ...(process.platform === \"linux\" && libc === \"musl\" ? { libc } : {}),\n }\n}\n",
|
|
7
7
|
"import { statSync } from \"node:fs\"\nimport { isAbsolute, join } from \"node:path\"\nimport { fileURLToPath } from \"node:url\"\n\nimport { registerEnvVar } from \"../lib/env.js\"\n\ntype AssetFallback = string | URL | (() => string | URL)\n\nregisterEnvVar({\n name: \"OTUI_ASSET_ROOT\",\n description: \"Absolute directory containing relocatable OpenTUI runtime assets\",\n type: \"string\",\n default: \"\",\n})\n\nexport function resolveAssetPath(key: string, fallback?: AssetFallback): string {\n validateAssetKey(key)\n\n const configuredPath = resolveAssetRootPath(key)\n if (configuredPath !== undefined) {\n return configuredPath\n }\n\n if (fallback === undefined) {\n throw new Error(`OpenTUI asset ${JSON.stringify(key)} has no package-relative fallback`)\n }\n\n const value = typeof fallback === \"function\" ? fallback() : fallback\n return value instanceof URL ? fileURLToPath(value) : value\n}\n\nexport function resolveAssetRootPath(key: string): string | undefined {\n validateAssetKey(key)\n\n const root = process.env.OTUI_ASSET_ROOT\n if (!root) {\n return undefined\n }\n\n if (!isAbsolute(root)) {\n throw new Error(`OTUI_ASSET_ROOT must be an absolute directory, got ${JSON.stringify(root)}`)\n }\n\n const assetPath = join(root, key)\n let isFile = false\n try {\n isFile = statSync(assetPath).isFile()\n } catch {}\n if (!isFile) {\n throw new Error(`Missing OpenTUI asset ${JSON.stringify(key)} at ${JSON.stringify(assetPath)}`)\n }\n return assetPath\n}\n\nexport function validateAssetKey(key: string): void {\n if (key.length === 0 || isAbsolute(key) || key.includes(\"\\\\\") || key.split(\"/\").includes(\"..\")) {\n throw new Error(`Invalid OpenTUI asset key: ${JSON.stringify(key)}`)\n }\n}\n",
|
|
8
8
|
"const singletonCacheSymbol = Symbol.for(\"@opentui/core/singleton\")\n\n/**\n * Ensures a value is initialized once per process,\n * persists across Bun hot reloads, and is type-safe.\n */\nexport function singleton<T>(key: string, factory: () => T): T {\n // @ts-expect-error this symbol is only used in this file and is not part of the public API\n const bag = (globalThis[singletonCacheSymbol] ??= {})\n if (!(key in bag)) {\n bag[key] = factory()\n }\n return bag[key] as T\n}\n\nexport function getSingleton<T>(key: string): T | undefined {\n // @ts-expect-error this symbol is only used in this file and is not part of the public API\n const bag = globalThis[singletonCacheSymbol]\n return bag?.[key] as T | undefined\n}\n\nexport function destroySingleton(key: string): void {\n // @ts-expect-error this symbol is only used in this file and is not part of the public API\n const bag = globalThis[singletonCacheSymbol]\n if (bag && key in bag) {\n delete bag[key]\n }\n}\n\nexport function hasSingleton(key: string): boolean {\n // @ts-expect-error this symbol is only used in this file and is not part of the public API\n const bag = globalThis[singletonCacheSymbol]\n return bag && key in bag\n}\n",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"import { getCurrentNodeAssetTarget, getNativeAssetDescriptor } from \"../node-asset-target.js\"\nimport { resolveAssetPath, resolveAssetRootPath } from \"./assets.js\"\n\ninterface NativePackageModule {\n readonly default: string\n}\n\nconst CORE_ASSET_PREFIX = \"@opentui/core/\"\nconst PARSER_WORKER_ASSET_KEY = `${CORE_ASSET_PREFIX}parser.worker.js`\nconst TREE_SITTER_WASM_ASSET_KEY = \"web-tree-sitter/tree-sitter.wasm\"\n\nexport function resolveDefaultParserAsset(relativePath: string, fallbackPath: URL): Promise<string> {\n return Promise.resolve(resolveAssetPath(`${CORE_ASSET_PREFIX}${relativePath}`, fallbackPath))\n}\n\nexport function resolveDefaultTreeSitterWorkerPath(fallbackPath: URL): string {\n return resolveAssetPath(PARSER_WORKER_ASSET_KEY, fallbackPath)\n}\n\nexport function resolveTreeSitterWasm(): Promise<string> {\n return Promise.resolve(\n resolveAssetPath(TREE_SITTER_WASM_ASSET_KEY, () => new URL(import.meta.resolve(TREE_SITTER_WASM_ASSET_KEY))),\n )\n}\n\nexport async function resolveNativeLibraryPath(): Promise<string> {\n const asset = getNativeAssetDescriptor(getCurrentNodeAssetTarget())\n const configuredPath = resolveAssetRootPath(asset.key)\n if (configuredPath !== undefined) {\n return configuredPath\n }\n\n const specifier: string = asset.packageName\n return ((await import(specifier)) as NativePackageModule).default\n}\n",
|
|
11
11
|
"// This file is generated by assets/update.ts - DO NOT EDIT MANUALLY\n// Run 'bun assets/update.ts' to regenerate this file\n\nimport { resolveDefaultParserAsset } from \"#opentui/runtime-assets\"\n\nimport type { FiletypeParserOptions, InjectionMapping } from \"./types.js\"\n\ninterface DefaultParserDescriptor {\n readonly filetype: string\n readonly aliases?: readonly string[]\n readonly queries: {\n readonly highlights: readonly string[]\n readonly injections?: readonly string[]\n }\n readonly wasm: string\n readonly injectionMapping?: InjectionMapping\n}\n\nconst defaultParserDescriptors: readonly DefaultParserDescriptor[] = [\n {\n \"filetype\": \"javascript\",\n \"aliases\": [\"javascriptreact\"],\n \"queries\": { \"highlights\": [\"assets/javascript/highlights.scm\"] },\n \"wasm\": \"assets/javascript/tree-sitter-javascript.wasm\"\n },\n {\n \"filetype\": \"typescript\",\n \"aliases\": [\"typescriptreact\"],\n \"queries\": { \"highlights\": [\"assets/typescript/highlights.scm\"] },\n \"wasm\": \"assets/typescript/tree-sitter-typescript.wasm\"\n },\n {\n \"filetype\": \"markdown\",\n \"queries\": {\n \"highlights\": [\"assets/markdown/highlights.scm\"],\n \"injections\": [\"assets/markdown/injections.scm\"]\n },\n \"wasm\": \"assets/markdown/tree-sitter-markdown.wasm\",\n \"injectionMapping\": {\n \"nodeTypes\": { \"inline\": \"markdown_inline\", \"pipe_table_cell\": \"markdown_inline\" },\n \"infoStringMap\": {\n \"javascript\": \"javascript\",\n \"js\": \"javascript\",\n \"jsx\": \"javascriptreact\",\n \"javascriptreact\": \"javascriptreact\",\n \"typescript\": \"typescript\",\n \"ts\": \"typescript\",\n \"tsx\": \"typescriptreact\",\n \"typescriptreact\": \"typescriptreact\",\n \"markdown\": \"markdown\",\n \"md\": \"markdown\"\n }\n }\n },\n {\n \"filetype\": \"markdown_inline\",\n \"queries\": { \"highlights\": [\"assets/markdown_inline/highlights.scm\"] },\n \"wasm\": \"assets/markdown_inline/tree-sitter-markdown_inline.wasm\"\n },\n {\n \"filetype\": \"zig\",\n \"queries\": { \"highlights\": [\"assets/zig/highlights.scm\"] },\n \"wasm\": \"assets/zig/tree-sitter-zig.wasm\"\n }\n]\n\nexport const defaultParserAssetPaths: readonly string[] = [\n ...new Set(\n defaultParserDescriptors.flatMap((parser) => [\n ...parser.queries.highlights,\n parser.wasm,\n ...(parser.queries.injections ?? []),\n ]),\n ),\n]\n\nlet cachedParsers: Promise<FiletypeParserOptions[]> | undefined\n\nexport function getParsers(): Promise<FiletypeParserOptions[]> {\n cachedParsers ??= Promise.all(defaultParserDescriptors.map(resolveDefaultParser))\n return cachedParsers\n}\n\nasync function resolveDefaultParser(parser: DefaultParserDescriptor): Promise<FiletypeParserOptions> {\n const queries: FiletypeParserOptions[\"queries\"] = {\n highlights: await Promise.all(parser.queries.highlights.map(resolveParserAsset)),\n }\n if (parser.queries.injections) {\n queries.injections = await Promise.all(parser.queries.injections.map(resolveParserAsset))\n }\n\n return {\n filetype: parser.filetype,\n ...(parser.aliases ? { aliases: [...parser.aliases] } : {}),\n queries,\n wasm: await resolveParserAsset(parser.wasm),\n ...(parser.injectionMapping ? { injectionMapping: parser.injectionMapping } : {}),\n }\n}\n\nfunction resolveParserAsset(relativePath: string): Promise<string> {\n return resolveDefaultParserAsset(relativePath, new URL(`./${relativePath}`, import.meta.url))\n}\n"
|
|
12
12
|
],
|
|
13
|
-
"mappings": "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
|
|
14
|
-
"debugId": "
|
|
13
|
+
"mappings": "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",
|
|
14
|
+
"debugId": "A3C7C3AAD62B2B8D64756E2164756E21",
|
|
15
15
|
"names": []
|
|
16
16
|
}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"main": "index.node.js",
|
|
5
5
|
"types": "index.d.ts",
|
|
6
6
|
"type": "module",
|
|
7
|
-
"version": "0.5.
|
|
7
|
+
"version": "0.5.12",
|
|
8
8
|
"description": "OpenTUI is a TypeScript library on a native Zig core for building terminal user interfaces (TUIs)",
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"repository": {
|
|
@@ -12,6 +12,10 @@
|
|
|
12
12
|
"url": "https://github.com/anomalyco/opentui",
|
|
13
13
|
"directory": "packages/core"
|
|
14
14
|
},
|
|
15
|
+
"engines": {
|
|
16
|
+
"bun": ">=1.3.0",
|
|
17
|
+
"node": ">=26.4.0"
|
|
18
|
+
},
|
|
15
19
|
"exports": {
|
|
16
20
|
".": {
|
|
17
21
|
"types": "./index.d.ts",
|
|
@@ -75,13 +79,13 @@
|
|
|
75
79
|
"web-tree-sitter": "0.25.10"
|
|
76
80
|
},
|
|
77
81
|
"optionalDependencies": {
|
|
78
|
-
"@opentui/core-darwin-x64": "0.5.
|
|
79
|
-
"@opentui/core-darwin-arm64": "0.5.
|
|
80
|
-
"@opentui/core-linux-x64": "0.5.
|
|
81
|
-
"@opentui/core-linux-arm64": "0.5.
|
|
82
|
-
"@opentui/core-win32-x64": "0.5.
|
|
83
|
-
"@opentui/core-win32-arm64": "0.5.
|
|
84
|
-
"@opentui/core-linux-x64-musl": "0.5.
|
|
85
|
-
"@opentui/core-linux-arm64-musl": "0.5.
|
|
82
|
+
"@opentui/core-darwin-x64": "0.5.12",
|
|
83
|
+
"@opentui/core-darwin-arm64": "0.5.12",
|
|
84
|
+
"@opentui/core-linux-x64": "0.5.12",
|
|
85
|
+
"@opentui/core-linux-arm64": "0.5.12",
|
|
86
|
+
"@opentui/core-win32-x64": "0.5.12",
|
|
87
|
+
"@opentui/core-win32-arm64": "0.5.12",
|
|
88
|
+
"@opentui/core-linux-x64-musl": "0.5.12",
|
|
89
|
+
"@opentui/core-linux-arm64-musl": "0.5.12"
|
|
86
90
|
}
|
|
87
91
|
}
|
package/parser.worker.js
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import { createRequire } from "node:module";
|
|
2
|
-
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
3
|
-
|
|
4
1
|
// ../../node_modules/.bun/web-tree-sitter@0.25.10/node_modules/web-tree-sitter/tree-sitter.js
|
|
5
2
|
var __defProp = Object.defineProperty;
|
|
6
3
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
@@ -1444,8 +1441,8 @@ var Module2 = (() => {
|
|
|
1444
1441
|
var ENVIRONMENT_IS_NODE = typeof process == "object" && typeof process.versions == "object" && typeof process.versions.node == "string" && process.type != "renderer";
|
|
1445
1442
|
var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
|
|
1446
1443
|
if (ENVIRONMENT_IS_NODE) {
|
|
1447
|
-
const { createRequire
|
|
1448
|
-
var require =
|
|
1444
|
+
const { createRequire } = await import("module");
|
|
1445
|
+
var require = createRequire(import.meta.url);
|
|
1449
1446
|
}
|
|
1450
1447
|
Module.currentQueryProgressCallback = null;
|
|
1451
1448
|
Module.currentProgressCallback = null;
|
|
@@ -3327,8 +3324,8 @@ class DownloadUtils {
|
|
|
3327
3324
|
|
|
3328
3325
|
// src/lib/bunfs.ts
|
|
3329
3326
|
import { basename as basename2, join as join2 } from "node:path";
|
|
3330
|
-
function isBunfsPath(
|
|
3331
|
-
return
|
|
3327
|
+
function isBunfsPath(path) {
|
|
3328
|
+
return path.includes("$bunfs") || /^B:[\\/]~BUN/i.test(path);
|
|
3332
3329
|
}
|
|
3333
3330
|
function getBunfsRootPath() {
|
|
3334
3331
|
return process.platform === "win32" ? "B:\\~BUN\\root" : "/$bunfs/root";
|
|
@@ -3576,11 +3573,9 @@ function createNodeWorkerConstructor(node) {
|
|
|
3576
3573
|
return this.terminationPromise;
|
|
3577
3574
|
}
|
|
3578
3575
|
this.worker.off("message", this.handleMessage);
|
|
3579
|
-
this.worker.off("error", this.handleError);
|
|
3580
3576
|
const termination = this.worker.terminate().catch((error) => {
|
|
3581
3577
|
this.terminationPromise = undefined;
|
|
3582
3578
|
this.worker.on("message", this.handleMessage);
|
|
3583
|
-
this.worker.on("error", this.handleError);
|
|
3584
3579
|
throw error;
|
|
3585
3580
|
});
|
|
3586
3581
|
this.terminationPromise = termination;
|
|
@@ -4234,9 +4229,9 @@ class ParserWorker {
|
|
|
4234
4229
|
}
|
|
4235
4230
|
}
|
|
4236
4231
|
return {
|
|
4237
|
-
highlights: Array.from(lineHighlights.entries()).map(([line,
|
|
4232
|
+
highlights: Array.from(lineHighlights.entries()).map(([line, lineHighlights]) => ({
|
|
4238
4233
|
line,
|
|
4239
|
-
highlights: Array.from(
|
|
4234
|
+
highlights: Array.from(lineHighlights.values()),
|
|
4240
4235
|
droppedHighlights: droppedHighlights.get(line) ? Array.from(droppedHighlights.get(line).values()) : []
|
|
4241
4236
|
}))
|
|
4242
4237
|
};
|
|
@@ -4562,5 +4557,5 @@ if (isWorkerRuntime) {
|
|
|
4562
4557
|
});
|
|
4563
4558
|
}
|
|
4564
4559
|
|
|
4565
|
-
//# debugId=
|
|
4560
|
+
//# debugId=78D126049420BADC64756E2164756E21
|
|
4566
4561
|
//# sourceMappingURL=parser.worker.js.map
|