tailwind-widgets 5.1.3
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/LICENSE +24 -0
- package/README.md +113 -0
- package/bin.js +6 -0
- package/bingo-logger.js +211 -0
- package/browser.js +358 -0
- package/docs/api.md +1352 -0
- package/docs/asynchronous.md +102 -0
- package/docs/benchmarks.md +58 -0
- package/docs/browser.md +199 -0
- package/docs/bundling.md +34 -0
- package/docs/child-loggers.md +95 -0
- package/docs/ecosystem.md +74 -0
- package/docs/help.md +305 -0
- package/docs/lts.md +62 -0
- package/docs/pretty.md +101 -0
- package/docs/redaction.md +135 -0
- package/docs/transports.md +792 -0
- package/docs/web.md +257 -0
- package/file.js +12 -0
- package/lib/caller.js +30 -0
- package/lib/deprecations.js +10 -0
- package/lib/levels.js +193 -0
- package/lib/meta.js +5 -0
- package/lib/multistream.js +156 -0
- package/lib/parse.js +14 -0
- package/lib/proto.js +216 -0
- package/lib/redaction.js +118 -0
- package/lib/symbols.js +70 -0
- package/lib/time.js +11 -0
- package/lib/tools.js +563 -0
- package/lib/transport-stream.js +47 -0
- package/lib/transport.js +157 -0
- package/lib/worker-pipeline.js +40 -0
- package/lib/worker.js +54 -0
- package/package.json +131 -0
- package/test/basic.test.js +719 -0
- package/test/broken-pipe.test.js +42 -0
- package/test/browser-levels.test.js +218 -0
- package/test/browser-serializers.test.js +354 -0
- package/test/browser-timestamp.test.js +88 -0
- package/test/browser-transmit.test.js +349 -0
- package/test/browser.test.js +547 -0
- package/test/complex-objects.test.js +34 -0
- package/test/crlf.test.js +32 -0
- package/test/custom-levels.test.js +294 -0
- package/test/error.test.js +374 -0
- package/test/escaping.test.js +91 -0
- package/test/esm/esm.mjs +12 -0
- package/test/esm/index.test.js +34 -0
- package/test/esm/named-exports.mjs +28 -0
- package/test/exit.test.js +85 -0
- package/test/final.test.js +237 -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/default-exit.js +8 -0
- package/test/fixtures/destination-exit.js +8 -0
- package/test/fixtures/eval/index.js +29 -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/file15.js +10 -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/eval/node_modules/test.list +3 -0
- package/test/fixtures/pretty/basic.js +6 -0
- package/test/fixtures/pretty/child-with-serializer.js +17 -0
- package/test/fixtures/pretty/child-with-updated-chindings.js +8 -0
- package/test/fixtures/pretty/child.js +8 -0
- package/test/fixtures/pretty/custom-time-label.js +9 -0
- package/test/fixtures/pretty/custom-time.js +9 -0
- package/test/fixtures/pretty/dateformat.js +10 -0
- package/test/fixtures/pretty/error-props.js +9 -0
- package/test/fixtures/pretty/error.js +7 -0
- package/test/fixtures/pretty/final-no-log-before.js +8 -0
- package/test/fixtures/pretty/final-return.js +7 -0
- package/test/fixtures/pretty/final.js +9 -0
- package/test/fixtures/pretty/formatters.js +13 -0
- package/test/fixtures/pretty/level-first.js +6 -0
- package/test/fixtures/pretty/no-time.js +9 -0
- package/test/fixtures/pretty/null-prototype.js +8 -0
- package/test/fixtures/pretty/obj-msg-prop.js +6 -0
- package/test/fixtures/pretty/pretty-factory.js +6 -0
- package/test/fixtures/pretty/redact.js +9 -0
- package/test/fixtures/pretty/serializers.js +17 -0
- package/test/fixtures/pretty/skipped-output.js +13 -0
- package/test/fixtures/pretty/suppress-flush-sync-warning.js +7 -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/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-main.js +9 -0
- package/test/fixtures/transport-many-lines.js +29 -0
- package/test/fixtures/transport-string-stdout.js +9 -0
- package/test/fixtures/transport-transform.js +21 -0
- package/test/fixtures/transport-worker.js +13 -0
- package/test/fixtures/transport-wrong-export-type.js +3 -0
- package/test/fixtures/ts/to-file-transport-with-transform.ts +18 -0
- package/test/fixtures/ts/to-file-transport.es2017.cjs +12 -0
- package/test/fixtures/ts/to-file-transport.es5.cjs +58 -0
- package/test/fixtures/ts/to-file-transport.es6.cjs +23 -0
- package/test/fixtures/ts/to-file-transport.esnext.cjs +12 -0
- package/test/fixtures/ts/to-file-transport.ts +11 -0
- package/test/fixtures/ts/transpile.cjs +40 -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 +355 -0
- package/test/helper.d.ts +4 -0
- package/test/helper.js +128 -0
- package/test/hooks.test.js +97 -0
- package/test/http.test.js +242 -0
- package/test/is-level-enabled.test.js +43 -0
- package/test/jest/basic.spec.js +10 -0
- package/test/levels.test.js +528 -0
- package/test/metadata.test.js +106 -0
- package/test/mixin-merge-strategy.test.js +55 -0
- package/test/mixin.test.js +162 -0
- package/test/multistream.test.js +589 -0
- package/test/pretty.test.js +392 -0
- package/test/redact.test.js +828 -0
- package/test/serializers.test.js +253 -0
- package/test/stdout-protection.test.js +19 -0
- package/test/syncfalse.test.js +118 -0
- package/test/timestamp.test.js +121 -0
- package/test/transport/big.test.js +41 -0
- package/test/transport/bundlers-support.test.js +97 -0
- package/test/transport/caller.test.js +23 -0
- package/test/transport/core.test.js +546 -0
- package/test/transport/core.test.ts +236 -0
- package/test/transport/core.transpiled.test.ts +116 -0
- package/test/transport/module-link.test.js +239 -0
- package/test/transport/pipeline.test.js +36 -0
- package/test/transport/syncfalse.test.js +31 -0
- package/test/transport/targets.test.js +28 -0
- package/test/types/pino-import.test-d.ts +29 -0
- package/test/types/pino-multistream.test-d.ts +26 -0
- package/test/types/pino-top-export.test-d.ts +37 -0
- package/test/types/pino-transport.test-d.ts +122 -0
- package/test/types/pino-type-only.test-d.ts +16 -0
- package/test/types/pino.test-d.ts +341 -0
- package/test/types/pino.ts +42 -0
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
const http = require('http')
|
|
4
|
+
const os = require('os')
|
|
5
|
+
const semver = require('semver')
|
|
6
|
+
const { test, skip } = require('tap')
|
|
7
|
+
const { sink, once } = require('./helper')
|
|
8
|
+
const bingo-logger = require('../')
|
|
9
|
+
|
|
10
|
+
const { pid } = process
|
|
11
|
+
const hostname = os.hostname()
|
|
12
|
+
|
|
13
|
+
test('http request support', async ({ ok, same, error, teardown }) => {
|
|
14
|
+
let originalReq
|
|
15
|
+
const instance = bingo-logger(sink((chunk, enc) => {
|
|
16
|
+
ok(new Date(chunk.time) <= new Date(), 'time is greater than Date.now()')
|
|
17
|
+
delete chunk.time
|
|
18
|
+
same(chunk, {
|
|
19
|
+
pid,
|
|
20
|
+
hostname,
|
|
21
|
+
level: 30,
|
|
22
|
+
msg: 'my request',
|
|
23
|
+
req: {
|
|
24
|
+
method: originalReq.method,
|
|
25
|
+
url: originalReq.url,
|
|
26
|
+
headers: originalReq.headers,
|
|
27
|
+
remoteAddress: originalReq.socket.remoteAddress,
|
|
28
|
+
remotePort: originalReq.socket.remotePort
|
|
29
|
+
}
|
|
30
|
+
})
|
|
31
|
+
}))
|
|
32
|
+
|
|
33
|
+
const server = http.createServer((req, res) => {
|
|
34
|
+
originalReq = req
|
|
35
|
+
instance.info(req, 'my request')
|
|
36
|
+
res.end('hello')
|
|
37
|
+
})
|
|
38
|
+
server.unref()
|
|
39
|
+
server.listen()
|
|
40
|
+
const err = await once(server, 'listening')
|
|
41
|
+
error(err)
|
|
42
|
+
const res = await once(http.get('http://localhost:' + server.address().port), 'response')
|
|
43
|
+
res.resume()
|
|
44
|
+
server.close()
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
test('http request support via serializer', async ({ ok, same, error, teardown }) => {
|
|
48
|
+
let originalReq
|
|
49
|
+
const instance = bingo-logger({
|
|
50
|
+
serializers: {
|
|
51
|
+
req: bingo-logger.stdSerializers.req
|
|
52
|
+
}
|
|
53
|
+
}, sink((chunk, enc) => {
|
|
54
|
+
ok(new Date(chunk.time) <= new Date(), 'time is greater than Date.now()')
|
|
55
|
+
delete chunk.time
|
|
56
|
+
same(chunk, {
|
|
57
|
+
pid,
|
|
58
|
+
hostname,
|
|
59
|
+
level: 30,
|
|
60
|
+
msg: 'my request',
|
|
61
|
+
req: {
|
|
62
|
+
method: originalReq.method,
|
|
63
|
+
url: originalReq.url,
|
|
64
|
+
headers: originalReq.headers,
|
|
65
|
+
remoteAddress: originalReq.socket.remoteAddress,
|
|
66
|
+
remotePort: originalReq.socket.remotePort
|
|
67
|
+
}
|
|
68
|
+
})
|
|
69
|
+
}))
|
|
70
|
+
|
|
71
|
+
const server = http.createServer(function (req, res) {
|
|
72
|
+
originalReq = req
|
|
73
|
+
instance.info({ req }, 'my request')
|
|
74
|
+
res.end('hello')
|
|
75
|
+
})
|
|
76
|
+
server.unref()
|
|
77
|
+
server.listen()
|
|
78
|
+
const err = await once(server, 'listening')
|
|
79
|
+
error(err)
|
|
80
|
+
|
|
81
|
+
const res = await once(http.get('http://localhost:' + server.address().port), 'response')
|
|
82
|
+
res.resume()
|
|
83
|
+
server.close()
|
|
84
|
+
})
|
|
85
|
+
|
|
86
|
+
// skipped because request connection is deprecated since v13, and request socket is always available
|
|
87
|
+
skip('http request support via serializer without request connection', async ({ ok, same, error, teardown }) => {
|
|
88
|
+
let originalReq
|
|
89
|
+
const instance = bingo-logger({
|
|
90
|
+
serializers: {
|
|
91
|
+
req: bingo-logger.stdSerializers.req
|
|
92
|
+
}
|
|
93
|
+
}, sink((chunk, enc) => {
|
|
94
|
+
ok(new Date(chunk.time) <= new Date(), 'time is greater than Date.now()')
|
|
95
|
+
delete chunk.time
|
|
96
|
+
const expected = {
|
|
97
|
+
pid,
|
|
98
|
+
hostname,
|
|
99
|
+
level: 30,
|
|
100
|
+
msg: 'my request',
|
|
101
|
+
req: {
|
|
102
|
+
method: originalReq.method,
|
|
103
|
+
url: originalReq.url,
|
|
104
|
+
headers: originalReq.headers
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
if (semver.gte(process.version, '13.0.0')) {
|
|
108
|
+
expected.req.remoteAddress = originalReq.socket.remoteAddress
|
|
109
|
+
expected.req.remotePort = originalReq.socket.remotePort
|
|
110
|
+
}
|
|
111
|
+
same(chunk, expected)
|
|
112
|
+
}))
|
|
113
|
+
|
|
114
|
+
const server = http.createServer(function (req, res) {
|
|
115
|
+
originalReq = req
|
|
116
|
+
delete req.connection
|
|
117
|
+
instance.info({ req }, 'my request')
|
|
118
|
+
res.end('hello')
|
|
119
|
+
})
|
|
120
|
+
server.unref()
|
|
121
|
+
server.listen()
|
|
122
|
+
const err = await once(server, 'listening')
|
|
123
|
+
error(err)
|
|
124
|
+
|
|
125
|
+
const res = await once(http.get('http://localhost:' + server.address().port), 'response')
|
|
126
|
+
res.resume()
|
|
127
|
+
server.close()
|
|
128
|
+
})
|
|
129
|
+
|
|
130
|
+
test('http response support', async ({ ok, same, error, teardown }) => {
|
|
131
|
+
let originalRes
|
|
132
|
+
const instance = bingo-logger(sink((chunk, enc) => {
|
|
133
|
+
ok(new Date(chunk.time) <= new Date(), 'time is greater than Date.now()')
|
|
134
|
+
delete chunk.time
|
|
135
|
+
same(chunk, {
|
|
136
|
+
pid,
|
|
137
|
+
hostname,
|
|
138
|
+
level: 30,
|
|
139
|
+
msg: 'my response',
|
|
140
|
+
res: {
|
|
141
|
+
statusCode: originalRes.statusCode,
|
|
142
|
+
headers: originalRes.getHeaders()
|
|
143
|
+
}
|
|
144
|
+
})
|
|
145
|
+
}))
|
|
146
|
+
|
|
147
|
+
const server = http.createServer(function (req, res) {
|
|
148
|
+
originalRes = res
|
|
149
|
+
res.end('hello')
|
|
150
|
+
instance.info(res, 'my response')
|
|
151
|
+
})
|
|
152
|
+
server.unref()
|
|
153
|
+
server.listen()
|
|
154
|
+
const err = await once(server, 'listening')
|
|
155
|
+
|
|
156
|
+
error(err)
|
|
157
|
+
|
|
158
|
+
const res = await once(http.get('http://localhost:' + server.address().port), 'response')
|
|
159
|
+
res.resume()
|
|
160
|
+
server.close()
|
|
161
|
+
})
|
|
162
|
+
|
|
163
|
+
test('http response support via a serializer', async ({ ok, same, error, teardown }) => {
|
|
164
|
+
const instance = bingo-logger({
|
|
165
|
+
serializers: {
|
|
166
|
+
res: bingo-logger.stdSerializers.res
|
|
167
|
+
}
|
|
168
|
+
}, sink((chunk, enc) => {
|
|
169
|
+
ok(new Date(chunk.time) <= new Date(), 'time is greater than Date.now()')
|
|
170
|
+
delete chunk.time
|
|
171
|
+
same(chunk, {
|
|
172
|
+
pid,
|
|
173
|
+
hostname,
|
|
174
|
+
level: 30,
|
|
175
|
+
msg: 'my response',
|
|
176
|
+
res: {
|
|
177
|
+
statusCode: 200,
|
|
178
|
+
headers: {
|
|
179
|
+
'x-single': 'y',
|
|
180
|
+
'x-multi': [1, 2]
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
})
|
|
184
|
+
}))
|
|
185
|
+
|
|
186
|
+
const server = http.createServer(function (req, res) {
|
|
187
|
+
res.setHeader('x-single', 'y')
|
|
188
|
+
res.setHeader('x-multi', [1, 2])
|
|
189
|
+
res.end('hello')
|
|
190
|
+
instance.info({ res }, 'my response')
|
|
191
|
+
})
|
|
192
|
+
|
|
193
|
+
server.unref()
|
|
194
|
+
server.listen()
|
|
195
|
+
const err = await once(server, 'listening')
|
|
196
|
+
error(err)
|
|
197
|
+
|
|
198
|
+
const res = await once(http.get('http://localhost:' + server.address().port), 'response')
|
|
199
|
+
res.resume()
|
|
200
|
+
server.close()
|
|
201
|
+
})
|
|
202
|
+
|
|
203
|
+
test('http request support via serializer in a child', async ({ ok, same, error, teardown }) => {
|
|
204
|
+
let originalReq
|
|
205
|
+
const instance = bingo-logger({
|
|
206
|
+
serializers: {
|
|
207
|
+
req: bingo-logger.stdSerializers.req
|
|
208
|
+
}
|
|
209
|
+
}, sink((chunk, enc) => {
|
|
210
|
+
ok(new Date(chunk.time) <= new Date(), 'time is greater than Date.now()')
|
|
211
|
+
delete chunk.time
|
|
212
|
+
same(chunk, {
|
|
213
|
+
pid,
|
|
214
|
+
hostname,
|
|
215
|
+
level: 30,
|
|
216
|
+
msg: 'my request',
|
|
217
|
+
req: {
|
|
218
|
+
method: originalReq.method,
|
|
219
|
+
url: originalReq.url,
|
|
220
|
+
headers: originalReq.headers,
|
|
221
|
+
remoteAddress: originalReq.socket.remoteAddress,
|
|
222
|
+
remotePort: originalReq.socket.remotePort
|
|
223
|
+
}
|
|
224
|
+
})
|
|
225
|
+
}))
|
|
226
|
+
|
|
227
|
+
const server = http.createServer(function (req, res) {
|
|
228
|
+
originalReq = req
|
|
229
|
+
const child = instance.child({ req })
|
|
230
|
+
child.info('my request')
|
|
231
|
+
res.end('hello')
|
|
232
|
+
})
|
|
233
|
+
|
|
234
|
+
server.unref()
|
|
235
|
+
server.listen()
|
|
236
|
+
const err = await once(server, 'listening')
|
|
237
|
+
error(err)
|
|
238
|
+
|
|
239
|
+
const res = await once(http.get('http://localhost:' + server.address().port), 'response')
|
|
240
|
+
res.resume()
|
|
241
|
+
server.close()
|
|
242
|
+
})
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
const { test } = require('tap')
|
|
4
|
+
const bingo-logger = require('../')
|
|
5
|
+
|
|
6
|
+
test('can check if current level enabled', async ({ equal }) => {
|
|
7
|
+
const log = bingo-logger({ level: 'debug' })
|
|
8
|
+
equal(true, log.isLevelEnabled('debug'))
|
|
9
|
+
})
|
|
10
|
+
|
|
11
|
+
test('can check if level enabled after level set', async ({ equal }) => {
|
|
12
|
+
const log = bingo-logger()
|
|
13
|
+
equal(false, log.isLevelEnabled('debug'))
|
|
14
|
+
log.level = 'debug'
|
|
15
|
+
equal(true, log.isLevelEnabled('debug'))
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
test('can check if higher level enabled', async ({ equal }) => {
|
|
19
|
+
const log = bingo-logger({ level: 'debug' })
|
|
20
|
+
equal(true, log.isLevelEnabled('error'))
|
|
21
|
+
})
|
|
22
|
+
|
|
23
|
+
test('can check if lower level is disabled', async ({ equal }) => {
|
|
24
|
+
const log = bingo-logger({ level: 'error' })
|
|
25
|
+
equal(false, log.isLevelEnabled('trace'))
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
test('can check if child has current level enabled', async ({ equal }) => {
|
|
29
|
+
const log = bingo-logger().child({}, { level: 'debug' })
|
|
30
|
+
equal(true, log.isLevelEnabled('debug'))
|
|
31
|
+
equal(true, log.isLevelEnabled('error'))
|
|
32
|
+
equal(false, log.isLevelEnabled('trace'))
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
test('can check if custom level is enabled', async ({ equal }) => {
|
|
36
|
+
const log = bingo-logger({
|
|
37
|
+
customLevels: { foo: 35 },
|
|
38
|
+
level: 'debug'
|
|
39
|
+
})
|
|
40
|
+
equal(true, log.isLevelEnabled('foo'))
|
|
41
|
+
equal(true, log.isLevelEnabled('error'))
|
|
42
|
+
equal(false, log.isLevelEnabled('trace'))
|
|
43
|
+
})
|