-
Notifications
You must be signed in to change notification settings - Fork 284
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v0.28 #1278
base: master
Are you sure you want to change the base?
v0.28 #1278
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
Open in Stackblitz • kysely_koa_example
commit: |
Btw thank you so much for the work you’re doing. Started using kysely and was really impressed ! congrats 🙌 |
@igalklebanov Feel free to merge this when you feel it's ready. I simply don't have the time right now to review. I trust you. Let me know when you want me to publish to npm. |
Hey @koskimas 👋 Just parked it here to run CI (tests and preview release). |
@igalklebanov do you have any estimate on when v0.28 will be released? I'm itching to try out the performance improvements. |
We have preview releases. Try today.
|
@igalklebanov, thanks for the preview release. Edit: with 8gb it works but I don't see any typecheck perf improvements on my side. I have around 60 tables and large codebase. |
@flodlc your comment is not actionable. Please submit a new issue with some traces, numbers, minimal reproduction, tsconfigs, TypeScript version, etc. |
Related #748
Co-authored-by: Igal Klebanov <[email protected]>
* feat: empty where in plugin * test: add new tests * chore: remove unneccesary typeguards * fix: change to binary operator node * test: update tests to do both in and not in * test: for having * chore: rm test * test: nullable tests * chore: nit * chore: condense suite * chore: db config override * chore: extra console log * chore: empty arr plugin docs * HandleEmptyInListsPlugin initial commit. Co-authored-by: Austin Woon Quan <[email protected]> --------- Co-authored-by: Austin Woon <[email protected]> Co-authored-by: igalklebanov <[email protected]> remove only.
Co-authored-by: vincentiusvin <[email protected]> Co-authored-by: Igal Klebanov <[email protected]>
Co-authored-by: Ivashkin Olexiy <[email protected]> Co-authored-by: Dev K0te <[email protected]> Co-authored-by: igalklebanov <[email protected]>
Co-authored-by: Drew Marshall <[email protected]> Co-authored-by: Drew Marshall <[email protected]> Co-authored-by: igalklebanov <[email protected]>
Co-authored-by: Simon Schick <[email protected]> Co-authored-by: Igal Klebanov <[email protected]>
Co-authored-by: Igal Klebanov <[email protected]>
@igalklebanov Ok, I'll open an issue with a maximum of information soon and try to isolate the problem. What I can say for now is that there are cases (mine) where 0.28 break the typechecking performance. |
… more components. (#176)
Co-authored-by: Igal Klebanov <[email protected]>
Hey 👋
(changes since last edit: 74aed5d...v0.28)
It's been a long time coming, and now you can finally start transactions, and commit or roll them back manually!
We also added
using
keyword support, so now you can write:and
db.destroy()
will be called automatically once the current scope is exited.If you plan on trying this out (it is optional, you can still
const db = new Kysely({...})
andawait db.destroy()
manually), theusing
keyword requirestypescript >= 5.2
and the followingtsconfig.json
options:We also added a plugin to handle
in ()
andnot in ()
. It comes with 2 handling strategies, one similar to how Knex.js, PrismaORM, Laravel and SQLAlchemy do it, and one similar to how TypeORM and Sequelize do it. It also supports custom strategies, e.g. throwing an error to avoid making a call to the database and wasting resources. Here's an example with one of the strategies we ship:🚀 Features
InferResult
should output plural. by @igalklebanov inInferResult
should output plural. #1064ControlledTransaction
. by @igalklebanov in addControlledTransaction
. #962 & fix TS backwards compat followingControlledTransaction
. #1193await using kysely = new Kysely()
support. by @igalklebanov inawait using kysely = new Kysely()
support. #1167Date
as a valid return type formax
andmin
#1062orderBy
- deprecations, new order by item builder (nullFirst()
,nullsLast()
,collate()
). #1326queryId
toCompiledQuery
and all transformer methods. by @igalklebanov in addqueryId
toCompiledQuery
and all transformer methods. #176PostgreSQL 🐘 / MS SQL Server 🥅
within group
clause support for aggregate function builder #1024PostgreSQL 🐘
returning
support inMERGE
queries. by @igalklebanov in addreturning
support inMERGE
queries. #1171MySQL 🐬
MS SQL Server 🥅
SQLite 📘
🐞 Bugfixes
📖 Documentation
📦 CICD & Tooling
InferResult
now outputsInsertResult[]
,UpdateResult[]
,DeleteResult[]
,MergeResult[]
, instead ofInsertResult
,UpdateResult
,DeleteResult
,MergeResult
. To get the singular form, usetype Result = InferResult<T>[number]
.QueryCreator
's methods should no longer pass type checks. We never supported these officially.preventAwait
is now removed on all builders, you must avoid awaiting builders without callingexecute
-like methods on your own.QueryResult.numUpdatedOrDeletedRows
has been removed (after spending ~2 years in deprecation). We still log a warning. Outdated dialects that don't useQueryResult.numAffectedRows
should be updated OR forked.DefaultQueryExecutor.compileQuery
now requires passing aqueryId
argument. Use the newly exportedcreateQueryId()
as that argument value from now on.🐤 New Contributors
Date
as a valid return type formax
andmin
#1062Full Changelog: master...v0.28