@uql/core 3.1.0 → 3.1.2
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/CHANGELOG.md +134 -176
- package/README.md +413 -0
- package/package.json +31 -26
- package/dist/package.json +0 -131
- package/src/@types/index.d.ts +0 -1
- package/src/@types/jest.d.ts +0 -6
- package/src/browser/http/bus.spec.ts +0 -22
- package/src/browser/http/bus.ts +0 -17
- package/src/browser/http/http.spec.ts +0 -70
- package/src/browser/http/http.ts +0 -55
- package/src/browser/http/index.ts +0 -2
- package/src/browser/index.ts +0 -4
- package/src/browser/options.spec.ts +0 -37
- package/src/browser/options.ts +0 -18
- package/src/browser/querier/genericClientRepository.spec.ts +0 -105
- package/src/browser/querier/genericClientRepository.ts +0 -49
- package/src/browser/querier/httpQuerier.ts +0 -82
- package/src/browser/querier/index.ts +0 -3
- package/src/browser/querier/querier.util.spec.ts +0 -35
- package/src/browser/querier/querier.util.ts +0 -18
- package/src/browser/type/clientQuerier.ts +0 -45
- package/src/browser/type/clientQuerierPool.ts +0 -5
- package/src/browser/type/clientRepository.ts +0 -22
- package/src/browser/type/index.ts +0 -4
- package/src/browser/type/request.ts +0 -25
- package/src/dialect/abstractDialect.ts +0 -28
- package/src/dialect/abstractSqlDialect-spec.ts +0 -1309
- package/src/dialect/abstractSqlDialect.ts +0 -805
- package/src/dialect/index.ts +0 -3
- package/src/dialect/namingStrategy.spec.ts +0 -52
- package/src/dialect/queryContext.ts +0 -69
- package/src/entity/decorator/definition.spec.ts +0 -736
- package/src/entity/decorator/definition.ts +0 -265
- package/src/entity/decorator/entity.ts +0 -8
- package/src/entity/decorator/field.ts +0 -9
- package/src/entity/decorator/id.ts +0 -9
- package/src/entity/decorator/index.ts +0 -5
- package/src/entity/decorator/relation.spec.ts +0 -41
- package/src/entity/decorator/relation.ts +0 -34
- package/src/entity/index.ts +0 -1
- package/src/express/@types/express.d.ts +0 -8
- package/src/express/@types/index.d.ts +0 -1
- package/src/express/index.ts +0 -2
- package/src/express/querierMiddleware.ts +0 -217
- package/src/express/query.util.spec.ts +0 -40
- package/src/express/query.util.ts +0 -21
- package/src/index.ts +0 -9
- package/src/maria/index.ts +0 -3
- package/src/maria/mariaDialect.spec.ts +0 -207
- package/src/maria/mariaDialect.ts +0 -42
- package/src/maria/mariaQuerierPool.test.ts +0 -23
- package/src/maria/mariadbQuerier.test.ts +0 -23
- package/src/maria/mariadbQuerier.ts +0 -45
- package/src/maria/mariadbQuerierPool.ts +0 -21
- package/src/migrate/cli.ts +0 -301
- package/src/migrate/generator/index.ts +0 -4
- package/src/migrate/generator/mongoSchemaGenerator.spec.ts +0 -112
- package/src/migrate/generator/mongoSchemaGenerator.ts +0 -115
- package/src/migrate/generator/mysqlSchemaGenerator.spec.ts +0 -34
- package/src/migrate/generator/mysqlSchemaGenerator.ts +0 -92
- package/src/migrate/generator/postgresSchemaGenerator.spec.ts +0 -44
- package/src/migrate/generator/postgresSchemaGenerator.ts +0 -127
- package/src/migrate/generator/sqliteSchemaGenerator.spec.ts +0 -33
- package/src/migrate/generator/sqliteSchemaGenerator.ts +0 -81
- package/src/migrate/index.ts +0 -41
- package/src/migrate/introspection/index.ts +0 -4
- package/src/migrate/introspection/mongoIntrospector.spec.ts +0 -75
- package/src/migrate/introspection/mongoIntrospector.ts +0 -47
- package/src/migrate/introspection/mysqlIntrospector.spec.ts +0 -113
- package/src/migrate/introspection/mysqlIntrospector.ts +0 -278
- package/src/migrate/introspection/postgresIntrospector.spec.ts +0 -112
- package/src/migrate/introspection/postgresIntrospector.ts +0 -329
- package/src/migrate/introspection/sqliteIntrospector.spec.ts +0 -112
- package/src/migrate/introspection/sqliteIntrospector.ts +0 -296
- package/src/migrate/migrator-mongo.test.ts +0 -54
- package/src/migrate/migrator.spec.ts +0 -255
- package/src/migrate/migrator.test.ts +0 -94
- package/src/migrate/migrator.ts +0 -719
- package/src/migrate/namingStrategy.spec.ts +0 -22
- package/src/migrate/schemaGenerator-advanced.spec.ts +0 -138
- package/src/migrate/schemaGenerator.spec.ts +0 -190
- package/src/migrate/schemaGenerator.ts +0 -478
- package/src/migrate/storage/databaseStorage.spec.ts +0 -69
- package/src/migrate/storage/databaseStorage.ts +0 -100
- package/src/migrate/storage/index.ts +0 -2
- package/src/migrate/storage/jsonStorage.ts +0 -58
- package/src/migrate/type.ts +0 -1
- package/src/mongo/index.ts +0 -3
- package/src/mongo/mongoDialect.spec.ts +0 -251
- package/src/mongo/mongoDialect.ts +0 -238
- package/src/mongo/mongodbQuerier.test.ts +0 -45
- package/src/mongo/mongodbQuerier.ts +0 -256
- package/src/mongo/mongodbQuerierPool.test.ts +0 -25
- package/src/mongo/mongodbQuerierPool.ts +0 -24
- package/src/mysql/index.ts +0 -3
- package/src/mysql/mysql2Querier.test.ts +0 -20
- package/src/mysql/mysql2Querier.ts +0 -49
- package/src/mysql/mysql2QuerierPool.test.ts +0 -20
- package/src/mysql/mysql2QuerierPool.ts +0 -21
- package/src/mysql/mysqlDialect.spec.ts +0 -20
- package/src/mysql/mysqlDialect.ts +0 -16
- package/src/namingStrategy/defaultNamingStrategy.ts +0 -18
- package/src/namingStrategy/index.spec.ts +0 -36
- package/src/namingStrategy/index.ts +0 -2
- package/src/namingStrategy/snakeCaseNamingStrategy.ts +0 -15
- package/src/options.spec.ts +0 -41
- package/src/options.ts +0 -18
- package/src/postgres/index.ts +0 -3
- package/src/postgres/manual-types.d.ts +0 -4
- package/src/postgres/pgQuerier.test.ts +0 -25
- package/src/postgres/pgQuerier.ts +0 -45
- package/src/postgres/pgQuerierPool.test.ts +0 -28
- package/src/postgres/pgQuerierPool.ts +0 -21
- package/src/postgres/postgresDialect.spec.ts +0 -428
- package/src/postgres/postgresDialect.ts +0 -144
- package/src/querier/abstractQuerier-test.ts +0 -584
- package/src/querier/abstractQuerier.ts +0 -353
- package/src/querier/abstractQuerierPool-test.ts +0 -20
- package/src/querier/abstractQuerierPool.ts +0 -18
- package/src/querier/abstractSqlQuerier-spec.ts +0 -979
- package/src/querier/abstractSqlQuerier-test.ts +0 -21
- package/src/querier/abstractSqlQuerier.ts +0 -138
- package/src/querier/decorator/index.ts +0 -3
- package/src/querier/decorator/injectQuerier.spec.ts +0 -74
- package/src/querier/decorator/injectQuerier.ts +0 -45
- package/src/querier/decorator/serialized.spec.ts +0 -98
- package/src/querier/decorator/serialized.ts +0 -13
- package/src/querier/decorator/transactional.spec.ts +0 -240
- package/src/querier/decorator/transactional.ts +0 -56
- package/src/querier/index.ts +0 -4
- package/src/repository/genericRepository.spec.ts +0 -111
- package/src/repository/genericRepository.ts +0 -74
- package/src/repository/index.ts +0 -1
- package/src/sqlite/index.ts +0 -3
- package/src/sqlite/manual-types.d.ts +0 -4
- package/src/sqlite/sqliteDialect.spec.ts +0 -155
- package/src/sqlite/sqliteDialect.ts +0 -76
- package/src/sqlite/sqliteQuerier.spec.ts +0 -36
- package/src/sqlite/sqliteQuerier.test.ts +0 -21
- package/src/sqlite/sqliteQuerier.ts +0 -37
- package/src/sqlite/sqliteQuerierPool.test.ts +0 -12
- package/src/sqlite/sqliteQuerierPool.ts +0 -38
- package/src/test/entityMock.ts +0 -375
- package/src/test/index.ts +0 -3
- package/src/test/it.util.ts +0 -69
- package/src/test/spec.util.ts +0 -57
- package/src/type/entity.ts +0 -218
- package/src/type/index.ts +0 -9
- package/src/type/migration.ts +0 -241
- package/src/type/namingStrategy.ts +0 -17
- package/src/type/querier.ts +0 -143
- package/src/type/querierPool.ts +0 -26
- package/src/type/query.ts +0 -506
- package/src/type/repository.ts +0 -142
- package/src/type/universalQuerier.ts +0 -133
- package/src/type/utility.ts +0 -21
- package/src/util/dialect.util-extra.spec.ts +0 -96
- package/src/util/dialect.util.spec.ts +0 -23
- package/src/util/dialect.util.ts +0 -134
- package/src/util/index.ts +0 -5
- package/src/util/object.util.spec.ts +0 -29
- package/src/util/object.util.ts +0 -27
- package/src/util/raw.ts +0 -11
- package/src/util/sql.util-extra.spec.ts +0 -17
- package/src/util/sql.util.spec.ts +0 -208
- package/src/util/sql.util.ts +0 -104
- package/src/util/string.util.spec.ts +0 -46
- package/src/util/string.util.ts +0 -35
- package/tsconfig.build.json +0 -5
- package/tsconfig.json +0 -8
package/CHANGELOG.md
CHANGED
|
@@ -3,18 +3,7 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
### Bug Fixes
|
|
10
|
-
|
|
11
|
-
* adjust relative paths for README and CHANGELOG in copyfiles script ([7a61a01](https://github.com/rogerpadilla/uql/commit/7a61a0135da2d0459e588cda7d94f324bb9eebca))
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
# [3.0.0](https://github.com/rogerpadilla/uql/compare/@uql/core@2.0.0...@uql/core@3.0.0) (2025-12-30)
|
|
6
|
+
## [3.1.2](https://github.com/rogerpadilla/uql/compare/@uql/core@3.1.1...@uql/core@3.1.2) (2025-12-30)
|
|
18
7
|
|
|
19
8
|
**Note:** Version bump only for package @uql/core
|
|
20
9
|
|
|
@@ -22,233 +11,202 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
22
11
|
|
|
23
12
|
|
|
24
13
|
|
|
25
|
-
#
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
### Features
|
|
29
|
-
|
|
30
|
-
* Add Bun.js compatibility to SQLite querier pool and refactor naming strategy test entities. ([9f1f1f5](https://github.com/rogerpadilla/uql/commit/9f1f1f52c1b0e70d6f8356ee2bd6eeb530b5b907))
|
|
31
|
-
* Add date handling and upsert tests to SQL dialects and remove bun coverage threshold. ([1edb0ed](https://github.com/rogerpadilla/uql/commit/1edb0ed329dc5a5c3e0b9a153b27260a519ccc4b))
|
|
32
|
-
* replace project logo with new SVG and refactor test expectations to use `expect.anything()`. ([88063e6](https://github.com/rogerpadilla/uql/commit/88063e63d33da41bbd6741f17d850e34daa3fc45))
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
## 0.4.10 (2020-11-18)
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
## 0.4.9 (2020-11-18)
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
## 0.4.8 (2020-11-18)
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
## 0.4.7 (2020-11-18)
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
## 0.4.6 (2020-11-16)
|
|
53
|
-
|
|
14
|
+
# Changelog
|
|
54
15
|
|
|
16
|
+
All notable changes to this project will be documented in this file. Please add new changes to the top.
|
|
55
17
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
## 0.4.4 (2020-11-14)
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
## 0.4.3 (2020-11-14)
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
## 0.4.2 (2020-11-14)
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
## 0.3.6 (2020-10-02)
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
## 0.3.5 (2020-10-02)
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
## 0.3.4 (2020-10-02)
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
## 0.3.3 (2020-10-02)
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
## 0.3.2 (2020-10-01)
|
|
89
|
-
|
|
18
|
+
date format is [yyyy-mm-dd]
|
|
90
19
|
|
|
20
|
+
## [3.1.1](https://github.com/rogerpadilla/uql/compare/@uql/core@3.1.0...@uql/core@3.1.1) (2025-12-30)
|
|
91
21
|
### Bug Fixes
|
|
22
|
+
* adjust relative paths for README and CHANGELOG in copyfiles script ([741c2ee](https://github.com/rogerpadilla/uql/commit/741c2ee8839376ca89a860a53950ef6b6d234596))
|
|
92
23
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
## 0.3.1 (2020-10-01)
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
# 0.3.0 (2020-10-01)
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
### Features
|
|
105
|
-
|
|
106
|
-
* **logger:** support for custom logger and logging-level ([#1](https://github.com/rogerpadilla/uql/issues/1)) ([4e02dd3](https://github.com/rogerpadilla/uql/commit/4e02dd33194f3c50fcbeea7f957e07661e61f44e))
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
## 0.2.8 (2020-09-29)
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
### Bug Fixes
|
|
114
|
-
|
|
115
|
-
* support negative project of properties ([13a6d03](https://github.com/rogerpadilla/uql/commit/13a6d03138210f232fea3b8d4cb9dfc462f4c07e))
|
|
116
|
-
* support negative project of properties ([0e669b5](https://github.com/rogerpadilla/uql/commit/0e669b569dee1bd2467cfa1636d425a89a2b8fc0))
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
## 0.2.7 (2020-09-27)
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
### Bug Fixes
|
|
124
|
-
|
|
125
|
-
* support negative project of properties ([2c3f285](https://github.com/rogerpadilla/uql/commit/2c3f2856ae71d69aca19dc9fa1dd2ab8184c438b))
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
## 0.2.6 (2020-09-27)
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
## 0.2.5 (2020-09-27)
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
## 0.2.4 (2020-09-27)
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
## 0.2.3 (2020-09-26)
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
### Bug Fixes
|
|
145
|
-
|
|
146
|
-
* correct versions ([581baaa](https://github.com/rogerpadilla/uql/commit/581baaa383df78dc5f41eb619836169b3d4faf41))
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
## 0.2.2 (2020-09-26)
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
## 0.2.1 (2020-09-26)
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
# 0.2.0 (2020-09-26)
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
### Features
|
|
162
|
-
|
|
163
|
-
* support for 'count' when querying multiple entities via API ([05d95b7](https://github.com/rogerpadilla/uql/commit/05d95b74746a923edbb9652d489c81c25a241d66))
|
|
164
|
-
* support for 'count' when querying multiple entities via API ([e147096](https://github.com/rogerpadilla/uql/commit/e1470963014331a3499ee2128e1dfd01c24df355))
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
## 0.1.21 (2020-09-21)
|
|
169
|
-
|
|
170
|
-
|
|
24
|
+
## [3.1.0](https://github.com/rogerpadilla/uql/compare/@uql/core@3.0.0...@uql/core@3.1.0) (2025-12-30)
|
|
171
25
|
### Bug Fixes
|
|
172
26
|
|
|
173
|
-
*
|
|
174
|
-
|
|
27
|
+
* adjust relative paths for README and CHANGELOG in copyfiles script ([7a61a01](https://github.com/rogerpadilla/uql/commit/7a61a0135da2d0459e588cda7d94f324bb9eebca))
|
|
175
28
|
|
|
29
|
+
## [3.0.0](https://github.com/rogerpadilla/uql/compare/@uql/core@2.0.0...@uql/core@3.0.0) (2025-12-30)
|
|
30
|
+
Reflect major changes in the package structure and dependencies.
|
|
176
31
|
|
|
177
|
-
## 0.
|
|
32
|
+
## [2.0.0] - 2025-12-29
|
|
33
|
+
- **Major Rebranding**: Rebranded the project from **Nukak** to **UQL** (Universal Query Language - this was the original name!).
|
|
34
|
+
- New Slogan: **"One Language. Frontend to Backend."**
|
|
35
|
+
- Project homepage: [uql.app](https://uql.app).
|
|
36
|
+
- **Package Unification**: Unified all database adapters (`mysql`, `postgres`, `maria`, `sqlite`, `mongo`) and `express` middleware into a single core package: `@uql/core`.
|
|
37
|
+
- **Scoped Naming**:
|
|
38
|
+
- `@uql/core`: The main ORM engine and all database adapters.
|
|
39
|
+
- `@uql/migrate`: The database migration system (formerly `nukak-migrate`).
|
|
40
|
+
- **Improved API Surface**:
|
|
41
|
+
- Database-specific logic is now accessible via sub-paths (e.g., `import { ... } from '@uql/core/postgres'`).
|
|
42
|
+
- Unified `NamingStrategy` and `QueryContext` across all unified adapters.
|
|
43
|
+
- **Build & Distribution**:
|
|
44
|
+
- Integrated `bunchee` for high-performance browser bundle generation (`@uql/core/browser`).
|
|
45
|
+
- Minimized core dependency footprint by moving database drivers to optional `peerDependencies`.
|
|
46
|
+
- **Enhanced Type Safety**: Fully updated internal type resolution to support the unified package structure.
|
|
178
47
|
|
|
48
|
+
## [1.8.0] - 2025-12-29
|
|
49
|
+
- **New Feature**: Added support for **Naming Strategies**.
|
|
50
|
+
- Automatically translate TypeScript entity and property names to database-specific identifiers (e.g., camelCase to snake_case).
|
|
51
|
+
- Built-in `DefaultNamingStrategy` and `SnakeCaseNamingStrategy`.
|
|
52
|
+
- Comprehensive support across all SQL dialects and MongoDB.
|
|
53
|
+
- **Refactoring**:
|
|
54
|
+
- Unified naming and metadata resolution logic into a new `AbstractDialect` base class shared by both DML (Dialects) and DDL (Schema Generators).
|
|
55
|
+
- Improved `MongoDialect` to respect naming strategies for collection and field names on both read and write operations.
|
|
179
56
|
|
|
180
|
-
|
|
57
|
+
## [1.7.0] - 2025-12-29
|
|
58
|
+
- **New Package**: Introduced `nukak-migrate` for database migrations.
|
|
59
|
+
- Supports version-controlled schema changes via local migration files.
|
|
60
|
+
- Automatic migration generation from entity definitions using schema introspection.
|
|
61
|
+
- Full support for PostgreSQL, MySQL, MariaDB, and SQLite.
|
|
62
|
+
- CLI tool for managing migrations (`up`, `down`, `status`, `generate`, `sync`).
|
|
63
|
+
- Database-backed migration tracking (Database or JSON storage).
|
|
64
|
+
- **Core Improvements**:
|
|
65
|
+
- Expanded `@Field()` decorator with schema metadata: `length`, `precision`, `scale`, `unique`, `index`, `columnType`, `defaultValue`, and `comment`.
|
|
66
|
+
- Added schema generation and introspection capabilities to SQL dialects.
|
|
181
67
|
|
|
182
|
-
|
|
68
|
+
## [1.6.0] - 2025-12-28
|
|
69
|
+
- **Architectural Change**: Migrated from "Values as Parameter" to "Context Object" pattern for SQL generation.
|
|
70
|
+
- This pattern centralizes query parameters and SQL fragments into a `QueryContext`, ensuring robust placeholder management and preventing out-of-sync parameter indices.
|
|
71
|
+
- Improved compatibility with PostgreSQL's indexed placeholders ($1, $2, etc.) and complex sub-queries.
|
|
72
|
+
- Standardized dialect interfaces to operate directly on the `QueryContext` for higher performance and cleaner code.
|
|
73
|
+
- Fixed linter issues and unified type safety for `raw()` SQL snippets across all drivers.
|
|
183
74
|
|
|
75
|
+
## [1.5.0] - 2025-12-28
|
|
76
|
+
- **BREAKING CHANGE**: Implemented "Sticky Connections" for performance. `Querier` instances now hold their connection until `release()` is explicitly called.
|
|
77
|
+
- If you manually retrieve a querier via `pool.getQuerier()`, you **MUST** call `await querier.release()` when finished, otherwise connections will leak.
|
|
78
|
+
- `Repositories` and `pool.transaction(...)` callbacks automatically handle this, so high-level usage remains unchanged.
|
|
79
|
+
- Unified serialization logic: `@Serialized()` decorator is now centralized in `AbstractSqlQuerier`, removing redundant overrides in drivers.
|
|
80
|
+
- Fixed MongoDB consistency: `beginTransaction`, `commitTransaction`, and `rollbackTransaction` are now serialized to prevent race conditions.
|
|
81
|
+
- Fix Cross-Dialect SQL JSON bug by moving PostgreSQL-specific casts to the appropriate dialect.
|
|
82
|
+
- Fix transaction race conditions by serializing transaction lifecycle methods and implementing an internal execution pattern.
|
|
184
83
|
|
|
84
|
+
## [1.4.16] - 2025-12-28
|
|
185
85
|
|
|
186
|
-
|
|
86
|
+
- Implement a "Serialized Task Queue" at the core of the framework to ensure database connections are thread-safe and race-condition free.
|
|
87
|
+
- Introduce `@Serialized()` decorator to simplify the serialization of database operations across all drivers.
|
|
187
88
|
|
|
89
|
+
## [1.4.14] - 2025-12-28
|
|
188
90
|
|
|
91
|
+
- Robust `upsert` implementation across all SQL dialects (PostgreSQL, MySQL, MariaDB, SQLite).
|
|
189
92
|
|
|
190
|
-
##
|
|
93
|
+
## [1.4.10] - 2025-12-27
|
|
191
94
|
|
|
95
|
+
- Improve types, tests, migrate from EsLint/Prettier to Biome, and update dependencies.
|
|
192
96
|
|
|
97
|
+
## [1.4.6] - 2024-11-06
|
|
193
98
|
|
|
194
|
-
|
|
99
|
+
- Update dependencies and improve readme.
|
|
195
100
|
|
|
101
|
+
## [1.4.5] - 2024-09-26
|
|
196
102
|
|
|
103
|
+
- Imperative transactions have to be closed manually.
|
|
197
104
|
|
|
198
|
-
##
|
|
105
|
+
## [1.4.4] - 2024-09-26
|
|
199
106
|
|
|
107
|
+
- Ensure own connection is always released even if exception occurs.
|
|
108
|
+
- Correct issue when empty or null list is passed to `insertMany` operations.
|
|
200
109
|
|
|
110
|
+
## [1.4.3] - 2024-09-25
|
|
201
111
|
|
|
202
|
-
|
|
112
|
+
- Ensure the connection is auto-released after `commit` or `rollback` runs.
|
|
113
|
+
- Update dependencies.
|
|
203
114
|
|
|
115
|
+
## [1.4.2] - 2024-09-20
|
|
204
116
|
|
|
117
|
+
- Fix projection of `@OneToMany` field when the 'one' side produces empty result.
|
|
118
|
+
- Update dependencies.
|
|
205
119
|
|
|
206
|
-
##
|
|
120
|
+
## [1.4.1] - 2024-08-21
|
|
207
121
|
|
|
122
|
+
- Add nukak-maku logo.
|
|
123
|
+
- Update dependencies (functionality keeps the same in this release).
|
|
208
124
|
|
|
125
|
+
## [1.4.0] - 2024-08-15
|
|
209
126
|
|
|
210
|
-
|
|
127
|
+
- Automatically release the querier unless it is inside a current transaction.
|
|
128
|
+
- Remove unnecessary wrapper for transactions from `AbstractQuerierPool` class.
|
|
211
129
|
|
|
130
|
+
## [1.3.3] - 2024-08-13
|
|
212
131
|
|
|
132
|
+
- Improve typings of first inserted ID.
|
|
213
133
|
|
|
214
|
-
##
|
|
134
|
+
## [1.3.2] - 2024-08-13
|
|
215
135
|
|
|
136
|
+
- Return the inserted IDs in the response of the queriers' `run` function.
|
|
216
137
|
|
|
138
|
+
## [1.3.1] - 2024-08-13
|
|
217
139
|
|
|
218
|
-
|
|
140
|
+
- Fix an issue related to the `$where` condition of selected relations missed in the final criteria for `@OneToMany` and `@ManyToMany` relationships.
|
|
219
141
|
|
|
142
|
+
## [1.3.0] - 2024-08-13
|
|
220
143
|
|
|
144
|
+
- Add support for `json` and `jsonb` fields. Automatically parse the JSON values when persisting with `JSON.parse` function.
|
|
145
|
+
- Improve type-safety in general.
|
|
146
|
+
- Move `getPersistables` inside dialect for higher reusability.
|
|
147
|
+
- Add support for `vector` fields.
|
|
221
148
|
|
|
222
|
-
##
|
|
149
|
+
## [1.2.0] - 2024-08-12
|
|
223
150
|
|
|
151
|
+
- Add support for `raw` in values (previously, it was only supported by `$select` and `$where` operators). Allows safe use of any SQL query/clause as the value in an insert or update operation that shouldn't be automatically escaped by the ORM.
|
|
224
152
|
|
|
153
|
+
## [1.1.0] - 2024-08-11
|
|
225
154
|
|
|
226
|
-
|
|
155
|
+
- Add support for `upsert` operations.
|
|
156
|
+
- Migrate SQLite package driver from `sqlite3` to `better-sqlite3` for better performance.
|
|
157
|
+
- Make Maria package to use the `RETURNING id` clause to get the inserted IDs.
|
|
227
158
|
|
|
159
|
+
## [1.0.1] - 2024-08-10
|
|
228
160
|
|
|
161
|
+
- Rename `$project` operator to `$select` for consistency with most established frameworks so far.
|
|
162
|
+
- Rename `$filter` operator to `$where` for consistency with most established frameworks so far.
|
|
229
163
|
|
|
230
|
-
## 0.
|
|
164
|
+
## [1.0.0] - 2024-08-10
|
|
231
165
|
|
|
166
|
+
- Allow to set a field as non-eager (i.e. lazy) with `eager: false` (by default fields are `eager: true`).
|
|
167
|
+
- Allow to set a field as non-updatable (i.e. insertable and read-only) with `updatable: false` (by default fields are `updatable: true`).
|
|
232
168
|
|
|
169
|
+
## [0.4.0] - 2023-11-06
|
|
233
170
|
|
|
234
|
-
|
|
171
|
+
- Move project inside query parameter [#63](https://github.com/rogerpadilla/nukak/pull/63)
|
|
235
172
|
|
|
173
|
+
## [0.3.3] - 2023-10-25
|
|
236
174
|
|
|
175
|
+
- Update usage example in the README.md.
|
|
237
176
|
|
|
238
|
-
## 0.
|
|
177
|
+
## [0.3.2] - 2023-10-24
|
|
239
178
|
|
|
179
|
+
- Improve usage examples in the README.md, and make the overview section more concise.
|
|
240
180
|
|
|
181
|
+
## [0.3.1] - 2023-10-19
|
|
241
182
|
|
|
242
|
-
|
|
183
|
+
1. Remove `$group` and `$having` as they detriment type safety as currently implemented (support may be redesigned later if required).
|
|
184
|
+
2. Improve type safety of `$project` operator.
|
|
185
|
+
3. Improve type safety of `$filter` operator.
|
|
186
|
+
4. Remove projection operators (`$count`, `$min`, `$max`, `$min`, and `$sum`) as they detriment type safety as currently implemented. This can be done via Virtual fields instead as currently supported for better type safety.
|
|
243
187
|
|
|
188
|
+
## [0.3.0] - 2023-10-18
|
|
244
189
|
|
|
190
|
+
- Add support for `transaction` operations using a QuerierPool.
|
|
191
|
+
Automatically wraps the code of the callback inside a transaction, and auto-releases the querier after running.
|
|
192
|
+
- Update dependencies.
|
|
245
193
|
|
|
246
|
-
|
|
194
|
+
```ts
|
|
195
|
+
const ids = await querierPool.transaction(async (querier) => {
|
|
196
|
+
const data = await querier.findMany(...);
|
|
197
|
+
const ids = await querier.insertMany(...);
|
|
198
|
+
return ids;
|
|
199
|
+
});
|
|
200
|
+
```
|
|
247
201
|
|
|
202
|
+
## [0.2.21] 2023-04-15
|
|
248
203
|
|
|
204
|
+
- fix(nukak-browser): check if ids are returned before use $in to delete them.
|
|
249
205
|
|
|
250
|
-
|
|
206
|
+
- Reuse community open-source npm packages to escape literal-values according to each DB vendor.
|
|
251
207
|
|
|
208
|
+
## [0.2.0] 2023-01-02
|
|
252
209
|
|
|
210
|
+
- Move projection to a new parameter to improve type inference of the results.
|
|
253
211
|
|
|
254
|
-
|
|
212
|
+
- Support dynamic operations while projecting fields, and move `$project` as an independent parameter in the `find*` functions [#55](https://github.com/rogerpadilla/nukak/pull/55).
|