durcno 1.0.0-alpha.1 → 1.0.0-alpha.11
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/README.md +11 -9
- package/dist/bin.cjs +314 -3412
- package/dist/src/columns/bigint.d.mts +9 -8
- package/dist/src/columns/bigint.mjs +7 -4
- package/dist/src/columns/bigserial.d.mts +10 -10
- package/dist/src/columns/bigserial.mjs +7 -4
- package/dist/src/columns/boolean.d.mts +3 -2
- package/dist/src/columns/boolean.mjs +5 -2
- package/dist/src/columns/bytea.d.mts +3 -2
- package/dist/src/columns/bytea.mjs +3 -0
- package/dist/src/columns/char.d.mts +3 -2
- package/dist/src/columns/char.mjs +3 -0
- package/dist/src/columns/cidr.d.mts +3 -2
- package/dist/src/columns/cidr.mjs +3 -0
- package/dist/src/columns/common.d.mts +84 -59
- package/dist/src/columns/common.mjs +84 -32
- package/dist/src/columns/date.d.mts +3 -2
- package/dist/src/columns/date.mjs +3 -0
- package/dist/src/columns/enum.d.mts +3 -2
- package/dist/src/columns/enum.mjs +3 -0
- package/dist/src/columns/inet.d.mts +3 -2
- package/dist/src/columns/inet.mjs +3 -0
- package/dist/src/columns/integer.d.mts +3 -2
- package/dist/src/columns/integer.mjs +3 -0
- package/dist/src/columns/json.d.mts +3 -2
- package/dist/src/columns/json.mjs +3 -0
- package/dist/src/columns/jsonb.d.mts +3 -2
- package/dist/src/columns/jsonb.mjs +3 -0
- package/dist/src/columns/macaddr.d.mts +3 -2
- package/dist/src/columns/macaddr.mjs +3 -0
- package/dist/src/columns/numeric.d.mts +3 -2
- package/dist/src/columns/numeric.mjs +3 -0
- package/dist/src/columns/postgis/geography/linestring.d.mts +4 -2
- package/dist/src/columns/postgis/geography/linestring.mjs +3 -0
- package/dist/src/columns/postgis/geography/multilinestring.d.mts +4 -2
- package/dist/src/columns/postgis/geography/multilinestring.mjs +3 -0
- package/dist/src/columns/postgis/geography/multipoint.d.mts +4 -2
- package/dist/src/columns/postgis/geography/multipoint.mjs +3 -0
- package/dist/src/columns/postgis/geography/multipolygon.d.mts +4 -2
- package/dist/src/columns/postgis/geography/multipolygon.mjs +3 -0
- package/dist/src/columns/postgis/geography/point.d.mts +5 -3
- package/dist/src/columns/postgis/geography/point.mjs +3 -0
- package/dist/src/columns/postgis/geography/polygon.d.mts +4 -2
- package/dist/src/columns/postgis/geography/polygon.mjs +3 -0
- package/dist/src/columns/serial.d.mts +4 -4
- package/dist/src/columns/serial.mjs +3 -0
- package/dist/src/columns/smallint.d.mts +3 -2
- package/dist/src/columns/smallint.mjs +3 -0
- package/dist/src/columns/smallserial.d.mts +4 -4
- package/dist/src/columns/smallserial.mjs +3 -0
- package/dist/src/columns/text.d.mts +3 -2
- package/dist/src/columns/text.mjs +3 -0
- package/dist/src/columns/time.d.mts +3 -2
- package/dist/src/columns/time.mjs +3 -0
- package/dist/src/columns/timestamp.d.mts +3 -2
- package/dist/src/columns/timestamp.mjs +3 -0
- package/dist/src/columns/uuid.d.mts +3 -2
- package/dist/src/columns/uuid.mjs +3 -0
- package/dist/src/columns/varchar.d.mts +3 -2
- package/dist/src/columns/varchar.mjs +3 -0
- package/dist/src/connectors/bun.d.mts +2 -2
- package/dist/src/connectors/bun.mjs +15 -15
- package/dist/src/connectors/common.d.mts +100 -25
- package/dist/src/connectors/common.mjs +87 -28
- package/dist/src/connectors/pg.d.mts +3 -2
- package/dist/src/connectors/pg.mjs +18 -15
- package/dist/src/connectors/pglite.d.mts +12 -4
- package/dist/src/connectors/pglite.mjs +27 -19
- package/dist/src/connectors/postgres.d.mts +3 -2
- package/dist/src/connectors/postgres.mjs +17 -14
- package/dist/src/constraints/check.d.mts +19 -81
- package/dist/src/constraints/check.mjs +16 -290
- package/dist/src/constraints/primary-key.d.mts +4 -4
- package/dist/src/constraints/primary-key.mjs +1 -1
- package/dist/src/constraints/unique.d.mts +3 -2
- package/dist/src/constraints/unique.mjs +1 -1
- package/dist/src/db.d.mts +26 -26
- package/dist/src/db.mjs +30 -39
- package/dist/src/entity.mjs +1 -1
- package/dist/src/filters/array.d.mts +34 -35
- package/dist/src/filters/array.mjs +48 -70
- package/dist/src/filters/index.d.mts +94 -140
- package/dist/src/filters/index.mjs +99 -228
- package/dist/src/filters/postgis.d.mts +111 -0
- package/dist/src/filters/postgis.mjs +155 -0
- package/dist/src/filters/string.d.mts +42 -0
- package/dist/src/filters/string.mjs +74 -0
- package/dist/src/functions/aggregate.d.mts +235 -0
- package/dist/src/functions/aggregate.mjs +259 -0
- package/dist/src/functions/index.d.mts +87 -1
- package/dist/src/functions/index.mjs +65 -1
- package/dist/src/functions/numeric.d.mts +86 -0
- package/dist/src/functions/numeric.mjs +91 -0
- package/dist/src/functions/postgis.d.mts +46 -0
- package/dist/src/functions/postgis.mjs +52 -0
- package/dist/src/functions/string.d.mts +127 -0
- package/dist/src/functions/string.mjs +121 -0
- package/dist/src/index.d.mts +34 -62
- package/dist/src/index.mjs +22 -18
- package/dist/src/indexes.d.mts +1 -0
- package/dist/src/indexes.mjs +1 -1
- package/dist/src/logger.d.mts +36 -0
- package/dist/src/logger.mjs +61 -0
- package/dist/src/migration/ddl/enum.d.mts +100 -0
- package/dist/src/migration/ddl/enum.mjs +138 -0
- package/dist/src/migration/ddl/index.d.mts +211 -0
- package/dist/src/migration/ddl/index.mjs +239 -0
- package/dist/src/migration/ddl/indexes.d.mts +110 -0
- package/dist/src/migration/ddl/indexes.mjs +150 -0
- package/dist/src/migration/ddl/schema.d.mts +56 -0
- package/dist/src/migration/ddl/schema.mjs +62 -0
- package/dist/src/migration/ddl/sequence.d.mts +77 -0
- package/dist/src/migration/ddl/sequence.mjs +86 -0
- package/dist/src/migration/{statement.d.mts → ddl/statement.d.mts} +13 -10
- package/dist/src/migration/{statement.mjs → ddl/statement.mjs} +4 -4
- package/dist/src/migration/ddl/table.d.mts +304 -0
- package/dist/src/migration/{ddl.mjs → ddl/table.mjs} +73 -512
- package/dist/src/migration/ddl/types.d.mts +117 -0
- package/dist/src/migration/ddl/types.mjs +187 -0
- package/dist/src/migration/index.d.mts +4 -3
- package/dist/src/migration/index.mjs +4 -3
- package/dist/src/migration/snapshot.d.mts +2 -7
- package/dist/src/migration/snapshot.mjs +11 -12
- package/dist/src/models.d.mts +6 -9
- package/dist/src/models.mjs +4 -8
- package/dist/src/query-builders/aggregates.d.mts +6 -6
- package/dist/src/query-builders/aggregates.mjs +6 -6
- package/dist/src/query-builders/count.d.mts +6 -6
- package/dist/src/query-builders/count.mjs +6 -6
- package/dist/src/query-builders/delete.d.mts +6 -6
- package/dist/src/query-builders/delete.mjs +8 -12
- package/dist/src/query-builders/distinct.d.mts +6 -6
- package/dist/src/query-builders/distinct.mjs +6 -6
- package/dist/src/query-builders/exists.d.mts +6 -6
- package/dist/src/query-builders/exists.mjs +6 -6
- package/dist/src/query-builders/first.d.mts +6 -6
- package/dist/src/query-builders/first.mjs +9 -10
- package/dist/src/query-builders/insert-returning.d.mts +3 -4
- package/dist/src/query-builders/insert-returning.mjs +9 -34
- package/dist/src/query-builders/insert.d.mts +9 -9
- package/dist/src/query-builders/insert.mjs +39 -41
- package/dist/src/query-builders/orderby-clause.d.mts +55 -10
- package/dist/src/query-builders/orderby-clause.mjs +39 -9
- package/dist/src/query-builders/pre.d.mts +8 -7
- package/dist/src/query-builders/pre.mjs +7 -6
- package/dist/src/query-builders/query.d.mts +26 -5
- package/dist/src/query-builders/query.mjs +14 -1
- package/dist/src/query-builders/raw.d.mts +1 -1
- package/dist/src/query-builders/raw.mjs +1 -1
- package/dist/src/query-builders/rq.d.mts +25 -12
- package/dist/src/query-builders/rq.mjs +64 -94
- package/dist/src/query-builders/select.d.mts +17 -16
- package/dist/src/query-builders/select.mjs +68 -31
- package/dist/src/query-builders/update.d.mts +9 -9
- package/dist/src/query-builders/update.mjs +16 -24
- package/dist/src/sequence.d.mts +1 -1
- package/dist/src/sql.d.mts +4 -4
- package/dist/src/sql.mjs +3 -3
- package/dist/src/table.d.mts +14 -21
- package/dist/src/table.mjs +0 -1
- package/dist/src/types.d.mts +9 -1
- package/dist/src/validators/zod.d.mts +3 -13
- package/dist/src/validators/zod.mjs +14 -9
- package/dist/src/wkx/binarywriter.mjs +103 -108
- package/dist/src/wkx/geometry.mjs +88 -95
- package/dist/src/wkx/geometrycollection.mjs +3 -6
- package/dist/src/wkx/index.mjs +1 -4
- package/dist/src/wkx/linestring.mjs +4 -8
- package/dist/src/wkx/multilinestring.mjs +4 -8
- package/dist/src/wkx/multipoint.mjs +4 -8
- package/dist/src/wkx/multipolygon.mjs +4 -8
- package/dist/src/wkx/parser.mjs +4 -8
- package/dist/src/wkx/point.mjs +147 -157
- package/dist/src/wkx/polygon.mjs +4 -8
- package/dist/src/wkx/types.mjs +30 -35
- package/dist/src/wkx/wktparser.mjs +2 -5
- package/dist/src/wkx/zigzag.mjs +5 -10
- package/package.json +9 -5
- package/dist/src/_virtual/_rolldown/runtime.mjs +0 -28
- package/dist/src/cli/helpers.mjs +0 -16
- package/dist/src/filters/custom.d.mts +0 -12
- package/dist/src/filters/custom.mjs +0 -7
- package/dist/src/migration/ddl.d.mts +0 -747
package/README.md
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<img src="https://img.shields.io/npm/
|
|
2
|
+
<img alt="NPM Downloads" src="https://img.shields.io/npm/dw/durcno" alt="Downloads" />
|
|
3
|
+
<img src="https://img.shields.io/badge/Node.js-24%2B-339935?style=flat&logo=node.js&logoColor=white" alt="Node.js 24+" />
|
|
3
4
|
<img src="https://img.shields.io/badge/PostgreSQL-14%2B-336791?style=flat&logo=postgresql&logoColor=white" alt="PostgreSQL 14+" />
|
|
4
|
-
<img src="https://img.shields.io/badge/Node.js-25%2B-339933?style=flat&logo=node.js&logoColor=white" alt="Node.js" />
|
|
5
5
|
<img src="https://img.shields.io/badge/License-Apache%202.0-blue?style=flat" alt="License" />
|
|
6
|
+
<img src="https://img.shields.io/badge/vitest--green?logo=vitest" alt="License" />
|
|
6
7
|
</p>
|
|
7
8
|
|
|
8
9
|
<h1 align="center">Durcno</h1>
|
|
@@ -12,7 +13,7 @@
|
|
|
12
13
|
</p>
|
|
13
14
|
|
|
14
15
|
<p align="center">
|
|
15
|
-
Type-safe •
|
|
16
|
+
Intuitive • Type-safe • Runtime-safe • Robust
|
|
16
17
|
</p>
|
|
17
18
|
|
|
18
19
|
---
|
|
@@ -21,29 +22,30 @@
|
|
|
21
22
|
|
|
22
23
|
- **🔗 Relation Mapping** — Intuitive `many`, `one`, and `fk` relations with full type inference.
|
|
23
24
|
- **🦾 Robust Migrations** — Auto-generated, reversible, and squashable migrations for production applications.
|
|
24
|
-
-
|
|
25
|
+
- **⚡ Zero Runtime Overhead** — Thin abstraction layer that compiles to efficient SQL.
|
|
25
26
|
- **🔌 Multiple Drivers** — Support for `pg`, `postgres`, `bun`, and `pglite` drivers.
|
|
27
|
+
- **🛡️ Zod Integration** — Built-in Zod validators for schema validation and type inference.
|
|
26
28
|
- **🌍 PostGIS Support** — First-class geographic column types for spatial queries.
|
|
27
29
|
|
|
28
30
|
## Setup
|
|
29
31
|
|
|
30
32
|
```bash
|
|
31
|
-
npm
|
|
33
|
+
npm add durcno@alpha
|
|
32
34
|
```
|
|
33
35
|
|
|
34
36
|
```bash
|
|
35
|
-
|
|
37
|
+
npm exec durcno init
|
|
36
38
|
```
|
|
37
39
|
|
|
38
40
|
## Getting Started
|
|
39
41
|
|
|
40
42
|
Get started with Durcno by following our comprehensive documentation.
|
|
41
43
|
|
|
42
|
-
**[
|
|
44
|
+
**[Getting Started | Durcno](https://durcno.dev/docs/latest/getting-started)**
|
|
43
45
|
|
|
44
|
-
> [!
|
|
46
|
+
> [!NOTE]
|
|
45
47
|
> Durcno is currently in the alpha stage.
|
|
46
|
-
> Avoid using it in any critical or large project until it reaches beta. Expect
|
|
48
|
+
> Avoid using it in any critical or large project until it reaches beta. Expect edge cases and breaking changes. However, your feedback is invaluable to help us shape the future of Durcno!
|
|
47
49
|
|
|
48
50
|
## Contributing
|
|
49
51
|
|