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.
Files changed (166) hide show
  1. package/LICENSE +24 -0
  2. package/README.md +113 -0
  3. package/bin.js +6 -0
  4. package/bingo-logger.js +211 -0
  5. package/browser.js +358 -0
  6. package/docs/api.md +1352 -0
  7. package/docs/asynchronous.md +102 -0
  8. package/docs/benchmarks.md +58 -0
  9. package/docs/browser.md +199 -0
  10. package/docs/bundling.md +34 -0
  11. package/docs/child-loggers.md +95 -0
  12. package/docs/ecosystem.md +74 -0
  13. package/docs/help.md +305 -0
  14. package/docs/lts.md +62 -0
  15. package/docs/pretty.md +101 -0
  16. package/docs/redaction.md +135 -0
  17. package/docs/transports.md +792 -0
  18. package/docs/web.md +257 -0
  19. package/file.js +12 -0
  20. package/lib/caller.js +30 -0
  21. package/lib/deprecations.js +10 -0
  22. package/lib/levels.js +193 -0
  23. package/lib/meta.js +5 -0
  24. package/lib/multistream.js +156 -0
  25. package/lib/parse.js +14 -0
  26. package/lib/proto.js +216 -0
  27. package/lib/redaction.js +118 -0
  28. package/lib/symbols.js +70 -0
  29. package/lib/time.js +11 -0
  30. package/lib/tools.js +563 -0
  31. package/lib/transport-stream.js +47 -0
  32. package/lib/transport.js +157 -0
  33. package/lib/worker-pipeline.js +40 -0
  34. package/lib/worker.js +54 -0
  35. package/package.json +131 -0
  36. package/test/basic.test.js +719 -0
  37. package/test/broken-pipe.test.js +42 -0
  38. package/test/browser-levels.test.js +218 -0
  39. package/test/browser-serializers.test.js +354 -0
  40. package/test/browser-timestamp.test.js +88 -0
  41. package/test/browser-transmit.test.js +349 -0
  42. package/test/browser.test.js +547 -0
  43. package/test/complex-objects.test.js +34 -0
  44. package/test/crlf.test.js +32 -0
  45. package/test/custom-levels.test.js +294 -0
  46. package/test/error.test.js +374 -0
  47. package/test/escaping.test.js +91 -0
  48. package/test/esm/esm.mjs +12 -0
  49. package/test/esm/index.test.js +34 -0
  50. package/test/esm/named-exports.mjs +28 -0
  51. package/test/exit.test.js +85 -0
  52. package/test/final.test.js +237 -0
  53. package/test/fixtures/broken-pipe/basic.js +9 -0
  54. package/test/fixtures/broken-pipe/destination.js +10 -0
  55. package/test/fixtures/broken-pipe/syncfalse.js +12 -0
  56. package/test/fixtures/console-transport.js +13 -0
  57. package/test/fixtures/default-exit.js +8 -0
  58. package/test/fixtures/destination-exit.js +8 -0
  59. package/test/fixtures/eval/index.js +29 -0
  60. package/test/fixtures/eval/node_modules/14-files.js +3 -0
  61. package/test/fixtures/eval/node_modules/2-files.js +3 -0
  62. package/test/fixtures/eval/node_modules/file1.js +5 -0
  63. package/test/fixtures/eval/node_modules/file10.js +5 -0
  64. package/test/fixtures/eval/node_modules/file11.js +5 -0
  65. package/test/fixtures/eval/node_modules/file12.js +5 -0
  66. package/test/fixtures/eval/node_modules/file13.js +5 -0
  67. package/test/fixtures/eval/node_modules/file14.js +11 -0
  68. package/test/fixtures/eval/node_modules/file15.js +10 -0
  69. package/test/fixtures/eval/node_modules/file2.js +5 -0
  70. package/test/fixtures/eval/node_modules/file3.js +5 -0
  71. package/test/fixtures/eval/node_modules/file4.js +5 -0
  72. package/test/fixtures/eval/node_modules/file5.js +5 -0
  73. package/test/fixtures/eval/node_modules/file6.js +5 -0
  74. package/test/fixtures/eval/node_modules/file7.js +5 -0
  75. package/test/fixtures/eval/node_modules/file8.js +5 -0
  76. package/test/fixtures/eval/node_modules/file9.js +5 -0
  77. package/test/fixtures/eval/node_modules/test.list +3 -0
  78. package/test/fixtures/pretty/basic.js +6 -0
  79. package/test/fixtures/pretty/child-with-serializer.js +17 -0
  80. package/test/fixtures/pretty/child-with-updated-chindings.js +8 -0
  81. package/test/fixtures/pretty/child.js +8 -0
  82. package/test/fixtures/pretty/custom-time-label.js +9 -0
  83. package/test/fixtures/pretty/custom-time.js +9 -0
  84. package/test/fixtures/pretty/dateformat.js +10 -0
  85. package/test/fixtures/pretty/error-props.js +9 -0
  86. package/test/fixtures/pretty/error.js +7 -0
  87. package/test/fixtures/pretty/final-no-log-before.js +8 -0
  88. package/test/fixtures/pretty/final-return.js +7 -0
  89. package/test/fixtures/pretty/final.js +9 -0
  90. package/test/fixtures/pretty/formatters.js +13 -0
  91. package/test/fixtures/pretty/level-first.js +6 -0
  92. package/test/fixtures/pretty/no-time.js +9 -0
  93. package/test/fixtures/pretty/null-prototype.js +8 -0
  94. package/test/fixtures/pretty/obj-msg-prop.js +6 -0
  95. package/test/fixtures/pretty/pretty-factory.js +6 -0
  96. package/test/fixtures/pretty/redact.js +9 -0
  97. package/test/fixtures/pretty/serializers.js +17 -0
  98. package/test/fixtures/pretty/skipped-output.js +13 -0
  99. package/test/fixtures/pretty/suppress-flush-sync-warning.js +7 -0
  100. package/test/fixtures/stdout-hack-protection.js +11 -0
  101. package/test/fixtures/syncfalse-child.js +6 -0
  102. package/test/fixtures/syncfalse-exit.js +9 -0
  103. package/test/fixtures/syncfalse-flush-exit.js +10 -0
  104. package/test/fixtures/syncfalse.js +6 -0
  105. package/test/fixtures/to-file-transport-with-transform.js +20 -0
  106. package/test/fixtures/to-file-transport.js +13 -0
  107. package/test/fixtures/to-file-transport.mjs +8 -0
  108. package/test/fixtures/transport/index.js +12 -0
  109. package/test/fixtures/transport/package.json +5 -0
  110. package/test/fixtures/transport-exit-immediately-with-async-dest.js +16 -0
  111. package/test/fixtures/transport-exit-immediately.js +11 -0
  112. package/test/fixtures/transport-exit-on-ready.js +12 -0
  113. package/test/fixtures/transport-main.js +9 -0
  114. package/test/fixtures/transport-many-lines.js +29 -0
  115. package/test/fixtures/transport-string-stdout.js +9 -0
  116. package/test/fixtures/transport-transform.js +21 -0
  117. package/test/fixtures/transport-worker.js +13 -0
  118. package/test/fixtures/transport-wrong-export-type.js +3 -0
  119. package/test/fixtures/ts/to-file-transport-with-transform.ts +18 -0
  120. package/test/fixtures/ts/to-file-transport.es2017.cjs +12 -0
  121. package/test/fixtures/ts/to-file-transport.es5.cjs +58 -0
  122. package/test/fixtures/ts/to-file-transport.es6.cjs +23 -0
  123. package/test/fixtures/ts/to-file-transport.esnext.cjs +12 -0
  124. package/test/fixtures/ts/to-file-transport.ts +11 -0
  125. package/test/fixtures/ts/transpile.cjs +40 -0
  126. package/test/fixtures/ts/transport-exit-immediately-with-async-dest.ts +15 -0
  127. package/test/fixtures/ts/transport-exit-immediately.ts +10 -0
  128. package/test/fixtures/ts/transport-exit-on-ready.ts +11 -0
  129. package/test/fixtures/ts/transport-main.ts +8 -0
  130. package/test/fixtures/ts/transport-string-stdout.ts +8 -0
  131. package/test/fixtures/ts/transport-worker.ts +14 -0
  132. package/test/formatters.test.js +355 -0
  133. package/test/helper.d.ts +4 -0
  134. package/test/helper.js +128 -0
  135. package/test/hooks.test.js +97 -0
  136. package/test/http.test.js +242 -0
  137. package/test/is-level-enabled.test.js +43 -0
  138. package/test/jest/basic.spec.js +10 -0
  139. package/test/levels.test.js +528 -0
  140. package/test/metadata.test.js +106 -0
  141. package/test/mixin-merge-strategy.test.js +55 -0
  142. package/test/mixin.test.js +162 -0
  143. package/test/multistream.test.js +589 -0
  144. package/test/pretty.test.js +392 -0
  145. package/test/redact.test.js +828 -0
  146. package/test/serializers.test.js +253 -0
  147. package/test/stdout-protection.test.js +19 -0
  148. package/test/syncfalse.test.js +118 -0
  149. package/test/timestamp.test.js +121 -0
  150. package/test/transport/big.test.js +41 -0
  151. package/test/transport/bundlers-support.test.js +97 -0
  152. package/test/transport/caller.test.js +23 -0
  153. package/test/transport/core.test.js +546 -0
  154. package/test/transport/core.test.ts +236 -0
  155. package/test/transport/core.transpiled.test.ts +116 -0
  156. package/test/transport/module-link.test.js +239 -0
  157. package/test/transport/pipeline.test.js +36 -0
  158. package/test/transport/syncfalse.test.js +31 -0
  159. package/test/transport/targets.test.js +28 -0
  160. package/test/types/pino-import.test-d.ts +29 -0
  161. package/test/types/pino-multistream.test-d.ts +26 -0
  162. package/test/types/pino-top-export.test-d.ts +37 -0
  163. package/test/types/pino-transport.test-d.ts +122 -0
  164. package/test/types/pino-type-only.test-d.ts +16 -0
  165. package/test/types/pino.test-d.ts +341 -0
  166. 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
+ })
@@ -0,0 +1,10 @@
1
+ /* global test */
2
+ const bingo-logger = require('../../bingo-logger')
3
+
4
+ test('transport should work in jest', function () {
5
+ bingo-logger({
6
+ transport: {
7
+ target: 'bingo-logger-pretty'
8
+ }
9
+ })
10
+ })