diff --git a/.github/readme/strip.svg b/.github/readme/strip.svg new file mode 100644 index 0000000..d80dba2 --- /dev/null +++ b/.github/readme/strip.svg @@ -0,0 +1 @@ +INTERFACE · DATABASE: part of AntelopeJS, hexagonal architecture beyond your own code. A glowing button reads Star AntelopeJS.INTERFACE · DATABASEPart of AntelopeJSHexagonal architecture, beyond your own code.★ Star AntelopeJS \ No newline at end of file diff --git a/README.md b/README.md index e923d31..16a79b6 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,19 @@ -# `@antelopejs/interface-database` +INTERFACE · DATABASE: part of AntelopeJS, hexagonal architecture beyond your own code. A glowing button reads Star AntelopeJS.
-npm -License -Discord -Docs + +# `@antelopejs/interface-database` + +npm License Discord Docs Star AntelopeJS + +**AQL, the AntelopeJS database query builder. Write a typed query once and run it on the database module your project loads.** + +[Documentation](https://interfaces.antelopejs.com/docs/database) · [Implementations](#implementations) · [All interfaces and providers](https://github.com/AntelopeJS/antelopejs#ecosystem) +
AQL (Antelope Query Language) is the database-agnostic query builder of AntelopeJS. You write a chainable, typed query once, and any database module that implements the interface runs it. -Part of [AntelopeJS](https://github.com/AntelopeJS/antelopejs). Used by [AntelopeJS DMS](https://github.com/AntelopeJS/dms), the open-source back office for your PostgreSQL, MongoDB or RethinkDB database. - ## What it offers - `Schema` declares tables, fields and indexes. Each schema can hold several isolated instances. @@ -103,6 +106,24 @@ pnpm lint pnpm test ``` +## Part of AntelopeJS + +[AntelopeJS](https://github.com/AntelopeJS/antelopejs) is a TypeScript framework where modules depend on contracts and the application chooses the provider behind each one. [AntelopeJS DMS](https://github.com/AntelopeJS/dms), the open-source back office, is built on it. + + + +| Area | Contracts | Providers | +| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| API | [`interface-api`](https://github.com/AntelopeJS/interface-api) · [`interface-api-util`](https://github.com/AntelopeJS/interface-api-util) · [`interface-data-api`](https://github.com/AntelopeJS/interface-data-api) | [`api`](https://github.com/AntelopeJS/api) | +| Auth | [`interface-auth`](https://github.com/AntelopeJS/interface-auth) | [`auth-jwt`](https://github.com/AntelopeJS/auth-jwt) | +| Database | **`interface-database`** · [`interface-database-decorators`](https://github.com/AntelopeJS/interface-database-decorators) · [`interface-database-catalog`](https://github.com/AntelopeJS/interface-database-catalog) · [`interface-mongodb`](https://github.com/AntelopeJS/interface-mongodb) · [`interface-rethinkdb`](https://github.com/AntelopeJS/interface-rethinkdb) | [`postgres`](https://github.com/AntelopeJS/postgres) · [`mongodb`](https://github.com/AntelopeJS/mongodb) · [`rethinkdb`](https://github.com/AntelopeJS/rethinkdb) | +| Redis | [`interface-redis`](https://github.com/AntelopeJS/interface-redis) · [`interface-redis-scheduler`](https://github.com/AntelopeJS/interface-redis-scheduler) | [`redis`](https://github.com/AntelopeJS/redis) | +| Email | [`interface-email`](https://github.com/AntelopeJS/interface-email) | [`nodemailer`](https://github.com/AntelopeJS/nodemailer) · [`brevo`](https://github.com/AntelopeJS/brevo) | +| File storage | [`interface-file-storage`](https://github.com/AntelopeJS/interface-file-storage) | [`file-storage-local`](https://github.com/AntelopeJS/file-storage-local) · [`file-storage-s3`](https://github.com/AntelopeJS/file-storage-s3) | +| Payments | [`interface-payment`](https://github.com/AntelopeJS/interface-payment) · [`interface-subscriptions`](https://github.com/AntelopeJS/interface-subscriptions) · [`interface-stripe`](https://github.com/AntelopeJS/interface-stripe) | [`stripe`](https://github.com/AntelopeJS/stripe) · [`mollie`](https://github.com/AntelopeJS/mollie) · [`checkout-com`](https://github.com/AntelopeJS/checkout-com) · [`payment-subscriptions`](https://github.com/AntelopeJS/payment-subscriptions) | + + + ## License [Apache-2.0](./LICENSE) diff --git a/package.json b/package.json index 9c9faeb..3f6e709 100644 --- a/package.json +++ b/package.json @@ -127,7 +127,7 @@ "@antelopejs/core": "^1.21.0", "@antelopejs/interface-core": ">=0.2.4 <1.0.0", "@antelopejs/mongodb": "1.6.0", - "@antelopejs/tooling-configs": "^0.5.1", + "@antelopejs/tooling-configs": "^0.5.5", "@types/chai": "^4.3.20", "@types/mocha": "^10.0.10", "@types/node": "^22.19.15", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 35ff345..683a948 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,8 +21,8 @@ importers: specifier: 1.6.0 version: 1.6.0(socks@2.8.7) '@antelopejs/tooling-configs': - specifier: ^0.5.1 - version: 0.5.1(eslint-plugin-perfectionist@5.11.0(eslint@10.10.0(jiti@2.7.0))(typescript@5.9.3))(knip@6.34.0)(oxfmt@0.66.0)(oxlint@1.81.0(oxlint-tsgolint@7.0.2001)) + specifier: ^0.5.5 + version: 0.5.5(eslint-plugin-perfectionist@5.11.0(eslint@10.10.0(jiti@2.7.0))(typescript@5.9.3))(knip@6.34.0)(oxfmt@0.66.0)(oxlint@1.81.0(oxlint-tsgolint@7.0.2001)) '@types/chai': specifier: ^4.3.20 version: 4.3.20 @@ -99,8 +99,8 @@ packages: '@antelopejs/mongodb@1.6.0': resolution: {integrity: sha512-HKPw1FC+NDqHe0B7ceEUGpbH8oOg9AcdEhcBjSnBwrmf0Z0hWwn2T95p0hEcW3TunaFRoueAJsQjSdUqdckSFA==} - '@antelopejs/tooling-configs@0.5.1': - resolution: {integrity: sha512-Q1JWAsMIDy8f6KaTFPAakT+ChWDhQCzJjdszFFam/pUFqBVMgY+Lp1I7bc8SwcWL3CMdHBzgUUEId2od2cB7hQ==} + '@antelopejs/tooling-configs@0.5.5': + resolution: {integrity: sha512-03QagBC3hE4GAtEF+vwEYWvQfD1oqik+3OrvzT6MaII88vwHdWJOiyqUcHW0ul+ujG4GBL5nDO+wmBciTxQB+g==} engines: {node: '>=22.18.0'} hasBin: true peerDependencies: @@ -2827,7 +2827,7 @@ snapshots: - snappy - socks - '@antelopejs/tooling-configs@0.5.1(eslint-plugin-perfectionist@5.11.0(eslint@10.10.0(jiti@2.7.0))(typescript@5.9.3))(knip@6.34.0)(oxfmt@0.66.0)(oxlint@1.81.0(oxlint-tsgolint@7.0.2001))': + '@antelopejs/tooling-configs@0.5.5(eslint-plugin-perfectionist@5.11.0(eslint@10.10.0(jiti@2.7.0))(typescript@5.9.3))(knip@6.34.0)(oxfmt@0.66.0)(oxlint@1.81.0(oxlint-tsgolint@7.0.2001))': dependencies: '@oxlint/plugins': 1.81.0 dts-bundle-generator: 9.5.1 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index be228f2..0f550be 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,2 +1,4 @@ overrides: "@antelopejs/mongodb>@antelopejs/interface-database": "link:." +allowBuilds: + lefthook: false