Echo JS 0.11.0

<~>

tracker1 16 days ago. link 2 points
And this is a big part of why I haven't started publishing the MS-SQL client I had been working on, AI assisted...  Even though I have some pretty thorough tests for general functionality across node, deno and bun, I just don't quite trust it yet... let alone I still have a couple refactors I want to do around transactions and the documentation project.

It's hard to actually bulletproof test something that people might rely on.  And my client is mostly a wrapper around ODBC at this point.  I'm planning to do a strip-down version for general ODBC that isn't MS-SQL specific.

https://github.com/tsdrivers/mssql

Harder still are features that I want to target that only work for MS SQL Server on Windows with a Windows client (FILESTREAM).

The main advantages that I wanted are around query ergonomics...

https://tsdrivers.github.io/mssql/guide/queries.html
pinceladasdaweb 12 days ago. link 1 point
That "I don't quite trust it yet" feeling is exactly where I lived for two years — and what fixed it for me wasn't more coverage, it was one specific kind of test: kill the dependency for real, from the server side, while the library is mid-work, and assert full recovery. For Redis that was CLIENT KILL; for an MS-SQL client I'd bet the bodies are buried around killing the connection mid-transaction. My "pretty thorough" functional tests kept passing while reconnection had literally never worked once.

Two things that let me ship anyway: making the README document what the library does NOT do (mine says the lock is single-instance and not Redlock, in bold — honesty is cheaper than a support ticket), and doing the scary refactors only AFTER the destructive suite existed. So your pending transactions refactor might actually be an argument for writing those tests now, not for delaying the release.

The query ergonomics doc looks genuinely nice. FWIW, "bulletproof before people rely on it" never arrives — other people's workloads are the one test suite you can't write yourself.