pino-testkit 10.4.5
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/.nojekyll +0 -0
- package/.prettierignore +1 -0
- package/CNAME +1 -0
- package/CONTRIBUTING.md +30 -0
- package/LICENSE +21 -0
- package/README.md +175 -0
- package/SECURITY.md +87 -0
- package/benchmarks/basic.bench.js +95 -0
- package/benchmarks/child-child.bench.js +52 -0
- package/benchmarks/child-creation.bench.js +73 -0
- package/benchmarks/child.bench.js +62 -0
- package/benchmarks/deep-object.bench.js +88 -0
- package/benchmarks/formatters.bench.js +50 -0
- package/benchmarks/internal/custom-levels.js +67 -0
- package/benchmarks/internal/just-pino-heavy.bench.js +76 -0
- package/benchmarks/internal/just-pino.bench.js +182 -0
- package/benchmarks/internal/parent-vs-child.bench.js +75 -0
- package/benchmarks/internal/redact.bench.js +86 -0
- package/benchmarks/long-string.bench.js +81 -0
- package/benchmarks/multi-arg.bench.js +193 -0
- package/benchmarks/multistream.js +98 -0
- package/benchmarks/object.bench.js +82 -0
- package/benchmarks/utils/generate-benchmark-doc.js +36 -0
- package/benchmarks/utils/runbench.js +138 -0
- package/benchmarks/utils/wrap-log-level.js +55 -0
- package/bin.js +6 -0
- package/browser.js +547 -0
- package/build/sync-version.js +25 -0
- package/docs/api.md +1593 -0
- package/docs/asynchronous.md +40 -0
- package/docs/benchmarks.md +55 -0
- package/docs/browser.md +278 -0
- package/docs/bundling.md +40 -0
- package/docs/child-loggers.md +95 -0
- package/docs/diagnostics.md +16 -0
- package/docs/ecosystem.md +86 -0
- package/docs/help.md +345 -0
- package/docs/lts.md +64 -0
- package/docs/pretty.md +35 -0
- package/docs/redaction.md +135 -0
- package/docs/transports.md +1376 -0
- package/docs/web.md +309 -0
- package/eslint.config.js +28 -0
- package/examples/basic.js +43 -0
- package/examples/transport.js +68 -0
- package/favicon.ico +0 -0
- package/file.js +12 -0
- package/inc-version.sh +42 -0
- package/index.html +55 -0
- package/lib/caller.js +30 -0
- package/lib/constants.js +28 -0
- package/lib/contract.js +8 -0
- package/lib/deprecations.js +8 -0
- package/lib/levels.js +241 -0
- package/lib/meta.js +3 -0
- package/lib/multistream.js +203 -0
- package/lib/proto.js +256 -0
- package/lib/redaction.js +114 -0
- package/lib/symbols.js +74 -0
- package/lib/time.js +39 -0
- package/lib/tools.js +427 -0
- package/lib/transport-stream.js +56 -0
- package/lib/transport.js +289 -0
- package/lib/worker.js +194 -0
- package/package.json +119 -0
- package/pino.d.ts +908 -0
- package/pino.js +240 -0
- package/test/basic.test.js +886 -0
- package/test/broken-pipe.test.js +59 -0
- package/test/browser-child.test.js +132 -0
- package/test/browser-disabled.test.js +87 -0
- package/test/browser-early-console-freeze.test.js +12 -0
- package/test/browser-is-level-enabled.test.js +101 -0
- package/test/browser-levels.test.js +241 -0
- package/test/browser-serializers.test.js +352 -0
- package/test/browser-timestamp.test.js +88 -0
- package/test/browser-transmit.test.js +417 -0
- package/test/browser.test.js +698 -0
- package/test/complex-objects.test.js +36 -0
- package/test/crlf.test.js +34 -0
- package/test/custom-levels.test.js +267 -0
- package/test/diagnostics.test.js +107 -0
- package/test/error-key.test.js +37 -0
- package/test/error.test.js +403 -0
- package/test/escaping.test.js +93 -0
- package/test/esm/esm.mjs +14 -0
- package/test/esm/index.test.js +21 -0
- package/test/esm/named-exports.mjs +29 -0
- package/test/exit.test.js +79 -0
- package/test/fixtures/broken-pipe/basic.js +9 -0
- package/test/fixtures/broken-pipe/destination.js +10 -0
- package/test/fixtures/broken-pipe/syncfalse.js +12 -0
- package/test/fixtures/console-transport.js +13 -0
- package/test/fixtures/crashing-transport.js +13 -0
- package/test/fixtures/default-exit.js +8 -0
- package/test/fixtures/destination-exit.js +8 -0
- package/test/fixtures/eval/index.js +13 -0
- package/test/fixtures/eval/node_modules/14-files.js +3 -0
- package/test/fixtures/eval/node_modules/2-files.js +3 -0
- package/test/fixtures/eval/node_modules/file1.js +5 -0
- package/test/fixtures/eval/node_modules/file10.js +5 -0
- package/test/fixtures/eval/node_modules/file11.js +5 -0
- package/test/fixtures/eval/node_modules/file12.js +5 -0
- package/test/fixtures/eval/node_modules/file13.js +5 -0
- package/test/fixtures/eval/node_modules/file14.js +11 -0
- package/test/fixtures/eval/node_modules/file2.js +5 -0
- package/test/fixtures/eval/node_modules/file3.js +5 -0
- package/test/fixtures/eval/node_modules/file4.js +5 -0
- package/test/fixtures/eval/node_modules/file5.js +5 -0
- package/test/fixtures/eval/node_modules/file6.js +5 -0
- package/test/fixtures/eval/node_modules/file7.js +5 -0
- package/test/fixtures/eval/node_modules/file8.js +5 -0
- package/test/fixtures/eval/node_modules/file9.js +5 -0
- package/test/fixtures/noop-transport.js +10 -0
- package/test/fixtures/pretty/null-prototype.js +8 -0
- package/test/fixtures/stdout-hack-protection.js +11 -0
- package/test/fixtures/syncfalse-child.js +6 -0
- package/test/fixtures/syncfalse-exit.js +9 -0
- package/test/fixtures/syncfalse-flush-exit.js +10 -0
- package/test/fixtures/syncfalse.js +6 -0
- package/test/fixtures/syntax-error-esm.mjs +2 -0
- package/test/fixtures/to-file-transport-with-transform.js +20 -0
- package/test/fixtures/to-file-transport.js +13 -0
- package/test/fixtures/to-file-transport.mjs +8 -0
- package/test/fixtures/transport/index.js +12 -0
- package/test/fixtures/transport/package.json +5 -0
- package/test/fixtures/transport-exit-immediately-with-async-dest.js +16 -0
- package/test/fixtures/transport-exit-immediately.js +11 -0
- package/test/fixtures/transport-exit-on-ready.js +12 -0
- package/test/fixtures/transport-invalid-node-options.js +26 -0
- package/test/fixtures/transport-main.js +9 -0
- package/test/fixtures/transport-many-lines.js +29 -0
- package/test/fixtures/transport-preload-main.mjs +13 -0
- package/test/fixtures/transport-preload.mjs +13 -0
- package/test/fixtures/transport-string-stdout.js +9 -0
- package/test/fixtures/transport-transform.js +21 -0
- package/test/fixtures/transport-uses-pino-config.js +33 -0
- package/test/fixtures/transport-with-on-exit.js +12 -0
- package/test/fixtures/transport-worker-data.js +19 -0
- package/test/fixtures/transport-worker-name.js +24 -0
- package/test/fixtures/transport-worker.js +15 -0
- package/test/fixtures/transport-wrong-export-type.js +3 -0
- package/test/fixtures/ts/to-file-transport-native.mts +15 -0
- package/test/fixtures/ts/to-file-transport-with-transform.ts +18 -0
- package/test/fixtures/ts/to-file-transport.ts +11 -0
- package/test/fixtures/ts/transpile.cjs +36 -0
- package/test/fixtures/ts/transport-exit-immediately-with-async-dest.ts +15 -0
- package/test/fixtures/ts/transport-exit-immediately.ts +10 -0
- package/test/fixtures/ts/transport-exit-on-ready.ts +11 -0
- package/test/fixtures/ts/transport-main.ts +8 -0
- package/test/fixtures/ts/transport-string-stdout.ts +8 -0
- package/test/fixtures/ts/transport-worker.ts +14 -0
- package/test/formatters.test.js +364 -0
- package/test/helper.d.ts +4 -0
- package/test/helper.js +155 -0
- package/test/hooks.test.js +114 -0
- package/test/http.test.js +214 -0
- package/test/internals/version.test.js +17 -0
- package/test/is-level-enabled.test.js +179 -0
- package/test/jest/basic.spec.js +10 -0
- package/test/levels.test.js +810 -0
- package/test/metadata.test.js +120 -0
- package/test/mixin-merge-strategy.test.js +57 -0
- package/test/mixin.test.js +241 -0
- package/test/multistream.test.js +729 -0
- package/test/redact.test.js +893 -0
- package/test/serializers.test.js +257 -0
- package/test/stdout-protection.test.js +41 -0
- package/test/syncfalse.test.js +186 -0
- package/test/timestamp-nano.test.js +37 -0
- package/test/timestamp.test.js +124 -0
- package/test/transport/big.test.js +42 -0
- package/test/transport/bundlers-support.test.js +99 -0
- package/test/transport/caller.test.js +24 -0
- package/test/transport/core.test.js +733 -0
- package/test/transport/core.transpiled.test.ts +114 -0
- package/test/transport/crash.test.js +36 -0
- package/test/transport/module-link.test.js +241 -0
- package/test/transport/native-type-stripping.test.mjs +151 -0
- package/test/transport/node-options.test.js +116 -0
- package/test/transport/pipeline.test.js +137 -0
- package/test/transport/preload.test.js +54 -0
- package/test/transport/repl.test.js +15 -0
- package/test/transport/sync-false.test.js +67 -0
- package/test/transport/sync-true.test.js +57 -0
- package/test/transport/targets.test.js +48 -0
- package/test/transport/uses-pino-config.test.js +166 -0
- package/test/transport-stream.test.js +40 -0
- package/test/types/pino-import.test-d.cts +30 -0
- package/test/types/pino-multistream.test-d.ts +28 -0
- package/test/types/pino-top-export.test-d.ts +34 -0
- package/test/types/pino-transport.test-d.ts +156 -0
- package/test/types/pino-type-only.test-d.ts +75 -0
- package/test/types/pino.test-d.ts +683 -0
- package/test/types/pino.ts +91 -0
- package/tsconfig.json +14 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
const test = require('node:test')
|
|
4
|
+
const assert = require('node:assert')
|
|
5
|
+
const os = require('node:os')
|
|
6
|
+
const { join } = require('node:path')
|
|
7
|
+
const { readFile } = require('node:fs').promises
|
|
8
|
+
|
|
9
|
+
const { watchFileCreated, file } = require('../helper')
|
|
10
|
+
const pino = require('../../pino')
|
|
11
|
+
|
|
12
|
+
const { pid } = process
|
|
13
|
+
const hostname = os.hostname()
|
|
14
|
+
|
|
15
|
+
test('pino.transport with destination overridden by bundler', async (t) => {
|
|
16
|
+
globalThis.__bundlerPathsOverrides = {
|
|
17
|
+
foobar: join(__dirname, '..', 'fixtures', 'to-file-transport.js')
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const destination = file()
|
|
21
|
+
const transport = pino.transport({
|
|
22
|
+
target: 'foobar',
|
|
23
|
+
options: { destination }
|
|
24
|
+
})
|
|
25
|
+
t.after(transport.end.bind(transport))
|
|
26
|
+
const instance = pino(transport)
|
|
27
|
+
instance.info('hello')
|
|
28
|
+
await watchFileCreated(destination)
|
|
29
|
+
const result = JSON.parse(await readFile(destination))
|
|
30
|
+
delete result.time
|
|
31
|
+
assert.deepEqual(result, {
|
|
32
|
+
pid,
|
|
33
|
+
hostname,
|
|
34
|
+
level: 30,
|
|
35
|
+
msg: 'hello'
|
|
36
|
+
})
|
|
37
|
+
|
|
38
|
+
globalThis.__bundlerPathsOverrides = undefined
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
test('pino.transport with worker destination overridden by bundler', async (t) => {
|
|
42
|
+
globalThis.__bundlerPathsOverrides = {
|
|
43
|
+
'pino-worker': join(__dirname, '..', '..', 'lib/worker.js')
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const destination = file()
|
|
47
|
+
const transport = pino.transport({
|
|
48
|
+
targets: [
|
|
49
|
+
{
|
|
50
|
+
target: join(__dirname, '..', 'fixtures', 'to-file-transport.js'),
|
|
51
|
+
options: { destination }
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
})
|
|
55
|
+
t.after(transport.end.bind(transport))
|
|
56
|
+
const instance = pino(transport)
|
|
57
|
+
instance.info('hello')
|
|
58
|
+
await watchFileCreated(destination)
|
|
59
|
+
const result = JSON.parse(await readFile(destination))
|
|
60
|
+
delete result.time
|
|
61
|
+
assert.deepEqual(result, {
|
|
62
|
+
pid,
|
|
63
|
+
hostname,
|
|
64
|
+
level: 30,
|
|
65
|
+
msg: 'hello'
|
|
66
|
+
})
|
|
67
|
+
|
|
68
|
+
globalThis.__bundlerPathsOverrides = undefined
|
|
69
|
+
})
|
|
70
|
+
|
|
71
|
+
test('pino.transport with worker destination overridden by bundler and mjs transport', async (t) => {
|
|
72
|
+
globalThis.__bundlerPathsOverrides = {
|
|
73
|
+
'pino-worker': join(__dirname, '..', '..', 'lib/worker.js')
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
const destination = file()
|
|
77
|
+
const transport = pino.transport({
|
|
78
|
+
targets: [
|
|
79
|
+
{
|
|
80
|
+
target: join(__dirname, '..', 'fixtures', 'ts', 'to-file-transport.es2017.cjs'),
|
|
81
|
+
options: { destination }
|
|
82
|
+
}
|
|
83
|
+
]
|
|
84
|
+
})
|
|
85
|
+
t.after(transport.end.bind(transport))
|
|
86
|
+
const instance = pino(transport)
|
|
87
|
+
instance.info('hello')
|
|
88
|
+
await watchFileCreated(destination)
|
|
89
|
+
const result = JSON.parse(await readFile(destination))
|
|
90
|
+
delete result.time
|
|
91
|
+
assert.deepEqual(result, {
|
|
92
|
+
pid,
|
|
93
|
+
hostname,
|
|
94
|
+
level: 30,
|
|
95
|
+
msg: 'hello'
|
|
96
|
+
})
|
|
97
|
+
|
|
98
|
+
globalThis.__bundlerPathsOverrides = undefined
|
|
99
|
+
})
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
const test = require('node:test')
|
|
4
|
+
const assert = require('node:assert')
|
|
5
|
+
const { join } = require('node:path')
|
|
6
|
+
const execa = require('execa')
|
|
7
|
+
|
|
8
|
+
test('when using a custom transport outside node_modules, the first file outside node_modules should be used', async function () {
|
|
9
|
+
const evalApp = join(__dirname, '../', '/fixtures/eval/index.js')
|
|
10
|
+
const { stdout } = await execa(process.argv[0], [evalApp])
|
|
11
|
+
assert.match(stdout, /done!/)
|
|
12
|
+
})
|
|
13
|
+
|
|
14
|
+
test('when using a custom transport where some files in stacktrace are in the node_modules, the first file outside node_modules should be used', async function () {
|
|
15
|
+
const evalApp = join(__dirname, '../', '/fixtures/eval/node_modules/2-files.js')
|
|
16
|
+
const { stdout } = await execa(process.argv[0], [evalApp])
|
|
17
|
+
assert.match(stdout, /done!/)
|
|
18
|
+
})
|
|
19
|
+
|
|
20
|
+
test('when using a custom transport where all files in stacktrace are in the node_modules, the first file inside node_modules should be used', async function () {
|
|
21
|
+
const evalApp = join(__dirname, '../', '/fixtures/eval/node_modules/14-files.js')
|
|
22
|
+
const { stdout } = await execa(process.argv[0], [evalApp])
|
|
23
|
+
assert.match(stdout, /done!/)
|
|
24
|
+
})
|