@hugomrdias/foxer 0.2.2 → 0.2.4

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.
@@ -1,2 +1,2 @@
1
1
  $ tsc --noEmit && biome check .
2
- Checked 53 files in 78ms. No fixes applied.
2
+ Checked 53 files in 99ms. No fixes applied.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.2.4](https://github.com/hugomrdias/foxer/compare/foxer-v0.2.3...foxer-v0.2.4) (2026-03-27)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * improve error serialization in logger utility ([4a6164d](https://github.com/hugomrdias/foxer/commit/4a6164d7794a4a9feb1a3baaf139fb720c2018e0))
9
+
10
+ ## [0.2.3](https://github.com/hugomrdias/foxer/compare/foxer-v0.2.2...foxer-v0.2.3) (2026-03-26)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * enhance Postgres configuration in README and add logger to database creation ([7e5b3e0](https://github.com/hugomrdias/foxer/commit/7e5b3e006580b9daa83069aaa5841b6ddb18bd84))
16
+ * remove tables check for blockNumber ([0384507](https://github.com/hugomrdias/foxer/commit/03845078eb322109835be316102ac32b2134f6d9))
17
+
3
18
  ## [0.2.2](https://github.com/hugomrdias/foxer/compare/foxer-v0.2.1...foxer-v0.2.2) (2026-03-23)
4
19
 
5
20
 
package/README.md CHANGED
@@ -94,35 +94,61 @@ The dev server also looks for `.env.local` in the project root.
94
94
 
95
95
  ## Postgres recommendations
96
96
 
97
- Foxer supports both `pglite` and Postgres, but production deployments should use Postgres when you need higher write throughput, concurrent reads, or live SQL subscriptions.
97
+ Foxer supports both `pglite` and Postgres, but production deployments should use Postgres when you need higher write throughput, concurrent reads, or Live SQL subscriptions.
98
98
 
99
- Live SQL requires logical replication to be enabled because Foxer creates a publication and subscribes to table changes at runtime.
99
+ ### Required for Postgres mode
100
100
 
101
- Recommended Postgres settings for a dedicated Foxer instance:
101
+ Foxer currently checks for logical WAL during startup and creates a publication for application tables at runtime, so this setting is required when using Postgres:
102
102
 
103
103
  ```conf
104
104
  wal_level = logical
105
- max_wal_senders = 8
106
- max_replication_slots = 8
105
+ ```
106
+
107
+ ### Recommended defaults for a dedicated Foxer instance
108
+
109
+ These are good starting points for a production Foxer deployment on SSD or NVMe storage:
110
+
111
+ ```conf
112
+ wal_level = logical
113
+ max_wal_senders = 4
114
+ max_replication_slots = 4
107
115
  wal_compression = on
108
116
  checkpoint_timeout = 15min
109
117
  checkpoint_completion_target = 0.9
110
- max_wal_size = 8GB
118
+ max_wal_size = 2GB
111
119
  min_wal_size = 1GB
112
120
  random_page_cost = 1.1
113
121
  effective_io_concurrency = 200
114
122
  default_statistics_target = 200
115
123
  ```
116
124
 
117
- If you treat the chain as the source of truth and can tolerate replaying the most recent blocks after a crash, `synchronous_commit = off` is a valid ingest-speed optimization.
125
+ Notes:
126
+
127
+ - `max_wal_senders` and `max_replication_slots` are headroom settings for Foxer's logical replication usage. Increase them if you run multiple Foxer instances or additional replication consumers.
128
+ - `random_page_cost = 1.1` and `effective_io_concurrency = 200` assume fast SSD or NVMe storage. Use more conservative values on slower disks.
129
+ - `default_statistics_target = 200` improves planner quality for ad hoc SQL queries, at the cost of slightly more `ANALYZE` work.
130
+
131
+ ### Durability vs ingest speed
118
132
 
119
- Memory settings depend on the machine. A good starting point is:
133
+ If you treat the chain as the source of truth and can tolerate replaying the most recent blocks after a crash, this is a valid ingest-speed optimization:
120
134
 
121
- - `shared_buffers`: about 25% of RAM
122
- - `effective_cache_size`: about 60-75% of RAM
123
- - `work_mem`: `16MB`
135
+ ```conf
136
+ synchronous_commit = off
137
+ ```
138
+
139
+ If you need full durability for every acknowledged write, keep `synchronous_commit = on`.
140
+
141
+ ### Memory starting points
142
+
143
+ Memory settings depend on the machine. For an `8-16GB` dedicated host, a good starting point is:
144
+
145
+ - `shared_buffers`: `2GB`
146
+ - `effective_cache_size`: `6GB`
147
+ - `work_mem`: `8MB`
124
148
  - `maintenance_work_mem`: `512MB`
125
149
 
150
+ For smaller hosts, reduce `shared_buffers` and `effective_cache_size` first. For larger hosts, increase them gradually based on actual query patterns and cache hit rates.
151
+
126
152
  Foxer now defaults the Node Postgres pool to:
127
153
 
128
154
  - `application_name: 'foxer'`
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/bin/dev.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,OAAO,EAAW,MAAM,OAAO,CAAA;AAe7C,eAAO,MAAM,GAAG,EAAE,OAsEjB,CAAA"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/bin/dev.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,OAAO,EAAW,MAAM,OAAO,CAAA;AAe7C,eAAO,MAAM,GAAG,EAAE,OAuEjB,CAAA"}
package/dist/bin/dev.js CHANGED
@@ -34,6 +34,7 @@ export const dev = command({
34
34
  const config = await loadConfig(logger, argv.flags.root, argv.flags.config);
35
35
  const dbContext = createDatabase({
36
36
  env,
37
+ logger,
37
38
  schema: { ...config.schema, ...InternalSchema.schema },
38
39
  relations: { ...config.relations, ...InternalSchema.relations },
39
40
  });
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/bin/dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/bin/dev.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/bin/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAW,MAAM,OAAO,CAAA;AAY7C,eAAO,MAAM,KAAK,EAAE,OAoDnB,CAAA"}
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/bin/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAW,MAAM,OAAO,CAAA;AAY7C,eAAO,MAAM,KAAK,EAAE,OAqDnB,CAAA"}
package/dist/bin/serve.js CHANGED
@@ -28,6 +28,7 @@ export const serve = command({
28
28
  const config = await loadConfig(logger, argv.flags.root, argv.flags.config);
29
29
  const dbContext = createDatabase({
30
30
  env,
31
+ logger,
31
32
  schema: { ...config.schema, ...InternalSchema.schema },
32
33
  relations: { ...config.relations, ...InternalSchema.relations },
33
34
  });
@@ -1 +1 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/bin/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,OAAO,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC,MAAM,CAAC,MAAM,KAAK,GAAY,OAAO,CACnC;IACE,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,EAAE,GAAG,WAAW,EAAE;IACzB,IAAI,EAAE;QACJ,WAAW,EAAE,uDAAuD;KACrE;CACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;IACb,MAAM,MAAM,GAAG,YAAY,CAAC;QAC1B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;QAC1B,IAAI,EAAE,MAAM;KACb,CAAC,CAAA;IAEF,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAA;QAC5D,YAAY,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;QAC7B,MAAM,MAAM,GAAG,MAAM,UAAU,CAC7B,MAAM,EACN,IAAI,CAAC,KAAK,CAAC,IAAI,EACf,IAAI,CAAC,KAAK,CAAC,MAAM,CAClB,CAAA;QAED,MAAM,SAAS,GAAG,cAAc,CAAC;YAC/B,GAAG;YACH,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE;YACtD,SAAS,EAAE,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,GAAG,cAAc,CAAC,SAAS,EAAE;SAChE,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,SAAS,CAAC;YACpB,EAAE,EAAE,SAAS,CAAC,EAAE;YAChB,MAAM;YACN,MAAM;YACN,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;SACtB,CAAC,CAAA;QAEF,UAAU,CAAC;YACT,MAAM;YACN,IAAI,EAAE,KAAK,IAAI,EAAE;gBACf,GAAG,CAAC,IAAI,EAAE,CAAA;gBACV,MAAM,SAAS,CAAC,IAAI,EAAE,CAAA;YACxB,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,wBAAwB,CAAC,CAAA;QACjD,YAAY,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CACF,CAAA"}
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/bin/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,OAAO,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC,MAAM,CAAC,MAAM,KAAK,GAAY,OAAO,CACnC;IACE,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,EAAE,GAAG,WAAW,EAAE;IACzB,IAAI,EAAE;QACJ,WAAW,EAAE,uDAAuD;KACrE;CACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;IACb,MAAM,MAAM,GAAG,YAAY,CAAC;QAC1B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;QAC1B,IAAI,EAAE,MAAM;KACb,CAAC,CAAA;IAEF,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAA;QAC5D,YAAY,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;QAC7B,MAAM,MAAM,GAAG,MAAM,UAAU,CAC7B,MAAM,EACN,IAAI,CAAC,KAAK,CAAC,IAAI,EACf,IAAI,CAAC,KAAK,CAAC,MAAM,CAClB,CAAA;QAED,MAAM,SAAS,GAAG,cAAc,CAAC;YAC/B,GAAG;YACH,MAAM;YACN,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE;YACtD,SAAS,EAAE,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,GAAG,cAAc,CAAC,SAAS,EAAE;SAChE,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,SAAS,CAAC;YACpB,EAAE,EAAE,SAAS,CAAC,EAAE;YAChB,MAAM;YACN,MAAM;YACN,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;SACtB,CAAC,CAAA;QAEF,UAAU,CAAC;YACT,MAAM;YACN,IAAI,EAAE,KAAK,IAAI,EAAE;gBACf,GAAG,CAAC,IAAI,EAAE,CAAA;gBACV,MAAM,SAAS,CAAC,IAAI,EAAE,CAAA;YACxB,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,wBAAwB,CAAC,CAAA;QACjD,YAAY,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CACF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/bin/start.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAW,MAAM,OAAO,CAAA;AAe7C,eAAO,MAAM,KAAK,EAAE,OAqEnB,CAAA"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/bin/start.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAW,MAAM,OAAO,CAAA;AAe7C,eAAO,MAAM,KAAK,EAAE,OAsEnB,CAAA"}
package/dist/bin/start.js CHANGED
@@ -32,6 +32,7 @@ export const start = command({
32
32
  const config = await loadConfig(logger, argv.flags.root, argv.flags.config);
33
33
  const dbContext = createDatabase({
34
34
  env,
35
+ logger,
35
36
  schema: { ...config.schema, ...InternalSchema.schema },
36
37
  relations: { ...config.relations, ...InternalSchema.relations },
37
38
  });
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/bin/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/bin/start.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import type { AnyRelations, EmptyRelations } from 'drizzle-orm/relations';
5
5
  import { Pool } from 'pg';
6
6
  import type { DatabaseConfig } from '../config/config.ts';
7
7
  import type { Env } from '../config/env.ts';
8
+ import type { Logger } from '../utils/logger.ts';
8
9
  import { type relations, schema } from './schema/index.ts';
9
10
  export type Database<TSchema extends Record<string, unknown> = Record<string, unknown>, TRelations extends AnyRelations = EmptyRelations> = (PgliteDatabase<TSchema, TRelations> & {
10
11
  $client: PGlite;
@@ -32,11 +33,12 @@ export type DatabaseContext<TSchema extends Record<string, unknown> = Record<str
32
33
  /**
33
34
  * Creates a typed Drizzle database context for either Postgres or PGlite.
34
35
  */
35
- export declare function createDatabase<TSchema extends Record<string, unknown> = Record<string, unknown>, TRelations extends AnyRelations = EmptyRelations>({ env, config, schema, relations, }: {
36
+ export declare function createDatabase<TSchema extends Record<string, unknown> = Record<string, unknown>, TRelations extends AnyRelations = EmptyRelations>({ env, config, schema, relations, logger, }: {
36
37
  env: Env;
37
38
  config?: DatabaseConfig;
38
39
  schema: TSchema;
39
40
  relations: TRelations;
41
+ logger: Logger;
40
42
  }): DatabaseContext<TSchema, TRelations>;
41
43
  declare function generatePrepared(db: Omit<Database<typeof schema, typeof relations>, '$prepared'>): {
42
44
  getLatestBlock: import("drizzle-orm/pg-core").PgAsyncSelectPrepare<import("drizzle-orm/pg-core").PgAsyncSelectBase<"blocks", {
@@ -303,6 +305,7 @@ declare function generatePrepared(db: Omit<Database<typeof schema, typeof relati
303
305
  totalDifficulty: bigint | null;
304
306
  extraData: `0x${string}`;
305
307
  transactions: {
308
+ type: "legacy" | "eip1559" | "eip2930" | "eip4844" | "eip7702";
306
309
  input: `0x${string}`;
307
310
  hash: `0x${string}`;
308
311
  nonce: number;
@@ -315,7 +318,6 @@ declare function generatePrepared(db: Omit<Database<typeof schema, typeof relati
315
318
  r: `0x${string}`;
316
319
  s: `0x${string}`;
317
320
  v: bigint;
318
- type: "legacy" | "eip1559" | "eip2930" | "eip4844" | "eip7702";
319
321
  gas: bigint;
320
322
  gasPrice: bigint | null;
321
323
  maxFeePerGas: bigint | null;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/db/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/db/client.ts"],"names":[],"mappings":"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"}
package/dist/db/client.js CHANGED
@@ -7,7 +7,7 @@ import { schema } from "./schema/index.js";
7
7
  /**
8
8
  * Creates a typed Drizzle database context for either Postgres or PGlite.
9
9
  */
10
- export function createDatabase({ env, config, schema, relations, }) {
10
+ export function createDatabase({ env, config, schema, relations, logger, }) {
11
11
  let driver = 'pglite';
12
12
  let url;
13
13
  let options;
@@ -30,6 +30,9 @@ export function createDatabase({ env, config, schema, relations, }) {
30
30
  connectionString: url,
31
31
  ...options,
32
32
  });
33
+ pool.on('error', (err) => {
34
+ logger.error({ err }, 'postgres pool error');
35
+ });
33
36
  const db = drizzleNodePostgres({
34
37
  client: pool,
35
38
  relations: relations,
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/db/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/db/client.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ export async function runMigrations({ dbContext, folder, logger, }) {
25
25
  // get tables to migrate
26
26
  const tables = Object.keys(dbContext.db._.fullSchema).filter((table) => !FOXER_TABLES.includes(table));
27
27
  // assert tables have blockNumber column and index
28
- assertTablesHaveBlockNumberIndex(dbContext.db._.fullSchema, tables);
28
+ // assertTablesHaveBlockNumberIndex(dbContext.db._.fullSchema, tables)
29
29
  // create publications
30
30
  await createPublications(db, tables);
31
31
  logger.info({ driver, duration: endClock() }, 'migrations applied');
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/db/migrate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/db/migrate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAqB,eAAe,EAAE,MAAM,MAAM,CAAA;AAC9D,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAKzC,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAA;AACvC,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAA;AAChD,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAA;AAEpD,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,IAAI,GACL,EAAE;IACD,KAAK,EAAE,QAAQ,CAAA;IACf,IAAI,EAAE,OAAO,CAAA;CACd,+BAqCA"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAqB,eAAe,EAAE,MAAM,MAAM,CAAA;AAC9D,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAKzC,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAA;AACvC,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAA;AAChD,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAA;AAEpD,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,IAAI,GACL,EAAE;IACD,KAAK,EAAE,QAAQ,CAAA;IACf,IAAI,EAAE,OAAO,CAAA;CACd,+BAkDA"}
@@ -12,10 +12,20 @@ export function createLogger({ level, mode, }) {
12
12
  },
13
13
  };
14
14
  const errorSerializer = pino.stdSerializers.wrapErrorSerializer((error) => {
15
- error.meta = Array.isArray(error.meta) ? error.meta.join('\n') : error.meta;
16
- // @ts-expect-error - type is not defined in the error serializer
17
- error.type = undefined;
18
- return error;
15
+ const extra = {};
16
+ const meta = Array.isArray(error.meta) ? error.meta.join('\n') : error.meta;
17
+ if (meta) {
18
+ extra.meta = meta;
19
+ }
20
+ if (error.raw.cause) {
21
+ extra.cause = error.raw.cause;
22
+ }
23
+ return {
24
+ message: error.message,
25
+ stack: error.stack,
26
+ type: error.constructor.name,
27
+ ...extra,
28
+ };
19
29
  });
20
30
  let logger;
21
31
  if (mode === 'pretty') {
@@ -31,6 +41,9 @@ export function createLogger({ level, mode, }) {
31
41
  else {
32
42
  logger = pino({
33
43
  level,
44
+ serializers: {
45
+ error: errorSerializer,
46
+ },
34
47
  // Removes "pid" and "hostname" properties from the log.
35
48
  base: undefined,
36
49
  });
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hugomrdias/foxer",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "Foxer is a all-in-one application server for Filecoin.",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "author": "Hugo Dias <hugomrdias@gmail.com>",
package/src/bin/dev.ts CHANGED
@@ -46,6 +46,7 @@ export const dev: Command = command(
46
46
 
47
47
  const dbContext = createDatabase({
48
48
  env,
49
+ logger,
49
50
  schema: { ...config.schema, ...InternalSchema.schema },
50
51
  relations: { ...config.relations, ...InternalSchema.relations },
51
52
  })
package/src/bin/serve.ts CHANGED
@@ -39,6 +39,7 @@ export const serve: Command = command(
39
39
 
40
40
  const dbContext = createDatabase({
41
41
  env,
42
+ logger,
42
43
  schema: { ...config.schema, ...InternalSchema.schema },
43
44
  relations: { ...config.relations, ...InternalSchema.relations },
44
45
  })
package/src/bin/start.ts CHANGED
@@ -44,6 +44,7 @@ export const start: Command = command(
44
44
 
45
45
  const dbContext = createDatabase({
46
46
  env,
47
+ logger,
47
48
  schema: { ...config.schema, ...InternalSchema.schema },
48
49
  relations: { ...config.relations, ...InternalSchema.relations },
49
50
  })
package/src/db/client.ts CHANGED
@@ -13,6 +13,7 @@ import { Pool, type PoolConfig } from 'pg'
13
13
 
14
14
  import type { DatabaseConfig } from '../config/config.ts'
15
15
  import type { Env } from '../config/env.ts'
16
+ import type { Logger } from '../utils/logger.ts'
16
17
  import { type relations, schema } from './schema/index.ts'
17
18
 
18
19
  export type Database<
@@ -62,11 +63,13 @@ export function createDatabase<
62
63
  config,
63
64
  schema,
64
65
  relations,
66
+ logger,
65
67
  }: {
66
68
  env: Env
67
69
  config?: DatabaseConfig
68
70
  schema: TSchema
69
71
  relations: TRelations
72
+ logger: Logger
70
73
  }): DatabaseContext<TSchema, TRelations> {
71
74
  let driver: string = 'pglite'
72
75
  let url: string | undefined
@@ -91,6 +94,9 @@ export function createDatabase<
91
94
  connectionString: url,
92
95
  ...options,
93
96
  })
97
+ pool.on('error', (err) => {
98
+ logger.error({ err }, 'postgres pool error')
99
+ })
94
100
  const db = drizzleNodePostgres({
95
101
  client: pool,
96
102
  relations: relations,
package/src/db/migrate.ts CHANGED
@@ -41,7 +41,7 @@ export async function runMigrations({
41
41
  (table) => !FOXER_TABLES.includes(table)
42
42
  )
43
43
  // assert tables have blockNumber column and index
44
- assertTablesHaveBlockNumberIndex(dbContext.db._.fullSchema, tables)
44
+ // assertTablesHaveBlockNumberIndex(dbContext.db._.fullSchema, tables)
45
45
 
46
46
  // create publications
47
47
  await createPublications(db, tables)
@@ -26,10 +26,20 @@ export function createLogger({
26
26
  },
27
27
  }
28
28
  const errorSerializer = pino.stdSerializers.wrapErrorSerializer((error) => {
29
- error.meta = Array.isArray(error.meta) ? error.meta.join('\n') : error.meta
30
- // @ts-expect-error - type is not defined in the error serializer
31
- error.type = undefined
32
- return error
29
+ const extra: Record<string, unknown> = {}
30
+ const meta = Array.isArray(error.meta) ? error.meta.join('\n') : error.meta
31
+ if (meta) {
32
+ extra.meta = meta
33
+ }
34
+ if (error.raw.cause) {
35
+ extra.cause = error.raw.cause
36
+ }
37
+ return {
38
+ message: error.message,
39
+ stack: error.stack,
40
+ type: error.constructor.name,
41
+ ...extra,
42
+ }
33
43
  })
34
44
  let logger: pino.Logger
35
45
 
@@ -48,6 +58,9 @@ export function createLogger({
48
58
  } else {
49
59
  logger = pino({
50
60
  level,
61
+ serializers: {
62
+ error: errorSerializer,
63
+ },
51
64
  // Removes "pid" and "hostname" properties from the log.
52
65
  base: undefined,
53
66
  })