2026-03-13 12:21:09 -06:00
|
|
|
[package]
|
|
|
|
|
name = "gsd-engine"
|
|
|
|
|
version.workspace = true
|
|
|
|
|
edition.workspace = true
|
|
|
|
|
license.workspace = true
|
|
|
|
|
authors.workspace = true
|
|
|
|
|
repository.workspace = true
|
|
|
|
|
description = "N-API native addon for GSD — exposes high-performance Rust modules to Node.js"
|
|
|
|
|
|
|
|
|
|
[lib]
|
|
|
|
|
crate-type = ["cdylib"]
|
|
|
|
|
|
|
|
|
|
[dependencies]
|
2026-03-13 13:01:41 -06:00
|
|
|
gsd-ast = { path = "../ast" }
|
2026-03-13 12:21:09 -06:00
|
|
|
gsd-grep = { path = "../grep" }
|
2026-03-13 12:48:27 -06:00
|
|
|
arboard = "3"
|
feat: add native glob and fs_cache modules with gitignore-aware discovery (#226)
Port glob, glob_util, and fs_cache modules from Oh My Pi's pi-natives crate,
adapted for napi-rs v2. Provides gitignore-respecting filesystem discovery
with a TTL-based scan cache, mtime sorting, file-type filtering, and
node_modules exclusion.
Includes a task module for async N-API work scheduling with cooperative
cancellation (timeout-based), TypeScript type declarations and wrapper,
and 12 integration tests covering pattern matching, recursion, gitignore,
maxResults, sortByMtime, fileType filtering, and cache invalidation.
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-13 12:45:56 -06:00
|
|
|
dashmap = "6"
|
|
|
|
|
globset = "0.4"
|
2026-03-13 12:40:22 -06:00
|
|
|
html-to-markdown-rs = { version = "2", default-features = false }
|
feat: add native glob and fs_cache modules with gitignore-aware discovery (#226)
Port glob, glob_util, and fs_cache modules from Oh My Pi's pi-natives crate,
adapted for napi-rs v2. Provides gitignore-respecting filesystem discovery
with a TTL-based scan cache, mtime sorting, file-type filtering, and
node_modules exclusion.
Includes a task module for async N-API work scheduling with cooperative
cancellation (timeout-based), TypeScript type declarations and wrapper,
and 12 integration tests covering pattern matching, recursion, gitignore,
maxResults, sortByMtime, fileType filtering, and cache invalidation.
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-13 12:45:56 -06:00
|
|
|
ignore = "0.4"
|
2026-03-13 16:48:49 -06:00
|
|
|
memchr = "2"
|
feat: add native image module — decode, encode, and resize via Rust image crate
Port image processing from Oh My Pi's pi-natives crate, adapted for napi-rs v2.
Exposes NativeImage class with async parse/encode/resize methods backed by the
Rust `image` crate (PNG, JPEG, WebP, GIF support).
Includes:
- task.rs: lightweight async task scheduling for libuv thread pool
- image.rs: NativeImage class with SamplingFilter enum
- TypeScript types and wrapper (parseImage, ImageFormat, SamplingFilter)
- 8 passing tests covering decode, encode, resize, round-trip, error cases
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-13 12:51:49 -06:00
|
|
|
image = { version = "0.25", default-features = false, features = [
|
|
|
|
|
"png",
|
|
|
|
|
"jpeg",
|
|
|
|
|
"gif",
|
|
|
|
|
"webp",
|
|
|
|
|
] }
|
2026-03-13 12:21:09 -06:00
|
|
|
napi = { version = "2", features = ["napi8"] }
|
|
|
|
|
napi-derive = "2"
|
2026-03-13 13:57:12 -06:00
|
|
|
regex = "1"
|
2026-03-13 16:21:58 -06:00
|
|
|
serde_json = "1"
|
2026-03-13 14:00:39 -06:00
|
|
|
similar = "2"
|
2026-03-13 12:42:42 -06:00
|
|
|
smallvec = "1"
|
feat: add syntect-based syntax highlighting module to native engine (#227)
Port the highlight module from Oh My Pi's pi-natives crate. Provides
ANSI-colored syntax highlighting with scope-based semantic token matching
across 11 categories (comment, keyword, function, variable, string, number,
type, operator, punctuation, inserted, deleted).
Exposed N-API functions:
- highlightCode(code, lang, colors) -> ANSI-highlighted string
- supportsLanguage(lang) -> boolean
- getSupportedLanguages() -> string[]
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-13 12:47:02 -06:00
|
|
|
syntect = { version = "5", default-features = false, features = ["default-syntaxes", "default-themes", "regex-fancy"] }
|
2026-03-13 12:42:42 -06:00
|
|
|
unicode-segmentation = "1"
|
|
|
|
|
unicode-width = "0.2"
|
2026-03-13 16:46:08 -06:00
|
|
|
xxhash-rust = { version = "0.8", features = ["xxh32"] }
|
2026-03-14 13:07:02 -06:00
|
|
|
git2 = { version = "0.20", default-features = false, features = ["vendored-libgit2"] }
|
2026-03-13 12:21:09 -06:00
|
|
|
|
|
|
|
|
[build-dependencies]
|
|
|
|
|
napi-build = "2"
|
2026-03-13 12:43:50 -06:00
|
|
|
|
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
|
|
|
libc = "0.2"
|