Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
6146631
fix: allow undefined values in Updateable type (#1496)
y-hsgw Jun 29, 2025
23d63bb
feat(Introspect): add support for postgres & mysql foreign tables (#1…
williamluke4 Jun 29, 2025
12e9551
feat: add PGlite dialect. (#1510)
igalklebanov Jul 20, 2025
7f0e822
feat(migrator): allow disabling transactions in migrate methods. (#1517)
igalklebanov Jul 23, 2025
fc2dfc8
feat: allow expressions in unique constraint (#1518)
ericsodev Jul 26, 2025
204d754
chore: fix `next` branch rebase issues. (#1584)
igalklebanov Sep 20, 2025
052d40d
feat: add `thenRef` method in `eb.case` (#1531)
ericsodev Sep 20, 2025
097ed36
Support dropping multiple types with schema.dropType(), cascade. (#1516)
aantia Sep 27, 2025
2ad7992
implemented `whenRef(lhs, op, rhs)` in `eb.case`. (#1598)
iam-abdul Oct 2, 2025
fcb27e3
added `elseRef` in `eb.case()` (#1601)
iam-abdul Oct 4, 2025
7114c49
feat: add `$pickTables`, `$omitTables` and `$extendTables`, deprecate…
igalklebanov Oct 4, 2025
369a8df
fix tests after rebase.
igalklebanov Oct 9, 2025
b99295e
feat: Add support for dropping temporary tables with temporary() modi…
szalonna Oct 11, 2025
dd48b64
fix unique-contraint-node following rebase.
igalklebanov Oct 12, 2025
dadc3ef
fix drop-type-node following rebase.
igalklebanov Oct 12, 2025
0ac1753
fix slow types @ pglite-driver.
igalklebanov Oct 12, 2025
dae614c
feat: add `SafeNullComparisonPlugin` plugin (#1338)
rafaelalmeidatk Oct 12, 2025
394194e
feat: add addIndex to CreateTableBuilder (#1352)
alenap93 Oct 12, 2025
e974601
fix `next` branch following rebase.
igalklebanov Dec 13, 2025
91e6af0
fix `next` branch following rebase.
igalklebanov Dec 14, 2025
74768ca
feat: add more control through configuration @ ParseJSONResultsPlugin…
igalklebanov Dec 21, 2025
ee04ffb
feat: allow expressions in create/add index's `column` and `columns` …
igalklebanov Dec 21, 2025
0febc71
feat(Migrator): allow passing transactions to `Migrator`. (#1480)
jlucaso1 Dec 21, 2025
ea0a428
fix `next` branch following rebase.
igalklebanov Dec 21, 2025
aa0d6bc
feat: add `NonDehydrateable<T>` to allow opt-out from dehydration in …
igalklebanov Feb 8, 2026
3a54954
feat: add `with(name, query)`. (#1702)
igalklebanov Feb 12, 2026
3953e67
feat: expose migrations from 'kysely/migration'. deprecate migration …
igalklebanov Feb 14, 2026
93caa7b
fix lockfile.
igalklebanov Mar 20, 2026
4da0673
fix sql injection test.
igalklebanov Mar 20, 2026
7e008a9
refactor: bump minimum TypeScript version to 4.7. (#1696)
igalklebanov Mar 20, 2026
ab537d9
chore: improve TypeScript benchmarks. (#1757)
igalklebanov Mar 22, 2026
205c2fd
refactor: bump minimum TypeScript version to 4.8. (#1756)
igalklebanov Mar 23, 2026
4521838
refactor: bump minimum TypeScript version to 4.9. (#1759)
igalklebanov Mar 24, 2026
7aa0e15
chore: update ts benchmark baselines.
igalklebanov Mar 25, 2026
41080b9
chore: add returning.bench.ts
igalklebanov Mar 25, 2026
bb3ab28
chore: enhance returning benchmarks.
igalklebanov Mar 26, 2026
dbf631e
chore: add selectNoFrom benchmarks.
igalklebanov Mar 26, 2026
aa2bac1
...
igalklebanov Mar 29, 2026
7ddcf00
...
igalklebanov Mar 29, 2026
c5bd20e
...
igalklebanov Mar 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 25 additions & 68 deletions .github/workflows/bench.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,95 +74,52 @@ jobs:
- name: Run benchmarks
id: bench
run: |
# Run the benchmark command and capture its exit code
pnpm bench:ts > /tmp/benchmark_output.txt 2>&1
# Run benchmarks and capture output
pnpm bench:ts > /tmp/bench_output.txt 2>&1
exit_code=$?

# Process the output
summary_output=$(cat /tmp/benchmark_output.txt | grep -v "> " | sed '/./,$!d')
# Extract summary (everything from "⏱️" to end of file)
summary=$(grep -A999 "⏱️" /tmp/bench_output.txt || echo "✅ ⏱️ No benchmark changes detected.")

# Set a boolean output indicating if it failed with exit code 1
if [ $exit_code -eq 1 ]; then
echo "benchmark_failed=true" >> $GITHUB_OUTPUT
# Check if there are benchmark changes
if echo "$summary" | grep -q "No benchmark changes detected"; then
has_changes="false"
else
echo "benchmark_failed=false" >> $GITHUB_OUTPUT
has_changes="true"
fi

echo "full_summary<<EOF" >> $GITHUB_OUTPUT
echo "$summary_output" >> $GITHUB_OUTPUT
# Set outputs
echo "benchmark_failed=$([ $exit_code -eq 0 ] && echo 'false' || echo 'true')" >> $GITHUB_OUTPUT
echo "has_changes=$has_changes" >> $GITHUB_OUTPUT
echo "summary<<EOF" >> $GITHUB_OUTPUT
echo "$summary" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT

- name: Analyze Results
id: analyze
run: |
full_summary="${{ steps.bench.outputs.full_summary }}"

# This powerful awk script performs two actions:
# 1. It finds blocks missing a Delta line and calculates it.
# 2. It filters for all blocks where the final delta is not zero.
changed_blocks=$(echo "$full_summary" | awk '
BEGIN { RS="" } # Process the input in blocks separated by blank lines
{
block_text = $0 # Store the original block text
is_changed = 0

# If a block is missing a Delta line, calculate it
if ($0 ~ /Baseline:/ && $0 !~ /Delta:/) {
# Extract numeric values for Result and Baseline
match($0, /Result: ([0-9.]+)/, r)
match($0, /Baseline: ([0-9.]+)/, b)

result_val = r[1]
baseline_val = b[1]

# Calculate the delta, avoiding division by zero
if (baseline_val > 0) {
delta = ((result_val / baseline_val) - 1) * 100
# Append the newly calculated, formatted Delta line to the block
block_text = sprintf("%s\n📊 Delta: %+.2f%%", block_text, delta)
}
}

# Now, check the (potentially modified) block for a non-zero delta.
# This works for both pre-existing deltas and the ones we just calculated.
if (block_text ~ /Delta:/ && block_text !~ /Delta: (\+)?0\.00%/) {
# Filter out any summary lines that are not part of a benchmark block
if (block_text ~ /🏌️/) {
print block_text "\n" # Print the complete, changed block
}
}
}')

if [ -n "$changed_blocks" ]; then
echo "has_changes=true" >> $GITHUB_OUTPUT
echo "changed_blocks<<EOF" >> $GITHUB_OUTPUT
echo "$changed_blocks" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
else
echo "has_changes=false" >> $GITHUB_OUTPUT
fi

- name: PR Comment on Changes
if: steps.analyze.outputs.has_changes == 'true' && github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork == false
- name: Post benchmark results (with changes)
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork == false && steps.bench.outputs.has_changes == 'true'
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
with:
comment-tag: typescript-benchmarks
message: |
<details>
<summary>⏱️ <strong>Benchmark changes detected</strong> following ${{ github.event.pull_request.head.sha }}</summary>
<summary>⏱️ <strong>TypeScript Benchmark Results</strong></summary>

The following benchmarks have changed from the baseline:
```
${{ steps.analyze.outputs.changed_blocks }}
${{ steps.bench.outputs.summary }}
```
</details>

- name: PR Comment on No Changes
if: steps.analyze.outputs.has_changes == 'false' && github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork == false
- name: Post benchmark results (no changes)
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork == false && steps.bench.outputs.has_changes == 'false'
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
with:
comment-tag: typescript-benchmarks
message: ✅ ⏱️ **No benchmark changes detected** following ${{ github.event.pull_request.head.sha }}.
message: |
⏱️ **TypeScript Benchmark Results**

```
${{ steps.bench.outputs.summary }}
```

- name: Fail job if benchmark command failed
if: steps.bench.outputs.benchmark_failed == 'true'
Expand Down
7 changes: 2 additions & 5 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -235,9 +235,6 @@ jobs:
fail-fast: false
matrix:
typescript-version: [
~4.6.0, # 28.2.2022 https://devblogs.microsoft.com/typescript/announcing-typescript-4-6/
~4.7.0, # 24.5.2022 https://devblogs.microsoft.com/typescript/announcing-typescript-4-7/
~4.8.0, # 25.8.2022 https://devblogs.microsoft.com/typescript/announcing-typescript-4-8/
~4.9.0, # 15.11.2022 https://devblogs.microsoft.com/typescript/announcing-typescript-4-9/
~5.0.0, # 16.3.2023 https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/
~5.2.0, # 24.8.2023 https://devblogs.microsoft.com/typescript/announcing-typescript-5-1/ https://devblogs.microsoft.com/typescript/announcing-typescript-5-2/
Expand Down Expand Up @@ -274,7 +271,7 @@ jobs:
run: |
TS_VERSION="${{ matrix.typescript-version }}"
echo "TS_VERSION=$TS_VERSION" >> $GITHUB_ENV
TSD_VERSION=$(echo '{"~4.6.0":"0.20.0", "~4.7.0":"0.22.0", "~4.8.0":"0.24.1", "~4.9.0":"0.27.0", "~5.0.0":"0.28.1", "~5.2.0":"0.29.0", "~5.3.0":"0.30.7", "~5.4.0":"0.31.2", "~5.8.0":"0.32.0", "~5.9.0":"0.33.0"}' | jq -r --arg key "$TS_VERSION" '.[$key]')
TSD_VERSION=$(echo '{"~4.9.0":"0.27.0", "~5.0.0":"0.28.1", "~5.2.0":"0.29.0", "~5.3.0":"0.30.7", "~5.4.0":"0.31.2", "~5.8.0":"0.32.0", "~5.9.0":"0.33.0"}' | jq -r --arg key "$TS_VERSION" '.[$key]')
echo "TSD_VERSION=$TSD_VERSION" >> $GITHUB_ENV

- name: Install Typescript (${{ env.TS_VERSION }}) and TSD (${{ env.TSD_VERSION }})
Expand All @@ -284,7 +281,7 @@ jobs:
run: pnpm script:exclude-test-files-for-backwards-compat

- name: Run tests with older TypeScript version
run: pnpm test:typings${{ env.TS_VERSION != '~4.6.0' && env.TS_VERSION != '~4.7.0' && ' && pnpm test:node:build' || '' }}
run: pnpm test:typings && pnpm test:node:build

jsdocs:
name: JSDocs
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
dist
/helpers
migration.*
/test/browser/bundle.js
node_modules
.vscode
Expand Down
9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,11 @@
[![Bluesky](https://img.shields.io/badge/Bluesky-0285FF?style=flat&logo=Bluesky&logoColor=white)](https://bsky.app/profile/kysely.dev)

###### Get started
[![Postgres](https://img.shields.io/badge/postgres-%23316192.svg?style=flat&logo=postgresql&logoColor=white)](https://kysely.dev/docs/getting-started?dialect=postgresql)
[![MySQL](https://img.shields.io/badge/mysql-4479A1.svg?style=flat&logo=mysql&logoColor=white)](https://kysely.dev/docs/getting-started?dialect=mysql)
[![MicrosoftSQLServer](https://img.shields.io/badge/Microsoft%20SQL%20Server-CC2927?style=flat&logo=microsoft%20sql%20server&logoColor=white)](https://kysely.dev/docs/getting-started?dialect=mssql)
[![SQLite](https://img.shields.io/badge/sqlite-%2307405e.svg?style=flat&logo=sqlite&logoColor=white)](https://kysely.dev/docs/getting-started?dialect=sqlite)
[![PostgreSQL](https://img.shields.io/badge/PostgreSQL-%23316192.svg?style=flat&logo=postgresql&logoColor=white)](https://kysely.dev/docs/getting-started?dialect=postgresql)
[![MySQL](https://img.shields.io/badge/MySQL-4479A1.svg?style=flat&logo=mysql&logoColor=white)](https://kysely.dev/docs/getting-started?dialect=mysql)
[![MSSQL](https://img.shields.io/badge/MSSQL-CC2927?style=flat&logo=microsoft%20sql%20server&logoColor=white)](https://kysely.dev/docs/getting-started?dialect=mssql)
[![SQLite](https://img.shields.io/badge/SQLite-%2307405e.svg?style=flat&logo=sqlite&logoColor=white)](https://kysely.dev/docs/getting-started?dialect=sqlite)
[![PGlite](https://img.shields.io/badge/PGlite-131517.svg?style=flat&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMTgxIiB2aWV3Qm94PSIwIDAgMzQwIDI3MiIgZmlsbD0ibm9uZSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjg4IDg4LjA1MDdMMjg4IDIxNS45N0MyODggMjIwLjM5MSAyODQuNDEzIDIyMy45NzUgMjc5Ljk5MSAyMjMuOTdMMjQ3Ljk2OCAyMjMuOTMyQzI0My43MzQgMjIzLjkyNyAyNDAuMjcyIDIyMC42MzQgMjM5Ljk5NSAyMTYuNDcxQzIzOS45OTggMjE2LjMxMyAyNDAgMjE2LjE1NSAyNDAgMjE1Ljk5NkwyMzkuOTk5IDE2Ny45OThDMjM5Ljk5OSAxNTQuNzQ0IDIyOS4yMzkgMTQzLjk5OSAyMTUuOTg0IDE0My45OTlDMjAzLjEzOCAxNDMuOTk5IDE5Mi42MzYgMTMzLjkwNiAxOTIgMTIxLjIxN1Y0OC4wMDk1TDI0OC4wMyA0OC4wNTA3QzI3MC4xMDkgNDguMDY2OSAyODggNjUuOTcwOCAyODggODguMDUwN1pNMTI4IDQ3Ljk5ODNMMTI4IDEwNC4wMjNDMTI4IDExNy4yNzcgMTM4Ljc0NSAxMjguMDIzIDE1MiAxMjguMDIzSDE3NkwxNzYgMTI2LjQxNEMxNzYgMTQ0Ljk2MiAxOTEuMDM2IDE1OS45OTggMjA5LjU4NCAxNTkuOTk4QzIxNy41MzMgMTU5Ljk5OCAyMjMuOTc3IDE2Ni40NDIgMjIzLjk3NyAxNzQuMzkxTDIyMy45NzcgMjE1LjkzMkMyMjMuOTc3IDIxNi4xMjMgMjIzLjk4IDIxNi4zMTMgMjIzLjk4NCAyMTYuNTAzQzIyMy43MjIgMjIwLjY4NSAyMjAuMjQ3IDIyMy45OTYgMjE1Ljk5OSAyMjMuOTk2TDE3NS43MjYgMjIzLjk5NEwxNzYgMTY4LjAzNEMxNzYuMDIyIDE2My42MTYgMTcyLjQ1NyAxNjAuMDE3IDE2OC4wMzkgMTU5Ljk5NUMxNjMuNjIxIDE1OS45NzMgMTYwLjAyMiAxNjMuNTM4IDE2MCAxNjcuOTU2TDE1OS43MjYgMjIzLjk1OUwxNTkuNzI2IDIyMy45OTJMMTExLjkgMjIzLjk4OVYxNjcuOTk1QzExMS45IDE2My41NzcgMTA4LjMxOCAxNTkuOTk1IDEwMy45IDE1OS45OTVDOTkuNDgxNiAxNTkuOTk1IDk1Ljg5OTkgMTYzLjU3NyA5NS44OTk5IDE2Ny45OTVWMjIzLjk4OEw1NS45OTk1IDIyMy45ODZDNTEuNTgxNCAyMjMuOTg1IDQ4IDIyMC40MDQgNDggMjE1Ljk4NlY4Ny45OThDNDggNjUuOTA2NiA2NS45MDg3IDQ3Ljk5NzkgODguMDAwMiA0Ny45OThMMTI4IDQ3Ljk5ODNaTTI1Mi4wNCA5Ni4yMTUzQzI1Mi4wNCA4OS41ODc5IDI0Ni42NjcgODQuMjE1MyAyNDAuMDQgODQuMjE1M0MyMzMuNDEyIDg0LjIxNTMgMjI4LjA0IDg5LjU4NzkgMjI4LjA0IDk2LjIxNTNDMjI4LjA0IDEwMi44NDMgMjMzLjQxMiAxMDguMjE1IDI0MC4wNCAxMDguMjE1QzI0Ni42NjcgMTA4LjIxNSAyNTIuMDQgMTAyLjg0MyAyNTIuMDQgOTYuMjE1M1oiIGZpbGw9IiNGNkY5NUMiLz48L3N2Zz4=)](https://kysely.dev/docs/getting-started?dialect=pglite)
& more!

# [Kysely](https://kysely.dev)
Expand Down
2 changes: 2 additions & 0 deletions deno.check.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@
"types": ["./deno.check.d.ts"]
},
"imports": {
"@electric-sql/pglite": "npm:@electric-sql/pglite",
"better-sqlite3": "npm:better-sqlite3",
"kysely": "./dist/esm",
"kysely/helpers/mssql": "./dist/esm/helpers/mssql.js",
"kysely/helpers/mysql": "./dist/esm/helpers/mysql.js",
"kysely/helpers/postgres": "./dist/esm/helpers/postgres.js",
"kysely/helpers/sqlite": "./dist/esm/helpers/sqlite.js",
"kysely/migration": "./dist/esm/migration",
"lodash/snakeCase": "npm:lodash/snakeCase",
"mysql2": "npm:mysql2",
"pg": "npm:pg",
Expand Down
3 changes: 2 additions & 1 deletion jsr.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
"./helpers/mysql": "./src/helpers/mysql.ts",
"./helpers/mssql": "./src/helpers/mssql.ts",
"./helpers/postgres": "./src/helpers/postgres.ts",
"./helpers/sqlite": "./src/helpers/sqlite.ts"
"./helpers/sqlite": "./src/helpers/sqlite.ts",
"./migration": "./src/migration/index.ts"
},
"publish": {
"include": [
Expand Down
8 changes: 4 additions & 4 deletions outdated-typescript.d.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { KyselyTypeError } from './dist/cjs/util/type-error'
import type { KyselyTypeError } from './dist/index.js'

declare const Kysely: KyselyTypeError<'The installed TypeScript version is outdated and cannot guarantee type-safety with Kysely. Please upgrade to version 4.6 or newer.'>
declare const RawBuilder: KyselyTypeError<'The installed TypeScript version is outdated and cannot guarantee type-safety with Kysely. Please upgrade to version 4.6 or newer.'>
declare const sql: KyselyTypeError<'The installed TypeScript version is outdated and cannot guarantee type-safety with Kysely. Please upgrade to version 4.6 or newer.'>
declare const Kysely: KyselyTypeError<'The installed TypeScript version is outdated and cannot guarantee type-safety with Kysely. Please upgrade to version 4.9 or newer.'>
declare const RawBuilder: KyselyTypeError<'The installed TypeScript version is outdated and cannot guarantee type-safety with Kysely. Please upgrade to version 4.9 or newer.'>
declare const sql: KyselyTypeError<'The installed TypeScript version is outdated and cannot guarantee type-safety with Kysely. Please upgrade to version 4.9 or newer.'>
67 changes: 46 additions & 21 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,12 @@
"engines": {
"node": ">=20.0.0"
},
"main": "dist/cjs/index.js",
"module": "dist/esm/index.js",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"types": "./dist/index.d.cts",
"typesVersions": {
"<4.6": {
"<4.9": {
"*": [
"outdated-typescript.d.ts"
]
Expand All @@ -39,39 +41,62 @@
"files": [
"dist",
"helpers",
"migration.d.ts",
"migration.js",
"outdated-typescript.d.ts"
],
"exports": {
".": {
"types@<4.9": "./outdated-typescript.d.ts",
"import": "./dist/esm/index.js",
"require": "./dist/cjs/index.js",
"default": "./dist/cjs/index.js"
},
"./helpers/postgres": {
"import": "./dist/esm/helpers/postgres.js",
"require": "./dist/cjs/helpers/postgres.js",
"default": "./dist/cjs/helpers/postgres.js"
"./helpers/mssql": {
"import": {
"types": "./dist/helpers/mssql.d.ts",
"default": "./dist/helpers/mssql.js"
},
"require": {
"types": "./dist/helpers/mssql.d.cts",
"default": "./dist/helpers/mssql.cjs"
}
},
"./helpers/mysql": {
"import": "./dist/esm/helpers/mysql.js",
"require": "./dist/cjs/helpers/mysql.js",
"default": "./dist/cjs/helpers/mysql.js"
"import": {
"types": "./dist/helpers/mysql.d.ts",
"default": "./dist/helpers/mysql.js"
},
"require": {
"types": "./dist/helpers/mysql.d.cts",
"default": "./dist/helpers/mysql.cjs"
}
},
"./helpers/mssql": {
"import": "./dist/esm/helpers/mssql.js",
"require": "./dist/cjs/helpers/mssql.js",
"default": "./dist/cjs/helpers/mssql.js"
"./helpers/postgres": {
"import": {
"types": "./dist/helpers/postgres.d.ts",
"default": "./dist/helpers/postgres.js"
},
"require": {
"types": "./dist/helpers/postgres.d.cts",
"default": "./dist/helpers/postgres.cjs"
}
},
"./helpers/sqlite": {
"import": "./dist/esm/helpers/sqlite.js",
"require": "./dist/cjs/helpers/sqlite.js",
"default": "./dist/cjs/helpers/sqlite.js"
},
"./migration": {
"import": "./dist/esm/migration/index.js",
"require": "./dist/cjs/migration/index.js",
"default": "./dist/cjs/migration/index.js"
}
},
"sideEffects": false,
"scripts": {
"clean": "rm -rf dist & rm -rf test/node/dist & rm -rf test/browser/bundle.js & rm -rf helpers",
"bench:ts": "pnpm build && cd ./test/ts-benchmarks && node --experimental-strip-types ./index.ts",
"bench:ts": "pnpm build && node --experimental-strip-types ./test/ts-benchmarks/index.ts",
"test": "pnpm build && pnpm test:node:build && pnpm test:node:run && pnpm test:typings && pnpm test:esmimports && pnpm test:exports",
"test:node:build": "tsc -p test/node",
"test:node": "pnpm build && pnpm test:node:build && pnpm test:node:run",
Expand All @@ -84,15 +109,11 @@
"test:typings": "tsd test/typings",
"test:esmimports": "node scripts/check-esm-imports.js",
"test:esbuild": "esbuild --bundle --platform=node --external:pg-native dist/esm/index.js --outfile=/dev/null",
"test:exports": "attw --pack . && node scripts/check-exports.js",
"test:exports": "node scripts/check-exports.js",
"test:jsdocs": "deno check --doc-only --no-lock --unstable-sloppy-imports --config=\"deno.check.json\" ./src",
"test:outdatedts": "pnpm build && cd test/outdated-ts && pnpm i && pnpm test",
"lint:deno": "deno lint --config=\"deno.lint.json\" ./src",
"prettier": "prettier --write 'src/**/*.ts' 'test/**/*.ts'",
"build": "pnpm clean && (pnpm build:esm & pnpm build:cjs) && pnpm script:module-fixup && pnpm script:copy-interface-doc",
"build:esm": "tsc -p tsconfig.json && pnpm script:add-deno-type-references",
"build:cjs": "tsc -p tsconfig-cjs.json",
"script:module-fixup": "node scripts/module-fixup.js",
"script:copy-interface-doc": "node scripts/copy-interface-documentation.js",
"script:add-deno-type-references": "node scripts/add-deno-type-references.js",
"script:align-versions": "node --experimental-strip-types scripts/align-versions.mts",
Expand All @@ -109,11 +130,13 @@
"Igal Klebanov <igalklebanov@gmail.com>"
],
"devDependencies": {
"@arethetypeswrong/cli": "^0.18.2",
"@arethetypeswrong/core": "^0.18.2",
"@ark/attest": "^0.56.0",
"@electric-sql/pglite": "^0.3.14",
"@types/better-sqlite3": "^7.6.13",
"@types/chai": "^5.2.3",
"@types/chai-as-promised": "^8.0.2",
"@types/prototype-pollution-vulnerable-lodash.merge-dont-upgrade": "npm:@types/lodash.merge@4.6.1",
"@types/mocha": "^10.0.10",
"@types/node": "^25.5.0",
"@types/pg": "^8.18.0",
Expand All @@ -129,11 +152,13 @@
"mocha": "^11.7.5",
"mysql2": "^3.20.0",
"pathe": "^2.0.3",
"prototype-pollution-vulnerable-lodash.merge-dont-upgrade": "npm:lodash.merge@4.6.1",
"pg": "^8.20.0",
"pg-cursor": "^2.19.0",
"pkg-types": "^2.3.0",
"playwright": "^1.58.2",
"prettier": "^3.8.1",
"publint": "^0.3.18",
"semver": "^7.7.4",
"sinon": "^21.0.3",
"std-env": "^4.0.0",
Expand Down
Loading
Loading