From b0fc3c21e4cd9c79f89fc4e96262002caa8916c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3pez=2C=20Diego?= Date: Thu, 4 Mar 2021 15:15:02 -0600 Subject: [PATCH 01/14] [update-enjoi] Update enjoi version, add joi module, and add the package-lock.json file --- package-lock.json | 1006 +++++++++++++++++++++++++++++++++++++++++++++ package.json | 3 +- 2 files changed, 1008 insertions(+), 1 deletion(-) create mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..8ca7bef --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1006 @@ +{ + "name": "swaggerize-routes", + "version": "1.0.11", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@hapi/bourne": { + "version": "2.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@hapi/bourne/-/bourne-2.0.0.tgz", + "integrity": "sha1-W7IZPraFwAB1QMph0WbU4e2vkY0=" + }, + "@hapi/hoek": { + "version": "9.1.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@hapi/hoek/-/hoek-9.1.1.tgz", + "integrity": "sha1-na9XRRVv2EuOmImi3HIfDFjolKo=" + }, + "@hapi/topo": { + "version": "5.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@hapi/topo/-/topo-5.0.0.tgz", + "integrity": "sha1-wZr4V3+jk6BunHe2CZWvlZvnIec=", + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@sideway/address": { + "version": "4.1.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@sideway/address/-/address-4.1.1.tgz", + "integrity": "sha1-njIedDEJY/347r++4Jx71ply3k0=", + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@sideway/formula": { + "version": "3.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@sideway/formula/-/formula-3.0.0.tgz", + "integrity": "sha1-/hWK7jLmvV3oUES+YVvAhHigoTw=" + }, + "@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha1-z/j/rcNyrSn9P3gneusp5jLMcN8=" + }, + "abbrev": { + "version": "1.0.9", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/abbrev/-/abbrev-1.0.9.tgz", + "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true, + "optional": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "async": { + "version": "1.5.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "caller": { + "version": "1.0.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/caller/-/caller-1.0.1.tgz", + "integrity": "sha1-uFGGD3Dhlds9J3OVqhp+I+ow7PU=" + }, + "cli": { + "version": "1.0.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/cli/-/cli-1.0.1.tgz", + "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=", + "dev": true, + "requires": { + "exit": "0.1.2", + "glob": "^7.1.1" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/glob/-/glob-7.1.6.tgz", + "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "^0.1.4" + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "debuglog": { + "version": "1.0.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/debuglog/-/debuglog-1.0.1.tgz", + "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=" + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o=", + "dev": true, + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.1.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/domelementtype/-/domelementtype-2.1.0.tgz", + "integrity": "sha1-qFHAgKbRw9lDRK7RUdmfZp7fWF4=", + "dev": true + }, + "entities": { + "version": "2.2.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/entities/-/entities-2.2.0.tgz", + "integrity": "sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU=", + "dev": true + } + } + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=", + "dev": true + }, + "domhandler": { + "version": "2.3.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dotignore": { + "version": "0.1.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/dotignore/-/dotignore-0.1.2.tgz", + "integrity": "sha1-+ULyIA0ow6dvvdbw7p8yV8ii6QU=", + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "enjoi": { + "version": "9.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/enjoi/-/enjoi-9.0.0.tgz", + "integrity": "sha1-PKAgN3kxOmwOiDm9VDXPEnOZ8Jg=", + "requires": { + "@hapi/bourne": "^2.0.0", + "@hapi/hoek": "^9.0.3" + } + }, + "entities": { + "version": "1.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/entities/-/entities-1.0.0.tgz", + "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", + "dev": true + }, + "es-abstract": { + "version": "1.18.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/es-abstract/-/es-abstract-1.18.0.tgz", + "integrity": "sha1-q4CzWe7Lft5MKYAAOQvFrD7HtaQ=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.2", + "is-string": "^1.0.5", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.0" + }, + "dependencies": { + "is-regex": { + "version": "1.1.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha1-gcjr3k2xQvLPHFP8htakV4gmYlE=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.1" + } + }, + "object-inspect": { + "version": "1.9.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha1-yQUh104RJ7ZyZt7TOUrWEWmGUzo=", + "dev": true + } + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escodegen": { + "version": "1.8.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/escodegen/-/escodegen-1.8.1.tgz", + "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", + "dev": true, + "requires": { + "esprima": "^2.7.1", + "estraverse": "^1.9.1", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.2.0" + } + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "estraverse": { + "version": "1.9.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/estraverse/-/estraverse-1.9.3.tgz", + "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=", + "dev": true + }, + "exit": { + "version": "0.1.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha1-abRH6IoKXTLD5whPPxcQA0shN24=", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "glob": { + "version": "5.0.15", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "handlebars": { + "version": "4.7.7", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha1-nOM0FqrQLb1sj6+oJA1dmABJRaE=", + "dev": true, + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/has/-/has-1.0.3.tgz", + "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha1-ZP5qywIGc+O3jbA1pa9pqp0HsRM=", + "dev": true + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=", + "dev": true + }, + "htmlparser2": { + "version": "3.8.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/htmlparser2/-/htmlparser2-3.8.3.tgz", + "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", + "dev": true, + "requires": { + "domelementtype": "1", + "domhandler": "2.3", + "domutils": "1.5", + "entities": "1.0", + "readable-stream": "1.1" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=", + "dev": true + }, + "is-arguments": { + "version": "1.1.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-arguments/-/is-arguments-1.1.0.tgz", + "integrity": "sha1-YjUwMd++4HzrNGVqa95Z7+yujdk=", + "dev": true, + "requires": { + "call-bind": "^1.0.0" + } + }, + "is-bigint": { + "version": "1.0.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-bigint/-/is-bigint-1.0.1.tgz", + "integrity": "sha1-aSMFHfy8dkJ4VAuc4OazITql68I=", + "dev": true + }, + "is-boolean-object": { + "version": "1.1.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-boolean-object/-/is-boolean-object-1.1.0.tgz", + "integrity": "sha1-4qqtOjqPyjTCj27uE1sVbtJYf/A=", + "dev": true, + "requires": { + "call-bind": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha1-ix4FALc6HXbHBIdjbzaOUZ3o244=", + "dev": true + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha1-vac28s2P0G0yhE53Q7+nSUw7/X4=", + "dev": true + }, + "is-negative-zero": { + "version": "2.0.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha1-PedGwY3aIxkkGlNnWQjY92bxHCQ=", + "dev": true + }, + "is-number-object": { + "version": "1.0.4", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-number-object/-/is-number-object-1.0.4.tgz", + "integrity": "sha1-NqyV50HPGLKD/B3fXoPaeY4+wZc=", + "dev": true + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha1-OdWJo1i/GJZ/cmlnEguPwa7XTq4=", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-string": { + "version": "1.0.5", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha1-QEk+0ZjvP/R3uMf5L2ROyCpc06Y=", + "dev": true + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc=", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "istanbul": { + "version": "0.4.5", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/istanbul/-/istanbul-0.4.5.tgz", + "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", + "dev": true, + "requires": { + "abbrev": "1.0.x", + "async": "1.x", + "escodegen": "1.8.x", + "esprima": "2.7.x", + "glob": "^5.0.15", + "handlebars": "^4.0.1", + "js-yaml": "3.x", + "mkdirp": "0.5.x", + "nopt": "3.x", + "once": "1.x", + "resolve": "1.1.x", + "supports-color": "^3.1.0", + "which": "^1.1.1", + "wordwrap": "^1.0.0" + } + }, + "joi": { + "version": "17.4.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/joi/-/joi-17.4.0.tgz", + "integrity": "sha1-tcInfIUZ4BYxbkmrq9QaGQjZ7yA=", + "requires": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.0", + "@sideway/formula": "^3.0.0", + "@sideway/pinpoint": "^2.0.0" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc=", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", + "dev": true + } + } + }, + "jshint": { + "version": "2.12.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/jshint/-/jshint-2.12.0.tgz", + "integrity": "sha1-Uudb0FjVh++BoOL5XlzxjrXcXDc=", + "dev": true, + "requires": { + "cli": "~1.0.0", + "console-browserify": "1.1.x", + "exit": "0.1.x", + "htmlparser2": "3.8.x", + "lodash": "~4.17.19", + "minimatch": "~3.0.2", + "shelljs": "0.3.x", + "strip-json-comments": "1.0.x" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha1-tKr7k+OustgXTKU88WOrfXMIMF8=", + "dev": true + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha1-9Pa9GBrXfwBrXs5gvQtvOY/3Smc=", + "dev": true + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha1-ud7qpfx/GEag+uzc7sE45XePU6w=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", + "dev": true + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA=", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU=", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha1-fvNSro0VnnWMDq3Kb4/LTu8HviY=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "resolve": { + "version": "1.1.7", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "resumer": { + "version": "0.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/resumer/-/resumer-0.0.0.tgz", + "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=", + "dev": true, + "requires": { + "through": "~2.3.4" + } + }, + "shelljs": { + "version": "0.3.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/shelljs/-/shelljs-0.3.0.tgz", + "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=", + "dev": true + }, + "source-map": { + "version": "0.2.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/source-map/-/source-map-0.2.0.tgz", + "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", + "dev": true, + "optional": true, + "requires": { + "amdefine": ">=0.0.4" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "string.prototype.trim": { + "version": "1.2.4", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/string.prototype.trim/-/string.prototype.trim-1.2.4.tgz", + "integrity": "sha1-YBRom69e+vEGrQMaX6RRV2Zu0b0=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2" + } + }, + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha1-51rpDClCxjUEaGwYsoe0oLGkX4A=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha1-s2OZr0qymZtMnGSL16P7K7Jv7u0=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "strip-json-comments": { + "version": "1.0.4", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + }, + "swagger-schema-official": { + "version": "2.0.0-bab6bed", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/swagger-schema-official/-/swagger-schema-official-2.0.0-bab6bed.tgz", + "integrity": "sha1-cAcEaNbSl3ylI3suUZyn0Gouo/0=" + }, + "tape": { + "version": "4.13.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/tape/-/tape-4.13.3.tgz", + "integrity": "sha1-UbPZHINmjHpFsaWUtgfe4KC0Yng=", + "dev": true, + "requires": { + "deep-equal": "~1.1.1", + "defined": "~1.0.0", + "dotignore": "~0.1.2", + "for-each": "~0.3.3", + "function-bind": "~1.1.1", + "glob": "~7.1.6", + "has": "~1.0.3", + "inherits": "~2.0.4", + "is-regex": "~1.0.5", + "minimist": "~1.2.5", + "object-inspect": "~1.7.0", + "resolve": "~1.17.0", + "resumer": "~0.0.0", + "string.prototype.trim": "~1.2.1", + "through": "~2.3.8" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/glob/-/glob-7.1.6.tgz", + "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha1-sllBtUloIxzC0bt2p5y38sC/hEQ=", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + } + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "uglify-js": { + "version": "3.13.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/uglify-js/-/uglify-js-3.13.0.tgz", + "integrity": "sha1-Zu1p9yQfM/E1MdPVHVvOvwDff2k=", + "dev": true, + "optional": true + }, + "unbox-primitive": { + "version": "1.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/unbox-primitive/-/unbox-primitive-1.0.0.tgz", + "integrity": "sha1-7qy8Sv+ijps9NrXq7MxQsyUbHT8=", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.0", + "has-symbols": "^1.0.0", + "which-boxed-primitive": "^1.0.1" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/which/-/which-1.3.1.tgz", + "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha1-E3V7yJsgmwSf5dhkMOIc9AqJqOY=", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=", + "dev": true + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } +} diff --git a/package.json b/package.json index 9e8ee05..4c9c46c 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,8 @@ "caller": "^1.0.1", "core-util-is": "^1.0.1", "debuglog": "^1.0.1", - "enjoi": "^1.0.0", + "joi": "^17.4.0", + "enjoi": "^9.0.0", "swagger-schema-official": "^2.0.0-" }, "devDependencies": { From 123a122b038b87e14c62ec0823da9ea33c51e413 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3pez=2C=20Diego?= Date: Thu, 4 Mar 2021 15:20:51 -0600 Subject: [PATCH 02/14] [update-enjoi] Update enjoi implementation, add schema extension for file types --- lib/index.js | 14 ++++++-- lib/validator.js | 93 +++++++++++++++++++++--------------------------- 2 files changed, 52 insertions(+), 55 deletions(-) diff --git a/lib/index.js b/lib/index.js index 4e81bb7..d7ca3d2 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1,6 +1,7 @@ 'use strict'; var assert = require('assert'), + joi = require("joi"), enjoi = require('enjoi'), thing = require('core-util-is'), path = require('path'), @@ -52,9 +53,16 @@ function swaggerize(options) { }); } - enjoi(swaggerSchema, schemas).validate(options.api, function (error) { - assert.ifError(error); - }); + var result = enjoi.schema({ + type:"object", + schema:swaggerSchema + }, { + subSchemas: schemas + }).validate(options.api); + + if(result && result.error){ + assert.ifError(result.error); + } // Resolve path to handlers options.handlers = options.handlers || './handlers'; diff --git a/lib/validator.js b/lib/validator.js index 97a1924..5ba7893 100644 --- a/lib/validator.js +++ b/lib/validator.js @@ -2,39 +2,26 @@ var assert = require('assert'), thing = require('core-util-is'), + Joi = require('joi'), enjoi = require('enjoi'), utils = require('./utils'); +var extensions = [ + { + type: 'file', + base: Joi.object({ + value: Joi.binary().required(true), + consumes: Joi.array().items( + Joi.string().regex(/multipart\/form-data|application\/x-www-form-urlencoded/) + ).required(true), + in: Joi.string().regex(/formData/).required(true) + }) + } +]; + module.exports = function validator(options) { - var schemas, types; - - schemas = {}; - types = { - file: enjoi({ - type: 'object', - properties: { - value: { - type: 'string', - minLength: 0, - required: true - }, - consumes: { - type: 'array', - items: { - type: 'string', - pattern: /multipart\/form-data|application\/x-www-form-urlencoded/, - }, - required: true - }, - in: { - type: 'string', - pattern: /formData/, - required: true - } - } - }) - }; + var schemas= {}; schemas['#'] = options.api; @@ -63,7 +50,7 @@ module.exports = function validator(options) { * @param parameter * @returns {Function} */ - make: function (parameter, consumes) { + make: function (parameter, consumes, stripUnknownProperties) { var schema, coerce, template; if (parameter.$ref) { @@ -95,15 +82,15 @@ module.exports = function validator(options) { }; if ((parameter.in === 'body' || parameter.in === 'formData') && template.schema) { - schema = enjoi(template.schema, { + schema = enjoi.schema(template.schema, { subSchemas: schemas, - types: types + extensions: extensions }); } else { - schema = enjoi(template, { - subSchemas: schemas, - types: types + schema = enjoi.schema(template, { + subSchemas: schemas, + extensions: extensions }); } @@ -114,28 +101,30 @@ module.exports = function validator(options) { if (parameter.in !== 'body' && parameter.allowEmptyValue){ schema = schema.allow('').optional(); } + + if (stripUnknownProperties){ + schema = schema.unknown(false); + } return { parameter: parameter, schema: schema, - validate: function validateParameter(data, callback) { - coerce && data && (data = coerce(data)); - schema.validate(data, function (error, result) { - if (error) { - error.message = error.message.replace('value', parameter.name); - - error.details.forEach(function (detail) { - detail.message = detail.message.replace('value', parameter.name); - detail.path = parameter.name; - }); - - utils.debuglog('%s', error.message); - callback(error); - return; - } - - callback(null, result || data); - }); + validate: function validateParameter(value, callback) { + coerce && value && (value= coerce(value)); + var result = schema.validate(value, { stripUnknown: stripUnknownProperties} ); + if (result && result.error) { + + result.error.message = result.error.message.replace('value', parameter.name); + + result.error.details.forEach(function(detail){ + detail.message = detail.message.replace('value', parameter.name); + detail.path = [parameter.name]; + }); + utils.debuglog('%s', result.error.message); + return callback(result.error); + } + + return callback(null,result.value); } }; } From 4e8544567b132840a3e53cf7be099c286e29ed66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3pez=2C=20Diego?= Date: Thu, 4 Mar 2021 15:23:19 -0600 Subject: [PATCH 03/14] [update-enjoi] Update a test case using stripUnknown option, update how a test case catch a path parameter --- test/test-validation.js | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/test/test-validation.js b/test/test-validation.js index 5494150..09a71bf 100644 --- a/test/test-validation.js +++ b/test/test-validation.js @@ -312,13 +312,7 @@ test('validation', function (t) { t.test('input ignore extra value', function(t) { t.plan(2); - var v = validator.make(require('./fixtures/defs/pets.json').definitions.Pet); - - v.schema._settings = { - allowUnknown: true, - stripUnknown: true - }; - + var v = validator.make(require('./fixtures/defs/pets.json').definitions.Pet, null,true); v.validate({ id: 1, name: 'fluffy', extra: 'foo'}, function(error, result) { t.ok(!error, 'no error.'); t.ok(!result.extra, 'No extra properties') @@ -435,7 +429,7 @@ test('named validation', function (t) { t.plan(numErrorDetails + 1); t.ok(error, 'error.'); error.details.forEach(function (detail) { - t.ok(detail.path === parameterName, 'Expected error.details.path to equal ' + parameterName); + t.ok(detail.path[0] === parameterName, 'Expected error.details.path to equal ' + parameterName); }); }); }); From 44c41275af8a482b833c7d6e0dc49a4f736d6e0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3pez=2C=20Diego?= Date: Fri, 5 Mar 2021 16:05:39 -0600 Subject: [PATCH 04/14] [update-lint] Add eslint as lint tool instead of jshint --- .eslintignore | 4 + .eslintrc.json | 15 + .jshintrc | 69 --- package-lock.json | 1358 ++++++++++++++++++++++++++++++++++++++++----- package.json | 11 +- 5 files changed, 1253 insertions(+), 204 deletions(-) create mode 100644 .eslintignore create mode 100644 .eslintrc.json delete mode 100644 .jshintrc diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..68080ce --- /dev/null +++ b/.eslintignore @@ -0,0 +1,4 @@ +.git +coverage +node_modules +test \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..98f4325 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,15 @@ +{ + "env": { + "browser": false, + "commonjs": true, + "es2021": true + }, + "extends": [ + "airbnb-base" + ], + "parserOptions": { + "ecmaVersion": 12 + }, + "rules": { + } +} diff --git a/.jshintrc b/.jshintrc deleted file mode 100644 index 4e5fa77..0000000 --- a/.jshintrc +++ /dev/null @@ -1,69 +0,0 @@ -{ - "passfail": false, - "maxerr": 100, - - "browser": false, - "node": true, - "rhino": false, - "couch": false, - "wsh": false, - - "jquery": false, - "prototypejs": false, - "mootools": false, - "dojo": false, - - "debug": false, - "devel": false, - - "strict": true, - "globalstrict": true, - - "asi": false, - "laxbreak": false, - "bitwise": false, - "boss": true, - "curly": true, - "eqeqeq": true, - "eqnull": false, - "evil": false, - "expr": true, - "forin": false, - "immed": true, - "latedef": false, - "loopfunc": false, - "noarg": false, - "regexp": false, - "regexdash": false, - "scripturl": false, - "shadow": false, - "supernew": false, - "undef": true, - "validthis": false, - "smarttabs": true, - "proto": false, - "onecase": false, - "nonstandard": false, - "multistr": false, - "laxcomma": false, - "lastsemic": false, - "iterator": false, - "funcscope": false, - "esnext": false, - - "newcap": false, - "noempty": false, - "nonew": false, - "nomen": false, - "onevar": false, - "plusplus": false, - "sub": false, - "trailing": false, - "indent": 4, - "white": true, - - "maxparams": 5, - "maxdepth": 5, - "maxstatements": 50, - "maxcomplexity": 50 -} diff --git a/package-lock.json b/package-lock.json index 8ca7bef..82be505 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,6 +4,85 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha1-9K1DWqJj25NbjxDyxVLSP7cWpj8=", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha1-yaHwIZF9y1zPDU5FPjmQIpgfye0=", + "dev": true + }, + "@babel/highlight": { + "version": "7.13.8", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/highlight/-/highlight-7.13.8.tgz", + "integrity": "sha1-ELLax4UmQk38H0dlDQ5BXf2dxIE=", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@eslint/eslintrc": { + "version": "0.4.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@eslint/eslintrc/-/eslintrc-0.4.0.tgz", + "integrity": "sha1-mcwKBYTXLx3zi5APsGK6mV85VUc=", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=", + "dev": true + } + } + }, "@hapi/bourne": { "version": "2.0.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@hapi/bourne/-/bourne-2.0.0.tgz", @@ -40,12 +119,42 @@ "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", "integrity": "sha1-z/j/rcNyrSn9P3gneusp5jLMcN8=" }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "dev": true + }, "abbrev": { "version": "1.0.9", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/abbrev/-/abbrev-1.0.9.tgz", "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", "dev": true }, + "acorn": { + "version": "7.4.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha1-/IZh4Rt6wVOcR9v+oucrOvNNJns=", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, "amdefine": { "version": "1.0.1", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/amdefine/-/amdefine-1.0.1.tgz", @@ -53,6 +162,27 @@ "dev": true, "optional": true }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha1-y7muJWv3UK8eqzRPIpqif+lLo0g=", + "dev": true + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, "argparse": { "version": "1.0.10", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/argparse/-/argparse-1.0.10.tgz", @@ -62,6 +192,36 @@ "sprintf-js": "~1.0.2" } }, + "array-includes": { + "version": "3.1.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/array-includes/-/array-includes-3.1.3.tgz", + "integrity": "sha1-x/YZs4KtKvr1Mmzd/cCvxhr3aQo=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.5" + } + }, + "array.prototype.flat": { + "version": "1.2.4", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", + "integrity": "sha1-bvY4tDMSvUAbTGGZ/ex+LcnpoSM=", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + } + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha1-SDFDxWeu7UeFdZwIZXhtx319LjE=", + "dev": true + }, "async": { "version": "1.5.2", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/async/-/async-1.5.2.tgz", @@ -99,57 +259,131 @@ "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/caller/-/caller-1.0.1.tgz", "integrity": "sha1-uFGGD3Dhlds9J3OVqhp+I+ow7PU=" }, - "cli": { - "version": "1.0.1", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/cli/-/cli-1.0.1.tgz", - "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=", + "callsites": { + "version": "3.1.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=", + "dev": true + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", "dev": true, "requires": { - "exit": "0.1.2", - "glob": "^7.1.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "dependencies": { - "glob": { - "version": "7.1.6", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/glob/-/glob-7.1.6.tgz", - "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" } } } }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, "concat-map": { "version": "0.0.1", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "console-browserify": { - "version": "1.1.0", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "dev": true, - "requires": { - "date-now": "^0.1.4" - } + "confusing-browser-globals": { + "version": "1.0.10", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz", + "integrity": "sha1-MNHn89G4grJexJM9HRraw1PSClk=", + "dev": true + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "dev": true }, "core-util-is": { "version": "1.0.2", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, - "date-now": { - "version": "0.1.4", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", - "dev": true + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "dependencies": { + "which": { + "version": "2.0.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/which/-/which-2.0.2.tgz", + "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/debug/-/debug-4.3.1.tgz", + "integrity": "sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4=", + "dev": true, + "requires": { + "ms": "2.1.2" + } }, "debuglog": { "version": "1.0.1", @@ -191,53 +425,13 @@ "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", "dev": true }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.1.0", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/domelementtype/-/domelementtype-2.1.0.tgz", - "integrity": "sha1-qFHAgKbRw9lDRK7RUdmfZp7fWF4=", - "dev": true - }, - "entities": { - "version": "2.2.0", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/entities/-/entities-2.2.0.tgz", - "integrity": "sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU=", - "dev": true - } - } - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=", - "dev": true - }, - "domhandler": { - "version": "2.3.0", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/domhandler/-/domhandler-2.3.0.tgz", - "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "doctrine": { + "version": "3.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=", "dev": true, "requires": { - "dom-serializer": "0", - "domelementtype": "1" + "esutils": "^2.0.2" } }, "dotignore": { @@ -249,6 +443,12 @@ "minimatch": "^3.0.4" } }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", + "dev": true + }, "enjoi": { "version": "9.0.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/enjoi/-/enjoi-9.0.0.tgz", @@ -258,11 +458,23 @@ "@hapi/hoek": "^9.0.3" } }, - "entities": { - "version": "1.0.0", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/entities/-/entities-1.0.0.tgz", - "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", - "dev": true + "enquirer": { + "version": "2.3.6", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha1-Kn/l3WNKHkElqXXsmU/1RW3Dc00=", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } }, "es-abstract": { "version": "1.18.0", @@ -317,6 +529,12 @@ "is-symbol": "^1.0.2" } }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, "escodegen": { "version": "1.8.1", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/escodegen/-/escodegen-1.8.1.tgz", @@ -330,12 +548,337 @@ "source-map": "~0.2.0" } }, + "eslint": { + "version": "7.21.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/eslint/-/eslint-7.21.0.tgz", + "integrity": "sha1-Ts1bjFtE9d7cm4oRCwG7/rFdHIM=", + "dev": true, + "requires": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.20", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.4", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "levn": { + "version": "0.4.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/levn/-/levn-0.4.1.tgz", + "integrity": "sha1-rkViwAdHO5MqYgDUAyaN0v/8at4=", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha1-TyNqY3Pa4FZqbUPhMmZ09QwpFJk=", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha1-3rxkidem5rDnYRiIzsiAM30xY5Y=", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=", + "dev": true + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha1-B7ggO/pwVsBlcFDjzNLDdzC6uPE=", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + } + } + }, + "eslint-config-airbnb-base": { + "version": "14.2.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz", + "integrity": "sha1-ii6zhFXcWjElUBk7MZza7vBCzR4=", + "dev": true, + "requires": { + "confusing-browser-globals": "^1.0.10", + "object.assign": "^4.1.2", + "object.entries": "^1.1.2" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.4", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", + "integrity": "sha1-hf+oGULCUBLYIxCW3fZ5wDBCxxc=", + "dev": true, + "requires": { + "debug": "^2.6.9", + "resolve": "^1.13.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + } + } + }, + "eslint-module-utils": { + "version": "2.6.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", + "integrity": "sha1-V569CU9Wr3eX0ZyYZsnJSGYpv6Y=", + "dev": true, + "requires": { + "debug": "^2.6.9", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "eslint-plugin-import": { + "version": "2.22.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", + "integrity": "sha1-CJbH5qDPRBCaLZe5WQPCu2iddwI=", + "dev": true, + "requires": { + "array-includes": "^3.1.1", + "array.prototype.flat": "^1.2.3", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-module-utils": "^2.6.0", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.1", + "read-pkg-up": "^2.0.0", + "resolve": "^1.17.0", + "tsconfig-paths": "^3.9.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + } + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "dependencies": { + "estraverse": { + "version": "4.3.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=", + "dev": true + } + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc=", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "2.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha1-If3I+82ceVzAMh8FY3AglXUVEag=", + "dev": true + }, + "espree": { + "version": "7.3.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/espree/-/espree-7.3.1.tgz", + "integrity": "sha1-8t8zC3Usb1UBn4vYm3ZgA5wbu7Y=", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=", + "dev": true + } + } + }, "esprima": { "version": "2.7.3", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/esprima/-/esprima-2.7.3.tgz", "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", "dev": true }, + "esquery": { + "version": "1.4.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha1-IUj/w4uC6McFff7UhCWz5h8PJKU=", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha1-eteWTWeauyi+5yzsY3WLHF0smSE=", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=", + "dev": true + } + } + }, "estraverse": { "version": "1.9.3", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/estraverse/-/estraverse-1.9.3.tgz", @@ -348,10 +891,16 @@ "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=", "dev": true }, - "exit": { - "version": "0.1.2", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=", "dev": true }, "fast-levenshtein": { @@ -360,6 +909,40 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha1-IRst2WWcsDlLBz5zI6w8kz1SICc=", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha1-YbAzgwKy/p+Vfcwy/CqH8cMEixE=", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.1.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha1-xLSJ6ACW2d8d/JfHmHGup8YXxGk=", + "dev": true + }, "for-each": { "version": "0.3.3", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/for-each/-/for-each-0.3.3.tgz", @@ -381,6 +964,12 @@ "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=", "dev": true }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, "get-intrinsic": { "version": "1.1.1", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/get-intrinsic/-/get-intrinsic-1.1.1.tgz", @@ -405,6 +994,30 @@ "path-is-absolute": "^1.0.0" } }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha1-tsHvQXxOVmPqSY8cRa+saRa7wik=", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/globals/-/globals-12.4.0.tgz", + "integrity": "sha1-oYgTV2pBsAokqX5/gVkYwuGZJfg=", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "graceful-fs": { + "version": "4.2.6", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", + "dev": true + }, "handlebars": { "version": "4.7.7", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/handlebars/-/handlebars-4.7.7.tgz", @@ -453,19 +1066,34 @@ "integrity": "sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=", "dev": true }, - "htmlparser2": { - "version": "3.8.3", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/htmlparser2/-/htmlparser2-3.8.3.tgz", - "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha1-dTm9S8Hg4KiVgVouAmJCCxKFhIg=", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha1-NxYsJfy566oublPVtNiM4X2eDCs=", "dev": true, "requires": { - "domelementtype": "1", - "domhandler": "2.3", - "domutils": "1.5", - "entities": "1.0", - "readable-stream": "1.1" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" } }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, "inflight": { "version": "1.0.6", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/inflight/-/inflight-1.0.6.tgz", @@ -491,6 +1119,12 @@ "call-bind": "^1.0.0" } }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, "is-bigint": { "version": "1.0.1", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-bigint/-/is-bigint-1.0.1.tgz", @@ -512,12 +1146,42 @@ "integrity": "sha1-ix4FALc6HXbHBIdjbzaOUZ3o244=", "dev": true }, + "is-core-module": { + "version": "2.2.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha1-lwN+89UiJNhRY/VZeytj2a/tmBo=", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, "is-date-object": { "version": "1.0.2", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-date-object/-/is-date-object-1.0.2.tgz", "integrity": "sha1-vac28s2P0G0yhE53Q7+nSUw7/X4=", "dev": true }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, "is-negative-zero": { "version": "2.0.1", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-negative-zero/-/is-negative-zero-2.0.1.tgz", @@ -554,12 +1218,6 @@ "has-symbols": "^1.0.1" } }, - "isarray": { - "version": "0.0.1", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, "isexe": { "version": "2.0.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/isexe/-/isexe-2.0.0.tgz", @@ -600,6 +1258,12 @@ "@sideway/pinpoint": "^2.0.0" } }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=", + "dev": true + }, "js-yaml": { "version": "3.14.1", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/js-yaml/-/js-yaml-3.14.1.tgz", @@ -618,20 +1282,25 @@ } } }, - "jshint": { - "version": "2.12.0", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/jshint/-/jshint-2.12.0.tgz", - "integrity": "sha1-Uudb0FjVh++BoOL5XlzxjrXcXDc=", + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/json5/-/json5-1.0.1.tgz", + "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", "dev": true, "requires": { - "cli": "~1.0.0", - "console-browserify": "1.1.x", - "exit": "0.1.x", - "htmlparser2": "3.8.x", - "lodash": "~4.17.19", - "minimatch": "~3.0.2", - "shelljs": "0.3.x", - "strip-json-comments": "1.0.x" + "minimist": "^1.2.0" } }, "levn": { @@ -644,12 +1313,43 @@ "type-check": "~0.3.2" } }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, "lodash": { "version": "4.17.21", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/lodash/-/lodash-4.17.21.tgz", "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=", "dev": true }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, "minimatch": { "version": "3.0.4", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/minimatch/-/minimatch-3.0.4.tgz", @@ -674,6 +1374,18 @@ "minimist": "^1.2.5" } }, + "ms": { + "version": "2.1.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/ms/-/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, "neo-async": { "version": "2.6.2", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/neo-async/-/neo-async-2.6.2.tgz", @@ -689,6 +1401,36 @@ "abbrev": "1" } }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "resolve": { + "version": "1.20.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/semver/-/semver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true + } + } + }, "object-inspect": { "version": "1.7.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/object-inspect/-/object-inspect-1.7.0.tgz", @@ -723,6 +1465,30 @@ "object-keys": "^1.1.1" } }, + "object.entries": { + "version": "1.1.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/object.entries/-/object.entries-1.1.3.tgz", + "integrity": "sha1-xgHH8Wi2I3RUGgfdvT4tXk93EaY=", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "has": "^1.0.3" + } + }, + "object.values": { + "version": "1.1.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/object.values/-/object.values-1.1.3.tgz", + "integrity": "sha1-6qix4XWJ8C9pjbCT98Yu4WmXQu4=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2", + "has": "^1.0.3" + } + }, "once": { "version": "1.4.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/once/-/once-1.4.0.tgz", @@ -746,34 +1512,133 @@ "word-wrap": "~1.2.3" } }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, + "path-key": { + "version": "3.1.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=", + "dev": true + }, "path-parse": { "version": "1.0.6", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/path-parse/-/path-parse-1.0.6.tgz", "integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=", "dev": true }, + "path-type": { + "version": "2.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + }, "prelude-ls": { "version": "1.1.2", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/prelude-ls/-/prelude-ls-1.1.2.tgz", "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "progress": { + "version": "2.0.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/progress/-/progress-2.0.3.tgz", + "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } }, "regexp.prototype.flags": { @@ -786,12 +1651,30 @@ "define-properties": "^1.1.3" } }, + "regexpp": { + "version": "3.1.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha1-IG0K0KVkjP+9uK5GQ489xRyfeOI=", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk=", + "dev": true + }, "resolve": { "version": "1.1.7", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/resolve/-/resolve-1.1.7.tgz", "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", "dev": true }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=", + "dev": true + }, "resumer": { "version": "0.0.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/resumer/-/resumer-0.0.0.tgz", @@ -801,12 +1684,92 @@ "through": "~2.3.4" } }, - "shelljs": { - "version": "0.3.0", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/shelljs/-/shelljs-0.3.0.tgz", - "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=", + "rimraf": { + "version": "3.0.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=", + "dev": true, + "requires": { + "glob": "^7.1.3" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/glob/-/glob-7.1.6.tgz", + "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "semver": { + "version": "7.3.4", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/semver/-/semver-7.3.4.tgz", + "integrity": "sha1-J6qn0uTKdkUvmNOt0JOnLJQ+3Jc=", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", "dev": true }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha1-UA6N0P1VsFgVCGJVsxla3ypF/ms=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + } + } + }, "source-map": { "version": "0.2.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/source-map/-/source-map-0.2.0.tgz", @@ -817,12 +1780,55 @@ "amdefine": ">=0.0.4" } }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha1-3s6BrJweZxPl99G28X1Gj6U9iak=", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0=", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha1-z3D1BILu/cmOPOCmgz5KU87rpnk=", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.7", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha1-6cGKQQ5e1+EkQqVJ+9ivp2cDjWU=", + "dev": true + }, "sprintf-js": { "version": "1.0.3", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, + "string-width": { + "version": "4.2.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU=", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, "string.prototype.trim": { "version": "1.2.4", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/string.prototype.trim/-/string.prototype.trim-1.2.4.tgz", @@ -854,16 +1860,19 @@ "define-properties": "^1.1.3" } }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } }, - "strip-json-comments": { - "version": "1.0.4", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/strip-json-comments/-/strip-json-comments-1.0.4.tgz", - "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", + "strip-bom": { + "version": "3.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, "supports-color": { @@ -880,6 +1889,38 @@ "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/swagger-schema-official/-/swagger-schema-official-2.0.0-bab6bed.tgz", "integrity": "sha1-cAcEaNbSl3ylI3suUZyn0Gouo/0=" }, + "table": { + "version": "6.0.7", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/table/-/table-6.0.7.tgz", + "integrity": "sha1-5FiX/7zBvPnoqHv0IPLJ5aelKjQ=", + "dev": true, + "requires": { + "ajv": "^7.0.2", + "lodash": "^4.17.20", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0" + }, + "dependencies": { + "ajv": { + "version": "7.1.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/ajv/-/ajv-7.1.1.tgz", + "integrity": "sha1-Hms3pFQCH6mUFxPzi5UvwcjTKoQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha1-rnvLNlard6c7pcSb9lTzjmtoYOI=", + "dev": true + } + } + }, "tape": { "version": "4.13.3", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/tape/-/tape-4.13.3.tgz", @@ -928,12 +1969,30 @@ } } }, + "text-table": { + "version": "0.2.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, "through": { "version": "2.3.8", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, + "tsconfig-paths": { + "version": "3.9.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", + "integrity": "sha1-CYVHpsREiAfo/Ljq4IEGTumjyQs=", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + } + }, "type-check": { "version": "0.3.2", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/type-check/-/type-check-0.3.2.tgz", @@ -943,6 +2002,12 @@ "prelude-ls": "~1.1.2" } }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha1-CeJJ696FHTseSNJ8EFREZn8XuD0=", + "dev": true + }, "uglify-js": { "version": "3.13.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/uglify-js/-/uglify-js-3.13.0.tgz", @@ -962,6 +2027,31 @@ "which-boxed-primitive": "^1.0.1" } }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "v8-compile-cache": { + "version": "2.2.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", + "integrity": "sha1-lHHvo++RKNL3xqfKOcTda1BVsTI=", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, "which": { "version": "1.3.1", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/which/-/which-1.3.1.tgz", @@ -1001,6 +2091,12 @@ "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=", + "dev": true } } } diff --git a/package.json b/package.json index 4c9c46c..5a80940 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ }, "bugs": "http://github.com/krakenjs/swaggerize-builder/issues", "engines": { - "node": "<=4.x" + "node": ">=10" }, "dependencies": { "caller": "^1.0.1", @@ -28,14 +28,17 @@ "swagger-schema-official": "^2.0.0-" }, "devDependencies": { - "tape": "^4.2.2", + "eslint": "^7.21.0", + "eslint-config-airbnb-base": "^14.2.1", + "eslint-plugin-import": "^2.22.1", "istanbul": "^0.4.0", - "jshint": "^2.4.1" + "tape": "^4.2.2" }, "scripts": { "test": "tape test/*.js", "cover": "istanbul cover tape -- test/*.js", - "lint": "jshint -c .jshintrc lib/*.js" + "lint": "eslint .", + "lint:fix": "eslint . --fix" }, "license": "Apache-2.0" } From 748f3a7ea840b07f0689f742803a920b66bbc353 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3pez=2C=20Diego?= Date: Fri, 5 Mar 2021 16:06:27 -0600 Subject: [PATCH 05/14] [update-lint] fix lint problems --- lib/buildroutes.js | 285 +++++++++++++++-------------- lib/index.js | 144 +++++++-------- lib/readhandlers.js | 106 +++++------ lib/utils.js | 112 ++++++------ lib/validator.js | 434 ++++++++++++++++++++++---------------------- 5 files changed, 544 insertions(+), 537 deletions(-) diff --git a/lib/buildroutes.js b/lib/buildroutes.js index 87b3ea9..875bb01 100644 --- a/lib/buildroutes.js +++ b/lib/buildroutes.js @@ -1,11 +1,13 @@ -'use strict'; - -var utils = require('./utils'), - validation = require('./validator'), - readhandlers = require('./readhandlers'), - thing = require('core-util-is'), - path = require('path'), - assert = require('assert'); +/* eslint-disable global-require */ +/* eslint-disable no-use-before-define */ +/* eslint-disable prefer-const */ +/* eslint-disable max-len */ +const thing = require('core-util-is'); +const path = require('path'); +const assert = require('assert'); +const utils = require('./utils'); +const validation = require('./validator'); +const readhandlers = require('./readhandlers'); /** * Convert definition of api to something we can work with. @@ -13,81 +15,85 @@ var utils = require('./utils'), * @returns {Array} */ function buildroutes(options) { - var api, routes, handlers, defaulthandler, validator; - - api = options.api; - handlers = readhandlers(options.handlers); - defaulthandler = options.defaulthandler; - validator = validation(options); - routes = []; - - Object.keys(api.paths).forEach(function (path) { - var def = options.api.paths[path]; - - utils.verbs.forEach(function (verb) { - var route, pathnames, operation, validators; - - operation = def[verb]; - - if (!operation) { - return; - } - - route = { - path: path, - name: operation.operationId, - description: operation.description, - method: verb, - security: buildSecurity(options, api.securityDefinitions, operation.security || def.security || api.security), - validators: [], - handler : defaulthandler || undefined, - consumes: operation.consumes || api.consumes, - produces: operation.produces || api.produces, - json: operation.json || api.json, - cache: operation.cache || api.cache, - config: operation.config || api.config, - jsonp: operation.jsonp || api.jsonp - }; - - validators = {}; - - if (def.parameters) { - def.parameters.forEach(function (parameter) { - validators[parameter.in + parameter.name] = parameter; - }); - } - - if (operation.parameters) { - operation.parameters.forEach(function (parameter) { - validators[parameter.in + parameter.name] = parameter; - }); - } - - route.validators = validator.makeAll(validators, route); - - pathnames = []; - - //Figure out the names from the params. - path.split('/').forEach(function (element) { - if (element) { - pathnames.push(element); - } - }); - - if (!route.handler) { - route.handler = handlers && (pathnames[0] ? matchpath('$' + verb, pathnames, handlers[pathnames[0]]) : handlers['$' + verb]); - } - - if (!route.handler) { - route.handler = operation['x-handler'] || def['x-handler']; - route.handler = route.handler && resolve(options.basedir, route.handler, verb); - } - - route.handler && routes.push(route); + let api; let routes; let handlers; let defaulthandler; let + validator; + + api = options.api; + handlers = readhandlers(options.handlers); + defaulthandler = options.defaulthandler; + validator = validation(options); + routes = []; + + // eslint-disable-next-line no-shadow + Object.keys(api.paths).forEach((path) => { + const def = options.api.paths[path]; + + utils.verbs.forEach((verb) => { + let route; let pathnames; let operation; let + validators; + + operation = def[verb]; + + if (!operation) { + return; + } + + route = { + path, + name: operation.operationId, + description: operation.description, + method: verb, + security: buildSecurity(options, api.securityDefinitions, operation.security || def.security || api.security), + validators: [], + handler: defaulthandler || undefined, + consumes: operation.consumes || api.consumes, + produces: operation.produces || api.produces, + json: operation.json || api.json, + cache: operation.cache || api.cache, + config: operation.config || api.config, + jsonp: operation.jsonp || api.jsonp, + }; + + validators = {}; + + if (def.parameters) { + def.parameters.forEach((parameter) => { + validators[parameter.in + parameter.name] = parameter; }); + } + + if (operation.parameters) { + operation.parameters.forEach((parameter) => { + validators[parameter.in + parameter.name] = parameter; + }); + } + + route.validators = validator.makeAll(validators, route); + + pathnames = []; + + // Figure out the names from the params. + path.split('/').forEach((element) => { + if (element) { + pathnames.push(element); + } + }); + + if (!route.handler) { + route.handler = handlers && (pathnames[0] ? matchpath(`$${verb}`, pathnames, handlers[pathnames[0]]) : handlers[`$${verb}`]); + } + + if (!route.handler) { + route.handler = operation['x-handler'] || def['x-handler']; + route.handler = route.handler && resolve(options.basedir, route.handler, verb); + } + + // eslint-disable-next-line no-unused-expressions + route.handler && routes.push(route); }); + }); - return routes; + return routes; } /** @@ -98,15 +104,15 @@ function buildroutes(options) { * @returns {*} */ function matchpath(method, pathnames, handlers) { - if (!handlers) { - return null; - } - if (pathnames.length > 1) { - pathnames.shift(); - return matchpath(method, pathnames, handlers[pathnames[0]]); - } - - return handlers[pathnames[0]] ? handlers[pathnames[0]] : handlers[method]; + if (!handlers) { + return null; + } + if (pathnames.length > 1) { + pathnames.shift(); + return matchpath(method, pathnames, handlers[pathnames[0]]); + } + + return handlers[pathnames[0]] ? handlers[pathnames[0]] : handlers[method]; } /** @@ -117,38 +123,38 @@ function matchpath(method, pathnames, handlers) { * @returns {*} */ function buildSecurity(options, securityDefinitions, routeSecurity) { - var security = {}; - var basedir = options.basedir; - - if (!securityDefinitions || !routeSecurity || !thing.isArray(routeSecurity)) { - return undefined; - } - - routeSecurity.forEach(function (definition) { - Object.keys(definition).forEach(function (defName) { - assert.ok(securityDefinitions[defName], 'Unrecognized security definition (' + defName + ')'); - - security[defName] = {}; - //The value of security scheme is a list of scope names required for the execution - security[defName].scopes = definition[defName]; - - security[defName].scopes.forEach(function (scope) { - assert.ok(thing.isString(scope) && Object.keys(securityDefinitions[defName].scopes).indexOf(scope) > -1, 'Unrecognized scope (' + scope + ').'); - }); - - if (options.security) { - //Security options found - //Resolve the security authorize handler path - basedir + options.security + securityDefinition name - security[defName].authorize = resolve(basedir, path.join(options.security, defName + '.js')); - } - //'x-authorize' can override the 'security' options and default handlers. - if (securityDefinitions[defName]['x-authorize']) { - security[defName].authorize = resolve(basedir, securityDefinitions[defName]['x-authorize']); - } - }); + const security = {}; + const { basedir } = options; + + if (!securityDefinitions || !routeSecurity || !thing.isArray(routeSecurity)) { + return undefined; + } + + routeSecurity.forEach((definition) => { + Object.keys(definition).forEach((defName) => { + assert.ok(securityDefinitions[defName], `Unrecognized security definition (${defName})`); + + security[defName] = {}; + // The value of security scheme is a list of scope names required for the execution + security[defName].scopes = definition[defName]; + + security[defName].scopes.forEach((scope) => { + assert.ok(thing.isString(scope) && Object.keys(securityDefinitions[defName].scopes).indexOf(scope) > -1, `Unrecognized scope (${scope}).`); + }); + + if (options.security) { + // Security options found + // Resolve the security authorize handler path - basedir + options.security + securityDefinition name + security[defName].authorize = resolve(basedir, path.join(options.security, `${defName}.js`)); + } + // 'x-authorize' can override the 'security' options and default handlers. + if (securityDefinitions[defName]['x-authorize']) { + security[defName].authorize = resolve(basedir, securityDefinitions[defName]['x-authorize']); + } }); + }); - return security; + return security; } /** @@ -158,30 +164,31 @@ function buildSecurity(options, securityDefinitions, routeSecurity) { * @param method * @returns {*} */ +// eslint-disable-next-line consistent-return function resolve(basedir, pathname, method) { - var handler; - try { - //If the pathname is already a resolved function, return it. - //In the case of x-handler and x-authorize, users can define - //external handler/authorize modules and functions OR override - //existing x-authorize functions. - if (thing.isFunction(pathname)) { - return pathname; - } - - pathname = path.resolve(basedir, pathname); - handler = require(pathname); + let handler; + try { + // If the pathname is already a resolved function, return it. + // In the case of x-handler and x-authorize, users can define + // external handler/authorize modules and functions OR override + // existing x-authorize functions. + if (thing.isFunction(pathname)) { + return pathname; + } - if (thing.isFunction(handler)) { - return handler; - } + // eslint-disable-next-line no-param-reassign + pathname = path.resolve(basedir, pathname); + // eslint-disable-next-line import/no-dynamic-require + handler = require(pathname); - return method && handler[method]; - } - catch (error) { - utils.debuglog('Could not find %s.', pathname); - return; + if (thing.isFunction(handler)) { + return handler; } + + return method && handler[method]; + } catch (error) { + utils.debuglog('Could not find %s.', pathname); + } } module.exports = buildroutes; diff --git a/lib/index.js b/lib/index.js index d7ca3d2..57985c1 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1,79 +1,75 @@ -'use strict'; - -var assert = require('assert'), - joi = require("joi"), - enjoi = require('enjoi'), - thing = require('core-util-is'), - path = require('path'), - caller = require('caller'), - utils = require('./utils'), - buildroutes = require('./buildroutes'), - swaggerSchema = require('swagger-schema-official/schema'); - +/* eslint-disable no-param-reassign */ +/* eslint-disable import/no-dynamic-require */ +const assert = require('assert'); +const enjoi = require('enjoi'); +const thing = require('core-util-is'); +const path = require('path'); +const caller = require('caller'); +const swaggerSchema = require('swagger-schema-official/schema'); +const buildroutes = require('./buildroutes'); function swaggerize(options) { - var schemas; - - assert.ok(thing.isObject(options), 'Expected options to be an object.'); - assert.ok(thing.isObject(options.api), 'Expected an api definition.'); - - if ('basedir' in options) { - assert.ok(thing.isString(options.basedir), 'Expected basedir to be a string.'); - assert.ok(options.basedir.length, 'Expected basedir to be a non-empty string.'); - } - - if ('schemas' in options) { - assert.ok(thing.isArray(options.schemas), 'Expected schemas option to be an array.'); - } - - if ('handlers' in options) { - assert.ok(thing.isString(options.handlers) || thing.isObject(options.handlers), 'Expected handlers to be a string or an object.'); - assert.ok(!thing.isString(options.handlers) || options.handlers.length, 'Expected handlers to be a non-empty string.'); - } - - options.basedir = options.basedir || path.dirname(caller()); - - schemas = { - '#': swaggerSchema - }; - - // Map and validate API against schemas - if (thing.isArray(options.schemas)) { - options.schemas.forEach(function (schema) { - assert.ok(thing.isObject(schema), 'Expected schema option to be an object.'); - assert.ok(thing.isString(schema.name), 'Expected schema name to be a string.'); - assert.ok(schema.name && schema.name !== '#', 'Schema name can not be base schema.'); - assert.ok(thing.isString(schema.schema) || thing.isObject(schema.schema), 'Expected schema to to an object.'); - - if (thing.isString(schema.schema)) { - schema.schema = require(path.resolve(options.basedir, schema.schema)); - } - - schemas[schema.name] = schema.schema; - }); - } - - var result = enjoi.schema({ - type:"object", - schema:swaggerSchema - }, { - subSchemas: schemas - }).validate(options.api); - - if(result && result.error){ - assert.ifError(result.error); - } - - // Resolve path to handlers - options.handlers = options.handlers || './handlers'; - - if (thing.isString(options.handlers) && path.resolve(options.handlers) !== options.handlers) { - // Relative path, so resolve to basedir - options.handlers = path.join(options.basedir, options.handlers); - } - - return buildroutes(options); + const schemas = { + '#': swaggerSchema, + }; + + assert.ok(thing.isObject(options), 'Expected options to be an object.'); + assert.ok(thing.isObject(options.api), 'Expected an api definition.'); + + if ('basedir' in options) { + assert.ok(thing.isString(options.basedir), 'Expected basedir to be a string.'); + assert.ok(options.basedir.length, 'Expected basedir to be a non-empty string.'); + } + + if ('schemas' in options) { + assert.ok(thing.isArray(options.schemas), 'Expected schemas option to be an array.'); + } + + if ('handlers' in options) { + assert.ok(thing.isString(options.handlers) || thing.isObject(options.handlers), 'Expected handlers to be a string or an object.'); + assert.ok(!thing.isString(options.handlers) || options.handlers.length, 'Expected handlers to be a non-empty string.'); + } + + // eslint-disable-next-line no-param-reassign + options.basedir = options.basedir || path.dirname(caller()); + + // Map and validate API against schemas + if (thing.isArray(options.schemas)) { + options.schemas.forEach((schema) => { + assert.ok(thing.isObject(schema), 'Expected schema option to be an object.'); + assert.ok(thing.isString(schema.name), 'Expected schema name to be a string.'); + assert.ok(schema.name && schema.name !== '#', 'Schema name can not be base schema.'); + assert.ok(thing.isString(schema.schema) || thing.isObject(schema.schema), 'Expected schema to to an object.'); + + if (thing.isString(schema.schema)) { + // eslint-disable-next-line global-require + schema.schema = require(path.resolve(options.basedir, schema.schema)); + } + + schemas[schema.name] = schema.schema; + }); + } + + const result = enjoi.schema({ + type: 'object', + schema: swaggerSchema, + }, { + subSchemas: schemas, + }).validate(options.api); + + if (result && result.error) { + assert.ifError(result.error); + } + + // Resolve path to handlers + options.handlers = options.handlers || './handlers'; + + if (thing.isString(options.handlers) && path.resolve(options.handlers) !== options.handlers) { + // Relative path, so resolve to basedir + options.handlers = path.join(options.basedir, options.handlers); + } + + return buildroutes(options); } - module.exports = swaggerize; diff --git a/lib/readhandlers.js b/lib/readhandlers.js index a403fe4..86b30dd 100644 --- a/lib/readhandlers.js +++ b/lib/readhandlers.js @@ -1,9 +1,29 @@ -'use strict'; +/* eslint-disable global-require */ +/* eslint-disable prefer-const */ +const assert = require('assert'); +const thing = require('core-util-is'); +const path = require('path'); +const fs = require('fs'); -var assert = require('assert'), - thing = require('core-util-is'), - path = require('path'), - fs = require('fs'); +/** + * Determines if the given method is a supported HTTP method. + * @param method + * @returns {boolean} + */ +function isHttpMethod(method) { + return (typeof method === 'string') && { + get: 'GET', + post: 'POST', + put: 'PUT', + delete: 'DELETE', + head: 'HEAD', + options: 'OPTIONS', + trace: 'TRACE', + connect: 'CONNECT', + patch: 'PATCH', + // eslint-disable-next-line no-prototype-builtins + }.hasOwnProperty(method.toLowerCase()); +} /** * Reads the given path and requires all .js files. @@ -11,61 +31,45 @@ var assert = require('assert'), * @returns {{}} */ function read(dir) { - var handlers, obj; + let handlers; let + obj; - if (thing.isString(dir)) { - assert.ok(fs.existsSync(dir), 'Specified or default \'handlers\' directory does not exist.'); + if (thing.isString(dir)) { + assert.ok(fs.existsSync(dir), 'Specified or default \'handlers\' directory does not exist.'); - handlers = {}; + handlers = {}; - fs.readdirSync(dir).forEach(function (name) { - var abspath, key, stat; + fs.readdirSync(dir).forEach((name) => { + let abspath; let key; let + stat; - abspath = path.join(dir, name); - stat = fs.statSync(abspath); - key = name.replace(/\.js/, ''); + abspath = path.join(dir, name); + stat = fs.statSync(abspath); + key = name.replace(/\.js/, ''); - if (stat.isFile()) { - if (name.match(/^.*\.(js)$/)) { - obj = require(abspath); + if (stat.isFile()) { + if (name.match(/^.*\.(js)$/)) { + // eslint-disable-next-line import/no-dynamic-require + obj = require(abspath); - if (!handlers[key]) { - handlers[key] = {}; - } + if (!handlers[key]) { + handlers[key] = {}; + } - Object.keys(obj).forEach(function (k) { - handlers[key][isHttpMethod(k) ? '$' + k.toLowerCase() : k] = obj[k]; - }); - } - } - if (stat.isDirectory()) { - handlers[key] = read(abspath); - } - }); + Object.keys(obj).forEach((k) => { + handlers[key][isHttpMethod(k) ? `$${k.toLowerCase()}` : k] = obj[k]; + }); + } + } + if (stat.isDirectory()) { + handlers[key] = read(abspath); + } + }); - return handlers; - } + return handlers; + } - return dir; -} - -/** - * Determines if the given method is a supported HTTP method. - * @param method - * @returns {boolean} - */ -function isHttpMethod(method) { - return (typeof method === 'string') && { - get: 'GET', - post: 'POST', - put: 'PUT', - delete: 'DELETE', - head: 'HEAD', - options: 'OPTIONS', - trace: 'TRACE', - connect: 'CONNECT', - patch: 'PATCH' - }.hasOwnProperty(method.toLowerCase()); + return dir; } module.exports = read; diff --git a/lib/utils.js b/lib/utils.js index 1ab3bf9..f7fe441 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -1,71 +1,71 @@ -'use strict'; - -var pkg = require('../package.json'); +/* eslint-disable no-param-reassign */ +const pkg = require('../package.json'); module.exports = { - debuglog: require('debuglog')(pkg.name), - - verbs: [ - 'get', - 'post', - 'put', - 'delete', - 'head', - 'options', - 'trace', - 'connect', - 'patch' - ], + // eslint-disable-next-line global-require + debuglog: require('debuglog')(pkg.name), - endsWith: function (haystack, needle) { - if (!haystack || !needle) { - return false; - } + verbs: [ + 'get', + 'post', + 'put', + 'delete', + 'head', + 'options', + 'trace', + 'connect', + 'patch', + ], - if (needle.length === 1) { - return haystack[haystack.length - 1] === needle; - } + endsWith(haystack, needle) { + if (!haystack || !needle) { + return false; + } - return haystack.slice(haystack.length - needle.length) === needle; - }, + if (needle.length === 1) { + return haystack[haystack.length - 1] === needle; + } - prefix: function (str, pre) { - str = str || ''; - if (str.indexOf(pre) === 0) { - return str; - } + return haystack.slice(haystack.length - needle.length) === needle; + }, - str = pre + str; - return str; - }, + prefix(str, pre) { + str = str || ''; + if (str.indexOf(pre) === 0) { + return str; + } - unprefix: function (str, pre) { - str = str || ''; - if (str.indexOf(pre) === 0) { - str = str.substr(pre.length); - return str; - } + str = pre + str; + return str; + }, - return str; - }, + unprefix(str, pre) { + str = str || ''; + if (str.indexOf(pre) === 0) { + str = str.substr(pre.length); + return str; + } - suffix: function (str, suff) { - str = str || ''; - if (this.endsWith(str, suff)) { - return str; - } + return str; + }, - str = str + suff; - return str; - }, + suffix(str, suff) { + str = str || ''; + if (this.endsWith(str, suff)) { + return str; + } - unsuffix: function (str, suff) { - str = str || ''; - if (this.endsWith(str, suff)) { - str = str.substr(0, str.length - suff.length); - return str; - } + str += suff; + return str; + }, - return str; + unsuffix(str, suff) { + str = str || ''; + if (this.endsWith(str, suff)) { + str = str.substr(0, str.length - suff.length); + return str; } + + return str; + }, }; diff --git a/lib/validator.js b/lib/validator.js index 5ba7893..6801f08 100644 --- a/lib/validator.js +++ b/lib/validator.js @@ -1,134 +1,138 @@ -'use strict'; - -var assert = require('assert'), - thing = require('core-util-is'), - Joi = require('joi'), - enjoi = require('enjoi'), - utils = require('./utils'); - -var extensions = [ - { - type: 'file', - base: Joi.object({ - value: Joi.binary().required(true), - consumes: Joi.array().items( - Joi.string().regex(/multipart\/form-data|application\/x-www-form-urlencoded/) - ).required(true), - in: Joi.string().regex(/formData/).required(true) - }) - } +/* eslint-disable no-restricted-globals */ +/* eslint-disable no-use-before-define */ +/* eslint-disable prefer-const */ +/* eslint-disable no-param-reassign */ +/* eslint-disable default-case */ +/* eslint-disable consistent-return */ +const assert = require('assert'); +const thing = require('core-util-is'); +const Joi = require('joi'); +const enjoi = require('enjoi'); +const utils = require('./utils'); + +const extensions = [ + { + type: 'file', + base: Joi.object({ + value: Joi.binary().required(true), + consumes: Joi.array().items( + Joi.string().regex(/multipart\/form-data|application\/x-www-form-urlencoded/), + ).required(true), + in: Joi.string().regex(/formData/).required(true), + }), + }, ]; - module.exports = function validator(options) { - var schemas= {}; + const schemas = {}; - schemas['#'] = options.api; + schemas['#'] = options.api; - options.schemas && Object.keys(options.schemas).forEach(function (key) { - schemas[key] = options.schemas[key]; - }); + // eslint-disable-next-line no-unused-expressions + options.schemas && Object.keys(options.schemas).forEach((key) => { + schemas[key] = options.schemas[key]; + }); - return { - /** + return { + /** * Creates a parameter validator. * @param parameter * @returns {Function} */ - makeAll: function (validators, route) { - var self = this; + makeAll(validators, route) { + const self = this; - return Object.keys(validators).map(function (k) { - var parameter = validators[k]; + return Object.keys(validators).map((k) => { + const parameter = validators[k]; - return self.make(parameter, route.consumes); - }); - }, + return self.make(parameter, route.consumes); + }); + }, - /** + /** * Creates a parameter validator. * @param parameter * @returns {Function} */ - make: function (parameter, consumes, stripUnknownProperties) { - var schema, coerce, template; - - if (parameter.$ref) { - parameter = refresolver(schemas, parameter.$ref); - } - - coerce = coercion(parameter, consumes); - - template = { - required: parameter.required, - enum: parameter.enum, - type: normalizetype(parameter.type), - schema: parameter.schema, - items: parameter.items, - properties: parameter.properties, - pattern: parameter.pattern, - format: parameter.format, - allowEmptyValue: parameter.allowEmptyValue, - collectionFormat: parameter.collectionFormat, - default: parameter.default, - maximum: parameter.maximum, - minimum: parameter.minimum, - maxLength: parameter.maxLength, - minLength: parameter.minLength, - maxItems: parameter.maxItems, - minItems: parameter.minItems, - uniqueItems: parameter.uniqueItems, - multipleOf: parameter.multipleOf - }; - - if ((parameter.in === 'body' || parameter.in === 'formData') && template.schema) { - schema = enjoi.schema(template.schema, { - subSchemas: schemas, - extensions: extensions - }); - } - else { - schema = enjoi.schema(template, { - subSchemas: schemas, - extensions: extensions - }); - } - - if (parameter.required) { - schema = schema.required(); - } - - if (parameter.in !== 'body' && parameter.allowEmptyValue){ - schema = schema.allow('').optional(); - } - - if (stripUnknownProperties){ - schema = schema.unknown(false); - } - - return { - parameter: parameter, - schema: schema, - validate: function validateParameter(value, callback) { - coerce && value && (value= coerce(value)); - var result = schema.validate(value, { stripUnknown: stripUnknownProperties} ); - if (result && result.error) { - - result.error.message = result.error.message.replace('value', parameter.name); - - result.error.details.forEach(function(detail){ - detail.message = detail.message.replace('value', parameter.name); - detail.path = [parameter.name]; - }); - utils.debuglog('%s', result.error.message); - return callback(result.error); - } - - return callback(null,result.value); - } - }; - } - }; + make(parameter, consumes, stripUnknownProperties = false) { + let schema; let coerce; let + template; + + if (parameter.$ref) { + parameter = refresolver(schemas, parameter.$ref); + } + + coerce = coercion(parameter, consumes); + + template = { + required: parameter.required, + enum: parameter.enum, + type: normalizetype(parameter.type), + schema: parameter.schema, + items: parameter.items, + properties: parameter.properties, + pattern: parameter.pattern, + format: parameter.format, + allowEmptyValue: parameter.allowEmptyValue, + collectionFormat: parameter.collectionFormat, + default: parameter.default, + maximum: parameter.maximum, + minimum: parameter.minimum, + maxLength: parameter.maxLength, + minLength: parameter.minLength, + maxItems: parameter.maxItems, + minItems: parameter.minItems, + uniqueItems: parameter.uniqueItems, + multipleOf: parameter.multipleOf, + }; + + if ((parameter.in === 'body' || parameter.in === 'formData') && template.schema) { + schema = enjoi.schema(template.schema, { + subSchemas: schemas, + extensions, + }); + } else { + schema = enjoi.schema(template, { + subSchemas: schemas, + extensions, + }); + } + + if (parameter.required) { + schema = schema.required(); + } + + if (parameter.in !== 'body' && parameter.allowEmptyValue) { + schema = schema.allow('').optional(); + } + + if (stripUnknownProperties) { + schema = schema.unknown(false); + } + + return { + parameter, + schema, + validate: function validateParameter(value, callback) { + // eslint-disable-next-line no-unused-expressions + coerce && value && (value = coerce(value)); + const result = schema.validate(value, { stripUnknown: stripUnknownProperties }); + if (result && result.error) { + result.error.message = result.error.message.replace('value', parameter.name); + + result.error.details.forEach((detail) => { + detail.message = detail.message.replace('value', parameter.name); + detail.path = [parameter.name]; + }); + utils.debuglog('%s', result.error.message); + return callback(result.error); + } + + return callback(null, result.value); + }, + }; + }, + }; }; /** @@ -138,130 +142,126 @@ module.exports = function validator(options) { * @returns {*} */ function refresolver(schemas, value) { - var id, refschema, path, fragment, paths; + let id; let refschema; let path; let fragment; let + paths; - id = value.substr(0, value.indexOf('#') + 1); - path = value.substr(value.indexOf('#') + 1); + id = value.substr(0, value.indexOf('#') + 1); + path = value.substr(value.indexOf('#') + 1); - if (id) { - refschema = schemas[id] || schemas[id.substr(0, id.length - 1)]; - } - else { - refschema = schemas['#']; - } + if (id) { + refschema = schemas[id] || schemas[id.substr(0, id.length - 1)]; + } else { + refschema = schemas['#']; + } - assert.ok(refschema, 'Can not find schema reference: ' + value + '.'); + assert.ok(refschema, `Can not find schema reference: ${value}.`); - fragment = refschema; - paths = Array.isArray(path) ? path : path.split('/'); + fragment = refschema; + paths = Array.isArray(path) ? path : path.split('/'); - for (var i = 1; i < paths.length && fragment; i++) { - fragment = typeof fragment === 'object' && fragment[paths[i]]; - } + // eslint-disable-next-line no-plusplus + for (let i = 1; i < paths.length && fragment; i++) { + fragment = typeof fragment === 'object' && fragment[paths[i]]; + } - return fragment; + return fragment; } /** * Returns a function that coerces a type. - * Coercion of doubles and longs are not supported in Javascript and strings should be used instead for 64bit numbers. + * Coercion of doubles and longs are not supported in Javascript and strings should be used + * instead for 64bit numbers. * @param type */ function coercion(parameter, consumes) { - var fn; - - switch (parameter.type) { - case 'array' : - fn = function (data) { - var sep; - - if (Array.isArray(data)) { - return data; - } - - sep = pathsep(parameter.collectionFormat || 'csv'); - return data.split(sep); - }; - break; - case 'integer': - case 'float': - case 'long': - case 'double': - fn = function (data) { - if (isNaN(data)) { - return data; - } - return Number(data); - }; - break; - case 'string': - fn = String; - break; - case 'byte': - fn = function (data) { - return isNaN(data) ? new Buffer(data)[0] : Number(data); - }; - break; - case 'boolean': - fn = function(data) { - return (data === 'true') || (data === '1') || (data === true); - }; - break; - case 'date': - case 'dateTime': - fn = Date.parse; - break; - case 'file': { - fn = function (data) { - return { - value: data, - consumes: consumes, - in: parameter.in - }; - }; - break; + let fn; + + switch (parameter.type) { + case 'array': + fn = (data) => { + let sep; + + if (Array.isArray(data)) { + return data; } - } - if (!fn && parameter.schema) { - fn = function (data) { - if (thing.isObject(data) && !Object.keys(data).length) { - return undefined; - } - return data; - }; + sep = pathsep(parameter.collectionFormat || 'csv'); + return data.split(sep); + }; + break; + case 'integer': + case 'float': + case 'long': + case 'double': + fn = (data) => { + if (isNaN(data)) { + return data; + } + return Number(data); + }; + break; + case 'string': + fn = String; + break; + case 'byte': + fn = (data) => (isNaN(data) ? Buffer.from(data)[0] : Number(data)); + break; + case 'boolean': + fn = (data) => (data === 'true') || (data === '1') || (data === true); + break; + case 'date': + case 'dateTime': + fn = Date.parse; + break; + case 'file': { + fn = (data) => ({ + value: data, + consumes, + in: parameter.in, + }); + break; } + } + + if (!fn && parameter.schema) { + fn = (data) => { + if (thing.isObject(data) && !Object.keys(data).length) { + return undefined; + } + return data; + }; + } - return fn; + return fn; } function normalizetype(type) { - switch (type) { - case 'long': - case 'byte': - return 'integer'; - case 'float': - case 'double': - return 'number'; - case 'date': - case 'dateTime': - return 'string'; - default: - return type; - } + switch (type) { + case 'long': + case 'byte': + return 'integer'; + case 'float': + case 'double': + return 'number'; + case 'date': + case 'dateTime': + return 'string'; + default: + return type; + } } function pathsep(format) { - switch (format) { - case 'csv': - return ','; - case 'ssv': - return ' '; - case 'tsv': - return '\t'; - case 'pipes': - return '|'; - case 'multi': - return '&'; - } + switch (format) { + case 'csv': + return ','; + case 'ssv': + return ' '; + case 'tsv': + return '\t'; + case 'pipes': + return '|'; + case 'multi': + return '&'; + } } From 53cc3ed815ff6a8a812a7a43e3cd8feee801443e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3pez=2C=20Diego?= Date: Sun, 7 Mar 2021 21:35:25 -0600 Subject: [PATCH 06/14] [update-coverage] Use nyc instead of Istambul for code coverage --- package-lock.json | 1417 ++++++++++++++++++++++++++++++++++++++------- package.json | 4 +- 2 files changed, 1196 insertions(+), 225 deletions(-) diff --git a/package-lock.json b/package-lock.json index 82be505..7444f2c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,12 +13,224 @@ "@babel/highlight": "^7.10.4" } }, + "@babel/compat-data": { + "version": "7.13.8", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/compat-data/-/compat-data-7.13.8.tgz", + "integrity": "sha1-W3g7mAjxXO9xVH8baR80+P9gA6Y=", + "dev": true + }, + "@babel/core": { + "version": "7.13.8", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/core/-/core-7.13.8.tgz", + "integrity": "sha1-wZHZxYcXiKWR1p6h3APlhDo2gPs=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.13.0", + "@babel/helper-compilation-targets": "^7.13.8", + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helpers": "^7.13.0", + "@babel/parser": "^7.13.4", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha1-3PyCa+72XnXFDiHTg319lXmN1lg=", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "json5": { + "version": "2.2.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/json5/-/json5-2.2.0.tgz", + "integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/semver/-/semver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.13.9", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/generator/-/generator-7.13.9.tgz", + "integrity": "sha1-Onqpb577jivkLTjYDizrTGTY3jk=", + "dev": true, + "requires": { + "@babel/types": "^7.13.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-compilation-targets": { + "version": "7.13.8", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.8.tgz", + "integrity": "sha1-Ar2yJ4NDmvsRsvAJgUvdiDhL1Gg=", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.8", + "@babel/helper-validator-option": "^7.12.17", + "browserslist": "^4.14.5", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/semver/-/semver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, + "@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha1-k61lbbPDwiMlWf17LD29y+DrN3o=", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.13", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha1-vGNFHUA6OzCCuX4diz/lvUCR5YM=", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.13.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.0.tgz", + "integrity": "sha1-aqS7Z44PjCL1jNt5RR0wSURhsJE=", + "dev": true, + "requires": { + "@babel/types": "^7.13.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.12.13", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", + "integrity": "sha1-7GfkQE9BdQRj5FXMMgP2oy6T/LA=", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-module-transforms": { + "version": "7.13.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/helper-module-transforms/-/helper-module-transforms-7.13.0.tgz", + "integrity": "sha1-QutL2O6mi6tGdRISw1e/7YtA9vE=", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-replace-supers": "^7.13.0", + "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0", + "lodash": "^4.17.19" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.12.13", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", + "integrity": "sha1-XALRcbTIYVsecWP4iMHIHDCiquo=", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-replace-supers": { + "version": "7.13.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/helper-replace-supers/-/helper-replace-supers-7.13.0.tgz", + "integrity": "sha1-YDS3tRlDCUy0FieEjLIZywK+HSQ=", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.13.0", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0" + } + }, + "@babel/helper-simple-access": { + "version": "7.12.13", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz", + "integrity": "sha1-hHi8xcrPaqFnKyUcHS3eXM1hpsQ=", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha1-6UML4AuvPoiw4T5vnU6vITY3KwU=", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, "@babel/helper-validator-identifier": { "version": "7.12.11", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", "integrity": "sha1-yaHwIZF9y1zPDU5FPjmQIpgfye0=", "dev": true }, + "@babel/helper-validator-option": { + "version": "7.12.17", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", + "integrity": "sha1-0fvwEuGnm37rv9xtJwuq+NnrmDE=", + "dev": true + }, + "@babel/helpers": { + "version": "7.13.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/helpers/-/helpers-7.13.0.tgz", + "integrity": "sha1-dkeuVzd7TwQIv0+KevAcQuQbrcA=", + "dev": true, + "requires": { + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0" + } + }, "@babel/highlight": { "version": "7.13.8", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/highlight/-/highlight-7.13.8.tgz", @@ -58,6 +270,79 @@ } } }, + "@babel/parser": { + "version": "7.13.9", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/parser/-/parser-7.13.9.tgz", + "integrity": "sha1-yjTLleHC3RJoY6hEZa6O9mEUvpk=", + "dev": true + }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha1-UwJlvooliduzdSOETFvLVZR/syc=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha1-3PyCa+72XnXFDiHTg319lXmN1lg=", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + } + } + }, + "@babel/traverse": { + "version": "7.13.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/traverse/-/traverse-7.13.0.tgz", + "integrity": "sha1-bZV1JHX4bufe0GU23jCaZfyJZsw=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.13.0", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.13.0", + "@babel/types": "^7.13.0", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha1-3PyCa+72XnXFDiHTg319lXmN1lg=", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/globals/-/globals-11.12.0.tgz", + "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.13.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@babel/types/-/types-7.13.0.tgz", + "integrity": "sha1-dEJNKBbwFxtBAPCrNOmjdO/ff4A=", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, "@eslint/eslintrc": { "version": "0.4.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@eslint/eslintrc/-/eslintrc-0.4.0.tgz", @@ -101,6 +386,82 @@ "@hapi/hoek": "^9.0.0" } }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha1-/T2x1Z7PfPEh6AZQu4ZxL5tV7O0=", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", + "dev": true + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha1-w1IlhD3493bfIcV1V7wIfp39/Gk=", + "dev": true + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha1-5F44TkuOwWvOL9kDr3hFD2v37Jg=", + "dev": true + }, "@sideway/address": { "version": "4.1.1", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/@sideway/address/-/address-4.1.1.tgz", @@ -125,12 +486,6 @@ "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", "dev": true }, - "abbrev": { - "version": "1.0.9", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/abbrev/-/abbrev-1.0.9.tgz", - "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", - "dev": true - }, "acorn": { "version": "7.4.1", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/acorn/-/acorn-7.4.1.tgz", @@ -143,6 +498,16 @@ "integrity": "sha1-/IZh4Rt6wVOcR9v+oucrOvNNJns=", "dev": true }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha1-kmcP9Q9TWb23o+DUDQ7DDFc3aHo=", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, "ajv": { "version": "6.12.6", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/ajv/-/ajv-6.12.6.tgz", @@ -155,13 +520,6 @@ "uri-js": "^4.2.2" } }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true, - "optional": true - }, "ansi-colors": { "version": "4.1.1", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/ansi-colors/-/ansi-colors-4.1.1.tgz", @@ -183,6 +541,21 @@ "color-convert": "^1.9.0" } }, + "append-transform": { + "version": "2.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/append-transform/-/append-transform-2.0.0.tgz", + "integrity": "sha1-mdnSnHs4OR5vQo0ozhNlUfC3fhI=", + "dev": true, + "requires": { + "default-require-extensions": "^3.0.0" + } + }, + "archy": { + "version": "1.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "dev": true + }, "argparse": { "version": "1.0.10", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/argparse/-/argparse-1.0.10.tgz", @@ -222,12 +595,6 @@ "integrity": "sha1-SDFDxWeu7UeFdZwIZXhtx319LjE=", "dev": true }, - "async": { - "version": "1.5.2", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, "balanced-match": { "version": "1.0.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/balanced-match/-/balanced-match-1.0.0.tgz", @@ -244,6 +611,31 @@ "concat-map": "0.0.1" } }, + "browserslist": { + "version": "4.16.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha1-NAqkaUDX24eHSFZ8XeokpI3fNxc=", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001181", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.649", + "escalade": "^3.1.1", + "node-releases": "^1.1.70" + } + }, + "caching-transform": { + "version": "4.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/caching-transform/-/caching-transform-4.0.0.tgz", + "integrity": "sha1-ANKXpCBtceIWPDnq/6gVesBlHw8=", + "dev": true, + "requires": { + "hasha": "^5.0.0", + "make-dir": "^3.0.0", + "package-hash": "^4.0.0", + "write-file-atomic": "^3.0.0" + } + }, "call-bind": { "version": "1.0.2", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/call-bind/-/call-bind-1.0.2.tgz", @@ -265,6 +657,18 @@ "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=", "dev": true }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001196", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/caniuse-lite/-/caniuse-lite-1.0.30001196.tgz", + "integrity": "sha1-AFGKIESxq/Pg3zH62+XtkLY/TmQ=", + "dev": true + }, "chalk": { "version": "4.1.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/chalk/-/chalk-4.1.0.tgz", @@ -316,6 +720,23 @@ } } }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha1-7oRy27Ep5yezHooQpCfe6d/kAIs=", + "dev": true + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE=", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, "color-convert": { "version": "1.9.3", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/color-convert/-/color-convert-1.9.3.tgz", @@ -331,6 +752,18 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, + "colorette": { + "version": "1.2.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha1-y8x51emcrqLb8Q6zom/Ys+as+pQ=", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, "concat-map": { "version": "0.0.1", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/concat-map/-/concat-map-0.0.1.tgz", @@ -349,6 +782,15 @@ "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", "dev": true }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, "core-util-is": { "version": "1.0.2", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/core-util-is/-/core-util-is-1.0.2.tgz", @@ -390,6 +832,12 @@ "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/debuglog/-/debuglog-1.0.1.tgz", "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=" }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, "deep-equal": { "version": "1.1.1", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/deep-equal/-/deep-equal-1.1.1.tgz", @@ -410,6 +858,23 @@ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, + "default-require-extensions": { + "version": "3.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/default-require-extensions/-/default-require-extensions-3.0.0.tgz", + "integrity": "sha1-4D+TqsmytkQ/xS5eSjezrZrY35Y=", + "dev": true, + "requires": { + "strip-bom": "^4.0.0" + }, + "dependencies": { + "strip-bom": { + "version": "4.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha1-nDUFwdtFvO3KPZz3oW9cWqOQGHg=", + "dev": true + } + } + }, "define-properties": { "version": "1.1.3", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/define-properties/-/define-properties-1.1.3.tgz", @@ -443,6 +908,12 @@ "minimatch": "^3.0.4" } }, + "electron-to-chromium": { + "version": "1.3.681", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/electron-to-chromium/-/electron-to-chromium-1.3.681.tgz", + "integrity": "sha1-+s2RWuRqAg6L5Wai7NwLlERDm+k=", + "dev": true + }, "emoji-regex": { "version": "8.0.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -529,25 +1000,24 @@ "is-symbol": "^1.0.2" } }, + "es6-error": { + "version": "4.1.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha1-njr0B0Wd7tR+mpH5uIWoTrBcVh0=", + "dev": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA=", + "dev": true + }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, - "escodegen": { - "version": "1.8.1", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/escodegen/-/escodegen-1.8.1.tgz", - "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", - "dev": true, - "requires": { - "esprima": "^2.7.1", - "estraverse": "^1.9.1", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.2.0" - } - }, "eslint": { "version": "7.21.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/eslint/-/eslint-7.21.0.tgz", @@ -839,12 +1309,6 @@ } } }, - "esprima": { - "version": "2.7.3", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, "esquery": { "version": "1.4.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/esquery/-/esquery-1.4.0.tgz", @@ -879,12 +1343,6 @@ } } }, - "estraverse": { - "version": "1.9.3", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/estraverse/-/estraverse-1.9.3.tgz", - "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", - "dev": true - }, "esutils": { "version": "2.0.3", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/esutils/-/esutils-2.0.3.tgz", @@ -918,40 +1376,127 @@ "flat-cache": "^3.0.4" } }, - "find-up": { - "version": "2.1.0", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha1-YbAzgwKy/p+Vfcwy/CqH8cMEixE=", + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha1-ibM/rUpGcNqpT4Vff74x1thP6IA=", "dev": true, "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.1.1", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha1-xLSJ6ACW2d8d/JfHmHGup8YXxGk=", - "dev": true - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/for-each/-/for-each-0.3.3.tgz", + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM=", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + } + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha1-YbAzgwKy/p+Vfcwy/CqH8cMEixE=", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.1.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha1-xLSJ6ACW2d8d/JfHmHGup8YXxGk=", + "dev": true + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/for-each/-/for-each-0.3.3.tgz", "integrity": "sha1-abRH6IoKXTLD5whPPxcQA0shN24=", "dev": true, "requires": { "is-callable": "^1.1.3" } }, + "foreground-child": { + "version": "2.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/foreground-child/-/foreground-child-2.0.0.tgz", + "integrity": "sha1-cbMoAMnxWqjy+D9Ka9m/812GGlM=", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" + } + }, + "fromentries": { + "version": "1.3.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/fromentries/-/fromentries-1.3.2.tgz", + "integrity": "sha1-5LymgIgWv4+TtSdQ8RJ/Wm/Ybjo=", + "dev": true + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -970,6 +1515,18 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA=", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", + "dev": true + }, "get-intrinsic": { "version": "1.1.1", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/get-intrinsic/-/get-intrinsic-1.1.1.tgz", @@ -981,18 +1538,11 @@ "has-symbols": "^1.0.1" } }, - "glob": { - "version": "5.0.15", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } + "get-package-type": { + "version": "0.1.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha1-jeLYA8/0TfO8bEVuZmizbDkm4Ro=", + "dev": true }, "glob-parent": { "version": "5.1.1", @@ -1018,27 +1568,6 @@ "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", "dev": true }, - "handlebars": { - "version": "4.7.7", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/handlebars/-/handlebars-4.7.7.tgz", - "integrity": "sha1-nOM0FqrQLb1sj6+oJA1dmABJRaE=", - "dev": true, - "requires": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4", - "wordwrap": "^1.0.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } - } - }, "has": { "version": "1.0.3", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/has/-/has-1.0.3.tgz", @@ -1054,24 +1583,34 @@ "integrity": "sha1-ZP5qywIGc+O3jbA1pa9pqp0HsRM=", "dev": true }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, "has-symbols": { "version": "1.0.2", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/has-symbols/-/has-symbols-1.0.2.tgz", "integrity": "sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=", "dev": true }, + "hasha": { + "version": "5.2.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/hasha/-/hasha-5.2.2.tgz", + "integrity": "sha1-pIR3mJs7MnrqPAT1MJbYFtl1IqE=", + "dev": true, + "requires": { + "is-stream": "^2.0.0", + "type-fest": "^0.8.0" + } + }, "hosted-git-info": { "version": "2.8.8", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/hosted-git-info/-/hosted-git-info-2.8.8.tgz", "integrity": "sha1-dTm9S8Hg4KiVgVouAmJCCxKFhIg=", "dev": true }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha1-39YAJ9o2o238viNiYsAKWCJoFFM=", + "dev": true + }, "ignore": { "version": "4.0.6", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/ignore/-/ignore-4.0.6.tgz", @@ -1094,6 +1633,12 @@ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE=", + "dev": true + }, "inflight": { "version": "1.0.6", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/inflight/-/inflight-1.0.6.tgz", @@ -1203,6 +1748,12 @@ "has": "^1.0.3" } }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha1-venDJoDW+uBBKdasnZIc54FfeOM=", + "dev": true + }, "is-string": { "version": "1.0.5", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-string/-/is-string-1.0.5.tgz", @@ -1218,32 +1769,129 @@ "has-symbols": "^1.0.1" } }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", + "dev": true + }, "isexe": { "version": "2.0.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, - "istanbul": { - "version": "0.4.5", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/istanbul/-/istanbul-0.4.5.tgz", - "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", + "istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha1-9ZRKN8cLVQsCp4pcOyBVsoDOyOw=", + "dev": true + }, + "istanbul-lib-hook": { + "version": "3.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", + "integrity": "sha1-j4TJQ0iIzGsdCp1wkqdtI56/DMY=", + "dev": true, + "requires": { + "append-transform": "^2.0.0" + } + }, + "istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha1-hzxv/4l0UBGCIndGlqPyiQLXfB0=", + "dev": true, + "requires": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/semver/-/semver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, + "istanbul-lib-processinfo": { + "version": "2.0.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", + "integrity": "sha1-4UJlFGYiRLLyXfco6P0bo1/lO5w=", "dev": true, "requires": { - "abbrev": "1.0.x", - "async": "1.x", - "escodegen": "1.8.x", - "esprima": "2.7.x", - "glob": "^5.0.15", - "handlebars": "^4.0.1", - "js-yaml": "3.x", - "mkdirp": "0.5.x", - "nopt": "3.x", - "once": "1.x", - "resolve": "1.1.x", - "supports-color": "^3.1.0", - "which": "^1.1.1", - "wordwrap": "^1.0.0" + "archy": "^1.0.0", + "cross-spawn": "^7.0.0", + "istanbul-lib-coverage": "^3.0.0-alpha.1", + "make-dir": "^3.0.0", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "uuid": "^3.3.3" + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha1-dRj+UupE3jcvRgp2tezan/tz2KY=", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha1-dXQ85tlruG3H7kNSz2Nmoj8LGtk=", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "istanbul-reports": { + "version": "3.0.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha1-1ZMhDlAAaDdQywn8BkTktuJ/1Ts=", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" } }, "joi": { @@ -1282,6 +1930,12 @@ } } }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=", + "dev": true + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -1303,16 +1957,6 @@ "minimist": "^1.2.0" } }, - "levn": { - "version": "0.3.0", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, "load-json-file": { "version": "2.0.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/load-json-file/-/load-json-file-2.0.0.tgz", @@ -1341,6 +1985,12 @@ "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=", "dev": true }, + "lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", + "dev": true + }, "lru-cache": { "version": "6.0.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/lru-cache/-/lru-cache-6.0.0.tgz", @@ -1350,6 +2000,23 @@ "yallist": "^4.0.0" } }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8=", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/semver/-/semver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, "minimatch": { "version": "3.0.4", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/minimatch/-/minimatch-3.0.4.tgz", @@ -1365,15 +2032,6 @@ "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=", "dev": true }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, "ms": { "version": "2.1.2", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/ms/-/ms-2.1.2.tgz", @@ -1386,21 +2044,21 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha1-tKr7k+OustgXTKU88WOrfXMIMF8=", - "dev": true - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "node-preload": { + "version": "0.2.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/node-preload/-/node-preload-0.2.1.tgz", + "integrity": "sha1-wDBDuzJ/QXoY/uerfuV7QIoUQwE=", "dev": true, "requires": { - "abbrev": "1" + "process-on-spawn": "^1.0.0" } }, + "node-releases": { + "version": "1.1.71", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/node-releases/-/node-releases-1.1.71.tgz", + "integrity": "sha1-yxM0sXmJaxyJ7P3UtyX7e738fbs=", + "dev": true + }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -1431,6 +2089,112 @@ } } }, + "nyc": { + "version": "15.1.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/nyc/-/nyc-15.1.0.tgz", + "integrity": "sha1-EzXa4S3ch7biSdWhmUykva6nXwI=", + "dev": true, + "requires": { + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "caching-transform": "^4.0.0", + "convert-source-map": "^1.7.0", + "decamelize": "^1.2.0", + "find-cache-dir": "^3.2.0", + "find-up": "^4.1.0", + "foreground-child": "^2.0.0", + "get-package-type": "^0.1.0", + "glob": "^7.1.6", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-hook": "^3.0.0", + "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-processinfo": "^2.0.2", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "make-dir": "^3.0.0", + "node-preload": "^0.2.1", + "p-map": "^3.0.0", + "process-on-spawn": "^1.0.0", + "resolve-from": "^5.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "spawn-wrap": "^2.0.0", + "test-exclude": "^6.0.0", + "yargs": "^15.0.2" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/glob/-/glob-7.1.6.tgz", + "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", + "dev": true + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha1-w1IlhD3493bfIcV1V7wIfp39/Gk=", + "dev": true + } + } + }, "object-inspect": { "version": "1.7.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/object-inspect/-/object-inspect-1.7.0.tgz", @@ -1498,20 +2262,6 @@ "wrappy": "1" } }, - "optionator": { - "version": "0.8.3", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU=", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, "p-limit": { "version": "1.3.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/p-limit/-/p-limit-1.3.0.tgz", @@ -1530,12 +2280,33 @@ "p-limit": "^1.1.0" } }, + "p-map": { + "version": "3.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha1-1wTZr4orpoTiYA2aIVmD1BQal50=", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, "p-try": { "version": "1.0.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/p-try/-/p-try-1.0.0.tgz", "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, + "package-hash": { + "version": "4.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/package-hash/-/package-hash-4.0.0.tgz", + "integrity": "sha1-NTf2VGZew8w4gnOH/JBMFjxU9QY=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.15", + "hasha": "^5.0.0", + "lodash.flattendeep": "^4.4.0", + "release-zalgo": "^1.0.0" + } + }, "parent-module": { "version": "1.0.1", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/parent-module/-/parent-module-1.0.1.tgz", @@ -1602,11 +2373,14 @@ "find-up": "^2.1.0" } }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true + "process-on-spawn": { + "version": "1.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/process-on-spawn/-/process-on-spawn-1.0.0.tgz", + "integrity": "sha1-lbBaIwc9MKF6z9ySpEDv0rrv3JM=", + "dev": true, + "requires": { + "fromentries": "^1.2.0" + } }, "progress": { "version": "2.0.3", @@ -1657,16 +2431,31 @@ "integrity": "sha1-IG0K0KVkjP+9uK5GQ489xRyfeOI=", "dev": true }, + "release-zalgo": { + "version": "1.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/release-zalgo/-/release-zalgo-1.0.0.tgz", + "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", + "dev": true, + "requires": { + "es6-error": "^4.0.1" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, "require-from-string": { "version": "2.0.2", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk=", "dev": true }, - "resolve": { - "version": "1.1.7", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", "dev": true }, "resolve-from": { @@ -1709,6 +2498,12 @@ } } }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", + "dev": true + }, "semver": { "version": "7.3.4", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/semver/-/semver-7.3.4.tgz", @@ -1718,6 +2513,12 @@ "lru-cache": "^6.0.0" } }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, "shebang-command": { "version": "2.0.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/shebang-command/-/shebang-command-2.0.0.tgz", @@ -1733,6 +2534,12 @@ "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", "dev": true }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw=", + "dev": true + }, "slice-ansi": { "version": "4.0.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/slice-ansi/-/slice-ansi-4.0.0.tgz", @@ -1770,14 +2577,29 @@ } } }, - "source-map": { - "version": "0.2.0", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/source-map/-/source-map-0.2.0.tgz", - "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", + "spawn-wrap": { + "version": "2.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/spawn-wrap/-/spawn-wrap-2.0.0.tgz", + "integrity": "sha1-EDaFuLj5t5dxMYgnqnhlCmENRX4=", "dev": true, - "optional": true, "requires": { - "amdefine": ">=0.0.4" + "foreground-child": "^2.0.0", + "is-windows": "^1.0.2", + "make-dir": "^3.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "which": "^2.0.1" + }, + "dependencies": { + "which": { + "version": "2.0.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/which/-/which-2.0.2.tgz", + "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } } }, "spdx-correct": { @@ -1875,15 +2697,6 @@ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - }, "swagger-schema-official": { "version": "2.0.0-bab6bed", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/swagger-schema-official/-/swagger-schema-official-2.0.0-bab6bed.tgz", @@ -1969,6 +2782,33 @@ } } }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha1-BKhphmHYBepvopO2y55jrARO8V4=", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/glob/-/glob-7.1.6.tgz", + "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, "text-table": { "version": "0.2.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/text-table/-/text-table-0.2.0.tgz", @@ -1981,6 +2821,12 @@ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, "tsconfig-paths": { "version": "3.9.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", @@ -1993,27 +2839,20 @@ "strip-bom": "^3.0.0" } }, - "type-check": { - "version": "0.3.2", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, "type-fest": { "version": "0.8.1", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/type-fest/-/type-fest-0.8.1.tgz", "integrity": "sha1-CeJJ696FHTseSNJ8EFREZn8XuD0=", "dev": true }, - "uglify-js": { - "version": "3.13.0", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/uglify-js/-/uglify-js-3.13.0.tgz", - "integrity": "sha1-Zu1p9yQfM/E1MdPVHVvOvwDff2k=", + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha1-qX7nqf9CaRufeD/xvFES/j/KkIA=", "dev": true, - "optional": true + "requires": { + "is-typedarray": "^1.0.0" + } }, "unbox-primitive": { "version": "1.0.0", @@ -2036,6 +2875,12 @@ "punycode": "^2.1.0" } }, + "uuid": { + "version": "3.4.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=", + "dev": true + }, "v8-compile-cache": { "version": "2.2.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", @@ -2052,15 +2897,6 @@ "spdx-expression-parse": "^3.0.0" } }, - "which": { - "version": "1.3.1", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/which/-/which-1.3.1.tgz", - "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, "which-boxed-primitive": { "version": "1.0.2", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", @@ -2074,17 +2910,54 @@ "is-symbol": "^1.0.3" } }, + "which-module": { + "version": "2.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, "word-wrap": { "version": "1.2.3", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/word-wrap/-/word-wrap-1.2.3.tgz", "integrity": "sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=", "dev": true }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + } + } }, "wrappy": { "version": "1.0.2", @@ -2092,11 +2965,109 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha1-Vr1cWlxwSBzRnFcb05q5ZaXeVug=", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "y18n": { + "version": "4.0.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha1-jbK4PDHF11CZu4kLI/MJSJHiR9Q=", + "dev": true + }, "yallist": { "version": "4.0.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/yallist/-/yallist-4.0.0.tgz", "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=", "dev": true + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha1-DYehbeAa7p2L7Cv7909nhRcw9Pg=", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", + "dev": true + } + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha1-vmjEl1xrKr9GkjawyHA2L6sJp7A=", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } } } } diff --git a/package.json b/package.json index 5a80940..018e64d 100644 --- a/package.json +++ b/package.json @@ -31,12 +31,12 @@ "eslint": "^7.21.0", "eslint-config-airbnb-base": "^14.2.1", "eslint-plugin-import": "^2.22.1", - "istanbul": "^0.4.0", + "nyc": "^15.1.0", "tape": "^4.2.2" }, "scripts": { "test": "tape test/*.js", - "cover": "istanbul cover tape -- test/*.js", + "cover": "nyc tape -- test/*.js", "lint": "eslint .", "lint:fix": "eslint . --fix" }, From bc2906aab70eea1755472a238ace429cf351b508 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3pez=2C=20Diego?= Date: Mon, 8 Mar 2021 09:29:48 -0600 Subject: [PATCH 07/14] [master] Add node 10 and 12 to travis file, update tape to latest version --- .gitignore | 2 + .travis.yml | 6 +- package-lock.json | 247 +++++++++++++++++++++++++++++++++++----------- package.json | 2 +- 4 files changed, 193 insertions(+), 64 deletions(-) diff --git a/.gitignore b/.gitignore index 222906d..e0af1a7 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,5 @@ Thumbs.db .LSOverride .Spotlight-V100 .Trashes +.vscode/ +.nyc_output \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 0a6c0d6..4fc64e7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,7 @@ language: node_js node_js: - - "0.12" - - "4" - - "6" - - "8" + - "10" + - "12" branches: only: - master diff --git a/package-lock.json b/package-lock.json index 7444f2c..9319c2f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -565,6 +565,12 @@ "sprintf-js": "~1.0.2" } }, + "array-filter": { + "version": "1.0.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/array-filter/-/array-filter-1.0.0.tgz", + "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=", + "dev": true + }, "array-includes": { "version": "3.1.3", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/array-includes/-/array-includes-3.1.3.tgz", @@ -595,6 +601,15 @@ "integrity": "sha1-SDFDxWeu7UeFdZwIZXhtx319LjE=", "dev": true }, + "available-typed-arrays": { + "version": "1.0.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz", + "integrity": "sha1-awmMqdgDkHnuP3f3t4PESAulE/U=", + "dev": true, + "requires": { + "array-filter": "^1.0.0" + } + }, "balanced-match": { "version": "1.0.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/balanced-match/-/balanced-match-1.0.0.tgz", @@ -839,17 +854,26 @@ "dev": true }, "deep-equal": { - "version": "1.1.1", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o=", + "version": "2.0.5", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/deep-equal/-/deep-equal-2.0.5.tgz", + "integrity": "sha1-Vc0v4ybYP5y/cmHvDgYLP3JMXLk=", "dev": true, "requires": { + "call-bind": "^1.0.0", + "es-get-iterator": "^1.1.1", + "get-intrinsic": "^1.0.1", "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", + "is-date-object": "^1.0.2", + "is-regex": "^1.1.1", + "isarray": "^2.0.5", + "object-is": "^1.1.4", "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" + "object.assign": "^4.1.2", + "regexp.prototype.flags": "^1.3.0", + "side-channel": "^1.0.3", + "which-boxed-primitive": "^1.0.1", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.2" } }, "deep-is": { @@ -989,6 +1013,22 @@ } } }, + "es-get-iterator": { + "version": "1.1.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/es-get-iterator/-/es-get-iterator-1.1.2.tgz", + "integrity": "sha1-kjTFSrpxNIbX694CIIZK9eKyg/c=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.0", + "has-symbols": "^1.0.1", + "is-arguments": "^1.1.0", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.5", + "isarray": "^2.0.5" + } + }, "es-to-primitive": { "version": "1.2.1", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/es-to-primitive/-/es-to-primitive-1.2.1.tgz", @@ -1481,6 +1521,12 @@ "is-callable": "^1.1.3" } }, + "foreach": { + "version": "2.0.5", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "dev": true + }, "foreground-child": { "version": "2.0.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/foreground-child/-/foreground-child-2.0.0.tgz", @@ -1544,6 +1590,20 @@ "integrity": "sha1-jeLYA8/0TfO8bEVuZmizbDkm4Ro=", "dev": true }, + "glob": { + "version": "7.1.6", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/glob/-/glob-7.1.6.tgz", + "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "glob-parent": { "version": "5.1.1", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/glob-parent/-/glob-parent-5.1.1.tgz", @@ -1727,6 +1787,12 @@ "is-extglob": "^2.1.1" } }, + "is-map": { + "version": "2.0.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha1-AJItuMm/c+gbejNYJ7wqQ/K5ESc=", + "dev": true + }, "is-negative-zero": { "version": "2.0.1", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-negative-zero/-/is-negative-zero-2.0.1.tgz", @@ -1740,14 +1806,21 @@ "dev": true }, "is-regex": { - "version": "1.0.5", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha1-OdWJo1i/GJZ/cmlnEguPwa7XTq4=", + "version": "1.1.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha1-gcjr3k2xQvLPHFP8htakV4gmYlE=", "dev": true, "requires": { - "has": "^1.0.3" + "call-bind": "^1.0.2", + "has-symbols": "^1.0.1" } }, + "is-set": { + "version": "2.0.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha1-kHVfpMJWLcHF1AJHYNYRm5TKGOw=", + "dev": true + }, "is-stream": { "version": "2.0.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-stream/-/is-stream-2.0.0.tgz", @@ -1769,18 +1842,49 @@ "has-symbols": "^1.0.1" } }, + "is-typed-array": { + "version": "1.1.5", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-typed-array/-/is-typed-array-1.1.5.tgz", + "integrity": "sha1-8y5uCWRV4ynre0I4YkVqohPw604=", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.2", + "call-bind": "^1.0.2", + "es-abstract": "^1.18.0-next.2", + "foreach": "^2.0.5", + "has-symbols": "^1.0.1" + } + }, "is-typedarray": { "version": "1.0.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, + "is-weakmap": { + "version": "2.0.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha1-UAi1m9xDtpggHRj2KzeyyiQ+jPI=", + "dev": true + }, + "is-weakset": { + "version": "2.0.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-weakset/-/is-weakset-2.0.1.tgz", + "integrity": "sha1-6aCviNvXUVifXlDYD0yYt4CIT4M=", + "dev": true + }, "is-windows": { "version": "1.0.2", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/is-windows/-/is-windows-1.0.2.tgz", "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", "dev": true }, + "isarray": { + "version": "2.0.5", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha1-ivHkwSISRMxiRZ+vOJQNTmRKVyM=", + "dev": true + }, "isexe": { "version": "2.0.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/isexe/-/isexe-2.0.0.tgz", @@ -2196,9 +2300,9 @@ } }, "object-inspect": { - "version": "1.7.0", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha1-9Pa9GBrXfwBrXs5gvQtvOY/3Smc=", + "version": "1.9.0", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha1-yQUh104RJ7ZyZt7TOUrWEWmGUzo=", "dev": true }, "object-is": { @@ -2458,6 +2562,16 @@ "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", "dev": true }, + "resolve": { + "version": "2.0.0-next.3", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/resolve/-/resolve-2.0.0-next.3.tgz", + "integrity": "sha1-1BAWKT1KhYajnKXZtfFcvqH1XkY=", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, "resolve-from": { "version": "4.0.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/resolve-from/-/resolve-from-4.0.0.tgz", @@ -2534,6 +2648,17 @@ "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", "dev": true }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha1-785cj9wQTudRslxY1CkAEfpeos8=", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, "signal-exit": { "version": "3.0.3", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/signal-exit/-/signal-exit-3.0.3.tgz", @@ -2735,51 +2860,28 @@ } }, "tape": { - "version": "4.13.3", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/tape/-/tape-4.13.3.tgz", - "integrity": "sha1-UbPZHINmjHpFsaWUtgfe4KC0Yng=", - "dev": true, - "requires": { - "deep-equal": "~1.1.1", - "defined": "~1.0.0", - "dotignore": "~0.1.2", - "for-each": "~0.3.3", - "function-bind": "~1.1.1", - "glob": "~7.1.6", - "has": "~1.0.3", - "inherits": "~2.0.4", - "is-regex": "~1.0.5", - "minimist": "~1.2.5", - "object-inspect": "~1.7.0", - "resolve": "~1.17.0", - "resumer": "~0.0.0", - "string.prototype.trim": "~1.2.1", - "through": "~2.3.8" - }, - "dependencies": { - "glob": { - "version": "7.1.6", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/glob/-/glob-7.1.6.tgz", - "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "resolve": { - "version": "1.17.0", - "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha1-sllBtUloIxzC0bt2p5y38sC/hEQ=", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - } + "version": "5.2.2", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/tape/-/tape-5.2.2.tgz", + "integrity": "sha1-qYR17PMKoO0qicNkObuUONJNIYQ=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "deep-equal": "^2.0.5", + "defined": "^1.0.0", + "dotignore": "^0.1.2", + "for-each": "^0.3.3", + "glob": "^7.1.6", + "has": "^1.0.3", + "inherits": "^2.0.4", + "is-regex": "^1.1.2", + "minimist": "^1.2.5", + "object-inspect": "^1.9.0", + "object-is": "^1.1.5", + "object.assign": "^4.1.2", + "resolve": "^2.0.0-next.3", + "resumer": "^0.0.0", + "string.prototype.trim": "^1.2.4", + "through": "^2.3.8" } }, "test-exclude": { @@ -2910,12 +3012,39 @@ "is-symbol": "^1.0.3" } }, + "which-collection": { + "version": "1.0.1", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha1-cOq3Hru9Ku+vMvkXCC/GLNy3CQY=", + "dev": true, + "requires": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + } + }, "which-module": { "version": "2.0.0", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, + "which-typed-array": { + "version": "1.1.4", + "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/which-typed-array/-/which-typed-array-1.1.4.tgz", + "integrity": "sha1-j8t9PuWt8tdxBm+6fPN+Mv6HEf8=", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.2", + "call-bind": "^1.0.0", + "es-abstract": "^1.18.0-next.1", + "foreach": "^2.0.5", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.1", + "is-typed-array": "^1.1.3" + } + }, "word-wrap": { "version": "1.2.3", "resolved": "https://artifactory.engtools.xoom.com:443/artifactory/api/npm/npmjs-virtual/word-wrap/-/word-wrap-1.2.3.tgz", diff --git a/package.json b/package.json index 018e64d..89b53e5 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "eslint-config-airbnb-base": "^14.2.1", "eslint-plugin-import": "^2.22.1", "nyc": "^15.1.0", - "tape": "^4.2.2" + "tape": "^5.2.2" }, "scripts": { "test": "tape test/*.js", From 3311e2e63b78cd09eacef21b620740ff720b2dc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3pez=2C=20Diego?= Date: Mon, 8 Mar 2021 09:58:48 -0600 Subject: [PATCH 08/14] [master] Add changes to CHANGELOG.md file, update version in package.json file --- CHANGELOG.md | 6 ++++++ package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 025e527..055b93d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +### 1.0.12 + +- Update to node v10, add `package-lock.json` file +- Update for following dependencies: `enjoi` and `tape` +- Use of `eslint` instead of `jshint` as linter tool. Use of `nyc` instead of `istambul` as a code coverage tool. + ### 1.0.11 - Fix #76 - parameter minLength is overridden with value 0 diff --git a/package.json b/package.json index 89b53e5..a28a38e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "swaggerize-routes", - "version": "1.0.11", + "version": "1.0.12", "author": "Trevor Livingston ", "contributors": [ { From ff109fa2d5f348f2aeb03ff397439cb769158f44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3pez=2C=20Diego?= Date: Mon, 8 Mar 2021 12:12:58 -0600 Subject: [PATCH 09/14] [master] Update package-lock.json file --- package-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 9319c2f..076501a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "swaggerize-routes", - "version": "1.0.11", + "version": "1.0.12", "lockfileVersion": 1, "requires": true, "dependencies": { From 13ce2b7a5234fdd703c1650ec8667397d9dedc6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3pez=2C=20Diego?= Date: Tue, 9 Mar 2021 10:14:42 -0600 Subject: [PATCH 10/14] [master] Sync package.json and package-lock.json for version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a28a38e..f842dfd 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "debuglog": "^1.0.1", "joi": "^17.4.0", "enjoi": "^9.0.0", - "swagger-schema-official": "^2.0.0-" + "swagger-schema-official": "^2.0.0-bab6bed" }, "devDependencies": { "eslint": "^7.21.0", From 80d68ad415be4501590ffb3408733072bb908ae3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3pez=2C=20Diego?= Date: Tue, 9 Mar 2021 10:16:12 -0600 Subject: [PATCH 11/14] [master] Change code to avoid lint global exceptions and unnecessary rules --- lib/buildroutes.js | 36 ++++++++++++++++-------------------- lib/index.js | 6 +++--- lib/readhandlers.js | 13 ++++--------- lib/validator.js | 32 +++++++++++++++++++------------- 4 files changed, 42 insertions(+), 45 deletions(-) diff --git a/lib/buildroutes.js b/lib/buildroutes.js index 875bb01..db281b3 100644 --- a/lib/buildroutes.js +++ b/lib/buildroutes.js @@ -1,7 +1,3 @@ -/* eslint-disable global-require */ -/* eslint-disable no-use-before-define */ -/* eslint-disable prefer-const */ -/* eslint-disable max-len */ const thing = require('core-util-is'); const path = require('path'); const assert = require('assert'); @@ -15,34 +11,31 @@ const readhandlers = require('./readhandlers'); * @returns {Array} */ function buildroutes(options) { - let api; let routes; let handlers; let defaulthandler; let - validator; - - api = options.api; - handlers = readhandlers(options.handlers); - defaulthandler = options.defaulthandler; - validator = validation(options); - routes = []; + const { api } = options; + const handlers = readhandlers(options.handlers); + const { defaulthandler } = options; + const validator = validation(options); + const routes = []; // eslint-disable-next-line no-shadow Object.keys(api.paths).forEach((path) => { const def = options.api.paths[path]; utils.verbs.forEach((verb) => { - let route; let pathnames; let operation; let - validators; + const pathnames = []; - operation = def[verb]; + const operation = def[verb]; if (!operation) { return; } - route = { + const route = { path, name: operation.operationId, description: operation.description, method: verb, + // eslint-disable-next-line max-len, no-use-before-define security: buildSecurity(options, api.securityDefinitions, operation.security || def.security || api.security), validators: [], handler: defaulthandler || undefined, @@ -54,7 +47,7 @@ function buildroutes(options) { jsonp: operation.jsonp || api.jsonp, }; - validators = {}; + const validators = {}; if (def.parameters) { def.parameters.forEach((parameter) => { @@ -70,8 +63,6 @@ function buildroutes(options) { route.validators = validator.makeAll(validators, route); - pathnames = []; - // Figure out the names from the params. path.split('/').forEach((element) => { if (element) { @@ -80,11 +71,13 @@ function buildroutes(options) { }); if (!route.handler) { + // eslint-disable-next-line no-use-before-define route.handler = handlers && (pathnames[0] ? matchpath(`$${verb}`, pathnames, handlers[pathnames[0]]) : handlers[`$${verb}`]); } if (!route.handler) { route.handler = operation['x-handler'] || def['x-handler']; + // eslint-disable-next-line no-use-before-define route.handler = route.handler && resolve(options.basedir, route.handler, verb); } @@ -144,11 +137,14 @@ function buildSecurity(options, securityDefinitions, routeSecurity) { if (options.security) { // Security options found + // eslint-disable-next-line max-len // Resolve the security authorize handler path - basedir + options.security + securityDefinition name + // eslint-disable-next-line no-use-before-define security[defName].authorize = resolve(basedir, path.join(options.security, `${defName}.js`)); } // 'x-authorize' can override the 'security' options and default handlers. if (securityDefinitions[defName]['x-authorize']) { + // eslint-disable-next-line no-use-before-define security[defName].authorize = resolve(basedir, securityDefinitions[defName]['x-authorize']); } }); @@ -178,7 +174,7 @@ function resolve(basedir, pathname, method) { // eslint-disable-next-line no-param-reassign pathname = path.resolve(basedir, pathname); - // eslint-disable-next-line import/no-dynamic-require + // eslint-disable-next-line import/no-dynamic-require, global-require handler = require(pathname); if (thing.isFunction(handler)) { diff --git a/lib/index.js b/lib/index.js index 57985c1..72f4f23 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1,5 +1,3 @@ -/* eslint-disable no-param-reassign */ -/* eslint-disable import/no-dynamic-require */ const assert = require('assert'); const enjoi = require('enjoi'); const thing = require('core-util-is'); @@ -42,7 +40,7 @@ function swaggerize(options) { assert.ok(thing.isString(schema.schema) || thing.isObject(schema.schema), 'Expected schema to to an object.'); if (thing.isString(schema.schema)) { - // eslint-disable-next-line global-require + // eslint-disable-next-line global-require, no-param-reassign,import/no-dynamic-require schema.schema = require(path.resolve(options.basedir, schema.schema)); } @@ -62,10 +60,12 @@ function swaggerize(options) { } // Resolve path to handlers + // eslint-disable-next-line no-param-reassign options.handlers = options.handlers || './handlers'; if (thing.isString(options.handlers) && path.resolve(options.handlers) !== options.handlers) { // Relative path, so resolve to basedir + // eslint-disable-next-line no-param-reassign options.handlers = path.join(options.basedir, options.handlers); } diff --git a/lib/readhandlers.js b/lib/readhandlers.js index 86b30dd..d0e2d01 100644 --- a/lib/readhandlers.js +++ b/lib/readhandlers.js @@ -1,5 +1,3 @@ -/* eslint-disable global-require */ -/* eslint-disable prefer-const */ const assert = require('assert'); const thing = require('core-util-is'); const path = require('path'); @@ -40,16 +38,13 @@ function read(dir) { handlers = {}; fs.readdirSync(dir).forEach((name) => { - let abspath; let key; let - stat; - - abspath = path.join(dir, name); - stat = fs.statSync(abspath); - key = name.replace(/\.js/, ''); + const abspath = path.join(dir, name); + const stat = fs.statSync(abspath); + const key = name.replace(/\.js/, ''); if (stat.isFile()) { if (name.match(/^.*\.(js)$/)) { - // eslint-disable-next-line import/no-dynamic-require + // eslint-disable-next-line import/no-dynamic-require, global-require obj = require(abspath); if (!handlers[key]) { diff --git a/lib/validator.js b/lib/validator.js index 6801f08..503fd52 100644 --- a/lib/validator.js +++ b/lib/validator.js @@ -1,9 +1,3 @@ -/* eslint-disable no-restricted-globals */ -/* eslint-disable no-use-before-define */ -/* eslint-disable prefer-const */ -/* eslint-disable no-param-reassign */ -/* eslint-disable default-case */ -/* eslint-disable consistent-return */ const assert = require('assert'); const thing = require('core-util-is'); const Joi = require('joi'); @@ -55,18 +49,20 @@ module.exports = function validator(options) { * @returns {Function} */ make(parameter, consumes, stripUnknownProperties = false) { - let schema; let coerce; let - template; + let schema; if (parameter.$ref) { + // eslint-disable-next-line no-use-before-define, no-param-reassign parameter = refresolver(schemas, parameter.$ref); } - coerce = coercion(parameter, consumes); + // eslint-disable-next-line no-use-before-define + const coerce = coercion(parameter, consumes); - template = { + const template = { required: parameter.required, enum: parameter.enum, + // eslint-disable-next-line no-use-before-define type: normalizetype(parameter.type), schema: parameter.schema, items: parameter.items, @@ -114,14 +110,16 @@ module.exports = function validator(options) { parameter, schema, validate: function validateParameter(value, callback) { - // eslint-disable-next-line no-unused-expressions + // eslint-disable-next-line no-unused-expressions, no-param-reassign coerce && value && (value = coerce(value)); const result = schema.validate(value, { stripUnknown: stripUnknownProperties }); if (result && result.error) { result.error.message = result.error.message.replace('value', parameter.name); result.error.details.forEach((detail) => { + // eslint-disable-next-line no-param-reassign detail.message = detail.message.replace('value', parameter.name); + // eslint-disable-next-line no-param-reassign detail.path = [parameter.name]; }); utils.debuglog('%s', result.error.message); @@ -145,7 +143,9 @@ function refresolver(schemas, value) { let id; let refschema; let path; let fragment; let paths; + // eslint-disable-next-line prefer-const id = value.substr(0, value.indexOf('#') + 1); + // eslint-disable-next-line prefer-const path = value.substr(value.indexOf('#') + 1); if (id) { @@ -157,10 +157,10 @@ function refresolver(schemas, value) { assert.ok(refschema, `Can not find schema reference: ${value}.`); fragment = refschema; + // eslint-disable-next-line prefer-const paths = Array.isArray(path) ? path : path.split('/'); - // eslint-disable-next-line no-plusplus - for (let i = 1; i < paths.length && fragment; i++) { + for (let i = 1; i < paths.length && fragment; i += 1) { fragment = typeof fragment === 'object' && fragment[paths[i]]; } @@ -176,6 +176,7 @@ function refresolver(schemas, value) { function coercion(parameter, consumes) { let fn; + // eslint-disable-next-line default-case switch (parameter.type) { case 'array': fn = (data) => { @@ -185,6 +186,7 @@ function coercion(parameter, consumes) { return data; } + // eslint-disable-next-line no-use-before-define, prefer-const sep = pathsep(parameter.collectionFormat || 'csv'); return data.split(sep); }; @@ -194,6 +196,7 @@ function coercion(parameter, consumes) { case 'long': case 'double': fn = (data) => { + // eslint-disable-next-line no-restricted-globals if (isNaN(data)) { return data; } @@ -204,6 +207,7 @@ function coercion(parameter, consumes) { fn = String; break; case 'byte': + // eslint-disable-next-line no-restricted-globals fn = (data) => (isNaN(data) ? Buffer.from(data)[0] : Number(data)); break; case 'boolean': @@ -251,7 +255,9 @@ function normalizetype(type) { } } +// eslint-disable-next-line consistent-return function pathsep(format) { + // eslint-disable-next-line default-case switch (format) { case 'csv': return ','; From 98e2b91a9a59c8f41b865a21d0cd351edfb02554 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3pez=2C=20Diego?= Date: Tue, 9 Mar 2021 10:34:02 -0600 Subject: [PATCH 12/14] [master] Update configuration to run in node v12 or upper versions --- .travis.yml | 1 - package.json | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4fc64e7..8b31ad6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,5 @@ language: node_js node_js: - - "10" - "12" branches: only: diff --git a/package.json b/package.json index f842dfd..a3605d4 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ }, "bugs": "http://github.com/krakenjs/swaggerize-builder/issues", "engines": { - "node": ">=10" + "node": ">=12" }, "dependencies": { "caller": "^1.0.1", From cb8202b29267d12bc788facfa39634566f57bb45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3pez=2C=20Diego?= Date: Mon, 15 Mar 2021 11:22:32 -0600 Subject: [PATCH 13/14] [master] Change version to a major version --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 076501a..fc090e0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "swaggerize-routes", - "version": "1.0.12", + "version": "2.0.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index a3605d4..cc59119 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "swaggerize-routes", - "version": "1.0.12", + "version": "2.0.0", "author": "Trevor Livingston ", "contributors": [ { From 35a9fc410c88610018b21b533c4dfea296c02257 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3pez=2C=20Diego?= Date: Tue, 16 Mar 2021 09:03:05 -0600 Subject: [PATCH 14/14] [master] Update package version to alpha version --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index fc090e0..6241d39 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "swaggerize-routes", - "version": "2.0.0", + "version": "2.0.0-alpha.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index cc59119..dfb12de 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "swaggerize-routes", - "version": "2.0.0", + "version": "2.0.0-alpha.1", "author": "Trevor Livingston ", "contributors": [ {