@schemavaults/dbh 0.8.7 → 0.10.0

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.
Files changed (51) hide show
  1. package/.claude/hooks/install-deps-in-fresh-environment.sh +5 -0
  2. package/.claude/settings.json +15 -0
  3. package/README.md +5 -5
  4. package/dist/adapters/abstract-schemavaults-dbh-adapter.d.ts +28 -0
  5. package/dist/adapters/abstract-schemavaults-dbh-adapter.js +50 -0
  6. package/dist/adapters/abstract-schemavaults-dbh-adapter.js.map +1 -0
  7. package/dist/adapters/schemavaults-postgres-adapter.d.ts +11 -0
  8. package/dist/adapters/schemavaults-postgres-adapter.js +31 -0
  9. package/dist/adapters/schemavaults-postgres-adapter.js.map +1 -0
  10. package/dist/adapters/schemavaults-postgres-neon-proxy-adapter.d.ts +18 -0
  11. package/dist/{schemavaults-postgres-neon-proxy-adapter.js → adapters/schemavaults-postgres-neon-proxy-adapter.js} +17 -63
  12. package/dist/adapters/schemavaults-postgres-neon-proxy-adapter.js.map +1 -0
  13. package/dist/create-dbh.d.ts +67 -0
  14. package/dist/create-dbh.js +17 -0
  15. package/dist/create-dbh.js.map +1 -0
  16. package/dist/index.d.ts +4 -2
  17. package/dist/index.js +7 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/migrate.d.ts +1 -1
  20. package/dist/migrate.js +1 -1
  21. package/dist/migrate.js.map +1 -1
  22. package/dist/types/IDatabaseHandler.d.ts +5 -0
  23. package/dist/types/IDatabaseHandler.js +2 -0
  24. package/dist/types/IDatabaseHandler.js.map +1 -0
  25. package/dist/types/PostgresDatabaseCredentials.js.map +1 -0
  26. package/dist/types/SchemaVaultsAppEnvironment.js.map +1 -0
  27. package/dist/utils/buildPostgresUrl.d.ts +1 -1
  28. package/dist/utils/getAppEnvironment.d.ts +1 -1
  29. package/dist/utils/getAppEnvironment.js +1 -1
  30. package/dist/utils/getAppEnvironment.js.map +1 -1
  31. package/dist/utils/getPostgresNeonWsProxyUrl.d.ts +1 -1
  32. package/dist/utils/getPostgresNeonWsProxyUrl.js +1 -1
  33. package/dist/utils/getPostgresNeonWsProxyUrl.js.map +1 -1
  34. package/dist/utils/isDbhInDebugMode.d.ts +2 -2
  35. package/dist/utils/parseDatabaseCredentials.d.ts +1 -1
  36. package/dist/utils/parseDatabaseCredentialsFromEnv.d.ts +1 -1
  37. package/dist/utils/parsePort.d.ts +1 -0
  38. package/dist/utils/parsePort.js +21 -0
  39. package/dist/utils/parsePort.js.map +1 -0
  40. package/dist-cli/build-db-migrations.js +8 -8
  41. package/dist-cli/cli.js +24 -24
  42. package/eslint.config.cjs +3 -1
  43. package/package.json +8 -6
  44. package/dist/PostgresDatabaseCredentials.js.map +0 -1
  45. package/dist/SchemaVaultsAppEnvironment.js.map +0 -1
  46. package/dist/schemavaults-postgres-neon-proxy-adapter.d.ts +0 -33
  47. package/dist/schemavaults-postgres-neon-proxy-adapter.js.map +0 -1
  48. /package/dist/{PostgresDatabaseCredentials.d.ts → types/PostgresDatabaseCredentials.d.ts} +0 -0
  49. /package/dist/{PostgresDatabaseCredentials.js → types/PostgresDatabaseCredentials.js} +0 -0
  50. /package/dist/{SchemaVaultsAppEnvironment.d.ts → types/SchemaVaultsAppEnvironment.d.ts} +0 -0
  51. /package/dist/{SchemaVaultsAppEnvironment.js → types/SchemaVaultsAppEnvironment.js} +0 -0
package/eslint.config.cjs CHANGED
@@ -42,8 +42,10 @@ module.exports = [
42
42
  "warn",
43
43
  { argsIgnorePattern: "^_" },
44
44
  ],
45
- "@typescript-eslint/no-explicit-any": "warn",
45
+ "@typescript-eslint/no-explicit-any": "off",
46
46
  "@typescript-eslint/no-namespace": "off",
47
+ "@typescript-eslint/no-empty-object-type": "off",
48
+ "no-redeclare": "off",
47
49
  },
48
50
  },
49
51
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@schemavaults/dbh",
3
- "version": "0.8.7",
3
+ "version": "0.10.0",
4
4
  "description": "Easily connect to PostgresDB from serverless environment",
5
5
  "license": "UNLICENSED",
6
6
  "private": false,
@@ -12,13 +12,14 @@
12
12
  "dbh": "dist-cli/cli.js"
13
13
  },
14
14
  "dependencies": {
15
- "kysely": "0.28.10",
15
+ "kysely": "0.29.2",
16
+ "pg": "8.21.0",
16
17
  "kysely-neon": "1.3.0",
17
18
  "@neondatabase/serverless": "1.0.1"
18
19
  },
19
20
  "devDependencies": {
20
21
  "typescript": "5.9.3",
21
- "bun-types": "1.3.6",
22
+ "bun-types": "1.3.14",
22
23
  "tsc-alias": "1.8.16",
23
24
  "eslint": "9.39.1",
24
25
  "@eslint/js": "9.39.1",
@@ -33,9 +34,9 @@
33
34
  "build:pkg": "tsc --project tsconfig.json && tsc-alias --project tsconfig.json",
34
35
  "build:cli": "bun build ./src/cli.ts --outdir dist-cli --format esm --target node --minify && echo '#!/usr/bin/env node' | cat - dist-cli/cli.js > dist-cli/cli.tmp && mv dist-cli/cli.tmp dist-cli/cli.js",
35
36
  "build:build-db-migrations": "bun build ./src/build-db-migrations.ts --outdir dist-cli --format esm --target bun --minify",
36
- "test:unit": "bun test --test-name-pattern 'DBH Init'",
37
+ "test:unit": "bun test ./src/tests/SchemaVaultsPostgresAdapterInit.test.ts && bun test src/tests/SchemaVaultsPostgresNeonProxyAdapterInit.test.ts",
37
38
  "test": "bun run test:unit",
38
- "test:e2e": "bun test ./src/tests/e2e/ConnectToLocalDatabase.test.ts && bun test ./src/tests/e2e/MigrateUpAndDown.test.ts",
39
+ "test:e2e": "bun test ./src/tests/e2e/ConnectToLocalDatabaseWithPostgresAdapter.test.ts && bun test ./src/tests/e2e/ConnectToLocalDatabaseWithPostgresNeonProxyAdapter.test.ts && bun test ./src/tests/e2e/MigrateUpAndDown.test.ts",
39
40
  "test:e2e:cli": "/bin/bash ./tests/run_cli_e2e_tests.sh",
40
41
  "test:build-db-migrations": "/bin/bash ./tests/run_build_example_migrations_test.sh",
41
42
  "cleanup:compiled_tests_in_dist_directory": "find ./dist -type f \\( -name \"*.test.js\" -o -name \"*.test.js.map\" -o -name \"*.test.d.ts\" \\) -delete",
@@ -44,6 +45,7 @@
44
45
  "cleanup": "bun run cleanup:compiled_tests_in_dist_directory && bun run cleanup:rm_tests_dir && bun run cleanup:rm_cli_js_artifacts",
45
46
  "version": "bun run ./scripts/package_version.ts",
46
47
  "lint": "eslint src",
48
+ "typecheck": "tsc --project tsconfig.json --noEmit",
47
49
  "cli": "bun run ./src/cli.ts"
48
50
  },
49
51
  "main": "dist/index.js",
@@ -53,7 +55,7 @@
53
55
  "publishConfig": {
54
56
  "access": "public"
55
57
  },
56
- "packageManager": "bun@1.3.6",
58
+ "packageManager": "bun@1.3.14",
57
59
  "exports": {
58
60
  ".": {
59
61
  "types": "./dist/index.d.ts",
@@ -1 +0,0 @@
1
- {"version":3,"file":"PostgresDatabaseCredentials.js","sourceRoot":"","sources":["../src/PostgresDatabaseCredentials.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SchemaVaultsAppEnvironment.js","sourceRoot":"","sources":["../src/SchemaVaultsAppEnvironment.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAChD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;QACzF,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,33 +0,0 @@
1
- import { Kysely } from "kysely";
2
- import { type SchemaVaultsAppEnvironment } from "./SchemaVaultsAppEnvironment";
3
- import { type WsProxyUrlGenerator } from "./utils/getPostgresNeonWsProxyUrl";
4
- import type { BaseInitializablePostgresDatabaseCredentials } from "./PostgresDatabaseCredentials";
5
- export interface ISchemaVaultsPostgresNeonProxyAdapterConstructorOpts {
6
- /**
7
- * @description SchemaVaultsAppEnvironment.
8
- * @example 'development' 'test' 'staging' 'production'
9
- */
10
- environment: SchemaVaultsAppEnvironment;
11
- /**
12
- * @description PostgresDatabaseCredentials.
13
- * @default loaded from environment variables if not supplied
14
- */
15
- credentials?: BaseInitializablePostgresDatabaseCredentials;
16
- /**
17
- * @description Pass a custom function, it will receive an object containing the 'pg_host' and 'environment' and should output the endpoint of the proxy to use
18
- * @example given { pg_host: 'localhost', environment: 'development' } it might return => 'localhost:5433/v1'
19
- */
20
- wsProxyUrl?: WsProxyUrlGenerator | string;
21
- }
22
- export declare class SchemaVaultsPostgresNeonProxyAdapter<KyselyTablesType extends object> {
23
- private readonly kysely_db;
24
- private readonly env;
25
- private readonly debug;
26
- private static getPostgresNeonWsProxyUrl;
27
- private static parsePort;
28
- constructor({ environment, ...opts }: ISchemaVaultsPostgresNeonProxyAdapterConstructorOpts);
29
- get db(): Kysely<KyselyTablesType>;
30
- destroy(): Promise<void>;
31
- }
32
- export default SchemaVaultsPostgresNeonProxyAdapter;
33
- export type { WsProxyUrlGenerator, IGetPostgresNeonWsProxyUrlOpts, } from "./utils/getPostgresNeonWsProxyUrl";
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemavaults-postgres-neon-proxy-adapter.js","sourceRoot":"","sources":["../src/schemavaults-postgres-neon-proxy-adapter.ts"],"names":[],"mappings":"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"}