Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
const http = require('http')
const server = http.createServer(handle)

const logger = require('./')({
const logger = require('..')({
quietReqLogger: true,
transport: {
target: 'pino-http-print',
Expand Down
2 changes: 1 addition & 1 deletion example.js β†’ examples/example.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
const http = require('http')
const server = http.createServer(handle)

const logger = require('./')()
const logger = require('../types')()

function handle (req, res) {
logger(req, res)
Expand Down
29 changes: 0 additions & 29 deletions import.test-d.ts

This file was deleted.

File renamed without changes.
17 changes: 9 additions & 8 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
"name": "pino-http",
"version": "11.0.0",
"description": "High-speed HTTP logger for Node.js",
"main": "logger.js",
"types": "index.d.ts",
"main": "index.js",
"types": "types/index.d.ts",
"dependencies": {
"get-caller-file": "^2.0.5",
"pino": "^10.0.0",
Expand All @@ -23,14 +23,15 @@
"pino-pretty": "^13.0.0",
"split2": "^4.0.0",
"ts-node": "^10.3.0",
"tsd": "^0.33.0",
"typescript": "~5.9.2"
"tstyche": "^7.0.0",
"typescript": "~6.0.2"
},
"scripts": {
"benchmark": "bash ./scripts/benchmark-all",
"test": "eslint && c8 node --test && npm run test-types",
"fix": "eslint --fix",
"test-types": "tsc && tsd && ts-node *.test-d.ts "
"test": "npm run lint && c8 node --test && npm run test-types",
"lint": "eslint .",
"lint:fix": "eslint --fix",
"test-types": "tstyche"
},
"author": "David Mark Clements",
"contributors": [
Expand All @@ -45,4 +46,4 @@
"url": "https://github.com/pinojs/pino-http/issues"
},
"homepage": "https://github.com/pinojs/pino-http#readme"
}
}
2 changes: 1 addition & 1 deletion test/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ test('add transport.caller information when missing', function () {

const logger = pinoHttp(options)
logger.logger.info('hello world')
assert.equal(options.transport.caller, join(__dirname, '../logger.js'), 'caller is set')
assert.equal(options.transport.caller, join(__dirname, '../index.js'), 'caller is set')
})

test('exposes the internal pino', function (t, end) {
Expand Down
2 changes: 1 addition & 1 deletion test/transport-integration.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ const tspl = require('@matteo.collina/tspl')
test('custom format transport', async function (t) {
const plan = tspl(t, { plan: 2 })

const ls = spawn('node', [join(__dirname, '../example-custom-format.js')], {
const ls = spawn('node', [join(__dirname, '../examples/example-custom-format.js')], {
cwd: process.cwd()
})
ls.stdout.setEncoding('utf8')
Expand Down
17 changes: 7 additions & 10 deletions tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
{
"compilerOptions": {
"target": "es6",
"target": "es2022",
"lib": ["es2022"],
"esModuleInterop": true,
"lib": [ "es2015" ],
"module": "commonjs",
"module": "node16",
"moduleResolution": "node16",
"noEmit": true,
"strict": true,
"moduleResolution": "node",
"strict": true
},
"include": [
"./*.test-d.ts",
"./*.d.ts"
]
}
"include": ["./types/*.tst.ts", "./types/*.d.ts"]
}
34 changes: 34 additions & 0 deletions types/import.tst.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import { expect } from 'tstyche';
import { IncomingMessage, ServerResponse } from 'http';
import pino from 'pino';
import pinoHttp, { GenReqId, HttpLogger } from '.';
import { pinoHttp as pinoHttpNamed } from '.';
import * as pinoHttpStar from '.';
import pinoHttpCjsImport = require('.');
const pinoHttpCjs = require('.');
const { pinoHttp: pinoHttpCjsNamed } = require('.');

const logger = pino();

expect(pinoHttp({ logger })).type.toBe<HttpLogger>();
expect(
pinoHttp({
customSuccessMessage(req, res, responseTime) {
return `${responseTime}`;
}
})
).type.toBe<HttpLogger>();
expect(pinoHttpNamed()).type.toBe<HttpLogger>();
expect(pinoHttpStar.default()).type.toBe<HttpLogger>();
expect(pinoHttpStar.pinoHttp()).type.toBe<HttpLogger>();
expect(pinoHttpCjsImport.default()).type.toBe<HttpLogger>();
expect(pinoHttpCjsImport.pinoHttp()).type.toBe<HttpLogger>();
expect(pinoHttpCjs()).type.toBe<any>();
expect(pinoHttpCjsNamed()).type.toBe<any>();

expect<GenReqId>().type.not.toBeAssignableTo<
(_req: IncomingMessage, _res: ServerResponse) => Buffer
>();
expect<GenReqId>().type.not.toBeAssignableTo<
(_req: IncomingMessage, _res: ServerResponse) => { id: string }
>();
File renamed without changes.
11 changes: 5 additions & 6 deletions index.test-d.ts β†’ types/index.tst.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { Socket } from 'net';
import pino from 'pino';
import { Writable } from 'stream';
import { err, req, res } from 'pino-std-serializers';
import pinoHttp, { AutoLoggingOptions, CustomAttributeKeys, GenReqId, HttpLogger, Options, ReqId, startTime, StdSerializers, StdSerializedResults } from '.';
import pinoHttp, { AutoLoggingOptions, CustomAttributeKeys, GenReqId, HttpLogger, Options, ReqId, startTime, StdSerializers, StdSerializedResults } from '..';

interface CustomRequest extends IncomingMessage {
context: number;
Expand Down Expand Up @@ -119,15 +119,14 @@ const genReqId: GenReqId = () => {
const autoLoggingOptions = (() => {
let rtn: AutoLoggingOptions | boolean = true;
if (rand()) {
rtn = {
ignore: canBeUndefined(() => true),
};
rtn = rand() ? { ignore: () => true } : {};
} else if (rand()) {
rtn = false;
}
return rtn;
})();


const customAttributeKeys: CustomAttributeKeys = {
req: canBeUndefined('req'),
res: canBeUndefined('res'),
Expand Down Expand Up @@ -196,12 +195,12 @@ const stdSerializedResults: StdSerializedResults = {
const httpServerListener: RequestListener = (request, response) => {
// req.log and req.id should be available
request.log.info(`Request received with request ID ${request.id}`);
request.allLogs[0].info("Request Received");
request.allLogs[0]!.info("Request Received");
// res[startTime] should be available
response[startTime] = Date.now();
// res.log and res.allLogs should be available
response.log.info("Logging works on response");
request.allLogs[0].info("allLogs available on response");
request.allLogs[0]!.info("allLogs available on response");
response.end("Hello world");
};

Expand Down