syntaqlite - SQLite की अपनी grammar और tokenizer पर आधारित SQL parser, formatter, validator और language server
(github.com/lalitMaganti)- यह ऐसा टूल है जो SQLite की Lemon-generated grammar और tokenizer को सीधे C में compile करके इस्तेमाल करता है, जिससे generic SQL parsers द्वारा SQLite को एक "flavor" की तरह approximate करने की सीमाएँ खत्म हो जाती हैं
sqlite3_prepareजिन त्रुटियों को पकड़ता है, उन्हें DB connection के बिना schema के मुकाबले validate करता है, औरsqlite3से अलग एक ही pass में सभी errors को source location और fix suggestions के साथ रिपोर्ट करता है--sqlite-version 3.32.0की तरह किसी खास SQLite version को pin किया जा सकता है, जिससे Android जैसी पुरानी SQLite environments में unsupported syntax (RETURNINGआदि) पहले से detect हो सके- 22 compile-time flags (
SQLITE_ENABLE_MATH_FUNCTIONSआदि) को reflect करके target build से सटीक मेल खाने वाला validation करता है - SQLite upstream test suite के लगभग 3 लाख 96 हज़ार statements के मुकाबले लगभग 99.7% parsing acceptance match rate
- Deterministic SQL formatter built-in है, जिससे line width, keyword uppercase/lowercase और indentation settings कॉन्फ़िगर की जा सकती हैं
- Python और TypeScript strings के भीतर मौजूद SQL को extract करके interpolation holes को संभालने के बाद validate करने वाली experimental feature शामिल है
syntaqlite.tomlproject config file के जरिए glob के अनुसार schema mapping और format options को LSP, CLI और editor अपने-आप load करते हैं- LSP support के साथ VS Code extension, Zed extension और Claude Code plugin उपलब्ध हैं, जो DB connection के बिना diagnostics, autocomplete और semantic highlighting चलाते हैं
- ब्राउज़र में WASM पर चलने वाला Web Playground उपलब्ध है
- इसे Rust, Python, JavaScript(WASM) और C library के रूप में इस्तेमाल किया जा सकता है; installation के लिए pip, Homebrew, Cargo, mise और curl one-liner सपोर्ट है
- Parser और tokenizer C में, जबकि formatter, validator और LSP Rust में implemented dual architecture पर बने हैं
- Apache 2.0 license
अभी कोई टिप्पणी नहीं है.