neon-testing 2.2.1-beta.0 → 2.2.1-beta.1
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 +18 -6
- package/dist/browser-empty.d.ts.map +1 -1
- package/dist/browser-empty.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/singleton.d.ts.map +1 -1
- package/dist/singleton.js.map +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js.map +1 -1
- package/dist/vite-plugin.d.ts.map +1 -1
- package/dist/vite-plugin.js.map +1 -1
- package/dist/vitest-setup.d.ts.map +1 -1
- package/dist/vitest-setup.js.map +1 -1
- package/package.json +14 -12
- package/dist/examples/branch-expiration.test.d.ts +0 -2
- package/dist/examples/branch-expiration.test.d.ts.map +0 -1
- package/dist/examples/branch-expiration.test.js +0 -60
- package/dist/examples/branch-expiration.test.js.map +0 -1
- package/dist/examples/drivers/http-neon-drizzle.test.d.ts +0 -2
- package/dist/examples/drivers/http-neon-drizzle.test.d.ts.map +0 -1
- package/dist/examples/drivers/http-neon-drizzle.test.js +0 -80
- package/dist/examples/drivers/http-neon-drizzle.test.js.map +0 -1
- package/dist/examples/drivers/http-neon.test.d.ts +0 -2
- package/dist/examples/drivers/http-neon.test.d.ts.map +0 -1
- package/dist/examples/drivers/http-neon.test.js +0 -71
- package/dist/examples/drivers/http-neon.test.js.map +0 -1
- package/dist/examples/drivers/tcp-pg-drizzle.test.d.ts +0 -2
- package/dist/examples/drivers/tcp-pg-drizzle.test.d.ts.map +0 -1
- package/dist/examples/drivers/tcp-pg-drizzle.test.js +0 -90
- package/dist/examples/drivers/tcp-pg-drizzle.test.js.map +0 -1
- package/dist/examples/drivers/tcp-pg.test.d.ts +0 -2
- package/dist/examples/drivers/tcp-pg.test.d.ts.map +0 -1
- package/dist/examples/drivers/tcp-pg.test.js +0 -76
- package/dist/examples/drivers/tcp-pg.test.js.map +0 -1
- package/dist/examples/drivers/tcp-postgres-drizzle.test.d.ts +0 -2
- package/dist/examples/drivers/tcp-postgres-drizzle.test.d.ts.map +0 -1
- package/dist/examples/drivers/tcp-postgres-drizzle.test.js +0 -77
- package/dist/examples/drivers/tcp-postgres-drizzle.test.js.map +0 -1
- package/dist/examples/drivers/tcp-postgres.test.d.ts +0 -2
- package/dist/examples/drivers/tcp-postgres.test.d.ts.map +0 -1
- package/dist/examples/drivers/tcp-postgres.test.js +0 -69
- package/dist/examples/drivers/tcp-postgres.test.js.map +0 -1
- package/dist/examples/drivers/ws-neon-drizzle.test.d.ts +0 -2
- package/dist/examples/drivers/ws-neon-drizzle.test.d.ts.map +0 -1
- package/dist/examples/drivers/ws-neon-drizzle.test.js +0 -121
- package/dist/examples/drivers/ws-neon-drizzle.test.js.map +0 -1
- package/dist/examples/drivers/ws-neon.test.d.ts +0 -2
- package/dist/examples/drivers/ws-neon.test.d.ts.map +0 -1
- package/dist/examples/drivers/ws-neon.test.js +0 -97
- package/dist/examples/drivers/ws-neon.test.js.map +0 -1
- package/dist/examples/isolated.test.d.ts +0 -2
- package/dist/examples/isolated.test.d.ts.map +0 -1
- package/dist/examples/isolated.test.js +0 -114
- package/dist/examples/isolated.test.js.map +0 -1
- package/dist/examples/minimal.test.d.ts +0 -2
- package/dist/examples/minimal.test.d.ts.map +0 -1
- package/dist/examples/minimal.test.js +0 -19
- package/dist/examples/minimal.test.js.map +0 -1
- package/dist/examples/neon-testing.d.ts +0 -6
- package/dist/examples/neon-testing.d.ts.map +0 -1
- package/dist/examples/neon-testing.js +0 -8
- package/dist/examples/neon-testing.js.map +0 -1
- package/dist/examples/options-validation.test.d.ts +0 -2
- package/dist/examples/options-validation.test.d.ts.map +0 -1
- package/dist/examples/options-validation.test.js +0 -99
- package/dist/examples/options-validation.test.js.map +0 -1
- package/dist/examples/recommended.test.d.ts +0 -2
- package/dist/examples/recommended.test.d.ts.map +0 -1
- package/dist/examples/recommended.test.js +0 -17
- package/dist/examples/recommended.test.js.map +0 -1
- package/dist/vitest.config.d.ts +0 -3
- package/dist/vitest.config.d.ts.map +0 -1
- package/dist/vitest.config.js +0 -16
- package/dist/vitest.config.js.map +0 -1
package/README.md
CHANGED
|
@@ -377,16 +377,28 @@ Create a free Neon project at [neon.com](https://neon.com/) to test with.
|
|
|
377
377
|
|
|
378
378
|
### Release
|
|
379
379
|
|
|
380
|
-
|
|
380
|
+
Releases are published via CI when a version tag is pushed. Use these scripts to bump the version and trigger a release:
|
|
381
|
+
|
|
382
|
+
**Stable releases:**
|
|
383
|
+
|
|
384
|
+
```sh
|
|
385
|
+
bun run release:patch # 1.2.3 → 1.2.4
|
|
386
|
+
bun run release:minor # 1.2.3 → 1.3.0
|
|
387
|
+
bun run release:major # 1.2.3 → 2.0.0
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
**Beta releases:**
|
|
381
391
|
|
|
382
392
|
```sh
|
|
383
|
-
bun run release:
|
|
384
|
-
bun run release:
|
|
385
|
-
bun run release:
|
|
386
|
-
bun run release:beta
|
|
393
|
+
bun run release:beta # Default: 1.2.3 → 1.2.4-beta.0, then 1.2.4-beta.1, etc.
|
|
394
|
+
bun run release:beta:patch # Start beta for patch: 1.2.3 → 1.2.4-beta.0
|
|
395
|
+
bun run release:beta:minor # Start beta for minor: 1.2.3 → 1.3.0-beta.0
|
|
396
|
+
bun run release:beta:major # Start beta for major: 1.2.3 → 2.0.0-beta.0
|
|
387
397
|
```
|
|
388
398
|
|
|
389
|
-
|
|
399
|
+
Use `release:beta` for most beta releases. It bumps the patch version once when starting from stable, then increments the beta number for subsequent releases. Use `release:beta:minor` or `release:beta:major` only when starting a beta cycle for a larger version bump.
|
|
400
|
+
|
|
401
|
+
The scripts bump the version, create a git tag, and push to trigger CI. The command will abort if there are uncommitted changes.
|
|
390
402
|
|
|
391
403
|
## Author
|
|
392
404
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-empty.d.ts","sourceRoot":"","sources":["../browser-empty.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,SAE1B"}
|
|
1
|
+
{"version":3,"file":"browser-empty.d.ts","sourceRoot":"","sources":["../src/browser-empty.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,SAE1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-empty.js","sourceRoot":"","sources":["../browser-empty.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW;IACzB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;AAC3E,CAAC"}
|
|
1
|
+
{"version":3,"file":"browser-empty.js","sourceRoot":"","sources":["../src/browser-empty.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW;IACzB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;AAC3E,CAAC"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAIL,KAAK,MAAM,EACZ,MAAM,0BAA0B,CAAC;AA0ClC,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC/B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,mEAAmE;AACnE,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,QAAQ,CAAC,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,eAAe,CAAC,cAAc,EAAE,kBAAkB;iBAyClD,oBAAoB;;;EA0HnC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAIL,KAAK,MAAM,EACZ,MAAM,0BAA0B,CAAC;AA0ClC,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC/B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,mEAAmE;AACnE,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,QAAQ,CAAC,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,eAAe,CAAC,cAAc,EAAE,kBAAkB;iBAyClD,oBAAoB;;;EA0HnC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/singleton.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"singleton.d.ts","sourceRoot":"","sources":["../singleton.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAM1D"}
|
|
1
|
+
{"version":3,"file":"singleton.d.ts","sourceRoot":"","sources":["../src/singleton.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAM1D"}
|
package/dist/singleton.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"singleton.js","sourceRoot":"","sources":["../singleton.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,aAAa,CAAI,OAAgB;IAC/C,IAAI,QAAuB,CAAC;IAC5B,OAAO,GAAG,EAAE;QACV,QAAQ,KAAK,OAAO,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"singleton.js","sourceRoot":"","sources":["../src/singleton.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,aAAa,CAAI,OAAgB;IAC/C,IAAI,QAAuB,CAAC;IAC5B,OAAO,GAAG,EAAE;QACV,QAAQ,KAAK,OAAO,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,WAAW,wBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,WAAW,wBAAkB,CAAC"}
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../vite-plugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,wBAAgB,WAAW,CACzB,OAAO,GAAE;IACP;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACZ,GACL,MAAM,CAyBR"}
|
|
1
|
+
{"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../src/vite-plugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,wBAAgB,WAAW,CACzB,OAAO,GAAE;IACP;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACZ,GACL,MAAM,CAyBR"}
|
package/dist/vite-plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../vite-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,UAOI,EAAE;IAEN,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,wEAAwE;QACxE,iCAAiC;QACjC,OAAO,EAAE,MAAM;QACf,MAAM,CAAC,IAAI;YACT,MAAM,SAAS,GAAG,aAAa,CAC7B,IAAI,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAC9C,CAAC;YAEF,OAAO;gBACL,IAAI,EAAE;oBACJ,mEAAmE;oBACnE,UAAU,EAAE,KAAK,CAAC,IAAI,CACpB,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CACvD;oBACD,GAAG,EAAE;wBACH,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG;wBACjB,kBAAkB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;qBACrD;iBACF;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../src/vite-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,UAOI,EAAE;IAEN,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,wEAAwE;QACxE,iCAAiC;QACjC,OAAO,EAAE,MAAM;QACf,MAAM,CAAC,IAAI;YACT,MAAM,SAAS,GAAG,aAAa,CAC7B,IAAI,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAC9C,CAAC;YAEF,OAAO;gBACL,IAAI,EAAE;oBACJ,mEAAmE;oBACnE,UAAU,EAAE,KAAK,CAAC,IAAI,CACpB,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CACvD;oBACD,GAAG,EAAE;wBACH,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG;wBACjB,kBAAkB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;qBACrD;iBACF;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitest-setup.d.ts","sourceRoot":"","sources":["../vitest-setup.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,QAAQ,oBAAqB,CAAC;AACpC,QAAA,MAAM,OAAO,SAA4C,CAAC"}
|
|
1
|
+
{"version":3,"file":"vitest-setup.d.ts","sourceRoot":"","sources":["../src/vitest-setup.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,QAAQ,oBAAqB,CAAC;AACpC,QAAA,MAAM,OAAO,SAA4C,CAAC"}
|
package/dist/vitest-setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitest-setup.js","sourceRoot":"","sources":["../vitest-setup.ts"],"names":[],"mappings":";AAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;AACpC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,MAAM,CAAC;AAE1D,IAAI,QAAQ,EAAE,CAAC;IACb,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,EAAE,CAAC;QACxC,OAAO,CAAC,KAAK,CACX,mEAAmE,CACpE,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;AAClC,CAAC"}
|
|
1
|
+
{"version":3,"file":"vitest-setup.js","sourceRoot":"","sources":["../src/vitest-setup.ts"],"names":[],"mappings":";AAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;AACpC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,MAAM,CAAC;AAE1D,IAAI,QAAQ,EAAE,CAAC;IACb,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,EAAE,CAAC;QACxC,OAAO,CAAC,KAAK,CACX,mEAAmE,CACpE,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;AAClC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "neon-testing",
|
|
3
|
-
"version": "2.2.1-beta.
|
|
3
|
+
"version": "2.2.1-beta.1",
|
|
4
4
|
"description": "A Vitest utility for seamless integration tests with Neon Postgres",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"neon",
|
|
@@ -32,18 +32,20 @@
|
|
|
32
32
|
"dist"
|
|
33
33
|
],
|
|
34
34
|
"scripts": {
|
|
35
|
-
"dev": "tsc --watch",
|
|
36
|
-
"build": "rm -rf dist && tsc",
|
|
35
|
+
"dev": "tsc -p tsconfig.build.json --watch",
|
|
36
|
+
"build": "rm -rf dist && tsc -p tsconfig.build.json && tsc && prettier --check . && vitest run",
|
|
37
37
|
"format": "prettier --write .",
|
|
38
38
|
"test": "vitest",
|
|
39
39
|
"clean:soft": "rm -rf node_modules dist && bun install",
|
|
40
40
|
"clean:hard": "rm -rf node_modules dist bun.lock && bun install",
|
|
41
|
-
"
|
|
42
|
-
"release:
|
|
43
|
-
"release:
|
|
44
|
-
"release:
|
|
45
|
-
"release:beta": "bun
|
|
46
|
-
"
|
|
41
|
+
"release:patch": "bun pm version patch",
|
|
42
|
+
"release:minor": "bun pm version minor",
|
|
43
|
+
"release:major": "bun pm version major",
|
|
44
|
+
"release:beta": "bun pm version prerelease --preid=beta",
|
|
45
|
+
"release:beta:patch": "bun pm version prepatch --preid=beta",
|
|
46
|
+
"release:beta:minor": "bun pm version preminor --preid=beta",
|
|
47
|
+
"release:beta:major": "bun pm version premajor --preid=beta",
|
|
48
|
+
"postversion": "git push --follow-tags"
|
|
47
49
|
},
|
|
48
50
|
"dependencies": {
|
|
49
51
|
"@neondatabase/api-client": "^2.2.0"
|
|
@@ -59,12 +61,12 @@
|
|
|
59
61
|
"drizzle-orm": "^0.44.7",
|
|
60
62
|
"pg": "^8.16.3",
|
|
61
63
|
"postgres": "^3.4.7",
|
|
62
|
-
"prettier": "^3.
|
|
64
|
+
"prettier": "^3.7.1",
|
|
63
65
|
"tiny-invariant": "^1.3.3",
|
|
64
66
|
"typescript": "^5.9.3",
|
|
65
|
-
"vite": "^7.2.
|
|
67
|
+
"vite": "^7.2.4",
|
|
66
68
|
"vite-tsconfig-paths": "^5.1.4",
|
|
67
|
-
"vitest": "^4.0.
|
|
69
|
+
"vitest": "^4.0.14"
|
|
68
70
|
},
|
|
69
71
|
"browser": {
|
|
70
72
|
"./dist/vite-plugin.js": "./dist/browser-empty.js"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"branch-expiration.test.d.ts","sourceRoot":"","sources":["../../examples/branch-expiration.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { describe, expect, test } from "vitest";
|
|
2
|
-
import { neonTesting } from "./neon-testing";
|
|
3
|
-
import invariant from "tiny-invariant";
|
|
4
|
-
describe("Branch expiration with default settings", () => {
|
|
5
|
-
const getBranch = neonTesting();
|
|
6
|
-
test("sets default 10-minute expiration on created branch", async () => {
|
|
7
|
-
const branch = getBranch();
|
|
8
|
-
invariant(branch, "Branch not found");
|
|
9
|
-
invariant(branch.expires_at, "Branch expires_at not set");
|
|
10
|
-
// Verify the expires_at matches what Neon API returns
|
|
11
|
-
// https://api-docs.neon.tech/reference/getprojectbranch
|
|
12
|
-
const { data } = await neonTesting.api.getProjectBranch(branch.project_id, branch.id);
|
|
13
|
-
expect(data.branch?.expires_at).toBe(branch.expires_at);
|
|
14
|
-
// Verify it's approximately 600 seconds (10 minutes) in the future
|
|
15
|
-
const expiresAt = new Date(branch.expires_at).getTime();
|
|
16
|
-
const createdAt = new Date(branch.created_at).getTime();
|
|
17
|
-
const expectedExpiresAt = createdAt + 600 * 1000;
|
|
18
|
-
// Allow 10 seconds of tolerance
|
|
19
|
-
expect(expiresAt).toBeGreaterThan(createdAt);
|
|
20
|
-
expect(expiresAt).toBeLessThan(expectedExpiresAt + 10000);
|
|
21
|
-
expect(expiresAt).toBeGreaterThan(expectedExpiresAt - 10000);
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
describe("Branch expiration with custom settings", () => {
|
|
25
|
-
const getBranch = neonTesting({
|
|
26
|
-
expiresIn: 1800,
|
|
27
|
-
});
|
|
28
|
-
test("sets custom 30-minute expiration on created branch", async () => {
|
|
29
|
-
const branch = getBranch();
|
|
30
|
-
invariant(branch, "Branch not found");
|
|
31
|
-
invariant(branch.expires_at, "Branch expires_at not set");
|
|
32
|
-
// Verify the expires_at matches what Neon API returns
|
|
33
|
-
// https://api-docs.neon.tech/reference/getprojectbranch
|
|
34
|
-
const { data } = await neonTesting.api.getProjectBranch(branch.project_id, branch.id);
|
|
35
|
-
expect(data.branch?.expires_at).toBe(branch.expires_at);
|
|
36
|
-
// Verify it's approximately 1800 seconds (30 minutes) in the future
|
|
37
|
-
const expiresAt = new Date(branch.expires_at).getTime();
|
|
38
|
-
const createdAt = new Date(branch.created_at).getTime();
|
|
39
|
-
const expectedExpiresAt = createdAt + 1800 * 1000;
|
|
40
|
-
// Allow 10 seconds of tolerance
|
|
41
|
-
expect(expiresAt).toBeGreaterThan(createdAt);
|
|
42
|
-
expect(expiresAt).toBeLessThan(expectedExpiresAt + 10000);
|
|
43
|
-
expect(expiresAt).toBeGreaterThan(expectedExpiresAt - 10000);
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
describe("Branch expiration disabled", () => {
|
|
47
|
-
const getBranch = neonTesting({
|
|
48
|
-
expiresIn: null,
|
|
49
|
-
});
|
|
50
|
-
test("creates branch without expiration when disabled", async () => {
|
|
51
|
-
const branch = getBranch();
|
|
52
|
-
invariant(branch, "Branch not found");
|
|
53
|
-
// Verify the expires_at matches what Neon API returns (both should be undefined)
|
|
54
|
-
// https://api-docs.neon.tech/reference/getprojectbranch
|
|
55
|
-
const { data } = await neonTesting.api.getProjectBranch(branch.project_id, branch.id);
|
|
56
|
-
expect(branch.expires_at).toBeUndefined();
|
|
57
|
-
expect(data.branch?.expires_at).toBe(branch.expires_at);
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
//# sourceMappingURL=branch-expiration.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"branch-expiration.test.js","sourceRoot":"","sources":["../../examples/branch-expiration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http-neon-drizzle.test.d.ts","sourceRoot":"","sources":["../../../examples/drivers/http-neon-drizzle.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @neondatabase/serverless
|
|
3
|
-
*
|
|
4
|
-
* Protocol: | HTTP
|
|
5
|
-
* Driver: | @neondatabase/serverless
|
|
6
|
-
* ORM: | drizzle-orm
|
|
7
|
-
* Interactive transactions | ❌
|
|
8
|
-
* Automatic connection lifecycle management | ✅
|
|
9
|
-
*
|
|
10
|
-
* https://www.npmjs.com/package/@neondatabase/serverless
|
|
11
|
-
* https://www.npmjs.com/package/drizzle-orm
|
|
12
|
-
* https://orm.drizzle.team/docs/get-started/neon-new
|
|
13
|
-
* https://orm.drizzle.team/docs/connect-neon
|
|
14
|
-
*/
|
|
15
|
-
import { describe, expect, test } from "vitest";
|
|
16
|
-
import { neonTesting } from "../neon-testing";
|
|
17
|
-
import { neon } from "@neondatabase/serverless";
|
|
18
|
-
import { drizzle } from "drizzle-orm/neon-http";
|
|
19
|
-
import { lazySingleton } from "neon-testing/utils";
|
|
20
|
-
const cases = [
|
|
21
|
-
["pooler", (url) => drizzle(url)],
|
|
22
|
-
["direct", (url) => drizzle(url)],
|
|
23
|
-
["pooler", (url) => drizzle({ client: neon(url) })],
|
|
24
|
-
["direct", (url) => drizzle({ client: neon(url) })],
|
|
25
|
-
];
|
|
26
|
-
describe.each(cases)("Drizzle Neon HTTP (%s)", (endpoint, makeDb) => {
|
|
27
|
-
neonTesting({ endpoint });
|
|
28
|
-
const db = lazySingleton(() => makeDb(process.env.DATABASE_URL));
|
|
29
|
-
test("create table", async () => {
|
|
30
|
-
await db().execute(`
|
|
31
|
-
CREATE TABLE users (
|
|
32
|
-
id SERIAL PRIMARY KEY,
|
|
33
|
-
name TEXT NOT NULL UNIQUE
|
|
34
|
-
)
|
|
35
|
-
`);
|
|
36
|
-
const { rows: newUser } = await db().execute(`
|
|
37
|
-
INSERT INTO users (name)
|
|
38
|
-
VALUES ('Ellen Ripley')
|
|
39
|
-
RETURNING *
|
|
40
|
-
`);
|
|
41
|
-
expect(newUser).toStrictEqual([{ id: 1, name: "Ellen Ripley" }]);
|
|
42
|
-
const { rows: users } = await db().execute(`SELECT * FROM users`);
|
|
43
|
-
expect(users).toStrictEqual([{ id: 1, name: "Ellen Ripley" }]);
|
|
44
|
-
});
|
|
45
|
-
test("tests are not isolated within a test file", async () => {
|
|
46
|
-
const { rows: newUser } = await db().execute(`
|
|
47
|
-
INSERT INTO users (name)
|
|
48
|
-
VALUES ('Rebecca Jorden')
|
|
49
|
-
RETURNING *
|
|
50
|
-
`);
|
|
51
|
-
expect(newUser).toStrictEqual([{ id: 2, name: "Rebecca Jorden" }]);
|
|
52
|
-
const { rows: users } = await db().execute(`SELECT * FROM users`);
|
|
53
|
-
expect(users).toStrictEqual([
|
|
54
|
-
// Ellen Ripley is already in the table from the previous test
|
|
55
|
-
{ id: 1, name: "Ellen Ripley" },
|
|
56
|
-
{ id: 2, name: "Rebecca Jorden" },
|
|
57
|
-
]);
|
|
58
|
-
});
|
|
59
|
-
test("interactive transactions are NOT supported", async () => {
|
|
60
|
-
try {
|
|
61
|
-
await db().execute(`BEGIN`);
|
|
62
|
-
await db().execute(`INSERT INTO users (name) VALUES ('Private Vasquez')`);
|
|
63
|
-
// Duplicate unique constraint error - will fail but not roll back
|
|
64
|
-
await db().execute(`INSERT INTO users (name) VALUES ('Private Vasquez')`);
|
|
65
|
-
await db().execute(`COMMIT`);
|
|
66
|
-
}
|
|
67
|
-
catch {
|
|
68
|
-
await db().execute(`ROLLBACK`);
|
|
69
|
-
}
|
|
70
|
-
const { rows: users } = await db().execute(`SELECT * FROM users`);
|
|
71
|
-
expect(users).toStrictEqual([
|
|
72
|
-
{ id: 1, name: "Ellen Ripley" },
|
|
73
|
-
{ id: 2, name: "Rebecca Jorden" },
|
|
74
|
-
// Private Vasquez is inserted despite the unique constraint error because
|
|
75
|
-
// interactive transactions are not supported by this driver.
|
|
76
|
-
{ id: 3, name: "Private Vasquez" },
|
|
77
|
-
]);
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
//# sourceMappingURL=http-neon-drizzle.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http-neon-drizzle.test.js","sourceRoot":"","sources":["../../../examples/drivers/http-neon-drizzle.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http-neon.test.d.ts","sourceRoot":"","sources":["../../../examples/drivers/http-neon.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @neondatabase/serverless
|
|
3
|
-
*
|
|
4
|
-
* Protocol: | HTTP
|
|
5
|
-
* Driver: | @neondatabase/serverless
|
|
6
|
-
* ORM: | -
|
|
7
|
-
* Interactive transactions | ❌
|
|
8
|
-
* Automatic connection lifecycle management | ✅
|
|
9
|
-
*
|
|
10
|
-
* https://www.npmjs.com/package/@neondatabase/serverless
|
|
11
|
-
*/
|
|
12
|
-
import { describe, expect, test } from "vitest";
|
|
13
|
-
import { neonTesting } from "../neon-testing";
|
|
14
|
-
import { neon } from "@neondatabase/serverless";
|
|
15
|
-
import { lazySingleton } from "neon-testing/utils";
|
|
16
|
-
const endpoints = ["pooler", "direct"];
|
|
17
|
-
describe.each(endpoints)("Neon HTTP (%s)", (endpoint) => {
|
|
18
|
-
neonTesting({ endpoint });
|
|
19
|
-
const sql = lazySingleton(() => neon(process.env.DATABASE_URL));
|
|
20
|
-
test("create table", async () => {
|
|
21
|
-
await sql() `
|
|
22
|
-
CREATE TABLE users (
|
|
23
|
-
id SERIAL PRIMARY KEY,
|
|
24
|
-
name TEXT NOT NULL UNIQUE
|
|
25
|
-
)
|
|
26
|
-
`;
|
|
27
|
-
const newUser = await sql() `
|
|
28
|
-
INSERT INTO users (name)
|
|
29
|
-
VALUES ('Ellen Ripley')
|
|
30
|
-
RETURNING *
|
|
31
|
-
`;
|
|
32
|
-
expect(newUser).toStrictEqual([{ id: 1, name: "Ellen Ripley" }]);
|
|
33
|
-
const users = await sql() `SELECT * FROM users`;
|
|
34
|
-
expect(users).toStrictEqual([{ id: 1, name: "Ellen Ripley" }]);
|
|
35
|
-
});
|
|
36
|
-
test("tests are not isolated within a test file", async () => {
|
|
37
|
-
const newUser = await sql() `
|
|
38
|
-
INSERT INTO users (name)
|
|
39
|
-
VALUES ('Rebecca Jorden')
|
|
40
|
-
RETURNING *
|
|
41
|
-
`;
|
|
42
|
-
expect(newUser).toStrictEqual([{ id: 2, name: "Rebecca Jorden" }]);
|
|
43
|
-
const users = await sql() `SELECT * FROM users`;
|
|
44
|
-
expect(users).toStrictEqual([
|
|
45
|
-
// Ellen Ripley is already in the table from the previous test
|
|
46
|
-
{ id: 1, name: "Ellen Ripley" },
|
|
47
|
-
{ id: 2, name: "Rebecca Jorden" },
|
|
48
|
-
]);
|
|
49
|
-
});
|
|
50
|
-
test("interactive transactions are NOT supported", async () => {
|
|
51
|
-
try {
|
|
52
|
-
await sql() `BEGIN`;
|
|
53
|
-
await sql() `INSERT INTO users (name) VALUES ('Private Vasquez')`;
|
|
54
|
-
// Duplicate unique constraint error - will fail but not roll back
|
|
55
|
-
await sql() `INSERT INTO users (name) VALUES ('Private Vasquez')`;
|
|
56
|
-
await sql() `COMMIT`;
|
|
57
|
-
}
|
|
58
|
-
catch {
|
|
59
|
-
await sql() `ROLLBACK`;
|
|
60
|
-
}
|
|
61
|
-
const users = await sql() `SELECT * FROM users`;
|
|
62
|
-
expect(users).toStrictEqual([
|
|
63
|
-
{ id: 1, name: "Ellen Ripley" },
|
|
64
|
-
{ id: 2, name: "Rebecca Jorden" },
|
|
65
|
-
// Private Vasquez is inserted despite the unique constraint error because
|
|
66
|
-
// interactive transactions are not supported by this driver.
|
|
67
|
-
{ id: 3, name: "Private Vasquez" },
|
|
68
|
-
]);
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
//# sourceMappingURL=http-neon.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http-neon.test.js","sourceRoot":"","sources":["../../../examples/drivers/http-neon.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAEhD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,EAAE;IACtD,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE1B,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAa,CAAC,CAAC,CAAC;IAEjE,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,GAAG,EAAE,CAAA;;;;;KAKV,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,GAAG,EAAE,CAAA;;;;KAI1B,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;QAEjE,MAAM,KAAK,GAAG,MAAM,GAAG,EAAE,CAAA,qBAAqB,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,OAAO,GAAG,MAAM,GAAG,EAAE,CAAA;;;;KAI1B,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;QAEnE,MAAM,KAAK,GAAG,MAAM,GAAG,EAAE,CAAA,qBAAqB,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;YAC1B,8DAA8D;YAC9D,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE;YAC/B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE;SAClC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC5D,IAAI,CAAC;YACH,MAAM,GAAG,EAAE,CAAA,OAAO,CAAC;YACnB,MAAM,GAAG,EAAE,CAAA,qDAAqD,CAAC;YACjE,kEAAkE;YAClE,MAAM,GAAG,EAAE,CAAA,qDAAqD,CAAC;YACjE,MAAM,GAAG,EAAE,CAAA,QAAQ,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,EAAE,CAAA,UAAU,CAAC;QACxB,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,GAAG,EAAE,CAAA,qBAAqB,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;YAC1B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE;YAC/B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE;YACjC,0EAA0E;YAC1E,6DAA6D;YAC7D,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE;SACnC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tcp-pg-drizzle.test.d.ts","sourceRoot":"","sources":["../../../examples/drivers/tcp-pg-drizzle.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* pg (node-postgres)
|
|
3
|
-
*
|
|
4
|
-
* Protocol: | TCP
|
|
5
|
-
* Driver: | pg
|
|
6
|
-
* ORM: | drizzle-orm
|
|
7
|
-
* Interactive transactions | ✅
|
|
8
|
-
* Automatic connection lifecycle management | ❌
|
|
9
|
-
*
|
|
10
|
-
* https://www.npmjs.com/package/pg
|
|
11
|
-
* https://www.npmjs.com/package/drizzle-orm
|
|
12
|
-
* https://orm.drizzle.team/docs/get-started-postgresql#postgresjs
|
|
13
|
-
*/
|
|
14
|
-
import { describe, expect, test } from "vitest";
|
|
15
|
-
import { neonTesting } from "../neon-testing";
|
|
16
|
-
import { Pool } from "pg";
|
|
17
|
-
import { drizzle } from "drizzle-orm/node-postgres";
|
|
18
|
-
const cases = [
|
|
19
|
-
["pooler", (url) => drizzle(url)],
|
|
20
|
-
["direct", (url) => drizzle(url)],
|
|
21
|
-
[
|
|
22
|
-
"pooler",
|
|
23
|
-
(url) => drizzle({ client: new Pool({ connectionString: url }) }),
|
|
24
|
-
],
|
|
25
|
-
[
|
|
26
|
-
"direct",
|
|
27
|
-
(url) => drizzle({ client: new Pool({ connectionString: url }) }),
|
|
28
|
-
],
|
|
29
|
-
];
|
|
30
|
-
describe.each(cases)("node-postgres (%s)", (endpoint, makeDb) => {
|
|
31
|
-
neonTesting({ endpoint });
|
|
32
|
-
test("create table", async () => {
|
|
33
|
-
const pool = makeDb(process.env.DATABASE_URL);
|
|
34
|
-
await pool.execute(`
|
|
35
|
-
CREATE TABLE users (
|
|
36
|
-
id SERIAL PRIMARY KEY,
|
|
37
|
-
name TEXT NOT NULL UNIQUE
|
|
38
|
-
)
|
|
39
|
-
`);
|
|
40
|
-
const newUser = await pool.execute(`
|
|
41
|
-
INSERT INTO users (name)
|
|
42
|
-
VALUES ('Ellen Ripley')
|
|
43
|
-
RETURNING *
|
|
44
|
-
`);
|
|
45
|
-
expect(newUser.rows[0]).toStrictEqual({ id: 1, name: "Ellen Ripley" });
|
|
46
|
-
const users = await pool.execute(`SELECT * FROM users`);
|
|
47
|
-
expect(users.rows).toStrictEqual([{ id: 1, name: "Ellen Ripley" }]);
|
|
48
|
-
// 👎 Have to manually end the connection unless disabling `deleteBranch`
|
|
49
|
-
await pool.$client.end();
|
|
50
|
-
});
|
|
51
|
-
test("tests are not isolated within a test file", async () => {
|
|
52
|
-
const pool = makeDb(process.env.DATABASE_URL);
|
|
53
|
-
const newUser = await pool.execute(`
|
|
54
|
-
INSERT INTO users (name)
|
|
55
|
-
VALUES ('Rebecca Jorden')
|
|
56
|
-
RETURNING *
|
|
57
|
-
`);
|
|
58
|
-
expect(newUser.rows).toStrictEqual([{ id: 2, name: "Rebecca Jorden" }]);
|
|
59
|
-
const users = await pool.execute(`SELECT * FROM users`);
|
|
60
|
-
expect(users.rows).toStrictEqual([
|
|
61
|
-
// Ellen Ripley is already in the table from the previous test
|
|
62
|
-
{ id: 1, name: "Ellen Ripley" },
|
|
63
|
-
{ id: 2, name: "Rebecca Jorden" },
|
|
64
|
-
]);
|
|
65
|
-
// 👎 Have to manually end the connection unless disabling `deleteBranch`
|
|
66
|
-
await pool.$client.end();
|
|
67
|
-
});
|
|
68
|
-
test("interactive transactions are supported", async () => {
|
|
69
|
-
const pool = makeDb(process.env.DATABASE_URL);
|
|
70
|
-
try {
|
|
71
|
-
await pool.execute("BEGIN");
|
|
72
|
-
await pool.execute(`INSERT INTO users (name) VALUES ('Private Vasquez')`);
|
|
73
|
-
// Duplicate unique constraint error - will roll back the transaction
|
|
74
|
-
await pool.execute(`INSERT INTO users (name) VALUES ('Private Vasquez')`);
|
|
75
|
-
await pool.execute("COMMIT");
|
|
76
|
-
}
|
|
77
|
-
catch {
|
|
78
|
-
await pool.execute("ROLLBACK");
|
|
79
|
-
}
|
|
80
|
-
const users = await pool.execute(`SELECT * FROM users`);
|
|
81
|
-
expect(users.rows).toStrictEqual([
|
|
82
|
-
{ id: 1, name: "Ellen Ripley" },
|
|
83
|
-
{ id: 2, name: "Rebecca Jorden" },
|
|
84
|
-
// Private Vasquez is not inserted because of the transaction rollback
|
|
85
|
-
]);
|
|
86
|
-
// 👎 Have to manually end the connection unless disabling `deleteBranch`
|
|
87
|
-
await pool.$client.end();
|
|
88
|
-
});
|
|
89
|
-
});
|
|
90
|
-
//# sourceMappingURL=tcp-pg-drizzle.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tcp-pg-drizzle.test.js","sourceRoot":"","sources":["../../../examples/drivers/tcp-pg-drizzle.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tcp-pg.test.d.ts","sourceRoot":"","sources":["../../../examples/drivers/tcp-pg.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* pg (node-postgres)
|
|
3
|
-
*
|
|
4
|
-
* Protocol: | TCP
|
|
5
|
-
* Driver: | pg
|
|
6
|
-
* ORM: | -
|
|
7
|
-
* Interactive transactions | ✅
|
|
8
|
-
* Automatic connection lifecycle management | ❌
|
|
9
|
-
*
|
|
10
|
-
* https://www.npmjs.com/package/pg
|
|
11
|
-
*/
|
|
12
|
-
import { describe, expect, test } from "vitest";
|
|
13
|
-
import { neonTesting } from "../neon-testing";
|
|
14
|
-
import { Pool } from "pg";
|
|
15
|
-
const endpoints = ["pooler", "direct"];
|
|
16
|
-
describe.each(endpoints)("node-postgres (%s)", (endpoint) => {
|
|
17
|
-
neonTesting({ endpoint });
|
|
18
|
-
test("create table", async () => {
|
|
19
|
-
const pool = new Pool({ connectionString: process.env.DATABASE_URL });
|
|
20
|
-
await pool.query(`
|
|
21
|
-
CREATE TABLE users (
|
|
22
|
-
id SERIAL PRIMARY KEY,
|
|
23
|
-
name TEXT NOT NULL UNIQUE
|
|
24
|
-
)
|
|
25
|
-
`);
|
|
26
|
-
const newUser = await pool.query(`
|
|
27
|
-
INSERT INTO users (name)
|
|
28
|
-
VALUES ('Ellen Ripley')
|
|
29
|
-
RETURNING *
|
|
30
|
-
`);
|
|
31
|
-
expect(newUser.rows[0]).toStrictEqual({ id: 1, name: "Ellen Ripley" });
|
|
32
|
-
const users = await pool.query(`SELECT * FROM users`);
|
|
33
|
-
expect(users.rows).toStrictEqual([{ id: 1, name: "Ellen Ripley" }]);
|
|
34
|
-
// 👎 Have to manually end the connection unless disabling `deleteBranch`
|
|
35
|
-
await pool.end();
|
|
36
|
-
});
|
|
37
|
-
test("tests are not isolated within a test file", async () => {
|
|
38
|
-
const pool = new Pool({ connectionString: process.env.DATABASE_URL });
|
|
39
|
-
const newUser = await pool.query(`
|
|
40
|
-
INSERT INTO users (name)
|
|
41
|
-
VALUES ('Rebecca Jorden')
|
|
42
|
-
RETURNING *
|
|
43
|
-
`);
|
|
44
|
-
expect(newUser.rows).toStrictEqual([{ id: 2, name: "Rebecca Jorden" }]);
|
|
45
|
-
const users = await pool.query(`SELECT * FROM users`);
|
|
46
|
-
expect(users.rows).toStrictEqual([
|
|
47
|
-
// Ellen Ripley is already in the table from the previous test
|
|
48
|
-
{ id: 1, name: "Ellen Ripley" },
|
|
49
|
-
{ id: 2, name: "Rebecca Jorden" },
|
|
50
|
-
]);
|
|
51
|
-
// 👎 Have to manually end the connection unless disabling `deleteBranch`
|
|
52
|
-
await pool.end();
|
|
53
|
-
});
|
|
54
|
-
test("interactive transactions are supported", async () => {
|
|
55
|
-
const pool = new Pool({ connectionString: process.env.DATABASE_URL });
|
|
56
|
-
try {
|
|
57
|
-
await pool.query("BEGIN");
|
|
58
|
-
await pool.query(`INSERT INTO users (name) VALUES ('Private Vasquez')`);
|
|
59
|
-
// Duplicate unique constraint error - will roll back the transaction
|
|
60
|
-
await pool.query(`INSERT INTO users (name) VALUES ('Private Vasquez')`);
|
|
61
|
-
await pool.query("COMMIT");
|
|
62
|
-
}
|
|
63
|
-
catch {
|
|
64
|
-
await pool.query("ROLLBACK");
|
|
65
|
-
}
|
|
66
|
-
const users = await pool.query(`SELECT * FROM users`);
|
|
67
|
-
expect(users.rows).toStrictEqual([
|
|
68
|
-
{ id: 1, name: "Ellen Ripley" },
|
|
69
|
-
{ id: 2, name: "Rebecca Jorden" },
|
|
70
|
-
// Private Vasquez is not inserted because of the transaction rollback
|
|
71
|
-
]);
|
|
72
|
-
// 👎 Have to manually end the connection unless disabling `deleteBranch`
|
|
73
|
-
await pool.end();
|
|
74
|
-
});
|
|
75
|
-
});
|
|
76
|
-
//# sourceMappingURL=tcp-pg.test.js.map
|