@contrast/assess 1.1.0

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 (111) hide show
  1. package/coverage/lcov-report/base.css +224 -0
  2. package/coverage/lcov-report/block-navigation.js +87 -0
  3. package/coverage/lcov-report/favicon.png +0 -0
  4. package/coverage/lcov-report/index.html +266 -0
  5. package/coverage/lcov-report/lib/dataflow/common.js.html +154 -0
  6. package/coverage/lcov-report/lib/dataflow/event-factory.js.html +598 -0
  7. package/coverage/lcov-report/lib/dataflow/index.html +191 -0
  8. package/coverage/lcov-report/lib/dataflow/index.js.html +190 -0
  9. package/coverage/lcov-report/lib/dataflow/propagation/common.js.html +145 -0
  10. package/coverage/lcov-report/lib/dataflow/propagation/index.html +131 -0
  11. package/coverage/lcov-report/lib/dataflow/propagation/index.js.html +190 -0
  12. package/coverage/lcov-report/lib/dataflow/propagation/install/contrast-methods/index.html +131 -0
  13. package/coverage/lcov-report/lib/dataflow/propagation/install/contrast-methods/index.js.html +184 -0
  14. package/coverage/lcov-report/lib/dataflow/propagation/install/contrast-methods/plus.js.html +397 -0
  15. package/coverage/lcov-report/lib/dataflow/propagation/install/string/concat.js.html +478 -0
  16. package/coverage/lcov-report/lib/dataflow/propagation/install/string/index.html +176 -0
  17. package/coverage/lcov-report/lib/dataflow/propagation/install/string/index.js.html +202 -0
  18. package/coverage/lcov-report/lib/dataflow/propagation/install/string/replace.js.html +496 -0
  19. package/coverage/lcov-report/lib/dataflow/propagation/install/string/substring.js.html +415 -0
  20. package/coverage/lcov-report/lib/dataflow/propagation/install/string/trim.js.html +403 -0
  21. package/coverage/lcov-report/lib/dataflow/signatures.js.html +5923 -0
  22. package/coverage/lcov-report/lib/dataflow/sinks/common.js.html +145 -0
  23. package/coverage/lcov-report/lib/dataflow/sinks/index.html +131 -0
  24. package/coverage/lcov-report/lib/dataflow/sinks/index.js.html +211 -0
  25. package/coverage/lcov-report/lib/dataflow/sinks/install/fastify/index.html +146 -0
  26. package/coverage/lcov-report/lib/dataflow/sinks/install/fastify/index.js.html +172 -0
  27. package/coverage/lcov-report/lib/dataflow/sinks/install/fastify/unvalidated-redirect.js.html +319 -0
  28. package/coverage/lcov-report/lib/dataflow/sinks/install/fastify/xss.js.html +721 -0
  29. package/coverage/lcov-report/lib/dataflow/sinks/install/http.js.html +340 -0
  30. package/coverage/lcov-report/lib/dataflow/sinks/install/index.html +116 -0
  31. package/coverage/lcov-report/lib/dataflow/sources/common.js.html +145 -0
  32. package/coverage/lcov-report/lib/dataflow/sources/index.html +131 -0
  33. package/coverage/lcov-report/lib/dataflow/sources/index.js.html +226 -0
  34. package/coverage/lcov-report/lib/dataflow/sources/install/fastify.js.html +379 -0
  35. package/coverage/lcov-report/lib/dataflow/sources/install/http.js.html +502 -0
  36. package/coverage/lcov-report/lib/dataflow/sources/install/index.html +146 -0
  37. package/coverage/lcov-report/lib/dataflow/sources/install/qs.js.html +322 -0
  38. package/coverage/lcov-report/lib/dataflow/tag-utils.js.html +418 -0
  39. package/coverage/lcov-report/lib/dataflow/tracker.js.html +466 -0
  40. package/coverage/lcov-report/lib/dataflow/utils/index.html +116 -0
  41. package/coverage/lcov-report/lib/dataflow/utils/is-vulnerable.js.html +424 -0
  42. package/coverage/lcov-report/lib/index.html +116 -0
  43. package/coverage/lcov-report/lib/index.js.html +193 -0
  44. package/coverage/lcov-report/prettify.css +1 -0
  45. package/coverage/lcov-report/prettify.js +2 -0
  46. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  47. package/coverage/lcov-report/sorter.js +196 -0
  48. package/coverage/lcov.info +4856 -0
  49. package/coverage/tmp/coverage-9548-1675168551025-0.json +1 -0
  50. package/coverage/tmp/coverage-9551-1675168550963-0.json +1 -0
  51. package/coverage/tmp/coverage-9552-1675168550969-0.json +1 -0
  52. package/coverage/tmp/coverage-9553-1675168550970-0.json +1 -0
  53. package/coverage/tmp/coverage-9554-1675168550962-0.json +1 -0
  54. package/coverage/tmp/coverage-9555-1675168550965-0.json +1 -0
  55. package/coverage/tmp/coverage-9556-1675168550964-0.json +1 -0
  56. package/coverage/tmp/coverage-9557-1675168550969-0.json +1 -0
  57. package/coverage/tmp/coverage-9558-1675168550964-0.json +1 -0
  58. package/coverage/tmp/coverage-9559-1675168550971-0.json +1 -0
  59. package/lib/dataflow/event-factory.js +256 -0
  60. package/lib/dataflow/index.js +35 -0
  61. package/lib/dataflow/propagation/common.js +26 -0
  62. package/lib/dataflow/propagation/index.js +50 -0
  63. package/lib/dataflow/propagation/install/array-prototype-join.js +125 -0
  64. package/lib/dataflow/propagation/install/contrast-methods/add.js +104 -0
  65. package/lib/dataflow/propagation/install/contrast-methods/index.js +34 -0
  66. package/lib/dataflow/propagation/install/contrast-methods/tag.js +102 -0
  67. package/lib/dataflow/propagation/install/decode-uri-component.js +88 -0
  68. package/lib/dataflow/propagation/install/ejs/escape-xml.js +89 -0
  69. package/lib/dataflow/propagation/install/ejs/index.js +30 -0
  70. package/lib/dataflow/propagation/install/encode-uri-component.js +87 -0
  71. package/lib/dataflow/propagation/install/escape-html.js +89 -0
  72. package/lib/dataflow/propagation/install/escape.js +89 -0
  73. package/lib/dataflow/propagation/install/handlebars-utils-escape-expression.js +89 -0
  74. package/lib/dataflow/propagation/install/mysql-connection-escape.js +111 -0
  75. package/lib/dataflow/propagation/install/pug/index.js +64 -0
  76. package/lib/dataflow/propagation/install/pug-runtime-escape.js +89 -0
  77. package/lib/dataflow/propagation/install/sql-template-strings.js +103 -0
  78. package/lib/dataflow/propagation/install/string/concat.js +108 -0
  79. package/lib/dataflow/propagation/install/string/format-methods.js +83 -0
  80. package/lib/dataflow/propagation/install/string/html-methods.js +163 -0
  81. package/lib/dataflow/propagation/install/string/index.js +38 -0
  82. package/lib/dataflow/propagation/install/string/replace.js +197 -0
  83. package/lib/dataflow/propagation/install/string/substring.js +117 -0
  84. package/lib/dataflow/propagation/install/string/trim.js +115 -0
  85. package/lib/dataflow/propagation/install/unescape.js +90 -0
  86. package/lib/dataflow/propagation/install/url/domain-parsers.js +89 -0
  87. package/lib/dataflow/propagation/install/url/index.js +33 -0
  88. package/lib/dataflow/propagation/install/validator/hooks.js +172 -0
  89. package/lib/dataflow/propagation/install/validator/index.js +28 -0
  90. package/lib/dataflow/propagation/install/validator/methods.js +82 -0
  91. package/lib/dataflow/signatures.js +2022 -0
  92. package/lib/dataflow/sinks/common.js +20 -0
  93. package/lib/dataflow/sinks/index.js +44 -0
  94. package/lib/dataflow/sinks/install/fastify/index.js +30 -0
  95. package/lib/dataflow/sinks/install/fastify/unvalidated-redirect.js +107 -0
  96. package/lib/dataflow/sinks/install/http.js +119 -0
  97. package/lib/dataflow/sinks/install/postgres/index.js +129 -0
  98. package/lib/dataflow/sources/common.js +20 -0
  99. package/lib/dataflow/sources/handler.js +114 -0
  100. package/lib/dataflow/sources/index.js +35 -0
  101. package/lib/dataflow/sources/install/fastify/cookie.js +61 -0
  102. package/lib/dataflow/sources/install/fastify/fastify.js +89 -0
  103. package/lib/dataflow/sources/install/fastify/index.js +31 -0
  104. package/lib/dataflow/sources/install/http.js +181 -0
  105. package/lib/dataflow/sources/install/qs.js +88 -0
  106. package/lib/dataflow/tag-utils.js +122 -0
  107. package/lib/dataflow/tracker.js +127 -0
  108. package/lib/dataflow/utils/is-safe-content-type.js +30 -0
  109. package/lib/dataflow/utils/is-vulnerable.js +113 -0
  110. package/lib/index.js +36 -0
  111. package/package.json +21 -0
@@ -0,0 +1,2022 @@
1
+ /*
2
+ * Copyright: 2022 Contrast Security, Inc
3
+ * Contact: support@contrastsecurity.com
4
+ * License: Commercial
5
+
6
+ * NOTICE: This Software and the patented inventions embodied within may only be
7
+ * used as part of Contrast Security’s commercial offerings. Even though it is
8
+ * made available through public repositories, use of this Software is subject to
9
+ * the applicable End User Licensing Agreement found at
10
+ * https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
11
+ * between Contrast Security and the End User. The Software may not be reverse
12
+ * engineered, modified, repackaged, sold, redistributed or otherwise used in a
13
+ * way not consistent with the End User License Agreement.
14
+ */
15
+
16
+ 'use strict';
17
+
18
+ module.exports = function(core) {
19
+ const signaturesMap = core.assess.dataflow.signatures = new Map([
20
+ [
21
+ 'Url.prototype.parse',
22
+ {
23
+ moduleName: 'url',
24
+ methodName: 'Url.prototype.parse',
25
+ isModule: true
26
+ }
27
+ ],
28
+ ['url.URL', { moduleName: 'url', methodName: 'URL', isModule: true }],
29
+ [
30
+ 'url.domainToASCII',
31
+ {
32
+ moduleName: 'url',
33
+ methodName: 'domainToASCII',
34
+ isModule: true,
35
+ source: 'P',
36
+ target: 'R'
37
+ }
38
+ ],
39
+ [
40
+ 'url.domainToUnicode',
41
+ {
42
+ moduleName: 'url',
43
+ methodName: 'domainToUnicode',
44
+ isModule: true,
45
+ source: 'P',
46
+ target: 'R'
47
+ }
48
+ ],
49
+ [
50
+ 'template strings',
51
+ {
52
+ moduleName: 'global',
53
+ methodName: 'ContrastMethods.__contrastTag',
54
+ isModule: false
55
+ }
56
+ ],
57
+ ['axios', { moduleName: 'axios', methodName: '', isModule: true }],
58
+ [
59
+ 'axios.request',
60
+ { moduleName: 'axios', methodName: 'request', isModule: true }
61
+ ],
62
+ [
63
+ 'axios.get',
64
+ { moduleName: 'axios', methodName: 'get', isModule: true }
65
+ ],
66
+ [
67
+ 'axios.delete',
68
+ { moduleName: 'axios', methodName: 'delete', isModule: true }
69
+ ],
70
+ [
71
+ 'axios.head',
72
+ { moduleName: 'axios', methodName: 'head', isModule: true }
73
+ ],
74
+ [
75
+ 'axios.options',
76
+ { moduleName: 'axios', methodName: 'options', isModule: true }
77
+ ],
78
+ [
79
+ 'axios.post',
80
+ { moduleName: 'axios', methodName: 'post', isModule: true }
81
+ ],
82
+ [
83
+ 'axios.put',
84
+ { moduleName: 'axios', methodName: 'put', isModule: true }
85
+ ],
86
+ [
87
+ 'axios.patch',
88
+ { moduleName: 'axios', methodName: 'patch', isModule: true }
89
+ ],
90
+ [
91
+ 'http.ServerResponse.prototype.write',
92
+ {
93
+ moduleName: 'http',
94
+ methodName: 'ClientRequest.prototype.write',
95
+ isModule: true
96
+ }
97
+ ],
98
+ [
99
+ 'http.ServerResponse.prototype.end',
100
+ {
101
+ moduleName: 'http',
102
+ methodName: 'ServerResponse.prototype.end',
103
+ isModule: true
104
+ }
105
+ ],
106
+ [
107
+ 'http.request',
108
+ { moduleName: 'http', methodName: 'request', isModule: true }
109
+ ],
110
+ ['http.get', { moduleName: 'http', methodName: 'get', isModule: true }],
111
+ [
112
+ 'https.request',
113
+ { moduleName: 'https', methodName: 'request', isModule: true }
114
+ ],
115
+ [
116
+ 'https.get',
117
+ { moduleName: 'https', methodName: 'get', isModule: true }
118
+ ],
119
+ [
120
+ 'rethinkdb.js',
121
+ { moduleName: 'rethinkdb', methodName: 'js', isModule: true }
122
+ ],
123
+ [
124
+ 'bcrypt-nodejs.hashSync',
125
+ {
126
+ moduleName: 'bcrypt-nodejs',
127
+ methodName: 'hashSync',
128
+ isModule: true
129
+ }
130
+ ],
131
+ [
132
+ 'bcrypt-nodejs.hash',
133
+ { moduleName: 'bcrypt-nodejs', methodName: 'hash', isModule: true }
134
+ ],
135
+ [
136
+ 'bcrypt-nodejs.compareSync',
137
+ {
138
+ moduleName: 'bcrypt-nodejs',
139
+ methodName: 'compareSync',
140
+ isModule: true
141
+ }
142
+ ],
143
+ [
144
+ 'bcrypt-nodejs.compare',
145
+ { moduleName: 'bcrypt-nodejs', methodName: 'compare', isModule: true }
146
+ ],
147
+ [
148
+ 'express-session',
149
+ {
150
+ moduleName: 'express-session',
151
+ version: '>=1.16.0',
152
+ methodName: '',
153
+ isModule: true
154
+ }
155
+ ],
156
+ [
157
+ 'express-fileupload',
158
+ { moduleName: 'express-fileupload', methodName: '', isModule: true }
159
+ ],
160
+ [
161
+ 'pg.Connection.prototype.query',
162
+ {
163
+ moduleName: 'pg',
164
+ version: '>=7.5.0',
165
+ methodName: 'Connection.prototype.query',
166
+ isModule: true
167
+ }
168
+ ],
169
+ [
170
+ 'pg/lib/client.prototype.query',
171
+ {
172
+ fileName: 'lib/client.js',
173
+ moduleName: 'pg',
174
+ version: '>=7.5.0',
175
+ methodName: 'prototype.query',
176
+ isModule: true
177
+ }
178
+ ],
179
+ [
180
+ 'pg/lib/native/client.prototype.query',
181
+ {
182
+ fileName: 'lib/naive/client.js',
183
+ moduleName: 'pg',
184
+ version: '>=7.5.0',
185
+ methodName: 'prototype.query',
186
+ isModule: true
187
+ }
188
+ ],
189
+ [
190
+ 'pg-pool.Pool.prototype.query',
191
+ {
192
+ moduleName: 'pg-pool',
193
+ version: '>=3.2.2',
194
+ methodName: 'prototype.query',
195
+ isModule: true
196
+ }
197
+ ],
198
+ [
199
+ 'typeorm.Repository.prototype.query',
200
+ {
201
+ moduleName: 'typeorm',
202
+ methodName: 'Repository.prototype.query',
203
+ isModule: true
204
+ }
205
+ ],
206
+ [
207
+ 'typeorm.Connection.prototype.query',
208
+ {
209
+ moduleName: 'typeorm',
210
+ methodName: 'Connection.prototype.query',
211
+ isModule: true
212
+ }
213
+ ],
214
+ [
215
+ 'mysql/lib/Connection.escape',
216
+ {
217
+ moduleName: 'mysql',
218
+ fileName: 'lib/Connection.js',
219
+ methodName: 'prototype.escape',
220
+ isModule: true,
221
+ source: 'P',
222
+ target: 'R'
223
+ }
224
+ ],
225
+ [
226
+ 'mysql.escape',
227
+ {
228
+ moduleName: 'mysql',
229
+ methodName: 'escape',
230
+ isModule: true,
231
+ source: 'P',
232
+ target: 'R'
233
+ }
234
+ ],
235
+ [
236
+ 'mysql2.escape',
237
+ {
238
+ moduleName: 'mysql',
239
+ methodName: 'escape',
240
+ isModule: true,
241
+ source: 'P',
242
+ target: 'R'
243
+ }
244
+ ],
245
+ [
246
+ 'mysql/lib/Connection.query',
247
+ {
248
+ moduleName: 'mysql',
249
+ fileName: 'lib/Connection.js',
250
+ methodName: 'prototype.query',
251
+ isModule: true
252
+ }
253
+ ],
254
+ [
255
+ 'mysql2/lib/connection.Connection.escape',
256
+ {
257
+ moduleName: 'mysql2',
258
+ fileName: 'lib/connection.js',
259
+ methodName: 'prototype.escape',
260
+ isModule: true,
261
+ source: 'P',
262
+ target: 'R'
263
+ }
264
+ ],
265
+ [
266
+ 'mysql2/lib/connection.Connection.query',
267
+ {
268
+ moduleName: 'mysql2',
269
+ fileName: 'lib/connection.js',
270
+ methodName: 'prototype.query',
271
+ isModule: true
272
+ }
273
+ ],
274
+ [
275
+ 'mysql2/lib/connection.Connection.execute',
276
+ {
277
+ moduleName: 'mysql2',
278
+ fileName: 'lib/connection.js',
279
+ methodName: 'prototype.execute',
280
+ isModule: true
281
+ }
282
+ ],
283
+ [
284
+ 'sequelize.prototype.query',
285
+ {
286
+ moduleName: 'sequelize',
287
+ version: '>=5.0.0',
288
+ methodName: 'prototype.query',
289
+ isModule: true
290
+ }
291
+ ],
292
+ [
293
+ 'sequelize/lib/sql-string.escape',
294
+ {
295
+ moduleName: 'sequelize',
296
+ version: '>=5.0.0',
297
+ methodName: 'escape',
298
+ isModule: true,
299
+ source: 'P',
300
+ target: 'R'
301
+ }
302
+ ],
303
+ [
304
+ 'sequelize/lib/sql-string.format',
305
+ {
306
+ moduleName: 'sequelize',
307
+ version: '>=5.0.0',
308
+ methodName: 'format',
309
+ isModule: true,
310
+ source: 'P',
311
+ target: 'R'
312
+ }
313
+ ],
314
+ [
315
+ 'sequelize/lib/sql-string.formatNamedParameters',
316
+ {
317
+ moduleName: 'sequelize',
318
+ version: '>=5.0.0',
319
+ methodName: 'formatNamedParameters',
320
+ isModule: true,
321
+ source: 'P',
322
+ target: 'R'
323
+ }
324
+ ],
325
+ [
326
+ 'mongodb.Db.prototype.eval',
327
+ {
328
+ moduleName: 'mongodb',
329
+ version: '>=3.3.0',
330
+ methodName: 'Db.prototype.eval',
331
+ isModule: true
332
+ }
333
+ ],
334
+ [
335
+ 'mongodb.Collection.prototype.rename',
336
+ {
337
+ moduleName: 'mongodb',
338
+ version: '>=3.3.0',
339
+ methodName: 'Collection.prototype.rename',
340
+ isModule: true
341
+ }
342
+ ],
343
+ [
344
+ 'marsdb.Collection.prototype.find',
345
+ {
346
+ moduleName: 'marsdb',
347
+ methodName: 'Collection.prototype.find',
348
+ isModule: true
349
+ }
350
+ ],
351
+ [
352
+ 'marsdb.Collection.prototype.findOne',
353
+ {
354
+ moduleName: 'marsdb',
355
+ methodName: 'Collection.prototype.findOne',
356
+ isModule: true
357
+ }
358
+ ],
359
+ [
360
+ 'marsdb.Collection.prototype.update',
361
+ {
362
+ moduleName: 'marsdb',
363
+ methodName: 'Collection.prototype.update',
364
+ isModule: true
365
+ }
366
+ ],
367
+ [
368
+ 'marsdb.Collection.prototype.insert',
369
+ {
370
+ moduleName: 'marsdb',
371
+ methodName: 'Collection.prototype.insert',
372
+ isModule: true
373
+ }
374
+ ],
375
+ [
376
+ 'express.response.json',
377
+ {
378
+ moduleName: 'express',
379
+ version: '>=4.0.0',
380
+ methodName: 'response.json',
381
+ isModule: true
382
+ }
383
+ ],
384
+ [
385
+ 'mustache.escape',
386
+ { moduleName: 'mustache', methodName: 'escape', isModule: true }
387
+ ],
388
+ [
389
+ 'dust.escapeHtml',
390
+ {
391
+ moduleName: 'dustjs-linkedin',
392
+ methodName: 'escapeHtml',
393
+ isModule: true
394
+ }
395
+ ],
396
+ [
397
+ 'dust.escapeJs',
398
+ {
399
+ moduleName: 'dustjs-linkedin',
400
+ methodName: 'escapeJs',
401
+ isModule: true
402
+ }
403
+ ],
404
+ [
405
+ 'express.response.send',
406
+ {
407
+ moduleName: 'express',
408
+ version: '>=4.0.0',
409
+ methodName: 'response.send',
410
+ isModule: true
411
+ }
412
+ ],
413
+ [
414
+ 'express.response.push',
415
+ {
416
+ moduleName: 'express',
417
+ version: '>=4.0.0',
418
+ methodName: 'response.push',
419
+ isModule: true
420
+ }
421
+ ],
422
+ [
423
+ 'express.response.set',
424
+ {
425
+ moduleName: 'express',
426
+ version: '>=4.0.0',
427
+ methodName: 'response.set',
428
+ isModule: true
429
+ }
430
+ ],
431
+ [
432
+ 'express.response.setHeaders',
433
+ {
434
+ moduleName: 'express',
435
+ version: '>=4.0.0',
436
+ methodName: 'response.setHeaders',
437
+ isModule: true
438
+ }
439
+ ],
440
+ [
441
+ 'express.response.append',
442
+ {
443
+ moduleName: 'express',
444
+ version: '>=4.0.0',
445
+ methodName: 'response.append',
446
+ isModule: true
447
+ }
448
+ ],
449
+ [
450
+ 'express.response.redirect',
451
+ {
452
+ moduleName: 'express',
453
+ version: '>=4.0.0',
454
+ methodName: 'response.redirect',
455
+ isModule: true
456
+ }
457
+ ],
458
+ [
459
+ 'express.response.location',
460
+ {
461
+ moduleName: 'express',
462
+ version: '>=4.0.0',
463
+ methodName: 'response.location',
464
+ isModule: true
465
+ }
466
+ ],
467
+ [
468
+ 'swig.compile',
469
+ { moduleName: 'swig', methodName: 'compile', isModule: true }
470
+ ],
471
+ [
472
+ 'sql-template-strings.SQL',
473
+ {
474
+ moduleName: 'sql-template-strings',
475
+ methodName: 'SQL',
476
+ isModule: true,
477
+ source: 'P',
478
+ target: 'R'
479
+ }
480
+ ],
481
+ [
482
+ 'child_process.spawnSync',
483
+ {
484
+ moduleName: 'child_process',
485
+ methodName: 'spawnSync',
486
+ isModule: true
487
+ }
488
+ ],
489
+ [
490
+ 'child_process.spawn',
491
+ { moduleName: 'child_process', methodName: 'spawn', isModule: true }
492
+ ],
493
+ [
494
+ 'child_process.exec',
495
+ { moduleName: 'child_process', methodName: 'exec', isModule: true }
496
+ ],
497
+ [
498
+ 'child_process.execSync',
499
+ {
500
+ moduleName: 'child_process',
501
+ methodName: 'execSync',
502
+ isModule: true
503
+ }
504
+ ],
505
+ [
506
+ 'Math.random',
507
+ { moduleName: 'Math', methodName: 'random', isModule: false }
508
+ ],
509
+ [
510
+ 'JSON.parse',
511
+ { moduleName: 'JSON', methodName: 'parse', isModule: false }
512
+ ],
513
+ [
514
+ 'JSON.stringify',
515
+ { moduleName: 'JSON', methodName: 'stringify', isModule: false }
516
+ ],
517
+ [
518
+ 'fast-safe-stringify',
519
+ {
520
+ moduleName: 'fast-safe-stringify',
521
+ methodName: '',
522
+ isModule: true,
523
+ source: 'P',
524
+ target: 'R'
525
+ }
526
+ ],
527
+ [
528
+ 'fast-json-stable-stringify',
529
+ {
530
+ moduleName: 'fast-json-stable-stringify',
531
+ methodName: '',
532
+ isModule: true,
533
+ source: 'P',
534
+ target: 'R'
535
+ }
536
+ ],
537
+ [
538
+ 'crypto.createHash',
539
+ { moduleName: 'crypto', methodName: 'createHash', isModule: true }
540
+ ],
541
+ [
542
+ 'crypto.createCipher',
543
+ { moduleName: 'crypto', methodName: 'createCipher', isModule: true }
544
+ ],
545
+ [
546
+ 'crypto.createCipheriv',
547
+ { moduleName: 'crypto', methodName: 'createCipheriv', isModule: true }
548
+ ],
549
+ [
550
+ 'encodeURI',
551
+ { moduleName: 'global', methodName: 'encodeURI', isModule: false }
552
+ ],
553
+ [
554
+ 'encodeURIComponent',
555
+ {
556
+ moduleName: 'global',
557
+ methodName: 'encodeURIComponent',
558
+ isModule: false
559
+ }
560
+ ],
561
+ [
562
+ 'global.encodeURIComponent',
563
+ {
564
+ moduleName: 'global',
565
+ methodName: 'encodeURIComponent',
566
+ isModule: false,
567
+ source: 'P',
568
+ target: 'R'
569
+ }
570
+ ],
571
+ [
572
+ 'global.decodeURIComponent',
573
+ {
574
+ moduleName: 'global',
575
+ methodName: 'decodeURIComponent',
576
+ isModule: false,
577
+ source: 'P',
578
+ target: 'R'
579
+ }
580
+ ],
581
+ [
582
+ 'escape-html',
583
+ {
584
+ moduleName: 'escape-html',
585
+ methodName: '',
586
+ isModule: true,
587
+ source: 'P',
588
+ target: 'R'
589
+ }
590
+ ],
591
+ [
592
+ 'global.escape',
593
+ {
594
+ moduleName: 'global',
595
+ methodName: 'escape',
596
+ isModule: false,
597
+ source: 'P',
598
+ target: 'R'
599
+ }
600
+ ],
601
+ [
602
+ 'global.unescape',
603
+ {
604
+ moduleName: 'global',
605
+ methodName: 'unescape',
606
+ isModule: false,
607
+ source: 'P',
608
+ target: 'R'
609
+ }
610
+ ],
611
+ [
612
+ 'Function',
613
+ {
614
+ moduleName: 'global',
615
+ methodName: 'ContrastFunction',
616
+ name: 'Function sink',
617
+ staticName: true,
618
+ isModule: false
619
+ }
620
+ ],
621
+ [
622
+ 'eval',
623
+ {
624
+ moduleName: 'global',
625
+ methodName: 'ContrastMethods.__contrastEval',
626
+ isModule: false
627
+ }
628
+ ],
629
+ ['notevil', { moduleName: 'notevil', methodName: '', isModule: true }],
630
+ [
631
+ 'vm.runInContext',
632
+ { moduleName: 'vm', methodName: 'runInContext', isModule: true }
633
+ ],
634
+ [
635
+ 'vm.runInNewContext',
636
+ { moduleName: 'vm', methodName: 'runInNewContext', isModule: true }
637
+ ],
638
+ [
639
+ 'vm.runInThisContext',
640
+ { moduleName: 'vm', methodName: 'runInThisContext', isModule: true }
641
+ ],
642
+ [
643
+ 'handlebars/dist/cjs/handlebars/utils.escapeExpression',
644
+ {
645
+ moduleName: 'handlebars',
646
+ version: '>=4.0.0',
647
+ methodName: 'utils.escapeExpression',
648
+ isModule: true
649
+ }
650
+ ],
651
+ [
652
+ 'handlebars.Utils.escapeExpression',
653
+ {
654
+ moduleName: 'handlebars',
655
+ version: '>=4.0.0',
656
+ methodName: 'Utils.escapeExpression',
657
+ isModule: true,
658
+ source: 'P',
659
+ target: 'R'
660
+ }
661
+ ],
662
+ [
663
+ 'ejs.Template.prototype.generateSource',
664
+ {
665
+ moduleName: 'ejs',
666
+ version: '>=2.6.2',
667
+ methodName: 'Template.prototype.generateSource',
668
+ isModule: true,
669
+ source: 'P',
670
+ target: 'R'
671
+ }
672
+ ],
673
+ [
674
+ 'ejs.utils.escapeXML',
675
+ {
676
+ moduleName: 'ejs',
677
+ version: '>=2.6.2',
678
+ fileName: 'lib/utils.js',
679
+ methodName: 'escapeXML',
680
+ isModule: true,
681
+ source: 'P',
682
+ target: 'R'
683
+ }
684
+ ],
685
+ [
686
+ 'ContrastMethods.add',
687
+ {
688
+ moduleName: 'global',
689
+ methodName: 'ContrastMethods.add',
690
+ isModule: false,
691
+ source: 'P',
692
+ target: 'R'
693
+ }
694
+ ],
695
+ [
696
+ 'ContrastMethods.tag',
697
+ {
698
+ moduleName: 'global',
699
+ methodName: 'ContrastMethods.tag',
700
+ isModule: false,
701
+ source: 'P',
702
+ target: 'R'
703
+ }
704
+ ],
705
+ [
706
+ 'Array.prototype.join',
707
+ {
708
+ moduleName: 'Array',
709
+ methodName: 'prototype.join',
710
+ isModule: false,
711
+ source: 'O',
712
+ target: 'R'
713
+ }
714
+ ],
715
+ [
716
+ 'String.prototype.concat',
717
+ {
718
+ moduleName: 'String',
719
+ methodName: 'prototype.concat',
720
+ isModule: false,
721
+ source: 'P',
722
+ target: 'R'
723
+ }
724
+ ],
725
+ [
726
+ 'String.prototype.slice',
727
+ {
728
+ moduleName: 'String',
729
+ methodName: 'prototype.slice',
730
+ isModule: false,
731
+ source: 'O',
732
+ target: 'R'
733
+ }
734
+ ],
735
+ [
736
+ 'String.prototype.substring',
737
+ {
738
+ moduleName: 'String',
739
+ methodName: 'prototype.substring',
740
+ isModule: false,
741
+ source: 'O',
742
+ target: 'R'
743
+ }
744
+ ],
745
+ [
746
+ 'String.prototype.substr',
747
+ {
748
+ moduleName: 'String',
749
+ methodName: 'prototype.substr',
750
+ isModule: false,
751
+ source: 'O',
752
+ target: 'R'
753
+ }
754
+ ],
755
+ [
756
+ 'String.prototype.replace',
757
+ {
758
+ moduleName: 'String',
759
+ methodName: 'prototype.replace',
760
+ isModule: false,
761
+ source: 'O',
762
+ target: 'R'
763
+ }
764
+ ],
765
+ [
766
+ 'String.prototype.trim',
767
+ {
768
+ moduleName: 'String',
769
+ methodName: 'prototype.trim',
770
+ isModule: false
771
+ }
772
+ ],
773
+ [
774
+ 'String.prototype.anchor',
775
+ {
776
+ moduleName: 'String',
777
+ methodName: 'prototype.anchor',
778
+ isModule: false,
779
+ source: 'O',
780
+ target: 'R'
781
+ }
782
+ ],
783
+ [
784
+ 'String.prototype.big',
785
+ {
786
+ moduleName: 'String',
787
+ methodName: 'prototype.big',
788
+ isModule: false,
789
+ source: 'O',
790
+ target: 'R'
791
+ }
792
+ ],
793
+ [
794
+ 'String.prototype.blink',
795
+ {
796
+ moduleName: 'String',
797
+ methodName: 'prototype.blink',
798
+ isModule: false,
799
+ source: 'O',
800
+ target: 'R'
801
+ }
802
+ ],
803
+ [
804
+ 'String.prototype.italics',
805
+ {
806
+ moduleName: 'String',
807
+ methodName: 'prototype.italics',
808
+ isModule: false,
809
+ source: 'O',
810
+ target: 'R'
811
+ }
812
+ ],
813
+ [
814
+ 'String.prototype.small',
815
+ {
816
+ moduleName: 'String',
817
+ methodName: 'prototype.small',
818
+ isModule: false,
819
+ source: 'O',
820
+ target: 'R'
821
+ }
822
+ ],
823
+ [
824
+ 'String.prototype.strike',
825
+ {
826
+ moduleName: 'String',
827
+ methodName: 'prototype.strike',
828
+ isModule: false,
829
+ source: 'O',
830
+ target: 'R'
831
+ }
832
+ ],
833
+ [
834
+ 'String.prototype.sub',
835
+ {
836
+ moduleName: 'String',
837
+ methodName: 'prototype.sub',
838
+ isModule: false,
839
+ source: 'O',
840
+ target: 'R'
841
+ }
842
+ ],
843
+ [
844
+ 'String.prototype.fixed',
845
+ {
846
+ moduleName: 'String',
847
+ methodName: 'prototype.fixed',
848
+ isModule: false,
849
+ source: 'O',
850
+ target: 'R'
851
+ }
852
+ ],
853
+ [
854
+ 'String.prototype.trimLeft',
855
+ {
856
+ moduleName: 'String',
857
+ methodName: 'prototype.trimLeft',
858
+ isModule: false,
859
+ source: 'O',
860
+ target: 'R'
861
+ }
862
+ ],
863
+ [
864
+ 'String.prototype.toLocaleLowerCase',
865
+ {
866
+ moduleName: 'String',
867
+ methodName: 'prototype.toLocaleLowerCase',
868
+ isModule: false,
869
+ source: 'O',
870
+ target: 'R'
871
+ }
872
+ ],
873
+ [
874
+ 'String.prototype.toLocaleUpperCase',
875
+ {
876
+ moduleName: 'String',
877
+ methodName: 'prototype.toLocaleUpperCase',
878
+ isModule: false,
879
+ source: 'O',
880
+ target: 'R'
881
+ }
882
+ ],
883
+ [
884
+ 'String.prototype.toLowerCase',
885
+ {
886
+ moduleName: 'String',
887
+ methodName: 'prototype.toLowerCase',
888
+ isModule: false,
889
+ source: 'O',
890
+ target: 'R'
891
+ }
892
+ ],
893
+ [
894
+ 'String.prototype.toUpperCase',
895
+ {
896
+ moduleName: 'String',
897
+ methodName: 'prototype.toUpperCase',
898
+ isModule: false,
899
+ source: 'O',
900
+ target: 'R'
901
+ }
902
+ ],
903
+ [
904
+ 'Array.prototype.toString',
905
+ {
906
+ moduleName: 'Array',
907
+ methodName: 'prototype.toString',
908
+ isModule: false,
909
+ source: 'O',
910
+ target: 'R'
911
+ }
912
+ ],
913
+ [
914
+ 'Buffer.prototype.write',
915
+ {
916
+ moduleName: 'Buffer',
917
+ methodName: 'prototype.write',
918
+ isModule: false
919
+ }
920
+ ],
921
+ [
922
+ 'xpath.select',
923
+ { moduleName: 'xpath', methodName: 'select', isModule: true }
924
+ ],
925
+ [
926
+ 'String.prototype.split',
927
+ {
928
+ moduleName: 'String',
929
+ methodName: 'prototype.split',
930
+ isModule: false,
931
+ source: 'O',
932
+ target: 'R'
933
+ }
934
+ ],
935
+ [
936
+ 'sqlite3.Database.prototype.all',
937
+ {
938
+ moduleName: 'sqlite3',
939
+ version: '>=4.0.0',
940
+ methodName: 'Database.prototype.all',
941
+ isModule: true
942
+ }
943
+ ],
944
+ [
945
+ 'sqlite3.Database.prototype.run',
946
+ {
947
+ moduleName: 'sqlite3',
948
+ version: '>=4.0.0',
949
+ methodName: 'Database.prototype.run',
950
+ isModule: true
951
+ }
952
+ ],
953
+ [
954
+ 'sqlite3.Database.prototype.get',
955
+ {
956
+ moduleName: 'sqlite3',
957
+ version: '>=4.0.0',
958
+ methodName: 'Database.prototype.get',
959
+ isModule: true
960
+ }
961
+ ],
962
+ [
963
+ 'sqlite3.Database.prototype.each',
964
+ {
965
+ moduleName: 'sqlite3',
966
+ version: '>=4.0.0',
967
+ methodName: 'Database.prototype.each',
968
+ isModule: true
969
+ }
970
+ ],
971
+ [
972
+ 'sqlite3.Database.prototype.exec',
973
+ {
974
+ moduleName: 'sqlite3',
975
+ version: '>=4.0.0',
976
+ methodName: 'Database.prototype.exec',
977
+ isModule: true
978
+ }
979
+ ],
980
+ [
981
+ 'sqlite3.Database.prototype.prepare',
982
+ {
983
+ moduleName: 'sqlite3',
984
+ version: '>=4.0.0',
985
+ methodName: 'Database.prototype.prepare',
986
+ isModule: true
987
+ }
988
+ ],
989
+ [
990
+ 'mssql/lib/base/prepared-statement.prototype.prepare',
991
+ {
992
+ moduleName: 'mssql',
993
+ version: '>=6.4.0',
994
+ methodName: 'PreparedStatement.prototype.prepare',
995
+ isModule: true
996
+ }
997
+ ],
998
+ [
999
+ 'mssql/lib/base/request.prototype.batch',
1000
+ {
1001
+ moduleName: 'mssql',
1002
+ version: '>=6.4.0',
1003
+ methodName: 'Request.prototype.batch',
1004
+ isModule: true
1005
+ }
1006
+ ],
1007
+ [
1008
+ 'mssql/lib/base/request.prototype.query',
1009
+ {
1010
+ moduleName: 'mssql',
1011
+ version: '>=6.4.0',
1012
+ methodName: 'Request.prototype.query',
1013
+ isModule: true
1014
+ }
1015
+ ],
1016
+ [
1017
+ 'path.format',
1018
+ {
1019
+ moduleName: 'path',
1020
+ methodName: 'format',
1021
+ isModule: true,
1022
+ source: 'P',
1023
+ target: 'R'
1024
+ }
1025
+ ],
1026
+ [
1027
+ 'path.dirname',
1028
+ {
1029
+ moduleName: 'path',
1030
+ methodName: 'dirname',
1031
+ isModule: true,
1032
+ source: 'P',
1033
+ target: 'R'
1034
+ }
1035
+ ],
1036
+ [
1037
+ 'path.extname',
1038
+ { moduleName: 'path', methodName: 'extname', isModule: true }
1039
+ ],
1040
+ [
1041
+ 'path.basename',
1042
+ {
1043
+ moduleName: 'path',
1044
+ methodName: 'basename',
1045
+ isModule: true,
1046
+ source: 'P',
1047
+ target: 'R'
1048
+ }
1049
+ ],
1050
+ [
1051
+ 'path.parse',
1052
+ {
1053
+ moduleName: 'path',
1054
+ methodName: 'parse',
1055
+ isModule: true,
1056
+ source: 'P',
1057
+ target: 'R'
1058
+ }
1059
+ ],
1060
+ [
1061
+ 'path.join',
1062
+ {
1063
+ moduleName: 'path',
1064
+ methodName: 'join',
1065
+ isModule: true,
1066
+ source: 'P',
1067
+ target: 'R'
1068
+ }
1069
+ ],
1070
+ [
1071
+ 'path.relative',
1072
+ {
1073
+ moduleName: 'path',
1074
+ methodName: 'relative',
1075
+ isModule: true,
1076
+ source: 'P',
1077
+ target: 'R'
1078
+ }
1079
+ ],
1080
+ [
1081
+ 'path.resolve',
1082
+ {
1083
+ moduleName: 'path',
1084
+ methodName: 'resolve',
1085
+ isModule: true,
1086
+ source: 'P',
1087
+ target: 'R'
1088
+ }
1089
+ ],
1090
+ [
1091
+ 'path.toNamespacedPath',
1092
+ {
1093
+ moduleName: 'path',
1094
+ methodName: 'toNamespacedPath',
1095
+ isModule: true,
1096
+ source: 'P',
1097
+ target: 'R'
1098
+ }
1099
+ ],
1100
+ [
1101
+ 'path.normalize',
1102
+ {
1103
+ moduleName: 'path',
1104
+ methodName: 'normalize',
1105
+ isModule: true,
1106
+ source: 'P',
1107
+ target: 'R'
1108
+ }
1109
+ ],
1110
+ [
1111
+ 'util.format',
1112
+ {
1113
+ moduleName: 'util',
1114
+ methodName: 'format',
1115
+ isModule: true,
1116
+ source: 'P',
1117
+ target: 'R'
1118
+ }
1119
+ ],
1120
+ [
1121
+ 'fs.access',
1122
+ { moduleName: 'fs', methodName: 'access', isModule: true }
1123
+ ],
1124
+ [
1125
+ 'fs.accessSync',
1126
+ { moduleName: 'fs', methodName: 'accessSync', isModule: true }
1127
+ ],
1128
+ [
1129
+ 'fs.copyFile',
1130
+ { moduleName: 'fs', methodName: 'copyFile', isModule: true }
1131
+ ],
1132
+ [
1133
+ 'fs.copyFileSync',
1134
+ { moduleName: 'fs', methodName: 'copyFileSync', isModule: true }
1135
+ ],
1136
+ [
1137
+ 'fs.appendFile',
1138
+ { moduleName: 'fs', methodName: 'appendFile', isModule: true }
1139
+ ],
1140
+ [
1141
+ 'fs.appendFileSync',
1142
+ { moduleName: 'fs', methodName: 'appendFileSync', isModule: true }
1143
+ ],
1144
+ [
1145
+ 'fs.writeFile',
1146
+ { moduleName: 'fs', methodName: 'writeFile', isModule: true }
1147
+ ],
1148
+ [
1149
+ 'fs.writeFileSync',
1150
+ { moduleName: 'fs', methodName: 'writeFileSync', isModule: true }
1151
+ ],
1152
+ [
1153
+ 'fs.createWriteStream',
1154
+ { moduleName: 'fs', methodName: 'createWriteStream', isModule: true }
1155
+ ],
1156
+ [
1157
+ 'fs.createReadStream',
1158
+ { moduleName: 'fs', methodName: 'createReadStream', isModule: true }
1159
+ ],
1160
+ [
1161
+ 'fs.unlink',
1162
+ { moduleName: 'fs', methodName: 'unlink', isModule: true }
1163
+ ],
1164
+ [
1165
+ 'fs.unlinkSync',
1166
+ { moduleName: 'fs', methodName: 'unlinkSync', isModule: true }
1167
+ ],
1168
+ [
1169
+ 'fs.truncate',
1170
+ { moduleName: 'fs', methodName: 'truncate', isModule: true }
1171
+ ],
1172
+ [
1173
+ 'fs.truncateSync',
1174
+ { moduleName: 'fs', methodName: 'truncateSync', isModule: true }
1175
+ ],
1176
+ ['fs.rmdir', { moduleName: 'fs', methodName: 'rmdir', isModule: true }],
1177
+ [
1178
+ 'fs.rmdirSync',
1179
+ { moduleName: 'fs', methodName: 'rmdirSync', isModule: true }
1180
+ ],
1181
+ [
1182
+ 'fs.rename',
1183
+ { moduleName: 'fs', methodName: 'rename', isModule: true }
1184
+ ],
1185
+ [
1186
+ 'fs.renameSync',
1187
+ { moduleName: 'fs', methodName: 'renameSync', isModule: true }
1188
+ ],
1189
+ [
1190
+ 'fs.readFile',
1191
+ { moduleName: 'fs', methodName: 'readFile', isModule: true }
1192
+ ],
1193
+ [
1194
+ 'fs.readFileSync',
1195
+ { moduleName: 'fs', methodName: 'readFileSync', isModule: true }
1196
+ ],
1197
+ [
1198
+ 'fs.readdir',
1199
+ { moduleName: 'fs', methodName: 'readdir', isModule: true }
1200
+ ],
1201
+ [
1202
+ 'fs.readdirSync',
1203
+ { moduleName: 'fs', methodName: 'readdirSync', isModule: true }
1204
+ ],
1205
+ ['fs.open', { moduleName: 'fs', methodName: 'open', isModule: true }],
1206
+ [
1207
+ 'fs.openSync',
1208
+ { moduleName: 'fs', methodName: 'openSync', isModule: true }
1209
+ ],
1210
+ ['fs.mkdir', { moduleName: 'fs', methodName: 'mkdir', isModule: true }],
1211
+ [
1212
+ 'fs.mkdirSync',
1213
+ { moduleName: 'fs', methodName: 'mkdirSync', isModule: true }
1214
+ ],
1215
+ [
1216
+ 'fs.readlink',
1217
+ { moduleName: 'fs', methodName: 'readlink', isModule: true }
1218
+ ],
1219
+ [
1220
+ 'fs.readlinkSync',
1221
+ { moduleName: 'fs', methodName: 'readlinkSync', isModule: true }
1222
+ ],
1223
+ [
1224
+ 'fs.symlink',
1225
+ { moduleName: 'fs', methodName: 'symlink', isModule: true }
1226
+ ],
1227
+ [
1228
+ 'fs.symlinkSync',
1229
+ { moduleName: 'fs', methodName: 'symlinkSync', isModule: true }
1230
+ ],
1231
+ ['fs.chmod', { moduleName: 'fs', methodName: 'chmod', isModule: true }],
1232
+ [
1233
+ 'fs.chmodSync',
1234
+ { moduleName: 'fs', methodName: 'chmodSync', isModule: true }
1235
+ ],
1236
+ [
1237
+ 'fs.lchmod',
1238
+ { moduleName: 'fs', methodName: 'lchmod', isModule: true }
1239
+ ],
1240
+ [
1241
+ 'fs.lchmodSync',
1242
+ { moduleName: 'fs', methodName: 'lchmodSync', isModule: true }
1243
+ ],
1244
+ ['fs.chown', { moduleName: 'fs', methodName: 'chown', isModule: true }],
1245
+ [
1246
+ 'fs.chownSync',
1247
+ { moduleName: 'fs', methodName: 'chownSync', isModule: true }
1248
+ ],
1249
+ [
1250
+ 'fs.lchown',
1251
+ { moduleName: 'fs', methodName: 'lchown', isModule: true }
1252
+ ],
1253
+ [
1254
+ 'fs.lchownSync',
1255
+ { moduleName: 'fs', methodName: 'lchownSync', isModule: true }
1256
+ ],
1257
+ [
1258
+ 'querystring.escape',
1259
+ { moduleName: 'querystring', methodName: 'escape', isModule: true }
1260
+ ],
1261
+ [
1262
+ 'querystring.unescape',
1263
+ { moduleName: 'querystring', methodName: 'unescape', isModule: true }
1264
+ ],
1265
+ [
1266
+ 'querystring.stringify',
1267
+ { moduleName: 'querystring', methodName: 'stringify', isModule: true }
1268
+ ],
1269
+ [
1270
+ 'querystring.encode',
1271
+ { moduleName: 'querystring', methodName: 'encode', isModule: true }
1272
+ ],
1273
+ [
1274
+ 'querystring.parse',
1275
+ { moduleName: 'querystring', methodName: 'parse', isModule: true }
1276
+ ],
1277
+ [
1278
+ 'querystring.decode',
1279
+ { moduleName: 'querystring', methodName: 'decode', isModule: true }
1280
+ ],
1281
+ [
1282
+ 'libxmljs.parseXmlString',
1283
+ {
1284
+ moduleName: 'libxmljs',
1285
+ methodName: 'parseXmlString',
1286
+ isModule: true
1287
+ }
1288
+ ],
1289
+ [
1290
+ 'libxmljs.parseXml',
1291
+ { moduleName: 'libxmljs', methodName: 'parseXml', isModule: true }
1292
+ ],
1293
+ [
1294
+ 'libxmljs2.parseXmlString',
1295
+ {
1296
+ moduleName: 'libxmljs2',
1297
+ methodName: 'parseXmlString',
1298
+ isModule: true
1299
+ }
1300
+ ],
1301
+ [
1302
+ 'libxmljs2.parseXml',
1303
+ { moduleName: 'libxmljs2', methodName: 'parseXml', isModule: true }
1304
+ ],
1305
+ [
1306
+ 'pug.compile',
1307
+ {
1308
+ moduleName: 'pug',
1309
+ version: '>=3.0.0',
1310
+ fileName: 'lib/index.js',
1311
+ methodName: 'compile',
1312
+ isModule: true
1313
+ }
1314
+ ],
1315
+ [
1316
+ 'pug-runtime.escape',
1317
+ {
1318
+ moduleName: 'pug-runtime',
1319
+ methodName: 'escape',
1320
+ isModule: true,
1321
+ source: 'P',
1322
+ target: 'R'
1323
+ }
1324
+ ],
1325
+ [
1326
+ 'handlebars.JavaScriptCompiler.compile',
1327
+ {
1328
+ moduleName: 'handlebars',
1329
+ version: '>=4.0.0',
1330
+ fileName: 'dist/cjs/handlebars/compiler/javascript-compiler.js',
1331
+ methodName: 'prototype.compile',
1332
+ isModule: true
1333
+ }
1334
+ ],
1335
+ [
1336
+ 'validator.isAfter',
1337
+ {
1338
+ moduleName: 'validator',
1339
+ version: '>=13.0.0',
1340
+ methodName: 'isAfter',
1341
+ isModule: true
1342
+ }
1343
+ ],
1344
+ [
1345
+ 'validator.isAlpha',
1346
+ {
1347
+ moduleName: 'validator',
1348
+ version: '>=13.0.0',
1349
+ methodName: 'isAlpha',
1350
+ isModule: true
1351
+ }
1352
+ ],
1353
+ [
1354
+ 'validator.isAlphanumeric',
1355
+ {
1356
+ moduleName: 'validator',
1357
+ version: '>=13.0.0',
1358
+ methodName: 'isAlphanumeric',
1359
+ isModule: true
1360
+ }
1361
+ ],
1362
+ [
1363
+ 'validator.isBase32',
1364
+ {
1365
+ moduleName: 'validator',
1366
+ version: '>=13.0.0',
1367
+ methodName: 'isBase32',
1368
+ isModule: true
1369
+ }
1370
+ ],
1371
+ [
1372
+ 'validator.isBase58',
1373
+ {
1374
+ moduleName: 'validator',
1375
+ version: '>=13.0.0',
1376
+ methodName: 'isBase58',
1377
+ isModule: true
1378
+ }
1379
+ ],
1380
+ [
1381
+ 'validator.isBefore',
1382
+ {
1383
+ moduleName: 'validator',
1384
+ version: '>=13.0.0',
1385
+ methodName: 'isBefore',
1386
+ isModule: true
1387
+ }
1388
+ ],
1389
+ [
1390
+ 'validator.isBIC',
1391
+ {
1392
+ moduleName: 'validator',
1393
+ version: '>=13.0.0',
1394
+ methodName: 'isBIC',
1395
+ isModule: true
1396
+ }
1397
+ ],
1398
+ [
1399
+ 'validator.isBoolean',
1400
+ {
1401
+ moduleName: 'validator',
1402
+ version: '>=13.0.0',
1403
+ methodName: 'isBoolean',
1404
+ isModule: true
1405
+ }
1406
+ ],
1407
+ [
1408
+ 'validator.isBtcAddress',
1409
+ {
1410
+ moduleName: 'validator',
1411
+ version: '>=13.0.0',
1412
+ methodName: 'isBtcAddress',
1413
+ isModule: true
1414
+ }
1415
+ ],
1416
+ [
1417
+ 'validator.isCreditCard',
1418
+ {
1419
+ moduleName: 'validator',
1420
+ version: '>=13.0.0',
1421
+ methodName: 'isCreditCard',
1422
+ isModule: true
1423
+ }
1424
+ ],
1425
+ [
1426
+ 'validator.isDate',
1427
+ {
1428
+ moduleName: 'validator',
1429
+ version: '>=13.0.0',
1430
+ methodName: 'isDecimal',
1431
+ isModule: true
1432
+ }
1433
+ ],
1434
+ [
1435
+ 'validator.isDecimal',
1436
+ {
1437
+ moduleName: 'validator',
1438
+ version: '>=13.0.0',
1439
+ methodName: 'isDecimal',
1440
+ isModule: true
1441
+ }
1442
+ ],
1443
+ [
1444
+ 'validator.isDivisibleBy',
1445
+ {
1446
+ moduleName: 'validator',
1447
+ version: '>=13.0.0',
1448
+ methodName: 'isDivisibleBy',
1449
+ isModule: true
1450
+ }
1451
+ ],
1452
+ [
1453
+ 'validator.isEAN',
1454
+ {
1455
+ moduleName: 'validator',
1456
+ version: '>=13.0.0',
1457
+ methodName: 'isEAN',
1458
+ isModule: true
1459
+ }
1460
+ ],
1461
+ [
1462
+ 'validator.isEmail',
1463
+ {
1464
+ moduleName: 'validator',
1465
+ version: '>=13.0.0',
1466
+ methodName: 'isEmail',
1467
+ isModule: true
1468
+ }
1469
+ ],
1470
+ [
1471
+ 'validator.isEthereumAddress',
1472
+ {
1473
+ moduleName: 'validator',
1474
+ version: '>=13.0.0',
1475
+ methodName: 'isEthereumAddress',
1476
+ isModule: true
1477
+ }
1478
+ ],
1479
+ [
1480
+ 'validator.isFloat',
1481
+ {
1482
+ moduleName: 'validator',
1483
+ version: '>=13.0.0',
1484
+ methodName: 'isFloat',
1485
+ isModule: true
1486
+ }
1487
+ ],
1488
+ [
1489
+ 'validator.isHash',
1490
+ {
1491
+ moduleName: 'validator',
1492
+ version: '>=13.0.0',
1493
+ methodName: 'isHash',
1494
+ isModule: true
1495
+ }
1496
+ ],
1497
+ [
1498
+ 'validator.isHexadecimal',
1499
+ {
1500
+ moduleName: 'validator',
1501
+ version: '>=13.0.0',
1502
+ methodName: 'isHexadecimal',
1503
+ isModule: true
1504
+ }
1505
+ ],
1506
+ [
1507
+ 'validator.isHexColor',
1508
+ {
1509
+ moduleName: 'validator',
1510
+ version: '>=13.0.0',
1511
+ methodName: 'isHexColor',
1512
+ isModule: true
1513
+ }
1514
+ ],
1515
+ [
1516
+ 'validator.isHSL',
1517
+ {
1518
+ moduleName: 'validator',
1519
+ version: '>=13.0.0',
1520
+ methodName: 'isHSL',
1521
+ isModule: true
1522
+ }
1523
+ ],
1524
+ [
1525
+ 'validator.isIBAN',
1526
+ {
1527
+ moduleName: 'validator',
1528
+ version: '>=13.0.0',
1529
+ methodName: 'isIBAN',
1530
+ isModule: true
1531
+ }
1532
+ ],
1533
+ [
1534
+ 'validator.isIdentityCard',
1535
+ {
1536
+ moduleName: 'validator',
1537
+ version: '>=13.0.0',
1538
+ methodName: 'isIdentityCard',
1539
+ isModule: true
1540
+ }
1541
+ ],
1542
+ [
1543
+ 'validator.isIMEI',
1544
+ {
1545
+ moduleName: 'validator',
1546
+ version: '>=13.0.0',
1547
+ methodName: 'isIMEI',
1548
+ isModule: true
1549
+ }
1550
+ ],
1551
+ [
1552
+ 'validator.isInt',
1553
+ {
1554
+ moduleName: 'validator',
1555
+ version: '>=13.0.0',
1556
+ methodName: 'isInt',
1557
+ isModule: true
1558
+ }
1559
+ ],
1560
+ [
1561
+ 'validator.isIP',
1562
+ {
1563
+ moduleName: 'validator',
1564
+ version: '>=13.0.0',
1565
+ methodName: 'isIP',
1566
+ isModule: true
1567
+ }
1568
+ ],
1569
+ [
1570
+ 'validator.isIPRange',
1571
+ {
1572
+ moduleName: 'validator',
1573
+ version: '>=13.0.0',
1574
+ methodName: 'isIPRange',
1575
+ isModule: true
1576
+ }
1577
+ ],
1578
+ [
1579
+ 'validator.isISBN',
1580
+ {
1581
+ moduleName: 'validator',
1582
+ version: '>=13.0.0',
1583
+ methodName: 'isISBN',
1584
+ isModule: true
1585
+ }
1586
+ ],
1587
+ [
1588
+ 'validator.isISIN',
1589
+ {
1590
+ moduleName: 'validator',
1591
+ version: '>=13.0.0',
1592
+ methodName: 'isISIN',
1593
+ isModule: true
1594
+ }
1595
+ ],
1596
+ [
1597
+ 'validator.isISO8601',
1598
+ {
1599
+ moduleName: 'validator',
1600
+ version: '>=13.0.0',
1601
+ methodName: 'isISO8601',
1602
+ isModule: true
1603
+ }
1604
+ ],
1605
+ [
1606
+ 'validator.isISO31661Alpha2',
1607
+ {
1608
+ moduleName: 'validator',
1609
+ version: '>=13.0.0',
1610
+ methodName: 'isISO31661Alpha2',
1611
+ isModule: true
1612
+ }
1613
+ ],
1614
+ [
1615
+ 'validator.isISO31661Alpha3',
1616
+ {
1617
+ moduleName: 'validator',
1618
+ version: '>=13.0.0',
1619
+ methodName: 'isISO31661Alpha3',
1620
+ isModule: true
1621
+ }
1622
+ ],
1623
+ [
1624
+ 'validator.isISRC',
1625
+ {
1626
+ moduleName: 'validator',
1627
+ version: '>=13.0.0',
1628
+ methodName: 'isISRC',
1629
+ isModule: true
1630
+ }
1631
+ ],
1632
+ [
1633
+ 'validator.isISSN',
1634
+ {
1635
+ moduleName: 'validator',
1636
+ version: '>=13.0.0',
1637
+ methodName: 'isISSN',
1638
+ isModule: true
1639
+ }
1640
+ ],
1641
+ [
1642
+ 'validator.isJWT',
1643
+ {
1644
+ moduleName: 'validator',
1645
+ version: '>=13.0.0',
1646
+ methodName: 'isJWT',
1647
+ isModule: true
1648
+ }
1649
+ ],
1650
+ [
1651
+ 'validator.isLatLong',
1652
+ {
1653
+ moduleName: 'validator',
1654
+ version: '>=13.0.0',
1655
+ methodName: 'isLatLong',
1656
+ isModule: true
1657
+ }
1658
+ ],
1659
+ [
1660
+ 'validator.isLicensePlate',
1661
+ {
1662
+ moduleName: 'validator',
1663
+ version: '>=13.0.0',
1664
+ methodName: 'isLicensePlate',
1665
+ isModule: true
1666
+ }
1667
+ ],
1668
+ [
1669
+ 'validator.isMACAddress',
1670
+ {
1671
+ moduleName: 'validator',
1672
+ version: '>=13.0.0',
1673
+ methodName: 'isMACAddress',
1674
+ isModule: true
1675
+ }
1676
+ ],
1677
+ [
1678
+ 'validator.isMagnetURI',
1679
+ {
1680
+ moduleName: 'validator',
1681
+ version: '>=13.0.0',
1682
+ methodName: 'isMagnetURI',
1683
+ isModule: true
1684
+ }
1685
+ ],
1686
+ [
1687
+ 'validator.isMD5',
1688
+ {
1689
+ moduleName: 'validator',
1690
+ version: '>=13.0.0',
1691
+ methodName: 'isMD5',
1692
+ isModule: true
1693
+ }
1694
+ ],
1695
+ [
1696
+ 'validator.isMobilePhone',
1697
+ {
1698
+ moduleName: 'validator',
1699
+ version: '>=13.0.0',
1700
+ methodName: 'isMobilePhone',
1701
+ isModule: true
1702
+ }
1703
+ ],
1704
+ [
1705
+ 'validator.isNumeric',
1706
+ {
1707
+ moduleName: 'validator',
1708
+ version: '>=13.0.0',
1709
+ methodName: 'isNumeric',
1710
+ isModule: true
1711
+ }
1712
+ ],
1713
+ [
1714
+ 'validator.isOctal',
1715
+ {
1716
+ moduleName: 'validator',
1717
+ version: '>=13.0.0',
1718
+ methodName: 'isOctal',
1719
+ isModule: true
1720
+ }
1721
+ ],
1722
+ [
1723
+ 'validator.isPassportNumber',
1724
+ {
1725
+ moduleName: 'validator',
1726
+ version: '>=13.0.0',
1727
+ methodName: 'isPassportNumber',
1728
+ isModule: true
1729
+ }
1730
+ ],
1731
+ [
1732
+ 'validator.isPort',
1733
+ {
1734
+ moduleName: 'validator',
1735
+ version: '>=13.0.0',
1736
+ methodName: 'isPort',
1737
+ isModule: true
1738
+ }
1739
+ ],
1740
+ [
1741
+ 'validator.isPostalCode',
1742
+ {
1743
+ moduleName: 'validator',
1744
+ version: '>=13.0.0',
1745
+ methodName: 'isPostalCode',
1746
+ isModule: true
1747
+ }
1748
+ ],
1749
+ [
1750
+ 'validator.isSemVer',
1751
+ {
1752
+ moduleName: 'validator',
1753
+ version: '>=13.0.0',
1754
+ methodName: 'isSemVer',
1755
+ isModule: true
1756
+ }
1757
+ ],
1758
+ [
1759
+ 'validator.isTaxID',
1760
+ {
1761
+ moduleName: 'validator',
1762
+ version: '>=13.0.0',
1763
+ methodName: 'isTaxID',
1764
+ isModule: true
1765
+ }
1766
+ ],
1767
+ [
1768
+ 'validator.isUUID',
1769
+ {
1770
+ moduleName: 'validator',
1771
+ version: '>=13.0.0',
1772
+ methodName: 'isUUID',
1773
+ isModule: true
1774
+ }
1775
+ ],
1776
+ [
1777
+ 'validator.isVAT',
1778
+ {
1779
+ moduleName: 'validator',
1780
+ version: '>=13.0.0',
1781
+ methodName: 'isVAT',
1782
+ isModule: true
1783
+ }
1784
+ ],
1785
+ [
1786
+ 'validator.escape',
1787
+ {
1788
+ moduleName: 'validator',
1789
+ version: '>=13.0.0',
1790
+ methodName: 'escape',
1791
+ isModule: true
1792
+ }
1793
+ ],
1794
+ [
1795
+ 'validator.isIn',
1796
+ {
1797
+ moduleName: 'validator',
1798
+ version: '>=13.0.0',
1799
+ methodName: 'isIn',
1800
+ isModule: true
1801
+ }
1802
+ ],
1803
+ [
1804
+ 'validator.isMimeType',
1805
+ {
1806
+ moduleName: 'validator',
1807
+ version: '>=13.0.0',
1808
+ methodName: 'isMimeType',
1809
+ isModule: true
1810
+ }
1811
+ ],
1812
+ [
1813
+ 'validator.isRFC3339',
1814
+ {
1815
+ moduleName: 'validator',
1816
+ version: '>=13.0.0',
1817
+ methodName: 'isRFC3339',
1818
+ isModule: true
1819
+ }
1820
+ ],
1821
+ [
1822
+ 'validator.matches',
1823
+ {
1824
+ moduleName: 'validator',
1825
+ version: '>=13.0.0',
1826
+ methodName: 'matches',
1827
+ isModule: true
1828
+ }
1829
+ ],
1830
+ [
1831
+ 'joi.boolean.coerce',
1832
+ {
1833
+ moduleName: 'joi',
1834
+ version: '>=17.0.0',
1835
+ methodName: 'boolean.coerce',
1836
+ isModule: true
1837
+ }
1838
+ ],
1839
+ [
1840
+ 'joi.number.coerce',
1841
+ {
1842
+ moduleName: 'joi',
1843
+ version: '>=17.0.0',
1844
+ methodName: 'number.coerce',
1845
+ isModule: true
1846
+ }
1847
+ ],
1848
+ [
1849
+ 'joi.string.validate',
1850
+ {
1851
+ moduleName: 'joi',
1852
+ version: '>=17.0.0',
1853
+ methodName: 'string.validate',
1854
+ isModule: true
1855
+ }
1856
+ ],
1857
+ [
1858
+ 'joi.string.base64',
1859
+ {
1860
+ moduleName: 'joi',
1861
+ version: '>=17.0.0',
1862
+ methodName: 'string.base64',
1863
+ isModule: true
1864
+ }
1865
+ ],
1866
+ [
1867
+ 'joi.string.guid',
1868
+ {
1869
+ moduleName: 'joi',
1870
+ version: '>=17.0.0',
1871
+ methodName: 'string.guid',
1872
+ isModule: true
1873
+ }
1874
+ ],
1875
+ [
1876
+ 'joi.string.alphanum',
1877
+ {
1878
+ moduleName: 'joi',
1879
+ version: '>=17.0.0',
1880
+ methodName: 'string.alphanum',
1881
+ isModule: true
1882
+ }
1883
+ ],
1884
+ [
1885
+ 'joi.string.hex',
1886
+ {
1887
+ moduleName: 'joi',
1888
+ version: '>=17.0.0',
1889
+ methodName: 'string.hex',
1890
+ isModule: true
1891
+ }
1892
+ ],
1893
+ [
1894
+ 'joi.string.isoDate',
1895
+ {
1896
+ moduleName: 'joi',
1897
+ version: '>=17.0.0',
1898
+ methodName: 'string.isoDate',
1899
+ isModule: true
1900
+ }
1901
+ ],
1902
+ [
1903
+ 'joi.string.isoDuration',
1904
+ {
1905
+ moduleName: 'joi',
1906
+ version: '>=17.0.0',
1907
+ methodName: 'string.isoDuration',
1908
+ isModule: true
1909
+ }
1910
+ ],
1911
+ [
1912
+ 'joi.string.token',
1913
+ {
1914
+ moduleName: 'joi',
1915
+ version: '>=17.0.0',
1916
+ methodName: 'string.token',
1917
+ isModule: true
1918
+ }
1919
+ ],
1920
+ [
1921
+ 'joi.string.creditCard',
1922
+ {
1923
+ moduleName: 'joi',
1924
+ version: '>=17.0.0',
1925
+ methodName: 'string.creditCard',
1926
+ isModule: true
1927
+ }
1928
+ ],
1929
+ [
1930
+ 'joi.string.ip',
1931
+ {
1932
+ moduleName: 'joi',
1933
+ version: '>=17.0.0',
1934
+ methodName: 'string.ip',
1935
+ isModule: true
1936
+ }
1937
+ ],
1938
+ [
1939
+ 'joi.string.hostname',
1940
+ {
1941
+ moduleName: 'joi',
1942
+ version: '>=17.0.0',
1943
+ methodName: 'string.hostname',
1944
+ isModule: true
1945
+ }
1946
+ ],
1947
+ [
1948
+ 'joi.string.domain',
1949
+ {
1950
+ moduleName: 'joi',
1951
+ version: '>=17.0.0',
1952
+ methodName: 'string.domain',
1953
+ isModule: true
1954
+ }
1955
+ ],
1956
+ [
1957
+ 'mongoose.string.doValidateSync',
1958
+ {
1959
+ moduleName: 'mongoose',
1960
+ version: '>=5.0.0',
1961
+ methodName: 'mongoose.string.doValidateSync',
1962
+ isModule: true
1963
+ }
1964
+ ],
1965
+ [
1966
+ 'mongoose.map.doValidateSync',
1967
+ {
1968
+ moduleName: 'mongoose',
1969
+ version: '>=5.0.0',
1970
+ methodName: 'mongoose.map.doValidateSync',
1971
+ isModule: true
1972
+ }
1973
+ ],
1974
+ [
1975
+ 'v8.deserialize.serialize',
1976
+ {
1977
+ moduleName: 'v8',
1978
+ methodName: 'deserialize.serialize',
1979
+ isModule: true
1980
+ }
1981
+ ],
1982
+ [
1983
+ 'node-serialize.unserialize',
1984
+ {
1985
+ moduleName: 'node-serialize',
1986
+ methodName: 'unserialize',
1987
+ isModule: true
1988
+ }
1989
+ ],
1990
+ [
1991
+ 'dustjs-linkedin',
1992
+ { moduleName: 'dustjs-linkedin', methodName: 'pipe', isModule: true }
1993
+ ],
1994
+ [
1995
+ 'Number',
1996
+ { moduleName: 'Number', methodName: 'isNaN', isModule: false }
1997
+ ],
1998
+ [
1999
+ 'fastify-static.allowedPath',
2000
+ {
2001
+ moduleName: 'fastify-static',
2002
+ methodName: 'allowedPath',
2003
+ isModule: false
2004
+ }
2005
+ ],
2006
+ [
2007
+ 'fastify.reply.redirect',
2008
+ {
2009
+ moduleName: 'fastify',
2010
+ version: '>=3.0.0',
2011
+ methodName: 'reply.redirect',
2012
+ isModule: true
2013
+ }
2014
+ ],
2015
+ [
2016
+ 'serve-static',
2017
+ { moduleName: 'serve-static', methodName: '', isModule: true }
2018
+ ]
2019
+ ]);
2020
+
2021
+ return signaturesMap;
2022
+ };