postgres-tracked-pool 1.2.1 → 1.2.2
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 +4 -4
- package/dist/TrackedPool.d.ts +2 -2
- package/dist/TrackedPool.d.ts.map +1 -1
- package/dist/TrackedPool.js +6 -4
- package/dist/TrackedPool.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -45,7 +45,7 @@ async function getUserById(userId: string) {
|
|
|
45
45
|
PostgreSQL receives:
|
|
46
46
|
|
|
47
47
|
```sql
|
|
48
|
-
/*
|
|
48
|
+
/*file='.%2Fsrc%2Fuser%2Fservice.ts%3A43%3A10',func_name='getUserById'*/ SELECT * FROM users WHERE id = $1
|
|
49
49
|
```
|
|
50
50
|
|
|
51
51
|
## API
|
|
@@ -100,7 +100,7 @@ log_statement = 'all'
|
|
|
100
100
|
|
|
101
101
|
Log output:
|
|
102
102
|
```
|
|
103
|
-
LOG: statement: /*
|
|
103
|
+
LOG: statement: /*file='.%2Fsrc%2Fanalytics.ts%3A123%3A5',func_name='getRecentData'*/ SELECT time, value FROM metrics WHERE id = $1
|
|
104
104
|
```
|
|
105
105
|
|
|
106
106
|
### pg_stat_statements
|
|
@@ -280,14 +280,14 @@ process.on("SIGTERM", async () => {
|
|
|
280
280
|
|
|
281
281
|
Queries from anonymous functions are labeled as:
|
|
282
282
|
```sql
|
|
283
|
-
/*
|
|
283
|
+
/*file='.%2Fsrc%2Findex.ts%3A123%3A0',func_name='anonymous'*/ SELECT ...
|
|
284
284
|
```
|
|
285
285
|
|
|
286
286
|
### Unknown File Paths
|
|
287
287
|
|
|
288
288
|
If stack traces can't be captured (rare):
|
|
289
289
|
```sql
|
|
290
|
-
/*
|
|
290
|
+
/*file='.%2Funknown%3A0%3A0',func_name='unknown'*/ SELECT ...
|
|
291
291
|
```
|
|
292
292
|
|
|
293
293
|
### Disabling Tracking
|
package/dist/TrackedPool.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import pg from "pg";
|
|
2
2
|
/**
|
|
3
3
|
* A wrapper around pg.Pool that automatically adds tracking comments to SQL queries
|
|
4
|
-
* Comments include: function name, file path, and
|
|
5
|
-
* Example format in SQL: slash-star
|
|
4
|
+
* Comments include: function name, file path, line number, and column number
|
|
5
|
+
* Example format in SQL: slash-star file='.%2FfilePath%3AlineNumber%3AcolumnNumber',func_name='functionName' star-slash
|
|
6
6
|
*/
|
|
7
7
|
export declare class TrackedPool extends pg.Pool {
|
|
8
8
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrackedPool.d.ts","sourceRoot":"","sources":["../src/TrackedPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,EAAE,CAAC,IAAI;IACtC;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;
|
|
1
|
+
{"version":3,"file":"TrackedPool.d.ts","sourceRoot":"","sources":["../src/TrackedPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,EAAE,CAAC,IAAI;IACtC;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAyC1B;;;OAGG;IACH,OAAO,CAAC,aAAa;IA+BrB;;OAEG;IAEH,KAAK,CAAC,iBAAiB,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,GAAG;IAqBhE;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC;IAEjC,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,KAAK,IAAI,GAAG,IAAI;IAoB3H;;OAEG;IACH,OAAO,CAAC,UAAU;CA2BnB"}
|
package/dist/TrackedPool.js
CHANGED
|
@@ -7,8 +7,8 @@ exports.TrackedPool = void 0;
|
|
|
7
7
|
const pg_1 = __importDefault(require("pg"));
|
|
8
8
|
/**
|
|
9
9
|
* A wrapper around pg.Pool that automatically adds tracking comments to SQL queries
|
|
10
|
-
* Comments include: function name, file path, and
|
|
11
|
-
* Example format in SQL: slash-star
|
|
10
|
+
* Comments include: function name, file path, line number, and column number
|
|
11
|
+
* Example format in SQL: slash-star file='.%2FfilePath%3AlineNumber%3AcolumnNumber',func_name='functionName' star-slash
|
|
12
12
|
*/
|
|
13
13
|
class TrackedPool extends pg_1.default.Pool {
|
|
14
14
|
/**
|
|
@@ -22,12 +22,13 @@ class TrackedPool extends pg_1.default.Pool {
|
|
|
22
22
|
return sql;
|
|
23
23
|
}
|
|
24
24
|
// Check if SQL already has a tracking comment (to prevent duplicates)
|
|
25
|
-
if (sql.trim().endsWith("*/") && sql.includes("/*
|
|
25
|
+
if (sql.trim().endsWith("*/") && sql.includes("/*file='")) {
|
|
26
26
|
return sql;
|
|
27
27
|
}
|
|
28
28
|
const functionName = callSite.getFunctionName() || callSite.getMethodName() || "anonymous";
|
|
29
29
|
const fileName = callSite.getFileName() || "unknown";
|
|
30
30
|
const lineNumber = callSite.getLineNumber() || 0;
|
|
31
|
+
const columnNumber = callSite.getColumnNumber() || 0;
|
|
31
32
|
// Extract relative path from file name (remove workspace path prefix and node_modules)
|
|
32
33
|
let relativePath = fileName;
|
|
33
34
|
// First, try to match workspace folders
|
|
@@ -49,7 +50,8 @@ class TrackedPool extends pg_1.default.Pool {
|
|
|
49
50
|
// Fallback: just use the filename without full path
|
|
50
51
|
relativePath = fileName.split("/").pop() || fileName;
|
|
51
52
|
}
|
|
52
|
-
const
|
|
53
|
+
const filePath = `./${relativePath}:${lineNumber}:${columnNumber}`;
|
|
54
|
+
const comment = `/*file='${encodeURIComponent(filePath)}',func_name='${functionName}'*/`;
|
|
53
55
|
return sql.trim() + " " + comment;
|
|
54
56
|
}
|
|
55
57
|
/**
|
package/dist/TrackedPool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrackedPool.js","sourceRoot":"","sources":["../src/TrackedPool.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AAEpB;;;;GAIG;AACH,MAAa,WAAY,SAAQ,YAAE,CAAC,IAAI;IACtC;;;;;OAKG;IACK,kBAAkB,CAAC,GAAW,EAAE,QAA0B;QAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,GAAG,CAAC;QACb,CAAC;QAED,sEAAsE;QACtE,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"TrackedPool.js","sourceRoot":"","sources":["../src/TrackedPool.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "postgres-tracked-pool",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.2",
|
|
4
4
|
"description": "A PostgreSQL connection pool wrapper that automatically adds tracking comments to SQL queries with function name, file path, and line number",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -33,9 +33,9 @@
|
|
|
33
33
|
"url": "https://github.com/Luke-6723/TrackedPool"
|
|
34
34
|
},
|
|
35
35
|
"bugs": {
|
|
36
|
-
"url": "https://github.com/
|
|
36
|
+
"url": "https://github.com/Luke-6723/TrackedPool/issues"
|
|
37
37
|
},
|
|
38
|
-
"homepage": "https://github.com/
|
|
38
|
+
"homepage": "https://github.com/Luke-6723/TrackedPool#readme",
|
|
39
39
|
"peerDependencies": {
|
|
40
40
|
"pg": "^8.0.0"
|
|
41
41
|
},
|