diff --git a/Tasks/CopyFilesV2/.npmrc b/Tasks/CopyFilesV2/.npmrc new file mode 100644 index 000000000000..a21347f1bdee --- /dev/null +++ b/Tasks/CopyFilesV2/.npmrc @@ -0,0 +1 @@ +scripts-prepend-node-path=true \ No newline at end of file diff --git a/Tasks/CopyFilesV2/_buildConfigs/Node20/package-lock.json b/Tasks/CopyFilesV2/_buildConfigs/Node20/package-lock.json deleted file mode 100644 index 0ad1afb6d076..000000000000 --- a/Tasks/CopyFilesV2/_buildConfigs/Node20/package-lock.json +++ /dev/null @@ -1,496 +0,0 @@ -{ - "name": "vsts-copyfiles-task", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "requires": { - "@types/node": "*" - } - }, - "@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "requires": { - "@types/node": "*" - } - }, - "@types/mocha": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" - }, - "@types/node": { - "version": "20.11.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.0.tgz", - "integrity": "sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==", - "requires": { - "undici-types": "~5.26.4" - } - }, - "@types/qs": { - "version": "6.9.8", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", - "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==" - }, - "@types/uuid": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", - "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==" - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "azure-pipelines-task-lib": { - "version": "5.0.0-preview.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-5.0.0-preview.0.tgz", - "integrity": "sha512-uQJEv+q3/7RD7kgphFd33uXijaPwA1ePYoNkAgZpUhbZUtc2u4JL4ujTT/JJfgXBNW/QQNAiDQ2OC7vOQG/0tg==", - "requires": { - "minimatch": "3.0.5", - "q": "^1.5.1", - "semver": "^5.1.0", - "shelljs": "^0.8.5", - "sync-request": "6.1.0", - "uuid": "^3.0.1" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "form-data": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", - "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } - }, - "get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==" - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "requires": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - } - }, - "http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "requires": { - "@types/node": "^10.0.3" - }, - "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - } - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" - }, - "is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", - "requires": { - "has": "^1.0.3" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "requires": { - "asap": "~2.0.6" - } - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" - }, - "qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "requires": { - "resolve": "^1.1.6" - } - }, - "resolve": { - "version": "1.22.6", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", - "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "sync-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "requires": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - } - }, - "sync-rpc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", - "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "requires": { - "get-port": "^3.1.0" - } - }, - "then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "requires": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "dependencies": { - "@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - } - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - }, - "typescript": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", - "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", - "dev": true - }, - "undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - } - } -} diff --git a/Tasks/CopyFilesV2/_buildConfigs/Node20/package.json b/Tasks/CopyFilesV2/_buildConfigs/Node20/package.json deleted file mode 100644 index a1f0b10542ea..000000000000 --- a/Tasks/CopyFilesV2/_buildConfigs/Node20/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "vsts-copyfiles-task", - "version": "1.0.0", - "description": "Azure Pipelines Copy Files Task", - "main": "copyfiles.js", - "repository": { - "type": "git", - "url": "git+https://github.com/Microsoft/azure-pipelines-tasks.git" - }, - "author": "Microsoft Corporation", - "license": "MIT", - "dependencies": { - "@types/node": "^20.11.0", - "@types/mocha": "^5.2.7", - "@types/uuid": "^8.3.0", - "azure-pipelines-task-lib": "^5.0.0-preview.0" - }, - "devDependencies": { - "typescript": "5.1.6" - } -} diff --git a/Tasks/CopyFilesV2/package-lock.json b/Tasks/CopyFilesV2/package-lock.json index a33b36513a7d..7076ad91f7e1 100644 --- a/Tasks/CopyFilesV2/package-lock.json +++ b/Tasks/CopyFilesV2/package-lock.json @@ -1,60 +1,77 @@ { "name": "vsts-copyfiles-task", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@types/concat-stream": { + "packages": { + "": { + "name": "vsts-copyfiles-task", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "@types/mocha": "^5.2.7", + "@types/node": "^20.11.0", + "@types/uuid": "^8.3.0", + "azure-pipelines-task-lib": "^5.0.0-preview.0" + }, + "devDependencies": { + "typescript": "5.1.6" + } + }, + "node_modules/@types/concat-stream": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "requires": { + "dependencies": { "@types/node": "*" } }, - "@types/form-data": { + "node_modules/@types/form-data": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "requires": { + "dependencies": { "@types/node": "*" } }, - "@types/mocha": { + "node_modules/@types/mocha": { "version": "5.2.7", "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" }, - "@types/node": { - "version": "16.11.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.60.tgz", - "integrity": "sha512-kYIYa1D1L+HDv5M5RXQeEu1o0FKA6yedZIoyugm/MBPROkLpX4L7HRxMrPVyo8bnvjpW/wDlqFNGzXNMb7AdRw==" + "node_modules/@types/node": { + "version": "20.11.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.0.tgz", + "integrity": "sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==", + "dependencies": { + "undici-types": "~5.26.4" + } }, - "@types/qs": { + "node_modules/@types/qs": { "version": "6.9.8", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==" }, - "@types/uuid": { + "node_modules/@types/uuid": { "version": "8.3.4", "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==" }, - "asap": { + "node_modules/asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" }, - "asynckit": { + "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, - "azure-pipelines-task-lib": { + "node_modules/azure-pipelines-task-lib": { "version": "5.0.0-preview.0", "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-5.0.0-preview.0.tgz", "integrity": "sha512-uQJEv+q3/7RD7kgphFd33uXijaPwA1ePYoNkAgZpUhbZUtc2u4JL4ujTT/JJfgXBNW/QQNAiDQ2OC7vOQG/0tg==", - "requires": { + "dependencies": { "minimatch": "3.0.5", "q": "^1.5.1", "semver": "^5.1.0", @@ -63,114 +80,135 @@ "uuid": "^3.0.1" } }, - "balanced-match": { + "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, - "brace-expansion": { + "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { + "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "buffer-from": { + "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, - "call-bind": { + "node_modules/call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { + "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "caseless": { + "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" }, - "combined-stream": { + "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { + "dependencies": { "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "concat-map": { + "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, - "concat-stream": { + "node_modules/concat-stream": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { + "engines": [ + "node >= 0.8" + ], + "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" } }, - "core-util-is": { + "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, - "delayed-stream": { + "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } }, - "form-data": { + "node_modules/form-data": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", - "requires": { + "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" } }, - "fs.realpath": { + "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, - "function-bind": { + "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, - "get-intrinsic": { + "node_modules/get-intrinsic": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "requires": { + "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", "has-proto": "^1.0.1", "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "get-port": { + "node_modules/get-port": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==" + "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", + "engines": { + "node": ">=4" + } }, - "glob": { + "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { + "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", @@ -178,173 +216,227 @@ "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "has": { + "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { + "dependencies": { "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" } }, - "has-proto": { + "node_modules/has-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "has-symbols": { + "node_modules/has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "http-basic": { + "node_modules/http-basic": { "version": "8.1.3", "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "requires": { + "dependencies": { "caseless": "^0.12.0", "concat-stream": "^1.6.2", "http-response-object": "^3.0.1", "parse-cache-control": "^1.0.1" + }, + "engines": { + "node": ">=6.0.0" } }, - "http-response-object": { + "node_modules/http-response-object": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "requires": { - "@types/node": "^10.0.3" - }, "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - } + "@types/node": "^10.0.3" } }, - "inflight": { + "node_modules/http-response-object/node_modules/@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + }, + "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { + "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, - "inherits": { + "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "interpret": { + "node_modules/interpret": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "engines": { + "node": ">= 0.10" + } }, - "is-core-module": { + "node_modules/is-core-module": { "version": "2.13.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", - "requires": { + "dependencies": { "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "isarray": { + "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, - "mime-db": { + "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } }, - "mime-types": { + "node_modules/mime-types": { "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { + "dependencies": { "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "minimatch": { + "node_modules/minimatch": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { + "dependencies": { "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "object-inspect": { + "node_modules/object-inspect": { "version": "1.12.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "once": { + "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { + "dependencies": { "wrappy": "1" } }, - "parse-cache-control": { + "node_modules/parse-cache-control": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" }, - "path-is-absolute": { + "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } }, - "path-parse": { + "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, - "process-nextick-args": { + "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, - "promise": { + "node_modules/promise": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "requires": { + "dependencies": { "asap": "~2.0.6" } }, - "q": { + "node_modules/q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } }, - "qs": { + "node_modules/qs": { "version": "6.11.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", - "requires": { + "dependencies": { "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "readable-stream": { + "node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "requires": { + "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", @@ -354,90 +446,120 @@ "util-deprecate": "~1.0.1" } }, - "rechoir": { + "node_modules/rechoir": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "requires": { + "dependencies": { "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" } }, - "resolve": { + "node_modules/resolve": { "version": "1.22.6", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", - "requires": { + "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "safe-buffer": { + "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "semver": { + "node_modules/semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } }, - "shelljs": { + "node_modules/shelljs": { "version": "0.8.5", "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "requires": { + "dependencies": { "glob": "^7.0.0", "interpret": "^1.0.0", "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" } }, - "side-channel": { + "node_modules/side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { + "dependencies": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "string_decoder": { + "node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { + "dependencies": { "safe-buffer": "~5.1.0" } }, - "supports-preserve-symlinks-flag": { + "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "sync-request": { + "node_modules/sync-request": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "requires": { + "dependencies": { "http-response-object": "^3.0.1", "sync-rpc": "^1.2.1", "then-request": "^6.0.0" + }, + "engines": { + "node": ">=8.0.0" } }, - "sync-rpc": { + "node_modules/sync-rpc": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "requires": { + "dependencies": { "get-port": "^3.1.0" } }, - "then-request": { + "node_modules/then-request": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "requires": { + "dependencies": { "@types/concat-stream": "^1.6.0", "@types/form-data": "0.0.33", "@types/node": "^8.0.0", @@ -450,36 +572,53 @@ "promise": "^8.0.0", "qs": "^6.4.0" }, - "dependencies": { - "@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - } + "engines": { + "node": ">=6.0.0" } }, - "typedarray": { + "node_modules/then-request/node_modules/@types/node": { + "version": "8.10.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" + }, + "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" }, - "typescript": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.2.tgz", - "integrity": "sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==", - "dev": true + "node_modules/typescript": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", + "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } }, - "util-deprecate": { + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, - "uuid": { + "node_modules/uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } }, - "wrappy": { + "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" diff --git a/Tasks/CopyFilesV2/package.json b/Tasks/CopyFilesV2/package.json index f6cdffdefcdc..a1f0b10542ea 100644 --- a/Tasks/CopyFilesV2/package.json +++ b/Tasks/CopyFilesV2/package.json @@ -10,12 +10,12 @@ "author": "Microsoft Corporation", "license": "MIT", "dependencies": { - "@types/node": "^16.11.59", + "@types/node": "^20.11.0", "@types/mocha": "^5.2.7", "@types/uuid": "^8.3.0", "azure-pipelines-task-lib": "^5.0.0-preview.0" }, "devDependencies": { - "typescript": "4.0.2" + "typescript": "5.1.6" } } diff --git a/Tasks/CopyFilesV2/task.json b/Tasks/CopyFilesV2/task.json index c7f70d3e7ef3..c71ed28da023 100644 --- a/Tasks/CopyFilesV2/task.json +++ b/Tasks/CopyFilesV2/task.json @@ -1,147 +1,151 @@ { - "id": "5BFB729A-A7C8-4A78-A7C3-8D717BB7C13C", - "name": "CopyFiles", - "friendlyName": "Copy files", - "description": "Copy files from a source folder to a target folder using patterns matching file paths (not folder paths)", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/copy-files", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=708389)", - "category": "Utility", - "visibility": [ - "Build" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 2, - "Minor": 231, - "Patch": 0 + "id": "5BFB729A-A7C8-4A78-A7C3-8D717BB7C13C", + "name": "CopyFiles", + "friendlyName": "Copy files", + "description": "Copy files from a source folder to a target folder using patterns matching file paths (not folder paths)", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/copy-files", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=708389)", + "category": "Utility", + "visibility": [ + "Build" + ], + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 2, + "Minor": 238, + "Patch": 0 + }, + "releaseNotes": "Match pattern consistency.", + "demands": [], + "minimumAgentVersion": "2.182.1", + "groups": [ + { + "name": "advanced", + "displayName": "Advanced", + "isExpanded": false + } + ], + "inputs": [ + { + "name": "SourceFolder", + "type": "filePath", + "label": "Source Folder", + "defaultValue": "", + "required": false, + "helpMarkDown": "The source folder that the copy pattern(s) will be run from. Empty is the root of the repo. Use [variables](https://go.microsoft.com/fwlink/?LinkID=550988) if files are not in the repo. Example: $(agent.builddirectory)" + }, + { + "name": "Contents", + "type": "multiLine", + "label": "Contents", + "defaultValue": "**", + "required": true, + "helpMarkDown": "File paths to include as part of the copy. Supports multiple lines of match patterns. [More Information](https://go.microsoft.com/fwlink/?LinkID=708389)" + }, + { + "name": "TargetFolder", + "type": "string", + "label": "Target Folder", + "defaultValue": "", + "required": true, + "helpMarkDown": "Target folder or UNC path files will copy to. You can use [variables](http://go.microsoft.com/fwlink/?LinkID=550988). Example: $(build.artifactstagingdirectory)" + }, + { + "name": "CleanTargetFolder", + "type": "boolean", + "label": "Clean Target Folder", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Delete all existing files in target folder before copy", + "groupName": "advanced" + }, + { + "name": "OverWrite", + "type": "boolean", + "label": "Overwrite", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Replace existing file in target folder", + "groupName": "advanced" + }, + { + "name": "flattenFolders", + "type": "boolean", + "label": "Flatten Folders", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Flatten the folder structure and copy all files into the specified target folder.", + "groupName": "advanced" }, - "releaseNotes": "Match pattern consistency.", - "demands": [], - "minimumAgentVersion": "2.182.1", - "groups": [ - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": false - } - ], - "inputs": [ - { - "name": "SourceFolder", - "type": "filePath", - "label": "Source Folder", - "defaultValue": "", - "required": false, - "helpMarkDown": "The source folder that the copy pattern(s) will be run from. Empty is the root of the repo. Use [variables](https://go.microsoft.com/fwlink/?LinkID=550988) if files are not in the repo. Example: $(agent.builddirectory)" - }, - { - "name": "Contents", - "type": "multiLine", - "label": "Contents", - "defaultValue": "**", - "required": true, - "helpMarkDown": "File paths to include as part of the copy. Supports multiple lines of match patterns. [More Information](https://go.microsoft.com/fwlink/?LinkID=708389)" - }, - { - "name": "TargetFolder", - "type": "string", - "label": "Target Folder", - "defaultValue": "", - "required": true, - "helpMarkDown": "Target folder or UNC path files will copy to. You can use [variables](http://go.microsoft.com/fwlink/?LinkID=550988). Example: $(build.artifactstagingdirectory)" - }, - { - "name": "CleanTargetFolder", - "type": "boolean", - "label": "Clean Target Folder", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Delete all existing files in target folder before copy", - "groupName": "advanced" - }, - { - "name": "OverWrite", - "type": "boolean", - "label": "Overwrite", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Replace existing file in target folder", - "groupName": "advanced" - }, - { - "name": "flattenFolders", - "type": "boolean", - "label": "Flatten Folders", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Flatten the folder structure and copy all files into the specified target folder.", - "groupName": "advanced" - }, - { - "name": "preserveTimestamp", - "type": "boolean", - "label": "Preserve Target Timestamp", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Using the original source file, preserve the target file timestamp.", - "groupName": "advanced" - }, - { - "name": "retryCount", - "type": "string", - "label": "Retry count to copy the file", - "defaultValue": "0", - "required": false, - "helpMarkDown": "Specify the retry count to copy the file. It might help to resolve intermittent issues e.g. with UNC target paths on a remote host.", - "groupName": "advanced" - }, - { - "name": "delayBetweenRetries", - "type": "string", - "label": "Delay between two retries.", - "defaultValue": "1000", - "required": false, - "helpMarkDown": "Specify the delay between two retries. It might help to be more resilient to intermittent issues e.g. with UNC target paths on a remote host.", - "groupName": "advanced" - }, - { - "name": "ignoreMakeDirErrors", - "type": "boolean", - "label": "Ignore errors during creation of target folder.", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Ignore errors which happen during creation of target folder. This could be useful to avoid issues with parallel execution of task by several agents with one target folder.", - "groupName": "advanced" - } - ], - "instanceNameFormat": "Copy Files to: $(TargetFolder)", - "execution": { - "Node10": { - "target": "copyfiles.js", - "argumentFormat": "" - }, - "Node16": { - "target": "copyfiles.js", - "argumentFormat": "" - } + { + "name": "preserveTimestamp", + "type": "boolean", + "label": "Preserve Target Timestamp", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Using the original source file, preserve the target file timestamp.", + "groupName": "advanced" }, - "messages": { - "FoundNFiles": "found %d files", - "CleaningTargetFolder": "Cleaning target folder: %s", - "FileAlreadyExistAt": "File %s already exist at %s", - "CopyingTo": "Copying %s to %s", - "TargetIsDir": "Unable to copy file %s to %s. The target path already exists as a directory." + { + "name": "retryCount", + "type": "string", + "label": "Retry count to copy the file", + "defaultValue": "0", + "required": false, + "helpMarkDown": "Specify the retry count to copy the file. It might help to resolve intermittent issues e.g. with UNC target paths on a remote host.", + "groupName": "advanced" + }, + { + "name": "delayBetweenRetries", + "type": "string", + "label": "Delay between two retries.", + "defaultValue": "1000", + "required": false, + "helpMarkDown": "Specify the delay between two retries. It might help to be more resilient to intermittent issues e.g. with UNC target paths on a remote host.", + "groupName": "advanced" + }, + { + "name": "ignoreMakeDirErrors", + "type": "boolean", + "label": "Ignore errors during creation of target folder.", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Ignore errors which happen during creation of target folder. This could be useful to avoid issues with parallel execution of task by several agents with one target folder.", + "groupName": "advanced" + } + ], + "instanceNameFormat": "Copy Files to: $(TargetFolder)", + "execution": { + "Node10": { + "target": "copyfiles.js", + "argumentFormat": "" + }, + "Node16": { + "target": "copyfiles.js", + "argumentFormat": "" + }, + "Node20_1": { + "target": "copyfiles.js", + "argumentFormat": "" + } + }, + "messages": { + "FoundNFiles": "found %d files", + "CleaningTargetFolder": "Cleaning target folder: %s", + "FileAlreadyExistAt": "File %s already exist at %s", + "CopyingTo": "Copying %s to %s", + "TargetIsDir": "Unable to copy file %s to %s. The target path already exists as a directory." + }, + "restrictions": { + "commands": { + "mode": "restricted" }, - "restrictions": { - "commands": { - "mode": "restricted" - }, - "settableVariables": { - "allowed": [] - } + "settableVariables": { + "allowed": [] } + } } \ No newline at end of file diff --git a/Tasks/CopyFilesV2/task.loc.json b/Tasks/CopyFilesV2/task.loc.json index 0c52d8a79170..3ea18b32f47a 100644 --- a/Tasks/CopyFilesV2/task.loc.json +++ b/Tasks/CopyFilesV2/task.loc.json @@ -16,7 +16,7 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 231, + "Minor": 238, "Patch": 0 }, "releaseNotes": "ms-resource:loc.releaseNotes", @@ -127,6 +127,10 @@ "Node16": { "target": "copyfiles.js", "argumentFormat": "" + }, + "Node20_1": { + "target": "copyfiles.js", + "argumentFormat": "" } }, "messages": { diff --git a/Tasks/DeleteFilesV1/.npmrc b/Tasks/DeleteFilesV1/.npmrc new file mode 100644 index 000000000000..a21347f1bdee --- /dev/null +++ b/Tasks/DeleteFilesV1/.npmrc @@ -0,0 +1 @@ +scripts-prepend-node-path=true \ No newline at end of file diff --git a/Tasks/DeleteFilesV1/_buildConfigs/Node20/package-lock.json b/Tasks/DeleteFilesV1/_buildConfigs/Node20/package-lock.json deleted file mode 100644 index 191fa516f101..000000000000 --- a/Tasks/DeleteFilesV1/_buildConfigs/Node20/package-lock.json +++ /dev/null @@ -1,491 +0,0 @@ -{ - "name": "vsts-deletefiles-tasks", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "requires": { - "@types/node": "*" - } - }, - "@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "requires": { - "@types/node": "*" - } - }, - "@types/mocha": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" - }, - "@types/node": { - "version": "20.11.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.0.tgz", - "integrity": "sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==", - "requires": { - "undici-types": "~5.26.4" - } - }, - "@types/qs": { - "version": "6.9.8", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", - "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==" - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "azure-pipelines-task-lib": { - "version": "5.0.0-preview.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-5.0.0-preview.0.tgz", - "integrity": "sha512-uQJEv+q3/7RD7kgphFd33uXijaPwA1ePYoNkAgZpUhbZUtc2u4JL4ujTT/JJfgXBNW/QQNAiDQ2OC7vOQG/0tg==", - "requires": { - "minimatch": "3.0.5", - "q": "^1.5.1", - "semver": "^5.1.0", - "shelljs": "^0.8.5", - "sync-request": "6.1.0", - "uuid": "^3.0.1" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "form-data": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", - "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } - }, - "get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==" - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "requires": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - } - }, - "http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "requires": { - "@types/node": "^10.0.3" - }, - "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - } - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" - }, - "is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", - "requires": { - "has": "^1.0.3" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "requires": { - "asap": "~2.0.6" - } - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" - }, - "qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "requires": { - "resolve": "^1.1.6" - } - }, - "resolve": { - "version": "1.22.6", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", - "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "sync-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "requires": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - } - }, - "sync-rpc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", - "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "requires": { - "get-port": "^3.1.0" - } - }, - "then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "requires": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "dependencies": { - "@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - } - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - }, - "typescript": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", - "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", - "dev": true - }, - "undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - } - } -} diff --git a/Tasks/DeleteFilesV1/_buildConfigs/Node20/package.json b/Tasks/DeleteFilesV1/_buildConfigs/Node20/package.json deleted file mode 100644 index 9b2b8a887e22..000000000000 --- a/Tasks/DeleteFilesV1/_buildConfigs/Node20/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "vsts-deletefiles-tasks", - "version": "1.0.0", - "description": "Azure Pipelines DeleteFiles Task", - "main": "deletefiles.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/Microsoft/azure-pipelines-tasks.git" - }, - "author": "Microsoft Corporation", - "license": "MIT", - "bugs": { - "url": "https://github.com/Microsoft/azure-pipelines-tasks/issues" - }, - "homepage": "https://github.com/Microsoft/azure-pipelines-tasks#readme", - "dependencies": { - "@types/node": "^20.11.0", - "@types/mocha": "^5.2.7", - "azure-pipelines-task-lib": "^5.0.0-preview.0" - }, - "devDependencies": { - "typescript": "5.1.6" - } -} diff --git a/Tasks/DeleteFilesV1/package-lock.json b/Tasks/DeleteFilesV1/package-lock.json index cd823b1284d5..a582e64943da 100644 --- a/Tasks/DeleteFilesV1/package-lock.json +++ b/Tasks/DeleteFilesV1/package-lock.json @@ -1,55 +1,71 @@ { "name": "vsts-deletefiles-tasks", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@types/concat-stream": { + "packages": { + "": { + "name": "vsts-deletefiles-tasks", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "@types/mocha": "^5.2.7", + "@types/node": "^20.11.0", + "azure-pipelines-task-lib": "^5.0.0-preview.0" + }, + "devDependencies": { + "typescript": "5.1.6" + } + }, + "node_modules/@types/concat-stream": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "requires": { + "dependencies": { "@types/node": "*" } }, - "@types/form-data": { + "node_modules/@types/form-data": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "requires": { + "dependencies": { "@types/node": "*" } }, - "@types/mocha": { + "node_modules/@types/mocha": { "version": "5.2.7", "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" }, - "@types/node": { - "version": "16.11.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.60.tgz", - "integrity": "sha512-kYIYa1D1L+HDv5M5RXQeEu1o0FKA6yedZIoyugm/MBPROkLpX4L7HRxMrPVyo8bnvjpW/wDlqFNGzXNMb7AdRw==" + "node_modules/@types/node": { + "version": "20.11.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.0.tgz", + "integrity": "sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==", + "dependencies": { + "undici-types": "~5.26.4" + } }, - "@types/qs": { + "node_modules/@types/qs": { "version": "6.9.8", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==" }, - "asap": { + "node_modules/asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" }, - "asynckit": { + "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, - "azure-pipelines-task-lib": { + "node_modules/azure-pipelines-task-lib": { "version": "5.0.0-preview.0", "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-5.0.0-preview.0.tgz", "integrity": "sha512-uQJEv+q3/7RD7kgphFd33uXijaPwA1ePYoNkAgZpUhbZUtc2u4JL4ujTT/JJfgXBNW/QQNAiDQ2OC7vOQG/0tg==", - "requires": { + "dependencies": { "minimatch": "3.0.5", "q": "^1.5.1", "semver": "^5.1.0", @@ -58,114 +74,135 @@ "uuid": "^3.0.1" } }, - "balanced-match": { + "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, - "brace-expansion": { + "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { + "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "buffer-from": { + "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, - "call-bind": { + "node_modules/call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { + "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "caseless": { + "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" }, - "combined-stream": { + "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { + "dependencies": { "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "concat-map": { + "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, - "concat-stream": { + "node_modules/concat-stream": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { + "engines": [ + "node >= 0.8" + ], + "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" } }, - "core-util-is": { + "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, - "delayed-stream": { + "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } }, - "form-data": { + "node_modules/form-data": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", - "requires": { + "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" } }, - "fs.realpath": { + "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, - "function-bind": { + "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, - "get-intrinsic": { + "node_modules/get-intrinsic": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "requires": { + "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", "has-proto": "^1.0.1", "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "get-port": { + "node_modules/get-port": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==" + "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", + "engines": { + "node": ">=4" + } }, - "glob": { + "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { + "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", @@ -173,173 +210,227 @@ "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "has": { + "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { + "dependencies": { "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" } }, - "has-proto": { + "node_modules/has-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "has-symbols": { + "node_modules/has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "http-basic": { + "node_modules/http-basic": { "version": "8.1.3", "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "requires": { + "dependencies": { "caseless": "^0.12.0", "concat-stream": "^1.6.2", "http-response-object": "^3.0.1", "parse-cache-control": "^1.0.1" + }, + "engines": { + "node": ">=6.0.0" } }, - "http-response-object": { + "node_modules/http-response-object": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "requires": { - "@types/node": "^10.0.3" - }, "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - } + "@types/node": "^10.0.3" } }, - "inflight": { + "node_modules/http-response-object/node_modules/@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + }, + "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { + "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, - "inherits": { + "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "interpret": { + "node_modules/interpret": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "engines": { + "node": ">= 0.10" + } }, - "is-core-module": { + "node_modules/is-core-module": { "version": "2.13.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", - "requires": { + "dependencies": { "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "isarray": { + "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, - "mime-db": { + "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } }, - "mime-types": { + "node_modules/mime-types": { "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { + "dependencies": { "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "minimatch": { + "node_modules/minimatch": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { + "dependencies": { "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "object-inspect": { + "node_modules/object-inspect": { "version": "1.12.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "once": { + "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { + "dependencies": { "wrappy": "1" } }, - "parse-cache-control": { + "node_modules/parse-cache-control": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" }, - "path-is-absolute": { + "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } }, - "path-parse": { + "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, - "process-nextick-args": { + "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, - "promise": { + "node_modules/promise": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "requires": { + "dependencies": { "asap": "~2.0.6" } }, - "q": { + "node_modules/q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } }, - "qs": { + "node_modules/qs": { "version": "6.11.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", - "requires": { + "dependencies": { "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "readable-stream": { + "node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "requires": { + "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", @@ -349,90 +440,120 @@ "util-deprecate": "~1.0.1" } }, - "rechoir": { + "node_modules/rechoir": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "requires": { + "dependencies": { "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" } }, - "resolve": { + "node_modules/resolve": { "version": "1.22.6", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", - "requires": { + "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "safe-buffer": { + "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "semver": { + "node_modules/semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } }, - "shelljs": { + "node_modules/shelljs": { "version": "0.8.5", "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "requires": { + "dependencies": { "glob": "^7.0.0", "interpret": "^1.0.0", "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" } }, - "side-channel": { + "node_modules/side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { + "dependencies": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "string_decoder": { + "node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { + "dependencies": { "safe-buffer": "~5.1.0" } }, - "supports-preserve-symlinks-flag": { + "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "sync-request": { + "node_modules/sync-request": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "requires": { + "dependencies": { "http-response-object": "^3.0.1", "sync-rpc": "^1.2.1", "then-request": "^6.0.0" + }, + "engines": { + "node": ">=8.0.0" } }, - "sync-rpc": { + "node_modules/sync-rpc": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "requires": { + "dependencies": { "get-port": "^3.1.0" } }, - "then-request": { + "node_modules/then-request": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "requires": { + "dependencies": { "@types/concat-stream": "^1.6.0", "@types/form-data": "0.0.33", "@types/node": "^8.0.0", @@ -445,36 +566,53 @@ "promise": "^8.0.0", "qs": "^6.4.0" }, - "dependencies": { - "@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - } + "engines": { + "node": ">=6.0.0" } }, - "typedarray": { + "node_modules/then-request/node_modules/@types/node": { + "version": "8.10.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" + }, + "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" }, - "typescript": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.2.tgz", - "integrity": "sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==", - "dev": true + "node_modules/typescript": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", + "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } }, - "util-deprecate": { + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, - "uuid": { + "node_modules/uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } }, - "wrappy": { + "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" diff --git a/Tasks/DeleteFilesV1/package.json b/Tasks/DeleteFilesV1/package.json index d788e10bd222..9b2b8a887e22 100644 --- a/Tasks/DeleteFilesV1/package.json +++ b/Tasks/DeleteFilesV1/package.json @@ -17,11 +17,11 @@ }, "homepage": "https://github.com/Microsoft/azure-pipelines-tasks#readme", "dependencies": { - "@types/node": "^16.11.59", + "@types/node": "^20.11.0", "@types/mocha": "^5.2.7", "azure-pipelines-task-lib": "^5.0.0-preview.0" }, "devDependencies": { - "typescript": "4.0.2" + "typescript": "5.1.6" } } diff --git a/Tasks/DeleteFilesV1/task.json b/Tasks/DeleteFilesV1/task.json index 8f354627d931..9d65c8dcbf45 100644 --- a/Tasks/DeleteFilesV1/task.json +++ b/Tasks/DeleteFilesV1/task.json @@ -1,90 +1,94 @@ { - "id": "B7E8B412-0437-4065-9371-EDC5881DE25B", - "name": "DeleteFiles", - "friendlyName": "Delete files", - "description": "Delete folders, or files matching a pattern", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/delete-files", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=722333)", - "category": "Utility", - "visibility": [ - "Build" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 1, - "Minor": 235, - "Patch": 0 + "id": "B7E8B412-0437-4065-9371-EDC5881DE25B", + "name": "DeleteFiles", + "friendlyName": "Delete files", + "description": "Delete folders, or files matching a pattern", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/delete-files", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=722333)", + "category": "Utility", + "visibility": [ + "Build" + ], + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 1, + "Minor": 238, + "Patch": 0 + }, + "demands": [], + "minimumAgentVersion": "2.182.1", + "groups": [ + { + "name": "advanced", + "displayName": "Advanced", + "isExpanded": false + } + ], + "inputs": [ + { + "name": "SourceFolder", + "type": "filePath", + "label": "Source Folder", + "defaultValue": "", + "required": false, + "helpMarkDown": "The source folder that the deletion(s) will be run from. Empty is the root of the repo. Use [variables](https://go.microsoft.com/fwlink/?LinkID=550988) if files are not in the repo. Example: $(agent.builddirectory)" + }, + { + "name": "Contents", + "type": "multiLine", + "label": "Contents", + "defaultValue": "myFileShare", + "required": true, + "helpMarkDown": "File/folder paths to delete. Supports multiple lines of minimatch patterns. [More Information](https://go.microsoft.com/fwlink/?LinkID=722333)" + }, + { + "name": "RemoveSourceFolder", + "type": "boolean", + "label": "Remove SourceFolder", + "defaultValue": false, + "required": false, + "helpMarkDown": "Attempt to remove the source folder as well." }, - "demands": [], - "minimumAgentVersion": "2.182.1", - "groups": [ - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": false - } - ], - "inputs": [ - { - "name": "SourceFolder", - "type": "filePath", - "label": "Source Folder", - "defaultValue": "", - "required": false, - "helpMarkDown": "The source folder that the deletion(s) will be run from. Empty is the root of the repo. Use [variables](https://go.microsoft.com/fwlink/?LinkID=550988) if files are not in the repo. Example: $(agent.builddirectory)" - }, - { - "name": "Contents", - "type": "multiLine", - "label": "Contents", - "defaultValue": "myFileShare", - "required": true, - "helpMarkDown": "File/folder paths to delete. Supports multiple lines of minimatch patterns. [More Information](https://go.microsoft.com/fwlink/?LinkID=722333)" - }, - { - "name": "RemoveSourceFolder", - "type": "boolean", - "label": "Remove SourceFolder", - "defaultValue": false, - "required": false, - "helpMarkDown": "Attempt to remove the source folder as well." - }, - { - "name": "RemoveDotFiles", - "type": "boolean", - "label": "Remove files starting with a dot", - "defaultValue": false, - "required": false, - "helpMarkDown": "Delete files starting with a dot (.git, .dockerfile). Omits these files if it's not specified explicitly (for example, '/.*'). Please see this [link](https://github.com/isaacs/minimatch#dot) for more info", - "groupName": "advanced" - } - ], - "instanceNameFormat": "Delete files from $(SourceFolder)", - "execution": { - "Node10": { - "target": "deletefiles.js", - "argumentFormat": "" - }, - "Node16": { - "target": "deletefiles.js", - "argumentFormat": "" - } + { + "name": "RemoveDotFiles", + "type": "boolean", + "label": "Remove files starting with a dot", + "defaultValue": false, + "required": false, + "helpMarkDown": "Delete files starting with a dot (.git, .dockerfile). Omits these files if it's not specified explicitly (for example, '/.*'). Please see this [link](https://github.com/isaacs/minimatch#dot) for more info", + "groupName": "advanced" + } + ], + "instanceNameFormat": "Delete files from $(SourceFolder)", + "execution": { + "Node10": { + "target": "deletefiles.js", + "argumentFormat": "" + }, + "Node16": { + "target": "deletefiles.js", + "argumentFormat": "" }, - "restrictions": { - "commands": { - "mode": "restricted" - }, - "settableVariables": { - "allowed": [] - } + "Node20_1": { + "target": "deletefiles.js", + "argumentFormat": "" + } + }, + "restrictions": { + "commands": { + "mode": "restricted" }, - "messages": { - "CantDeleteFiles": "Couldn't delete one or more files", - "SkippingSymbolStore": "Skipping delete for symbol store file share: %s", - "NoFiles": "No files to delete." + "settableVariables": { + "allowed": [] } + }, + "messages": { + "CantDeleteFiles": "Couldn't delete one or more files", + "SkippingSymbolStore": "Skipping delete for symbol store file share: %s", + "NoFiles": "No files to delete." + } } \ No newline at end of file diff --git a/Tasks/DeleteFilesV1/task.loc.json b/Tasks/DeleteFilesV1/task.loc.json index 5bae85c622b2..879cfb29f989 100644 --- a/Tasks/DeleteFilesV1/task.loc.json +++ b/Tasks/DeleteFilesV1/task.loc.json @@ -16,7 +16,7 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 235, + "Minor": 238, "Patch": 0 }, "demands": [], @@ -72,6 +72,10 @@ "Node16": { "target": "deletefiles.js", "argumentFormat": "" + }, + "Node20_1": { + "target": "deletefiles.js", + "argumentFormat": "" } }, "restrictions": { diff --git a/Tasks/MavenV2/.npmrc b/Tasks/MavenV2/.npmrc new file mode 100644 index 000000000000..a21347f1bdee --- /dev/null +++ b/Tasks/MavenV2/.npmrc @@ -0,0 +1 @@ +scripts-prepend-node-path=true \ No newline at end of file diff --git a/Tasks/MavenV2/_buildConfigs/Node20/FilesOverriddenForConfigGoHereREADME.txt b/Tasks/MavenV2/_buildConfigs/Node20/FilesOverriddenForConfigGoHereREADME.txt deleted file mode 100644 index b338e624afcd..000000000000 --- a/Tasks/MavenV2/_buildConfigs/Node20/FilesOverriddenForConfigGoHereREADME.txt +++ /dev/null @@ -1 +0,0 @@ -Place files overridden for this config in this directory \ No newline at end of file diff --git a/Tasks/MavenV2/_buildConfigs/Node20/package-lock.json b/Tasks/MavenV2/_buildConfigs/Node20/package-lock.json deleted file mode 100644 index 8c66c16e1e08..000000000000 --- a/Tasks/MavenV2/_buildConfigs/Node20/package-lock.json +++ /dev/null @@ -1,2620 +0,0 @@ -{ - "name": "Agent.Tasks.Maven", - "version": "2.208.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==" - }, - "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" - }, - "@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", - "requires": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.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": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - } - } - }, - "@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", - "requires": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - } - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" - }, - "@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", - "requires": { - "@sinonjs/commons": "^1.7.0" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", - "requires": { - "type-detect": "4.0.8" - } - } - } - }, - "@sinonjs/samsam": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-7.0.1.tgz", - "integrity": "sha512-zsAk2Jkiq89mhZovB2LLOdTCxJF4hqqTToGP0ASWlhp4I1hqOjcfmZGafXntCN7MDC6yySH0mFHrYtHceOeLmw==", - "requires": { - "@sinonjs/commons": "^2.0.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" - } - }, - "@sinonjs/text-encoding": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", - "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==" - }, - "@types/cheerio": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.0.tgz", - "integrity": "sha512-dVL3RISC1jdrXilyqmPIga6LmjHwrDbWQoUyHuf/bGjP+HiNtyFJ3Gga1FCu55UYOqbuUGLPzkGkcsplkpSm8Q==" - }, - "@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "requires": { - "@types/node": "*" - } - }, - "@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "requires": { - "@types/node": "*" - } - }, - "@types/ini": { - "version": "1.3.30", - "resolved": "https://registry.npmjs.org/@types/ini/-/ini-1.3.30.tgz", - "integrity": "sha512-2+iF8zPSbpU83UKE+PNd4r/MhwNAdyGpk3H+VMgEH3EhjFZq1kouLgRoZrmIcmoGX97xFvqdS44DkICR5Nz3tQ==" - }, - "@types/ltx": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/@types/ltx/-/ltx-2.8.0.tgz", - "integrity": "sha512-qHnPVD0FFquypl7Yy8qqvDjhnX3c7toUYjjALK+bug7MfR2WCRTIjw+GUMfehRi/Mbhj5rLAQerPTnTCUzSCWg==", - "requires": { - "@types/node": "*" - } - }, - "@types/mocha": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz", - "integrity": "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==" - }, - "@types/mockery": { - "version": "1.4.29", - "resolved": "https://registry.npmjs.org/@types/mockery/-/mockery-1.4.29.tgz", - "integrity": "sha1-m6It838H43gP/4Ux0aOOYz+UV6U=" - }, - "@types/node": { - "version": "20.11.16", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.16.tgz", - "integrity": "sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==", - "requires": { - "undici-types": "~5.26.4" - } - }, - "@types/q": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", - "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" - }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" - }, - "@types/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-+nVsLKlcUCeMzD2ufHEYuJ9a2ovstb6Dp52A5VsoKxDXgvE051XgHI/33I1EymwkRGQkwnA0LkhnUzituGs4EQ==" - }, - "@types/uuid": { - "version": "3.4.12", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.12.tgz", - "integrity": "sha512-4mZWvs9415R6KNlPUZaMDgpnNpFZrO7yZoFfVc6phuOpnUlU06KGu4+83e857jfWkYBMNVZF/1HDoG/aEbePow==" - }, - "@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" - }, - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" - }, - "adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { - "debug": "4" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "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" - } - }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" - }, - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "azure-devops-node-api": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-10.2.2.tgz", - "integrity": "sha512-4TVv2X7oNStT0vLaEfExmy3J4/CzfuXolEcQl/BRUmvGySqKStTG2O55/hUQ0kM7UJlZBLgniM0SBq4d/WkKow==", - "requires": { - "tunnel": "0.0.6", - "typed-rest-client": "^1.8.4" - } - }, - "azure-pipelines-task-lib": { - "version": "5.0.0-preview.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-5.0.0-preview.0.tgz", - "integrity": "sha512-uQJEv+q3/7RD7kgphFd33uXijaPwA1ePYoNkAgZpUhbZUtc2u4JL4ujTT/JJfgXBNW/QQNAiDQ2OC7vOQG/0tg==", - "requires": { - "minimatch": "3.0.5", - "q": "^1.5.1", - "semver": "^5.1.0", - "shelljs": "^0.8.5", - "sync-request": "6.1.0", - "uuid": "^3.0.1" - }, - "dependencies": { - "minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "azure-pipelines-tasks-codeanalysis-common": { - "version": "2.226.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-codeanalysis-common/-/azure-pipelines-tasks-codeanalysis-common-2.226.0.tgz", - "integrity": "sha512-WzwnRX61IPkgigA+4kmiOIMMueX+aUOu7OYKWjpi297gVe8M067bMwUMo5u+UWgVobudblKdCWt8uqgyxeyR2Q==", - "requires": { - "@types/node": "^10.17.0", - "azure-pipelines-task-lib": "^3.1.0", - "glob": "7.1.0", - "mocha": "^8.4.0", - "rewire": "^6.0.0", - "sinon": "^14.0.0", - "xml2js": "^0.6.2" - }, - "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - }, - "azure-pipelines-task-lib": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-3.4.0.tgz", - "integrity": "sha512-3eC4OTFw+7xD7A2aUhxR/j+jRlTI+vVfS0CGxt1pCLs4c/KmY0tQWgbqjD3157kmiucWxELBvgZHaD2gCBe9fg==", - "requires": { - "minimatch": "3.0.5", - "mockery": "^2.1.0", - "q": "^1.5.1", - "semver": "^5.1.0", - "shelljs": "^0.8.5", - "sync-request": "6.1.0", - "uuid": "^3.0.1" - } - }, - "glob": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.0.tgz", - "integrity": "sha512-htk4y5TQ9NjktQk5oR7AudqzQKZd4JvbCOklhnygiF6r9ExeTrl+dTwFql7y5+zaHkc/QeLdDrcF5GVfM5bl9w==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.2", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "mockery": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mockery/-/mockery-2.1.0.tgz", - "integrity": "sha512-9VkOmxKlWXoDO/h1jDZaS4lH33aWfRiJiNT/tKj+8OGzrcFDLo8d0syGdbsc3Bc4GvRXPb+NMMvojotmuGJTvA==" - } - } - }, - "azure-pipelines-tasks-codecoverage-tools": { - "version": "2.201.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-codecoverage-tools/-/azure-pipelines-tasks-codecoverage-tools-2.201.0.tgz", - "integrity": "sha512-3yl6vbw62gXWxBxMYi5XOF0Rq7JE3KjQtZHDeTDSNLGttsjlm88jEnYU+lsjOqFtnUbnWTX8HB96Vx5c5iL+fA==", - "requires": { - "@types/cheerio": "0.22.0", - "@types/node": "^10.17.0", - "@types/q": "^1.5.4", - "azure-pipelines-task-lib": "^3.1.0", - "cheerio": "1.0.0-rc.6", - "fs-extra": "^0.30.0", - "os": "^0.1.1", - "strip-bom": "^3.0.0", - "xml2js": "^0.4.17" - }, - "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - }, - "azure-pipelines-task-lib": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-3.3.1.tgz", - "integrity": "sha512-56ZAr4MHIoa24VNVuwPL4iUQ5MKaigPoYXkBG8E8fiVmh8yZdatUo25meNoQwg77vDY22F63Q44UzXoMWmy7ag==", - "requires": { - "minimatch": "3.0.5", - "mockery": "^1.7.0", - "q": "^1.5.1", - "semver": "^5.1.0", - "shelljs": "^0.8.5", - "sync-request": "6.1.0", - "uuid": "^3.0.1" - } - }, - "cheerio": { - "version": "1.0.0-rc.6", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.6.tgz", - "integrity": "sha512-hjx1XE1M/D5pAtMgvWwE21QClmAEeGHOIDfycgmndisdNgI6PE1cGRQkMGBcsbUbmEQyWu5PJLUcAOjtQS8DWw==", - "requires": { - "cheerio-select": "^1.3.0", - "dom-serializer": "^1.3.1", - "domhandler": "^4.1.0", - "htmlparser2": "^6.1.0", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1" - } - }, - "minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "xml2js": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", - "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - } - } - }, - "azure-pipelines-tasks-java-common": { - "version": "2.0.0-preview.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-java-common/-/azure-pipelines-tasks-java-common-2.0.0-preview.0.tgz", - "integrity": "sha512-xC7qMGyLvFMI/0RnnMJSz+7FKhsWGDBQsbAA00d9Sd6TiBd+3nEKke2y2s/9a3b6RHbY36clb00Yu8XGxQuWoQ==", - "requires": { - "@types/node": "^10.17.0", - "@types/semver": "^7.3.3", - "azure-pipelines-task-lib": "^3.0.6-preview.0", - "semver": "^7.3.2" - }, - "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - }, - "azure-pipelines-task-lib": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-3.3.1.tgz", - "integrity": "sha512-56ZAr4MHIoa24VNVuwPL4iUQ5MKaigPoYXkBG8E8fiVmh8yZdatUo25meNoQwg77vDY22F63Q44UzXoMWmy7ag==", - "requires": { - "minimatch": "3.0.5", - "mockery": "^1.7.0", - "q": "^1.5.1", - "semver": "^5.1.0", - "shelljs": "^0.8.5", - "sync-request": "6.1.0", - "uuid": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "azure-pipelines-tasks-packaging-common": { - "version": "3.230.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.230.0.tgz", - "integrity": "sha512-aR+pQsQYeAVbGYEDzhO96pn8PZ8FrhyHUtO0mA5iJRyM/xg8+LUqe3iO63N1FEK82U/hKHznY1+qbgf0IIK0xA==", - "requires": { - "@types/ini": "1.3.30", - "@types/ltx": "2.8.0", - "@types/mocha": "^5.2.6", - "@types/mockery": "1.4.29", - "@types/node": "^16.11.39", - "@types/q": "1.5.2", - "adm-zip": "^0.4.11", - "azure-devops-node-api": "10.2.2", - "azure-pipelines-task-lib": "^4.0.0-preview", - "azure-pipelines-tool-lib": "^2.0.7", - "ini": "^1.3.8", - "ip-address": "^5.8.9", - "ltx": "^2.6.2", - "q": "^1.5.0", - "semver": "^5.5.0", - "typed-rest-client": "1.8.4" - }, - "dependencies": { - "@types/mocha": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" - }, - "@types/node": { - "version": "16.18.79", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.79.tgz", - "integrity": "sha512-Qd7jdLR5zmnIyMhfDrfPqN5tUCvreVpP3Qrf2oSM+F7SNzlb/MwHISGUkdFHtevfkPJ3iAGyeQI/jsbh9EStgQ==" - }, - "@types/q": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", - "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==" - }, - "azure-pipelines-task-lib": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.6.1.tgz", - "integrity": "sha512-3/LFgNNHY0Cw9vArQPxM6ZgPWt3/G2Yy6F75k2AJzKUCotp5X9gZcvF399tVo6T6lTOlp3Vm7VBXq+kzZ6hZmw==", - "requires": { - "adm-zip": "^0.5.10", - "deasync": "^0.1.28", - "minimatch": "3.0.5", - "mockery": "^2.1.0", - "nodejs-file-downloader": "^4.11.1", - "q": "^1.5.1", - "semver": "^5.1.0", - "shelljs": "^0.8.5", - "uuid": "^3.0.1" - }, - "dependencies": { - "adm-zip": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", - "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==" - } - } - }, - "minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "mockery": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mockery/-/mockery-2.1.0.tgz", - "integrity": "sha512-9VkOmxKlWXoDO/h1jDZaS4lH33aWfRiJiNT/tKj+8OGzrcFDLo8d0syGdbsc3Bc4GvRXPb+NMMvojotmuGJTvA==" - } - } - }, - "azure-pipelines-tool-lib": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.7.tgz", - "integrity": "sha512-1FN67ypNwNhgZllYSm4/pAQdffSfEZJhwW8YeNvm/cKDTS6t6bukTBIkt04c1CsaQe7Ot+eDOVMn41wX1ketXw==", - "requires": { - "@types/semver": "^5.3.0", - "@types/uuid": "^3.4.5", - "azure-pipelines-task-lib": "^4.1.0", - "semver": "^5.7.0", - "semver-compare": "^1.0.0", - "typed-rest-client": "^1.8.6", - "uuid": "^3.3.2" - }, - "dependencies": { - "@types/semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==" - }, - "adm-zip": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", - "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==" - }, - "azure-pipelines-task-lib": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.6.1.tgz", - "integrity": "sha512-3/LFgNNHY0Cw9vArQPxM6ZgPWt3/G2Yy6F75k2AJzKUCotp5X9gZcvF399tVo6T6lTOlp3Vm7VBXq+kzZ6hZmw==", - "requires": { - "adm-zip": "^0.5.10", - "deasync": "^0.1.28", - "minimatch": "3.0.5", - "mockery": "^2.1.0", - "nodejs-file-downloader": "^4.11.1", - "q": "^1.5.1", - "semver": "^5.1.0", - "shelljs": "^0.8.5", - "uuid": "^3.0.1" - } - }, - "minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "mockery": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mockery/-/mockery-2.1.0.tgz", - "integrity": "sha512-9VkOmxKlWXoDO/h1jDZaS4lH33aWfRiJiNT/tKj+8OGzrcFDLo8d0syGdbsc3Bc4GvRXPb+NMMvojotmuGJTvA==" - }, - "typed-rest-client": { - "version": "1.8.11", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", - "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", - "requires": { - "qs": "^6.9.1", - "tunnel": "0.0.6", - "underscore": "^1.12.1" - } - } - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base-64": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz", - "integrity": "sha1-eAqZyE59YAJgNhURxId2E78k9rs=" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "cheerio-select": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.6.0.tgz", - "integrity": "sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g==", - "requires": { - "css-select": "^4.3.0", - "css-what": "^6.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.3.1", - "domutils": "^2.8.0" - } - }, - "chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.3.1", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - } - }, - "css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" - }, - "deasync": { - "version": "0.1.29", - "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.29.tgz", - "integrity": "sha512-EBtfUhVX23CE9GR6m+F8WPeImEE4hR/FW9RkK0PMl9V1t283s0elqsTD8EZjaKX28SY1BW2rYfCgNsAYdpamUw==", - "requires": { - "bindings": "^1.5.0", - "node-addon-api": "^1.7.1" - } - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" - }, - "domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "enquirer": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", - "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", - "requires": { - "ansi-colors": "^4.1.1", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - }, - "eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", - "requires": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.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", - "escape-string-regexp": "^4.0.0", - "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", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.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.merge": "^4.6.2", - "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.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "requires": { - "eslint-visitor-keys": "^1.1.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" - } - } - }, - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" - }, - "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "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://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" - } - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - } - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "requires": { - "flat-cache": "^3.0.4" - } - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" - }, - "flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "requires": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "dependencies": { - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==" - }, - "follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" - }, - "form-data": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", - "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-intrinsic": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", - "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } - }, - "get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==" - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "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.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "requires": { - "type-fest": "^0.20.2" - } - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" - }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, - "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "requires": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - } - }, - "http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "requires": { - "@types/node": "^10.0.3" - }, - "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - } - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" - }, - "ip-address": { - "version": "5.9.4", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-5.9.4.tgz", - "integrity": "sha512-dHkI3/YNJq4b/qQaz+c8LuarD3pY24JqZWfjB8aZx1gtpc2MDILu9L9jpZe1sHpzo/yWFweQVn+U//FhazUxmw==", - "requires": { - "jsbn": "1.1.0", - "lodash": "^4.17.15", - "sprintf-js": "1.1.2" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-core-module": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", - "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", - "requires": { - "has": "^1.0.3" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", - "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", - "requires": { - "argparse": "^2.0.1" - } - }, - "jsbn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" - }, - "json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "just-extend": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-6.2.0.tgz", - "integrity": "sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==" - }, - "keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "requires": { - "json-buffer": "3.0.1" - } - }, - "klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", - "requires": { - "graceful-fs": "^4.1.9" - } - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - }, - "lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==" - }, - "log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", - "requires": { - "chalk": "^4.0.0" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "ltx": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/ltx/-/ltx-2.10.0.tgz", - "integrity": "sha512-RB4zR6Mrp/0wTNS9WxMvpgfht/7u/8QAC9DpPD19opL/4OASPa28uoliFqeDkLUU8pQ4aeAfATBZmz1aSAHkMw==", - "requires": { - "inherits": "^2.0.4" - } - }, - "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" - }, - "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", - "requires": { - "mime-db": "1.44.0" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "mocha": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz", - "integrity": "sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==", - "requires": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.1", - "debug": "4.3.1", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.1.6", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "4.0.0", - "log-symbols": "4.0.0", - "minimatch": "3.0.4", - "ms": "2.1.3", - "nanoid": "3.1.20", - "serialize-javascript": "5.0.1", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "which": "2.0.2", - "wide-align": "1.1.3", - "workerpool": "6.1.0", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "dependencies": { - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "mockery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/mockery/-/mockery-1.7.0.tgz", - "integrity": "sha512-gUQA33ayi0tuAhr/rJNZPr7Q7uvlBt4gyJPbi0CDcAfIzIrDu1YgGMFgmAu3stJqBpK57m7+RxUbcS+pt59fKQ==" - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "nanoid": { - "version": "3.1.20", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", - "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==" - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" - }, - "nise": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.9.tgz", - "integrity": "sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww==", - "requires": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^11.2.2", - "@sinonjs/text-encoding": "^0.7.2", - "just-extend": "^6.2.0", - "path-to-regexp": "^6.2.1" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", - "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", - "requires": { - "@sinonjs/commons": "^3.0.0" - } - } - } - }, - "node-addon-api": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", - "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==" - }, - "nodejs-file-downloader": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.12.1.tgz", - "integrity": "sha512-LpfCTNhh805AlLnJnzt1PuEj+RmbrccbAQZ6hBRw2e6QPVR0Qntuo6qqyvPHG5s77/0w0IEKgRAD4nbSnr/X4w==", - "requires": { - "follow-redirects": "^1.15.1", - "https-proxy-agent": "^5.0.0", - "mime-types": "^2.1.27", - "sanitize-filename": "^1.6.3" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "requires": { - "boolbase": "^1.0.0" - } - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "requires": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - } - }, - "os": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/os/-/os-0.1.2.tgz", - "integrity": "sha512-ZoXJkvAnljwvc56MbvhtKVWmSkzV712k42Is2mA0+0KTSRakq5XXuXpjZjgAt9ctzl51ojhQWakQQpmOvXWfjQ==" - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "requires": { - "p-limit": "^3.0.2" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" - }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "parse5-htmlparser2-tree-adapter": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", - "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", - "requires": { - "parse5": "^6.0.1" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "path-to-regexp": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", - "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" - }, - "promise": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.2.0.tgz", - "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==", - "requires": { - "asap": "~2.0.6" - } - }, - "punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" - }, - "qs": { - "version": "6.11.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz", - "integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "requires": { - "picomatch": "^2.2.1" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "requires": { - "resolve": "^1.1.6" - } - }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - }, - "resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - }, - "rewire": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/rewire/-/rewire-6.0.0.tgz", - "integrity": "sha512-7sZdz5dptqBCapJYocw9EcppLU62KMEqDLIILJnNET2iqzXHaQfaVP5SOJ06XvjX+dNIDJbzjw0ZWzrgDhtjYg==", - "requires": { - "eslint": "^7.32.0" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "sanitize-filename": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", - "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", - "requires": { - "truncate-utf8-bytes": "^1.0.0" - } - }, - "sax": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", - "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=" - }, - "serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "sinon": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-14.0.2.tgz", - "integrity": "sha512-PDpV0ZI3ZCS3pEqx0vpNp6kzPhHrLx72wA0G+ZLaaJjLIYeE0n8INlgaohKuGy7hP0as5tbUd23QWu5U233t+w==", - "requires": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^9.1.2", - "@sinonjs/samsam": "^7.0.1", - "diff": "^5.0.0", - "nise": "^5.1.2", - "supports-color": "^7.2.0" - }, - "dependencies": { - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - } - } - }, - "sprintf-js": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "sync-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "requires": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - } - }, - "sync-rpc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", - "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "requires": { - "get-port": "^3.1.0" - } - }, - "table": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", - "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", - "requires": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - }, - "then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "requires": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "dependencies": { - "@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - } - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "truncate-utf8-bytes": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", - "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", - "requires": { - "utf8-byte-length": "^1.0.1" - } - }, - "tunnel": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==" - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - }, - "typed-rest-client": { - "version": "1.8.4", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.4.tgz", - "integrity": "sha512-MyfKKYzk3I6/QQp6e1T50py4qg+c+9BzOEl2rBmQIpStwNUoqQ73An+Tkfy9YuV7O+o2mpVVJpe+fH//POZkbg==", - "requires": { - "qs": "^6.9.1", - "tunnel": "0.0.6", - "underscore": "^1.12.1" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - }, - "typescript": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", - "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", - "dev": true - }, - "underscore": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", - "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" - }, - "undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - } - }, - "utf8": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.2.tgz", - "integrity": "sha1-H6DZJw6b6FDZsFAn9jUZv0ZFfZY=" - }, - "utf8-byte-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", - "integrity": "sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - }, - "v8-compile-cache": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", - "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==" - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "workerpool": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", - "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==" - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "xml2js": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", - "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" - }, - "yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "requires": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - } - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" - } - } -} diff --git a/Tasks/MavenV2/_buildConfigs/Node20/package.json b/Tasks/MavenV2/_buildConfigs/Node20/package.json deleted file mode 100644 index 6fe91eec46fe..000000000000 --- a/Tasks/MavenV2/_buildConfigs/Node20/package.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "Agent.Tasks.Maven", - "version": "2.208.0", - "author": "Microsoft Corporation", - "description": "Build with Apache Maven", - "license": "MIT", - "bugs": { - "url": "https://github.com/Microsoft/vso-agent-tasks/issues" - }, - "dependencies": { - "@types/mocha": "^9.1.1", - "@types/node": "^20.11.0", - "@types/q": "^1.5.4", - "azure-pipelines-task-lib": "^5.0.0-preview.0", - "azure-pipelines-tasks-codeanalysis-common": "^2.226.0", - "azure-pipelines-tasks-codecoverage-tools": "2.201.0", - "azure-pipelines-tasks-java-common": "^2.0.0-preview.0", - "azure-pipelines-tasks-packaging-common": "^3.230.0", - "azure-pipelines-tool-lib": "^2.0.7", - "base-64": "^0.1.0", - "fs-extra": "^0.30.0", - "strip-bom": "^3.0.0", - "utf8": "^2.1.0", - "uuid": "^3.0.1", - "xml2js": "^0.6.2" - }, - "devDependencies": { - "typescript": "5.1.6" - } -} diff --git a/Tasks/MavenV2/package-lock.json b/Tasks/MavenV2/package-lock.json index 18b800f6baaf..cce913f902bf 100644 --- a/Tasks/MavenV2/package-lock.json +++ b/Tasks/MavenV2/package-lock.json @@ -1,93 +1,140 @@ { "name": "Agent.Tasks.Maven", "version": "2.208.0", - "lockfileVersion": 1, + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@aashutoshrathi/word-wrap": { + "packages": { + "": { + "name": "Agent.Tasks.Maven", + "version": "2.208.0", + "license": "MIT", + "dependencies": { + "@types/mocha": "^9.1.1", + "@types/node": "^20.11.0", + "@types/q": "^1.5.4", + "azure-pipelines-task-lib": "^5.0.0-preview.0", + "azure-pipelines-tasks-codeanalysis-common": "^2.226.0", + "azure-pipelines-tasks-codecoverage-tools": "2.201.0", + "azure-pipelines-tasks-java-common": "^2.0.0-preview.0", + "azure-pipelines-tasks-packaging-common": "^3.230.0", + "azure-pipelines-tool-lib": "^2.0.7", + "base-64": "^0.1.0", + "fs-extra": "^0.30.0", + "strip-bom": "^3.0.0", + "utf8": "^2.1.0", + "uuid": "^3.0.1", + "xml2js": "^0.6.2" + }, + "devDependencies": { + "typescript": "5.1.6" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==" + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "engines": { + "node": ">=0.10.0" + } }, - "@babel/code-frame": { + "node_modules/@babel/code-frame": { "version": "7.12.11", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "requires": { + "dependencies": { "@babel/highlight": "^7.10.4" } }, - "@babel/helper-validator-identifier": { + "node_modules/@babel/helper-validator-identifier": { "version": "7.22.20", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "engines": { + "node": ">=6.9.0" + } }, - "@babel/highlight": { + "node_modules/@babel/highlight": { "version": "7.23.4", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "requires": { + "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" } }, - "@eslint/eslintrc": { + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@eslint/eslintrc": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", - "requires": { + "dependencies": { "ajv": "^6.12.4", "debug": "^4.1.1", "espree": "^7.3.0", @@ -98,279 +145,325 @@ "minimatch": "^3.0.4", "strip-json-comments": "^3.1.1" }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - } + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "@humanwhocodes/config-array": { + "node_modules/@eslint/eslintrc/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/@humanwhocodes/config-array": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", - "requires": { + "dependencies": { "@humanwhocodes/object-schema": "^1.2.0", "debug": "^4.1.1", "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" } }, - "@humanwhocodes/object-schema": { + "node_modules/@humanwhocodes/object-schema": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" }, - "@sinonjs/commons": { + "node_modules/@sinonjs/commons": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "requires": { + "dependencies": { "type-detect": "4.0.8" } }, - "@sinonjs/fake-timers": { + "node_modules/@sinonjs/fake-timers": { "version": "9.1.2", "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", - "requires": { + "dependencies": { "@sinonjs/commons": "^1.7.0" - }, + } + }, + "node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", "dependencies": { - "@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", - "requires": { - "type-detect": "4.0.8" - } - } + "type-detect": "4.0.8" } }, - "@sinonjs/samsam": { + "node_modules/@sinonjs/samsam": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-7.0.1.tgz", "integrity": "sha512-zsAk2Jkiq89mhZovB2LLOdTCxJF4hqqTToGP0ASWlhp4I1hqOjcfmZGafXntCN7MDC6yySH0mFHrYtHceOeLmw==", - "requires": { + "dependencies": { "@sinonjs/commons": "^2.0.0", "lodash.get": "^4.4.2", "type-detect": "^4.0.8" } }, - "@sinonjs/text-encoding": { + "node_modules/@sinonjs/text-encoding": { "version": "0.7.2", "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==" }, - "@types/cheerio": { + "node_modules/@types/cheerio": { "version": "0.22.0", "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.0.tgz", "integrity": "sha512-dVL3RISC1jdrXilyqmPIga6LmjHwrDbWQoUyHuf/bGjP+HiNtyFJ3Gga1FCu55UYOqbuUGLPzkGkcsplkpSm8Q==" }, - "@types/concat-stream": { + "node_modules/@types/concat-stream": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "requires": { + "dependencies": { "@types/node": "*" } }, - "@types/form-data": { + "node_modules/@types/form-data": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "requires": { + "dependencies": { "@types/node": "*" } }, - "@types/ini": { + "node_modules/@types/ini": { "version": "1.3.30", "resolved": "https://registry.npmjs.org/@types/ini/-/ini-1.3.30.tgz", "integrity": "sha512-2+iF8zPSbpU83UKE+PNd4r/MhwNAdyGpk3H+VMgEH3EhjFZq1kouLgRoZrmIcmoGX97xFvqdS44DkICR5Nz3tQ==" }, - "@types/ltx": { + "node_modules/@types/ltx": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/@types/ltx/-/ltx-2.8.0.tgz", "integrity": "sha512-qHnPVD0FFquypl7Yy8qqvDjhnX3c7toUYjjALK+bug7MfR2WCRTIjw+GUMfehRi/Mbhj5rLAQerPTnTCUzSCWg==", - "requires": { + "dependencies": { "@types/node": "*" } }, - "@types/mocha": { + "node_modules/@types/mocha": { "version": "9.1.1", "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz", "integrity": "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==" }, - "@types/mockery": { + "node_modules/@types/mockery": { "version": "1.4.29", "resolved": "https://registry.npmjs.org/@types/mockery/-/mockery-1.4.29.tgz", "integrity": "sha1-m6It838H43gP/4Ux0aOOYz+UV6U=" }, - "@types/node": { - "version": "16.11.58", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.58.tgz", - "integrity": "sha512-uMVxJ111wpHzkx/vshZFb6Qni3BOMnlWLq7q9jrwej7Yw/KvjsEbpxCCxw+hLKxexFMc8YmpG8J9tnEe/rKsIg==" + "node_modules/@types/node": { + "version": "20.11.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.16.tgz", + "integrity": "sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==", + "dependencies": { + "undici-types": "~5.26.4" + } }, - "@types/q": { + "node_modules/@types/q": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" }, - "@types/qs": { + "node_modules/@types/qs": { "version": "6.9.7", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" }, - "@types/semver": { + "node_modules/@types/semver": { "version": "7.3.4", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.4.tgz", "integrity": "sha512-+nVsLKlcUCeMzD2ufHEYuJ9a2ovstb6Dp52A5VsoKxDXgvE051XgHI/33I1EymwkRGQkwnA0LkhnUzituGs4EQ==" }, - "@types/uuid": { + "node_modules/@types/uuid": { "version": "3.4.12", "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.12.tgz", "integrity": "sha512-4mZWvs9415R6KNlPUZaMDgpnNpFZrO7yZoFfVc6phuOpnUlU06KGu4+83e857jfWkYBMNVZF/1HDoG/aEbePow==" }, - "@ungap/promise-all-settled": { + "node_modules/@ungap/promise-all-settled": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" }, - "acorn": { + "node_modules/acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } }, - "acorn-jsx": { + "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } }, - "adm-zip": { + "node_modules/adm-zip": { "version": "0.4.16", "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", + "engines": { + "node": ">=0.3.0" + } }, - "agent-base": { + "node_modules/agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { + "dependencies": { "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" } }, - "ajv": { + "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { + "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "ansi-colors": { + "node_modules/ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "engines": { + "node": ">=6" + } }, - "ansi-regex": { + "node_modules/ansi-regex": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "engines": { + "node": ">=4" + } }, - "ansi-styles": { + "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { + "dependencies": { "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "anymatch": { + "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "requires": { + "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, - "argparse": { + "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, - "asap": { + "node_modules/asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" }, - "astral-regex": { + "node_modules/astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "engines": { + "node": ">=8" + } }, - "asynckit": { + "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, - "azure-devops-node-api": { + "node_modules/azure-devops-node-api": { "version": "10.2.2", "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-10.2.2.tgz", "integrity": "sha512-4TVv2X7oNStT0vLaEfExmy3J4/CzfuXolEcQl/BRUmvGySqKStTG2O55/hUQ0kM7UJlZBLgniM0SBq4d/WkKow==", - "requires": { + "dependencies": { "tunnel": "0.0.6", "typed-rest-client": "^1.8.4" } }, - "azure-pipelines-task-lib": { + "node_modules/azure-pipelines-task-lib": { "version": "5.0.0-preview.0", "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-5.0.0-preview.0.tgz", "integrity": "sha512-uQJEv+q3/7RD7kgphFd33uXijaPwA1ePYoNkAgZpUhbZUtc2u4JL4ujTT/JJfgXBNW/QQNAiDQ2OC7vOQG/0tg==", - "requires": { + "dependencies": { "minimatch": "3.0.5", "q": "^1.5.1", "semver": "^5.1.0", "shelljs": "^0.8.5", "sync-request": "6.1.0", "uuid": "^3.0.1" - }, + } + }, + "node_modules/azure-pipelines-task-lib/node_modules/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", "dependencies": { - "minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "azure-pipelines-tasks-codeanalysis-common": { + "node_modules/azure-pipelines-tasks-codeanalysis-common": { "version": "2.226.0", "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-codeanalysis-common/-/azure-pipelines-tasks-codeanalysis-common-2.226.0.tgz", "integrity": "sha512-WzwnRX61IPkgigA+4kmiOIMMueX+aUOu7OYKWjpi297gVe8M067bMwUMo5u+UWgVobudblKdCWt8uqgyxeyR2Q==", - "requires": { + "dependencies": { "@types/node": "^10.17.0", "azure-pipelines-task-lib": "^3.1.0", "glob": "7.1.0", @@ -378,60 +471,64 @@ "rewire": "^6.0.0", "sinon": "^14.0.0", "xml2js": "^0.6.2" + } + }, + "node_modules/azure-pipelines-tasks-codeanalysis-common/node_modules/@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + }, + "node_modules/azure-pipelines-tasks-codeanalysis-common/node_modules/azure-pipelines-task-lib": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-3.4.0.tgz", + "integrity": "sha512-3eC4OTFw+7xD7A2aUhxR/j+jRlTI+vVfS0CGxt1pCLs4c/KmY0tQWgbqjD3157kmiucWxELBvgZHaD2gCBe9fg==", + "dependencies": { + "minimatch": "3.0.5", + "mockery": "^2.1.0", + "q": "^1.5.1", + "semver": "^5.1.0", + "shelljs": "^0.8.5", + "sync-request": "6.1.0", + "uuid": "^3.0.1" + } + }, + "node_modules/azure-pipelines-tasks-codeanalysis-common/node_modules/glob": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.0.tgz", + "integrity": "sha512-htk4y5TQ9NjktQk5oR7AudqzQKZd4JvbCOklhnygiF6r9ExeTrl+dTwFql7y5+zaHkc/QeLdDrcF5GVfM5bl9w==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, + "engines": { + "node": "*" + } + }, + "node_modules/azure-pipelines-tasks-codeanalysis-common/node_modules/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - }, - "azure-pipelines-task-lib": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-3.4.0.tgz", - "integrity": "sha512-3eC4OTFw+7xD7A2aUhxR/j+jRlTI+vVfS0CGxt1pCLs4c/KmY0tQWgbqjD3157kmiucWxELBvgZHaD2gCBe9fg==", - "requires": { - "minimatch": "3.0.5", - "mockery": "^2.1.0", - "q": "^1.5.1", - "semver": "^5.1.0", - "shelljs": "^0.8.5", - "sync-request": "6.1.0", - "uuid": "^3.0.1" - } - }, - "glob": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.0.tgz", - "integrity": "sha512-htk4y5TQ9NjktQk5oR7AudqzQKZd4JvbCOklhnygiF6r9ExeTrl+dTwFql7y5+zaHkc/QeLdDrcF5GVfM5bl9w==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.2", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "mockery": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mockery/-/mockery-2.1.0.tgz", - "integrity": "sha512-9VkOmxKlWXoDO/h1jDZaS4lH33aWfRiJiNT/tKj+8OGzrcFDLo8d0syGdbsc3Bc4GvRXPb+NMMvojotmuGJTvA==" - } + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "azure-pipelines-tasks-codecoverage-tools": { + "node_modules/azure-pipelines-tasks-codeanalysis-common/node_modules/mockery": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mockery/-/mockery-2.1.0.tgz", + "integrity": "sha512-9VkOmxKlWXoDO/h1jDZaS4lH33aWfRiJiNT/tKj+8OGzrcFDLo8d0syGdbsc3Bc4GvRXPb+NMMvojotmuGJTvA==" + }, + "node_modules/azure-pipelines-tasks-codecoverage-tools": { "version": "2.201.0", "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-codecoverage-tools/-/azure-pipelines-tasks-codecoverage-tools-2.201.0.tgz", "integrity": "sha512-3yl6vbw62gXWxBxMYi5XOF0Rq7JE3KjQtZHDeTDSNLGttsjlm88jEnYU+lsjOqFtnUbnWTX8HB96Vx5c5iL+fA==", - "requires": { + "dependencies": { "@types/cheerio": "0.22.0", "@types/node": "^10.17.0", "@types/q": "^1.5.4", @@ -441,119 +538,134 @@ "os": "^0.1.1", "strip-bom": "^3.0.0", "xml2js": "^0.4.17" + } + }, + "node_modules/azure-pipelines-tasks-codecoverage-tools/node_modules/@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + }, + "node_modules/azure-pipelines-tasks-codecoverage-tools/node_modules/azure-pipelines-task-lib": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-3.3.1.tgz", + "integrity": "sha512-56ZAr4MHIoa24VNVuwPL4iUQ5MKaigPoYXkBG8E8fiVmh8yZdatUo25meNoQwg77vDY22F63Q44UzXoMWmy7ag==", + "dependencies": { + "minimatch": "3.0.5", + "mockery": "^1.7.0", + "q": "^1.5.1", + "semver": "^5.1.0", + "shelljs": "^0.8.5", + "sync-request": "6.1.0", + "uuid": "^3.0.1" + } + }, + "node_modules/azure-pipelines-tasks-codecoverage-tools/node_modules/cheerio": { + "version": "1.0.0-rc.6", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.6.tgz", + "integrity": "sha512-hjx1XE1M/D5pAtMgvWwE21QClmAEeGHOIDfycgmndisdNgI6PE1cGRQkMGBcsbUbmEQyWu5PJLUcAOjtQS8DWw==", + "dependencies": { + "cheerio-select": "^1.3.0", + "dom-serializer": "^1.3.1", + "domhandler": "^4.1.0", + "htmlparser2": "^6.1.0", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1" }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/azure-pipelines-tasks-codecoverage-tools/node_modules/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - }, - "azure-pipelines-task-lib": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-3.3.1.tgz", - "integrity": "sha512-56ZAr4MHIoa24VNVuwPL4iUQ5MKaigPoYXkBG8E8fiVmh8yZdatUo25meNoQwg77vDY22F63Q44UzXoMWmy7ag==", - "requires": { - "minimatch": "3.0.5", - "mockery": "^1.7.0", - "q": "^1.5.1", - "semver": "^5.1.0", - "shelljs": "^0.8.5", - "sync-request": "6.1.0", - "uuid": "^3.0.1" - } - }, - "cheerio": { - "version": "1.0.0-rc.6", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.6.tgz", - "integrity": "sha512-hjx1XE1M/D5pAtMgvWwE21QClmAEeGHOIDfycgmndisdNgI6PE1cGRQkMGBcsbUbmEQyWu5PJLUcAOjtQS8DWw==", - "requires": { - "cheerio-select": "^1.3.0", - "dom-serializer": "^1.3.1", - "domhandler": "^4.1.0", - "htmlparser2": "^6.1.0", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1" - } - }, - "minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "xml2js": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", - "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - } + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "azure-pipelines-tasks-java-common": { + "node_modules/azure-pipelines-tasks-codecoverage-tools/node_modules/xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/azure-pipelines-tasks-java-common": { "version": "2.0.0-preview.0", "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-java-common/-/azure-pipelines-tasks-java-common-2.0.0-preview.0.tgz", "integrity": "sha512-xC7qMGyLvFMI/0RnnMJSz+7FKhsWGDBQsbAA00d9Sd6TiBd+3nEKke2y2s/9a3b6RHbY36clb00Yu8XGxQuWoQ==", - "requires": { + "dependencies": { "@types/node": "^10.17.0", "@types/semver": "^7.3.3", "azure-pipelines-task-lib": "^3.0.6-preview.0", "semver": "^7.3.2" + } + }, + "node_modules/azure-pipelines-tasks-java-common/node_modules/@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + }, + "node_modules/azure-pipelines-tasks-java-common/node_modules/azure-pipelines-task-lib": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-3.3.1.tgz", + "integrity": "sha512-56ZAr4MHIoa24VNVuwPL4iUQ5MKaigPoYXkBG8E8fiVmh8yZdatUo25meNoQwg77vDY22F63Q44UzXoMWmy7ag==", + "dependencies": { + "minimatch": "3.0.5", + "mockery": "^1.7.0", + "q": "^1.5.1", + "semver": "^5.1.0", + "shelljs": "^0.8.5", + "sync-request": "6.1.0", + "uuid": "^3.0.1" + } + }, + "node_modules/azure-pipelines-tasks-java-common/node_modules/azure-pipelines-task-lib/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/azure-pipelines-tasks-java-common/node_modules/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "dependencies": { + "brace-expansion": "^1.1.7" }, + "engines": { + "node": "*" + } + }, + "node_modules/azure-pipelines-tasks-java-common/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - }, - "azure-pipelines-task-lib": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-3.3.1.tgz", - "integrity": "sha512-56ZAr4MHIoa24VNVuwPL4iUQ5MKaigPoYXkBG8E8fiVmh8yZdatUo25meNoQwg77vDY22F63Q44UzXoMWmy7ag==", - "requires": { - "minimatch": "3.0.5", - "mockery": "^1.7.0", - "q": "^1.5.1", - "semver": "^5.1.0", - "shelljs": "^0.8.5", - "sync-request": "6.1.0", - "uuid": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "requires": { - "lru-cache": "^6.0.0" - } - } + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "azure-pipelines-tasks-packaging-common": { + "node_modules/azure-pipelines-tasks-packaging-common": { "version": "3.230.0", "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.230.0.tgz", "integrity": "sha512-aR+pQsQYeAVbGYEDzhO96pn8PZ8FrhyHUtO0mA5iJRyM/xg8+LUqe3iO63N1FEK82U/hKHznY1+qbgf0IIK0xA==", - "requires": { + "dependencies": { "@types/ini": "1.3.30", "@types/ltx": "2.8.0", "@types/mocha": "^5.2.6", @@ -570,61 +682,68 @@ "q": "^1.5.0", "semver": "^5.5.0", "typed-rest-client": "1.8.4" - }, + } + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/@types/mocha": { + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", + "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/@types/node": { + "version": "16.18.79", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.79.tgz", + "integrity": "sha512-Qd7jdLR5zmnIyMhfDrfPqN5tUCvreVpP3Qrf2oSM+F7SNzlb/MwHISGUkdFHtevfkPJ3iAGyeQI/jsbh9EStgQ==" + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/@types/q": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", + "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==" + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/azure-pipelines-task-lib": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.6.1.tgz", + "integrity": "sha512-3/LFgNNHY0Cw9vArQPxM6ZgPWt3/G2Yy6F75k2AJzKUCotp5X9gZcvF399tVo6T6lTOlp3Vm7VBXq+kzZ6hZmw==", "dependencies": { - "@types/mocha": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" - }, - "@types/q": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", - "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==" - }, - "azure-pipelines-task-lib": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.6.1.tgz", - "integrity": "sha512-3/LFgNNHY0Cw9vArQPxM6ZgPWt3/G2Yy6F75k2AJzKUCotp5X9gZcvF399tVo6T6lTOlp3Vm7VBXq+kzZ6hZmw==", - "requires": { - "adm-zip": "^0.5.10", - "deasync": "^0.1.28", - "minimatch": "3.0.5", - "mockery": "^2.1.0", - "nodejs-file-downloader": "^4.11.1", - "q": "^1.5.1", - "semver": "^5.1.0", - "shelljs": "^0.8.5", - "uuid": "^3.0.1" - }, - "dependencies": { - "adm-zip": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", - "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==" - } - } - }, - "minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "mockery": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mockery/-/mockery-2.1.0.tgz", - "integrity": "sha512-9VkOmxKlWXoDO/h1jDZaS4lH33aWfRiJiNT/tKj+8OGzrcFDLo8d0syGdbsc3Bc4GvRXPb+NMMvojotmuGJTvA==" - } + "adm-zip": "^0.5.10", + "deasync": "^0.1.28", + "minimatch": "3.0.5", + "mockery": "^2.1.0", + "nodejs-file-downloader": "^4.11.1", + "q": "^1.5.1", + "semver": "^5.1.0", + "shelljs": "^0.8.5", + "uuid": "^3.0.1" } }, - "azure-pipelines-tool-lib": { + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/azure-pipelines-task-lib/node_modules/adm-zip": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", + "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/mockery": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mockery/-/mockery-2.1.0.tgz", + "integrity": "sha512-9VkOmxKlWXoDO/h1jDZaS4lH33aWfRiJiNT/tKj+8OGzrcFDLo8d0syGdbsc3Bc4GvRXPb+NMMvojotmuGJTvA==" + }, + "node_modules/azure-pipelines-tool-lib": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.7.tgz", "integrity": "sha512-1FN67ypNwNhgZllYSm4/pAQdffSfEZJhwW8YeNvm/cKDTS6t6bukTBIkt04c1CsaQe7Ot+eDOVMn41wX1ketXw==", - "requires": { + "dependencies": { "@types/semver": "^5.3.0", "@types/uuid": "^3.4.5", "azure-pipelines-task-lib": "^4.1.0", @@ -632,427 +751,557 @@ "semver-compare": "^1.0.0", "typed-rest-client": "^1.8.6", "uuid": "^3.3.2" + } + }, + "node_modules/azure-pipelines-tool-lib/node_modules/@types/semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==" + }, + "node_modules/azure-pipelines-tool-lib/node_modules/adm-zip": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", + "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/azure-pipelines-tool-lib/node_modules/azure-pipelines-task-lib": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.6.1.tgz", + "integrity": "sha512-3/LFgNNHY0Cw9vArQPxM6ZgPWt3/G2Yy6F75k2AJzKUCotp5X9gZcvF399tVo6T6lTOlp3Vm7VBXq+kzZ6hZmw==", + "dependencies": { + "adm-zip": "^0.5.10", + "deasync": "^0.1.28", + "minimatch": "3.0.5", + "mockery": "^2.1.0", + "nodejs-file-downloader": "^4.11.1", + "q": "^1.5.1", + "semver": "^5.1.0", + "shelljs": "^0.8.5", + "uuid": "^3.0.1" + } + }, + "node_modules/azure-pipelines-tool-lib/node_modules/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "dependencies": { + "brace-expansion": "^1.1.7" }, + "engines": { + "node": "*" + } + }, + "node_modules/azure-pipelines-tool-lib/node_modules/mockery": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mockery/-/mockery-2.1.0.tgz", + "integrity": "sha512-9VkOmxKlWXoDO/h1jDZaS4lH33aWfRiJiNT/tKj+8OGzrcFDLo8d0syGdbsc3Bc4GvRXPb+NMMvojotmuGJTvA==" + }, + "node_modules/azure-pipelines-tool-lib/node_modules/typed-rest-client": { + "version": "1.8.11", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", + "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", "dependencies": { - "@types/semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==" - }, - "adm-zip": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", - "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==" - }, - "azure-pipelines-task-lib": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.6.1.tgz", - "integrity": "sha512-3/LFgNNHY0Cw9vArQPxM6ZgPWt3/G2Yy6F75k2AJzKUCotp5X9gZcvF399tVo6T6lTOlp3Vm7VBXq+kzZ6hZmw==", - "requires": { - "adm-zip": "^0.5.10", - "deasync": "^0.1.28", - "minimatch": "3.0.5", - "mockery": "^2.1.0", - "nodejs-file-downloader": "^4.11.1", - "q": "^1.5.1", - "semver": "^5.1.0", - "shelljs": "^0.8.5", - "uuid": "^3.0.1" - } - }, - "minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "mockery": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mockery/-/mockery-2.1.0.tgz", - "integrity": "sha512-9VkOmxKlWXoDO/h1jDZaS4lH33aWfRiJiNT/tKj+8OGzrcFDLo8d0syGdbsc3Bc4GvRXPb+NMMvojotmuGJTvA==" - }, - "typed-rest-client": { - "version": "1.8.11", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", - "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", - "requires": { - "qs": "^6.9.1", - "tunnel": "0.0.6", - "underscore": "^1.12.1" - } - } + "qs": "^6.9.1", + "tunnel": "0.0.6", + "underscore": "^1.12.1" } }, - "balanced-match": { + "node_modules/balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, - "base-64": { + "node_modules/base-64": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz", "integrity": "sha1-eAqZyE59YAJgNhURxId2E78k9rs=" }, - "binary-extensions": { + "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } }, - "bindings": { + "node_modules/bindings": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "requires": { + "dependencies": { "file-uri-to-path": "1.0.0" } }, - "boolbase": { + "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" }, - "brace-expansion": { + "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { + "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "braces": { + "node_modules/braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { + "dependencies": { "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" } }, - "browser-stdout": { + "node_modules/browser-stdout": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" }, - "buffer-from": { + "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, - "call-bind": { + "node_modules/call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { + "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "callsites": { + "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } }, - "camelcase": { + "node_modules/camelcase": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "caseless": { + "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, - "chalk": { + "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { + "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "cheerio-select": { + "node_modules/cheerio-select": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.6.0.tgz", "integrity": "sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g==", - "requires": { + "dependencies": { "css-select": "^4.3.0", "css-what": "^6.0.1", "domelementtype": "^2.2.0", "domhandler": "^4.3.1", "domutils": "^2.8.0" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "chokidar": { + "node_modules/chokidar": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", - "requires": { + "dependencies": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.5.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.1" } }, - "cliui": { + "node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { + "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "color-convert": { + "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { + "dependencies": { "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "color-name": { + "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "combined-stream": { + "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { + "dependencies": { "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "concat-map": { + "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, - "concat-stream": { + "node_modules/concat-stream": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { + "engines": [ + "node >= 0.8" + ], + "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" } }, - "core-util-is": { + "node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, - "cross-spawn": { + "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { + "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" } }, - "css-select": { + "node_modules/css-select": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "requires": { + "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.0.1", "domhandler": "^4.3.1", "domutils": "^2.8.0", "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "css-what": { + "node_modules/css-what": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } }, - "deasync": { + "node_modules/deasync": { "version": "0.1.29", "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.29.tgz", "integrity": "sha512-EBtfUhVX23CE9GR6m+F8WPeImEE4hR/FW9RkK0PMl9V1t283s0elqsTD8EZjaKX28SY1BW2rYfCgNsAYdpamUw==", - "requires": { + "hasInstallScript": true, + "dependencies": { "bindings": "^1.5.0", "node-addon-api": "^1.7.1" + }, + "engines": { + "node": ">=0.11.0" } }, - "debug": { + "node_modules/debug": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { + "dependencies": { "ms": "2.1.2" }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true } } }, - "decamelize": { + "node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/decamelize": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "deep-is": { + "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" }, - "delayed-stream": { + "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "engines": { + "node": ">=0.4.0" + } }, - "diff": { + "node_modules/diff": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "engines": { + "node": ">=0.3.1" + } }, - "doctrine": { + "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "requires": { + "dependencies": { "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" } }, - "dom-serializer": { + "node_modules/dom-serializer": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "requires": { + "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.2.0", "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "domelementtype": { + "node_modules/domelementtype": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] }, - "domhandler": { + "node_modules/domhandler": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "requires": { + "dependencies": { "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "domutils": { + "node_modules/domutils": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "requires": { + "dependencies": { "dom-serializer": "^1.0.1", "domelementtype": "^2.2.0", "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "emoji-regex": { + "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, - "enquirer": { + "node_modules/enquirer": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", - "requires": { + "dependencies": { "ansi-colors": "^4.1.1", "strip-ansi": "^6.0.1" }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/enquirer/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/enquirer/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "entities": { + "node_modules/entities": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } }, - "escalade": { + "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } }, - "escape-string-regexp": { + "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "eslint": { + "node_modules/eslint": { "version": "7.32.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", - "requires": { + "dependencies": { "@babel/code-frame": "7.12.11", "@eslint/eslintrc": "^0.4.3", "@humanwhocodes/config-array": "^0.5.0", @@ -1094,238 +1343,337 @@ "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "eslint-scope": { + "node_modules/eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "requires": { + "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" } }, - "eslint-utils": { + "node_modules/eslint-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "requires": { + "dependencies": { "eslint-visitor-keys": "^1.1.0" }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" - } + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "engines": { + "node": ">=4" } }, - "eslint-visitor-keys": { + "node_modules/eslint-visitor-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/eslint/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, - "espree": { + "node_modules/eslint/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/espree": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "requires": { + "dependencies": { "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://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" - } + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "engines": { + "node": ">=4" } }, - "esprima": { + "node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } }, - "esquery": { + "node_modules/esquery": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "requires": { + "dependencies": { "estraverse": "^5.1.0" }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - } + "engines": { + "node": ">=0.10" } }, - "esrecurse": { + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "requires": { + "dependencies": { "estraverse": "^5.2.0" }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - } + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" } }, - "estraverse": { + "node_modules/estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } }, - "esutils": { + "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } }, - "fast-deep-equal": { + "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, - "fast-json-stable-stringify": { + "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, - "fast-levenshtein": { + "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" }, - "file-entry-cache": { + "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "requires": { + "dependencies": { "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" } }, - "file-uri-to-path": { + "node_modules/file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, - "fill-range": { + "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { + "dependencies": { "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "find-up": { + "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "requires": { + "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "flat": { + "node_modules/flat": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "bin": { + "flat": "cli.js" + } }, - "flat-cache": { + "node_modules/flat-cache": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "requires": { + "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.3", "rimraf": "^3.0.2" }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dependencies": { - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - } + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "flatted": { + "node_modules/flatted": { "version": "3.2.9", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==" }, - "follow-redirects": { + "node_modules/follow-redirects": { "version": "1.15.5", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } }, - "form-data": { + "node_modules/form-data": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", - "requires": { + "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" } }, - "fs-extra": { + "node_modules/fs-extra": { "version": "0.30.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "requires": { + "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^2.1.0", "klaw": "^1.0.0", @@ -1333,411 +1681,537 @@ "rimraf": "^2.2.8" } }, - "fs.realpath": { + "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, - "fsevents": { + "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "optional": true + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } }, - "function-bind": { + "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, - "functional-red-black-tree": { + "node_modules/functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" }, - "get-caller-file": { + "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } }, - "get-intrinsic": { + "node_modules/get-intrinsic": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", - "requires": { + "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "get-port": { + "node_modules/get-port": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==" + "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", + "engines": { + "node": ">=4" + } }, - "glob": { + "node_modules/glob": { "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { + "dependencies": { "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "glob-parent": { + "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { + "dependencies": { "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" } }, - "globals": { + "node_modules/globals": { "version": "13.24.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "requires": { + "dependencies": { "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "graceful-fs": { + "node_modules/graceful-fs": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" }, - "growl": { + "node_modules/growl": { "version": "1.10.5", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "engines": { + "node": ">=4.x" + } }, - "has": { + "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { + "dependencies": { "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" } }, - "has-flag": { + "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } }, - "has-symbols": { + "node_modules/has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "he": { + "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" + } }, - "htmlparser2": { + "node_modules/htmlparser2": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "requires": { + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.0.0", "domutils": "^2.5.2", "entities": "^2.0.0" } }, - "http-basic": { + "node_modules/http-basic": { "version": "8.1.3", "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "requires": { + "dependencies": { "caseless": "^0.12.0", "concat-stream": "^1.6.2", "http-response-object": "^3.0.1", "parse-cache-control": "^1.0.1" + }, + "engines": { + "node": ">=6.0.0" } }, - "http-response-object": { + "node_modules/http-response-object": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "requires": { - "@types/node": "^10.0.3" - }, "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - } + "@types/node": "^10.0.3" } }, - "https-proxy-agent": { + "node_modules/http-response-object/node_modules/@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + }, + "node_modules/https-proxy-agent": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "requires": { + "dependencies": { "agent-base": "6", "debug": "4" + }, + "engines": { + "node": ">= 6" } }, - "ignore": { + "node_modules/ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "engines": { + "node": ">= 4" + } }, - "import-fresh": { + "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "requires": { + "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "imurmurhash": { + "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "engines": { + "node": ">=0.8.19" + } }, - "inflight": { + "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { + "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, - "inherits": { + "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "ini": { + "node_modules/ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, - "interpret": { + "node_modules/interpret": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "engines": { + "node": ">= 0.10" + } }, - "ip-address": { + "node_modules/ip-address": { "version": "5.9.4", "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-5.9.4.tgz", "integrity": "sha512-dHkI3/YNJq4b/qQaz+c8LuarD3pY24JqZWfjB8aZx1gtpc2MDILu9L9jpZe1sHpzo/yWFweQVn+U//FhazUxmw==", - "requires": { + "dependencies": { "jsbn": "1.1.0", "lodash": "^4.17.15", "sprintf-js": "1.1.2" + }, + "engines": { + "node": ">= 0.10" } }, - "is-binary-path": { + "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { + "dependencies": { "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "is-core-module": { + "node_modules/is-core-module": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", - "requires": { + "dependencies": { "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-extglob": { + "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } }, - "is-fullwidth-code-point": { + "node_modules/is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "engines": { + "node": ">=4" + } }, - "is-glob": { + "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { + "dependencies": { "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "is-number": { + "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } }, - "is-plain-obj": { + "node_modules/is-plain-obj": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "engines": { + "node": ">=8" + } }, - "isarray": { + "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, - "isexe": { + "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, - "js-tokens": { + "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, - "js-yaml": { + "node_modules/js-yaml": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", - "requires": { + "dependencies": { "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "jsbn": { + "node_modules/jsbn": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" }, - "json-buffer": { + "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" }, - "json-schema-traverse": { + "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, - "json-stable-stringify-without-jsonify": { + "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" }, - "jsonfile": { + "node_modules/jsonfile": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "requires": { + "optionalDependencies": { "graceful-fs": "^4.1.6" } }, - "just-extend": { + "node_modules/just-extend": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-6.2.0.tgz", "integrity": "sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==" }, - "keyv": { + "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "requires": { + "dependencies": { "json-buffer": "3.0.1" } }, - "klaw": { + "node_modules/klaw": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", - "requires": { + "optionalDependencies": { "graceful-fs": "^4.1.9" } }, - "levn": { + "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "requires": { + "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" } }, - "locate-path": { + "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "requires": { + "dependencies": { "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "lodash": { + "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, - "lodash.get": { + "node_modules/lodash.get": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" }, - "lodash.merge": { + "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" }, - "lodash.truncate": { + "node_modules/lodash.truncate": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==" }, - "log-symbols": { + "node_modules/log-symbols": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", - "requires": { + "dependencies": { "chalk": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "lru-cache": { + "node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { + "dependencies": { "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "ltx": { + "node_modules/ltx": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/ltx/-/ltx-2.10.0.tgz", "integrity": "sha512-RB4zR6Mrp/0wTNS9WxMvpgfht/7u/8QAC9DpPD19opL/4OASPa28uoliFqeDkLUU8pQ4aeAfATBZmz1aSAHkMw==", - "requires": { + "dependencies": { "inherits": "^2.0.4" } }, - "mime-db": { + "node_modules/mime-db": { "version": "1.44.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "engines": { + "node": ">= 0.6" + } }, - "mime-types": { + "node_modules/mime-types": { "version": "2.1.27", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", - "requires": { + "dependencies": { "mime-db": "1.44.0" + }, + "engines": { + "node": ">= 0.6" } }, - "minimatch": { + "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { + "dependencies": { "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "mocha": { + "node_modules/mocha": { "version": "8.4.0", "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz", "integrity": "sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==", - "requires": { + "dependencies": { "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", @@ -1764,253 +2238,330 @@ "yargs-parser": "20.2.4", "yargs-unparser": "2.0.0" }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 10.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" + } + }, + "node_modules/mocha/node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dependencies": { - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - } + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "mockery": { + "node_modules/mockery": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/mockery/-/mockery-1.7.0.tgz", "integrity": "sha512-gUQA33ayi0tuAhr/rJNZPr7Q7uvlBt4gyJPbi0CDcAfIzIrDu1YgGMFgmAu3stJqBpK57m7+RxUbcS+pt59fKQ==" }, - "ms": { + "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, - "nanoid": { + "node_modules/nanoid": { "version": "3.1.20", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", - "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==" + "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } }, - "natural-compare": { + "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" }, - "nise": { + "node_modules/nise": { "version": "5.1.9", "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.9.tgz", "integrity": "sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww==", - "requires": { + "dependencies": { "@sinonjs/commons": "^3.0.0", "@sinonjs/fake-timers": "^11.2.2", "@sinonjs/text-encoding": "^0.7.2", "just-extend": "^6.2.0", "path-to-regexp": "^6.2.1" - }, + } + }, + "node_modules/nise/node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dependencies": { - "@sinonjs/commons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", - "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", - "requires": { - "@sinonjs/commons": "^3.0.0" - } - } + "type-detect": "4.0.8" + } + }, + "node_modules/nise/node_modules/@sinonjs/fake-timers": { + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", + "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", + "dependencies": { + "@sinonjs/commons": "^3.0.0" } }, - "node-addon-api": { + "node_modules/node-addon-api": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==" }, - "nodejs-file-downloader": { + "node_modules/nodejs-file-downloader": { "version": "4.12.1", "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.12.1.tgz", "integrity": "sha512-LpfCTNhh805AlLnJnzt1PuEj+RmbrccbAQZ6hBRw2e6QPVR0Qntuo6qqyvPHG5s77/0w0IEKgRAD4nbSnr/X4w==", - "requires": { + "dependencies": { "follow-redirects": "^1.15.1", "https-proxy-agent": "^5.0.0", "mime-types": "^2.1.27", "sanitize-filename": "^1.6.3" } }, - "normalize-path": { + "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } }, - "nth-check": { + "node_modules/nth-check": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "requires": { + "dependencies": { "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "object-inspect": { + "node_modules/object-inspect": { "version": "1.12.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "once": { + "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { + "dependencies": { "wrappy": "1" } }, - "optionator": { + "node_modules/optionator": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "requires": { + "dependencies": { "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" } }, - "os": { + "node_modules/os": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/os/-/os-0.1.2.tgz", "integrity": "sha512-ZoXJkvAnljwvc56MbvhtKVWmSkzV712k42Is2mA0+0KTSRakq5XXuXpjZjgAt9ctzl51ojhQWakQQpmOvXWfjQ==" }, - "p-limit": { + "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "requires": { + "dependencies": { "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "p-locate": { + "node_modules/p-locate": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "requires": { + "dependencies": { "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "parent-module": { + "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "requires": { + "dependencies": { "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "parse-cache-control": { + "node_modules/parse-cache-control": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" }, - "parse5": { + "node_modules/parse5": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" }, - "parse5-htmlparser2-tree-adapter": { + "node_modules/parse5-htmlparser2-tree-adapter": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", - "requires": { + "dependencies": { "parse5": "^6.0.1" } }, - "path-exists": { + "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } }, - "path-is-absolute": { + "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "engines": { + "node": ">=0.10.0" + } }, - "path-key": { + "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } }, - "path-parse": { + "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, - "path-to-regexp": { + "node_modules/path-to-regexp": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==" }, - "picomatch": { + "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } }, - "prelude-ls": { + "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "engines": { + "node": ">= 0.8.0" + } }, - "process-nextick-args": { + "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, - "progress": { + "node_modules/progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "engines": { + "node": ">=0.4.0" + } }, - "promise": { + "node_modules/promise": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/promise/-/promise-8.2.0.tgz", "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==", - "requires": { + "dependencies": { "asap": "~2.0.6" } }, - "punycode": { + "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } }, - "q": { + "node_modules/q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } }, - "qs": { + "node_modules/qs": { "version": "6.11.1", "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz", "integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==", - "requires": { + "dependencies": { "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "randombytes": { + "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { + "dependencies": { "safe-buffer": "^5.1.0" } }, - "readable-stream": { + "node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { + "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", @@ -2020,142 +2571,191 @@ "util-deprecate": "~1.0.1" } }, - "readdirp": { + "node_modules/readdirp": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "requires": { + "dependencies": { "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" } }, - "rechoir": { + "node_modules/rechoir": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "requires": { + "dependencies": { "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" } }, - "regexpp": { + "node_modules/regexpp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } }, - "require-directory": { + "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } }, - "require-from-string": { + "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } }, - "resolve": { + "node_modules/resolve": { "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "requires": { + "dependencies": { "is-core-module": "^2.9.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "resolve-from": { + "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } }, - "rewire": { + "node_modules/rewire": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/rewire/-/rewire-6.0.0.tgz", "integrity": "sha512-7sZdz5dptqBCapJYocw9EcppLU62KMEqDLIILJnNET2iqzXHaQfaVP5SOJ06XvjX+dNIDJbzjw0ZWzrgDhtjYg==", - "requires": { + "dependencies": { "eslint": "^7.32.0" } }, - "rimraf": { + "node_modules/rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { + "dependencies": { "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "safe-buffer": { + "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "sanitize-filename": { + "node_modules/sanitize-filename": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", - "requires": { + "dependencies": { "truncate-utf8-bytes": "^1.0.0" } }, - "sax": { + "node_modules/sax": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" }, - "semver": { + "node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } }, - "semver-compare": { + "node_modules/semver-compare": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=" }, - "serialize-javascript": { + "node_modules/serialize-javascript": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", - "requires": { + "dependencies": { "randombytes": "^2.1.0" } }, - "shebang-command": { + "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { + "dependencies": { "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "shebang-regex": { + "node_modules/shebang-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } }, - "shelljs": { + "node_modules/shelljs": { "version": "0.8.5", "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "requires": { + "dependencies": { "glob": "^7.0.0", "interpret": "^1.0.0", "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" } }, - "side-channel": { + "node_modules/side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { + "dependencies": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "sinon": { + "node_modules/sinon": { "version": "14.0.2", "resolved": "https://registry.npmjs.org/sinon/-/sinon-14.0.2.tgz", "integrity": "sha512-PDpV0ZI3ZCS3pEqx0vpNp6kzPhHrLx72wA0G+ZLaaJjLIYeE0n8INlgaohKuGy7hP0as5tbUd23QWu5U233t+w==", - "requires": { + "deprecated": "16.1.1", + "dependencies": { "@sinonjs/commons": "^2.0.0", "@sinonjs/fake-timers": "^9.1.2", "@sinonjs/samsam": "^7.0.1", @@ -2163,173 +2763,232 @@ "nise": "^5.1.2", "supports-color": "^7.2.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/sinon" + } + }, + "node_modules/sinon/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "slice-ansi": { + "node_modules/slice-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "requires": { + "dependencies": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", "is-fullwidth-code-point": "^3.0.0" }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - } + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" } }, - "sprintf-js": { + "node_modules/sprintf-js": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" }, - "string-width": { + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { + "dependencies": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { + "node_modules/strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "requires": { + "dependencies": { "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "strip-bom": { + "node_modules/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "engines": { + "node": ">=4" + } }, - "strip-json-comments": { + "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "supports-color": { + "node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { + "dependencies": { "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "supports-preserve-symlinks-flag": { + "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "sync-request": { + "node_modules/sync-request": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "requires": { + "dependencies": { "http-response-object": "^3.0.1", "sync-rpc": "^1.2.1", "then-request": "^6.0.0" + }, + "engines": { + "node": ">=8.0.0" } }, - "sync-rpc": { + "node_modules/sync-rpc": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "requires": { + "dependencies": { "get-port": "^3.1.0" } }, - "table": { + "node_modules/table": { "version": "6.8.1", "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", - "requires": { + "dependencies": { "ajv": "^8.0.1", "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", "string-width": "^4.2.3", "strip-ansi": "^6.0.1" }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/table/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/table/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/table/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "text-table": { + "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" }, - "then-request": { + "node_modules/then-request": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "requires": { + "dependencies": { "@types/concat-stream": "^1.6.0", "@types/form-data": "0.0.33", "@types/node": "^8.0.0", @@ -2342,207 +3001,273 @@ "promise": "^8.0.0", "qs": "^6.4.0" }, - "dependencies": { - "@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - } + "engines": { + "node": ">=6.0.0" } }, - "to-regex-range": { + "node_modules/then-request/node_modules/@types/node": { + "version": "8.10.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" + }, + "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { + "dependencies": { "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "truncate-utf8-bytes": { + "node_modules/truncate-utf8-bytes": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", - "requires": { + "dependencies": { "utf8-byte-length": "^1.0.1" } }, - "tunnel": { + "node_modules/tunnel": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==" + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } }, - "type-check": { + "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "requires": { + "dependencies": { "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" } }, - "type-detect": { + "node_modules/type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "engines": { + "node": ">=4" + } }, - "type-fest": { + "node_modules/type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "typed-rest-client": { + "node_modules/typed-rest-client": { "version": "1.8.4", "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.4.tgz", "integrity": "sha512-MyfKKYzk3I6/QQp6e1T50py4qg+c+9BzOEl2rBmQIpStwNUoqQ73An+Tkfy9YuV7O+o2mpVVJpe+fH//POZkbg==", - "requires": { + "dependencies": { "qs": "^6.9.1", "tunnel": "0.0.6", "underscore": "^1.12.1" } }, - "typedarray": { + "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" }, - "typescript": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.2.tgz", - "integrity": "sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==", - "dev": true + "node_modules/typescript": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", + "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } }, - "underscore": { + "node_modules/underscore": { "version": "1.13.6", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, - "uri-js": { + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { + "dependencies": { "punycode": "^2.1.0" } }, - "utf8": { + "node_modules/utf8": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.2.tgz", "integrity": "sha1-H6DZJw6b6FDZsFAn9jUZv0ZFfZY=" }, - "utf8-byte-length": { + "node_modules/utf8-byte-length": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", "integrity": "sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==" }, - "util-deprecate": { + "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, - "uuid": { + "node_modules/uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } }, - "v8-compile-cache": { + "node_modules/v8-compile-cache": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==" }, - "which": { + "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { + "dependencies": { "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "wide-align": { + "node_modules/wide-align": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "requires": { + "dependencies": { "string-width": "^1.0.2 || 2" } }, - "workerpool": { + "node_modules/workerpool": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==" }, - "wrap-ansi": { + "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { + "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "wrappy": { + "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, - "xml2js": { + "node_modules/xml2js": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", - "requires": { + "dependencies": { "sax": ">=0.6.0", "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" } }, - "xmlbuilder": { + "node_modules/xmlbuilder": { "version": "11.0.1", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "engines": { + "node": ">=4.0" + } }, - "y18n": { + "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } }, - "yallist": { + "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, - "yargs": { + "node_modules/yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "requires": { + "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", @@ -2551,57 +3276,82 @@ "y18n": "^5.0.5", "yargs-parser": "^20.2.2" }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } + "engines": { + "node": ">=10" } }, - "yargs-parser": { + "node_modules/yargs-parser": { "version": "20.2.4", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "engines": { + "node": ">=10" + } }, - "yargs-unparser": { + "node_modules/yargs-unparser": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "requires": { + "dependencies": { "camelcase": "^6.0.0", "decamelize": "^4.0.0", "flat": "^5.0.2", "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "yocto-queue": { + "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } diff --git a/Tasks/MavenV2/package.json b/Tasks/MavenV2/package.json index 5767f39b3ca3..6fe91eec46fe 100644 --- a/Tasks/MavenV2/package.json +++ b/Tasks/MavenV2/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "@types/mocha": "^9.1.1", - "@types/node": "^16.11.39", + "@types/node": "^20.11.0", "@types/q": "^1.5.4", "azure-pipelines-task-lib": "^5.0.0-preview.0", "azure-pipelines-tasks-codeanalysis-common": "^2.226.0", @@ -25,6 +25,6 @@ "xml2js": "^0.6.2" }, "devDependencies": { - "typescript": "4.0.2" + "typescript": "5.1.6" } } diff --git a/Tasks/MavenV2/task.json b/Tasks/MavenV2/task.json index 7af081046f90..29435390c3c5 100644 --- a/Tasks/MavenV2/task.json +++ b/Tasks/MavenV2/task.json @@ -17,7 +17,7 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 235, + "Minor": 238, "Patch": 0 }, "releaseNotes": "Configuration of the SonarQube analysis was moved to the [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) or [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) extensions, in task `Prepare Analysis Configuration`", @@ -410,6 +410,10 @@ "Node16": { "target": "maventask.js", "argumentFormat": "" + }, + "Node20_1": { + "target": "maventask.js", + "argumentFormat": "" } }, "messages": { diff --git a/Tasks/MavenV2/task.loc.json b/Tasks/MavenV2/task.loc.json index 5dc4db48a0fe..d37852f5faa3 100644 --- a/Tasks/MavenV2/task.loc.json +++ b/Tasks/MavenV2/task.loc.json @@ -17,7 +17,7 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 235, + "Minor": 238, "Patch": 0 }, "releaseNotes": "ms-resource:loc.releaseNotes", @@ -410,6 +410,10 @@ "Node16": { "target": "maventask.js", "argumentFormat": "" + }, + "Node20_1": { + "target": "maventask.js", + "argumentFormat": "" } }, "messages": { diff --git a/Tasks/PyPIPublisherV0/.npmrc b/Tasks/PyPIPublisherV0/.npmrc new file mode 100644 index 000000000000..a21347f1bdee --- /dev/null +++ b/Tasks/PyPIPublisherV0/.npmrc @@ -0,0 +1 @@ +scripts-prepend-node-path=true \ No newline at end of file diff --git a/Tasks/PyPIPublisherV0/Tests/package-lock.json b/Tasks/PyPIPublisherV0/Tests/package-lock.json index e2fc7170ee12..222ec2b442ad 100644 --- a/Tasks/PyPIPublisherV0/Tests/package-lock.json +++ b/Tasks/PyPIPublisherV0/Tests/package-lock.json @@ -1,36 +1,51 @@ { "name": "pypipublisher", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@types/mocha": { + "packages": { + "": { + "name": "pypipublisher", + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "@types/mocha": "^5.2.7", + "azure-pipelines-task-lib": "^5.0.1-preview.0" + } + }, + "node_modules/@types/mocha": { "version": "5.2.7", "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==", "dev": true }, - "adm-zip": { + "node_modules/adm-zip": { "version": "0.5.10", "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=6.0" + } }, - "agent-base": { + "node_modules/agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, - "requires": { + "dependencies": { "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" } }, - "azure-pipelines-task-lib": { + "node_modules/azure-pipelines-task-lib": { "version": "5.0.1-preview.0", "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-5.0.1-preview.0.tgz", "integrity": "sha512-/1R7HbRfY3ntupW3UWeU/Xoi95by8JjoHDOFL7AdwuiitIg2cKX/Hi1nbY1xNOwp+vZyMLrVo73IMYeE4pMdEw==", "dev": true, - "requires": { + "dependencies": { "adm-zip": "^0.5.10", "minimatch": "3.0.5", "nodejs-file-downloader": "^4.11.1", @@ -40,61 +55,86 @@ "uuid": "^3.0.1" } }, - "balanced-match": { + "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, - "brace-expansion": { + "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "requires": { + "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "concat-map": { + "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, - "debug": { + "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, - "requires": { + "dependencies": { "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "follow-redirects": { + "node_modules/follow-redirects": { "version": "1.15.4", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==", - "dev": true + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } }, - "fs.realpath": { + "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, - "function-bind": { + "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "glob": { + "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "requires": { + "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", @@ -102,211 +142,274 @@ "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "hasown": { + "node_modules/hasown": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", "dev": true, - "requires": { + "dependencies": { "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" } }, - "https-proxy-agent": { + "node_modules/https-proxy-agent": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, - "requires": { + "dependencies": { "agent-base": "6", "debug": "4" + }, + "engines": { + "node": ">= 6" } }, - "inflight": { + "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, - "requires": { + "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, - "inherits": { + "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "interpret": { + "node_modules/interpret": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.10" + } }, - "is-core-module": { + "node_modules/is-core-module": { "version": "2.13.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dev": true, - "requires": { + "dependencies": { "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "mime-db": { + "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "mime-types": { + "node_modules/mime-types": { "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, - "requires": { + "dependencies": { "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "minimatch": { + "node_modules/minimatch": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", "dev": true, - "requires": { + "dependencies": { "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "ms": { + "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "nodejs-file-downloader": { + "node_modules/nodejs-file-downloader": { "version": "4.12.1", "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.12.1.tgz", "integrity": "sha512-LpfCTNhh805AlLnJnzt1PuEj+RmbrccbAQZ6hBRw2e6QPVR0Qntuo6qqyvPHG5s77/0w0IEKgRAD4nbSnr/X4w==", "dev": true, - "requires": { + "dependencies": { "follow-redirects": "^1.15.1", "https-proxy-agent": "^5.0.0", "mime-types": "^2.1.27", "sanitize-filename": "^1.6.3" } }, - "once": { + "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, - "requires": { + "dependencies": { "wrappy": "1" } }, - "path-is-absolute": { + "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "path-parse": { + "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "q": { + "node_modules/q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } }, - "rechoir": { + "node_modules/rechoir": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", "dev": true, - "requires": { + "dependencies": { "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" } }, - "resolve": { + "node_modules/resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, - "requires": { + "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "sanitize-filename": { + "node_modules/sanitize-filename": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", "dev": true, - "requires": { + "dependencies": { "truncate-utf8-bytes": "^1.0.0" } }, - "semver": { + "node_modules/semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true + "dev": true, + "bin": { + "semver": "bin/semver" + } }, - "shelljs": { + "node_modules/shelljs": { "version": "0.8.5", "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", "dev": true, - "requires": { + "dependencies": { "glob": "^7.0.0", "interpret": "^1.0.0", "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" } }, - "supports-preserve-symlinks-flag": { + "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "truncate-utf8-bytes": { + "node_modules/truncate-utf8-bytes": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", "dev": true, - "requires": { + "dependencies": { "utf8-byte-length": "^1.0.1" } }, - "utf8-byte-length": { + "node_modules/utf8-byte-length": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", "integrity": "sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==", "dev": true }, - "uuid": { + "node_modules/uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } }, - "wrappy": { + "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", diff --git a/Tasks/PyPIPublisherV0/_buildConfigs/Node20/Tests/package-lock.json b/Tasks/PyPIPublisherV0/_buildConfigs/Node20/Tests/package-lock.json deleted file mode 100644 index e2fc7170ee12..000000000000 --- a/Tasks/PyPIPublisherV0/_buildConfigs/Node20/Tests/package-lock.json +++ /dev/null @@ -1,316 +0,0 @@ -{ - "name": "pypipublisher", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@types/mocha": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==", - "dev": true - }, - "adm-zip": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", - "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==", - "dev": true - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "requires": { - "debug": "4" - } - }, - "azure-pipelines-task-lib": { - "version": "5.0.1-preview.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-5.0.1-preview.0.tgz", - "integrity": "sha512-/1R7HbRfY3ntupW3UWeU/Xoi95by8JjoHDOFL7AdwuiitIg2cKX/Hi1nbY1xNOwp+vZyMLrVo73IMYeE4pMdEw==", - "dev": true, - "requires": { - "adm-zip": "^0.5.10", - "minimatch": "3.0.5", - "nodejs-file-downloader": "^4.11.1", - "q": "^1.5.1", - "semver": "^5.1.0", - "shelljs": "^0.8.5", - "uuid": "^3.0.1" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "follow-redirects": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", - "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "dev": true, - "requires": { - "function-bind": "^1.1.2" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true - }, - "is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dev": true, - "requires": { - "hasown": "^2.0.0" - } - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "requires": { - "mime-db": "1.52.0" - } - }, - "minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "nodejs-file-downloader": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.12.1.tgz", - "integrity": "sha512-LpfCTNhh805AlLnJnzt1PuEj+RmbrccbAQZ6hBRw2e6QPVR0Qntuo6qqyvPHG5s77/0w0IEKgRAD4nbSnr/X4w==", - "dev": true, - "requires": { - "follow-redirects": "^1.15.1", - "https-proxy-agent": "^5.0.0", - "mime-types": "^2.1.27", - "sanitize-filename": "^1.6.3" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", - "dev": true - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "dev": true, - "requires": { - "resolve": "^1.1.6" - } - }, - "resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "sanitize-filename": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", - "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", - "dev": true, - "requires": { - "truncate-utf8-bytes": "^1.0.0" - } - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dev": true, - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "truncate-utf8-bytes": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", - "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", - "dev": true, - "requires": { - "utf8-byte-length": "^1.0.1" - } - }, - "utf8-byte-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", - "integrity": "sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==", - "dev": true - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - } - } -} diff --git a/Tasks/PyPIPublisherV0/_buildConfigs/Node20/Tests/package.json b/Tasks/PyPIPublisherV0/_buildConfigs/Node20/Tests/package.json deleted file mode 100644 index 3c5e0e314af2..000000000000 --- a/Tasks/PyPIPublisherV0/_buildConfigs/Node20/Tests/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "pypipublisher", - "version": "1.0.0", - "description": "publish python package to the python package index", - "main": "publisher.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "Microsoft Corporation", - "license": "MIT", - "devDependencies": { - "@types/mocha": "^5.2.7", - "azure-pipelines-task-lib": "^5.0.1-preview.0" - } -} diff --git a/Tasks/PyPIPublisherV0/_buildConfigs/Node20/package-lock.json b/Tasks/PyPIPublisherV0/_buildConfigs/Node20/package-lock.json deleted file mode 100644 index ad6cb9ba4a57..000000000000 --- a/Tasks/PyPIPublisherV0/_buildConfigs/Node20/package-lock.json +++ /dev/null @@ -1,297 +0,0 @@ -{ - "name": "pypipublisher", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@types/mocha": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" - }, - "@types/node": { - "version": "20.11.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.0.tgz", - "integrity": "sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==", - "requires": { - "undici-types": "~5.26.4" - } - }, - "adm-zip": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", - "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==" - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { - "debug": "4" - } - }, - "azure-pipelines-task-lib": { - "version": "5.0.1-preview.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-5.0.1-preview.0.tgz", - "integrity": "sha512-/1R7HbRfY3ntupW3UWeU/Xoi95by8JjoHDOFL7AdwuiitIg2cKX/Hi1nbY1xNOwp+vZyMLrVo73IMYeE4pMdEw==", - "requires": { - "adm-zip": "^0.5.10", - "minimatch": "3.0.5", - "nodejs-file-downloader": "^4.11.1", - "q": "^1.5.1", - "semver": "^5.1.0", - "shelljs": "^0.8.5", - "uuid": "^3.0.1" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "follow-redirects": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", - "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "requires": { - "function-bind": "^1.1.2" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" - }, - "is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "requires": { - "hasown": "^2.0.0" - } - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "nodejs-file-downloader": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.12.1.tgz", - "integrity": "sha512-LpfCTNhh805AlLnJnzt1PuEj+RmbrccbAQZ6hBRw2e6QPVR0Qntuo6qqyvPHG5s77/0w0IEKgRAD4nbSnr/X4w==", - "requires": { - "follow-redirects": "^1.15.1", - "https-proxy-agent": "^5.0.0", - "mime-types": "^2.1.27", - "sanitize-filename": "^1.6.3" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "requires": { - "resolve": "^1.1.6" - } - }, - "resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "sanitize-filename": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", - "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", - "requires": { - "truncate-utf8-bytes": "^1.0.0" - } - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "truncate-utf8-bytes": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", - "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", - "requires": { - "utf8-byte-length": "^1.0.1" - } - }, - "typescript": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", - "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", - "dev": true - }, - "undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" - }, - "utf8-byte-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", - "integrity": "sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - } - } -} diff --git a/Tasks/PyPIPublisherV0/_buildConfigs/Node20/package.json b/Tasks/PyPIPublisherV0/_buildConfigs/Node20/package.json deleted file mode 100644 index 43754c2b52cf..000000000000 --- a/Tasks/PyPIPublisherV0/_buildConfigs/Node20/package.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "pypipublisher", - "version": "1.0.0", - "description": "publish python package to the python package index", - "main": "publisher.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "Microsoft Corporation", - "license": "MIT", - "dependencies": { - "@types/mocha": "^5.2.7", - "@types/node": "^20.11.0", - "azure-pipelines-task-lib": "^5.0.1-preview.0" - }, - "devDependencies": { - "typescript": "5.1.6" - } -} diff --git a/Tasks/PyPIPublisherV0/package-lock.json b/Tasks/PyPIPublisherV0/package-lock.json index bd14ea42487e..4a070bb16da8 100644 --- a/Tasks/PyPIPublisherV0/package-lock.json +++ b/Tasks/PyPIPublisherV0/package-lock.json @@ -1,37 +1,59 @@ { "name": "pypipublisher", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@types/mocha": { + "packages": { + "": { + "name": "pypipublisher", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "@types/mocha": "^5.2.7", + "@types/node": "^20.11.0", + "azure-pipelines-task-lib": "^5.0.1-preview.0" + }, + "devDependencies": { + "typescript": "5.1.6" + } + }, + "node_modules/@types/mocha": { "version": "5.2.7", "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" }, - "@types/node": { - "version": "16.18.70", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.70.tgz", - "integrity": "sha512-8eIk20G5VVVQNZNouHjLA2b8utE2NvGybLjMaF4lyhA9uhGwnmXF8o+icdXKGSQSNANJewXva/sFUoZLwAaYAg==" + "node_modules/@types/node": { + "version": "20.11.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.0.tgz", + "integrity": "sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==", + "dependencies": { + "undici-types": "~5.26.4" + } }, - "adm-zip": { + "node_modules/adm-zip": { "version": "0.5.10", "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", - "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==" + "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==", + "engines": { + "node": ">=6.0" + } }, - "agent-base": { + "node_modules/agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { + "dependencies": { "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" } }, - "azure-pipelines-task-lib": { + "node_modules/azure-pipelines-task-lib": { "version": "5.0.1-preview.0", "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-5.0.1-preview.0.tgz", "integrity": "sha512-/1R7HbRfY3ntupW3UWeU/Xoi95by8JjoHDOFL7AdwuiitIg2cKX/Hi1nbY1xNOwp+vZyMLrVo73IMYeE4pMdEw==", - "requires": { + "dependencies": { "adm-zip": "^0.5.10", "minimatch": "3.0.5", "nodejs-file-downloader": "^4.11.1", @@ -41,53 +63,78 @@ "uuid": "^3.0.1" } }, - "balanced-match": { + "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, - "brace-expansion": { + "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { + "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "concat-map": { + "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, - "debug": { + "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { + "dependencies": { "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "follow-redirects": { + "node_modules/follow-redirects": { "version": "1.15.4", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", - "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==" + "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } }, - "fs.realpath": { + "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, - "function-bind": { + "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "glob": { + "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { + "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", @@ -95,192 +142,267 @@ "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "hasown": { + "node_modules/hasown": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "requires": { + "dependencies": { "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" } }, - "https-proxy-agent": { + "node_modules/https-proxy-agent": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "requires": { + "dependencies": { "agent-base": "6", "debug": "4" + }, + "engines": { + "node": ">= 6" } }, - "inflight": { + "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { + "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, - "inherits": { + "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "interpret": { + "node_modules/interpret": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "engines": { + "node": ">= 0.10" + } }, - "is-core-module": { + "node_modules/is-core-module": { "version": "2.13.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "requires": { + "dependencies": { "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "mime-db": { + "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } }, - "mime-types": { + "node_modules/mime-types": { "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { + "dependencies": { "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "minimatch": { + "node_modules/minimatch": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { + "dependencies": { "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "ms": { + "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, - "nodejs-file-downloader": { + "node_modules/nodejs-file-downloader": { "version": "4.12.1", "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.12.1.tgz", "integrity": "sha512-LpfCTNhh805AlLnJnzt1PuEj+RmbrccbAQZ6hBRw2e6QPVR0Qntuo6qqyvPHG5s77/0w0IEKgRAD4nbSnr/X4w==", - "requires": { + "dependencies": { "follow-redirects": "^1.15.1", "https-proxy-agent": "^5.0.0", "mime-types": "^2.1.27", "sanitize-filename": "^1.6.3" } }, - "once": { + "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { + "dependencies": { "wrappy": "1" } }, - "path-is-absolute": { + "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } }, - "path-parse": { + "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, - "q": { + "node_modules/q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } }, - "rechoir": { + "node_modules/rechoir": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "requires": { + "dependencies": { "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" } }, - "resolve": { + "node_modules/resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "requires": { + "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "sanitize-filename": { + "node_modules/sanitize-filename": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", - "requires": { + "dependencies": { "truncate-utf8-bytes": "^1.0.0" } }, - "semver": { + "node_modules/semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } }, - "shelljs": { + "node_modules/shelljs": { "version": "0.8.5", "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "requires": { + "dependencies": { "glob": "^7.0.0", "interpret": "^1.0.0", "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" } }, - "supports-preserve-symlinks-flag": { + "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "truncate-utf8-bytes": { + "node_modules/truncate-utf8-bytes": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", - "requires": { + "dependencies": { "utf8-byte-length": "^1.0.1" } }, - "typescript": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.2.tgz", - "integrity": "sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==", - "dev": true + "node_modules/typescript": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", + "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, - "utf8-byte-length": { + "node_modules/utf8-byte-length": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", "integrity": "sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==" }, - "uuid": { + "node_modules/uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } }, - "wrappy": { + "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" diff --git a/Tasks/PyPIPublisherV0/package.json b/Tasks/PyPIPublisherV0/package.json index cbd44ca1a2aa..43754c2b52cf 100644 --- a/Tasks/PyPIPublisherV0/package.json +++ b/Tasks/PyPIPublisherV0/package.json @@ -10,10 +10,10 @@ "license": "MIT", "dependencies": { "@types/mocha": "^5.2.7", - "@types/node": "^16.11.39", + "@types/node": "^20.11.0", "azure-pipelines-task-lib": "^5.0.1-preview.0" }, "devDependencies": { - "typescript": "4.0.2" + "typescript": "5.1.6" } } diff --git a/Tasks/PyPIPublisherV0/task.json b/Tasks/PyPIPublisherV0/task.json index ad0b6a73df63..77beb550a0f5 100644 --- a/Tasks/PyPIPublisherV0/task.json +++ b/Tasks/PyPIPublisherV0/task.json @@ -1,65 +1,69 @@ { - "id": "2d8a1d60-8ccd-11e7-a792-11ac56e9f553", - "name": "PyPIPublisher", - "friendlyName": "PyPI publisher", - "description": "Create and upload an sdist or wheel to a PyPI-compatible index using Twine", - "author": "Microsoft Corporation", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/package/pypi-publisher", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?linkid=875289)", - "category": "Package", - "visibility": [ - "Build", - "Release" - ], - "demands": [], - "version": { - "Major": 0, - "Minor": 234, - "Patch": 0 + "id": "2d8a1d60-8ccd-11e7-a792-11ac56e9f553", + "name": "PyPIPublisher", + "friendlyName": "PyPI publisher", + "description": "Create and upload an sdist or wheel to a PyPI-compatible index using Twine", + "author": "Microsoft Corporation", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/package/pypi-publisher", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?linkid=875289)", + "category": "Package", + "visibility": [ + "Build", + "Release" + ], + "demands": [], + "version": { + "Major": 0, + "Minor": 238, + "Patch": 0 + }, + "minimumAgentVersion": "2.0.0", + "instanceNameFormat": "Package and publish to PyPI", + "inputs": [ + { + "name": "serviceEndpoint", + "aliases": [ + "pypiConnection" + ], + "type": "connectedService:generic", + "label": "PyPI service connection", + "required": true, + "helpMarkDown": "A generic service connection for connecting to the package index." }, - "minimumAgentVersion": "2.0.0", - "instanceNameFormat": "Package and publish to PyPI", - "inputs": [ - { - "name": "serviceEndpoint", - "aliases": [ - "pypiConnection" - ], - "type": "connectedService:generic", - "label": "PyPI service connection", - "required": true, - "helpMarkDown": "A generic service connection for connecting to the package index." - }, - { - "name": "wd", - "aliases": [ - "packageDirectory" - ], - "type": "filePath", - "label": "Python package directory", - "required": true, - "helpMarkDown": "The directory of the Python package to be created and published, where setup.py is present." - }, - { - "name": "wheel", - "aliases": [ - "alsoPublishWheel" - ], - "type": "boolean", - "label": "Also publish a wheel", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Select whether to create and publish a universal wheel package (platform independent) in addition to an sdist package. [More information](https://packaging.python.org/tutorials/distributing-packages/#wheels)." - } - ], - "execution": { - "Node10": { - "target": "publisher.js", - "argumentFormat": "" - }, - "Node16": { - "target": "publisher.js", - "argumentFormat": "" - } + { + "name": "wd", + "aliases": [ + "packageDirectory" + ], + "type": "filePath", + "label": "Python package directory", + "required": true, + "helpMarkDown": "The directory of the Python package to be created and published, where setup.py is present." + }, + { + "name": "wheel", + "aliases": [ + "alsoPublishWheel" + ], + "type": "boolean", + "label": "Also publish a wheel", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Select whether to create and publish a universal wheel package (platform independent) in addition to an sdist package. [More information](https://packaging.python.org/tutorials/distributing-packages/#wheels)." + } + ], + "execution": { + "Node10": { + "target": "publisher.js", + "argumentFormat": "" + }, + "Node16": { + "target": "publisher.js", + "argumentFormat": "" + }, + "Node20_1": { + "target": "publisher.js", + "argumentFormat": "" } + } } \ No newline at end of file diff --git a/Tasks/PyPIPublisherV0/task.loc.json b/Tasks/PyPIPublisherV0/task.loc.json index 1d9c8c5993cb..bb91b949eb19 100644 --- a/Tasks/PyPIPublisherV0/task.loc.json +++ b/Tasks/PyPIPublisherV0/task.loc.json @@ -14,7 +14,7 @@ "demands": [], "version": { "Major": 0, - "Minor": 234, + "Minor": 238, "Patch": 0 }, "minimumAgentVersion": "2.0.0", @@ -60,6 +60,10 @@ "Node16": { "target": "publisher.js", "argumentFormat": "" + }, + "Node20_1": { + "target": "publisher.js", + "argumentFormat": "" } } } \ No newline at end of file diff --git a/Tasks/XamarinTestCloudV1/.npmrc b/Tasks/XamarinTestCloudV1/.npmrc new file mode 100644 index 000000000000..a21347f1bdee --- /dev/null +++ b/Tasks/XamarinTestCloudV1/.npmrc @@ -0,0 +1 @@ +scripts-prepend-node-path=true \ No newline at end of file diff --git a/Tasks/XamarinTestCloudV1/_buildConfigs/Node20/package-lock.json b/Tasks/XamarinTestCloudV1/_buildConfigs/Node20/package-lock.json deleted file mode 100644 index 802f295661fe..000000000000 --- a/Tasks/XamarinTestCloudV1/_buildConfigs/Node20/package-lock.json +++ /dev/null @@ -1,539 +0,0 @@ -{ - "name": "vsts-tasks-xamarintestcloud", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "requires": { - "@types/node": "*" - } - }, - "@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "requires": { - "@types/node": "*" - } - }, - "@types/mocha": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" - }, - "@types/node": { - "version": "20.11.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.0.tgz", - "integrity": "sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==", - "requires": { - "undici-types": "~5.26.4" - } - }, - "@types/qs": { - "version": "6.9.11", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz", - "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==" - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "azure-pipelines-task-lib": { - "version": "5.0.0-preview.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-5.0.0-preview.0.tgz", - "integrity": "sha512-uQJEv+q3/7RD7kgphFd33uXijaPwA1ePYoNkAgZpUhbZUtc2u4JL4ujTT/JJfgXBNW/QQNAiDQ2OC7vOQG/0tg==", - "requires": { - "minimatch": "3.0.5", - "q": "^1.5.1", - "semver": "^5.1.0", - "shelljs": "^0.8.5", - "sync-request": "6.1.0", - "uuid": "^3.0.1" - }, - "dependencies": { - "minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", - "requires": { - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" - } - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", - "requires": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "form-data": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", - "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - }, - "get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", - "requires": { - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - } - }, - "get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==" - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", - "requires": { - "get-intrinsic": "^1.2.2" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "requires": { - "function-bind": "^1.1.2" - } - }, - "http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "requires": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - } - }, - "http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "requires": { - "@types/node": "^10.0.3" - }, - "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - } - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" - }, - "is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "requires": { - "hasown": "^2.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "requires": { - "asap": "~2.0.6" - } - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" - }, - "qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "requires": { - "resolve": "^1.1.6" - } - }, - "resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" - }, - "set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", - "requires": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - } - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "sync-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "requires": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - } - }, - "sync-rpc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", - "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "requires": { - "get-port": "^3.1.0" - } - }, - "then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "requires": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "dependencies": { - "@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - } - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - }, - "typescript": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", - "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", - "dev": true - }, - "undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - } - } -} diff --git a/Tasks/XamarinTestCloudV1/_buildConfigs/Node20/package.json b/Tasks/XamarinTestCloudV1/_buildConfigs/Node20/package.json deleted file mode 100644 index 6b94c294a52a..000000000000 --- a/Tasks/XamarinTestCloudV1/_buildConfigs/Node20/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "vsts-tasks-xamarintestcloud", - "version": "1.0.0", - "description": "Azure Pipelines Xamarin Test Cloud Task", - "main": "xamarintestcloud.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/Microsoft/azure-pipelines-tasks.git" - }, - "author": "Microsoft Corporation", - "license": "MIT", - "bugs": { - "url": "https://github.com/Microsoft/azure-pipelines-tasks/issues" - }, - "homepage": "https://github.com/Microsoft/azure-pipelines-tasks#readme", - "dependencies": { - "azure-pipelines-task-lib": "^5.0.0-preview.0", - "minimatch": "^3.0.4", - "@types/mocha": "^5.2.7", - "@types/node": "^20.11.0" - }, - "devDependencies": { - "typescript": "5.1.6" - } -} diff --git a/Tasks/XamarinTestCloudV1/package-lock.json b/Tasks/XamarinTestCloudV1/package-lock.json index c313192f8c74..602a96c994ab 100644 --- a/Tasks/XamarinTestCloudV1/package-lock.json +++ b/Tasks/XamarinTestCloudV1/package-lock.json @@ -1,192 +1,237 @@ { "name": "vsts-tasks-xamarintestcloud", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@types/concat-stream": { + "packages": { + "": { + "name": "vsts-tasks-xamarintestcloud", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "@types/mocha": "^5.2.7", + "@types/node": "^20.11.0", + "azure-pipelines-task-lib": "^5.0.0-preview.0", + "minimatch": "^3.0.4" + }, + "devDependencies": { + "typescript": "5.1.6" + } + }, + "node_modules/@types/concat-stream": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "requires": { + "dependencies": { "@types/node": "*" } }, - "@types/form-data": { + "node_modules/@types/form-data": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "requires": { + "dependencies": { "@types/node": "*" } }, - "@types/mocha": { + "node_modules/@types/mocha": { "version": "5.2.7", "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" }, - "@types/node": { - "version": "16.18.70", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.70.tgz", - "integrity": "sha512-8eIk20G5VVVQNZNouHjLA2b8utE2NvGybLjMaF4lyhA9uhGwnmXF8o+icdXKGSQSNANJewXva/sFUoZLwAaYAg==" + "node_modules/@types/node": { + "version": "20.11.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.0.tgz", + "integrity": "sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==", + "dependencies": { + "undici-types": "~5.26.4" + } }, - "@types/qs": { + "node_modules/@types/qs": { "version": "6.9.11", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz", "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==" }, - "asap": { + "node_modules/asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" }, - "asynckit": { + "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, - "azure-pipelines-task-lib": { + "node_modules/azure-pipelines-task-lib": { "version": "5.0.0-preview.0", "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-5.0.0-preview.0.tgz", "integrity": "sha512-uQJEv+q3/7RD7kgphFd33uXijaPwA1ePYoNkAgZpUhbZUtc2u4JL4ujTT/JJfgXBNW/QQNAiDQ2OC7vOQG/0tg==", - "requires": { + "dependencies": { "minimatch": "3.0.5", "q": "^1.5.1", "semver": "^5.1.0", "shelljs": "^0.8.5", "sync-request": "6.1.0", "uuid": "^3.0.1" - }, + } + }, + "node_modules/azure-pipelines-task-lib/node_modules/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", "dependencies": { - "minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "balanced-match": { + "node_modules/balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, - "brace-expansion": { + "node_modules/brace-expansion": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", - "requires": { + "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "buffer-from": { + "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, - "call-bind": { + "node_modules/call-bind": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", - "requires": { + "dependencies": { "function-bind": "^1.1.2", "get-intrinsic": "^1.2.1", "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "caseless": { + "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" }, - "combined-stream": { + "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { + "dependencies": { "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "concat-map": { + "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, - "concat-stream": { + "node_modules/concat-stream": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { + "engines": [ + "node >= 0.8" + ], + "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" } }, - "core-util-is": { + "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, - "define-data-property": { + "node_modules/define-data-property": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", - "requires": { + "dependencies": { "get-intrinsic": "^1.2.1", "gopd": "^1.0.1", "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" } }, - "delayed-stream": { + "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } }, - "form-data": { + "node_modules/form-data": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", - "requires": { + "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" } }, - "fs.realpath": { + "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, - "function-bind": { + "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "get-intrinsic": { + "node_modules/get-intrinsic": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", - "requires": { + "dependencies": { "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "get-port": { + "node_modules/get-port": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==" + "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", + "engines": { + "node": ">=4" + } }, - "glob": { + "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { + "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", @@ -194,189 +239,249 @@ "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "gopd": { + "node_modules/gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { + "dependencies": { "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "has-property-descriptors": { + "node_modules/has-property-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", - "requires": { + "dependencies": { "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "has-proto": { + "node_modules/has-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "has-symbols": { + "node_modules/has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "hasown": { + "node_modules/hasown": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "requires": { + "dependencies": { "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" } }, - "http-basic": { + "node_modules/http-basic": { "version": "8.1.3", "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "requires": { + "dependencies": { "caseless": "^0.12.0", "concat-stream": "^1.6.2", "http-response-object": "^3.0.1", "parse-cache-control": "^1.0.1" + }, + "engines": { + "node": ">=6.0.0" } }, - "http-response-object": { + "node_modules/http-response-object": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "requires": { - "@types/node": "^10.0.3" - }, "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - } + "@types/node": "^10.0.3" } }, - "inflight": { + "node_modules/http-response-object/node_modules/@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + }, + "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { + "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, - "inherits": { + "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "interpret": { + "node_modules/interpret": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "engines": { + "node": ">= 0.10" + } }, - "is-core-module": { + "node_modules/is-core-module": { "version": "2.13.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "requires": { + "dependencies": { "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "isarray": { + "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, - "mime-db": { + "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } }, - "mime-types": { + "node_modules/mime-types": { "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { + "dependencies": { "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "minimatch": { + "node_modules/minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", - "requires": { + "dependencies": { "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "object-inspect": { + "node_modules/object-inspect": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==" + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "once": { + "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { + "dependencies": { "wrappy": "1" } }, - "parse-cache-control": { + "node_modules/parse-cache-control": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" }, - "path-is-absolute": { + "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } }, - "path-parse": { + "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, - "process-nextick-args": { + "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, - "promise": { + "node_modules/promise": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "requires": { + "dependencies": { "asap": "~2.0.6" } }, - "q": { + "node_modules/q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } }, - "qs": { + "node_modules/qs": { "version": "6.11.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", - "requires": { + "dependencies": { "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "readable-stream": { + "node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "requires": { + "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", @@ -386,101 +491,134 @@ "util-deprecate": "~1.0.1" } }, - "rechoir": { + "node_modules/rechoir": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "requires": { + "dependencies": { "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" } }, - "resolve": { + "node_modules/resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "requires": { + "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "safe-buffer": { + "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "semver": { + "node_modules/semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } }, - "set-function-length": { + "node_modules/set-function-length": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", - "requires": { + "dependencies": { "define-data-property": "^1.1.1", "get-intrinsic": "^1.2.1", "gopd": "^1.0.1", "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" } }, - "shelljs": { + "node_modules/shelljs": { "version": "0.8.5", "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "requires": { + "dependencies": { "glob": "^7.0.0", "interpret": "^1.0.0", "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" } }, - "side-channel": { + "node_modules/side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { + "dependencies": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "string_decoder": { + "node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { + "dependencies": { "safe-buffer": "~5.1.0" } }, - "supports-preserve-symlinks-flag": { + "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "sync-request": { + "node_modules/sync-request": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "requires": { + "dependencies": { "http-response-object": "^3.0.1", "sync-rpc": "^1.2.1", "then-request": "^6.0.0" + }, + "engines": { + "node": ">=8.0.0" } }, - "sync-rpc": { + "node_modules/sync-rpc": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "requires": { + "dependencies": { "get-port": "^3.1.0" } }, - "then-request": { + "node_modules/then-request": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "requires": { + "dependencies": { "@types/concat-stream": "^1.6.0", "@types/form-data": "0.0.33", "@types/node": "^8.0.0", @@ -493,36 +631,53 @@ "promise": "^8.0.0", "qs": "^6.4.0" }, - "dependencies": { - "@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - } + "engines": { + "node": ">=6.0.0" } }, - "typedarray": { + "node_modules/then-request/node_modules/@types/node": { + "version": "8.10.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" + }, + "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" }, - "typescript": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.2.tgz", - "integrity": "sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==", - "dev": true + "node_modules/typescript": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", + "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, - "util-deprecate": { + "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, - "uuid": { + "node_modules/uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } }, - "wrappy": { + "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" diff --git a/Tasks/XamarinTestCloudV1/package.json b/Tasks/XamarinTestCloudV1/package.json index 5b187793410c..6b94c294a52a 100644 --- a/Tasks/XamarinTestCloudV1/package.json +++ b/Tasks/XamarinTestCloudV1/package.json @@ -20,9 +20,9 @@ "azure-pipelines-task-lib": "^5.0.0-preview.0", "minimatch": "^3.0.4", "@types/mocha": "^5.2.7", - "@types/node": "^16.11.39" + "@types/node": "^20.11.0" }, "devDependencies": { - "typescript": "4.0.2" + "typescript": "5.1.6" } } diff --git a/Tasks/XamarinTestCloudV1/task.json b/Tasks/XamarinTestCloudV1/task.json index 94ba1d921464..a6defb5dd7ee 100644 --- a/Tasks/XamarinTestCloudV1/task.json +++ b/Tasks/XamarinTestCloudV1/task.json @@ -13,7 +13,7 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 235, + "Minor": 238, "Patch": 2 }, "demands": [], @@ -195,6 +195,10 @@ "platforms": [ "windows" ] + }, + "Node20_1": { + "target": "xamarintestcloud.js", + "argumentFormat": "" } }, "messages": { diff --git a/Tasks/XamarinTestCloudV1/task.loc.json b/Tasks/XamarinTestCloudV1/task.loc.json index 44e908a2e504..12b5c980b298 100644 --- a/Tasks/XamarinTestCloudV1/task.loc.json +++ b/Tasks/XamarinTestCloudV1/task.loc.json @@ -13,7 +13,7 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 235, + "Minor": 238, "Patch": 2 }, "demands": [], @@ -195,6 +195,10 @@ "platforms": [ "windows" ] + }, + "Node20_1": { + "target": "xamarintestcloud.js", + "argumentFormat": "" } }, "messages": { diff --git a/_generated/CopyFilesV2.versionmap.txt b/_generated/CopyFilesV2.versionmap.txt deleted file mode 100644 index 377cd8c0e9e5..000000000000 --- a/_generated/CopyFilesV2.versionmap.txt +++ /dev/null @@ -1,2 +0,0 @@ -Default|2.231.0 -Node20-228|2.231.2 diff --git a/_generated/CopyFilesV2/Strings/resources.resjson/de-DE/resources.resjson b/_generated/CopyFilesV2/Strings/resources.resjson/de-DE/resources.resjson deleted file mode 100644 index b3392ae2b462..000000000000 --- a/_generated/CopyFilesV2/Strings/resources.resjson/de-DE/resources.resjson +++ /dev/null @@ -1,33 +0,0 @@ -{ - "loc.friendlyName": "Dateien kopieren", - "loc.helpMarkDown": "[Weitere Informationen zu dieser Aufgabe](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.description": "Hiermit werden Dateien unter Verwendung von Mustern zum Abgleich von Dateipfaden (nicht von Ordnerpfaden) aus einem Quellordner in einen Zielordner kopiert.", - "loc.instanceNameFormat": "Dateien kopieren in: $(TargetFolder)", - "loc.releaseNotes": "Übereinstimmungsmusterkonsistenz.", - "loc.group.displayName.advanced": "Erweitert", - "loc.input.label.SourceFolder": "Quellordner", - "loc.input.help.SourceFolder": "Der Quellordner, aus dem mindestens ein Kopiermuster ausgeführt wird. \"Empty\" ist der Stamm des Repositorys. Verwenden Sie [Variablen](https://go.microsoft.com/fwlink/?LinkID=550988), wenn sich Dateien nicht im Repository befinden. Beispiel: \"$(agent.builddirectory)\".", - "loc.input.label.Contents": "Inhalte", - "loc.input.help.Contents": "Dateipfade, die als Teil der Kopie eingeschlossen werden sollen. Unterstützt mehrere Zeilen von Vergleichsmustern. [Weitere Informationen](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.input.label.TargetFolder": "Zielordner", - "loc.input.help.TargetFolder": "Der Zielordner oder UNC-Pfad, in den die Dateien kopiert werden. Sie können [Variablen](http://go.microsoft.com/fwlink/?LinkID=550988) verwenden. Beispiel: \"$(build.artifactstagingdirectory)\".", - "loc.input.label.CleanTargetFolder": "Zielordner bereinigen", - "loc.input.help.CleanTargetFolder": "Alle vorhandenen Dateien im Zielordner vor dem Kopieren löschen", - "loc.input.label.OverWrite": "Überschreiben", - "loc.input.help.OverWrite": "Vorhandene Datei im Zielordner ersetzen", - "loc.input.label.flattenFolders": "Ordner vereinfachen", - "loc.input.help.flattenFolders": "Vereinfachen Sie die Ordnerstruktur, und kopieren Sie alle Dateien in den angegebenen Zielordner.", - "loc.input.label.preserveTimestamp": "Zielzeitstempel beibehalten", - "loc.input.help.preserveTimestamp": "Behalten Sie unter Verwendung der ursprüngliche Quelldatei den Zeitstempel der Zieldatei bei.", - "loc.input.label.retryCount": "Wiederholungsanzahl zum Kopieren der Datei", - "loc.input.help.retryCount": "Geben Sie die Wiederholungsanzahl an, um die Datei zu kopieren. Dies kann helfen, zeitweilige Probleme zu lösen, z. B. mit UNC-Zielpfaden auf einem Remote-Host.", - "loc.input.label.delayBetweenRetries": "Verzögerung zwischen zwei Wiederholungsversuchen.", - "loc.input.help.delayBetweenRetries": "Geben Sie die Verzögerung zwischen zwei Wiederholungsversuchen an. Möglicherweise ist es hilfreich widerstandsfähiger für intermittierende Probleme, z. B. mit UNC-Zielpfaden auf einem Remote-Host, zu sein.", - "loc.input.label.ignoreMakeDirErrors": "Ignorieren Sie Fehler beim Erstellen des Zielordners.", - "loc.input.help.ignoreMakeDirErrors": "Ignorieren Sie beim Erstellen des Zielordners auftretende Fehler. Dies kann hilfreich sein, um Probleme bei der gleichzeitigen Ausführung einer Aufgabe durch mehrere Agents mit einem Zielordner zu vermeiden.", - "loc.messages.FoundNFiles": "%d Dateien wurden gefunden.", - "loc.messages.CleaningTargetFolder": "Bereinigen des Zielordners: %s", - "loc.messages.FileAlreadyExistAt": "Die Datei \"%s\" ist bereits unter \"%s\" vorhanden.", - "loc.messages.CopyingTo": "\"%s\" wird nach \"%s\" kopiert.", - "loc.messages.TargetIsDir": "Die Datei \"%s\" kann nicht nach \"%s\" kopiert werden. Der Zielpfad ist bereits als Verzeichnis vorhanden." -} \ No newline at end of file diff --git a/_generated/CopyFilesV2/Strings/resources.resjson/en-US/resources.resjson b/_generated/CopyFilesV2/Strings/resources.resjson/en-US/resources.resjson deleted file mode 100644 index 6afc4874239d..000000000000 --- a/_generated/CopyFilesV2/Strings/resources.resjson/en-US/resources.resjson +++ /dev/null @@ -1,33 +0,0 @@ -{ - "loc.friendlyName": "Copy files", - "loc.helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.description": "Copy files from a source folder to a target folder using patterns matching file paths (not folder paths)", - "loc.instanceNameFormat": "Copy Files to: $(TargetFolder)", - "loc.releaseNotes": "Match pattern consistency.", - "loc.group.displayName.advanced": "Advanced", - "loc.input.label.SourceFolder": "Source Folder", - "loc.input.help.SourceFolder": "The source folder that the copy pattern(s) will be run from. Empty is the root of the repo. Use [variables](https://go.microsoft.com/fwlink/?LinkID=550988) if files are not in the repo. Example: $(agent.builddirectory)", - "loc.input.label.Contents": "Contents", - "loc.input.help.Contents": "File paths to include as part of the copy. Supports multiple lines of match patterns. [More Information](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.input.label.TargetFolder": "Target Folder", - "loc.input.help.TargetFolder": "Target folder or UNC path files will copy to. You can use [variables](http://go.microsoft.com/fwlink/?LinkID=550988). Example: $(build.artifactstagingdirectory)", - "loc.input.label.CleanTargetFolder": "Clean Target Folder", - "loc.input.help.CleanTargetFolder": "Delete all existing files in target folder before copy", - "loc.input.label.OverWrite": "Overwrite", - "loc.input.help.OverWrite": "Replace existing file in target folder", - "loc.input.label.flattenFolders": "Flatten Folders", - "loc.input.help.flattenFolders": "Flatten the folder structure and copy all files into the specified target folder.", - "loc.input.label.preserveTimestamp": "Preserve Target Timestamp", - "loc.input.help.preserveTimestamp": "Using the original source file, preserve the target file timestamp.", - "loc.input.label.retryCount": "Retry count to copy the file", - "loc.input.help.retryCount": "Specify the retry count to copy the file. It might help to resolve intermittent issues e.g. with UNC target paths on a remote host.", - "loc.input.label.delayBetweenRetries": "Delay between two retries.", - "loc.input.help.delayBetweenRetries": "Specify the delay between two retries. It might help to be more resilient to intermittent issues e.g. with UNC target paths on a remote host.", - "loc.input.label.ignoreMakeDirErrors": "Ignore errors during creation of target folder.", - "loc.input.help.ignoreMakeDirErrors": "Ignore errors which happen during creation of target folder. This could be useful to avoid issues with parallel execution of task by several agents with one target folder.", - "loc.messages.FoundNFiles": "found %d files", - "loc.messages.CleaningTargetFolder": "Cleaning target folder: %s", - "loc.messages.FileAlreadyExistAt": "File %s already exist at %s", - "loc.messages.CopyingTo": "Copying %s to %s", - "loc.messages.TargetIsDir": "Unable to copy file %s to %s. The target path already exists as a directory." -} \ No newline at end of file diff --git a/_generated/CopyFilesV2/Strings/resources.resjson/es-ES/resources.resjson b/_generated/CopyFilesV2/Strings/resources.resjson/es-ES/resources.resjson deleted file mode 100644 index 69a1ce11edf2..000000000000 --- a/_generated/CopyFilesV2/Strings/resources.resjson/es-ES/resources.resjson +++ /dev/null @@ -1,33 +0,0 @@ -{ - "loc.friendlyName": "Copiar archivos", - "loc.helpMarkDown": "[Obtener más información acerca de esta tarea](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.description": "Copia archivos de una carpeta de origen a una carpeta de destino mediante patrones que coinciden con las rutas de acceso de los archivos (no con las rutas de carpeta).", - "loc.instanceNameFormat": "Copiar archivos a: $(TargetFolder)", - "loc.releaseNotes": "Coherencia de los patrones de coincidencia.", - "loc.group.displayName.advanced": "Avanzado", - "loc.input.label.SourceFolder": "Carpeta de origen", - "loc.input.help.SourceFolder": "La carpeta de origen desde la que se ejecutarán los patrones de copia. La raíz del repositorio está vacía. Use [variables](https://go.microsoft.com/fwlink/?LinkID=550988) si los archivos no están en el repositorio. Ejemplo: $(agent.builddirectory)", - "loc.input.label.Contents": "Contenido", - "loc.input.help.Contents": "Rutas de acceso de archivo que se incluirán como parte de la copia. Se admiten varias líneas de patrones de coincidencia. [Más información] (https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.input.label.TargetFolder": "Carpeta de destino", - "loc.input.help.TargetFolder": "La carpeta de destino o la ruta UNC en la que se copiarán los archivos. Puede usar [variables](http://go.microsoft.com/fwlink/?LinkID=550988). Ejemplo: $(build.artifactstagingdirectory)", - "loc.input.label.CleanTargetFolder": "Borrar carpeta de destino", - "loc.input.help.CleanTargetFolder": "Eliminar todos los archivos existentes en la carpeta de destino antes de copiar", - "loc.input.label.OverWrite": "Sobrescribir", - "loc.input.help.OverWrite": "Reemplazar archivo existente en la carpeta de destino", - "loc.input.label.flattenFolders": "Acoplar carpetas", - "loc.input.help.flattenFolders": "Acople la estructura de carpeta y copie todos los archivos en la carpeta de destino especificada.", - "loc.input.label.preserveTimestamp": "Conservar la marca de tiempo de destino", - "loc.input.help.preserveTimestamp": "Al usar el archivo de código fuente original, conserve la marca de tiempo del archivo de destino.", - "loc.input.label.retryCount": "Número de reintentos para copiar el archivo", - "loc.input.help.retryCount": "Especifique el número de reintentos para copiar el archivo. Puede que ayude a resolver problemas intermitentes, por ejemplo, con rutas de acceso de destino UNC en un host remoto.", - "loc.input.label.delayBetweenRetries": "Retraso entre dos reintentos.", - "loc.input.help.delayBetweenRetries": "Especifique el retraso entre dos reintentos. Es posible que resulte más resistente a los problemas intermitentes, por ejemplo, con rutas de acceso de destino UNC en un host remoto.", - "loc.input.label.ignoreMakeDirErrors": "Omitir errores durante la creación de la carpeta de destino.", - "loc.input.help.ignoreMakeDirErrors": "Omite los errores que se producen durante la creación de la carpeta de destino. Esto puede ser útil para evitar problemas con la ejecución simultánea de tareas por parte de diversos agentes con una carpeta de destino.", - "loc.messages.FoundNFiles": "se encontraron %d archivos", - "loc.messages.CleaningTargetFolder": "Limpiando carpeta de destino: %s", - "loc.messages.FileAlreadyExistAt": "El archivo %s ya existe en %s", - "loc.messages.CopyingTo": "Copiando %s en %s", - "loc.messages.TargetIsDir": "No se puede copiar el archivo %s en %s. La ruta de acceso de destino ya existe como directorio." -} \ No newline at end of file diff --git a/_generated/CopyFilesV2/Strings/resources.resjson/fr-FR/resources.resjson b/_generated/CopyFilesV2/Strings/resources.resjson/fr-FR/resources.resjson deleted file mode 100644 index a2269a8d6c40..000000000000 --- a/_generated/CopyFilesV2/Strings/resources.resjson/fr-FR/resources.resjson +++ /dev/null @@ -1,33 +0,0 @@ -{ - "loc.friendlyName": "Copier des fichiers", - "loc.helpMarkDown": "[En savoir plus sur cette tâche](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.description": "Copier les fichiers d'un dossier source vers un dossier cible à l'aide de modèles correspondant à des chemins de fichiers (et non des chemins de dossiers)", - "loc.instanceNameFormat": "Copier les fichiers vers : $(TargetFolder)", - "loc.releaseNotes": "Cohérence du modèle de correspondance.", - "loc.group.displayName.advanced": "Avancé", - "loc.input.label.SourceFolder": "Dossier source", - "loc.input.help.SourceFolder": "Dossier source à partir duquel les modèles de copie sont exécutés. La valeur vide est la racine du référentiel. Utilisez [variables](https://go.microsoft.com/fwlink/?LinkID=550988) si les fichiers ne sont pas dans le référentiel. Exemple : $(agent.builddirectory)", - "loc.input.label.Contents": "Contenu", - "loc.input.help.Contents": "Chemins de fichiers à inclure dans le cadre de la copie. Prend en charge plusieurs lignes de modèles de correspondance. [Plus d'informations](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.input.label.TargetFolder": "Dossier cible", - "loc.input.help.TargetFolder": "Dossier cible ou chemin UNC vers lequel les fichiers sont copiés. Vous pouvez utiliser [variables](http://go.microsoft.com/fwlink/?LinkID=550988). Exemple : $(build.artifactstagingdirectory)", - "loc.input.label.CleanTargetFolder": "Effacer le dossier cible", - "loc.input.help.CleanTargetFolder": "Supprimer tous les fichiers existants dans le dossier cible avant de copier", - "loc.input.label.OverWrite": "Remplacer", - "loc.input.help.OverWrite": "Remplacer le fichier existant dans le dossier cible", - "loc.input.label.flattenFolders": "Aplatir les dossiers", - "loc.input.help.flattenFolders": "Aplatit la structure des dossiers et copie tous les fichiers dans le dossier cible spécifié.", - "loc.input.label.preserveTimestamp": "Conserver l'horodatage cible", - "loc.input.help.preserveTimestamp": "À l'aide du fichier source d'origine, conservez l'horodatage du fichier cible.", - "loc.input.label.retryCount": "Recommencer le nombre de tentatives pour copier le fichier", - "loc.input.help.retryCount": "Spécifiez le nombre d’tentatives pour copier le fichier. Il peut être utile de résoudre les problèmes intermittents par exemple, avec les chemins d’accès cibles UNC sur un hôte distant.", - "loc.input.label.delayBetweenRetries": "Délai entre deux nouvelles tentatives.", - "loc.input.help.delayBetweenRetries": "Spécifiez le délai entre deux tentatives. Cela peut contribuer à améliorer la résilience aux problèmes intermittents, par exemple avec les chemins d’améliorer cibles UNC sur un hôte distant.", - "loc.input.label.ignoreMakeDirErrors": "Ignorer les erreurs lors de la création d’un dossier cible.", - "loc.input.help.ignoreMakeDirErrors": "Ignore les erreurs survenues lors de la création d’un dossier cible. Cela peut être utile pour éviter les problèmes avec l’exécution en parallèle de tâches par plusieurs agents avec un dossier cible.", - "loc.messages.FoundNFiles": "%d fichiers trouvés", - "loc.messages.CleaningTargetFolder": "Nettoyage du dossier cible : %s", - "loc.messages.FileAlreadyExistAt": "Le fichier %s existe déjà sur %s", - "loc.messages.CopyingTo": "Copie de %s vers %s", - "loc.messages.TargetIsDir": "Impossible de copier le fichier %s dans %s. Le chemin cible existe déjà sous forme de répertoire." -} \ No newline at end of file diff --git a/_generated/CopyFilesV2/Strings/resources.resjson/it-IT/resources.resjson b/_generated/CopyFilesV2/Strings/resources.resjson/it-IT/resources.resjson deleted file mode 100644 index cd254747abbc..000000000000 --- a/_generated/CopyFilesV2/Strings/resources.resjson/it-IT/resources.resjson +++ /dev/null @@ -1,33 +0,0 @@ -{ - "loc.friendlyName": "Copia file", - "loc.helpMarkDown": "[Altre informazioni su questa attività](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.description": "Copia i file da una cartella di origine a una cartella di destinazione usando criteri corrispondenti a percorsi di file (non percorsi di cartella)", - "loc.instanceNameFormat": "Copia file in: $(TargetFolder)", - "loc.releaseNotes": "Coerenza dei criteri di corrispondenza.", - "loc.group.displayName.advanced": "Avanzate", - "loc.input.label.SourceFolder": "Cartella di origine", - "loc.input.help.SourceFolder": "Cartella di origine da cui verranno eseguiti i criteri di copia. Il valore vuoto corrisponde alla radice del repository. Usare [variabili](https://go.microsoft.com/fwlink/?LinkID=550988) se i file non sono presenti nel repository. Esempio: $(agent.builddirectory)", - "loc.input.label.Contents": "Contenuti", - "loc.input.help.Contents": "Percorsi di file da includere nella copia. Sono supportate più righe di criteri di corrispondenza. [Altre informazioni](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.input.label.TargetFolder": "Cartella di destinazione", - "loc.input.help.TargetFolder": "Cartella di destinazione o percorso UNC in cui verranno copiati i file. È possibile usare [variabili](http://go.microsoft.com/fwlink/?LinkID=550988). Esempio: $(build.artifactstagingdirectory)", - "loc.input.label.CleanTargetFolder": "Pulisci cartella di destinazione", - "loc.input.help.CleanTargetFolder": "Elimina tutti i file esistenti nella cartella di destinazione prima della copia", - "loc.input.label.OverWrite": "Sovrascrivi", - "loc.input.help.OverWrite": "Sostituisce il file esistente nella cartella di destinazione", - "loc.input.label.flattenFolders": "Rendi flat le cartelle", - "loc.input.help.flattenFolders": "Rende flat la struttura di cartelle e copia tutti i file nella cartella di destinazione specificata.", - "loc.input.label.preserveTimestamp": "Mantieni timestamp di destinazione", - "loc.input.help.preserveTimestamp": "Quando si usa il file di origine iniziale, mantiene il timestamp del file di destinazione.", - "loc.input.label.retryCount": "Numero di tentativi eseguiti per copiare il file", - "loc.input.help.retryCount": "Specificare il numero di tentativi eseguiti per copiare il file. Ciò potrebbe aiutare a risolvere i problemi intermittenti, ad esempio nei percorsi di destinazione UNC su un host remoto.", - "loc.input.label.delayBetweenRetries": "Ritardo tra due tentativi.", - "loc.input.help.delayBetweenRetries": "Specifica il ritardo tra due tentativi. Potrebbe essere utile per una maggiore resilienza a problemi intermittenti, ad esempio quelli relativi a percorsi di destinazione UNC in un host remoto.", - "loc.input.label.ignoreMakeDirErrors": "Ignorare gli errori durante la creazione della cartella di destinazione.", - "loc.input.help.ignoreMakeDirErrors": "Ignorare gli errori che si verificano durante la creazione della cartella di destinazione. Questa operazione potrebbe essere utile per evitare problemi di esecuzione parallela dell'attività da parte di diversi agenti con una cartella di destinazione.", - "loc.messages.FoundNFiles": "sono stati trovati %d file", - "loc.messages.CleaningTargetFolder": "Pulizia della cartella di destinazione: %s", - "loc.messages.FileAlreadyExistAt": "Il file %s esiste già in %s", - "loc.messages.CopyingTo": "Copia di %s in %s", - "loc.messages.TargetIsDir": "Non è possibile copiare il file %s in %s. Il percorso di destinazione esiste già come directory." -} \ No newline at end of file diff --git a/_generated/CopyFilesV2/Strings/resources.resjson/ja-JP/resources.resjson b/_generated/CopyFilesV2/Strings/resources.resjson/ja-JP/resources.resjson deleted file mode 100644 index 4460b173de99..000000000000 --- a/_generated/CopyFilesV2/Strings/resources.resjson/ja-JP/resources.resjson +++ /dev/null @@ -1,33 +0,0 @@ -{ - "loc.friendlyName": "ファイルのコピー", - "loc.helpMarkDown": "[このタスクの詳細を表示](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.description": "パターン マッチングのファイル パス (フォルダー パスではない) を使用して、ソース フォルダーからターゲット フォルダーにファイルをコピーします", - "loc.instanceNameFormat": "ファイルのコピー先: $(TargetFolder)", - "loc.releaseNotes": "パターンの整合性を一致させます。", - "loc.group.displayName.advanced": "詳細設定", - "loc.input.label.SourceFolder": "ソース フォルダー", - "loc.input.help.SourceFolder": "コピー パターンの実行元のソース フォルダー。空白はリポジトリのルートです。ファイルがリポジトリにない場合は、[変数](https://go.microsoft.com/fwlink/?LinkID=550988) を使用します。例: $(agent.builddirectory)", - "loc.input.label.Contents": "コンテンツ", - "loc.input.help.Contents": "コピーの一部として含むファイル パス。複数行の一致パターンをサポートします。[詳細](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.input.label.TargetFolder": "ターゲット フォルダー", - "loc.input.help.TargetFolder": "ファイルをコピーするターゲット フォルダーまたは UNC パス。[変数](http://go.microsoft.com/fwlink/?LinkID=550988) を使用できます。例: $(build.artifactstagingdirectory)", - "loc.input.label.CleanTargetFolder": "ターゲット フォルダーの消去", - "loc.input.help.CleanTargetFolder": "コピーする前にターゲット フォルダーにある既存のファイルをすべて削除する", - "loc.input.label.OverWrite": "上書き", - "loc.input.help.OverWrite": "ターゲット フォルダー内の既存のファイルを置き換える", - "loc.input.label.flattenFolders": "フォルダーのフラット化", - "loc.input.help.flattenFolders": "フォルダー構造をフラットにして、すべてのファイルを指定のターゲット フォルダーにコピーします。", - "loc.input.label.preserveTimestamp": "ターゲットのタイムスタンプの保持", - "loc.input.help.preserveTimestamp": "元のソース ファイルを使用して、ターゲット ファイルのタイムスタンプを保持します。", - "loc.input.label.retryCount": "ファイル コピーの再試行回数", - "loc.input.help.retryCount": "ファイルをコピーする再試行回数を指定します。リモート ホスト上の UNC ターゲット パスなど、断続的な問題を解決するのに役立つ可能性があります。", - "loc.input.label.delayBetweenRetries": "2 回の再試行の間の遅延。", - "loc.input.help.delayBetweenRetries": "2 回の再試行の間の遅延を指定してください。断続的な問題に対してはさらに回復性を高めると役立つかもしれません (例: リモート ホストでの UNC ターゲット パスなど)。", - "loc.input.label.ignoreMakeDirErrors": "ターゲット フォルダーの作成中に発生したエラーを無視します。", - "loc.input.help.ignoreMakeDirErrors": "ターゲット フォルダーの作成中に発生するエラーを無視します。これは、1 つのターゲット フォルダーで複数のエージェントによるタスクの並列実行に関する問題を回避するために役立ちます。", - "loc.messages.FoundNFiles": "%d 件のファイルが見つかりました", - "loc.messages.CleaningTargetFolder": "ターゲット フォルダーをクリーンアップ中: %s", - "loc.messages.FileAlreadyExistAt": "ファイル %s は %s に既に存在しています", - "loc.messages.CopyingTo": "%s を %s にコピー中", - "loc.messages.TargetIsDir": "ファイル %s を %s にコピーできません。ターゲット パスはディレクトリとして既に存在します。" -} \ No newline at end of file diff --git a/_generated/CopyFilesV2/Strings/resources.resjson/ko-KR/resources.resjson b/_generated/CopyFilesV2/Strings/resources.resjson/ko-KR/resources.resjson deleted file mode 100644 index 8fb6be7e6859..000000000000 --- a/_generated/CopyFilesV2/Strings/resources.resjson/ko-KR/resources.resjson +++ /dev/null @@ -1,33 +0,0 @@ -{ - "loc.friendlyName": "파일 복사", - "loc.helpMarkDown": "[이 작업에 대한 자세한 정보](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.description": "패턴 일치 파일 경로(폴더 경로 아님)를 사용하여 소스 폴더에서 대상 폴더로 파일을 복사합니다.", - "loc.instanceNameFormat": "파일을 복사할 위치: $(TargetFolder)", - "loc.releaseNotes": "일치 패턴 일관성입니다.", - "loc.group.displayName.advanced": "고급", - "loc.input.label.SourceFolder": "소스 폴더", - "loc.input.help.SourceFolder": "사본 패턴이 실행될 소스 폴더입니다. 리포지토리의 루트는 [비어 있음]입니다. 파일이 리포지토리에 없으면 [변수](https://go.microsoft.com/fwlink/?LinkID=550988)를 사용하세요. 예: $(agent.builddirectory)", - "loc.input.label.Contents": "콘텐츠", - "loc.input.help.Contents": "복사의 일부로 포함할 파일 경로입니다. 여러 줄의 일치 패턴을 지원합니다. [자세한 정보](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.input.label.TargetFolder": "대상 폴더", - "loc.input.help.TargetFolder": "파일이 복사될 대상 폴더 또는 UNC 경로입니다. [변수](http://go.microsoft.com/fwlink/?LinkID=550988)를 사용할 수 있습니다. 예: $(build.artifactstagingdirectory)", - "loc.input.label.CleanTargetFolder": "대상 폴더 정리", - "loc.input.help.CleanTargetFolder": "복사 전 대상 폴더에서 기존 파일 모두 삭제", - "loc.input.label.OverWrite": "덮어쓰기", - "loc.input.help.OverWrite": "대상 폴더에서 기존 파일 바꾸기", - "loc.input.label.flattenFolders": "폴더 평면화", - "loc.input.help.flattenFolders": "폴더 구조를 평면화하고 모든 파일을 지정된 대상 폴더에 복사합니다.", - "loc.input.label.preserveTimestamp": "대상 타임스탬프 유지", - "loc.input.help.preserveTimestamp": "원본 소스 파일을 사용하여 대상 파일 타임스탬프를 유지합니다.", - "loc.input.label.retryCount": "파일 복사 재시도 횟수", - "loc.input.help.retryCount": "파일을 복사하려면 재시도 횟수를 지정합니다. 원격 호스트의 UNC 대상 경로와 같은 간헐적인 문제를 해결하는 데 도움이 될 수 있습니다.", - "loc.input.label.delayBetweenRetries": "두 번의 재시도 사이의 지연 시간입니다.", - "loc.input.help.delayBetweenRetries": "두 번의 재시도 사이의 지연을 지정합니다. 간헐적인 문제에 더 탄력적으로 대처하는 데 도움이 될 수 있습니다(예: 원격 호스트의 UNC 대상 경로 문제).", - "loc.input.label.ignoreMakeDirErrors": "대상 폴더를 만드는 동안 발생하는 오류를 무시하세요.", - "loc.input.help.ignoreMakeDirErrors": "대상 폴더를 만드는 동안 발생하는 오류를 무시하세요. 이 기능은 대상 폴더가 하나인 여러 에이전트의 병렬 작업 실행과 관련된 문제를 방지하는 데 유용할 수 있습니다.", - "loc.messages.FoundNFiles": "%d개 파일을 찾았습니다.", - "loc.messages.CleaningTargetFolder": "대상 폴더 정리: %s", - "loc.messages.FileAlreadyExistAt": "%s 파일이 %s에 이미 있습니다.", - "loc.messages.CopyingTo": "%s을(를) %s(으)로 복사하는 중", - "loc.messages.TargetIsDir": "%s 파일을 %s에 복사할 수 없습니다. 대상 경로가 이미 디렉터리로 있습니다." -} \ No newline at end of file diff --git a/_generated/CopyFilesV2/Strings/resources.resjson/ru-RU/resources.resjson b/_generated/CopyFilesV2/Strings/resources.resjson/ru-RU/resources.resjson deleted file mode 100644 index 0ecbbb8adee7..000000000000 --- a/_generated/CopyFilesV2/Strings/resources.resjson/ru-RU/resources.resjson +++ /dev/null @@ -1,33 +0,0 @@ -{ - "loc.friendlyName": "Копировать файлы", - "loc.helpMarkDown": "[См. дополнительные сведения об этой задаче](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.description": "Копировать файлы из исходной папки в целевую с использованием шаблонов, соответствующих путям файлов (не путям к папкам)", - "loc.instanceNameFormat": "Копировать файлы в: $(TargetFolder)", - "loc.releaseNotes": "Согласованность шаблонов соответствия.", - "loc.group.displayName.advanced": "Дополнительно", - "loc.input.label.SourceFolder": "Исходная папка", - "loc.input.help.SourceFolder": "Исходная папка, откуда будут запускаться шаблоны копирования. Если значение не указано, используется корень репозитория. Используйте [переменные](https://go.microsoft.com/fwlink/?LinkID=550988), если файлы находятся не в репозитории. Например: $(agent.builddirectory)", - "loc.input.label.Contents": "Содержимое", - "loc.input.help.Contents": "Пути к файлам, которые будут включены в операцию копирования. Есть поддержка многострочных шаблонов сопоставления. [Подробнее...](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.input.label.TargetFolder": "Целевая папка", - "loc.input.help.TargetFolder": "Целевая папка или UNC-путь для копирования файлов. Можно использовать [переменные](http://go.microsoft.com/fwlink/?LinkID=550988). Например: $(build.artifactstagingdirectory)", - "loc.input.label.CleanTargetFolder": "Очистить целевую папку", - "loc.input.help.CleanTargetFolder": "Удалить все существующие файлы в целевой папке перед копированием", - "loc.input.label.OverWrite": "Перезаписать", - "loc.input.help.OverWrite": "Заменить существующий файл в целевой папке", - "loc.input.label.flattenFolders": "Выполнить сведение папок", - "loc.input.help.flattenFolders": "Выполнение сведения структуры папок и копирование всех файлов в указанную целевую папку.", - "loc.input.label.preserveTimestamp": "Сохранить целевую метку времени", - "loc.input.help.preserveTimestamp": "Используя оригинальный исходный файл, сохраните метку времени целевого файла.", - "loc.input.label.retryCount": "Число повторных попыток копировать файл", - "loc.input.help.retryCount": "Укажите число повторных попыток копировать файл. Это может помочь в устранении временных проблем, например с целевыми UNC-путями на удаленном узле.", - "loc.input.label.delayBetweenRetries": "Задержка между двумя попытками.", - "loc.input.help.delayBetweenRetries": "Укажите задержку между двумя попытками. Это может повысить устойчивость к периодическим проблемам, например с целевыми путями UNC на удаленном узле.", - "loc.input.label.ignoreMakeDirErrors": "Игнорировать ошибки при создании целевой папки.", - "loc.input.help.ignoreMakeDirErrors": "Игнорируйте ошибки, возникающие при создании целевой папки. Это может позволить избежать проблем с параллельным выполнением задачи несколькими агентами с одной целевой папкой.", - "loc.messages.FoundNFiles": "найдено файлов: %d", - "loc.messages.CleaningTargetFolder": "Очистка целевого каталога: %s", - "loc.messages.FileAlreadyExistAt": "Файл \"%s\" уже существует в \"%s\"", - "loc.messages.CopyingTo": "Копирование \"%s\" в \"%s\"", - "loc.messages.TargetIsDir": "Не удалось скопировать файл %s в %s. Путь назначения уже существует в виде каталога." -} \ No newline at end of file diff --git a/_generated/CopyFilesV2/Strings/resources.resjson/zh-CN/resources.resjson b/_generated/CopyFilesV2/Strings/resources.resjson/zh-CN/resources.resjson deleted file mode 100644 index b9d813ebe4f0..000000000000 --- a/_generated/CopyFilesV2/Strings/resources.resjson/zh-CN/resources.resjson +++ /dev/null @@ -1,33 +0,0 @@ -{ - "loc.friendlyName": "复制文件", - "loc.helpMarkDown": "[详细了解此任务](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.description": "使用与文件路径(不是文件夹路径)匹配的模式将源文件夹中的文件复制到目标文件夹", - "loc.instanceNameFormat": "将文件复制到: $(TargetFolder)", - "loc.releaseNotes": "匹配模式一致性。", - "loc.group.displayName.advanced": "高级", - "loc.input.label.SourceFolder": "源文件夹", - "loc.input.help.SourceFolder": "将在其中运行复制模式的源文件夹。为空表示存储库的根。如果存储库中没有文件,请使用[变量](https://go.microsoft.com/fwlink/?LinkID=550988)。示例: $(agent.builddirectory)", - "loc.input.label.Contents": "内容", - "loc.input.help.Contents": "要包含在副本中的文件路径。支持多行匹配模式。[详细信息](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.input.label.TargetFolder": "目标文件夹", - "loc.input.help.TargetFolder": "文件将复制到的目标文件夹或 UNC 路径。可以使用 [variables](http://go.microsoft.com/fwlink/?LinkID=550988)。示例: $(build.artifactstagingdirectory)", - "loc.input.label.CleanTargetFolder": "清理目标文件夹", - "loc.input.help.CleanTargetFolder": "复制之前,先删除目标文件夹中的现有全部文件", - "loc.input.label.OverWrite": "覆盖", - "loc.input.help.OverWrite": "替换目标文件夹中的现有文件", - "loc.input.label.flattenFolders": "精简文件夹", - "loc.input.help.flattenFolders": "平展文件夹结构并将所有文件复制到指定的目标文件夹。", - "loc.input.label.preserveTimestamp": "保留目标时间戳", - "loc.input.help.preserveTimestamp": "使用原始源文件,保留目标文件时间戳。", - "loc.input.label.retryCount": "复制该文件的重试计数", - "loc.input.help.retryCount": "指定复制该文件的重试计数。它可以帮助解决间歇性问题,例如远程主机上的 UNC 目标路径的问题。", - "loc.input.label.delayBetweenRetries": "两次重试之间的延迟。", - "loc.input.help.delayBetweenRetries": "指定两次重试之间的延迟。这可能有助于更灵活地应对间歇性问题,例如远程主机上的 UNC 目标路径。", - "loc.input.label.ignoreMakeDirErrors": "在创建目标文件夹期间忽略错误。", - "loc.input.help.ignoreMakeDirErrors": "忽略创建目标文件夹期间发生的错误。这有助于避免由具有一个目标文件夹的多个代理并行执行任务的问题。", - "loc.messages.FoundNFiles": "已找到 %d 个文件", - "loc.messages.CleaningTargetFolder": "正在清理目标文件夹: %s", - "loc.messages.FileAlreadyExistAt": "文件 %s 已存在于 %s", - "loc.messages.CopyingTo": "正在将 %s 复制到 %s", - "loc.messages.TargetIsDir": "无法将文件 %s 复制到 %s。目标路径已作为目录存在。" -} \ No newline at end of file diff --git a/_generated/CopyFilesV2/Strings/resources.resjson/zh-TW/resources.resjson b/_generated/CopyFilesV2/Strings/resources.resjson/zh-TW/resources.resjson deleted file mode 100644 index 52c4e6abbe42..000000000000 --- a/_generated/CopyFilesV2/Strings/resources.resjson/zh-TW/resources.resjson +++ /dev/null @@ -1,33 +0,0 @@ -{ - "loc.friendlyName": "複製檔案", - "loc.helpMarkDown": "[深入了解此工作](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.description": "使用模式比對檔案路徑 (非資料夾路徑) 從來源資料夾將檔案複製到目標資料夾", - "loc.instanceNameFormat": "將檔案複製到: $(TargetFolder)", - "loc.releaseNotes": "符合模式一致性。", - "loc.group.displayName.advanced": "進階", - "loc.input.label.SourceFolder": "來源資料夾", - "loc.input.help.SourceFolder": "複製模式執行所在的來源資料夾。保留空白表示是存放庫的根資料夾。若檔案不在存放庫中,請使用 [變數](https://go.microsoft.com/fwlink/?LinkID=550988)。例如: $(agent.builddirectory)", - "loc.input.label.Contents": "內容", - "loc.input.help.Contents": "要在複製時一併加入的檔案路徑。支援多行的比對模式。[詳細資訊](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.input.label.TargetFolder": "目標資料夾", - "loc.input.help.TargetFolder": "設定要複製檔案的目標資料夾或 UNC 路徑。您可以使用[變數](http://go.microsoft.com/fwlink/?LinkID=550988)。例如: $(build.artifactstagingdirectory)", - "loc.input.label.CleanTargetFolder": "清除目標資料夾", - "loc.input.help.CleanTargetFolder": "複製前先刪除目標資料夾中所有現有的檔案", - "loc.input.label.OverWrite": "覆寫", - "loc.input.help.OverWrite": "取代目標資料夾中現有的檔案", - "loc.input.label.flattenFolders": "壓平合併資料夾", - "loc.input.help.flattenFolders": "壓平合併資料夾結構並將所有檔案複製到指定的目標資料夾。", - "loc.input.label.preserveTimestamp": "保留目標時間戳記", - "loc.input.help.preserveTimestamp": "正在使用原始來源檔案,保留目標檔案時間戳記。", - "loc.input.label.retryCount": "要複製檔案的重試計數", - "loc.input.help.retryCount": "指定要複製檔案的重試計數。這可能有助於解決間歇性問題,例如在遠端主機上使用 UNC 目標路徑。", - "loc.input.label.delayBetweenRetries": "兩次重試之間的延遲。", - "loc.input.help.delayBetweenRetries": "指定兩次重試之間的延遲。它可能有助於對間歇性問題保持彈性,例如在遠端主機上使用 UNC 目標路徑。", - "loc.input.label.ignoreMakeDirErrors": "在建立目標資料夾期間,略過錯誤。", - "loc.input.help.ignoreMakeDirErrors": "在建立目標資料夾期間,略過錯誤。這可能有助於避免多個代理程式與一個目標資料夾平行執行工作的問題。", - "loc.messages.FoundNFiles": "找到 %d 個檔案", - "loc.messages.CleaningTargetFolder": "正在刪除目標資料夾: %s", - "loc.messages.FileAlreadyExistAt": "檔案 %s 已存在於 %s 上", - "loc.messages.CopyingTo": "正在將 %s 複製到 %s", - "loc.messages.TargetIsDir": "無法將檔案 %s 複製到 %s。目標路徑已作為目錄存在。" -} \ No newline at end of file diff --git a/_generated/CopyFilesV2/Tests/L0.ts b/_generated/CopyFilesV2/Tests/L0.ts deleted file mode 100644 index dfe3095fe63f..000000000000 --- a/_generated/CopyFilesV2/Tests/L0.ts +++ /dev/null @@ -1,436 +0,0 @@ -import * as assert from 'assert'; -import * as mocktest from 'azure-pipelines-task-lib/mock-test'; -import * as os from 'os'; -import * as path from 'path'; - -describe('CopyFiles L0 Suite', function () { - this.timeout(parseInt(process.env.TASK_TEST_TIMEOUT) || 20000); - - before(() => { }); - - after(() => { }); - - it('copy files from srcdir to destdir', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0copyAllFiles.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert( - runner.succeeded, - 'should have succeeded'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir')}`), - 'should have mkdirP destDir'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir/someOtherDir')}`), - 'should have mkdirP someOtherDir'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir/someOtherDir2')}`), - 'should have mkdirP someOtherDir2'); - assert( - !runner.stdOutContained(`creating path: ${path.normalize('/destDir/someOtherDir3')}`), - 'should not have mkdirP someOtherDir3'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file1.file')} to ${path.normalize('/destDir/someOtherDir/file1.file')}`), - 'should have copied dir1 file1'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file2.file')} to ${path.normalize('/destDir/someOtherDir/file2.file')}`), - 'should have copied dir1 file2'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir2/file1.file')} to ${path.normalize('/destDir/someOtherDir2/file1.file')}`), - 'should have copied dir2 file1'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir2/file2.file')} to ${path.normalize('/destDir/someOtherDir2/file2.file')}`), - 'should have copied dir2 file2'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir2/file3.file')} to ${path.normalize('/destDir/someOtherDir2/file3.file')}`), - 'should have copied dir2 file3'); - done(); - }); - - it('copy files from srcdir to destdir with brackets in src path', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0copyAllFilesWithBracketsInSrcPath.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert( - runner.succeeded, - 'should have succeeded'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir')}`), - 'should have mkdirP destDir'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir/someOtherDir')}`), - 'should have mkdirP someOtherDir'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir/someOtherDir2')}`), - 'should have mkdirP someOtherDir2'); - assert( - !runner.stdOutContained(`creating path: ${path.normalize('/destDir/someOtherDir3')}`), - 'should not have mkdirP someOtherDir3'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir [bracket]/someOtherDir/file1.file')} to ${path.normalize('/destDir/someOtherDir/file1.file')}`), - 'should have copied dir1 file1'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir [bracket]/someOtherDir/file2.file')} to ${path.normalize('/destDir/someOtherDir/file2.file')}`), - 'should have copied dir1 file2'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir [bracket]/someOtherDir2/file1.file')} to ${path.normalize('/destDir/someOtherDir2/file1.file')}`), - 'should have copied dir2 file1'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir [bracket]/someOtherDir2/file2.file')} to ${path.normalize('/destDir/someOtherDir2/file2.file')}`), - 'should have copied dir2 file2'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir [bracket]/someOtherDir2/file3.file')} to ${path.normalize('/destDir/someOtherDir2/file3.file')}`), - 'should have copied dir2 file3'); - done(); - }); - - it('copy files and subtract based on exclude pattern', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0copySubtractExclude.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert( - runner.succeeded, - 'should have succeeded'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir')}`), - 'should have mkdirP destDir'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir/someOtherDir')}`), - 'should have mkdirP someOtherDir'); - assert( - !runner.stdOutContained(`creating path: ${path.normalize('/destDir/someOtherDir2')}`), - 'should not have mkdirP someOtherDir2'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file1.file')} to ${path.normalize('/destDir/someOtherDir/file1.file')}`), - 'should have copied dir1 file1'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file2.file')} to ${path.normalize('/destDir/someOtherDir/file2.file')}`), - 'should have copied dir1 file2'); - assert( - !runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir2/file1.file')} to ${path.normalize('/destDir/someOtherDir2/file1.file')}`), - 'should not have copied dir2 file1'); - done(); - }); - - it('fails if Contents not set', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0failsIfContentsNotSet.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert(runner.failed, 'should have failed'); - assert(runner.createdErrorIssue('Error: Input required: Contents'), 'should have created error issue'); - done(); - }); - - it('fails if SourceFolder not set', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0failsIfSourceFolderNotSet.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert(runner.failed, 'should have failed'); - assert(runner.createdErrorIssue('Error: Input required: SourceFolder'), 'should have created error issue'); - done(); - }); - - it('fails if TargetFolder not set', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0failsIfTargetFolderNotSet.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert(runner.failed, 'should have failed'); - assert(runner.createdErrorIssue('Error: Input required: TargetFolder'), 'should have created error issue'); - done(); - }); - - it('fails if SourceFolder not found', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0failsIfSourceFolderNotFound.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert(runner.failed, 'should have failed'); - assert(runner.createdErrorIssue(`Error: Not found ${path.normalize('/srcDir')}`), 'should have created error issue'); - done(); - }); - - it('fails if target file is a directory', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0failsIfTargetFileIsDir.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert(runner.failed, 'should have failed'); - assert(runner.createdErrorIssue(`Error: loc_mock_TargetIsDir ${path.normalize('/srcDir/someOtherDir/file1.file')} ${path.normalize('/destDir/someOtherDir/file1.file')}`), 'should have created error issue'); - done(); - }); - - it('skips if exists', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0skipsIfExists.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert( - runner.succeeded, - 'should have succeeded'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir')}`), - 'should have mkdirP destDir'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir/someOtherDir')}`), - 'should have mkdirP someOtherDir'); - assert( - !runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file1.file')} to ${path.normalize('/destDir/someOtherDir/file1.file')}`), - 'should not have copied file1'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file2.file')} to ${path.normalize('/destDir/someOtherDir/file2.file')}`), - 'should have copied file2'); - done(); - }); - - it('overwrites if specified', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0overwritesIfSpecified.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert( - runner.succeeded, - 'should have succeeded'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir')}`), - 'should have mkdirP destDir'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir/someOtherDir')}`), - 'should have mkdirP someOtherDir'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file1.file')} to ${path.normalize('/destDir/someOtherDir/file1.file')}`), - 'should have copied file1'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file2.file')} to ${path.normalize('/destDir/someOtherDir/file2.file')}`), - 'should have copied file2'); - done(); - }); - - it('preserves timestamp if specified', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0preservesTimestampIfSpecified.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert( - runner.succeeded, - 'should have succeeded'); - assert( - runner.stdOutContained(`Calling fs.utimes on ${path.normalize('/destDir')}`), - 'should have copied timestamp'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir')}`), - 'should have mkdirP destDir'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir/someOtherDir')}`), - 'should have mkdirP someOtherDir'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file1.file')} to ${path.normalize('/destDir/someOtherDir/file1.file')}`), - 'should have copied file1'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file2.file')} to ${path.normalize('/destDir/someOtherDir/file2.file')}`), - 'should have copied file2'); - done(); - }); - - it('cleans if specified', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0cleansIfSpecified.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert( - runner.succeeded, - 'should have succeeded'); - assert( - runner.stdOutContained(`rmRF ${path.normalize('/destDir/clean-subDir')}`), - 'should have cleaned destDir/clean-subDir'); - assert( - runner.stdOutContained(`rmRF ${path.normalize('/destDir/clean-file.txt')}`), - 'should have cleaned destDir/clean-file.txt'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir')}`), - 'should have mkdirP destDir'); - assert( - runner.stdOutContained(`creating path: ${path.join('/destDir', 'someOtherDir')}`), - 'should have mkdirP someOtherDir'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file1.file')} to ${path.normalize('/destDir/someOtherDir/file1.file')}`), - 'should have copied file1'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file2.file')} to ${path.normalize('/destDir/someOtherDir/file2.file')}`), - 'should have copied file2'); - done(); - }); - - it("skips cleaning when destination folder doesn't exist", (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0cleansIfSpecifiedAndDestDoesntExist.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - // This will fail if stat is called with throwEnoent=true - assert( - runner.succeeded, - 'should have succeeded'); - assert( - !runner.stdOutContained(`rmRF ${path.normalize('/destDir/clean-subDir')}`), - 'should have skipped cleaning non-existent directory'); - assert( - !runner.stdOutContained(`rmRF ${path.normalize('/destDir/clean-file.txt')}`), - 'should have skipped cleaning non-existent directory'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir')}`), - 'should have mkdirP destDir'); - assert( - runner.stdOutContained(`creating path: ${path.join('/destDir', 'someOtherDir')}`), - 'should have mkdirP someOtherDir'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file1.file')} to ${path.normalize('/destDir/someOtherDir/file1.file')}`), - 'should have copied file1'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file2.file')} to ${path.normalize('/destDir/someOtherDir/file2.file')}`), - 'should have copied file2'); - done(); - }); - - it('cleans if specified and target is file', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0cleansIfSpecifiedAndTargetIsFile.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert( - runner.succeeded, - 'should have succeeded'); - assert( - runner.stdOutContained(`rmRF ${path.normalize('/destDir')}`), - 'should have cleaned destDir'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir')}`), - 'should have mkdirP destDir'); - assert( - runner.stdOutContained(`creating path: ${path.join('/destDir', 'someOtherDir')}`), - 'should have mkdirP someOtherDir'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file1.file')} to ${path.normalize('/destDir/someOtherDir/file1.file')}`), - 'should have copied file1'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file2.file')} to ${path.normalize('/destDir/someOtherDir/file2.file')}`), - 'should have copied file2'); - done(); - }); - - it('roots patterns', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0rootsPatterns.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert( - runner.succeeded, - 'should have succeeded'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file1.file')} to ${path.normalize('/destDir/someOtherDir/file1.file')}`), - 'should have copied file1'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file2.file')} to ${path.normalize('/destDir/someOtherDir/file2.file')}`), - 'should have copied file2'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir2/file2.file')} to ${path.normalize('/destDir/someOtherDir2/file2.file')}`), - 'should have copied file1'); - done(); - }); - - it('ignores errors during target folder creation if ignoreMakeDirErrors is true', (done: Mocha.Done) => { - let testPath = path.join(__dirname, 'L0IgnoresMakeDirError.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert( - runner.succeeded, - 'should have succeeded'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file1.file')} to ${path.normalize('/destDir/someOtherDir/file1.file')}`), - 'should have copied file1'); - - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file2.file')} to ${path.normalize('/destDir/someOtherDir/file2.file')}`), - 'should have copied file2'); - done(); - }); - - it('fails if there are errors during target folder creation if ignoreMakeDirErrors is false', (done: Mocha.Done) => { - let testPath = path.join(__dirname, 'L0FailsIfThereIsMkdirError.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert( - runner.failed, - 'should have failed'); - done(); - }); - - if (process.platform == 'win32') { - it('overwrites readonly', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0overwritesReadonly.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert( - runner.succeeded, - 'should have succeeded'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir')}`), - 'should have mkdirP destDir'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir/someOtherDir')}`), - 'should have mkdirP someOtherDir'); - assert( - runner.stdOutContained(`chmodSync ${path.normalize('/destDir/someOtherDir/file1.file')} ${(6 << 6) + (6 << 3) + 6}`), // rw-rw-rw- - 'should have chmod file1'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file1.file')} to ${path.normalize('/destDir/someOtherDir/file1.file')}`), - 'should have copied file1'); - assert( - !runner.stdOutContained(`chmodSync ${path.normalize('/destDir/someOtherDir/file2.file')} ${(6 << 6) + (6 << 3) + 6}`), // rw-rw-rw- - 'should not have chmod file2'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file2.file')} to ${path.normalize('/destDir/someOtherDir/file2.file')}`), - 'should have copied file2'); - done(); - }); - } -}); diff --git a/_generated/CopyFilesV2/Tests/L0BrokenSymlinksAllowed.ts b/_generated/CopyFilesV2/Tests/L0BrokenSymlinksAllowed.ts deleted file mode 100644 index 195ea0543da9..000000000000 --- a/_generated/CopyFilesV2/Tests/L0BrokenSymlinksAllowed.ts +++ /dev/null @@ -1,33 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, - find: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -runner.setAnswers(answers); - - -runner.registerMockExport('find', (itemPath: string, options: any) => { - if(!options.allowBrokenSymbolicLinks) { - throw new Error(""); - } - - return ['/srcDir/file1']; -}); - -// as a precaution, disable fs.chmodSync. it should not be called during this scenario. -fs.chmodSync = null; -runner.registerMock('fs', fs); - -runner.run(); diff --git a/_generated/CopyFilesV2/Tests/L0FailsIfThereIsMkdirError.ts b/_generated/CopyFilesV2/Tests/L0FailsIfThereIsMkdirError.ts deleted file mode 100644 index a0b08a051a61..000000000000 --- a/_generated/CopyFilesV2/Tests/L0FailsIfThereIsMkdirError.ts +++ /dev/null @@ -1,66 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('ignoreMakeDirErrors', 'false'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, - find: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -answers.find[path.normalize('/srcDir')] = [ - path.normalize('/srcDir'), - path.normalize('/srcDir/someOtherDir'), - path.normalize('/srcDir/someOtherDir/file1.file'), - path.normalize('/srcDir/someOtherDir/file2.file'), -]; -runner.setAnswers(answers); - -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - itemStats.isDirectory = () => true; - break; - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - itemStats.isDirectory = () => false; - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - // as a precaution, disable fs.chmodSync. it should not be called during this scenario. - chmodSync(p: fs.PathLike, mode: fs.Mode): void {} -}); - -runner.registerMockExport('mkdirP', (p: string) => { - console.log(`mkdirP: ${p}`); - - throw "Error during creation of target folder." -}); - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2/Tests/L0IgnoresMakeDirError.ts b/_generated/CopyFilesV2/Tests/L0IgnoresMakeDirError.ts deleted file mode 100644 index 7d2126885308..000000000000 --- a/_generated/CopyFilesV2/Tests/L0IgnoresMakeDirError.ts +++ /dev/null @@ -1,66 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('ignoreMakeDirErrors', 'true'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, - find: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -answers.find[path.normalize('/srcDir')] = [ - path.normalize('/srcDir'), - path.normalize('/srcDir/someOtherDir'), - path.normalize('/srcDir/someOtherDir/file1.file'), - path.normalize('/srcDir/someOtherDir/file2.file'), -]; -runner.setAnswers(answers); - -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - itemStats.isDirectory = () => true; - break; - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - itemStats.isDirectory = () => false; - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - // as a precaution, disable fs.chmodSync. it should not be called during this scenario. - chmodSync(p: fs.PathLike, mode: fs.Mode): void {} -}); - -runner.registerMockExport('mkdirP', (p: string) => { - console.log(`mkdirP: ${p}`); - - throw "Error during creation of target folder." -}); - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2/Tests/L0cleansIfSpecified.ts b/_generated/CopyFilesV2/Tests/L0cleansIfSpecified.ts deleted file mode 100644 index 7ae840d3ddb7..000000000000 --- a/_generated/CopyFilesV2/Tests/L0cleansIfSpecified.ts +++ /dev/null @@ -1,79 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'true'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, - find: { }, - rmRF: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -answers.find[path.normalize('/srcDir')] = [ - path.normalize('/srcDir'), - path.normalize('/srcDir/someOtherDir'), - path.normalize('/srcDir/someOtherDir/file1.file'), - path.normalize('/srcDir/someOtherDir/file2.file'), -]; -answers.rmRF[path.join(path.normalize('/destDir/clean-subDir'))] = { success: true }; -answers.rmRF[path.join(path.normalize('/destDir/clean-file.txt'))] = { success: true }; -runner.setAnswers(answers); - -let origReaddirSync = fs.readdirSync; -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/destDir'): - case path.normalize('/srcDir'): - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/destDir'): - case path.normalize('/srcDir'): - case path.normalize('/srcDir/someOtherDir'): - itemStats.isDirectory = () => true; - break; - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - itemStats.isDirectory = () => false; - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - readdirSync(p: fs.PathLike, o?: any): string[] { - console.log('HERE path ' + p); - let result: string[]; - if (p == path.normalize('/destDir')) { - result = [ 'clean-subDir', 'clean-file.txt' ]; - } - else { - result = origReaddirSync(p); - } - - return result; - }, - // as a precaution, disable fs.chmodSync. it should not be called during this scenario. - chmodSync(p: fs.PathLike, mode: fs.Mode): void {} -}); - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2/Tests/L0cleansIfSpecifiedAndDestDoesntExist.ts b/_generated/CopyFilesV2/Tests/L0cleansIfSpecifiedAndDestDoesntExist.ts deleted file mode 100644 index 6f82a706ee7d..000000000000 --- a/_generated/CopyFilesV2/Tests/L0cleansIfSpecifiedAndDestDoesntExist.ts +++ /dev/null @@ -1,70 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'true'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, - find: { }, - rmRF: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -answers.find[path.normalize('/srcDir')] = [ - path.normalize('/srcDir'), - path.normalize('/srcDir/someOtherDir'), - path.normalize('/srcDir/someOtherDir/file1.file'), - path.normalize('/srcDir/someOtherDir/file2.file'), -]; -answers.rmRF[path.join(path.normalize('/destDir/clean-subDir'))] = { success: true }; -answers.rmRF[path.join(path.normalize('/destDir/clean-file.txt'))] = { success: true }; -runner.setAnswers(answers); - -let origReaddirSync = fs.readdirSync; -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/srcDir'): - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/srcDir'): - case path.normalize('/srcDir/someOtherDir'): - itemStats.isDirectory = () => true; - break; - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - itemStats.isDirectory = () => false; - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - readdirSync(p: fs.PathLike, o?: any): any { - console.log('HERE path ' + p); - let result = origReaddirSync(p); - return result; - }, - // as a precaution, disable fs.chmodSync. it should not be called during this scenario. - chmodSync(p: fs.PathLike, mode: fs.Mode): void {} -}); - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2/Tests/L0cleansIfSpecifiedAndTargetIsFile.ts b/_generated/CopyFilesV2/Tests/L0cleansIfSpecifiedAndTargetIsFile.ts deleted file mode 100644 index b4ceec7035ce..000000000000 --- a/_generated/CopyFilesV2/Tests/L0cleansIfSpecifiedAndTargetIsFile.ts +++ /dev/null @@ -1,65 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'true'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, - find: { }, - rmRF: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -answers.find[path.normalize('/srcDir')] = [ - path.normalize('/srcDir'), - path.normalize('/srcDir/someOtherDir'), - path.normalize('/srcDir/someOtherDir/file1.file'), - path.normalize('/srcDir/someOtherDir/file2.file'), -]; -answers.rmRF[path.join(path.normalize('/destDir'))] = { success: true }; -runner.setAnswers(answers); - -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/srcDir'): - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/destDir'): - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/srcDir'): - case path.normalize('/srcDir/someOtherDir'): - itemStats.isDirectory = () => true; - break; - case path.normalize('/destDir'): - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - itemStats.isDirectory = () => false; - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - // as a precaution, disable fs.chmodSync. it should not be called during this scenario. - chmodSync(p: fs.PathLike, mode: fs.Mode): void {} -}); - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2/Tests/L0copyAllFiles.ts b/_generated/CopyFilesV2/Tests/L0copyAllFiles.ts deleted file mode 100644 index 91f0a616be97..000000000000 --- a/_generated/CopyFilesV2/Tests/L0copyAllFiles.ts +++ /dev/null @@ -1,75 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, - find: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -answers.find[path.normalize('/srcDir')] = [ - path.normalize('/srcDir'), - path.normalize('/srcDir/someOtherDir'), - path.normalize('/srcDir/someOtherDir/file1.file'), - path.normalize('/srcDir/someOtherDir/file2.file'), - path.normalize('/srcDir/someOtherDir2'), - path.normalize('/srcDir/someOtherDir2/file1.file'), - path.normalize('/srcDir/someOtherDir2/file2.file'), - path.normalize('/srcDir/someOtherDir2/file3.file'), - path.normalize('/srcDir/someOtherDir3'), -]; -runner.setAnswers(answers); - -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/srcDir'): - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - case path.normalize('/srcDir/someOtherDir2'): - case path.normalize('/srcDir/someOtherDir2/file1.file'): - case path.normalize('/srcDir/someOtherDir2/file2.file'): - case path.normalize('/srcDir/someOtherDir2/file3.file'): - case path.normalize('/srcDir/someOtherDir3'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/srcDir/someOtherDir2'): - case path.normalize('/srcDir/someOtherDir3'): - itemStats.isDirectory = () => true; - break; - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - case path.normalize('/srcDir/someOtherDir2/file1.file'): - case path.normalize('/srcDir/someOtherDir2/file2.file'): - case path.normalize('/srcDir/someOtherDir2/file3.file'): - itemStats.isDirectory = () => false; - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - // as a precaution, disable fs.chmodSync. it should not be called during this scenario. - chmodSync(p: fs.PathLike, mode: fs.Mode): void {} -}); - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2/Tests/L0copyAllFilesWithBracketsInSrcPath.ts b/_generated/CopyFilesV2/Tests/L0copyAllFilesWithBracketsInSrcPath.ts deleted file mode 100644 index 3ef5cf93c1ce..000000000000 --- a/_generated/CopyFilesV2/Tests/L0copyAllFilesWithBracketsInSrcPath.ts +++ /dev/null @@ -1,74 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir [bracket]')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, - find: { }, -}; -answers.checkPath[path.normalize('/srcDir [bracket]')] = true; -answers.find[path.normalize('/srcDir [bracket]')] = [ - path.normalize('/srcDir [bracket]'), - path.normalize('/srcDir [bracket]/someOtherDir'), - path.normalize('/srcDir [bracket]/someOtherDir/file1.file'), - path.normalize('/srcDir [bracket]/someOtherDir/file2.file'), - path.normalize('/srcDir [bracket]/someOtherDir2'), - path.normalize('/srcDir [bracket]/someOtherDir2/file1.file'), - path.normalize('/srcDir [bracket]/someOtherDir2/file2.file'), - path.normalize('/srcDir [bracket]/someOtherDir2/file3.file'), - path.normalize('/srcDir [bracket]/someOtherDir3'), -]; -runner.setAnswers(answers); - -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/srcDir [bracket]/someOtherDir'): - case path.normalize('/srcDir [bracket]/someOtherDir2'): - case path.normalize('/srcDir [bracket]/someOtherDir3'): - case path.normalize('/srcDir [bracket]/someOtherDir/file1.file'): - case path.normalize('/srcDir [bracket]/someOtherDir/file2.file'): - case path.normalize('/srcDir [bracket]/someOtherDir2/file1.file'): - case path.normalize('/srcDir [bracket]/someOtherDir2/file2.file'): - case path.normalize('/srcDir [bracket]/someOtherDir2/file3.file'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/srcDir [bracket]/someOtherDir'): - case path.normalize('/srcDir [bracket]/someOtherDir2'): - case path.normalize('/srcDir [bracket]/someOtherDir3'): - itemStats.isDirectory = () => true; - break; - case path.normalize('/srcDir [bracket]/someOtherDir/file1.file'): - case path.normalize('/srcDir [bracket]/someOtherDir/file2.file'): - case path.normalize('/srcDir [bracket]/someOtherDir2/file1.file'): - case path.normalize('/srcDir [bracket]/someOtherDir2/file2.file'): - case path.normalize('/srcDir [bracket]/someOtherDir2/file3.file'): - itemStats.isDirectory = () => false; - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - // as a precaution, disable fs.chmodSync. it should not be called during this scenario. - chmodSync(p: fs.PathLike, mode: fs.Mode): void {} -}); - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2/Tests/L0copySubtractExclude.ts b/_generated/CopyFilesV2/Tests/L0copySubtractExclude.ts deleted file mode 100644 index 7a87c776beca..000000000000 --- a/_generated/CopyFilesV2/Tests/L0copySubtractExclude.ts +++ /dev/null @@ -1,75 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import os = require('os'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**\n!**/someOtherDir2/**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, - find: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -answers.find[path.normalize('/srcDir')] = [ - path.normalize('/srcDir'), - path.normalize('/srcDir/someOtherDir'), - path.normalize('/srcDir/someOtherDir/file1.file'), - path.normalize('/srcDir/someOtherDir/file2.file'), - path.normalize('/srcDir/someOtherDir2'), - path.normalize('/srcDir/someOtherDir2/file1.file'), - path.normalize('/srcDir/someOtherDir2/file2.file'), - path.normalize('/srcDir/someOtherDir2/file3.file'), - path.normalize('/srcDir/someOtherDir3'), -]; -runner.setAnswers(answers); - -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/srcDir/someOtherDir2'): - case path.normalize('/srcDir/someOtherDir3'): - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - case path.normalize('/srcDir/someOtherDir2/file1.file'): - case path.normalize('/srcDir/someOtherDir2/file2.file'): - case path.normalize('/srcDir/someOtherDir2/file3.file'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/srcDir/someOtherDir2'): - case path.normalize('/srcDir/someOtherDir3'): - itemStats.isDirectory = () => true; - break; - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - case path.normalize('/srcDir/someOtherDir2/file1.file'): - case path.normalize('/srcDir/someOtherDir2/file2.file'): - case path.normalize('/srcDir/someOtherDir2/file3.file'): - itemStats.isDirectory = () => false; - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - // as a precaution, disable fs.chmodSync. it should not be called during this scenario. - chmodSync(p: fs.PathLike, mode: fs.Mode): void {} -}); - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2/Tests/L0failsIfContentsNotSet.ts b/_generated/CopyFilesV2/Tests/L0failsIfContentsNotSet.ts deleted file mode 100644 index 42705b62ac41..000000000000 --- a/_generated/CopyFilesV2/Tests/L0failsIfContentsNotSet.ts +++ /dev/null @@ -1,22 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir)')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -runner.setAnswers(answers); - -// as a precaution, disable fs.chmodSync. it should not be called during this scenario. -fs.chmodSync = null; -runner.registerMock('fs', fs); - -runner.run(); diff --git a/_generated/CopyFilesV2/Tests/L0failsIfSourceFolderNotFound.ts b/_generated/CopyFilesV2/Tests/L0failsIfSourceFolderNotFound.ts deleted file mode 100644 index 218163b8fbca..000000000000 --- a/_generated/CopyFilesV2/Tests/L0failsIfSourceFolderNotFound.ts +++ /dev/null @@ -1,23 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = false; -runner.setAnswers(answers); - -// as a precaution, disable fs.chmodSync. it should not be called during this scenario. -fs.chmodSync = null; -runner.registerMock('fs', fs); - -runner.run(); diff --git a/_generated/CopyFilesV2/Tests/L0failsIfSourceFolderNotSet.ts b/_generated/CopyFilesV2/Tests/L0failsIfSourceFolderNotSet.ts deleted file mode 100644 index 78d7d7e2a493..000000000000 --- a/_generated/CopyFilesV2/Tests/L0failsIfSourceFolderNotSet.ts +++ /dev/null @@ -1,17 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'false'); - -// as a precaution, disable fs.chmodSync. it should not be called during this scenario. -fs.chmodSync = null; -runner.registerMock('fs', fs); - -runner.run(); diff --git a/_generated/CopyFilesV2/Tests/L0failsIfTargetFileIsDir.ts b/_generated/CopyFilesV2/Tests/L0failsIfTargetFileIsDir.ts deleted file mode 100644 index 70b773bd1fb7..000000000000 --- a/_generated/CopyFilesV2/Tests/L0failsIfTargetFileIsDir.ts +++ /dev/null @@ -1,61 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, - find: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -answers.find[path.normalize('/srcDir')] = [ - path.normalize('/srcDir'), - path.normalize('/srcDir/someOtherDir'), - path.normalize('/srcDir/someOtherDir/file1.file'), - path.normalize('/srcDir/someOtherDir/file2.file'), -]; -runner.setAnswers(answers); - -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/destDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/destDir/someOtherDir/file1.file'): - itemStats.isDirectory = () => true; - break; - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - itemStats.isDirectory = () => false; - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - // as a precaution, disable fs.chmodSync. it should not be called during this scenario. - chmodSync(p: fs.PathLike, mode: fs.Mode): void {} -}); - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2/Tests/L0failsIfTargetFolderNotSet.ts b/_generated/CopyFilesV2/Tests/L0failsIfTargetFolderNotSet.ts deleted file mode 100644 index 32828282e4d6..000000000000 --- a/_generated/CopyFilesV2/Tests/L0failsIfTargetFolderNotSet.ts +++ /dev/null @@ -1,22 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -runner.setAnswers(answers); - -// as a precaution, disable fs.chmodSync. it should not be called during this scenario. -fs.chmodSync = null; -runner.registerMock('fs', fs); - -runner.run(); diff --git a/_generated/CopyFilesV2/Tests/L0overwritesIfSpecified.ts b/_generated/CopyFilesV2/Tests/L0overwritesIfSpecified.ts deleted file mode 100644 index a5b6381e74f1..000000000000 --- a/_generated/CopyFilesV2/Tests/L0overwritesIfSpecified.ts +++ /dev/null @@ -1,66 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'true'); -let answers = { - checkPath: { }, - find: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -answers.find[path.normalize('/srcDir')] = [ - path.normalize('/srcDir'), - path.normalize('/srcDir/someOtherDir'), - path.normalize('/srcDir/someOtherDir/file1.file'), - path.normalize('/srcDir/someOtherDir/file2.file'), -]; -runner.setAnswers(answers); - -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/destDir/someOtherDir'): - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - case path.normalize('/destDir/someOtherDir/file1.file'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/destDir/someOtherDir'): - itemStats.isDirectory = () => true; - break; - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - itemStats.isDirectory = () => false; - break; - case path.normalize('/destDir/someOtherDir/file1.file'): - itemStats.isDirectory = () => false; - itemStats.mode = (6 << 6) + (6 << 3) + 6; // rw-rw-rw- - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - // as a precaution, disable fs.chmodSync. it should not be called during this scenario. - chmodSync(p: fs.PathLike, mode: fs.Mode): void {} -}); - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2/Tests/L0overwritesReadonly.ts b/_generated/CopyFilesV2/Tests/L0overwritesReadonly.ts deleted file mode 100644 index 7e6a517a114f..000000000000 --- a/_generated/CopyFilesV2/Tests/L0overwritesReadonly.ts +++ /dev/null @@ -1,71 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'true'); -let answers = { - checkPath: { }, - find: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -answers.find[path.normalize('/srcDir')] = [ - path.normalize('/srcDir'), - path.normalize('/srcDir/someOtherDir'), - path.normalize('/srcDir/someOtherDir/file1.file'), - path.normalize('/srcDir/someOtherDir/file2.file'), -]; -runner.setAnswers(answers); - -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/destDir/someOtherDir'): - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - case path.normalize('/destDir/someOtherDir/file1.file'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/destDir/someOtherDir'): - itemStats.isDirectory = () => true; - break; - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - itemStats.isDirectory = () => false; - break; - case path.normalize('/destDir/someOtherDir/file1.file'): - itemStats.isDirectory = () => false; - itemStats.mode = (4 << 6) + (4 << 3) + 4; // r--r--r-- - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - // as a precaution, disable fs.chmodSync. it should not be called during this scenario. - chmodSync(p: fs.PathLike, mode: fs.Mode): void {} -}); - -// override fs.chmodSync -(fsClone as any).chmodSync = (path: string, mode: number) => { - console.log(`##vso[task.debug]chmodSync ${path} ${mode}`); -}; - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2/Tests/L0preservesTimestampIfSpecified.ts b/_generated/CopyFilesV2/Tests/L0preservesTimestampIfSpecified.ts deleted file mode 100644 index 5a78ad8f43b6..000000000000 --- a/_generated/CopyFilesV2/Tests/L0preservesTimestampIfSpecified.ts +++ /dev/null @@ -1,78 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -const { promisify } = require('util'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'false'); -runner.setInput('preserveTimestamp', 'true'); -let answers = { - checkPath: {}, - find: {}, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -answers.find[path.normalize('/srcDir')] = [ - path.normalize('/srcDir'), - path.normalize('/srcDir/someOtherDir'), - path.normalize('/srcDir/someOtherDir/file1.file'), - path.normalize('/srcDir/someOtherDir/file2.file'), - path.normalize('/srcDir/someOtherDir2'), - path.normalize('/srcDir/someOtherDir2/file1.file'), - path.normalize('/srcDir/someOtherDir2/file2.file'), - path.normalize('/srcDir/someOtherDir2/file3.file'), - path.normalize('/srcDir/someOtherDir3'), -]; -runner.setAnswers(answers); - -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/srcDir/someOtherDir2'): - case path.normalize('/srcDir/someOtherDir3'): - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - case path.normalize('/srcDir/someOtherDir2/file1.file'): - case path.normalize('/srcDir/someOtherDir2/file2.file'): - case path.normalize('/srcDir/someOtherDir2/file3.file'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/srcDir/someOtherDir2'): - case path.normalize('/srcDir/someOtherDir3'): - itemStats.isDirectory = () => true; - break; - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - case path.normalize('/srcDir/someOtherDir2/file1.file'): - case path.normalize('/srcDir/someOtherDir2/file2.file'): - case path.normalize('/srcDir/someOtherDir2/file3.file'): - itemStats.isDirectory = () => false; - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - utimes(targetPath, atime, mtime, err): void { - console.log('Calling fs.utimes on', targetPath); - } -}); - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2/Tests/L0rootsPatterns.ts b/_generated/CopyFilesV2/Tests/L0rootsPatterns.ts deleted file mode 100644 index 87bf728e7642..000000000000 --- a/_generated/CopyFilesV2/Tests/L0rootsPatterns.ts +++ /dev/null @@ -1,63 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', 'someOtherDir/file?.file\nsomeOtherDir2/*.file\n!someOtherDir2/file[13].file'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, - find: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -answers.find[path.normalize('/srcDir')] = [ - path.normalize('/srcDir'), - path.normalize('/srcDir/someOtherDir'), - path.normalize('/srcDir/someOtherDir/file1.file'), - path.normalize('/srcDir/someOtherDir/file2.file'), - path.normalize('/srcDir/someOtherDir/file-zzz.file'), - path.normalize('/srcDir/someOtherDir2'), - path.normalize('/srcDir/someOtherDir2/file1.file'), - path.normalize('/srcDir/someOtherDir2/file2.file'), - path.normalize('/srcDir/someOtherDir2/file3.file'), - path.normalize('/srcDir/someOtherDir3'), -]; -runner.setAnswers(answers); - -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - case path.normalize('/srcDir/someOtherDir2/file2.file'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - case path.normalize('/srcDir/someOtherDir2/file2.file'): - itemStats.isDirectory = () => false; - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - // as a precaution, disable fs.chmodSync. it should not be called during this scenario. - chmodSync(p: fs.PathLike, mode: fs.Mode): void {} -}); - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2/Tests/L0skipsIfExists.ts b/_generated/CopyFilesV2/Tests/L0skipsIfExists.ts deleted file mode 100644 index b509e9d6660e..000000000000 --- a/_generated/CopyFilesV2/Tests/L0skipsIfExists.ts +++ /dev/null @@ -1,63 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, - find: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -answers.find[path.normalize('/srcDir')] = [ - path.normalize('/srcDir'), - path.normalize('/srcDir/someOtherDir'), - path.normalize('/srcDir/someOtherDir/file1.file'), - path.normalize('/srcDir/someOtherDir/file2.file'), -]; -runner.setAnswers(answers); - -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/destDir/someOtherDir'): - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - case path.normalize('/destDir/someOtherDir/file1.file'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/destDir/someOtherDir'): - itemStats.isDirectory = () => true; - break; - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - case path.normalize('/destDir/someOtherDir/file1.file'): - itemStats.isDirectory = () => false; - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - // as a precaution, disable fs.chmodSync. it should not be called during this scenario. - chmodSync(p: fs.PathLike, mode: fs.Mode): void {} -}); - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2/copyfiles.ts b/_generated/CopyFilesV2/copyfiles.ts deleted file mode 100644 index a310d23a76e2..000000000000 --- a/_generated/CopyFilesV2/copyfiles.ts +++ /dev/null @@ -1,275 +0,0 @@ -import fs = require('fs'); -import path = require('path'); -import tl = require('azure-pipelines-task-lib/task'); -import { RetryOptions, RetryHelper } from './retrylogichelper'; - -/** - * Shows timestamp change operation results - * @param fileStats file stats - * @param err error - null if there is no error - */ -function displayTimestampChangeResults( - fileStats: fs.Stats, - err: NodeJS.ErrnoException -) { - if (err) { - console.warn(`Problem applying the timestamp: ${err}`); - } else { - console.log(`Timestamp preserved successfully - access time: ${fileStats.atime}, modified time: ${fileStats.mtime}`) - } -} - -/** - * Creates the full path with folders in between. Will throw an error if it fails - * If ignoreErrors is true - ignores the errors. - * @param targetFolder target folder. For more details see https://github.com/Microsoft/azure-pipelines-task-lib/blob/master/node/docs/azure-pipelines-task-lib.md#taskmkdirP - * @param ignoreErrors ignore errors during creation of target folder. - */ -function makeDirP(targetFolder: string, ignoreErrors: boolean): void { - try { - tl.mkdirP(targetFolder); - } catch (err) { - if (ignoreErrors) { - console.log(`Unable to create target folder (${targetFolder}): ${err}. Ignoring this as error since 'ignoreErrors' is true.`); - } else { - throw err; - } - } -} - -/** - * Gets stats for the provided path. - * Will throw error if entry does not exist and `throwEnoent` is `true`. - * @param path path for which method will try to get `fs.Stats`. - * @param throwEnoent throw error if entry does not exist. - * @returns `fs.Stats` or `null` - */ -function stats(path: string, throwEnoent: boolean = true): fs.Stats | null { - if (fs.existsSync(path)) { - return fs.statSync(path); - } else { - const message: string = `Entry "${path}" does not exist`; - if (throwEnoent) { - tl.warning(message); - throw new Error(message); - } - tl.debug(message); - return null; - } -} - -function filterOutDirectories(paths: string[]): string[] { - return paths.filter((path: string) => { - const itemStats: fs.Stats = stats(path); - return !itemStats.isDirectory(); - }); -} - -async function main(): Promise { - // we allow broken symlinks - since there could be broken symlinks found in source folder, but filtered by contents pattern - const findOptions: tl.FindOptions = { - allowBrokenSymbolicLinks: true, - followSpecifiedSymbolicLink: true, - followSymbolicLinks: true - }; - - tl.setResourcePath(path.join(__dirname, 'task.json')); - - // contents is a multiline input containing glob patterns - let contents: string[] = tl.getDelimitedInput('Contents', '\n', true); - let sourceFolder: string = tl.getPathInput('SourceFolder', true, true); - let targetFolder: string = tl.getPathInput('TargetFolder', true); - let cleanTargetFolder: boolean = tl.getBoolInput('CleanTargetFolder', false); - let overWrite: boolean = tl.getBoolInput('OverWrite', false); - let flattenFolders: boolean = tl.getBoolInput('flattenFolders', false); - let retryCount: number = parseInt(tl.getInput('retryCount')); - let delayBetweenRetries: number = parseInt(tl.getInput('delayBetweenRetries')); - - if (isNaN(retryCount) || retryCount < 0) { - retryCount = 0; - } - - if (isNaN(delayBetweenRetries) || delayBetweenRetries < 0) { - delayBetweenRetries = 0; - } - - const retryOptions: RetryOptions = { - timeoutBetweenRetries: delayBetweenRetries, - numberOfReties: retryCount - }; - const retryHelper = new RetryHelper(retryOptions); - - const preserveTimestamp: boolean = tl.getBoolInput('preserveTimestamp', false); - const ignoreMakeDirErrors: boolean = tl.getBoolInput('ignoreMakeDirErrors', false); - - // normalize the source folder path. this is important for later in order to accurately - // determine the relative path of each found file (substring using sourceFolder.length). - sourceFolder = path.normalize(sourceFolder); - let allPaths: string[] = tl.find(sourceFolder, findOptions); - let sourceFolderPattern = sourceFolder.replace('[', '[[]'); // directories can have [] in them, and they have special meanings as a pattern, so escape them - let matchedPaths: string[] = tl.match(allPaths, contents, sourceFolderPattern); // default match options - let matchedFiles: string[] = filterOutDirectories(matchedPaths); - - // copy the files to the target folder - console.log(tl.loc('FoundNFiles', matchedFiles.length)); - - if (matchedFiles.length > 0) { - // clean target folder if required - if (cleanTargetFolder) { - console.log(tl.loc('CleaningTargetFolder', targetFolder)); - - // stat the targetFolder path - const targetFolderStats: fs.Stats = await retryHelper.RunWithRetry( - () => stats(targetFolder, false), - `stats for ${targetFolder}` - ); - - // If there are no stats, the folder doesn't exist. Nothing to clean. - if (targetFolderStats) { - if (targetFolderStats.isDirectory()) { - // delete the child items - const folderItems: string[] = await retryHelper.RunWithRetry( - () => fs.readdirSync(targetFolder), - `readdirSync for ${targetFolder}` - ); - - for (let item of folderItems) { - let itemPath = path.join(targetFolder, item); - await retryHelper.RunWithRetry(() => - tl.rmRF(itemPath), - `delete of ${itemPath}` - ); - } - } else { - await retryHelper.RunWithRetry(() => - tl.rmRF(targetFolder), - `delete of ${targetFolder}` - ); - } - } - } - - // make sure the target folder exists - await retryHelper.RunWithRetry(() => - makeDirP(targetFolder, ignoreMakeDirErrors), - `makeDirP for ${targetFolder}` - ); - try { - let createdFolders: { [folder: string]: boolean } = {}; - for (let file of matchedFiles) { - let relativePath; - if (flattenFolders) { - relativePath = path.basename(file); - } else { - relativePath = file.substring(sourceFolder.length); - - // trim leading path separator - // note, assumes normalized above - if (relativePath.startsWith(path.sep)) { - relativePath = relativePath.substr(1); - } - } - - let targetPath = path.join(targetFolder, relativePath); - let targetDir = path.dirname(targetPath); - - if (!createdFolders[targetDir]) { - await retryHelper.RunWithRetry( - () => makeDirP(targetDir, ignoreMakeDirErrors), - `makeDirP for ${targetDir}` - ); - - createdFolders[targetDir] = true; - } - - // stat the target - let targetStats: fs.Stats; - if (!cleanTargetFolder) { // optimization - no need to check if relative target exists when CleanTargetFolder=true - targetStats = await retryHelper.RunWithRetry( - () => stats(targetPath, false), - `Stats for ${targetPath}` - ); - } - - // validate the target is not a directory - if (targetStats && targetStats.isDirectory()) { - throw new Error(tl.loc('TargetIsDir', file, targetPath)); - } - - if (!overWrite) { - if (targetStats) { // exists, skip - console.log(tl.loc('FileAlreadyExistAt', file, targetPath)); - } else { // copy - console.log(tl.loc('CopyingTo', file, targetPath)); - await retryHelper.RunWithRetry( - () => tl.cp(file, targetPath), - `copy ${file} to ${targetPath}` - ); - if (preserveTimestamp) { - try { - const fileStats: fs.Stats = await retryHelper.RunWithRetry( - () => stats(file), - `stats for ${file}` - ); - fs.utimes(targetPath, fileStats.atime, fileStats.mtime, (err) => { - displayTimestampChangeResults(fileStats, err); - }); - } catch (err) { - console.warn(`Problem preserving the timestamp: ${err}`) - } - } - } - } else { // copy - console.log(tl.loc('CopyingTo', file, targetPath)); - if (process.platform == 'win32' && targetStats && (targetStats.mode & 146) != 146) { - // The readonly attribute can be interpreted by performing a bitwise-AND operation on - // "fs.Stats.mode" and the integer 146. The integer 146 represents "-w--w--w-" or (128 + 16 + 2), - // see following chart: - // R W X R W X R W X - // 256 128 64 32 16 8 4 2 1 - // - // "fs.Stats.mode" on Windows is based on whether the readonly attribute is set. - // If the readonly attribute is set, then the mode is set to "r--r--r--". - // If the readonly attribute is not set, then the mode is set to "rw-rw-rw-". - // - // Note, additional bits may also be set (e.g. if directory). Therefore, a bitwise - // comparison is appropriate. - // - // For additional information, refer to the fs source code and ctrl+f "st_mode": - // https://github.com/nodejs/node/blob/v5.x/deps/uv/src/win/fs.c#L1064 - tl.debug(`removing readonly attribute on '${targetPath}'`); - - await retryHelper.RunWithRetry( - () => fs.chmodSync(targetPath, targetStats.mode | 146), - `chmodSync for ${targetPath}` - ); - } - await retryHelper.RunWithRetry( - () => tl.cp(file, targetPath, "-f"), - `copy ${file} to ${targetPath}` - ); - - if (preserveTimestamp) { - try { - const fileStats = await retryHelper.RunWithRetry( - () => stats(file), - `stats for ${file}` - ); - fs.utimes(targetPath, fileStats.atime, fileStats.mtime, (err) => { - displayTimestampChangeResults(fileStats, err); - }); - } catch (err) { - console.warn(`Problem preserving the timestamp: ${err}`) - } - } - } - } - } catch (err) { - tl.setResult(tl.TaskResult.Failed, err); - } - } -} - -main().catch((err) => { - tl.setResult(tl.TaskResult.Failed, err); -}); diff --git a/_generated/CopyFilesV2/icon.png b/_generated/CopyFilesV2/icon.png deleted file mode 100644 index 443e57fd1c28..000000000000 Binary files a/_generated/CopyFilesV2/icon.png and /dev/null differ diff --git a/_generated/CopyFilesV2/icon.svg b/_generated/CopyFilesV2/icon.svg deleted file mode 100644 index a854146f9cfd..000000000000 --- a/_generated/CopyFilesV2/icon.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/_generated/CopyFilesV2/package-lock.json b/_generated/CopyFilesV2/package-lock.json deleted file mode 100644 index a33b36513a7d..000000000000 --- a/_generated/CopyFilesV2/package-lock.json +++ /dev/null @@ -1,488 +0,0 @@ -{ - "name": "vsts-copyfiles-task", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "requires": { - "@types/node": "*" - } - }, - "@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "requires": { - "@types/node": "*" - } - }, - "@types/mocha": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" - }, - "@types/node": { - "version": "16.11.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.60.tgz", - "integrity": "sha512-kYIYa1D1L+HDv5M5RXQeEu1o0FKA6yedZIoyugm/MBPROkLpX4L7HRxMrPVyo8bnvjpW/wDlqFNGzXNMb7AdRw==" - }, - "@types/qs": { - "version": "6.9.8", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", - "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==" - }, - "@types/uuid": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", - "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==" - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "azure-pipelines-task-lib": { - "version": "5.0.0-preview.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-5.0.0-preview.0.tgz", - "integrity": "sha512-uQJEv+q3/7RD7kgphFd33uXijaPwA1ePYoNkAgZpUhbZUtc2u4JL4ujTT/JJfgXBNW/QQNAiDQ2OC7vOQG/0tg==", - "requires": { - "minimatch": "3.0.5", - "q": "^1.5.1", - "semver": "^5.1.0", - "shelljs": "^0.8.5", - "sync-request": "6.1.0", - "uuid": "^3.0.1" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "form-data": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", - "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } - }, - "get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==" - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "requires": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - } - }, - "http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "requires": { - "@types/node": "^10.0.3" - }, - "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - } - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" - }, - "is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", - "requires": { - "has": "^1.0.3" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "requires": { - "asap": "~2.0.6" - } - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" - }, - "qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "requires": { - "resolve": "^1.1.6" - } - }, - "resolve": { - "version": "1.22.6", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", - "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "sync-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "requires": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - } - }, - "sync-rpc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", - "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "requires": { - "get-port": "^3.1.0" - } - }, - "then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "requires": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "dependencies": { - "@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - } - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - }, - "typescript": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.2.tgz", - "integrity": "sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==", - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - } - } -} diff --git a/_generated/CopyFilesV2/package.json b/_generated/CopyFilesV2/package.json deleted file mode 100644 index f6cdffdefcdc..000000000000 --- a/_generated/CopyFilesV2/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "vsts-copyfiles-task", - "version": "1.0.0", - "description": "Azure Pipelines Copy Files Task", - "main": "copyfiles.js", - "repository": { - "type": "git", - "url": "git+https://github.com/Microsoft/azure-pipelines-tasks.git" - }, - "author": "Microsoft Corporation", - "license": "MIT", - "dependencies": { - "@types/node": "^16.11.59", - "@types/mocha": "^5.2.7", - "@types/uuid": "^8.3.0", - "azure-pipelines-task-lib": "^5.0.0-preview.0" - }, - "devDependencies": { - "typescript": "4.0.2" - } -} diff --git a/_generated/CopyFilesV2/retrylogichelper.ts b/_generated/CopyFilesV2/retrylogichelper.ts deleted file mode 100644 index 75171ac2417c..000000000000 --- a/_generated/CopyFilesV2/retrylogichelper.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Interface for FindOptions - * Contains properties to control whether to follow symlinks - */ - export interface RetryOptions { - - /** - * Number of retries - */ - numberOfReties: number, - - /** - * Timeout between retries in milliseconds - */ - timeoutBetweenRetries: number -} - -export class RetryHelper { - private retryOptions: RetryOptions; - - constructor (retryOptions: RetryOptions) { - this.retryOptions = retryOptions; - } - - - public async RunWithRetry(action: () => T, actionName: string): Promise { - let attempts = this.retryOptions.numberOfReties; - while (true) { - try { - const result: T = await action(); - return result; - } catch (err) { - --attempts; - if (attempts <= 0) { - throw err; - } - console.log(`Error while ${actionName}: ${err}. Remaining attempts: ${attempts}`); - await this.sleep(); - } - } - } - - private async sleep() { - return new Promise(resolve => setTimeout(resolve, - this.retryOptions.timeoutBetweenRetries)); - } -} \ No newline at end of file diff --git a/_generated/CopyFilesV2/task.json b/_generated/CopyFilesV2/task.json deleted file mode 100644 index 1e44dcd3d489..000000000000 --- a/_generated/CopyFilesV2/task.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "id": "5BFB729A-A7C8-4A78-A7C3-8D717BB7C13C", - "name": "CopyFiles", - "friendlyName": "Copy files", - "description": "Copy files from a source folder to a target folder using patterns matching file paths (not folder paths)", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/copy-files", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=708389)", - "category": "Utility", - "visibility": [ - "Build" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 2, - "Minor": 231, - "Patch": 0 - }, - "releaseNotes": "Match pattern consistency.", - "demands": [], - "minimumAgentVersion": "2.182.1", - "groups": [ - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": false - } - ], - "inputs": [ - { - "name": "SourceFolder", - "type": "filePath", - "label": "Source Folder", - "defaultValue": "", - "required": false, - "helpMarkDown": "The source folder that the copy pattern(s) will be run from. Empty is the root of the repo. Use [variables](https://go.microsoft.com/fwlink/?LinkID=550988) if files are not in the repo. Example: $(agent.builddirectory)" - }, - { - "name": "Contents", - "type": "multiLine", - "label": "Contents", - "defaultValue": "**", - "required": true, - "helpMarkDown": "File paths to include as part of the copy. Supports multiple lines of match patterns. [More Information](https://go.microsoft.com/fwlink/?LinkID=708389)" - }, - { - "name": "TargetFolder", - "type": "string", - "label": "Target Folder", - "defaultValue": "", - "required": true, - "helpMarkDown": "Target folder or UNC path files will copy to. You can use [variables](http://go.microsoft.com/fwlink/?LinkID=550988). Example: $(build.artifactstagingdirectory)" - }, - { - "name": "CleanTargetFolder", - "type": "boolean", - "label": "Clean Target Folder", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Delete all existing files in target folder before copy", - "groupName": "advanced" - }, - { - "name": "OverWrite", - "type": "boolean", - "label": "Overwrite", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Replace existing file in target folder", - "groupName": "advanced" - }, - { - "name": "flattenFolders", - "type": "boolean", - "label": "Flatten Folders", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Flatten the folder structure and copy all files into the specified target folder.", - "groupName": "advanced" - }, - { - "name": "preserveTimestamp", - "type": "boolean", - "label": "Preserve Target Timestamp", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Using the original source file, preserve the target file timestamp.", - "groupName": "advanced" - }, - { - "name": "retryCount", - "type": "string", - "label": "Retry count to copy the file", - "defaultValue": "0", - "required": false, - "helpMarkDown": "Specify the retry count to copy the file. It might help to resolve intermittent issues e.g. with UNC target paths on a remote host.", - "groupName": "advanced" - }, - { - "name": "delayBetweenRetries", - "type": "string", - "label": "Delay between two retries.", - "defaultValue": "1000", - "required": false, - "helpMarkDown": "Specify the delay between two retries. It might help to be more resilient to intermittent issues e.g. with UNC target paths on a remote host.", - "groupName": "advanced" - }, - { - "name": "ignoreMakeDirErrors", - "type": "boolean", - "label": "Ignore errors during creation of target folder.", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Ignore errors which happen during creation of target folder. This could be useful to avoid issues with parallel execution of task by several agents with one target folder.", - "groupName": "advanced" - } - ], - "instanceNameFormat": "Copy Files to: $(TargetFolder)", - "execution": { - "Node10": { - "target": "copyfiles.js", - "argumentFormat": "" - }, - "Node16": { - "target": "copyfiles.js", - "argumentFormat": "" - } - }, - "messages": { - "FoundNFiles": "found %d files", - "CleaningTargetFolder": "Cleaning target folder: %s", - "FileAlreadyExistAt": "File %s already exist at %s", - "CopyingTo": "Copying %s to %s", - "TargetIsDir": "Unable to copy file %s to %s. The target path already exists as a directory." - }, - "restrictions": { - "commands": { - "mode": "restricted" - }, - "settableVariables": { - "allowed": [] - } - }, - "_buildConfigMapping": { - "Default": "2.231.0", - "Node20-228": "2.231.2" - } -} \ No newline at end of file diff --git a/_generated/CopyFilesV2/task.loc.json b/_generated/CopyFilesV2/task.loc.json deleted file mode 100644 index e966c3b3dddf..000000000000 --- a/_generated/CopyFilesV2/task.loc.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "id": "5BFB729A-A7C8-4A78-A7C3-8D717BB7C13C", - "name": "CopyFiles", - "friendlyName": "ms-resource:loc.friendlyName", - "description": "ms-resource:loc.description", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/copy-files", - "helpMarkDown": "ms-resource:loc.helpMarkDown", - "category": "Utility", - "visibility": [ - "Build" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 2, - "Minor": 231, - "Patch": 0 - }, - "releaseNotes": "ms-resource:loc.releaseNotes", - "demands": [], - "minimumAgentVersion": "2.182.1", - "groups": [ - { - "name": "advanced", - "displayName": "ms-resource:loc.group.displayName.advanced", - "isExpanded": false - } - ], - "inputs": [ - { - "name": "SourceFolder", - "type": "filePath", - "label": "ms-resource:loc.input.label.SourceFolder", - "defaultValue": "", - "required": false, - "helpMarkDown": "ms-resource:loc.input.help.SourceFolder" - }, - { - "name": "Contents", - "type": "multiLine", - "label": "ms-resource:loc.input.label.Contents", - "defaultValue": "**", - "required": true, - "helpMarkDown": "ms-resource:loc.input.help.Contents" - }, - { - "name": "TargetFolder", - "type": "string", - "label": "ms-resource:loc.input.label.TargetFolder", - "defaultValue": "", - "required": true, - "helpMarkDown": "ms-resource:loc.input.help.TargetFolder" - }, - { - "name": "CleanTargetFolder", - "type": "boolean", - "label": "ms-resource:loc.input.label.CleanTargetFolder", - "defaultValue": "false", - "required": false, - "helpMarkDown": "ms-resource:loc.input.help.CleanTargetFolder", - "groupName": "advanced" - }, - { - "name": "OverWrite", - "type": "boolean", - "label": "ms-resource:loc.input.label.OverWrite", - "defaultValue": "false", - "required": false, - "helpMarkDown": "ms-resource:loc.input.help.OverWrite", - "groupName": "advanced" - }, - { - "name": "flattenFolders", - "type": "boolean", - "label": "ms-resource:loc.input.label.flattenFolders", - "defaultValue": "false", - "required": false, - "helpMarkDown": "ms-resource:loc.input.help.flattenFolders", - "groupName": "advanced" - }, - { - "name": "preserveTimestamp", - "type": "boolean", - "label": "ms-resource:loc.input.label.preserveTimestamp", - "defaultValue": "false", - "required": false, - "helpMarkDown": "ms-resource:loc.input.help.preserveTimestamp", - "groupName": "advanced" - }, - { - "name": "retryCount", - "type": "string", - "label": "ms-resource:loc.input.label.retryCount", - "defaultValue": "0", - "required": false, - "helpMarkDown": "ms-resource:loc.input.help.retryCount", - "groupName": "advanced" - }, - { - "name": "delayBetweenRetries", - "type": "string", - "label": "ms-resource:loc.input.label.delayBetweenRetries", - "defaultValue": "1000", - "required": false, - "helpMarkDown": "ms-resource:loc.input.help.delayBetweenRetries", - "groupName": "advanced" - }, - { - "name": "ignoreMakeDirErrors", - "type": "boolean", - "label": "ms-resource:loc.input.label.ignoreMakeDirErrors", - "defaultValue": "false", - "required": false, - "helpMarkDown": "ms-resource:loc.input.help.ignoreMakeDirErrors", - "groupName": "advanced" - } - ], - "instanceNameFormat": "ms-resource:loc.instanceNameFormat", - "execution": { - "Node10": { - "target": "copyfiles.js", - "argumentFormat": "" - }, - "Node16": { - "target": "copyfiles.js", - "argumentFormat": "" - } - }, - "messages": { - "FoundNFiles": "ms-resource:loc.messages.FoundNFiles", - "CleaningTargetFolder": "ms-resource:loc.messages.CleaningTargetFolder", - "FileAlreadyExistAt": "ms-resource:loc.messages.FileAlreadyExistAt", - "CopyingTo": "ms-resource:loc.messages.CopyingTo", - "TargetIsDir": "ms-resource:loc.messages.TargetIsDir" - }, - "restrictions": { - "commands": { - "mode": "restricted" - }, - "settableVariables": { - "allowed": [] - } - }, - "_buildConfigMapping": { - "Default": "2.231.0", - "Node20-228": "2.231.2" - } -} \ No newline at end of file diff --git a/_generated/CopyFilesV2/tsconfig.json b/_generated/CopyFilesV2/tsconfig.json deleted file mode 100644 index 0438b79f69ac..000000000000 --- a/_generated/CopyFilesV2/tsconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "compilerOptions": { - "target": "ES6", - "module": "commonjs" - } -} \ No newline at end of file diff --git a/_generated/CopyFilesV2_Node20/.npmrc b/_generated/CopyFilesV2_Node20/.npmrc deleted file mode 100644 index 5fca0d518be7..000000000000 --- a/_generated/CopyFilesV2_Node20/.npmrc +++ /dev/null @@ -1 +0,0 @@ -scripts-prepend-node-path=true diff --git a/_generated/CopyFilesV2_Node20/Strings/resources.resjson/de-DE/resources.resjson b/_generated/CopyFilesV2_Node20/Strings/resources.resjson/de-DE/resources.resjson deleted file mode 100644 index b3392ae2b462..000000000000 --- a/_generated/CopyFilesV2_Node20/Strings/resources.resjson/de-DE/resources.resjson +++ /dev/null @@ -1,33 +0,0 @@ -{ - "loc.friendlyName": "Dateien kopieren", - "loc.helpMarkDown": "[Weitere Informationen zu dieser Aufgabe](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.description": "Hiermit werden Dateien unter Verwendung von Mustern zum Abgleich von Dateipfaden (nicht von Ordnerpfaden) aus einem Quellordner in einen Zielordner kopiert.", - "loc.instanceNameFormat": "Dateien kopieren in: $(TargetFolder)", - "loc.releaseNotes": "Übereinstimmungsmusterkonsistenz.", - "loc.group.displayName.advanced": "Erweitert", - "loc.input.label.SourceFolder": "Quellordner", - "loc.input.help.SourceFolder": "Der Quellordner, aus dem mindestens ein Kopiermuster ausgeführt wird. \"Empty\" ist der Stamm des Repositorys. Verwenden Sie [Variablen](https://go.microsoft.com/fwlink/?LinkID=550988), wenn sich Dateien nicht im Repository befinden. Beispiel: \"$(agent.builddirectory)\".", - "loc.input.label.Contents": "Inhalte", - "loc.input.help.Contents": "Dateipfade, die als Teil der Kopie eingeschlossen werden sollen. Unterstützt mehrere Zeilen von Vergleichsmustern. [Weitere Informationen](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.input.label.TargetFolder": "Zielordner", - "loc.input.help.TargetFolder": "Der Zielordner oder UNC-Pfad, in den die Dateien kopiert werden. Sie können [Variablen](http://go.microsoft.com/fwlink/?LinkID=550988) verwenden. Beispiel: \"$(build.artifactstagingdirectory)\".", - "loc.input.label.CleanTargetFolder": "Zielordner bereinigen", - "loc.input.help.CleanTargetFolder": "Alle vorhandenen Dateien im Zielordner vor dem Kopieren löschen", - "loc.input.label.OverWrite": "Überschreiben", - "loc.input.help.OverWrite": "Vorhandene Datei im Zielordner ersetzen", - "loc.input.label.flattenFolders": "Ordner vereinfachen", - "loc.input.help.flattenFolders": "Vereinfachen Sie die Ordnerstruktur, und kopieren Sie alle Dateien in den angegebenen Zielordner.", - "loc.input.label.preserveTimestamp": "Zielzeitstempel beibehalten", - "loc.input.help.preserveTimestamp": "Behalten Sie unter Verwendung der ursprüngliche Quelldatei den Zeitstempel der Zieldatei bei.", - "loc.input.label.retryCount": "Wiederholungsanzahl zum Kopieren der Datei", - "loc.input.help.retryCount": "Geben Sie die Wiederholungsanzahl an, um die Datei zu kopieren. Dies kann helfen, zeitweilige Probleme zu lösen, z. B. mit UNC-Zielpfaden auf einem Remote-Host.", - "loc.input.label.delayBetweenRetries": "Verzögerung zwischen zwei Wiederholungsversuchen.", - "loc.input.help.delayBetweenRetries": "Geben Sie die Verzögerung zwischen zwei Wiederholungsversuchen an. Möglicherweise ist es hilfreich widerstandsfähiger für intermittierende Probleme, z. B. mit UNC-Zielpfaden auf einem Remote-Host, zu sein.", - "loc.input.label.ignoreMakeDirErrors": "Ignorieren Sie Fehler beim Erstellen des Zielordners.", - "loc.input.help.ignoreMakeDirErrors": "Ignorieren Sie beim Erstellen des Zielordners auftretende Fehler. Dies kann hilfreich sein, um Probleme bei der gleichzeitigen Ausführung einer Aufgabe durch mehrere Agents mit einem Zielordner zu vermeiden.", - "loc.messages.FoundNFiles": "%d Dateien wurden gefunden.", - "loc.messages.CleaningTargetFolder": "Bereinigen des Zielordners: %s", - "loc.messages.FileAlreadyExistAt": "Die Datei \"%s\" ist bereits unter \"%s\" vorhanden.", - "loc.messages.CopyingTo": "\"%s\" wird nach \"%s\" kopiert.", - "loc.messages.TargetIsDir": "Die Datei \"%s\" kann nicht nach \"%s\" kopiert werden. Der Zielpfad ist bereits als Verzeichnis vorhanden." -} \ No newline at end of file diff --git a/_generated/CopyFilesV2_Node20/Strings/resources.resjson/en-US/resources.resjson b/_generated/CopyFilesV2_Node20/Strings/resources.resjson/en-US/resources.resjson deleted file mode 100644 index 6afc4874239d..000000000000 --- a/_generated/CopyFilesV2_Node20/Strings/resources.resjson/en-US/resources.resjson +++ /dev/null @@ -1,33 +0,0 @@ -{ - "loc.friendlyName": "Copy files", - "loc.helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.description": "Copy files from a source folder to a target folder using patterns matching file paths (not folder paths)", - "loc.instanceNameFormat": "Copy Files to: $(TargetFolder)", - "loc.releaseNotes": "Match pattern consistency.", - "loc.group.displayName.advanced": "Advanced", - "loc.input.label.SourceFolder": "Source Folder", - "loc.input.help.SourceFolder": "The source folder that the copy pattern(s) will be run from. Empty is the root of the repo. Use [variables](https://go.microsoft.com/fwlink/?LinkID=550988) if files are not in the repo. Example: $(agent.builddirectory)", - "loc.input.label.Contents": "Contents", - "loc.input.help.Contents": "File paths to include as part of the copy. Supports multiple lines of match patterns. [More Information](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.input.label.TargetFolder": "Target Folder", - "loc.input.help.TargetFolder": "Target folder or UNC path files will copy to. You can use [variables](http://go.microsoft.com/fwlink/?LinkID=550988). Example: $(build.artifactstagingdirectory)", - "loc.input.label.CleanTargetFolder": "Clean Target Folder", - "loc.input.help.CleanTargetFolder": "Delete all existing files in target folder before copy", - "loc.input.label.OverWrite": "Overwrite", - "loc.input.help.OverWrite": "Replace existing file in target folder", - "loc.input.label.flattenFolders": "Flatten Folders", - "loc.input.help.flattenFolders": "Flatten the folder structure and copy all files into the specified target folder.", - "loc.input.label.preserveTimestamp": "Preserve Target Timestamp", - "loc.input.help.preserveTimestamp": "Using the original source file, preserve the target file timestamp.", - "loc.input.label.retryCount": "Retry count to copy the file", - "loc.input.help.retryCount": "Specify the retry count to copy the file. It might help to resolve intermittent issues e.g. with UNC target paths on a remote host.", - "loc.input.label.delayBetweenRetries": "Delay between two retries.", - "loc.input.help.delayBetweenRetries": "Specify the delay between two retries. It might help to be more resilient to intermittent issues e.g. with UNC target paths on a remote host.", - "loc.input.label.ignoreMakeDirErrors": "Ignore errors during creation of target folder.", - "loc.input.help.ignoreMakeDirErrors": "Ignore errors which happen during creation of target folder. This could be useful to avoid issues with parallel execution of task by several agents with one target folder.", - "loc.messages.FoundNFiles": "found %d files", - "loc.messages.CleaningTargetFolder": "Cleaning target folder: %s", - "loc.messages.FileAlreadyExistAt": "File %s already exist at %s", - "loc.messages.CopyingTo": "Copying %s to %s", - "loc.messages.TargetIsDir": "Unable to copy file %s to %s. The target path already exists as a directory." -} \ No newline at end of file diff --git a/_generated/CopyFilesV2_Node20/Strings/resources.resjson/es-ES/resources.resjson b/_generated/CopyFilesV2_Node20/Strings/resources.resjson/es-ES/resources.resjson deleted file mode 100644 index 69a1ce11edf2..000000000000 --- a/_generated/CopyFilesV2_Node20/Strings/resources.resjson/es-ES/resources.resjson +++ /dev/null @@ -1,33 +0,0 @@ -{ - "loc.friendlyName": "Copiar archivos", - "loc.helpMarkDown": "[Obtener más información acerca de esta tarea](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.description": "Copia archivos de una carpeta de origen a una carpeta de destino mediante patrones que coinciden con las rutas de acceso de los archivos (no con las rutas de carpeta).", - "loc.instanceNameFormat": "Copiar archivos a: $(TargetFolder)", - "loc.releaseNotes": "Coherencia de los patrones de coincidencia.", - "loc.group.displayName.advanced": "Avanzado", - "loc.input.label.SourceFolder": "Carpeta de origen", - "loc.input.help.SourceFolder": "La carpeta de origen desde la que se ejecutarán los patrones de copia. La raíz del repositorio está vacía. Use [variables](https://go.microsoft.com/fwlink/?LinkID=550988) si los archivos no están en el repositorio. Ejemplo: $(agent.builddirectory)", - "loc.input.label.Contents": "Contenido", - "loc.input.help.Contents": "Rutas de acceso de archivo que se incluirán como parte de la copia. Se admiten varias líneas de patrones de coincidencia. [Más información] (https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.input.label.TargetFolder": "Carpeta de destino", - "loc.input.help.TargetFolder": "La carpeta de destino o la ruta UNC en la que se copiarán los archivos. Puede usar [variables](http://go.microsoft.com/fwlink/?LinkID=550988). Ejemplo: $(build.artifactstagingdirectory)", - "loc.input.label.CleanTargetFolder": "Borrar carpeta de destino", - "loc.input.help.CleanTargetFolder": "Eliminar todos los archivos existentes en la carpeta de destino antes de copiar", - "loc.input.label.OverWrite": "Sobrescribir", - "loc.input.help.OverWrite": "Reemplazar archivo existente en la carpeta de destino", - "loc.input.label.flattenFolders": "Acoplar carpetas", - "loc.input.help.flattenFolders": "Acople la estructura de carpeta y copie todos los archivos en la carpeta de destino especificada.", - "loc.input.label.preserveTimestamp": "Conservar la marca de tiempo de destino", - "loc.input.help.preserveTimestamp": "Al usar el archivo de código fuente original, conserve la marca de tiempo del archivo de destino.", - "loc.input.label.retryCount": "Número de reintentos para copiar el archivo", - "loc.input.help.retryCount": "Especifique el número de reintentos para copiar el archivo. Puede que ayude a resolver problemas intermitentes, por ejemplo, con rutas de acceso de destino UNC en un host remoto.", - "loc.input.label.delayBetweenRetries": "Retraso entre dos reintentos.", - "loc.input.help.delayBetweenRetries": "Especifique el retraso entre dos reintentos. Es posible que resulte más resistente a los problemas intermitentes, por ejemplo, con rutas de acceso de destino UNC en un host remoto.", - "loc.input.label.ignoreMakeDirErrors": "Omitir errores durante la creación de la carpeta de destino.", - "loc.input.help.ignoreMakeDirErrors": "Omite los errores que se producen durante la creación de la carpeta de destino. Esto puede ser útil para evitar problemas con la ejecución simultánea de tareas por parte de diversos agentes con una carpeta de destino.", - "loc.messages.FoundNFiles": "se encontraron %d archivos", - "loc.messages.CleaningTargetFolder": "Limpiando carpeta de destino: %s", - "loc.messages.FileAlreadyExistAt": "El archivo %s ya existe en %s", - "loc.messages.CopyingTo": "Copiando %s en %s", - "loc.messages.TargetIsDir": "No se puede copiar el archivo %s en %s. La ruta de acceso de destino ya existe como directorio." -} \ No newline at end of file diff --git a/_generated/CopyFilesV2_Node20/Strings/resources.resjson/fr-FR/resources.resjson b/_generated/CopyFilesV2_Node20/Strings/resources.resjson/fr-FR/resources.resjson deleted file mode 100644 index a2269a8d6c40..000000000000 --- a/_generated/CopyFilesV2_Node20/Strings/resources.resjson/fr-FR/resources.resjson +++ /dev/null @@ -1,33 +0,0 @@ -{ - "loc.friendlyName": "Copier des fichiers", - "loc.helpMarkDown": "[En savoir plus sur cette tâche](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.description": "Copier les fichiers d'un dossier source vers un dossier cible à l'aide de modèles correspondant à des chemins de fichiers (et non des chemins de dossiers)", - "loc.instanceNameFormat": "Copier les fichiers vers : $(TargetFolder)", - "loc.releaseNotes": "Cohérence du modèle de correspondance.", - "loc.group.displayName.advanced": "Avancé", - "loc.input.label.SourceFolder": "Dossier source", - "loc.input.help.SourceFolder": "Dossier source à partir duquel les modèles de copie sont exécutés. La valeur vide est la racine du référentiel. Utilisez [variables](https://go.microsoft.com/fwlink/?LinkID=550988) si les fichiers ne sont pas dans le référentiel. Exemple : $(agent.builddirectory)", - "loc.input.label.Contents": "Contenu", - "loc.input.help.Contents": "Chemins de fichiers à inclure dans le cadre de la copie. Prend en charge plusieurs lignes de modèles de correspondance. [Plus d'informations](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.input.label.TargetFolder": "Dossier cible", - "loc.input.help.TargetFolder": "Dossier cible ou chemin UNC vers lequel les fichiers sont copiés. Vous pouvez utiliser [variables](http://go.microsoft.com/fwlink/?LinkID=550988). Exemple : $(build.artifactstagingdirectory)", - "loc.input.label.CleanTargetFolder": "Effacer le dossier cible", - "loc.input.help.CleanTargetFolder": "Supprimer tous les fichiers existants dans le dossier cible avant de copier", - "loc.input.label.OverWrite": "Remplacer", - "loc.input.help.OverWrite": "Remplacer le fichier existant dans le dossier cible", - "loc.input.label.flattenFolders": "Aplatir les dossiers", - "loc.input.help.flattenFolders": "Aplatit la structure des dossiers et copie tous les fichiers dans le dossier cible spécifié.", - "loc.input.label.preserveTimestamp": "Conserver l'horodatage cible", - "loc.input.help.preserveTimestamp": "À l'aide du fichier source d'origine, conservez l'horodatage du fichier cible.", - "loc.input.label.retryCount": "Recommencer le nombre de tentatives pour copier le fichier", - "loc.input.help.retryCount": "Spécifiez le nombre d’tentatives pour copier le fichier. Il peut être utile de résoudre les problèmes intermittents par exemple, avec les chemins d’accès cibles UNC sur un hôte distant.", - "loc.input.label.delayBetweenRetries": "Délai entre deux nouvelles tentatives.", - "loc.input.help.delayBetweenRetries": "Spécifiez le délai entre deux tentatives. Cela peut contribuer à améliorer la résilience aux problèmes intermittents, par exemple avec les chemins d’améliorer cibles UNC sur un hôte distant.", - "loc.input.label.ignoreMakeDirErrors": "Ignorer les erreurs lors de la création d’un dossier cible.", - "loc.input.help.ignoreMakeDirErrors": "Ignore les erreurs survenues lors de la création d’un dossier cible. Cela peut être utile pour éviter les problèmes avec l’exécution en parallèle de tâches par plusieurs agents avec un dossier cible.", - "loc.messages.FoundNFiles": "%d fichiers trouvés", - "loc.messages.CleaningTargetFolder": "Nettoyage du dossier cible : %s", - "loc.messages.FileAlreadyExistAt": "Le fichier %s existe déjà sur %s", - "loc.messages.CopyingTo": "Copie de %s vers %s", - "loc.messages.TargetIsDir": "Impossible de copier le fichier %s dans %s. Le chemin cible existe déjà sous forme de répertoire." -} \ No newline at end of file diff --git a/_generated/CopyFilesV2_Node20/Strings/resources.resjson/it-IT/resources.resjson b/_generated/CopyFilesV2_Node20/Strings/resources.resjson/it-IT/resources.resjson deleted file mode 100644 index cd254747abbc..000000000000 --- a/_generated/CopyFilesV2_Node20/Strings/resources.resjson/it-IT/resources.resjson +++ /dev/null @@ -1,33 +0,0 @@ -{ - "loc.friendlyName": "Copia file", - "loc.helpMarkDown": "[Altre informazioni su questa attività](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.description": "Copia i file da una cartella di origine a una cartella di destinazione usando criteri corrispondenti a percorsi di file (non percorsi di cartella)", - "loc.instanceNameFormat": "Copia file in: $(TargetFolder)", - "loc.releaseNotes": "Coerenza dei criteri di corrispondenza.", - "loc.group.displayName.advanced": "Avanzate", - "loc.input.label.SourceFolder": "Cartella di origine", - "loc.input.help.SourceFolder": "Cartella di origine da cui verranno eseguiti i criteri di copia. Il valore vuoto corrisponde alla radice del repository. Usare [variabili](https://go.microsoft.com/fwlink/?LinkID=550988) se i file non sono presenti nel repository. Esempio: $(agent.builddirectory)", - "loc.input.label.Contents": "Contenuti", - "loc.input.help.Contents": "Percorsi di file da includere nella copia. Sono supportate più righe di criteri di corrispondenza. [Altre informazioni](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.input.label.TargetFolder": "Cartella di destinazione", - "loc.input.help.TargetFolder": "Cartella di destinazione o percorso UNC in cui verranno copiati i file. È possibile usare [variabili](http://go.microsoft.com/fwlink/?LinkID=550988). Esempio: $(build.artifactstagingdirectory)", - "loc.input.label.CleanTargetFolder": "Pulisci cartella di destinazione", - "loc.input.help.CleanTargetFolder": "Elimina tutti i file esistenti nella cartella di destinazione prima della copia", - "loc.input.label.OverWrite": "Sovrascrivi", - "loc.input.help.OverWrite": "Sostituisce il file esistente nella cartella di destinazione", - "loc.input.label.flattenFolders": "Rendi flat le cartelle", - "loc.input.help.flattenFolders": "Rende flat la struttura di cartelle e copia tutti i file nella cartella di destinazione specificata.", - "loc.input.label.preserveTimestamp": "Mantieni timestamp di destinazione", - "loc.input.help.preserveTimestamp": "Quando si usa il file di origine iniziale, mantiene il timestamp del file di destinazione.", - "loc.input.label.retryCount": "Numero di tentativi eseguiti per copiare il file", - "loc.input.help.retryCount": "Specificare il numero di tentativi eseguiti per copiare il file. Ciò potrebbe aiutare a risolvere i problemi intermittenti, ad esempio nei percorsi di destinazione UNC su un host remoto.", - "loc.input.label.delayBetweenRetries": "Ritardo tra due tentativi.", - "loc.input.help.delayBetweenRetries": "Specifica il ritardo tra due tentativi. Potrebbe essere utile per una maggiore resilienza a problemi intermittenti, ad esempio quelli relativi a percorsi di destinazione UNC in un host remoto.", - "loc.input.label.ignoreMakeDirErrors": "Ignorare gli errori durante la creazione della cartella di destinazione.", - "loc.input.help.ignoreMakeDirErrors": "Ignorare gli errori che si verificano durante la creazione della cartella di destinazione. Questa operazione potrebbe essere utile per evitare problemi di esecuzione parallela dell'attività da parte di diversi agenti con una cartella di destinazione.", - "loc.messages.FoundNFiles": "sono stati trovati %d file", - "loc.messages.CleaningTargetFolder": "Pulizia della cartella di destinazione: %s", - "loc.messages.FileAlreadyExistAt": "Il file %s esiste già in %s", - "loc.messages.CopyingTo": "Copia di %s in %s", - "loc.messages.TargetIsDir": "Non è possibile copiare il file %s in %s. Il percorso di destinazione esiste già come directory." -} \ No newline at end of file diff --git a/_generated/CopyFilesV2_Node20/Strings/resources.resjson/ja-JP/resources.resjson b/_generated/CopyFilesV2_Node20/Strings/resources.resjson/ja-JP/resources.resjson deleted file mode 100644 index 4460b173de99..000000000000 --- a/_generated/CopyFilesV2_Node20/Strings/resources.resjson/ja-JP/resources.resjson +++ /dev/null @@ -1,33 +0,0 @@ -{ - "loc.friendlyName": "ファイルのコピー", - "loc.helpMarkDown": "[このタスクの詳細を表示](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.description": "パターン マッチングのファイル パス (フォルダー パスではない) を使用して、ソース フォルダーからターゲット フォルダーにファイルをコピーします", - "loc.instanceNameFormat": "ファイルのコピー先: $(TargetFolder)", - "loc.releaseNotes": "パターンの整合性を一致させます。", - "loc.group.displayName.advanced": "詳細設定", - "loc.input.label.SourceFolder": "ソース フォルダー", - "loc.input.help.SourceFolder": "コピー パターンの実行元のソース フォルダー。空白はリポジトリのルートです。ファイルがリポジトリにない場合は、[変数](https://go.microsoft.com/fwlink/?LinkID=550988) を使用します。例: $(agent.builddirectory)", - "loc.input.label.Contents": "コンテンツ", - "loc.input.help.Contents": "コピーの一部として含むファイル パス。複数行の一致パターンをサポートします。[詳細](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.input.label.TargetFolder": "ターゲット フォルダー", - "loc.input.help.TargetFolder": "ファイルをコピーするターゲット フォルダーまたは UNC パス。[変数](http://go.microsoft.com/fwlink/?LinkID=550988) を使用できます。例: $(build.artifactstagingdirectory)", - "loc.input.label.CleanTargetFolder": "ターゲット フォルダーの消去", - "loc.input.help.CleanTargetFolder": "コピーする前にターゲット フォルダーにある既存のファイルをすべて削除する", - "loc.input.label.OverWrite": "上書き", - "loc.input.help.OverWrite": "ターゲット フォルダー内の既存のファイルを置き換える", - "loc.input.label.flattenFolders": "フォルダーのフラット化", - "loc.input.help.flattenFolders": "フォルダー構造をフラットにして、すべてのファイルを指定のターゲット フォルダーにコピーします。", - "loc.input.label.preserveTimestamp": "ターゲットのタイムスタンプの保持", - "loc.input.help.preserveTimestamp": "元のソース ファイルを使用して、ターゲット ファイルのタイムスタンプを保持します。", - "loc.input.label.retryCount": "ファイル コピーの再試行回数", - "loc.input.help.retryCount": "ファイルをコピーする再試行回数を指定します。リモート ホスト上の UNC ターゲット パスなど、断続的な問題を解決するのに役立つ可能性があります。", - "loc.input.label.delayBetweenRetries": "2 回の再試行の間の遅延。", - "loc.input.help.delayBetweenRetries": "2 回の再試行の間の遅延を指定してください。断続的な問題に対してはさらに回復性を高めると役立つかもしれません (例: リモート ホストでの UNC ターゲット パスなど)。", - "loc.input.label.ignoreMakeDirErrors": "ターゲット フォルダーの作成中に発生したエラーを無視します。", - "loc.input.help.ignoreMakeDirErrors": "ターゲット フォルダーの作成中に発生するエラーを無視します。これは、1 つのターゲット フォルダーで複数のエージェントによるタスクの並列実行に関する問題を回避するために役立ちます。", - "loc.messages.FoundNFiles": "%d 件のファイルが見つかりました", - "loc.messages.CleaningTargetFolder": "ターゲット フォルダーをクリーンアップ中: %s", - "loc.messages.FileAlreadyExistAt": "ファイル %s は %s に既に存在しています", - "loc.messages.CopyingTo": "%s を %s にコピー中", - "loc.messages.TargetIsDir": "ファイル %s を %s にコピーできません。ターゲット パスはディレクトリとして既に存在します。" -} \ No newline at end of file diff --git a/_generated/CopyFilesV2_Node20/Strings/resources.resjson/ko-KR/resources.resjson b/_generated/CopyFilesV2_Node20/Strings/resources.resjson/ko-KR/resources.resjson deleted file mode 100644 index 8fb6be7e6859..000000000000 --- a/_generated/CopyFilesV2_Node20/Strings/resources.resjson/ko-KR/resources.resjson +++ /dev/null @@ -1,33 +0,0 @@ -{ - "loc.friendlyName": "파일 복사", - "loc.helpMarkDown": "[이 작업에 대한 자세한 정보](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.description": "패턴 일치 파일 경로(폴더 경로 아님)를 사용하여 소스 폴더에서 대상 폴더로 파일을 복사합니다.", - "loc.instanceNameFormat": "파일을 복사할 위치: $(TargetFolder)", - "loc.releaseNotes": "일치 패턴 일관성입니다.", - "loc.group.displayName.advanced": "고급", - "loc.input.label.SourceFolder": "소스 폴더", - "loc.input.help.SourceFolder": "사본 패턴이 실행될 소스 폴더입니다. 리포지토리의 루트는 [비어 있음]입니다. 파일이 리포지토리에 없으면 [변수](https://go.microsoft.com/fwlink/?LinkID=550988)를 사용하세요. 예: $(agent.builddirectory)", - "loc.input.label.Contents": "콘텐츠", - "loc.input.help.Contents": "복사의 일부로 포함할 파일 경로입니다. 여러 줄의 일치 패턴을 지원합니다. [자세한 정보](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.input.label.TargetFolder": "대상 폴더", - "loc.input.help.TargetFolder": "파일이 복사될 대상 폴더 또는 UNC 경로입니다. [변수](http://go.microsoft.com/fwlink/?LinkID=550988)를 사용할 수 있습니다. 예: $(build.artifactstagingdirectory)", - "loc.input.label.CleanTargetFolder": "대상 폴더 정리", - "loc.input.help.CleanTargetFolder": "복사 전 대상 폴더에서 기존 파일 모두 삭제", - "loc.input.label.OverWrite": "덮어쓰기", - "loc.input.help.OverWrite": "대상 폴더에서 기존 파일 바꾸기", - "loc.input.label.flattenFolders": "폴더 평면화", - "loc.input.help.flattenFolders": "폴더 구조를 평면화하고 모든 파일을 지정된 대상 폴더에 복사합니다.", - "loc.input.label.preserveTimestamp": "대상 타임스탬프 유지", - "loc.input.help.preserveTimestamp": "원본 소스 파일을 사용하여 대상 파일 타임스탬프를 유지합니다.", - "loc.input.label.retryCount": "파일 복사 재시도 횟수", - "loc.input.help.retryCount": "파일을 복사하려면 재시도 횟수를 지정합니다. 원격 호스트의 UNC 대상 경로와 같은 간헐적인 문제를 해결하는 데 도움이 될 수 있습니다.", - "loc.input.label.delayBetweenRetries": "두 번의 재시도 사이의 지연 시간입니다.", - "loc.input.help.delayBetweenRetries": "두 번의 재시도 사이의 지연을 지정합니다. 간헐적인 문제에 더 탄력적으로 대처하는 데 도움이 될 수 있습니다(예: 원격 호스트의 UNC 대상 경로 문제).", - "loc.input.label.ignoreMakeDirErrors": "대상 폴더를 만드는 동안 발생하는 오류를 무시하세요.", - "loc.input.help.ignoreMakeDirErrors": "대상 폴더를 만드는 동안 발생하는 오류를 무시하세요. 이 기능은 대상 폴더가 하나인 여러 에이전트의 병렬 작업 실행과 관련된 문제를 방지하는 데 유용할 수 있습니다.", - "loc.messages.FoundNFiles": "%d개 파일을 찾았습니다.", - "loc.messages.CleaningTargetFolder": "대상 폴더 정리: %s", - "loc.messages.FileAlreadyExistAt": "%s 파일이 %s에 이미 있습니다.", - "loc.messages.CopyingTo": "%s을(를) %s(으)로 복사하는 중", - "loc.messages.TargetIsDir": "%s 파일을 %s에 복사할 수 없습니다. 대상 경로가 이미 디렉터리로 있습니다." -} \ No newline at end of file diff --git a/_generated/CopyFilesV2_Node20/Strings/resources.resjson/ru-RU/resources.resjson b/_generated/CopyFilesV2_Node20/Strings/resources.resjson/ru-RU/resources.resjson deleted file mode 100644 index 0ecbbb8adee7..000000000000 --- a/_generated/CopyFilesV2_Node20/Strings/resources.resjson/ru-RU/resources.resjson +++ /dev/null @@ -1,33 +0,0 @@ -{ - "loc.friendlyName": "Копировать файлы", - "loc.helpMarkDown": "[См. дополнительные сведения об этой задаче](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.description": "Копировать файлы из исходной папки в целевую с использованием шаблонов, соответствующих путям файлов (не путям к папкам)", - "loc.instanceNameFormat": "Копировать файлы в: $(TargetFolder)", - "loc.releaseNotes": "Согласованность шаблонов соответствия.", - "loc.group.displayName.advanced": "Дополнительно", - "loc.input.label.SourceFolder": "Исходная папка", - "loc.input.help.SourceFolder": "Исходная папка, откуда будут запускаться шаблоны копирования. Если значение не указано, используется корень репозитория. Используйте [переменные](https://go.microsoft.com/fwlink/?LinkID=550988), если файлы находятся не в репозитории. Например: $(agent.builddirectory)", - "loc.input.label.Contents": "Содержимое", - "loc.input.help.Contents": "Пути к файлам, которые будут включены в операцию копирования. Есть поддержка многострочных шаблонов сопоставления. [Подробнее...](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.input.label.TargetFolder": "Целевая папка", - "loc.input.help.TargetFolder": "Целевая папка или UNC-путь для копирования файлов. Можно использовать [переменные](http://go.microsoft.com/fwlink/?LinkID=550988). Например: $(build.artifactstagingdirectory)", - "loc.input.label.CleanTargetFolder": "Очистить целевую папку", - "loc.input.help.CleanTargetFolder": "Удалить все существующие файлы в целевой папке перед копированием", - "loc.input.label.OverWrite": "Перезаписать", - "loc.input.help.OverWrite": "Заменить существующий файл в целевой папке", - "loc.input.label.flattenFolders": "Выполнить сведение папок", - "loc.input.help.flattenFolders": "Выполнение сведения структуры папок и копирование всех файлов в указанную целевую папку.", - "loc.input.label.preserveTimestamp": "Сохранить целевую метку времени", - "loc.input.help.preserveTimestamp": "Используя оригинальный исходный файл, сохраните метку времени целевого файла.", - "loc.input.label.retryCount": "Число повторных попыток копировать файл", - "loc.input.help.retryCount": "Укажите число повторных попыток копировать файл. Это может помочь в устранении временных проблем, например с целевыми UNC-путями на удаленном узле.", - "loc.input.label.delayBetweenRetries": "Задержка между двумя попытками.", - "loc.input.help.delayBetweenRetries": "Укажите задержку между двумя попытками. Это может повысить устойчивость к периодическим проблемам, например с целевыми путями UNC на удаленном узле.", - "loc.input.label.ignoreMakeDirErrors": "Игнорировать ошибки при создании целевой папки.", - "loc.input.help.ignoreMakeDirErrors": "Игнорируйте ошибки, возникающие при создании целевой папки. Это может позволить избежать проблем с параллельным выполнением задачи несколькими агентами с одной целевой папкой.", - "loc.messages.FoundNFiles": "найдено файлов: %d", - "loc.messages.CleaningTargetFolder": "Очистка целевого каталога: %s", - "loc.messages.FileAlreadyExistAt": "Файл \"%s\" уже существует в \"%s\"", - "loc.messages.CopyingTo": "Копирование \"%s\" в \"%s\"", - "loc.messages.TargetIsDir": "Не удалось скопировать файл %s в %s. Путь назначения уже существует в виде каталога." -} \ No newline at end of file diff --git a/_generated/CopyFilesV2_Node20/Strings/resources.resjson/zh-CN/resources.resjson b/_generated/CopyFilesV2_Node20/Strings/resources.resjson/zh-CN/resources.resjson deleted file mode 100644 index b9d813ebe4f0..000000000000 --- a/_generated/CopyFilesV2_Node20/Strings/resources.resjson/zh-CN/resources.resjson +++ /dev/null @@ -1,33 +0,0 @@ -{ - "loc.friendlyName": "复制文件", - "loc.helpMarkDown": "[详细了解此任务](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.description": "使用与文件路径(不是文件夹路径)匹配的模式将源文件夹中的文件复制到目标文件夹", - "loc.instanceNameFormat": "将文件复制到: $(TargetFolder)", - "loc.releaseNotes": "匹配模式一致性。", - "loc.group.displayName.advanced": "高级", - "loc.input.label.SourceFolder": "源文件夹", - "loc.input.help.SourceFolder": "将在其中运行复制模式的源文件夹。为空表示存储库的根。如果存储库中没有文件,请使用[变量](https://go.microsoft.com/fwlink/?LinkID=550988)。示例: $(agent.builddirectory)", - "loc.input.label.Contents": "内容", - "loc.input.help.Contents": "要包含在副本中的文件路径。支持多行匹配模式。[详细信息](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.input.label.TargetFolder": "目标文件夹", - "loc.input.help.TargetFolder": "文件将复制到的目标文件夹或 UNC 路径。可以使用 [variables](http://go.microsoft.com/fwlink/?LinkID=550988)。示例: $(build.artifactstagingdirectory)", - "loc.input.label.CleanTargetFolder": "清理目标文件夹", - "loc.input.help.CleanTargetFolder": "复制之前,先删除目标文件夹中的现有全部文件", - "loc.input.label.OverWrite": "覆盖", - "loc.input.help.OverWrite": "替换目标文件夹中的现有文件", - "loc.input.label.flattenFolders": "精简文件夹", - "loc.input.help.flattenFolders": "平展文件夹结构并将所有文件复制到指定的目标文件夹。", - "loc.input.label.preserveTimestamp": "保留目标时间戳", - "loc.input.help.preserveTimestamp": "使用原始源文件,保留目标文件时间戳。", - "loc.input.label.retryCount": "复制该文件的重试计数", - "loc.input.help.retryCount": "指定复制该文件的重试计数。它可以帮助解决间歇性问题,例如远程主机上的 UNC 目标路径的问题。", - "loc.input.label.delayBetweenRetries": "两次重试之间的延迟。", - "loc.input.help.delayBetweenRetries": "指定两次重试之间的延迟。这可能有助于更灵活地应对间歇性问题,例如远程主机上的 UNC 目标路径。", - "loc.input.label.ignoreMakeDirErrors": "在创建目标文件夹期间忽略错误。", - "loc.input.help.ignoreMakeDirErrors": "忽略创建目标文件夹期间发生的错误。这有助于避免由具有一个目标文件夹的多个代理并行执行任务的问题。", - "loc.messages.FoundNFiles": "已找到 %d 个文件", - "loc.messages.CleaningTargetFolder": "正在清理目标文件夹: %s", - "loc.messages.FileAlreadyExistAt": "文件 %s 已存在于 %s", - "loc.messages.CopyingTo": "正在将 %s 复制到 %s", - "loc.messages.TargetIsDir": "无法将文件 %s 复制到 %s。目标路径已作为目录存在。" -} \ No newline at end of file diff --git a/_generated/CopyFilesV2_Node20/Strings/resources.resjson/zh-TW/resources.resjson b/_generated/CopyFilesV2_Node20/Strings/resources.resjson/zh-TW/resources.resjson deleted file mode 100644 index 52c4e6abbe42..000000000000 --- a/_generated/CopyFilesV2_Node20/Strings/resources.resjson/zh-TW/resources.resjson +++ /dev/null @@ -1,33 +0,0 @@ -{ - "loc.friendlyName": "複製檔案", - "loc.helpMarkDown": "[深入了解此工作](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.description": "使用模式比對檔案路徑 (非資料夾路徑) 從來源資料夾將檔案複製到目標資料夾", - "loc.instanceNameFormat": "將檔案複製到: $(TargetFolder)", - "loc.releaseNotes": "符合模式一致性。", - "loc.group.displayName.advanced": "進階", - "loc.input.label.SourceFolder": "來源資料夾", - "loc.input.help.SourceFolder": "複製模式執行所在的來源資料夾。保留空白表示是存放庫的根資料夾。若檔案不在存放庫中,請使用 [變數](https://go.microsoft.com/fwlink/?LinkID=550988)。例如: $(agent.builddirectory)", - "loc.input.label.Contents": "內容", - "loc.input.help.Contents": "要在複製時一併加入的檔案路徑。支援多行的比對模式。[詳細資訊](https://go.microsoft.com/fwlink/?LinkID=708389)", - "loc.input.label.TargetFolder": "目標資料夾", - "loc.input.help.TargetFolder": "設定要複製檔案的目標資料夾或 UNC 路徑。您可以使用[變數](http://go.microsoft.com/fwlink/?LinkID=550988)。例如: $(build.artifactstagingdirectory)", - "loc.input.label.CleanTargetFolder": "清除目標資料夾", - "loc.input.help.CleanTargetFolder": "複製前先刪除目標資料夾中所有現有的檔案", - "loc.input.label.OverWrite": "覆寫", - "loc.input.help.OverWrite": "取代目標資料夾中現有的檔案", - "loc.input.label.flattenFolders": "壓平合併資料夾", - "loc.input.help.flattenFolders": "壓平合併資料夾結構並將所有檔案複製到指定的目標資料夾。", - "loc.input.label.preserveTimestamp": "保留目標時間戳記", - "loc.input.help.preserveTimestamp": "正在使用原始來源檔案,保留目標檔案時間戳記。", - "loc.input.label.retryCount": "要複製檔案的重試計數", - "loc.input.help.retryCount": "指定要複製檔案的重試計數。這可能有助於解決間歇性問題,例如在遠端主機上使用 UNC 目標路徑。", - "loc.input.label.delayBetweenRetries": "兩次重試之間的延遲。", - "loc.input.help.delayBetweenRetries": "指定兩次重試之間的延遲。它可能有助於對間歇性問題保持彈性,例如在遠端主機上使用 UNC 目標路徑。", - "loc.input.label.ignoreMakeDirErrors": "在建立目標資料夾期間,略過錯誤。", - "loc.input.help.ignoreMakeDirErrors": "在建立目標資料夾期間,略過錯誤。這可能有助於避免多個代理程式與一個目標資料夾平行執行工作的問題。", - "loc.messages.FoundNFiles": "找到 %d 個檔案", - "loc.messages.CleaningTargetFolder": "正在刪除目標資料夾: %s", - "loc.messages.FileAlreadyExistAt": "檔案 %s 已存在於 %s 上", - "loc.messages.CopyingTo": "正在將 %s 複製到 %s", - "loc.messages.TargetIsDir": "無法將檔案 %s 複製到 %s。目標路徑已作為目錄存在。" -} \ No newline at end of file diff --git a/_generated/CopyFilesV2_Node20/Tests/L0.ts b/_generated/CopyFilesV2_Node20/Tests/L0.ts deleted file mode 100644 index dfe3095fe63f..000000000000 --- a/_generated/CopyFilesV2_Node20/Tests/L0.ts +++ /dev/null @@ -1,436 +0,0 @@ -import * as assert from 'assert'; -import * as mocktest from 'azure-pipelines-task-lib/mock-test'; -import * as os from 'os'; -import * as path from 'path'; - -describe('CopyFiles L0 Suite', function () { - this.timeout(parseInt(process.env.TASK_TEST_TIMEOUT) || 20000); - - before(() => { }); - - after(() => { }); - - it('copy files from srcdir to destdir', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0copyAllFiles.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert( - runner.succeeded, - 'should have succeeded'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir')}`), - 'should have mkdirP destDir'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir/someOtherDir')}`), - 'should have mkdirP someOtherDir'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir/someOtherDir2')}`), - 'should have mkdirP someOtherDir2'); - assert( - !runner.stdOutContained(`creating path: ${path.normalize('/destDir/someOtherDir3')}`), - 'should not have mkdirP someOtherDir3'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file1.file')} to ${path.normalize('/destDir/someOtherDir/file1.file')}`), - 'should have copied dir1 file1'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file2.file')} to ${path.normalize('/destDir/someOtherDir/file2.file')}`), - 'should have copied dir1 file2'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir2/file1.file')} to ${path.normalize('/destDir/someOtherDir2/file1.file')}`), - 'should have copied dir2 file1'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir2/file2.file')} to ${path.normalize('/destDir/someOtherDir2/file2.file')}`), - 'should have copied dir2 file2'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir2/file3.file')} to ${path.normalize('/destDir/someOtherDir2/file3.file')}`), - 'should have copied dir2 file3'); - done(); - }); - - it('copy files from srcdir to destdir with brackets in src path', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0copyAllFilesWithBracketsInSrcPath.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert( - runner.succeeded, - 'should have succeeded'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir')}`), - 'should have mkdirP destDir'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir/someOtherDir')}`), - 'should have mkdirP someOtherDir'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir/someOtherDir2')}`), - 'should have mkdirP someOtherDir2'); - assert( - !runner.stdOutContained(`creating path: ${path.normalize('/destDir/someOtherDir3')}`), - 'should not have mkdirP someOtherDir3'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir [bracket]/someOtherDir/file1.file')} to ${path.normalize('/destDir/someOtherDir/file1.file')}`), - 'should have copied dir1 file1'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir [bracket]/someOtherDir/file2.file')} to ${path.normalize('/destDir/someOtherDir/file2.file')}`), - 'should have copied dir1 file2'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir [bracket]/someOtherDir2/file1.file')} to ${path.normalize('/destDir/someOtherDir2/file1.file')}`), - 'should have copied dir2 file1'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir [bracket]/someOtherDir2/file2.file')} to ${path.normalize('/destDir/someOtherDir2/file2.file')}`), - 'should have copied dir2 file2'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir [bracket]/someOtherDir2/file3.file')} to ${path.normalize('/destDir/someOtherDir2/file3.file')}`), - 'should have copied dir2 file3'); - done(); - }); - - it('copy files and subtract based on exclude pattern', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0copySubtractExclude.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert( - runner.succeeded, - 'should have succeeded'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir')}`), - 'should have mkdirP destDir'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir/someOtherDir')}`), - 'should have mkdirP someOtherDir'); - assert( - !runner.stdOutContained(`creating path: ${path.normalize('/destDir/someOtherDir2')}`), - 'should not have mkdirP someOtherDir2'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file1.file')} to ${path.normalize('/destDir/someOtherDir/file1.file')}`), - 'should have copied dir1 file1'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file2.file')} to ${path.normalize('/destDir/someOtherDir/file2.file')}`), - 'should have copied dir1 file2'); - assert( - !runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir2/file1.file')} to ${path.normalize('/destDir/someOtherDir2/file1.file')}`), - 'should not have copied dir2 file1'); - done(); - }); - - it('fails if Contents not set', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0failsIfContentsNotSet.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert(runner.failed, 'should have failed'); - assert(runner.createdErrorIssue('Error: Input required: Contents'), 'should have created error issue'); - done(); - }); - - it('fails if SourceFolder not set', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0failsIfSourceFolderNotSet.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert(runner.failed, 'should have failed'); - assert(runner.createdErrorIssue('Error: Input required: SourceFolder'), 'should have created error issue'); - done(); - }); - - it('fails if TargetFolder not set', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0failsIfTargetFolderNotSet.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert(runner.failed, 'should have failed'); - assert(runner.createdErrorIssue('Error: Input required: TargetFolder'), 'should have created error issue'); - done(); - }); - - it('fails if SourceFolder not found', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0failsIfSourceFolderNotFound.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert(runner.failed, 'should have failed'); - assert(runner.createdErrorIssue(`Error: Not found ${path.normalize('/srcDir')}`), 'should have created error issue'); - done(); - }); - - it('fails if target file is a directory', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0failsIfTargetFileIsDir.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert(runner.failed, 'should have failed'); - assert(runner.createdErrorIssue(`Error: loc_mock_TargetIsDir ${path.normalize('/srcDir/someOtherDir/file1.file')} ${path.normalize('/destDir/someOtherDir/file1.file')}`), 'should have created error issue'); - done(); - }); - - it('skips if exists', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0skipsIfExists.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert( - runner.succeeded, - 'should have succeeded'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir')}`), - 'should have mkdirP destDir'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir/someOtherDir')}`), - 'should have mkdirP someOtherDir'); - assert( - !runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file1.file')} to ${path.normalize('/destDir/someOtherDir/file1.file')}`), - 'should not have copied file1'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file2.file')} to ${path.normalize('/destDir/someOtherDir/file2.file')}`), - 'should have copied file2'); - done(); - }); - - it('overwrites if specified', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0overwritesIfSpecified.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert( - runner.succeeded, - 'should have succeeded'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir')}`), - 'should have mkdirP destDir'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir/someOtherDir')}`), - 'should have mkdirP someOtherDir'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file1.file')} to ${path.normalize('/destDir/someOtherDir/file1.file')}`), - 'should have copied file1'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file2.file')} to ${path.normalize('/destDir/someOtherDir/file2.file')}`), - 'should have copied file2'); - done(); - }); - - it('preserves timestamp if specified', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0preservesTimestampIfSpecified.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert( - runner.succeeded, - 'should have succeeded'); - assert( - runner.stdOutContained(`Calling fs.utimes on ${path.normalize('/destDir')}`), - 'should have copied timestamp'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir')}`), - 'should have mkdirP destDir'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir/someOtherDir')}`), - 'should have mkdirP someOtherDir'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file1.file')} to ${path.normalize('/destDir/someOtherDir/file1.file')}`), - 'should have copied file1'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file2.file')} to ${path.normalize('/destDir/someOtherDir/file2.file')}`), - 'should have copied file2'); - done(); - }); - - it('cleans if specified', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0cleansIfSpecified.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert( - runner.succeeded, - 'should have succeeded'); - assert( - runner.stdOutContained(`rmRF ${path.normalize('/destDir/clean-subDir')}`), - 'should have cleaned destDir/clean-subDir'); - assert( - runner.stdOutContained(`rmRF ${path.normalize('/destDir/clean-file.txt')}`), - 'should have cleaned destDir/clean-file.txt'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir')}`), - 'should have mkdirP destDir'); - assert( - runner.stdOutContained(`creating path: ${path.join('/destDir', 'someOtherDir')}`), - 'should have mkdirP someOtherDir'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file1.file')} to ${path.normalize('/destDir/someOtherDir/file1.file')}`), - 'should have copied file1'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file2.file')} to ${path.normalize('/destDir/someOtherDir/file2.file')}`), - 'should have copied file2'); - done(); - }); - - it("skips cleaning when destination folder doesn't exist", (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0cleansIfSpecifiedAndDestDoesntExist.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - // This will fail if stat is called with throwEnoent=true - assert( - runner.succeeded, - 'should have succeeded'); - assert( - !runner.stdOutContained(`rmRF ${path.normalize('/destDir/clean-subDir')}`), - 'should have skipped cleaning non-existent directory'); - assert( - !runner.stdOutContained(`rmRF ${path.normalize('/destDir/clean-file.txt')}`), - 'should have skipped cleaning non-existent directory'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir')}`), - 'should have mkdirP destDir'); - assert( - runner.stdOutContained(`creating path: ${path.join('/destDir', 'someOtherDir')}`), - 'should have mkdirP someOtherDir'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file1.file')} to ${path.normalize('/destDir/someOtherDir/file1.file')}`), - 'should have copied file1'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file2.file')} to ${path.normalize('/destDir/someOtherDir/file2.file')}`), - 'should have copied file2'); - done(); - }); - - it('cleans if specified and target is file', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0cleansIfSpecifiedAndTargetIsFile.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert( - runner.succeeded, - 'should have succeeded'); - assert( - runner.stdOutContained(`rmRF ${path.normalize('/destDir')}`), - 'should have cleaned destDir'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir')}`), - 'should have mkdirP destDir'); - assert( - runner.stdOutContained(`creating path: ${path.join('/destDir', 'someOtherDir')}`), - 'should have mkdirP someOtherDir'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file1.file')} to ${path.normalize('/destDir/someOtherDir/file1.file')}`), - 'should have copied file1'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file2.file')} to ${path.normalize('/destDir/someOtherDir/file2.file')}`), - 'should have copied file2'); - done(); - }); - - it('roots patterns', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0rootsPatterns.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert( - runner.succeeded, - 'should have succeeded'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file1.file')} to ${path.normalize('/destDir/someOtherDir/file1.file')}`), - 'should have copied file1'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file2.file')} to ${path.normalize('/destDir/someOtherDir/file2.file')}`), - 'should have copied file2'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir2/file2.file')} to ${path.normalize('/destDir/someOtherDir2/file2.file')}`), - 'should have copied file1'); - done(); - }); - - it('ignores errors during target folder creation if ignoreMakeDirErrors is true', (done: Mocha.Done) => { - let testPath = path.join(__dirname, 'L0IgnoresMakeDirError.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert( - runner.succeeded, - 'should have succeeded'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file1.file')} to ${path.normalize('/destDir/someOtherDir/file1.file')}`), - 'should have copied file1'); - - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file2.file')} to ${path.normalize('/destDir/someOtherDir/file2.file')}`), - 'should have copied file2'); - done(); - }); - - it('fails if there are errors during target folder creation if ignoreMakeDirErrors is false', (done: Mocha.Done) => { - let testPath = path.join(__dirname, 'L0FailsIfThereIsMkdirError.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert( - runner.failed, - 'should have failed'); - done(); - }); - - if (process.platform == 'win32') { - it('overwrites readonly', (done: Mocha.Done) => { - this.timeout(1000); - - let testPath = path.join(__dirname, 'L0overwritesReadonly.js'); - let runner: mocktest.MockTestRunner = new mocktest.MockTestRunner(testPath); - runner.run(); - - assert( - runner.succeeded, - 'should have succeeded'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir')}`), - 'should have mkdirP destDir'); - assert( - runner.stdOutContained(`creating path: ${path.normalize('/destDir/someOtherDir')}`), - 'should have mkdirP someOtherDir'); - assert( - runner.stdOutContained(`chmodSync ${path.normalize('/destDir/someOtherDir/file1.file')} ${(6 << 6) + (6 << 3) + 6}`), // rw-rw-rw- - 'should have chmod file1'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file1.file')} to ${path.normalize('/destDir/someOtherDir/file1.file')}`), - 'should have copied file1'); - assert( - !runner.stdOutContained(`chmodSync ${path.normalize('/destDir/someOtherDir/file2.file')} ${(6 << 6) + (6 << 3) + 6}`), // rw-rw-rw- - 'should not have chmod file2'); - assert( - runner.stdOutContained(`copying ${path.normalize('/srcDir/someOtherDir/file2.file')} to ${path.normalize('/destDir/someOtherDir/file2.file')}`), - 'should have copied file2'); - done(); - }); - } -}); diff --git a/_generated/CopyFilesV2_Node20/Tests/L0BrokenSymlinksAllowed.ts b/_generated/CopyFilesV2_Node20/Tests/L0BrokenSymlinksAllowed.ts deleted file mode 100644 index 195ea0543da9..000000000000 --- a/_generated/CopyFilesV2_Node20/Tests/L0BrokenSymlinksAllowed.ts +++ /dev/null @@ -1,33 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, - find: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -runner.setAnswers(answers); - - -runner.registerMockExport('find', (itemPath: string, options: any) => { - if(!options.allowBrokenSymbolicLinks) { - throw new Error(""); - } - - return ['/srcDir/file1']; -}); - -// as a precaution, disable fs.chmodSync. it should not be called during this scenario. -fs.chmodSync = null; -runner.registerMock('fs', fs); - -runner.run(); diff --git a/_generated/CopyFilesV2_Node20/Tests/L0FailsIfThereIsMkdirError.ts b/_generated/CopyFilesV2_Node20/Tests/L0FailsIfThereIsMkdirError.ts deleted file mode 100644 index a0b08a051a61..000000000000 --- a/_generated/CopyFilesV2_Node20/Tests/L0FailsIfThereIsMkdirError.ts +++ /dev/null @@ -1,66 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('ignoreMakeDirErrors', 'false'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, - find: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -answers.find[path.normalize('/srcDir')] = [ - path.normalize('/srcDir'), - path.normalize('/srcDir/someOtherDir'), - path.normalize('/srcDir/someOtherDir/file1.file'), - path.normalize('/srcDir/someOtherDir/file2.file'), -]; -runner.setAnswers(answers); - -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - itemStats.isDirectory = () => true; - break; - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - itemStats.isDirectory = () => false; - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - // as a precaution, disable fs.chmodSync. it should not be called during this scenario. - chmodSync(p: fs.PathLike, mode: fs.Mode): void {} -}); - -runner.registerMockExport('mkdirP', (p: string) => { - console.log(`mkdirP: ${p}`); - - throw "Error during creation of target folder." -}); - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2_Node20/Tests/L0IgnoresMakeDirError.ts b/_generated/CopyFilesV2_Node20/Tests/L0IgnoresMakeDirError.ts deleted file mode 100644 index 7d2126885308..000000000000 --- a/_generated/CopyFilesV2_Node20/Tests/L0IgnoresMakeDirError.ts +++ /dev/null @@ -1,66 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('ignoreMakeDirErrors', 'true'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, - find: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -answers.find[path.normalize('/srcDir')] = [ - path.normalize('/srcDir'), - path.normalize('/srcDir/someOtherDir'), - path.normalize('/srcDir/someOtherDir/file1.file'), - path.normalize('/srcDir/someOtherDir/file2.file'), -]; -runner.setAnswers(answers); - -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - itemStats.isDirectory = () => true; - break; - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - itemStats.isDirectory = () => false; - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - // as a precaution, disable fs.chmodSync. it should not be called during this scenario. - chmodSync(p: fs.PathLike, mode: fs.Mode): void {} -}); - -runner.registerMockExport('mkdirP', (p: string) => { - console.log(`mkdirP: ${p}`); - - throw "Error during creation of target folder." -}); - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2_Node20/Tests/L0cleansIfSpecified.ts b/_generated/CopyFilesV2_Node20/Tests/L0cleansIfSpecified.ts deleted file mode 100644 index 7ae840d3ddb7..000000000000 --- a/_generated/CopyFilesV2_Node20/Tests/L0cleansIfSpecified.ts +++ /dev/null @@ -1,79 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'true'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, - find: { }, - rmRF: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -answers.find[path.normalize('/srcDir')] = [ - path.normalize('/srcDir'), - path.normalize('/srcDir/someOtherDir'), - path.normalize('/srcDir/someOtherDir/file1.file'), - path.normalize('/srcDir/someOtherDir/file2.file'), -]; -answers.rmRF[path.join(path.normalize('/destDir/clean-subDir'))] = { success: true }; -answers.rmRF[path.join(path.normalize('/destDir/clean-file.txt'))] = { success: true }; -runner.setAnswers(answers); - -let origReaddirSync = fs.readdirSync; -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/destDir'): - case path.normalize('/srcDir'): - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/destDir'): - case path.normalize('/srcDir'): - case path.normalize('/srcDir/someOtherDir'): - itemStats.isDirectory = () => true; - break; - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - itemStats.isDirectory = () => false; - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - readdirSync(p: fs.PathLike, o?: any): string[] { - console.log('HERE path ' + p); - let result: string[]; - if (p == path.normalize('/destDir')) { - result = [ 'clean-subDir', 'clean-file.txt' ]; - } - else { - result = origReaddirSync(p); - } - - return result; - }, - // as a precaution, disable fs.chmodSync. it should not be called during this scenario. - chmodSync(p: fs.PathLike, mode: fs.Mode): void {} -}); - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2_Node20/Tests/L0cleansIfSpecifiedAndDestDoesntExist.ts b/_generated/CopyFilesV2_Node20/Tests/L0cleansIfSpecifiedAndDestDoesntExist.ts deleted file mode 100644 index 6f82a706ee7d..000000000000 --- a/_generated/CopyFilesV2_Node20/Tests/L0cleansIfSpecifiedAndDestDoesntExist.ts +++ /dev/null @@ -1,70 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'true'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, - find: { }, - rmRF: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -answers.find[path.normalize('/srcDir')] = [ - path.normalize('/srcDir'), - path.normalize('/srcDir/someOtherDir'), - path.normalize('/srcDir/someOtherDir/file1.file'), - path.normalize('/srcDir/someOtherDir/file2.file'), -]; -answers.rmRF[path.join(path.normalize('/destDir/clean-subDir'))] = { success: true }; -answers.rmRF[path.join(path.normalize('/destDir/clean-file.txt'))] = { success: true }; -runner.setAnswers(answers); - -let origReaddirSync = fs.readdirSync; -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/srcDir'): - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/srcDir'): - case path.normalize('/srcDir/someOtherDir'): - itemStats.isDirectory = () => true; - break; - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - itemStats.isDirectory = () => false; - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - readdirSync(p: fs.PathLike, o?: any): any { - console.log('HERE path ' + p); - let result = origReaddirSync(p); - return result; - }, - // as a precaution, disable fs.chmodSync. it should not be called during this scenario. - chmodSync(p: fs.PathLike, mode: fs.Mode): void {} -}); - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2_Node20/Tests/L0cleansIfSpecifiedAndTargetIsFile.ts b/_generated/CopyFilesV2_Node20/Tests/L0cleansIfSpecifiedAndTargetIsFile.ts deleted file mode 100644 index b4ceec7035ce..000000000000 --- a/_generated/CopyFilesV2_Node20/Tests/L0cleansIfSpecifiedAndTargetIsFile.ts +++ /dev/null @@ -1,65 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'true'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, - find: { }, - rmRF: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -answers.find[path.normalize('/srcDir')] = [ - path.normalize('/srcDir'), - path.normalize('/srcDir/someOtherDir'), - path.normalize('/srcDir/someOtherDir/file1.file'), - path.normalize('/srcDir/someOtherDir/file2.file'), -]; -answers.rmRF[path.join(path.normalize('/destDir'))] = { success: true }; -runner.setAnswers(answers); - -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/srcDir'): - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/destDir'): - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/srcDir'): - case path.normalize('/srcDir/someOtherDir'): - itemStats.isDirectory = () => true; - break; - case path.normalize('/destDir'): - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - itemStats.isDirectory = () => false; - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - // as a precaution, disable fs.chmodSync. it should not be called during this scenario. - chmodSync(p: fs.PathLike, mode: fs.Mode): void {} -}); - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2_Node20/Tests/L0copyAllFiles.ts b/_generated/CopyFilesV2_Node20/Tests/L0copyAllFiles.ts deleted file mode 100644 index 91f0a616be97..000000000000 --- a/_generated/CopyFilesV2_Node20/Tests/L0copyAllFiles.ts +++ /dev/null @@ -1,75 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, - find: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -answers.find[path.normalize('/srcDir')] = [ - path.normalize('/srcDir'), - path.normalize('/srcDir/someOtherDir'), - path.normalize('/srcDir/someOtherDir/file1.file'), - path.normalize('/srcDir/someOtherDir/file2.file'), - path.normalize('/srcDir/someOtherDir2'), - path.normalize('/srcDir/someOtherDir2/file1.file'), - path.normalize('/srcDir/someOtherDir2/file2.file'), - path.normalize('/srcDir/someOtherDir2/file3.file'), - path.normalize('/srcDir/someOtherDir3'), -]; -runner.setAnswers(answers); - -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/srcDir'): - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - case path.normalize('/srcDir/someOtherDir2'): - case path.normalize('/srcDir/someOtherDir2/file1.file'): - case path.normalize('/srcDir/someOtherDir2/file2.file'): - case path.normalize('/srcDir/someOtherDir2/file3.file'): - case path.normalize('/srcDir/someOtherDir3'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/srcDir/someOtherDir2'): - case path.normalize('/srcDir/someOtherDir3'): - itemStats.isDirectory = () => true; - break; - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - case path.normalize('/srcDir/someOtherDir2/file1.file'): - case path.normalize('/srcDir/someOtherDir2/file2.file'): - case path.normalize('/srcDir/someOtherDir2/file3.file'): - itemStats.isDirectory = () => false; - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - // as a precaution, disable fs.chmodSync. it should not be called during this scenario. - chmodSync(p: fs.PathLike, mode: fs.Mode): void {} -}); - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2_Node20/Tests/L0copyAllFilesWithBracketsInSrcPath.ts b/_generated/CopyFilesV2_Node20/Tests/L0copyAllFilesWithBracketsInSrcPath.ts deleted file mode 100644 index 3ef5cf93c1ce..000000000000 --- a/_generated/CopyFilesV2_Node20/Tests/L0copyAllFilesWithBracketsInSrcPath.ts +++ /dev/null @@ -1,74 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir [bracket]')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, - find: { }, -}; -answers.checkPath[path.normalize('/srcDir [bracket]')] = true; -answers.find[path.normalize('/srcDir [bracket]')] = [ - path.normalize('/srcDir [bracket]'), - path.normalize('/srcDir [bracket]/someOtherDir'), - path.normalize('/srcDir [bracket]/someOtherDir/file1.file'), - path.normalize('/srcDir [bracket]/someOtherDir/file2.file'), - path.normalize('/srcDir [bracket]/someOtherDir2'), - path.normalize('/srcDir [bracket]/someOtherDir2/file1.file'), - path.normalize('/srcDir [bracket]/someOtherDir2/file2.file'), - path.normalize('/srcDir [bracket]/someOtherDir2/file3.file'), - path.normalize('/srcDir [bracket]/someOtherDir3'), -]; -runner.setAnswers(answers); - -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/srcDir [bracket]/someOtherDir'): - case path.normalize('/srcDir [bracket]/someOtherDir2'): - case path.normalize('/srcDir [bracket]/someOtherDir3'): - case path.normalize('/srcDir [bracket]/someOtherDir/file1.file'): - case path.normalize('/srcDir [bracket]/someOtherDir/file2.file'): - case path.normalize('/srcDir [bracket]/someOtherDir2/file1.file'): - case path.normalize('/srcDir [bracket]/someOtherDir2/file2.file'): - case path.normalize('/srcDir [bracket]/someOtherDir2/file3.file'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/srcDir [bracket]/someOtherDir'): - case path.normalize('/srcDir [bracket]/someOtherDir2'): - case path.normalize('/srcDir [bracket]/someOtherDir3'): - itemStats.isDirectory = () => true; - break; - case path.normalize('/srcDir [bracket]/someOtherDir/file1.file'): - case path.normalize('/srcDir [bracket]/someOtherDir/file2.file'): - case path.normalize('/srcDir [bracket]/someOtherDir2/file1.file'): - case path.normalize('/srcDir [bracket]/someOtherDir2/file2.file'): - case path.normalize('/srcDir [bracket]/someOtherDir2/file3.file'): - itemStats.isDirectory = () => false; - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - // as a precaution, disable fs.chmodSync. it should not be called during this scenario. - chmodSync(p: fs.PathLike, mode: fs.Mode): void {} -}); - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2_Node20/Tests/L0copySubtractExclude.ts b/_generated/CopyFilesV2_Node20/Tests/L0copySubtractExclude.ts deleted file mode 100644 index 7a87c776beca..000000000000 --- a/_generated/CopyFilesV2_Node20/Tests/L0copySubtractExclude.ts +++ /dev/null @@ -1,75 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import os = require('os'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**\n!**/someOtherDir2/**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, - find: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -answers.find[path.normalize('/srcDir')] = [ - path.normalize('/srcDir'), - path.normalize('/srcDir/someOtherDir'), - path.normalize('/srcDir/someOtherDir/file1.file'), - path.normalize('/srcDir/someOtherDir/file2.file'), - path.normalize('/srcDir/someOtherDir2'), - path.normalize('/srcDir/someOtherDir2/file1.file'), - path.normalize('/srcDir/someOtherDir2/file2.file'), - path.normalize('/srcDir/someOtherDir2/file3.file'), - path.normalize('/srcDir/someOtherDir3'), -]; -runner.setAnswers(answers); - -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/srcDir/someOtherDir2'): - case path.normalize('/srcDir/someOtherDir3'): - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - case path.normalize('/srcDir/someOtherDir2/file1.file'): - case path.normalize('/srcDir/someOtherDir2/file2.file'): - case path.normalize('/srcDir/someOtherDir2/file3.file'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/srcDir/someOtherDir2'): - case path.normalize('/srcDir/someOtherDir3'): - itemStats.isDirectory = () => true; - break; - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - case path.normalize('/srcDir/someOtherDir2/file1.file'): - case path.normalize('/srcDir/someOtherDir2/file2.file'): - case path.normalize('/srcDir/someOtherDir2/file3.file'): - itemStats.isDirectory = () => false; - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - // as a precaution, disable fs.chmodSync. it should not be called during this scenario. - chmodSync(p: fs.PathLike, mode: fs.Mode): void {} -}); - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2_Node20/Tests/L0failsIfContentsNotSet.ts b/_generated/CopyFilesV2_Node20/Tests/L0failsIfContentsNotSet.ts deleted file mode 100644 index 42705b62ac41..000000000000 --- a/_generated/CopyFilesV2_Node20/Tests/L0failsIfContentsNotSet.ts +++ /dev/null @@ -1,22 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir)')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -runner.setAnswers(answers); - -// as a precaution, disable fs.chmodSync. it should not be called during this scenario. -fs.chmodSync = null; -runner.registerMock('fs', fs); - -runner.run(); diff --git a/_generated/CopyFilesV2_Node20/Tests/L0failsIfSourceFolderNotFound.ts b/_generated/CopyFilesV2_Node20/Tests/L0failsIfSourceFolderNotFound.ts deleted file mode 100644 index 218163b8fbca..000000000000 --- a/_generated/CopyFilesV2_Node20/Tests/L0failsIfSourceFolderNotFound.ts +++ /dev/null @@ -1,23 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = false; -runner.setAnswers(answers); - -// as a precaution, disable fs.chmodSync. it should not be called during this scenario. -fs.chmodSync = null; -runner.registerMock('fs', fs); - -runner.run(); diff --git a/_generated/CopyFilesV2_Node20/Tests/L0failsIfSourceFolderNotSet.ts b/_generated/CopyFilesV2_Node20/Tests/L0failsIfSourceFolderNotSet.ts deleted file mode 100644 index 78d7d7e2a493..000000000000 --- a/_generated/CopyFilesV2_Node20/Tests/L0failsIfSourceFolderNotSet.ts +++ /dev/null @@ -1,17 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'false'); - -// as a precaution, disable fs.chmodSync. it should not be called during this scenario. -fs.chmodSync = null; -runner.registerMock('fs', fs); - -runner.run(); diff --git a/_generated/CopyFilesV2_Node20/Tests/L0failsIfTargetFileIsDir.ts b/_generated/CopyFilesV2_Node20/Tests/L0failsIfTargetFileIsDir.ts deleted file mode 100644 index 70b773bd1fb7..000000000000 --- a/_generated/CopyFilesV2_Node20/Tests/L0failsIfTargetFileIsDir.ts +++ /dev/null @@ -1,61 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, - find: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -answers.find[path.normalize('/srcDir')] = [ - path.normalize('/srcDir'), - path.normalize('/srcDir/someOtherDir'), - path.normalize('/srcDir/someOtherDir/file1.file'), - path.normalize('/srcDir/someOtherDir/file2.file'), -]; -runner.setAnswers(answers); - -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/destDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/destDir/someOtherDir/file1.file'): - itemStats.isDirectory = () => true; - break; - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - itemStats.isDirectory = () => false; - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - // as a precaution, disable fs.chmodSync. it should not be called during this scenario. - chmodSync(p: fs.PathLike, mode: fs.Mode): void {} -}); - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2_Node20/Tests/L0failsIfTargetFolderNotSet.ts b/_generated/CopyFilesV2_Node20/Tests/L0failsIfTargetFolderNotSet.ts deleted file mode 100644 index 32828282e4d6..000000000000 --- a/_generated/CopyFilesV2_Node20/Tests/L0failsIfTargetFolderNotSet.ts +++ /dev/null @@ -1,22 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -runner.setAnswers(answers); - -// as a precaution, disable fs.chmodSync. it should not be called during this scenario. -fs.chmodSync = null; -runner.registerMock('fs', fs); - -runner.run(); diff --git a/_generated/CopyFilesV2_Node20/Tests/L0overwritesIfSpecified.ts b/_generated/CopyFilesV2_Node20/Tests/L0overwritesIfSpecified.ts deleted file mode 100644 index a5b6381e74f1..000000000000 --- a/_generated/CopyFilesV2_Node20/Tests/L0overwritesIfSpecified.ts +++ /dev/null @@ -1,66 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'true'); -let answers = { - checkPath: { }, - find: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -answers.find[path.normalize('/srcDir')] = [ - path.normalize('/srcDir'), - path.normalize('/srcDir/someOtherDir'), - path.normalize('/srcDir/someOtherDir/file1.file'), - path.normalize('/srcDir/someOtherDir/file2.file'), -]; -runner.setAnswers(answers); - -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/destDir/someOtherDir'): - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - case path.normalize('/destDir/someOtherDir/file1.file'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/destDir/someOtherDir'): - itemStats.isDirectory = () => true; - break; - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - itemStats.isDirectory = () => false; - break; - case path.normalize('/destDir/someOtherDir/file1.file'): - itemStats.isDirectory = () => false; - itemStats.mode = (6 << 6) + (6 << 3) + 6; // rw-rw-rw- - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - // as a precaution, disable fs.chmodSync. it should not be called during this scenario. - chmodSync(p: fs.PathLike, mode: fs.Mode): void {} -}); - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2_Node20/Tests/L0overwritesReadonly.ts b/_generated/CopyFilesV2_Node20/Tests/L0overwritesReadonly.ts deleted file mode 100644 index 7e6a517a114f..000000000000 --- a/_generated/CopyFilesV2_Node20/Tests/L0overwritesReadonly.ts +++ /dev/null @@ -1,71 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'true'); -let answers = { - checkPath: { }, - find: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -answers.find[path.normalize('/srcDir')] = [ - path.normalize('/srcDir'), - path.normalize('/srcDir/someOtherDir'), - path.normalize('/srcDir/someOtherDir/file1.file'), - path.normalize('/srcDir/someOtherDir/file2.file'), -]; -runner.setAnswers(answers); - -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/destDir/someOtherDir'): - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - case path.normalize('/destDir/someOtherDir/file1.file'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/destDir/someOtherDir'): - itemStats.isDirectory = () => true; - break; - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - itemStats.isDirectory = () => false; - break; - case path.normalize('/destDir/someOtherDir/file1.file'): - itemStats.isDirectory = () => false; - itemStats.mode = (4 << 6) + (4 << 3) + 4; // r--r--r-- - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - // as a precaution, disable fs.chmodSync. it should not be called during this scenario. - chmodSync(p: fs.PathLike, mode: fs.Mode): void {} -}); - -// override fs.chmodSync -(fsClone as any).chmodSync = (path: string, mode: number) => { - console.log(`##vso[task.debug]chmodSync ${path} ${mode}`); -}; - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2_Node20/Tests/L0preservesTimestampIfSpecified.ts b/_generated/CopyFilesV2_Node20/Tests/L0preservesTimestampIfSpecified.ts deleted file mode 100644 index 5a78ad8f43b6..000000000000 --- a/_generated/CopyFilesV2_Node20/Tests/L0preservesTimestampIfSpecified.ts +++ /dev/null @@ -1,78 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -const { promisify } = require('util'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'false'); -runner.setInput('preserveTimestamp', 'true'); -let answers = { - checkPath: {}, - find: {}, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -answers.find[path.normalize('/srcDir')] = [ - path.normalize('/srcDir'), - path.normalize('/srcDir/someOtherDir'), - path.normalize('/srcDir/someOtherDir/file1.file'), - path.normalize('/srcDir/someOtherDir/file2.file'), - path.normalize('/srcDir/someOtherDir2'), - path.normalize('/srcDir/someOtherDir2/file1.file'), - path.normalize('/srcDir/someOtherDir2/file2.file'), - path.normalize('/srcDir/someOtherDir2/file3.file'), - path.normalize('/srcDir/someOtherDir3'), -]; -runner.setAnswers(answers); - -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/srcDir/someOtherDir2'): - case path.normalize('/srcDir/someOtherDir3'): - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - case path.normalize('/srcDir/someOtherDir2/file1.file'): - case path.normalize('/srcDir/someOtherDir2/file2.file'): - case path.normalize('/srcDir/someOtherDir2/file3.file'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/srcDir/someOtherDir2'): - case path.normalize('/srcDir/someOtherDir3'): - itemStats.isDirectory = () => true; - break; - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - case path.normalize('/srcDir/someOtherDir2/file1.file'): - case path.normalize('/srcDir/someOtherDir2/file2.file'): - case path.normalize('/srcDir/someOtherDir2/file3.file'): - itemStats.isDirectory = () => false; - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - utimes(targetPath, atime, mtime, err): void { - console.log('Calling fs.utimes on', targetPath); - } -}); - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2_Node20/Tests/L0rootsPatterns.ts b/_generated/CopyFilesV2_Node20/Tests/L0rootsPatterns.ts deleted file mode 100644 index 87bf728e7642..000000000000 --- a/_generated/CopyFilesV2_Node20/Tests/L0rootsPatterns.ts +++ /dev/null @@ -1,63 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', 'someOtherDir/file?.file\nsomeOtherDir2/*.file\n!someOtherDir2/file[13].file'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, - find: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -answers.find[path.normalize('/srcDir')] = [ - path.normalize('/srcDir'), - path.normalize('/srcDir/someOtherDir'), - path.normalize('/srcDir/someOtherDir/file1.file'), - path.normalize('/srcDir/someOtherDir/file2.file'), - path.normalize('/srcDir/someOtherDir/file-zzz.file'), - path.normalize('/srcDir/someOtherDir2'), - path.normalize('/srcDir/someOtherDir2/file1.file'), - path.normalize('/srcDir/someOtherDir2/file2.file'), - path.normalize('/srcDir/someOtherDir2/file3.file'), - path.normalize('/srcDir/someOtherDir3'), -]; -runner.setAnswers(answers); - -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - case path.normalize('/srcDir/someOtherDir2/file2.file'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - case path.normalize('/srcDir/someOtherDir2/file2.file'): - itemStats.isDirectory = () => false; - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - // as a precaution, disable fs.chmodSync. it should not be called during this scenario. - chmodSync(p: fs.PathLike, mode: fs.Mode): void {} -}); - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2_Node20/Tests/L0skipsIfExists.ts b/_generated/CopyFilesV2_Node20/Tests/L0skipsIfExists.ts deleted file mode 100644 index b509e9d6660e..000000000000 --- a/_generated/CopyFilesV2_Node20/Tests/L0skipsIfExists.ts +++ /dev/null @@ -1,63 +0,0 @@ -import fs = require('fs'); -import mockanswer = require('azure-pipelines-task-lib/mock-answer'); -import mockrun = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'copyfiles.js'); -let runner: mockrun.TaskMockRunner = new mockrun.TaskMockRunner(taskPath); -runner.setInput('Contents', '**'); -runner.setInput('SourceFolder', path.normalize('/srcDir')); -runner.setInput('TargetFolder', path.normalize('/destDir')); -runner.setInput('CleanTargetFolder', 'false'); -runner.setInput('Overwrite', 'false'); -let answers = { - checkPath: { }, - find: { }, -}; -answers.checkPath[path.normalize('/srcDir')] = true; -answers.find[path.normalize('/srcDir')] = [ - path.normalize('/srcDir'), - path.normalize('/srcDir/someOtherDir'), - path.normalize('/srcDir/someOtherDir/file1.file'), - path.normalize('/srcDir/someOtherDir/file2.file'), -]; -runner.setAnswers(answers); - -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - existsSync(itemPath: string): boolean { - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/destDir/someOtherDir'): - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - case path.normalize('/destDir/someOtherDir/file1.file'): - return true; - default: - return false; - } - }, - statSync(itemPath: string): fs.Stats { - const itemStats: fs.Stats = new fs.Stats(); - switch (itemPath) { - case path.normalize('/srcDir/someOtherDir'): - case path.normalize('/destDir/someOtherDir'): - itemStats.isDirectory = () => true; - break; - case path.normalize('/srcDir/someOtherDir/file1.file'): - case path.normalize('/srcDir/someOtherDir/file2.file'): - case path.normalize('/destDir/someOtherDir/file1.file'): - itemStats.isDirectory = () => false; - break; - default: - throw { code: 'ENOENT' }; - } - return itemStats; - }, - // as a precaution, disable fs.chmodSync. it should not be called during this scenario. - chmodSync(p: fs.PathLike, mode: fs.Mode): void {} -}); - -runner.registerMock('fs', fsClone); - -runner.run(); diff --git a/_generated/CopyFilesV2_Node20/copyfiles.ts b/_generated/CopyFilesV2_Node20/copyfiles.ts deleted file mode 100644 index a310d23a76e2..000000000000 --- a/_generated/CopyFilesV2_Node20/copyfiles.ts +++ /dev/null @@ -1,275 +0,0 @@ -import fs = require('fs'); -import path = require('path'); -import tl = require('azure-pipelines-task-lib/task'); -import { RetryOptions, RetryHelper } from './retrylogichelper'; - -/** - * Shows timestamp change operation results - * @param fileStats file stats - * @param err error - null if there is no error - */ -function displayTimestampChangeResults( - fileStats: fs.Stats, - err: NodeJS.ErrnoException -) { - if (err) { - console.warn(`Problem applying the timestamp: ${err}`); - } else { - console.log(`Timestamp preserved successfully - access time: ${fileStats.atime}, modified time: ${fileStats.mtime}`) - } -} - -/** - * Creates the full path with folders in between. Will throw an error if it fails - * If ignoreErrors is true - ignores the errors. - * @param targetFolder target folder. For more details see https://github.com/Microsoft/azure-pipelines-task-lib/blob/master/node/docs/azure-pipelines-task-lib.md#taskmkdirP - * @param ignoreErrors ignore errors during creation of target folder. - */ -function makeDirP(targetFolder: string, ignoreErrors: boolean): void { - try { - tl.mkdirP(targetFolder); - } catch (err) { - if (ignoreErrors) { - console.log(`Unable to create target folder (${targetFolder}): ${err}. Ignoring this as error since 'ignoreErrors' is true.`); - } else { - throw err; - } - } -} - -/** - * Gets stats for the provided path. - * Will throw error if entry does not exist and `throwEnoent` is `true`. - * @param path path for which method will try to get `fs.Stats`. - * @param throwEnoent throw error if entry does not exist. - * @returns `fs.Stats` or `null` - */ -function stats(path: string, throwEnoent: boolean = true): fs.Stats | null { - if (fs.existsSync(path)) { - return fs.statSync(path); - } else { - const message: string = `Entry "${path}" does not exist`; - if (throwEnoent) { - tl.warning(message); - throw new Error(message); - } - tl.debug(message); - return null; - } -} - -function filterOutDirectories(paths: string[]): string[] { - return paths.filter((path: string) => { - const itemStats: fs.Stats = stats(path); - return !itemStats.isDirectory(); - }); -} - -async function main(): Promise { - // we allow broken symlinks - since there could be broken symlinks found in source folder, but filtered by contents pattern - const findOptions: tl.FindOptions = { - allowBrokenSymbolicLinks: true, - followSpecifiedSymbolicLink: true, - followSymbolicLinks: true - }; - - tl.setResourcePath(path.join(__dirname, 'task.json')); - - // contents is a multiline input containing glob patterns - let contents: string[] = tl.getDelimitedInput('Contents', '\n', true); - let sourceFolder: string = tl.getPathInput('SourceFolder', true, true); - let targetFolder: string = tl.getPathInput('TargetFolder', true); - let cleanTargetFolder: boolean = tl.getBoolInput('CleanTargetFolder', false); - let overWrite: boolean = tl.getBoolInput('OverWrite', false); - let flattenFolders: boolean = tl.getBoolInput('flattenFolders', false); - let retryCount: number = parseInt(tl.getInput('retryCount')); - let delayBetweenRetries: number = parseInt(tl.getInput('delayBetweenRetries')); - - if (isNaN(retryCount) || retryCount < 0) { - retryCount = 0; - } - - if (isNaN(delayBetweenRetries) || delayBetweenRetries < 0) { - delayBetweenRetries = 0; - } - - const retryOptions: RetryOptions = { - timeoutBetweenRetries: delayBetweenRetries, - numberOfReties: retryCount - }; - const retryHelper = new RetryHelper(retryOptions); - - const preserveTimestamp: boolean = tl.getBoolInput('preserveTimestamp', false); - const ignoreMakeDirErrors: boolean = tl.getBoolInput('ignoreMakeDirErrors', false); - - // normalize the source folder path. this is important for later in order to accurately - // determine the relative path of each found file (substring using sourceFolder.length). - sourceFolder = path.normalize(sourceFolder); - let allPaths: string[] = tl.find(sourceFolder, findOptions); - let sourceFolderPattern = sourceFolder.replace('[', '[[]'); // directories can have [] in them, and they have special meanings as a pattern, so escape them - let matchedPaths: string[] = tl.match(allPaths, contents, sourceFolderPattern); // default match options - let matchedFiles: string[] = filterOutDirectories(matchedPaths); - - // copy the files to the target folder - console.log(tl.loc('FoundNFiles', matchedFiles.length)); - - if (matchedFiles.length > 0) { - // clean target folder if required - if (cleanTargetFolder) { - console.log(tl.loc('CleaningTargetFolder', targetFolder)); - - // stat the targetFolder path - const targetFolderStats: fs.Stats = await retryHelper.RunWithRetry( - () => stats(targetFolder, false), - `stats for ${targetFolder}` - ); - - // If there are no stats, the folder doesn't exist. Nothing to clean. - if (targetFolderStats) { - if (targetFolderStats.isDirectory()) { - // delete the child items - const folderItems: string[] = await retryHelper.RunWithRetry( - () => fs.readdirSync(targetFolder), - `readdirSync for ${targetFolder}` - ); - - for (let item of folderItems) { - let itemPath = path.join(targetFolder, item); - await retryHelper.RunWithRetry(() => - tl.rmRF(itemPath), - `delete of ${itemPath}` - ); - } - } else { - await retryHelper.RunWithRetry(() => - tl.rmRF(targetFolder), - `delete of ${targetFolder}` - ); - } - } - } - - // make sure the target folder exists - await retryHelper.RunWithRetry(() => - makeDirP(targetFolder, ignoreMakeDirErrors), - `makeDirP for ${targetFolder}` - ); - try { - let createdFolders: { [folder: string]: boolean } = {}; - for (let file of matchedFiles) { - let relativePath; - if (flattenFolders) { - relativePath = path.basename(file); - } else { - relativePath = file.substring(sourceFolder.length); - - // trim leading path separator - // note, assumes normalized above - if (relativePath.startsWith(path.sep)) { - relativePath = relativePath.substr(1); - } - } - - let targetPath = path.join(targetFolder, relativePath); - let targetDir = path.dirname(targetPath); - - if (!createdFolders[targetDir]) { - await retryHelper.RunWithRetry( - () => makeDirP(targetDir, ignoreMakeDirErrors), - `makeDirP for ${targetDir}` - ); - - createdFolders[targetDir] = true; - } - - // stat the target - let targetStats: fs.Stats; - if (!cleanTargetFolder) { // optimization - no need to check if relative target exists when CleanTargetFolder=true - targetStats = await retryHelper.RunWithRetry( - () => stats(targetPath, false), - `Stats for ${targetPath}` - ); - } - - // validate the target is not a directory - if (targetStats && targetStats.isDirectory()) { - throw new Error(tl.loc('TargetIsDir', file, targetPath)); - } - - if (!overWrite) { - if (targetStats) { // exists, skip - console.log(tl.loc('FileAlreadyExistAt', file, targetPath)); - } else { // copy - console.log(tl.loc('CopyingTo', file, targetPath)); - await retryHelper.RunWithRetry( - () => tl.cp(file, targetPath), - `copy ${file} to ${targetPath}` - ); - if (preserveTimestamp) { - try { - const fileStats: fs.Stats = await retryHelper.RunWithRetry( - () => stats(file), - `stats for ${file}` - ); - fs.utimes(targetPath, fileStats.atime, fileStats.mtime, (err) => { - displayTimestampChangeResults(fileStats, err); - }); - } catch (err) { - console.warn(`Problem preserving the timestamp: ${err}`) - } - } - } - } else { // copy - console.log(tl.loc('CopyingTo', file, targetPath)); - if (process.platform == 'win32' && targetStats && (targetStats.mode & 146) != 146) { - // The readonly attribute can be interpreted by performing a bitwise-AND operation on - // "fs.Stats.mode" and the integer 146. The integer 146 represents "-w--w--w-" or (128 + 16 + 2), - // see following chart: - // R W X R W X R W X - // 256 128 64 32 16 8 4 2 1 - // - // "fs.Stats.mode" on Windows is based on whether the readonly attribute is set. - // If the readonly attribute is set, then the mode is set to "r--r--r--". - // If the readonly attribute is not set, then the mode is set to "rw-rw-rw-". - // - // Note, additional bits may also be set (e.g. if directory). Therefore, a bitwise - // comparison is appropriate. - // - // For additional information, refer to the fs source code and ctrl+f "st_mode": - // https://github.com/nodejs/node/blob/v5.x/deps/uv/src/win/fs.c#L1064 - tl.debug(`removing readonly attribute on '${targetPath}'`); - - await retryHelper.RunWithRetry( - () => fs.chmodSync(targetPath, targetStats.mode | 146), - `chmodSync for ${targetPath}` - ); - } - await retryHelper.RunWithRetry( - () => tl.cp(file, targetPath, "-f"), - `copy ${file} to ${targetPath}` - ); - - if (preserveTimestamp) { - try { - const fileStats = await retryHelper.RunWithRetry( - () => stats(file), - `stats for ${file}` - ); - fs.utimes(targetPath, fileStats.atime, fileStats.mtime, (err) => { - displayTimestampChangeResults(fileStats, err); - }); - } catch (err) { - console.warn(`Problem preserving the timestamp: ${err}`) - } - } - } - } - } catch (err) { - tl.setResult(tl.TaskResult.Failed, err); - } - } -} - -main().catch((err) => { - tl.setResult(tl.TaskResult.Failed, err); -}); diff --git a/_generated/CopyFilesV2_Node20/icon.png b/_generated/CopyFilesV2_Node20/icon.png deleted file mode 100644 index 443e57fd1c28..000000000000 Binary files a/_generated/CopyFilesV2_Node20/icon.png and /dev/null differ diff --git a/_generated/CopyFilesV2_Node20/icon.svg b/_generated/CopyFilesV2_Node20/icon.svg deleted file mode 100644 index a854146f9cfd..000000000000 --- a/_generated/CopyFilesV2_Node20/icon.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/_generated/CopyFilesV2_Node20/package-lock.json b/_generated/CopyFilesV2_Node20/package-lock.json deleted file mode 100644 index 0ad1afb6d076..000000000000 --- a/_generated/CopyFilesV2_Node20/package-lock.json +++ /dev/null @@ -1,496 +0,0 @@ -{ - "name": "vsts-copyfiles-task", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "requires": { - "@types/node": "*" - } - }, - "@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "requires": { - "@types/node": "*" - } - }, - "@types/mocha": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" - }, - "@types/node": { - "version": "20.11.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.0.tgz", - "integrity": "sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==", - "requires": { - "undici-types": "~5.26.4" - } - }, - "@types/qs": { - "version": "6.9.8", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", - "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==" - }, - "@types/uuid": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", - "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==" - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "azure-pipelines-task-lib": { - "version": "5.0.0-preview.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-5.0.0-preview.0.tgz", - "integrity": "sha512-uQJEv+q3/7RD7kgphFd33uXijaPwA1ePYoNkAgZpUhbZUtc2u4JL4ujTT/JJfgXBNW/QQNAiDQ2OC7vOQG/0tg==", - "requires": { - "minimatch": "3.0.5", - "q": "^1.5.1", - "semver": "^5.1.0", - "shelljs": "^0.8.5", - "sync-request": "6.1.0", - "uuid": "^3.0.1" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "form-data": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", - "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } - }, - "get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==" - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "requires": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - } - }, - "http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "requires": { - "@types/node": "^10.0.3" - }, - "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - } - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" - }, - "is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", - "requires": { - "has": "^1.0.3" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "requires": { - "asap": "~2.0.6" - } - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" - }, - "qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "requires": { - "resolve": "^1.1.6" - } - }, - "resolve": { - "version": "1.22.6", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", - "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "sync-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "requires": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - } - }, - "sync-rpc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", - "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "requires": { - "get-port": "^3.1.0" - } - }, - "then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "requires": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "dependencies": { - "@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - } - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - }, - "typescript": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", - "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", - "dev": true - }, - "undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - } - } -} diff --git a/_generated/CopyFilesV2_Node20/package.json b/_generated/CopyFilesV2_Node20/package.json deleted file mode 100644 index a1f0b10542ea..000000000000 --- a/_generated/CopyFilesV2_Node20/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "vsts-copyfiles-task", - "version": "1.0.0", - "description": "Azure Pipelines Copy Files Task", - "main": "copyfiles.js", - "repository": { - "type": "git", - "url": "git+https://github.com/Microsoft/azure-pipelines-tasks.git" - }, - "author": "Microsoft Corporation", - "license": "MIT", - "dependencies": { - "@types/node": "^20.11.0", - "@types/mocha": "^5.2.7", - "@types/uuid": "^8.3.0", - "azure-pipelines-task-lib": "^5.0.0-preview.0" - }, - "devDependencies": { - "typescript": "5.1.6" - } -} diff --git a/_generated/CopyFilesV2_Node20/retrylogichelper.ts b/_generated/CopyFilesV2_Node20/retrylogichelper.ts deleted file mode 100644 index 75171ac2417c..000000000000 --- a/_generated/CopyFilesV2_Node20/retrylogichelper.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Interface for FindOptions - * Contains properties to control whether to follow symlinks - */ - export interface RetryOptions { - - /** - * Number of retries - */ - numberOfReties: number, - - /** - * Timeout between retries in milliseconds - */ - timeoutBetweenRetries: number -} - -export class RetryHelper { - private retryOptions: RetryOptions; - - constructor (retryOptions: RetryOptions) { - this.retryOptions = retryOptions; - } - - - public async RunWithRetry(action: () => T, actionName: string): Promise { - let attempts = this.retryOptions.numberOfReties; - while (true) { - try { - const result: T = await action(); - return result; - } catch (err) { - --attempts; - if (attempts <= 0) { - throw err; - } - console.log(`Error while ${actionName}: ${err}. Remaining attempts: ${attempts}`); - await this.sleep(); - } - } - } - - private async sleep() { - return new Promise(resolve => setTimeout(resolve, - this.retryOptions.timeoutBetweenRetries)); - } -} \ No newline at end of file diff --git a/_generated/CopyFilesV2_Node20/task.json b/_generated/CopyFilesV2_Node20/task.json deleted file mode 100644 index 0fb2e9784937..000000000000 --- a/_generated/CopyFilesV2_Node20/task.json +++ /dev/null @@ -1,155 +0,0 @@ -{ - "id": "5BFB729A-A7C8-4A78-A7C3-8D717BB7C13C", - "name": "CopyFiles", - "friendlyName": "Copy files", - "description": "Copy files from a source folder to a target folder using patterns matching file paths (not folder paths)", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/copy-files", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=708389)", - "category": "Utility", - "visibility": [ - "Build" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 2, - "Minor": 231, - "Patch": 2 - }, - "releaseNotes": "Match pattern consistency.", - "demands": [], - "minimumAgentVersion": "2.182.1", - "groups": [ - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": false - } - ], - "inputs": [ - { - "name": "SourceFolder", - "type": "filePath", - "label": "Source Folder", - "defaultValue": "", - "required": false, - "helpMarkDown": "The source folder that the copy pattern(s) will be run from. Empty is the root of the repo. Use [variables](https://go.microsoft.com/fwlink/?LinkID=550988) if files are not in the repo. Example: $(agent.builddirectory)" - }, - { - "name": "Contents", - "type": "multiLine", - "label": "Contents", - "defaultValue": "**", - "required": true, - "helpMarkDown": "File paths to include as part of the copy. Supports multiple lines of match patterns. [More Information](https://go.microsoft.com/fwlink/?LinkID=708389)" - }, - { - "name": "TargetFolder", - "type": "string", - "label": "Target Folder", - "defaultValue": "", - "required": true, - "helpMarkDown": "Target folder or UNC path files will copy to. You can use [variables](http://go.microsoft.com/fwlink/?LinkID=550988). Example: $(build.artifactstagingdirectory)" - }, - { - "name": "CleanTargetFolder", - "type": "boolean", - "label": "Clean Target Folder", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Delete all existing files in target folder before copy", - "groupName": "advanced" - }, - { - "name": "OverWrite", - "type": "boolean", - "label": "Overwrite", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Replace existing file in target folder", - "groupName": "advanced" - }, - { - "name": "flattenFolders", - "type": "boolean", - "label": "Flatten Folders", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Flatten the folder structure and copy all files into the specified target folder.", - "groupName": "advanced" - }, - { - "name": "preserveTimestamp", - "type": "boolean", - "label": "Preserve Target Timestamp", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Using the original source file, preserve the target file timestamp.", - "groupName": "advanced" - }, - { - "name": "retryCount", - "type": "string", - "label": "Retry count to copy the file", - "defaultValue": "0", - "required": false, - "helpMarkDown": "Specify the retry count to copy the file. It might help to resolve intermittent issues e.g. with UNC target paths on a remote host.", - "groupName": "advanced" - }, - { - "name": "delayBetweenRetries", - "type": "string", - "label": "Delay between two retries.", - "defaultValue": "1000", - "required": false, - "helpMarkDown": "Specify the delay between two retries. It might help to be more resilient to intermittent issues e.g. with UNC target paths on a remote host.", - "groupName": "advanced" - }, - { - "name": "ignoreMakeDirErrors", - "type": "boolean", - "label": "Ignore errors during creation of target folder.", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Ignore errors which happen during creation of target folder. This could be useful to avoid issues with parallel execution of task by several agents with one target folder.", - "groupName": "advanced" - } - ], - "instanceNameFormat": "Copy Files to: $(TargetFolder)", - "execution": { - "Node10": { - "target": "copyfiles.js", - "argumentFormat": "" - }, - "Node16": { - "target": "copyfiles.js", - "argumentFormat": "" - }, - "Node20_1": { - "target": "copyfiles.js", - "argumentFormat": "" - } - }, - "messages": { - "FoundNFiles": "found %d files", - "CleaningTargetFolder": "Cleaning target folder: %s", - "FileAlreadyExistAt": "File %s already exist at %s", - "CopyingTo": "Copying %s to %s", - "TargetIsDir": "Unable to copy file %s to %s. The target path already exists as a directory." - }, - "restrictions": { - "commands": { - "mode": "restricted" - }, - "settableVariables": { - "allowed": [] - } - }, - "_buildConfigMapping": { - "Default": "2.231.0", - "Node20-228": "2.231.2" - } -} \ No newline at end of file diff --git a/_generated/CopyFilesV2_Node20/task.loc.json b/_generated/CopyFilesV2_Node20/task.loc.json deleted file mode 100644 index 2ba30fc60bac..000000000000 --- a/_generated/CopyFilesV2_Node20/task.loc.json +++ /dev/null @@ -1,155 +0,0 @@ -{ - "id": "5BFB729A-A7C8-4A78-A7C3-8D717BB7C13C", - "name": "CopyFiles", - "friendlyName": "ms-resource:loc.friendlyName", - "description": "ms-resource:loc.description", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/copy-files", - "helpMarkDown": "ms-resource:loc.helpMarkDown", - "category": "Utility", - "visibility": [ - "Build" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 2, - "Minor": 231, - "Patch": 2 - }, - "releaseNotes": "ms-resource:loc.releaseNotes", - "demands": [], - "minimumAgentVersion": "2.182.1", - "groups": [ - { - "name": "advanced", - "displayName": "ms-resource:loc.group.displayName.advanced", - "isExpanded": false - } - ], - "inputs": [ - { - "name": "SourceFolder", - "type": "filePath", - "label": "ms-resource:loc.input.label.SourceFolder", - "defaultValue": "", - "required": false, - "helpMarkDown": "ms-resource:loc.input.help.SourceFolder" - }, - { - "name": "Contents", - "type": "multiLine", - "label": "ms-resource:loc.input.label.Contents", - "defaultValue": "**", - "required": true, - "helpMarkDown": "ms-resource:loc.input.help.Contents" - }, - { - "name": "TargetFolder", - "type": "string", - "label": "ms-resource:loc.input.label.TargetFolder", - "defaultValue": "", - "required": true, - "helpMarkDown": "ms-resource:loc.input.help.TargetFolder" - }, - { - "name": "CleanTargetFolder", - "type": "boolean", - "label": "ms-resource:loc.input.label.CleanTargetFolder", - "defaultValue": "false", - "required": false, - "helpMarkDown": "ms-resource:loc.input.help.CleanTargetFolder", - "groupName": "advanced" - }, - { - "name": "OverWrite", - "type": "boolean", - "label": "ms-resource:loc.input.label.OverWrite", - "defaultValue": "false", - "required": false, - "helpMarkDown": "ms-resource:loc.input.help.OverWrite", - "groupName": "advanced" - }, - { - "name": "flattenFolders", - "type": "boolean", - "label": "ms-resource:loc.input.label.flattenFolders", - "defaultValue": "false", - "required": false, - "helpMarkDown": "ms-resource:loc.input.help.flattenFolders", - "groupName": "advanced" - }, - { - "name": "preserveTimestamp", - "type": "boolean", - "label": "ms-resource:loc.input.label.preserveTimestamp", - "defaultValue": "false", - "required": false, - "helpMarkDown": "ms-resource:loc.input.help.preserveTimestamp", - "groupName": "advanced" - }, - { - "name": "retryCount", - "type": "string", - "label": "ms-resource:loc.input.label.retryCount", - "defaultValue": "0", - "required": false, - "helpMarkDown": "ms-resource:loc.input.help.retryCount", - "groupName": "advanced" - }, - { - "name": "delayBetweenRetries", - "type": "string", - "label": "ms-resource:loc.input.label.delayBetweenRetries", - "defaultValue": "1000", - "required": false, - "helpMarkDown": "ms-resource:loc.input.help.delayBetweenRetries", - "groupName": "advanced" - }, - { - "name": "ignoreMakeDirErrors", - "type": "boolean", - "label": "ms-resource:loc.input.label.ignoreMakeDirErrors", - "defaultValue": "false", - "required": false, - "helpMarkDown": "ms-resource:loc.input.help.ignoreMakeDirErrors", - "groupName": "advanced" - } - ], - "instanceNameFormat": "ms-resource:loc.instanceNameFormat", - "execution": { - "Node10": { - "target": "copyfiles.js", - "argumentFormat": "" - }, - "Node16": { - "target": "copyfiles.js", - "argumentFormat": "" - }, - "Node20_1": { - "target": "copyfiles.js", - "argumentFormat": "" - } - }, - "messages": { - "FoundNFiles": "ms-resource:loc.messages.FoundNFiles", - "CleaningTargetFolder": "ms-resource:loc.messages.CleaningTargetFolder", - "FileAlreadyExistAt": "ms-resource:loc.messages.FileAlreadyExistAt", - "CopyingTo": "ms-resource:loc.messages.CopyingTo", - "TargetIsDir": "ms-resource:loc.messages.TargetIsDir" - }, - "restrictions": { - "commands": { - "mode": "restricted" - }, - "settableVariables": { - "allowed": [] - } - }, - "_buildConfigMapping": { - "Default": "2.231.0", - "Node20-228": "2.231.2" - } -} \ No newline at end of file diff --git a/_generated/CopyFilesV2_Node20/tsconfig.json b/_generated/CopyFilesV2_Node20/tsconfig.json deleted file mode 100644 index 0438b79f69ac..000000000000 --- a/_generated/CopyFilesV2_Node20/tsconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "compilerOptions": { - "target": "ES6", - "module": "commonjs" - } -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1.versionmap.txt b/_generated/DeleteFilesV1.versionmap.txt deleted file mode 100644 index c2c95dff691b..000000000000 --- a/_generated/DeleteFilesV1.versionmap.txt +++ /dev/null @@ -1,2 +0,0 @@ -Default|1.235.0 -Node20-228|1.235.1 diff --git a/_generated/DeleteFilesV1/Strings/resources.resjson/de-DE/resources.resjson b/_generated/DeleteFilesV1/Strings/resources.resjson/de-DE/resources.resjson deleted file mode 100644 index 7ad1f501a90d..000000000000 --- a/_generated/DeleteFilesV1/Strings/resources.resjson/de-DE/resources.resjson +++ /dev/null @@ -1,18 +0,0 @@ -{ - "loc.friendlyName": "Dateien löschen", - "loc.helpMarkDown": "[Weitere Informationen zu dieser Aufgabe](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.description": "Hiermit werden Ordner oder Dateien gelöscht, die einem Muster entsprechen.", - "loc.instanceNameFormat": "Dateien aus \"$(SourceFolder)\" löschen", - "loc.group.displayName.advanced": "Erweitert", - "loc.input.label.SourceFolder": "Quellordner", - "loc.input.help.SourceFolder": "Der Quellordner, aus dem mindestens ein Löschvorgang ausgeführt wird. \"Empty\" ist der Stamm des Repositorys. Verwenden Sie [Variablen](https://go.microsoft.com/fwlink/?LinkID=550988), wenn sich Dateien nicht im Repository befinden, z. B. \"$(agent.builddirectory)\".", - "loc.input.label.Contents": "Inhalte", - "loc.input.help.Contents": "Die zu löschenden Datei-/Ordnerpfade. Mehrere Zeilen von Minimatchmustern werden unterstützt. [Weitere Informationen](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.input.label.RemoveSourceFolder": "SourceFolder entfernen", - "loc.input.help.RemoveSourceFolder": "Versuchen Sie, auch den Quellordner zu entfernen.", - "loc.input.label.RemoveDotFiles": "Dateien entfernen, die mit einem Punkt beginnen", - "loc.input.help.RemoveDotFiles": "Löschen Sie Dateien, beginnend mit einem Punkt (GIT, DOCKERFILE). Diese Dateien werden weggelassen, wenn sie nicht explizit angegeben werden (z. B. \"/.*\"). Weitere Informationen finden Sie unter [Link](https://github.com/isaacs/minimatch#dot)", - "loc.messages.CantDeleteFiles": "Mindestens eine Datei konnte nicht gelöscht werden.", - "loc.messages.SkippingSymbolStore": "Der Löschvorgang für die Symbolspeicher-Dateifreigabe wird übersprungen: %s", - "loc.messages.NoFiles": "Es sind keine zu löschenden Dateien vorhanden." -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1/Strings/resources.resjson/en-US/resources.resjson b/_generated/DeleteFilesV1/Strings/resources.resjson/en-US/resources.resjson deleted file mode 100644 index ed6d0001ca15..000000000000 --- a/_generated/DeleteFilesV1/Strings/resources.resjson/en-US/resources.resjson +++ /dev/null @@ -1,18 +0,0 @@ -{ - "loc.friendlyName": "Delete files", - "loc.helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.description": "Delete folders, or files matching a pattern", - "loc.instanceNameFormat": "Delete files from $(SourceFolder)", - "loc.group.displayName.advanced": "Advanced", - "loc.input.label.SourceFolder": "Source Folder", - "loc.input.help.SourceFolder": "The source folder that the deletion(s) will be run from. Empty is the root of the repo. Use [variables](https://go.microsoft.com/fwlink/?LinkID=550988) if files are not in the repo. Example: $(agent.builddirectory)", - "loc.input.label.Contents": "Contents", - "loc.input.help.Contents": "File/folder paths to delete. Supports multiple lines of minimatch patterns. [More Information](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.input.label.RemoveSourceFolder": "Remove SourceFolder", - "loc.input.help.RemoveSourceFolder": "Attempt to remove the source folder as well.", - "loc.input.label.RemoveDotFiles": "Remove files starting with a dot", - "loc.input.help.RemoveDotFiles": "Delete files starting with a dot (.git, .dockerfile). Omits these files if it's not specified explicitly (for example, '/.*'). Please see this [link](https://github.com/isaacs/minimatch#dot) for more info", - "loc.messages.CantDeleteFiles": "Couldn't delete one or more files", - "loc.messages.SkippingSymbolStore": "Skipping delete for symbol store file share: %s", - "loc.messages.NoFiles": "No files to delete." -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1/Strings/resources.resjson/es-ES/resources.resjson b/_generated/DeleteFilesV1/Strings/resources.resjson/es-ES/resources.resjson deleted file mode 100644 index ad67f59b8eef..000000000000 --- a/_generated/DeleteFilesV1/Strings/resources.resjson/es-ES/resources.resjson +++ /dev/null @@ -1,18 +0,0 @@ -{ - "loc.friendlyName": "Eliminar archivos", - "loc.helpMarkDown": "[Obtener más información acerca de esta tarea](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.description": "Elimina las carpetas o archivos que coinciden con un patrón.", - "loc.instanceNameFormat": "Eliminar archivos de $(SourceFolder)", - "loc.group.displayName.advanced": "Avanzado", - "loc.input.label.SourceFolder": "Carpeta de origen", - "loc.input.help.SourceFolder": "La carpeta de origen desde la que se ejecutarán las eliminaciones. La raíz del repositorio está vacía. Use [variables](https://go.microsoft.com/fwlink/?LinkID=550988) si los archivos no están en el repositorio. Ejemplo: $(agent.builddirectory)", - "loc.input.label.Contents": "Contenido", - "loc.input.help.Contents": "Rutas de archivo o carpeta que se eliminarán. Admite varias líneas de patrones de minimatch. [Más información](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.input.label.RemoveSourceFolder": "Quitar SourceFolder", - "loc.input.help.RemoveSourceFolder": "Intente quitar también la carpeta de origen.", - "loc.input.label.RemoveDotFiles": "Quitar archivos que comiencen con un punto", - "loc.input.help.RemoveDotFiles": "Elimine los archivos que empiecen por un punto (.git,. dockerfile). Omita estos archivos si no se especifican explícitamente (por ejemplo, \"/. *\"). Para obtener más información, consulte este [vínculo] (https://github.com/isaacs/minimatch#dot)", - "loc.messages.CantDeleteFiles": "No se han podido eliminar uno o varios archivos", - "loc.messages.SkippingSymbolStore": "Se omitirá la eliminación del recurso compartido de archivos de símbolos: %s", - "loc.messages.NoFiles": "No hay archivos que se deban eliminar." -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1/Strings/resources.resjson/fr-FR/resources.resjson b/_generated/DeleteFilesV1/Strings/resources.resjson/fr-FR/resources.resjson deleted file mode 100644 index 265258f8ecbd..000000000000 --- a/_generated/DeleteFilesV1/Strings/resources.resjson/fr-FR/resources.resjson +++ /dev/null @@ -1,18 +0,0 @@ -{ - "loc.friendlyName": "Supprimer des fichiers", - "loc.helpMarkDown": "[En savoir plus sur cette tâche](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.description": "Supprimer des dossiers ou des fichiers correspondant à un modèle", - "loc.instanceNameFormat": "Supprimer les fichiers de $(SourceFolder)", - "loc.group.displayName.advanced": "Avancé", - "loc.input.label.SourceFolder": "Dossier source", - "loc.input.help.SourceFolder": "Dossier source à partir duquel la ou les suppressions sont exécutées. Si aucune valeur n'est spécifiée, la racine du dépôt est utilisée. Utilisez des [variables](https://go.microsoft.com/fwlink/?LinkID=550988), si les fichiers ne sont pas dans le dépôt. Exemple : $(agent.builddirectory)", - "loc.input.label.Contents": "Contenu", - "loc.input.help.Contents": "Chemins des fichiers/dossiers à supprimer. Prend en charge plusieurs lignes de modèles minimatch. [Plus d'informations](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.input.label.RemoveSourceFolder": "Supprimer SourceFolder", - "loc.input.help.RemoveSourceFolder": "Essayez également de supprimer le dossier source.", - "loc.input.label.RemoveDotFiles": "Supprimer des fichiers à partir d’un point", - "loc.input.help.RemoveDotFiles": "Supprimez les fichiers en commençant par un point (.git, .dockerfile). Omette ces fichiers s’ils ne sont pas spécifiés de manière explicite (par exemple, « /.* »). Pour plus d’informations, voir ce [lien](https://github.com/isaacs/minimatch#dot)", - "loc.messages.CantDeleteFiles": "Impossible de supprimer un ou plusieurs fichiers", - "loc.messages.SkippingSymbolStore": "Suppression ignorée du partage de fichiers du magasin de symboles : %s", - "loc.messages.NoFiles": "Aucun fichier à supprimer." -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1/Strings/resources.resjson/it-IT/resources.resjson b/_generated/DeleteFilesV1/Strings/resources.resjson/it-IT/resources.resjson deleted file mode 100644 index 560d870fd0f0..000000000000 --- a/_generated/DeleteFilesV1/Strings/resources.resjson/it-IT/resources.resjson +++ /dev/null @@ -1,18 +0,0 @@ -{ - "loc.friendlyName": "Elimina file", - "loc.helpMarkDown": "[Altre informazioni su questa attività](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.description": "Elimina cartelle o file corrispondenti a un criterio", - "loc.instanceNameFormat": "Elimina file da $(SourceFolder)", - "loc.group.displayName.advanced": "Avanzate", - "loc.input.label.SourceFolder": "Cartella di origine", - "loc.input.help.SourceFolder": "Cartella di origine da cui verranno eseguite le eliminazioni. Il valore vuoto corrisponde alla radice del repository. Usare le [variabili](https://go.microsoft.com/fwlink/?LinkID=550988) se i file non sono presenti nel repository. Esempio: $(agent.builddirectory)", - "loc.input.label.Contents": "Contenuti", - "loc.input.help.Contents": "Percorsi di file/cartella da eliminare. Sono supportate più righe di criteri di corrispondenza minima. [Altre informazioni](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.input.label.RemoveSourceFolder": "Rimuovi cartella di origine", - "loc.input.help.RemoveSourceFolder": "Verrà effettuato un tentativo di rimuovere anche la cartella di origine.", - "loc.input.label.RemoveDotFiles": "Rimuovi i file che iniziano con un punto", - "loc.input.help.RemoveDotFiles": "È possibile eliminare i file che iniziano con un punto (.git, .dockerfile). Questi file vengono omessi, se non vengono specificati in modo esplicito, ad esempio '/.*'. Vedere questo [collegamento] (https://github.com/isaacs/minimatch#dot) per altre informazioni", - "loc.messages.CantDeleteFiles": "Non è stato possibile eliminare uno o più file", - "loc.messages.SkippingSymbolStore": "L'eliminazione per la condivisione file dell'archivio simboli verrà ignorata: %s", - "loc.messages.NoFiles": "Non ci sono file da eliminare." -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1/Strings/resources.resjson/ja-JP/resources.resjson b/_generated/DeleteFilesV1/Strings/resources.resjson/ja-JP/resources.resjson deleted file mode 100644 index 8702f95ad507..000000000000 --- a/_generated/DeleteFilesV1/Strings/resources.resjson/ja-JP/resources.resjson +++ /dev/null @@ -1,18 +0,0 @@ -{ - "loc.friendlyName": "ファイルの削除", - "loc.helpMarkDown": "[このタスクの詳細を表示](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.description": "パターンに一致するフォルダーまたはファイルを削除します", - "loc.instanceNameFormat": "ファイルを $(SourceFolder) から削除する", - "loc.group.displayName.advanced": "詳細", - "loc.input.label.SourceFolder": "ソース フォルダー", - "loc.input.help.SourceFolder": "削除の実行元のソース フォルダー。空白の場合、リポジトリのルートになります。ファイルがリポジトリにない場合は、[変数](https://go.microsoft.com/fwlink/?LinkID=550988) を使用します。例: $(agent.builddirectory)", - "loc.input.label.Contents": "コンテンツ", - "loc.input.help.Contents": "削除するファイル/ファルダーのパス。minimatch パターンの複数行をサポートします。[詳細](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.input.label.RemoveSourceFolder": "SourceFolder の削除", - "loc.input.help.RemoveSourceFolder": "ソース フォルダーの削除も試行します。", - "loc.input.label.RemoveDotFiles": "ドットで始まるファイルを削除します", - "loc.input.help.RemoveDotFiles": "ドットで始まるファイル (.git、.dockerfile) を削除します。明示的に指定されていない場合は、これらのファイルを省略します (例: '/. * ')。詳細については、この [リンク] を参照してください (https://github.com/isaacs/minimatch#dot)", - "loc.messages.CantDeleteFiles": "1 つ以上のファイルを削除できませんでした", - "loc.messages.SkippingSymbolStore": "シンボル ストアのファイル共有の削除をスキップしています: %s", - "loc.messages.NoFiles": "削除できるファイルはありません。" -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1/Strings/resources.resjson/ko-KR/resources.resjson b/_generated/DeleteFilesV1/Strings/resources.resjson/ko-KR/resources.resjson deleted file mode 100644 index 900e23e3165a..000000000000 --- a/_generated/DeleteFilesV1/Strings/resources.resjson/ko-KR/resources.resjson +++ /dev/null @@ -1,18 +0,0 @@ -{ - "loc.friendlyName": "파일 삭제", - "loc.helpMarkDown": "[이 작업에 대한 자세한 정보](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.description": "패턴과 일치하는 폴더 또는 파일을 삭제합니다.", - "loc.instanceNameFormat": "$(SourceFolder)에서 파일 삭제", - "loc.group.displayName.advanced": "고급", - "loc.input.label.SourceFolder": "소스 폴더", - "loc.input.help.SourceFolder": "삭제 작업이 실행될 소스 폴더입니다. 리포지토리의 루트는 [비어 있음]입니다. 파일이 리포지토리에 없으면 [변수](https://go.microsoft.com/fwlink/?LinkID=550988)를 사용하세요. 예: $(agent.builddirectory)", - "loc.input.label.Contents": "콘텐츠", - "loc.input.help.Contents": "삭제할 파일/폴더 경로입니다. 여러 줄의 minimatch 패턴을 지원합니다. [자세한 정보](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.input.label.RemoveSourceFolder": "SourceFolder 제거", - "loc.input.help.RemoveSourceFolder": "소스 폴더도 제거하려고 합니다.", - "loc.input.label.RemoveDotFiles": "점으로 시작하는 파일 제거", - "loc.input.help.RemoveDotFiles": "점(git, dockerfile)으로 시작하는 파일을 삭제합니다. 이 파일이 명시적으로 지정되지 않은 경우(예: '/.*') 이러한 파일을 생략합니다. 자세한 내용은 이 [링크] (https://github.com/isaacs/minimatch#dot)를 참조하세요", - "loc.messages.CantDeleteFiles": "하나 이상의 파일을 삭제할 수 없습니다.", - "loc.messages.SkippingSymbolStore": "기호 저장소 파일 공유에 대해 건너뛰면 삭제됨: %s", - "loc.messages.NoFiles": "삭제할 파일이 없습니다." -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1/Strings/resources.resjson/ru-RU/resources.resjson b/_generated/DeleteFilesV1/Strings/resources.resjson/ru-RU/resources.resjson deleted file mode 100644 index 7bca97bf2e9a..000000000000 --- a/_generated/DeleteFilesV1/Strings/resources.resjson/ru-RU/resources.resjson +++ /dev/null @@ -1,18 +0,0 @@ -{ - "loc.friendlyName": "Удалить файлы", - "loc.helpMarkDown": "[См. дополнительные сведения об этой задаче](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.description": "Удалить папки или файлы, соответствующие шаблону", - "loc.instanceNameFormat": "Удалить файлы из $(SourceFolder)", - "loc.group.displayName.advanced": "Дополнительно", - "loc.input.label.SourceFolder": "Исходная папка", - "loc.input.help.SourceFolder": "Исходная папка, из которой будет запускаться удаление. Если значение не указано, используется корень репозитория. Если в репозитории нет файлов, используйте [переменные] (https://go.microsoft.com/fwlink/?LinkID=550988). Например, $(agent.builddirectory)", - "loc.input.label.Contents": "Содержимое", - "loc.input.help.Contents": "Пути к удаляемым файлам или папкам. Поддерживает несколько строк шаблонов minimatch. [Подробнее...] (https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.input.label.RemoveSourceFolder": "Удалить SourceFolder", - "loc.input.help.RemoveSourceFolder": "Попробуйте удалить и исходную папку.", - "loc.input.label.RemoveDotFiles": "Удалить файлы, имена которых начинаются с точки", - "loc.input.help.RemoveDotFiles": "Удаление файлов, имена которых начинаются с точки (.git, .dockerfile). Эти файлы пропускаются, если не указано явно (например, \"/.*\"). Дополнительные сведения можно найти по [ссылке](https://github.com/isaacs/minimatch#dot)", - "loc.messages.CantDeleteFiles": "Не удалось удалить один или несколько файлов", - "loc.messages.SkippingSymbolStore": "Пропускается удаление общей папки хранилища символов: %s.", - "loc.messages.NoFiles": "Нет файлов для удаления." -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1/Strings/resources.resjson/zh-CN/resources.resjson b/_generated/DeleteFilesV1/Strings/resources.resjson/zh-CN/resources.resjson deleted file mode 100644 index 1c91f5408435..000000000000 --- a/_generated/DeleteFilesV1/Strings/resources.resjson/zh-CN/resources.resjson +++ /dev/null @@ -1,18 +0,0 @@ -{ - "loc.friendlyName": "删除文件", - "loc.helpMarkDown": "[详细了解此任务](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.description": "删除文件夹或与模式匹配的文件", - "loc.instanceNameFormat": "从 $(SourceFolder) 中删除文件", - "loc.group.displayName.advanced": "高级", - "loc.input.label.SourceFolder": "源文件夹", - "loc.input.help.SourceFolder": "将从其中运行删除的源文件夹。为空表示存储库的根。如果文件不在存储库中,请使用[变量](https://go.microsoft.com/fwlink/?LinkID=550988)。示例: $(agent.builddirectory)", - "loc.input.label.Contents": "内容", - "loc.input.help.Contents": "要删除的文件/文件夹路径。支持多行的最小匹配模式。[详细信息](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.input.label.RemoveSourceFolder": "删除 SourceFolder", - "loc.input.help.RemoveSourceFolder": "同时尝试删除源文件夹。", - "loc.input.label.RemoveDotFiles": "删除以点开头的文件", - "loc.input.help.RemoveDotFiles": "删除以点(.git、.dockerfile)开头的文件。如果未明确指定这些文件(例如,“/.*”),则省略这些文件。请参阅此[链接](https://github.com/isaacs/minimatch#dot)以了解详细信息", - "loc.messages.CantDeleteFiles": "无法删除一个或多个文件", - "loc.messages.SkippingSymbolStore": "跳过删除符号存储文件共享: %s", - "loc.messages.NoFiles": "没有任何要删除的文件。" -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1/Strings/resources.resjson/zh-TW/resources.resjson b/_generated/DeleteFilesV1/Strings/resources.resjson/zh-TW/resources.resjson deleted file mode 100644 index b493b5db8226..000000000000 --- a/_generated/DeleteFilesV1/Strings/resources.resjson/zh-TW/resources.resjson +++ /dev/null @@ -1,18 +0,0 @@ -{ - "loc.friendlyName": "刪除檔案", - "loc.helpMarkDown": "[深入了解此工作](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.description": "刪除符合模式的資料夾或檔案", - "loc.instanceNameFormat": "從 $(SourceFolder) 刪除檔案", - "loc.group.displayName.advanced": "進階", - "loc.input.label.SourceFolder": "來源資料夾", - "loc.input.help.SourceFolder": "要執行刪除作業的來源資料夾。如果保留空白,即為存放庫根目錄。如果存放庫中沒有檔案,請使用[變數](https://go.microsoft.com/fwlink/?LinkID=550988),例如: $(agent.builddirectory)", - "loc.input.label.Contents": "內容", - "loc.input.help.Contents": "要刪除的檔案/資料夾路徑。支援多行 minimatch 模式。[詳細資訊](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.input.label.RemoveSourceFolder": "移除 SourceFolder", - "loc.input.help.RemoveSourceFolder": "嘗試一併移除來源資料夾。", - "loc.input.label.RemoveDotFiles": "移除以點開頭的檔案", - "loc.input.help.RemoveDotFiles": "刪除以點 (.git、.dockerfile) 開頭的檔案。如果未明確指定 (例如 '/.*'),請省略這些檔案。如需詳細資訊,請參閱此 [連結](https://github.com/isaacs/minimatch#dot)", - "loc.messages.CantDeleteFiles": "無法刪除一或多個檔案", - "loc.messages.SkippingSymbolStore": "正在略過刪除符號存放區檔案共用: %s", - "loc.messages.NoFiles": "沒有要刪除的檔案。" -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1/Tests/L0.ts b/_generated/DeleteFilesV1/Tests/L0.ts deleted file mode 100644 index 59e87745e67d..000000000000 --- a/_generated/DeleteFilesV1/Tests/L0.ts +++ /dev/null @@ -1,248 +0,0 @@ -import assert = require('assert'); -import path = require('path'); -import fs = require('fs'); -import * as ttm from 'azure-pipelines-task-lib/mock-test'; - -const testRoot = path.join(__dirname, 'test_structure'); - -const removeFolder = function(curPath) { - if (fs.existsSync(curPath)) { - fs.readdirSync(curPath).forEach((file, index) => { - const newPath = path.join(curPath, file); - if (fs.lstatSync(newPath).isDirectory()) { - removeFolder(newPath); - } else { - fs.unlinkSync(newPath); - } - }); - fs.rmdirSync(curPath); - } -} - -describe('DeleteFiles Suite', function () { - this.timeout(60000); - - before(() => { - removeFolder(testRoot); - fs.mkdirSync(testRoot); - }) - - function runValidations(validator: () => void, tr, done) { - try { - validator(); - done(); - } - catch (error) { - console.log("STDERR", tr.stderr); - console.log("STDOUT", tr.stdout); - done(error); - } - } - - it('Deletes multiple nested folders', (done: Mocha.Done) => { - this.timeout(5000); - - const root = path.join(testRoot, 'nested'); - fs.mkdirSync(root); - - fs.mkdirSync(path.join(root, 'A')); - fs.writeFileSync(path.join(root, 'A', 'test.txt'), 'test'); - fs.mkdirSync(path.join(root, 'A', 'A')); - fs.writeFileSync(path.join(root, 'A', 'A', 'test2.txt'), 'test2'); - fs.writeFileSync(path.join(root, 'A', 'A', 'test3.txt'), 'test3'); - fs.mkdirSync(path.join(root, 'B')); - fs.writeFileSync(path.join(root, 'B', 'test4.txt'), 'test4'); - fs.mkdirSync(path.join(root, 'C')); - fs.writeFileSync(path.join(root, 'C', 'dontDelete.txt'), 'dont delete'); - - let tp: string = path.join(__dirname, 'L0Nested.js'); - let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); - - tr.run(); - - runValidations(() => { - assert(!fs.existsSync(path.join(root, 'A'))); - assert(!fs.existsSync(path.join(root, 'B'))); - assert(fs.existsSync(path.join(root, 'C'))); - assert(fs.existsSync(path.join(root, 'C', 'dontDelete.txt'))); - }, tr, done); - }); - - it('Deletes files with negate pattern', (done: Mocha.Done) => { - this.timeout(5000); - - const root = path.join(testRoot, 'negate'); - fs.mkdirSync(root); - - fs.mkdirSync(path.join(root, 'A')); - fs.writeFileSync(path.join(root, 'A', 'test1.js'), 'test1'); - fs.writeFileSync(path.join(root, 'A', 'test2.css'), 'test2'); - - let tp: string = path.join(__dirname, 'L0Negate.js'); - let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); - - tr.run(); - - runValidations(() => { - assert(!fs.existsSync(path.join(root, 'A', 'test2.css'))); - assert(fs.existsSync(path.join(root, 'A', 'test1.js'))); - }, tr, done); - }); - - it('Deletes files starting with a dot', (done: Mocha.Done) => { - const root = path.join(testRoot, 'removeDotFiles'); - fs.mkdirSync(root); - - fs.mkdirSync(path.join(root, 'A')); - fs.writeFileSync(path.join(root, 'A', '.txt'), 'test1'); - fs.writeFileSync(path.join(root, 'A', '.sample.txt'), 'test2'); - - let tp: string = path.join(__dirname, 'L0RemoveDotFiles.js'); - let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); - - tr.run(); - - runValidations(() => { - assert(!fs.existsSync(path.join(root, 'A', '.txt'))); - assert(!fs.existsSync(path.join(root, 'A', '.sample.txt'))); - }, tr, done); - }); - - it('Doesnt delete files starting with a dot', (done: Mocha.Done) => { - const root = path.join(testRoot, 'DoesntRemoveDotFiles'); - fs.mkdirSync(root); - - fs.mkdirSync(path.join(root, 'A')); - fs.writeFileSync(path.join(root, 'A', '.txt'), 'test1'); - fs.writeFileSync(path.join(root, 'A', '.sample.txt'), 'test2'); - - let tp: string = path.join(__dirname, 'L0DoesntRemoveDotFiles.js'); - let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); - - tr.run(); - - runValidations(() => { - assert(fs.existsSync(path.join(root, 'A', '.txt'))); - assert(fs.existsSync(path.join(root, 'A', '.sample.txt'))); - }, tr, done); - }); - - it('Deletes files using braces statement', (done: Mocha.Done) => { - this.timeout(5000); - - const root = path.join(testRoot, 'braces'); - fs.mkdirSync(root); - - fs.mkdirSync(path.join(root, 'A')); - fs.writeFileSync(path.join(root, 'A', 'one.txt'), 'test1'); - fs.writeFileSync(path.join(root, 'A', 'two.txt'), 'test2'); - fs.writeFileSync(path.join(root, 'A', 'three.txt'), 'test3'); - fs.writeFileSync(path.join(root, 'A', 'four.txt'), 'test4'); - - let tp: string = path.join(__dirname, 'L0Braces.js'); - let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); - - tr.run(); - - runValidations(() => { - assert(!fs.existsSync(path.join(root, 'A', 'one.txt'))); - assert(!fs.existsSync(path.join(root, 'A', 'two.txt'))); - assert(fs.existsSync(path.join(root, 'A', 'three.txt'))); - assert(fs.existsSync(path.join(root, 'A', 'four.txt'))); - }, tr, done); - }); - - it('Deletes a single file', (done: Mocha.Done) => { - this.timeout(5000); - - const root = path.join(testRoot, 'singleFile'); - fs.mkdirSync(root); - - fs.mkdirSync(path.join(root, 'A')); - fs.writeFileSync(path.join(root, 'A', 'test.txt'), 'test'); - fs.mkdirSync(path.join(root, 'A', 'A')); - fs.writeFileSync(path.join(root, 'A', 'A', 'test.txt'), 'test2'); - fs.writeFileSync(path.join(root, 'A', 'A', 'test2.txt'), 'test3'); - - let tp: string = path.join(__dirname, 'L0SingleFile.js'); - let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); - - tr.run(); - - runValidations(() => { - assert(fs.existsSync(path.join(root, 'A'))); - assert(!fs.existsSync(path.join(root, 'A', 'test.txt'))); - assert(fs.existsSync(path.join(root, 'A', 'A'))); - assert(fs.existsSync(path.join(root, 'A', 'A', 'test.txt'))); - assert(fs.existsSync(path.join(root, 'A', 'A', 'test2.txt'))); - }, tr, done); - }); - - it('Removes the source folder if its empty', (done: Mocha.Done) => { - this.timeout(5000); - - const root = path.join(testRoot, 'rmSource'); - fs.mkdirSync(root); - - fs.mkdirSync(path.join(root, 'A')); - fs.writeFileSync(path.join(root, 'A', 'test.txt'), 'test'); - fs.mkdirSync(path.join(root, 'A', 'A')); - fs.writeFileSync(path.join(root, 'A', 'A', 'test2.txt'), 'test2'); - fs.writeFileSync(path.join(root, 'A', 'A', 'test3.txt'), 'test3'); - - let tp: string = path.join(__dirname, 'L0RmSource.js'); - let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); - - tr.run(); - - runValidations(() => { - assert(!fs.existsSync(root)); - }, tr, done); - }); - - it('Doesnt remove folder outside the root', (done: Mocha.Done) => { - this.timeout(5000); - - const root = path.join(testRoot, 'insideRoot'); - const outsideRoot = path.join(testRoot, 'outsideRoot'); - fs.mkdirSync(root); - fs.mkdirSync(outsideRoot); - - fs.writeFileSync(path.join(outsideRoot, 'test.txt'), 'test'); - - let tp: string = path.join(__dirname, 'L0OutsideRoot.js'); - let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); - - tr.run(); - - runValidations(() => { - assert(fs.existsSync(path.join(outsideRoot, 'test.txt'))); - }, tr, done); - }); - - it('Removes folder with locked file', (done: Mocha.Done) => { - this.timeout(5000); - - const root = path.join(testRoot, 'locked'); - fs.mkdirSync(root); - fs.mkdirSync(path.join(root, 'A')); - fs.appendFileSync(path.join(root, 'A', 'test.txt'), 'test'); - var fd = fs.openSync(path.join(root, 'A', 'test.txt'), 'r'); - - let tp: string = path.join(__dirname, 'L0Locked.js'); - let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); - - try { - tr.run(); - } - catch (err) {} - finally { - fs.closeSync(fd); - } - - runValidations(() => { - assert(!fs.existsSync(path.join(root, 'A'))); - assert(tr.succeeded); - }, tr, done); - }); -}); diff --git a/_generated/DeleteFilesV1/Tests/L0Braces.ts b/_generated/DeleteFilesV1/Tests/L0Braces.ts deleted file mode 100644 index 68048838913c..000000000000 --- a/_generated/DeleteFilesV1/Tests/L0Braces.ts +++ /dev/null @@ -1,12 +0,0 @@ -import tmrm = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'deletefiles.js'); -let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); - -const testRoot: string = path.join(__dirname, "test_structure", "braces"); - -tmr.setInput('Contents', '/**/{one.txt,two.txt}'); -tmr.setInput('SourceFolder', testRoot); - -tmr.run(true); \ No newline at end of file diff --git a/_generated/DeleteFilesV1/Tests/L0DoesntRemoveDotFiles.ts b/_generated/DeleteFilesV1/Tests/L0DoesntRemoveDotFiles.ts deleted file mode 100644 index 06826920f66c..000000000000 --- a/_generated/DeleteFilesV1/Tests/L0DoesntRemoveDotFiles.ts +++ /dev/null @@ -1,12 +0,0 @@ -import tmrm = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'deletefiles.js'); -let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); - -const testRoot: string = path.join(__dirname, "test_structure", "DoesntRemoveDotFiles"); - -tmr.setInput('Contents', '/**/*.txt'); -tmr.setInput('SourceFolder', testRoot); - -tmr.run(true); diff --git a/_generated/DeleteFilesV1/Tests/L0Locked.ts b/_generated/DeleteFilesV1/Tests/L0Locked.ts deleted file mode 100644 index f62d669571f9..000000000000 --- a/_generated/DeleteFilesV1/Tests/L0Locked.ts +++ /dev/null @@ -1,12 +0,0 @@ -import tmrm = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'deletefiles.js'); -let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); - -const testRoot: string = path.join(__dirname, "test_structure", "locked"); - -tmr.setInput('Contents', 'A'); -tmr.setInput('SourceFolder', testRoot); - -tmr.run(true); \ No newline at end of file diff --git a/_generated/DeleteFilesV1/Tests/L0Negate.ts b/_generated/DeleteFilesV1/Tests/L0Negate.ts deleted file mode 100644 index f66f16ffb218..000000000000 --- a/_generated/DeleteFilesV1/Tests/L0Negate.ts +++ /dev/null @@ -1,12 +0,0 @@ -import tmrm = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'deletefiles.js'); -let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); - -const testRoot: string = path.join(__dirname, "test_structure", "negate"); - -tmr.setInput('Contents', '/**/!(*.js)'); -tmr.setInput('SourceFolder', testRoot); - -tmr.run(true); \ No newline at end of file diff --git a/_generated/DeleteFilesV1/Tests/L0Nested.ts b/_generated/DeleteFilesV1/Tests/L0Nested.ts deleted file mode 100644 index 3e4282958bb2..000000000000 --- a/_generated/DeleteFilesV1/Tests/L0Nested.ts +++ /dev/null @@ -1,12 +0,0 @@ -import tmrm = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'deletefiles.js'); -let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); - -const testRoot: string = path.join(__dirname, "test_structure", "nested"); - -tmr.setInput('Contents', 'A*\nB*'); -tmr.setInput('SourceFolder', testRoot); - -tmr.run(true); \ No newline at end of file diff --git a/_generated/DeleteFilesV1/Tests/L0OutsideRoot.ts b/_generated/DeleteFilesV1/Tests/L0OutsideRoot.ts deleted file mode 100644 index 840de90fcdff..000000000000 --- a/_generated/DeleteFilesV1/Tests/L0OutsideRoot.ts +++ /dev/null @@ -1,12 +0,0 @@ -import tmrm = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'deletefiles.js'); -let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); - -const testRoot: string = path.join(__dirname, "test_structure", "insideRoot"); - -tmr.setInput('Contents', '../outsideRoot/test.txt'); -tmr.setInput('SourceFolder', testRoot); - -tmr.run(true); \ No newline at end of file diff --git a/_generated/DeleteFilesV1/Tests/L0RemoveDotFiles.ts b/_generated/DeleteFilesV1/Tests/L0RemoveDotFiles.ts deleted file mode 100644 index af10b8cde5d6..000000000000 --- a/_generated/DeleteFilesV1/Tests/L0RemoveDotFiles.ts +++ /dev/null @@ -1,13 +0,0 @@ -import tmrm = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'deletefiles.js'); -let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); - -const testRoot: string = path.join(__dirname, "test_structure", "removeDotFiles"); - -tmr.setInput('Contents', '/**/*.txt'); -tmr.setInput('SourceFolder', testRoot); -tmr.setInput('RemoveDotFiles', "true"); - -tmr.run(true); diff --git a/_generated/DeleteFilesV1/Tests/L0RmSource.ts b/_generated/DeleteFilesV1/Tests/L0RmSource.ts deleted file mode 100644 index 64293c03b929..000000000000 --- a/_generated/DeleteFilesV1/Tests/L0RmSource.ts +++ /dev/null @@ -1,13 +0,0 @@ -import tmrm = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'deletefiles.js'); -let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); - -const testRoot: string = path.join(__dirname, "test_structure", "rmSource"); - -tmr.setInput('Contents', 'A*'); -tmr.setInput('SourceFolder', testRoot); -tmr.setInput('RemoveSourceFolder', "true"); - -tmr.run(true); \ No newline at end of file diff --git a/_generated/DeleteFilesV1/Tests/L0SingleFile.ts b/_generated/DeleteFilesV1/Tests/L0SingleFile.ts deleted file mode 100644 index ac5baf9312fc..000000000000 --- a/_generated/DeleteFilesV1/Tests/L0SingleFile.ts +++ /dev/null @@ -1,12 +0,0 @@ -import tmrm = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'deletefiles.js'); -let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); - -const testRoot: string = path.join(__dirname, "test_structure", "singleFile"); - -tmr.setInput('Contents', 'A/test.txt'); -tmr.setInput('SourceFolder', testRoot); - -tmr.run(true); \ No newline at end of file diff --git a/_generated/DeleteFilesV1/deletefiles.ts b/_generated/DeleteFilesV1/deletefiles.ts deleted file mode 100644 index 8ef44d7a9516..000000000000 --- a/_generated/DeleteFilesV1/deletefiles.ts +++ /dev/null @@ -1,170 +0,0 @@ -import path = require('path'); -import os = require('os'); -import tl = require('azure-pipelines-task-lib/task'); -tl.setResourcePath(path.join(__dirname, 'task.json')); - -(() => { - // contents is a multiline input containing glob patterns - let patterns: string[] = tl.getDelimitedInput('Contents', '\n', true); - - let sourceFolder: string = tl.getPathInput('SourceFolder', true, false); - - const removeSourceFolder: boolean = tl.getBoolInput('RemoveSourceFolder', false); - const removeDotFiles: boolean = tl.getBoolInput('RemoveDotFiles', false); - - // Input that is used for backward compatibility with pre-sprint 95 symbol store artifacts. - // Pre-95 symbol store artifacts were simply file path artifacts, so we need to make sure - // not to delete the artifact share if it's a symbol store. - let buildCleanup: boolean = tl.getBoolInput('BuildCleanup'); - - // trim whitespace and root each pattern - patterns = patterns - .map((pattern: string) => pattern.trim()) - .filter((pattern: string) => pattern != '') - .map((pattern: string) => joinPattern(sourceFolder, pattern)); - tl.debug(`patterns: ${patterns}`); - - // short-circuit if no patterns - if (!patterns.length) { - tl.debug('no patterns specified'); - return; - } - - // find all files - let foundPaths: string[] = tl.find(sourceFolder, { - allowBrokenSymbolicLinks: true, - followSpecifiedSymbolicLink: true, - followSymbolicLinks: true - }); - - // short-circuit if not exists - if (!foundPaths.length) { - tl.debug('source folder not found. nothing to delete.'); - tl.setResult(tl.TaskResult.Succeeded, tl.loc("NoFiles")); - return; - } - - // Don't delete symbol store shares if this is a cleanup job for file-path artifacts. - // - // This check needs to be made based on the result of tl.find(). Otherwise intermittent network - // issues could result in a false assertion that the share is not a symbol store share. - // - // Opted to check each item name rather than the full path. Although it would suffice to check - // for 000Admin at the root of the share, it is difficult to accurately make a determination - // based on the full path. The problem is that the input share path would need to be run through - // a normalization function that could be trusted 100% to match the format produced by tl.find(). - // For example if the input contains "\\\share", it would need to be normalized as "\\share". To - // avoid worrying about catching every normalization edge case, checking the item name suffices instead. - if (buildCleanup && - foundPaths.some((itemPath: string) => path.basename(itemPath).toLowerCase() == '000admin')) { - - tl.warning(tl.loc('SkippingSymbolStore', sourceFolder)) - return; - } - - // minimatch options - let matchOptions = { matchBase: true }; - if (removeDotFiles) { - matchOptions["dot"] = true; - } - - if (os.type().match(/^Win/)) { - matchOptions["nocase"] = true; - } - - // apply the match patterns - let matches: string[] = matchPatterns(foundPaths, patterns, matchOptions); - - // sort by length (descending) so files are deleted before folders - matches = matches.sort((a: string, b: string) => { - if (a.length == b.length) { - return 0; - } - - return a.length > b.length ? -1 : 1; - }); - - // try to delete all files/folders, even if one errs - let errorHappened: boolean = false; - for (let itemPath of matches) { - try { - tl.rmRF(itemPath); - } - catch (err) { - tl.error(err); - errorHappened = true; - } - } - - // if there wasn't an error, check if there's anything in the folder tree other than folders - // if not, delete the root as well - if (removeSourceFolder && !errorHappened) { - foundPaths = tl.find(sourceFolder); - - if (foundPaths.length === 1) { - try { - tl.rmRF(sourceFolder); - } - catch (err) { - tl.error(err); - errorHappened = true; - } - } - } - - if (errorHappened) { - tl.setResult(tl.TaskResult.Failed, tl.loc("CantDeleteFiles")); - } -})(); - -/** - * Return number of negate marks at the beginning of the string - * - * @param {string} str - Input string - * @param {number} [startIndex] - Index to start from - * @return {number} Number of negate marks - */ -function getNegateMarksNumber(str: string, startIndex: number = 0): number { - let negateMarks = 0; - while(str[startIndex + negateMarks] === '!'){ - negateMarks++; - } - return negateMarks; -} - -/** - * Join the source path with the pattern moving negate marks to the beginning of the string - * - * @param {string} sourcePath - Source path string - * @param {string} pattern - Pattern string - * @return {string} Joining result - */ -function joinPattern(sourcePath: string, pattern: string): string { - const negateMarks = getNegateMarksNumber(pattern); - return path.join(pattern.slice(0, negateMarks) + sourcePath, pattern.slice(negateMarks)); -} - -/** - * Return those paths that match the list of patterns - * - * @param {string[]} paths - All found paths - * @param {string[]} patterns - List of patterns - * @param {Object} options - Match options - * @return {string[]} Result matches - */ -function matchPatterns(paths: string[], patterns: string[], options: any): string[] { - const allMatches = tl.match(paths, patterns, null, options); - - const hasExcludePatterns = patterns.find(pattern => { - const negateMarkIndex = pattern.indexOf('!'); - return negateMarkIndex > -1 && getNegateMarksNumber(pattern, negateMarkIndex) % 2 === 1; - }) - if(!hasExcludePatterns){ - return allMatches; - } - - const excludedPaths = paths.filter(path => !~allMatches.indexOf(path)); - return allMatches.filter(match => { - return !excludedPaths.find(excludedPath => excludedPath.indexOf(match) === 0); - }) -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1/icon.png b/_generated/DeleteFilesV1/icon.png deleted file mode 100644 index 98bd662d9e26..000000000000 Binary files a/_generated/DeleteFilesV1/icon.png and /dev/null differ diff --git a/_generated/DeleteFilesV1/icon.svg b/_generated/DeleteFilesV1/icon.svg deleted file mode 100644 index 1b2b611bca33..000000000000 --- a/_generated/DeleteFilesV1/icon.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/_generated/DeleteFilesV1/package-lock.json b/_generated/DeleteFilesV1/package-lock.json deleted file mode 100644 index cd823b1284d5..000000000000 --- a/_generated/DeleteFilesV1/package-lock.json +++ /dev/null @@ -1,483 +0,0 @@ -{ - "name": "vsts-deletefiles-tasks", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "requires": { - "@types/node": "*" - } - }, - "@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "requires": { - "@types/node": "*" - } - }, - "@types/mocha": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" - }, - "@types/node": { - "version": "16.11.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.60.tgz", - "integrity": "sha512-kYIYa1D1L+HDv5M5RXQeEu1o0FKA6yedZIoyugm/MBPROkLpX4L7HRxMrPVyo8bnvjpW/wDlqFNGzXNMb7AdRw==" - }, - "@types/qs": { - "version": "6.9.8", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", - "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==" - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "azure-pipelines-task-lib": { - "version": "5.0.0-preview.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-5.0.0-preview.0.tgz", - "integrity": "sha512-uQJEv+q3/7RD7kgphFd33uXijaPwA1ePYoNkAgZpUhbZUtc2u4JL4ujTT/JJfgXBNW/QQNAiDQ2OC7vOQG/0tg==", - "requires": { - "minimatch": "3.0.5", - "q": "^1.5.1", - "semver": "^5.1.0", - "shelljs": "^0.8.5", - "sync-request": "6.1.0", - "uuid": "^3.0.1" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "form-data": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", - "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } - }, - "get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==" - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "requires": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - } - }, - "http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "requires": { - "@types/node": "^10.0.3" - }, - "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - } - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" - }, - "is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", - "requires": { - "has": "^1.0.3" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "requires": { - "asap": "~2.0.6" - } - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" - }, - "qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "requires": { - "resolve": "^1.1.6" - } - }, - "resolve": { - "version": "1.22.6", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", - "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "sync-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "requires": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - } - }, - "sync-rpc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", - "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "requires": { - "get-port": "^3.1.0" - } - }, - "then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "requires": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "dependencies": { - "@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - } - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - }, - "typescript": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.2.tgz", - "integrity": "sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==", - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - } - } -} diff --git a/_generated/DeleteFilesV1/package.json b/_generated/DeleteFilesV1/package.json deleted file mode 100644 index d788e10bd222..000000000000 --- a/_generated/DeleteFilesV1/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "vsts-deletefiles-tasks", - "version": "1.0.0", - "description": "Azure Pipelines DeleteFiles Task", - "main": "deletefiles.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/Microsoft/azure-pipelines-tasks.git" - }, - "author": "Microsoft Corporation", - "license": "MIT", - "bugs": { - "url": "https://github.com/Microsoft/azure-pipelines-tasks/issues" - }, - "homepage": "https://github.com/Microsoft/azure-pipelines-tasks#readme", - "dependencies": { - "@types/node": "^16.11.59", - "@types/mocha": "^5.2.7", - "azure-pipelines-task-lib": "^5.0.0-preview.0" - }, - "devDependencies": { - "typescript": "4.0.2" - } -} diff --git a/_generated/DeleteFilesV1/task.json b/_generated/DeleteFilesV1/task.json deleted file mode 100644 index 9ba28343a666..000000000000 --- a/_generated/DeleteFilesV1/task.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "id": "B7E8B412-0437-4065-9371-EDC5881DE25B", - "name": "DeleteFiles", - "friendlyName": "Delete files", - "description": "Delete folders, or files matching a pattern", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/delete-files", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=722333)", - "category": "Utility", - "visibility": [ - "Build" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 1, - "Minor": 235, - "Patch": 0 - }, - "demands": [], - "minimumAgentVersion": "2.182.1", - "groups": [ - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": false - } - ], - "inputs": [ - { - "name": "SourceFolder", - "type": "filePath", - "label": "Source Folder", - "defaultValue": "", - "required": false, - "helpMarkDown": "The source folder that the deletion(s) will be run from. Empty is the root of the repo. Use [variables](https://go.microsoft.com/fwlink/?LinkID=550988) if files are not in the repo. Example: $(agent.builddirectory)" - }, - { - "name": "Contents", - "type": "multiLine", - "label": "Contents", - "defaultValue": "myFileShare", - "required": true, - "helpMarkDown": "File/folder paths to delete. Supports multiple lines of minimatch patterns. [More Information](https://go.microsoft.com/fwlink/?LinkID=722333)" - }, - { - "name": "RemoveSourceFolder", - "type": "boolean", - "label": "Remove SourceFolder", - "defaultValue": false, - "required": false, - "helpMarkDown": "Attempt to remove the source folder as well." - }, - { - "name": "RemoveDotFiles", - "type": "boolean", - "label": "Remove files starting with a dot", - "defaultValue": false, - "required": false, - "helpMarkDown": "Delete files starting with a dot (.git, .dockerfile). Omits these files if it's not specified explicitly (for example, '/.*'). Please see this [link](https://github.com/isaacs/minimatch#dot) for more info", - "groupName": "advanced" - } - ], - "instanceNameFormat": "Delete files from $(SourceFolder)", - "execution": { - "Node10": { - "target": "deletefiles.js", - "argumentFormat": "" - }, - "Node16": { - "target": "deletefiles.js", - "argumentFormat": "" - } - }, - "restrictions": { - "commands": { - "mode": "restricted" - }, - "settableVariables": { - "allowed": [] - } - }, - "messages": { - "CantDeleteFiles": "Couldn't delete one or more files", - "SkippingSymbolStore": "Skipping delete for symbol store file share: %s", - "NoFiles": "No files to delete." - }, - "_buildConfigMapping": { - "Default": "1.235.0", - "Node20-228": "1.235.1" - } -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1/task.loc.json b/_generated/DeleteFilesV1/task.loc.json deleted file mode 100644 index a237bbbbbfcb..000000000000 --- a/_generated/DeleteFilesV1/task.loc.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "id": "B7E8B412-0437-4065-9371-EDC5881DE25B", - "name": "DeleteFiles", - "friendlyName": "ms-resource:loc.friendlyName", - "description": "ms-resource:loc.description", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/delete-files", - "helpMarkDown": "ms-resource:loc.helpMarkDown", - "category": "Utility", - "visibility": [ - "Build" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 1, - "Minor": 235, - "Patch": 0 - }, - "demands": [], - "minimumAgentVersion": "2.182.1", - "groups": [ - { - "name": "advanced", - "displayName": "ms-resource:loc.group.displayName.advanced", - "isExpanded": false - } - ], - "inputs": [ - { - "name": "SourceFolder", - "type": "filePath", - "label": "ms-resource:loc.input.label.SourceFolder", - "defaultValue": "", - "required": false, - "helpMarkDown": "ms-resource:loc.input.help.SourceFolder" - }, - { - "name": "Contents", - "type": "multiLine", - "label": "ms-resource:loc.input.label.Contents", - "defaultValue": "myFileShare", - "required": true, - "helpMarkDown": "ms-resource:loc.input.help.Contents" - }, - { - "name": "RemoveSourceFolder", - "type": "boolean", - "label": "ms-resource:loc.input.label.RemoveSourceFolder", - "defaultValue": false, - "required": false, - "helpMarkDown": "ms-resource:loc.input.help.RemoveSourceFolder" - }, - { - "name": "RemoveDotFiles", - "type": "boolean", - "label": "ms-resource:loc.input.label.RemoveDotFiles", - "defaultValue": false, - "required": false, - "helpMarkDown": "ms-resource:loc.input.help.RemoveDotFiles", - "groupName": "advanced" - } - ], - "instanceNameFormat": "ms-resource:loc.instanceNameFormat", - "execution": { - "Node10": { - "target": "deletefiles.js", - "argumentFormat": "" - }, - "Node16": { - "target": "deletefiles.js", - "argumentFormat": "" - } - }, - "restrictions": { - "commands": { - "mode": "restricted" - }, - "settableVariables": { - "allowed": [] - } - }, - "messages": { - "CantDeleteFiles": "ms-resource:loc.messages.CantDeleteFiles", - "SkippingSymbolStore": "ms-resource:loc.messages.SkippingSymbolStore", - "NoFiles": "ms-resource:loc.messages.NoFiles" - }, - "_buildConfigMapping": { - "Default": "1.235.0", - "Node20-228": "1.235.1" - } -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1/tsconfig.json b/_generated/DeleteFilesV1/tsconfig.json deleted file mode 100644 index 0438b79f69ac..000000000000 --- a/_generated/DeleteFilesV1/tsconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "compilerOptions": { - "target": "ES6", - "module": "commonjs" - } -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1_Node20/.npmrc b/_generated/DeleteFilesV1_Node20/.npmrc deleted file mode 100644 index 5fca0d518be7..000000000000 --- a/_generated/DeleteFilesV1_Node20/.npmrc +++ /dev/null @@ -1 +0,0 @@ -scripts-prepend-node-path=true diff --git a/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/de-DE/resources.resjson b/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/de-DE/resources.resjson deleted file mode 100644 index 7ad1f501a90d..000000000000 --- a/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/de-DE/resources.resjson +++ /dev/null @@ -1,18 +0,0 @@ -{ - "loc.friendlyName": "Dateien löschen", - "loc.helpMarkDown": "[Weitere Informationen zu dieser Aufgabe](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.description": "Hiermit werden Ordner oder Dateien gelöscht, die einem Muster entsprechen.", - "loc.instanceNameFormat": "Dateien aus \"$(SourceFolder)\" löschen", - "loc.group.displayName.advanced": "Erweitert", - "loc.input.label.SourceFolder": "Quellordner", - "loc.input.help.SourceFolder": "Der Quellordner, aus dem mindestens ein Löschvorgang ausgeführt wird. \"Empty\" ist der Stamm des Repositorys. Verwenden Sie [Variablen](https://go.microsoft.com/fwlink/?LinkID=550988), wenn sich Dateien nicht im Repository befinden, z. B. \"$(agent.builddirectory)\".", - "loc.input.label.Contents": "Inhalte", - "loc.input.help.Contents": "Die zu löschenden Datei-/Ordnerpfade. Mehrere Zeilen von Minimatchmustern werden unterstützt. [Weitere Informationen](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.input.label.RemoveSourceFolder": "SourceFolder entfernen", - "loc.input.help.RemoveSourceFolder": "Versuchen Sie, auch den Quellordner zu entfernen.", - "loc.input.label.RemoveDotFiles": "Dateien entfernen, die mit einem Punkt beginnen", - "loc.input.help.RemoveDotFiles": "Löschen Sie Dateien, beginnend mit einem Punkt (GIT, DOCKERFILE). Diese Dateien werden weggelassen, wenn sie nicht explizit angegeben werden (z. B. \"/.*\"). Weitere Informationen finden Sie unter [Link](https://github.com/isaacs/minimatch#dot)", - "loc.messages.CantDeleteFiles": "Mindestens eine Datei konnte nicht gelöscht werden.", - "loc.messages.SkippingSymbolStore": "Der Löschvorgang für die Symbolspeicher-Dateifreigabe wird übersprungen: %s", - "loc.messages.NoFiles": "Es sind keine zu löschenden Dateien vorhanden." -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/en-US/resources.resjson b/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/en-US/resources.resjson deleted file mode 100644 index ed6d0001ca15..000000000000 --- a/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/en-US/resources.resjson +++ /dev/null @@ -1,18 +0,0 @@ -{ - "loc.friendlyName": "Delete files", - "loc.helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.description": "Delete folders, or files matching a pattern", - "loc.instanceNameFormat": "Delete files from $(SourceFolder)", - "loc.group.displayName.advanced": "Advanced", - "loc.input.label.SourceFolder": "Source Folder", - "loc.input.help.SourceFolder": "The source folder that the deletion(s) will be run from. Empty is the root of the repo. Use [variables](https://go.microsoft.com/fwlink/?LinkID=550988) if files are not in the repo. Example: $(agent.builddirectory)", - "loc.input.label.Contents": "Contents", - "loc.input.help.Contents": "File/folder paths to delete. Supports multiple lines of minimatch patterns. [More Information](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.input.label.RemoveSourceFolder": "Remove SourceFolder", - "loc.input.help.RemoveSourceFolder": "Attempt to remove the source folder as well.", - "loc.input.label.RemoveDotFiles": "Remove files starting with a dot", - "loc.input.help.RemoveDotFiles": "Delete files starting with a dot (.git, .dockerfile). Omits these files if it's not specified explicitly (for example, '/.*'). Please see this [link](https://github.com/isaacs/minimatch#dot) for more info", - "loc.messages.CantDeleteFiles": "Couldn't delete one or more files", - "loc.messages.SkippingSymbolStore": "Skipping delete for symbol store file share: %s", - "loc.messages.NoFiles": "No files to delete." -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/es-ES/resources.resjson b/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/es-ES/resources.resjson deleted file mode 100644 index ad67f59b8eef..000000000000 --- a/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/es-ES/resources.resjson +++ /dev/null @@ -1,18 +0,0 @@ -{ - "loc.friendlyName": "Eliminar archivos", - "loc.helpMarkDown": "[Obtener más información acerca de esta tarea](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.description": "Elimina las carpetas o archivos que coinciden con un patrón.", - "loc.instanceNameFormat": "Eliminar archivos de $(SourceFolder)", - "loc.group.displayName.advanced": "Avanzado", - "loc.input.label.SourceFolder": "Carpeta de origen", - "loc.input.help.SourceFolder": "La carpeta de origen desde la que se ejecutarán las eliminaciones. La raíz del repositorio está vacía. Use [variables](https://go.microsoft.com/fwlink/?LinkID=550988) si los archivos no están en el repositorio. Ejemplo: $(agent.builddirectory)", - "loc.input.label.Contents": "Contenido", - "loc.input.help.Contents": "Rutas de archivo o carpeta que se eliminarán. Admite varias líneas de patrones de minimatch. [Más información](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.input.label.RemoveSourceFolder": "Quitar SourceFolder", - "loc.input.help.RemoveSourceFolder": "Intente quitar también la carpeta de origen.", - "loc.input.label.RemoveDotFiles": "Quitar archivos que comiencen con un punto", - "loc.input.help.RemoveDotFiles": "Elimine los archivos que empiecen por un punto (.git,. dockerfile). Omita estos archivos si no se especifican explícitamente (por ejemplo, \"/. *\"). Para obtener más información, consulte este [vínculo] (https://github.com/isaacs/minimatch#dot)", - "loc.messages.CantDeleteFiles": "No se han podido eliminar uno o varios archivos", - "loc.messages.SkippingSymbolStore": "Se omitirá la eliminación del recurso compartido de archivos de símbolos: %s", - "loc.messages.NoFiles": "No hay archivos que se deban eliminar." -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/fr-FR/resources.resjson b/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/fr-FR/resources.resjson deleted file mode 100644 index 265258f8ecbd..000000000000 --- a/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/fr-FR/resources.resjson +++ /dev/null @@ -1,18 +0,0 @@ -{ - "loc.friendlyName": "Supprimer des fichiers", - "loc.helpMarkDown": "[En savoir plus sur cette tâche](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.description": "Supprimer des dossiers ou des fichiers correspondant à un modèle", - "loc.instanceNameFormat": "Supprimer les fichiers de $(SourceFolder)", - "loc.group.displayName.advanced": "Avancé", - "loc.input.label.SourceFolder": "Dossier source", - "loc.input.help.SourceFolder": "Dossier source à partir duquel la ou les suppressions sont exécutées. Si aucune valeur n'est spécifiée, la racine du dépôt est utilisée. Utilisez des [variables](https://go.microsoft.com/fwlink/?LinkID=550988), si les fichiers ne sont pas dans le dépôt. Exemple : $(agent.builddirectory)", - "loc.input.label.Contents": "Contenu", - "loc.input.help.Contents": "Chemins des fichiers/dossiers à supprimer. Prend en charge plusieurs lignes de modèles minimatch. [Plus d'informations](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.input.label.RemoveSourceFolder": "Supprimer SourceFolder", - "loc.input.help.RemoveSourceFolder": "Essayez également de supprimer le dossier source.", - "loc.input.label.RemoveDotFiles": "Supprimer des fichiers à partir d’un point", - "loc.input.help.RemoveDotFiles": "Supprimez les fichiers en commençant par un point (.git, .dockerfile). Omette ces fichiers s’ils ne sont pas spécifiés de manière explicite (par exemple, « /.* »). Pour plus d’informations, voir ce [lien](https://github.com/isaacs/minimatch#dot)", - "loc.messages.CantDeleteFiles": "Impossible de supprimer un ou plusieurs fichiers", - "loc.messages.SkippingSymbolStore": "Suppression ignorée du partage de fichiers du magasin de symboles : %s", - "loc.messages.NoFiles": "Aucun fichier à supprimer." -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/it-IT/resources.resjson b/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/it-IT/resources.resjson deleted file mode 100644 index 560d870fd0f0..000000000000 --- a/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/it-IT/resources.resjson +++ /dev/null @@ -1,18 +0,0 @@ -{ - "loc.friendlyName": "Elimina file", - "loc.helpMarkDown": "[Altre informazioni su questa attività](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.description": "Elimina cartelle o file corrispondenti a un criterio", - "loc.instanceNameFormat": "Elimina file da $(SourceFolder)", - "loc.group.displayName.advanced": "Avanzate", - "loc.input.label.SourceFolder": "Cartella di origine", - "loc.input.help.SourceFolder": "Cartella di origine da cui verranno eseguite le eliminazioni. Il valore vuoto corrisponde alla radice del repository. Usare le [variabili](https://go.microsoft.com/fwlink/?LinkID=550988) se i file non sono presenti nel repository. Esempio: $(agent.builddirectory)", - "loc.input.label.Contents": "Contenuti", - "loc.input.help.Contents": "Percorsi di file/cartella da eliminare. Sono supportate più righe di criteri di corrispondenza minima. [Altre informazioni](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.input.label.RemoveSourceFolder": "Rimuovi cartella di origine", - "loc.input.help.RemoveSourceFolder": "Verrà effettuato un tentativo di rimuovere anche la cartella di origine.", - "loc.input.label.RemoveDotFiles": "Rimuovi i file che iniziano con un punto", - "loc.input.help.RemoveDotFiles": "È possibile eliminare i file che iniziano con un punto (.git, .dockerfile). Questi file vengono omessi, se non vengono specificati in modo esplicito, ad esempio '/.*'. Vedere questo [collegamento] (https://github.com/isaacs/minimatch#dot) per altre informazioni", - "loc.messages.CantDeleteFiles": "Non è stato possibile eliminare uno o più file", - "loc.messages.SkippingSymbolStore": "L'eliminazione per la condivisione file dell'archivio simboli verrà ignorata: %s", - "loc.messages.NoFiles": "Non ci sono file da eliminare." -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/ja-JP/resources.resjson b/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/ja-JP/resources.resjson deleted file mode 100644 index 8702f95ad507..000000000000 --- a/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/ja-JP/resources.resjson +++ /dev/null @@ -1,18 +0,0 @@ -{ - "loc.friendlyName": "ファイルの削除", - "loc.helpMarkDown": "[このタスクの詳細を表示](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.description": "パターンに一致するフォルダーまたはファイルを削除します", - "loc.instanceNameFormat": "ファイルを $(SourceFolder) から削除する", - "loc.group.displayName.advanced": "詳細", - "loc.input.label.SourceFolder": "ソース フォルダー", - "loc.input.help.SourceFolder": "削除の実行元のソース フォルダー。空白の場合、リポジトリのルートになります。ファイルがリポジトリにない場合は、[変数](https://go.microsoft.com/fwlink/?LinkID=550988) を使用します。例: $(agent.builddirectory)", - "loc.input.label.Contents": "コンテンツ", - "loc.input.help.Contents": "削除するファイル/ファルダーのパス。minimatch パターンの複数行をサポートします。[詳細](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.input.label.RemoveSourceFolder": "SourceFolder の削除", - "loc.input.help.RemoveSourceFolder": "ソース フォルダーの削除も試行します。", - "loc.input.label.RemoveDotFiles": "ドットで始まるファイルを削除します", - "loc.input.help.RemoveDotFiles": "ドットで始まるファイル (.git、.dockerfile) を削除します。明示的に指定されていない場合は、これらのファイルを省略します (例: '/. * ')。詳細については、この [リンク] を参照してください (https://github.com/isaacs/minimatch#dot)", - "loc.messages.CantDeleteFiles": "1 つ以上のファイルを削除できませんでした", - "loc.messages.SkippingSymbolStore": "シンボル ストアのファイル共有の削除をスキップしています: %s", - "loc.messages.NoFiles": "削除できるファイルはありません。" -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/ko-KR/resources.resjson b/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/ko-KR/resources.resjson deleted file mode 100644 index 900e23e3165a..000000000000 --- a/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/ko-KR/resources.resjson +++ /dev/null @@ -1,18 +0,0 @@ -{ - "loc.friendlyName": "파일 삭제", - "loc.helpMarkDown": "[이 작업에 대한 자세한 정보](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.description": "패턴과 일치하는 폴더 또는 파일을 삭제합니다.", - "loc.instanceNameFormat": "$(SourceFolder)에서 파일 삭제", - "loc.group.displayName.advanced": "고급", - "loc.input.label.SourceFolder": "소스 폴더", - "loc.input.help.SourceFolder": "삭제 작업이 실행될 소스 폴더입니다. 리포지토리의 루트는 [비어 있음]입니다. 파일이 리포지토리에 없으면 [변수](https://go.microsoft.com/fwlink/?LinkID=550988)를 사용하세요. 예: $(agent.builddirectory)", - "loc.input.label.Contents": "콘텐츠", - "loc.input.help.Contents": "삭제할 파일/폴더 경로입니다. 여러 줄의 minimatch 패턴을 지원합니다. [자세한 정보](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.input.label.RemoveSourceFolder": "SourceFolder 제거", - "loc.input.help.RemoveSourceFolder": "소스 폴더도 제거하려고 합니다.", - "loc.input.label.RemoveDotFiles": "점으로 시작하는 파일 제거", - "loc.input.help.RemoveDotFiles": "점(git, dockerfile)으로 시작하는 파일을 삭제합니다. 이 파일이 명시적으로 지정되지 않은 경우(예: '/.*') 이러한 파일을 생략합니다. 자세한 내용은 이 [링크] (https://github.com/isaacs/minimatch#dot)를 참조하세요", - "loc.messages.CantDeleteFiles": "하나 이상의 파일을 삭제할 수 없습니다.", - "loc.messages.SkippingSymbolStore": "기호 저장소 파일 공유에 대해 건너뛰면 삭제됨: %s", - "loc.messages.NoFiles": "삭제할 파일이 없습니다." -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/ru-RU/resources.resjson b/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/ru-RU/resources.resjson deleted file mode 100644 index 7bca97bf2e9a..000000000000 --- a/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/ru-RU/resources.resjson +++ /dev/null @@ -1,18 +0,0 @@ -{ - "loc.friendlyName": "Удалить файлы", - "loc.helpMarkDown": "[См. дополнительные сведения об этой задаче](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.description": "Удалить папки или файлы, соответствующие шаблону", - "loc.instanceNameFormat": "Удалить файлы из $(SourceFolder)", - "loc.group.displayName.advanced": "Дополнительно", - "loc.input.label.SourceFolder": "Исходная папка", - "loc.input.help.SourceFolder": "Исходная папка, из которой будет запускаться удаление. Если значение не указано, используется корень репозитория. Если в репозитории нет файлов, используйте [переменные] (https://go.microsoft.com/fwlink/?LinkID=550988). Например, $(agent.builddirectory)", - "loc.input.label.Contents": "Содержимое", - "loc.input.help.Contents": "Пути к удаляемым файлам или папкам. Поддерживает несколько строк шаблонов minimatch. [Подробнее...] (https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.input.label.RemoveSourceFolder": "Удалить SourceFolder", - "loc.input.help.RemoveSourceFolder": "Попробуйте удалить и исходную папку.", - "loc.input.label.RemoveDotFiles": "Удалить файлы, имена которых начинаются с точки", - "loc.input.help.RemoveDotFiles": "Удаление файлов, имена которых начинаются с точки (.git, .dockerfile). Эти файлы пропускаются, если не указано явно (например, \"/.*\"). Дополнительные сведения можно найти по [ссылке](https://github.com/isaacs/minimatch#dot)", - "loc.messages.CantDeleteFiles": "Не удалось удалить один или несколько файлов", - "loc.messages.SkippingSymbolStore": "Пропускается удаление общей папки хранилища символов: %s.", - "loc.messages.NoFiles": "Нет файлов для удаления." -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/zh-CN/resources.resjson b/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/zh-CN/resources.resjson deleted file mode 100644 index 1c91f5408435..000000000000 --- a/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/zh-CN/resources.resjson +++ /dev/null @@ -1,18 +0,0 @@ -{ - "loc.friendlyName": "删除文件", - "loc.helpMarkDown": "[详细了解此任务](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.description": "删除文件夹或与模式匹配的文件", - "loc.instanceNameFormat": "从 $(SourceFolder) 中删除文件", - "loc.group.displayName.advanced": "高级", - "loc.input.label.SourceFolder": "源文件夹", - "loc.input.help.SourceFolder": "将从其中运行删除的源文件夹。为空表示存储库的根。如果文件不在存储库中,请使用[变量](https://go.microsoft.com/fwlink/?LinkID=550988)。示例: $(agent.builddirectory)", - "loc.input.label.Contents": "内容", - "loc.input.help.Contents": "要删除的文件/文件夹路径。支持多行的最小匹配模式。[详细信息](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.input.label.RemoveSourceFolder": "删除 SourceFolder", - "loc.input.help.RemoveSourceFolder": "同时尝试删除源文件夹。", - "loc.input.label.RemoveDotFiles": "删除以点开头的文件", - "loc.input.help.RemoveDotFiles": "删除以点(.git、.dockerfile)开头的文件。如果未明确指定这些文件(例如,“/.*”),则省略这些文件。请参阅此[链接](https://github.com/isaacs/minimatch#dot)以了解详细信息", - "loc.messages.CantDeleteFiles": "无法删除一个或多个文件", - "loc.messages.SkippingSymbolStore": "跳过删除符号存储文件共享: %s", - "loc.messages.NoFiles": "没有任何要删除的文件。" -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/zh-TW/resources.resjson b/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/zh-TW/resources.resjson deleted file mode 100644 index b493b5db8226..000000000000 --- a/_generated/DeleteFilesV1_Node20/Strings/resources.resjson/zh-TW/resources.resjson +++ /dev/null @@ -1,18 +0,0 @@ -{ - "loc.friendlyName": "刪除檔案", - "loc.helpMarkDown": "[深入了解此工作](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.description": "刪除符合模式的資料夾或檔案", - "loc.instanceNameFormat": "從 $(SourceFolder) 刪除檔案", - "loc.group.displayName.advanced": "進階", - "loc.input.label.SourceFolder": "來源資料夾", - "loc.input.help.SourceFolder": "要執行刪除作業的來源資料夾。如果保留空白,即為存放庫根目錄。如果存放庫中沒有檔案,請使用[變數](https://go.microsoft.com/fwlink/?LinkID=550988),例如: $(agent.builddirectory)", - "loc.input.label.Contents": "內容", - "loc.input.help.Contents": "要刪除的檔案/資料夾路徑。支援多行 minimatch 模式。[詳細資訊](https://go.microsoft.com/fwlink/?LinkID=722333)", - "loc.input.label.RemoveSourceFolder": "移除 SourceFolder", - "loc.input.help.RemoveSourceFolder": "嘗試一併移除來源資料夾。", - "loc.input.label.RemoveDotFiles": "移除以點開頭的檔案", - "loc.input.help.RemoveDotFiles": "刪除以點 (.git、.dockerfile) 開頭的檔案。如果未明確指定 (例如 '/.*'),請省略這些檔案。如需詳細資訊,請參閱此 [連結](https://github.com/isaacs/minimatch#dot)", - "loc.messages.CantDeleteFiles": "無法刪除一或多個檔案", - "loc.messages.SkippingSymbolStore": "正在略過刪除符號存放區檔案共用: %s", - "loc.messages.NoFiles": "沒有要刪除的檔案。" -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1_Node20/Tests/L0.ts b/_generated/DeleteFilesV1_Node20/Tests/L0.ts deleted file mode 100644 index 59e87745e67d..000000000000 --- a/_generated/DeleteFilesV1_Node20/Tests/L0.ts +++ /dev/null @@ -1,248 +0,0 @@ -import assert = require('assert'); -import path = require('path'); -import fs = require('fs'); -import * as ttm from 'azure-pipelines-task-lib/mock-test'; - -const testRoot = path.join(__dirname, 'test_structure'); - -const removeFolder = function(curPath) { - if (fs.existsSync(curPath)) { - fs.readdirSync(curPath).forEach((file, index) => { - const newPath = path.join(curPath, file); - if (fs.lstatSync(newPath).isDirectory()) { - removeFolder(newPath); - } else { - fs.unlinkSync(newPath); - } - }); - fs.rmdirSync(curPath); - } -} - -describe('DeleteFiles Suite', function () { - this.timeout(60000); - - before(() => { - removeFolder(testRoot); - fs.mkdirSync(testRoot); - }) - - function runValidations(validator: () => void, tr, done) { - try { - validator(); - done(); - } - catch (error) { - console.log("STDERR", tr.stderr); - console.log("STDOUT", tr.stdout); - done(error); - } - } - - it('Deletes multiple nested folders', (done: Mocha.Done) => { - this.timeout(5000); - - const root = path.join(testRoot, 'nested'); - fs.mkdirSync(root); - - fs.mkdirSync(path.join(root, 'A')); - fs.writeFileSync(path.join(root, 'A', 'test.txt'), 'test'); - fs.mkdirSync(path.join(root, 'A', 'A')); - fs.writeFileSync(path.join(root, 'A', 'A', 'test2.txt'), 'test2'); - fs.writeFileSync(path.join(root, 'A', 'A', 'test3.txt'), 'test3'); - fs.mkdirSync(path.join(root, 'B')); - fs.writeFileSync(path.join(root, 'B', 'test4.txt'), 'test4'); - fs.mkdirSync(path.join(root, 'C')); - fs.writeFileSync(path.join(root, 'C', 'dontDelete.txt'), 'dont delete'); - - let tp: string = path.join(__dirname, 'L0Nested.js'); - let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); - - tr.run(); - - runValidations(() => { - assert(!fs.existsSync(path.join(root, 'A'))); - assert(!fs.existsSync(path.join(root, 'B'))); - assert(fs.existsSync(path.join(root, 'C'))); - assert(fs.existsSync(path.join(root, 'C', 'dontDelete.txt'))); - }, tr, done); - }); - - it('Deletes files with negate pattern', (done: Mocha.Done) => { - this.timeout(5000); - - const root = path.join(testRoot, 'negate'); - fs.mkdirSync(root); - - fs.mkdirSync(path.join(root, 'A')); - fs.writeFileSync(path.join(root, 'A', 'test1.js'), 'test1'); - fs.writeFileSync(path.join(root, 'A', 'test2.css'), 'test2'); - - let tp: string = path.join(__dirname, 'L0Negate.js'); - let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); - - tr.run(); - - runValidations(() => { - assert(!fs.existsSync(path.join(root, 'A', 'test2.css'))); - assert(fs.existsSync(path.join(root, 'A', 'test1.js'))); - }, tr, done); - }); - - it('Deletes files starting with a dot', (done: Mocha.Done) => { - const root = path.join(testRoot, 'removeDotFiles'); - fs.mkdirSync(root); - - fs.mkdirSync(path.join(root, 'A')); - fs.writeFileSync(path.join(root, 'A', '.txt'), 'test1'); - fs.writeFileSync(path.join(root, 'A', '.sample.txt'), 'test2'); - - let tp: string = path.join(__dirname, 'L0RemoveDotFiles.js'); - let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); - - tr.run(); - - runValidations(() => { - assert(!fs.existsSync(path.join(root, 'A', '.txt'))); - assert(!fs.existsSync(path.join(root, 'A', '.sample.txt'))); - }, tr, done); - }); - - it('Doesnt delete files starting with a dot', (done: Mocha.Done) => { - const root = path.join(testRoot, 'DoesntRemoveDotFiles'); - fs.mkdirSync(root); - - fs.mkdirSync(path.join(root, 'A')); - fs.writeFileSync(path.join(root, 'A', '.txt'), 'test1'); - fs.writeFileSync(path.join(root, 'A', '.sample.txt'), 'test2'); - - let tp: string = path.join(__dirname, 'L0DoesntRemoveDotFiles.js'); - let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); - - tr.run(); - - runValidations(() => { - assert(fs.existsSync(path.join(root, 'A', '.txt'))); - assert(fs.existsSync(path.join(root, 'A', '.sample.txt'))); - }, tr, done); - }); - - it('Deletes files using braces statement', (done: Mocha.Done) => { - this.timeout(5000); - - const root = path.join(testRoot, 'braces'); - fs.mkdirSync(root); - - fs.mkdirSync(path.join(root, 'A')); - fs.writeFileSync(path.join(root, 'A', 'one.txt'), 'test1'); - fs.writeFileSync(path.join(root, 'A', 'two.txt'), 'test2'); - fs.writeFileSync(path.join(root, 'A', 'three.txt'), 'test3'); - fs.writeFileSync(path.join(root, 'A', 'four.txt'), 'test4'); - - let tp: string = path.join(__dirname, 'L0Braces.js'); - let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); - - tr.run(); - - runValidations(() => { - assert(!fs.existsSync(path.join(root, 'A', 'one.txt'))); - assert(!fs.existsSync(path.join(root, 'A', 'two.txt'))); - assert(fs.existsSync(path.join(root, 'A', 'three.txt'))); - assert(fs.existsSync(path.join(root, 'A', 'four.txt'))); - }, tr, done); - }); - - it('Deletes a single file', (done: Mocha.Done) => { - this.timeout(5000); - - const root = path.join(testRoot, 'singleFile'); - fs.mkdirSync(root); - - fs.mkdirSync(path.join(root, 'A')); - fs.writeFileSync(path.join(root, 'A', 'test.txt'), 'test'); - fs.mkdirSync(path.join(root, 'A', 'A')); - fs.writeFileSync(path.join(root, 'A', 'A', 'test.txt'), 'test2'); - fs.writeFileSync(path.join(root, 'A', 'A', 'test2.txt'), 'test3'); - - let tp: string = path.join(__dirname, 'L0SingleFile.js'); - let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); - - tr.run(); - - runValidations(() => { - assert(fs.existsSync(path.join(root, 'A'))); - assert(!fs.existsSync(path.join(root, 'A', 'test.txt'))); - assert(fs.existsSync(path.join(root, 'A', 'A'))); - assert(fs.existsSync(path.join(root, 'A', 'A', 'test.txt'))); - assert(fs.existsSync(path.join(root, 'A', 'A', 'test2.txt'))); - }, tr, done); - }); - - it('Removes the source folder if its empty', (done: Mocha.Done) => { - this.timeout(5000); - - const root = path.join(testRoot, 'rmSource'); - fs.mkdirSync(root); - - fs.mkdirSync(path.join(root, 'A')); - fs.writeFileSync(path.join(root, 'A', 'test.txt'), 'test'); - fs.mkdirSync(path.join(root, 'A', 'A')); - fs.writeFileSync(path.join(root, 'A', 'A', 'test2.txt'), 'test2'); - fs.writeFileSync(path.join(root, 'A', 'A', 'test3.txt'), 'test3'); - - let tp: string = path.join(__dirname, 'L0RmSource.js'); - let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); - - tr.run(); - - runValidations(() => { - assert(!fs.existsSync(root)); - }, tr, done); - }); - - it('Doesnt remove folder outside the root', (done: Mocha.Done) => { - this.timeout(5000); - - const root = path.join(testRoot, 'insideRoot'); - const outsideRoot = path.join(testRoot, 'outsideRoot'); - fs.mkdirSync(root); - fs.mkdirSync(outsideRoot); - - fs.writeFileSync(path.join(outsideRoot, 'test.txt'), 'test'); - - let tp: string = path.join(__dirname, 'L0OutsideRoot.js'); - let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); - - tr.run(); - - runValidations(() => { - assert(fs.existsSync(path.join(outsideRoot, 'test.txt'))); - }, tr, done); - }); - - it('Removes folder with locked file', (done: Mocha.Done) => { - this.timeout(5000); - - const root = path.join(testRoot, 'locked'); - fs.mkdirSync(root); - fs.mkdirSync(path.join(root, 'A')); - fs.appendFileSync(path.join(root, 'A', 'test.txt'), 'test'); - var fd = fs.openSync(path.join(root, 'A', 'test.txt'), 'r'); - - let tp: string = path.join(__dirname, 'L0Locked.js'); - let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); - - try { - tr.run(); - } - catch (err) {} - finally { - fs.closeSync(fd); - } - - runValidations(() => { - assert(!fs.existsSync(path.join(root, 'A'))); - assert(tr.succeeded); - }, tr, done); - }); -}); diff --git a/_generated/DeleteFilesV1_Node20/Tests/L0Braces.ts b/_generated/DeleteFilesV1_Node20/Tests/L0Braces.ts deleted file mode 100644 index 68048838913c..000000000000 --- a/_generated/DeleteFilesV1_Node20/Tests/L0Braces.ts +++ /dev/null @@ -1,12 +0,0 @@ -import tmrm = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'deletefiles.js'); -let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); - -const testRoot: string = path.join(__dirname, "test_structure", "braces"); - -tmr.setInput('Contents', '/**/{one.txt,two.txt}'); -tmr.setInput('SourceFolder', testRoot); - -tmr.run(true); \ No newline at end of file diff --git a/_generated/DeleteFilesV1_Node20/Tests/L0DoesntRemoveDotFiles.ts b/_generated/DeleteFilesV1_Node20/Tests/L0DoesntRemoveDotFiles.ts deleted file mode 100644 index 06826920f66c..000000000000 --- a/_generated/DeleteFilesV1_Node20/Tests/L0DoesntRemoveDotFiles.ts +++ /dev/null @@ -1,12 +0,0 @@ -import tmrm = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'deletefiles.js'); -let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); - -const testRoot: string = path.join(__dirname, "test_structure", "DoesntRemoveDotFiles"); - -tmr.setInput('Contents', '/**/*.txt'); -tmr.setInput('SourceFolder', testRoot); - -tmr.run(true); diff --git a/_generated/DeleteFilesV1_Node20/Tests/L0Locked.ts b/_generated/DeleteFilesV1_Node20/Tests/L0Locked.ts deleted file mode 100644 index f62d669571f9..000000000000 --- a/_generated/DeleteFilesV1_Node20/Tests/L0Locked.ts +++ /dev/null @@ -1,12 +0,0 @@ -import tmrm = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'deletefiles.js'); -let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); - -const testRoot: string = path.join(__dirname, "test_structure", "locked"); - -tmr.setInput('Contents', 'A'); -tmr.setInput('SourceFolder', testRoot); - -tmr.run(true); \ No newline at end of file diff --git a/_generated/DeleteFilesV1_Node20/Tests/L0Negate.ts b/_generated/DeleteFilesV1_Node20/Tests/L0Negate.ts deleted file mode 100644 index f66f16ffb218..000000000000 --- a/_generated/DeleteFilesV1_Node20/Tests/L0Negate.ts +++ /dev/null @@ -1,12 +0,0 @@ -import tmrm = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'deletefiles.js'); -let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); - -const testRoot: string = path.join(__dirname, "test_structure", "negate"); - -tmr.setInput('Contents', '/**/!(*.js)'); -tmr.setInput('SourceFolder', testRoot); - -tmr.run(true); \ No newline at end of file diff --git a/_generated/DeleteFilesV1_Node20/Tests/L0Nested.ts b/_generated/DeleteFilesV1_Node20/Tests/L0Nested.ts deleted file mode 100644 index 3e4282958bb2..000000000000 --- a/_generated/DeleteFilesV1_Node20/Tests/L0Nested.ts +++ /dev/null @@ -1,12 +0,0 @@ -import tmrm = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'deletefiles.js'); -let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); - -const testRoot: string = path.join(__dirname, "test_structure", "nested"); - -tmr.setInput('Contents', 'A*\nB*'); -tmr.setInput('SourceFolder', testRoot); - -tmr.run(true); \ No newline at end of file diff --git a/_generated/DeleteFilesV1_Node20/Tests/L0OutsideRoot.ts b/_generated/DeleteFilesV1_Node20/Tests/L0OutsideRoot.ts deleted file mode 100644 index 840de90fcdff..000000000000 --- a/_generated/DeleteFilesV1_Node20/Tests/L0OutsideRoot.ts +++ /dev/null @@ -1,12 +0,0 @@ -import tmrm = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'deletefiles.js'); -let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); - -const testRoot: string = path.join(__dirname, "test_structure", "insideRoot"); - -tmr.setInput('Contents', '../outsideRoot/test.txt'); -tmr.setInput('SourceFolder', testRoot); - -tmr.run(true); \ No newline at end of file diff --git a/_generated/DeleteFilesV1_Node20/Tests/L0RemoveDotFiles.ts b/_generated/DeleteFilesV1_Node20/Tests/L0RemoveDotFiles.ts deleted file mode 100644 index af10b8cde5d6..000000000000 --- a/_generated/DeleteFilesV1_Node20/Tests/L0RemoveDotFiles.ts +++ /dev/null @@ -1,13 +0,0 @@ -import tmrm = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'deletefiles.js'); -let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); - -const testRoot: string = path.join(__dirname, "test_structure", "removeDotFiles"); - -tmr.setInput('Contents', '/**/*.txt'); -tmr.setInput('SourceFolder', testRoot); -tmr.setInput('RemoveDotFiles', "true"); - -tmr.run(true); diff --git a/_generated/DeleteFilesV1_Node20/Tests/L0RmSource.ts b/_generated/DeleteFilesV1_Node20/Tests/L0RmSource.ts deleted file mode 100644 index 64293c03b929..000000000000 --- a/_generated/DeleteFilesV1_Node20/Tests/L0RmSource.ts +++ /dev/null @@ -1,13 +0,0 @@ -import tmrm = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'deletefiles.js'); -let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); - -const testRoot: string = path.join(__dirname, "test_structure", "rmSource"); - -tmr.setInput('Contents', 'A*'); -tmr.setInput('SourceFolder', testRoot); -tmr.setInput('RemoveSourceFolder', "true"); - -tmr.run(true); \ No newline at end of file diff --git a/_generated/DeleteFilesV1_Node20/Tests/L0SingleFile.ts b/_generated/DeleteFilesV1_Node20/Tests/L0SingleFile.ts deleted file mode 100644 index ac5baf9312fc..000000000000 --- a/_generated/DeleteFilesV1_Node20/Tests/L0SingleFile.ts +++ /dev/null @@ -1,12 +0,0 @@ -import tmrm = require('azure-pipelines-task-lib/mock-run'); -import path = require('path'); - -let taskPath = path.join(__dirname, '..', 'deletefiles.js'); -let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); - -const testRoot: string = path.join(__dirname, "test_structure", "singleFile"); - -tmr.setInput('Contents', 'A/test.txt'); -tmr.setInput('SourceFolder', testRoot); - -tmr.run(true); \ No newline at end of file diff --git a/_generated/DeleteFilesV1_Node20/deletefiles.ts b/_generated/DeleteFilesV1_Node20/deletefiles.ts deleted file mode 100644 index 8ef44d7a9516..000000000000 --- a/_generated/DeleteFilesV1_Node20/deletefiles.ts +++ /dev/null @@ -1,170 +0,0 @@ -import path = require('path'); -import os = require('os'); -import tl = require('azure-pipelines-task-lib/task'); -tl.setResourcePath(path.join(__dirname, 'task.json')); - -(() => { - // contents is a multiline input containing glob patterns - let patterns: string[] = tl.getDelimitedInput('Contents', '\n', true); - - let sourceFolder: string = tl.getPathInput('SourceFolder', true, false); - - const removeSourceFolder: boolean = tl.getBoolInput('RemoveSourceFolder', false); - const removeDotFiles: boolean = tl.getBoolInput('RemoveDotFiles', false); - - // Input that is used for backward compatibility with pre-sprint 95 symbol store artifacts. - // Pre-95 symbol store artifacts were simply file path artifacts, so we need to make sure - // not to delete the artifact share if it's a symbol store. - let buildCleanup: boolean = tl.getBoolInput('BuildCleanup'); - - // trim whitespace and root each pattern - patterns = patterns - .map((pattern: string) => pattern.trim()) - .filter((pattern: string) => pattern != '') - .map((pattern: string) => joinPattern(sourceFolder, pattern)); - tl.debug(`patterns: ${patterns}`); - - // short-circuit if no patterns - if (!patterns.length) { - tl.debug('no patterns specified'); - return; - } - - // find all files - let foundPaths: string[] = tl.find(sourceFolder, { - allowBrokenSymbolicLinks: true, - followSpecifiedSymbolicLink: true, - followSymbolicLinks: true - }); - - // short-circuit if not exists - if (!foundPaths.length) { - tl.debug('source folder not found. nothing to delete.'); - tl.setResult(tl.TaskResult.Succeeded, tl.loc("NoFiles")); - return; - } - - // Don't delete symbol store shares if this is a cleanup job for file-path artifacts. - // - // This check needs to be made based on the result of tl.find(). Otherwise intermittent network - // issues could result in a false assertion that the share is not a symbol store share. - // - // Opted to check each item name rather than the full path. Although it would suffice to check - // for 000Admin at the root of the share, it is difficult to accurately make a determination - // based on the full path. The problem is that the input share path would need to be run through - // a normalization function that could be trusted 100% to match the format produced by tl.find(). - // For example if the input contains "\\\share", it would need to be normalized as "\\share". To - // avoid worrying about catching every normalization edge case, checking the item name suffices instead. - if (buildCleanup && - foundPaths.some((itemPath: string) => path.basename(itemPath).toLowerCase() == '000admin')) { - - tl.warning(tl.loc('SkippingSymbolStore', sourceFolder)) - return; - } - - // minimatch options - let matchOptions = { matchBase: true }; - if (removeDotFiles) { - matchOptions["dot"] = true; - } - - if (os.type().match(/^Win/)) { - matchOptions["nocase"] = true; - } - - // apply the match patterns - let matches: string[] = matchPatterns(foundPaths, patterns, matchOptions); - - // sort by length (descending) so files are deleted before folders - matches = matches.sort((a: string, b: string) => { - if (a.length == b.length) { - return 0; - } - - return a.length > b.length ? -1 : 1; - }); - - // try to delete all files/folders, even if one errs - let errorHappened: boolean = false; - for (let itemPath of matches) { - try { - tl.rmRF(itemPath); - } - catch (err) { - tl.error(err); - errorHappened = true; - } - } - - // if there wasn't an error, check if there's anything in the folder tree other than folders - // if not, delete the root as well - if (removeSourceFolder && !errorHappened) { - foundPaths = tl.find(sourceFolder); - - if (foundPaths.length === 1) { - try { - tl.rmRF(sourceFolder); - } - catch (err) { - tl.error(err); - errorHappened = true; - } - } - } - - if (errorHappened) { - tl.setResult(tl.TaskResult.Failed, tl.loc("CantDeleteFiles")); - } -})(); - -/** - * Return number of negate marks at the beginning of the string - * - * @param {string} str - Input string - * @param {number} [startIndex] - Index to start from - * @return {number} Number of negate marks - */ -function getNegateMarksNumber(str: string, startIndex: number = 0): number { - let negateMarks = 0; - while(str[startIndex + negateMarks] === '!'){ - negateMarks++; - } - return negateMarks; -} - -/** - * Join the source path with the pattern moving negate marks to the beginning of the string - * - * @param {string} sourcePath - Source path string - * @param {string} pattern - Pattern string - * @return {string} Joining result - */ -function joinPattern(sourcePath: string, pattern: string): string { - const negateMarks = getNegateMarksNumber(pattern); - return path.join(pattern.slice(0, negateMarks) + sourcePath, pattern.slice(negateMarks)); -} - -/** - * Return those paths that match the list of patterns - * - * @param {string[]} paths - All found paths - * @param {string[]} patterns - List of patterns - * @param {Object} options - Match options - * @return {string[]} Result matches - */ -function matchPatterns(paths: string[], patterns: string[], options: any): string[] { - const allMatches = tl.match(paths, patterns, null, options); - - const hasExcludePatterns = patterns.find(pattern => { - const negateMarkIndex = pattern.indexOf('!'); - return negateMarkIndex > -1 && getNegateMarksNumber(pattern, negateMarkIndex) % 2 === 1; - }) - if(!hasExcludePatterns){ - return allMatches; - } - - const excludedPaths = paths.filter(path => !~allMatches.indexOf(path)); - return allMatches.filter(match => { - return !excludedPaths.find(excludedPath => excludedPath.indexOf(match) === 0); - }) -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1_Node20/icon.png b/_generated/DeleteFilesV1_Node20/icon.png deleted file mode 100644 index 98bd662d9e26..000000000000 Binary files a/_generated/DeleteFilesV1_Node20/icon.png and /dev/null differ diff --git a/_generated/DeleteFilesV1_Node20/icon.svg b/_generated/DeleteFilesV1_Node20/icon.svg deleted file mode 100644 index 1b2b611bca33..000000000000 --- a/_generated/DeleteFilesV1_Node20/icon.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/_generated/DeleteFilesV1_Node20/package-lock.json b/_generated/DeleteFilesV1_Node20/package-lock.json deleted file mode 100644 index 191fa516f101..000000000000 --- a/_generated/DeleteFilesV1_Node20/package-lock.json +++ /dev/null @@ -1,491 +0,0 @@ -{ - "name": "vsts-deletefiles-tasks", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "requires": { - "@types/node": "*" - } - }, - "@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "requires": { - "@types/node": "*" - } - }, - "@types/mocha": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" - }, - "@types/node": { - "version": "20.11.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.0.tgz", - "integrity": "sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==", - "requires": { - "undici-types": "~5.26.4" - } - }, - "@types/qs": { - "version": "6.9.8", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", - "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==" - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "azure-pipelines-task-lib": { - "version": "5.0.0-preview.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-5.0.0-preview.0.tgz", - "integrity": "sha512-uQJEv+q3/7RD7kgphFd33uXijaPwA1ePYoNkAgZpUhbZUtc2u4JL4ujTT/JJfgXBNW/QQNAiDQ2OC7vOQG/0tg==", - "requires": { - "minimatch": "3.0.5", - "q": "^1.5.1", - "semver": "^5.1.0", - "shelljs": "^0.8.5", - "sync-request": "6.1.0", - "uuid": "^3.0.1" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "form-data": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", - "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } - }, - "get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==" - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "requires": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - } - }, - "http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "requires": { - "@types/node": "^10.0.3" - }, - "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - } - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" - }, - "is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", - "requires": { - "has": "^1.0.3" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "requires": { - "asap": "~2.0.6" - } - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" - }, - "qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "requires": { - "resolve": "^1.1.6" - } - }, - "resolve": { - "version": "1.22.6", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", - "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "sync-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "requires": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - } - }, - "sync-rpc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", - "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "requires": { - "get-port": "^3.1.0" - } - }, - "then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "requires": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "dependencies": { - "@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - } - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - }, - "typescript": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", - "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", - "dev": true - }, - "undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - } - } -} diff --git a/_generated/DeleteFilesV1_Node20/package.json b/_generated/DeleteFilesV1_Node20/package.json deleted file mode 100644 index 9b2b8a887e22..000000000000 --- a/_generated/DeleteFilesV1_Node20/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "vsts-deletefiles-tasks", - "version": "1.0.0", - "description": "Azure Pipelines DeleteFiles Task", - "main": "deletefiles.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/Microsoft/azure-pipelines-tasks.git" - }, - "author": "Microsoft Corporation", - "license": "MIT", - "bugs": { - "url": "https://github.com/Microsoft/azure-pipelines-tasks/issues" - }, - "homepage": "https://github.com/Microsoft/azure-pipelines-tasks#readme", - "dependencies": { - "@types/node": "^20.11.0", - "@types/mocha": "^5.2.7", - "azure-pipelines-task-lib": "^5.0.0-preview.0" - }, - "devDependencies": { - "typescript": "5.1.6" - } -} diff --git a/_generated/DeleteFilesV1_Node20/task.json b/_generated/DeleteFilesV1_Node20/task.json deleted file mode 100644 index cb9f347a90af..000000000000 --- a/_generated/DeleteFilesV1_Node20/task.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "id": "B7E8B412-0437-4065-9371-EDC5881DE25B", - "name": "DeleteFiles", - "friendlyName": "Delete files", - "description": "Delete folders, or files matching a pattern", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/delete-files", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=722333)", - "category": "Utility", - "visibility": [ - "Build" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 1, - "Minor": 235, - "Patch": 1 - }, - "demands": [], - "minimumAgentVersion": "2.182.1", - "groups": [ - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": false - } - ], - "inputs": [ - { - "name": "SourceFolder", - "type": "filePath", - "label": "Source Folder", - "defaultValue": "", - "required": false, - "helpMarkDown": "The source folder that the deletion(s) will be run from. Empty is the root of the repo. Use [variables](https://go.microsoft.com/fwlink/?LinkID=550988) if files are not in the repo. Example: $(agent.builddirectory)" - }, - { - "name": "Contents", - "type": "multiLine", - "label": "Contents", - "defaultValue": "myFileShare", - "required": true, - "helpMarkDown": "File/folder paths to delete. Supports multiple lines of minimatch patterns. [More Information](https://go.microsoft.com/fwlink/?LinkID=722333)" - }, - { - "name": "RemoveSourceFolder", - "type": "boolean", - "label": "Remove SourceFolder", - "defaultValue": false, - "required": false, - "helpMarkDown": "Attempt to remove the source folder as well." - }, - { - "name": "RemoveDotFiles", - "type": "boolean", - "label": "Remove files starting with a dot", - "defaultValue": false, - "required": false, - "helpMarkDown": "Delete files starting with a dot (.git, .dockerfile). Omits these files if it's not specified explicitly (for example, '/.*'). Please see this [link](https://github.com/isaacs/minimatch#dot) for more info", - "groupName": "advanced" - } - ], - "instanceNameFormat": "Delete files from $(SourceFolder)", - "execution": { - "Node10": { - "target": "deletefiles.js", - "argumentFormat": "" - }, - "Node16": { - "target": "deletefiles.js", - "argumentFormat": "" - }, - "Node20_1": { - "target": "deletefiles.js", - "argumentFormat": "" - } - }, - "restrictions": { - "commands": { - "mode": "restricted" - }, - "settableVariables": { - "allowed": [] - } - }, - "messages": { - "CantDeleteFiles": "Couldn't delete one or more files", - "SkippingSymbolStore": "Skipping delete for symbol store file share: %s", - "NoFiles": "No files to delete." - }, - "_buildConfigMapping": { - "Default": "1.235.0", - "Node20-228": "1.235.1" - } -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1_Node20/task.loc.json b/_generated/DeleteFilesV1_Node20/task.loc.json deleted file mode 100644 index fea9e92e8b58..000000000000 --- a/_generated/DeleteFilesV1_Node20/task.loc.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "id": "B7E8B412-0437-4065-9371-EDC5881DE25B", - "name": "DeleteFiles", - "friendlyName": "ms-resource:loc.friendlyName", - "description": "ms-resource:loc.description", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/delete-files", - "helpMarkDown": "ms-resource:loc.helpMarkDown", - "category": "Utility", - "visibility": [ - "Build" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 1, - "Minor": 235, - "Patch": 1 - }, - "demands": [], - "minimumAgentVersion": "2.182.1", - "groups": [ - { - "name": "advanced", - "displayName": "ms-resource:loc.group.displayName.advanced", - "isExpanded": false - } - ], - "inputs": [ - { - "name": "SourceFolder", - "type": "filePath", - "label": "ms-resource:loc.input.label.SourceFolder", - "defaultValue": "", - "required": false, - "helpMarkDown": "ms-resource:loc.input.help.SourceFolder" - }, - { - "name": "Contents", - "type": "multiLine", - "label": "ms-resource:loc.input.label.Contents", - "defaultValue": "myFileShare", - "required": true, - "helpMarkDown": "ms-resource:loc.input.help.Contents" - }, - { - "name": "RemoveSourceFolder", - "type": "boolean", - "label": "ms-resource:loc.input.label.RemoveSourceFolder", - "defaultValue": false, - "required": false, - "helpMarkDown": "ms-resource:loc.input.help.RemoveSourceFolder" - }, - { - "name": "RemoveDotFiles", - "type": "boolean", - "label": "ms-resource:loc.input.label.RemoveDotFiles", - "defaultValue": false, - "required": false, - "helpMarkDown": "ms-resource:loc.input.help.RemoveDotFiles", - "groupName": "advanced" - } - ], - "instanceNameFormat": "ms-resource:loc.instanceNameFormat", - "execution": { - "Node10": { - "target": "deletefiles.js", - "argumentFormat": "" - }, - "Node16": { - "target": "deletefiles.js", - "argumentFormat": "" - }, - "Node20_1": { - "target": "deletefiles.js", - "argumentFormat": "" - } - }, - "restrictions": { - "commands": { - "mode": "restricted" - }, - "settableVariables": { - "allowed": [] - } - }, - "messages": { - "CantDeleteFiles": "ms-resource:loc.messages.CantDeleteFiles", - "SkippingSymbolStore": "ms-resource:loc.messages.SkippingSymbolStore", - "NoFiles": "ms-resource:loc.messages.NoFiles" - }, - "_buildConfigMapping": { - "Default": "1.235.0", - "Node20-228": "1.235.1" - } -} \ No newline at end of file diff --git a/_generated/DeleteFilesV1_Node20/tsconfig.json b/_generated/DeleteFilesV1_Node20/tsconfig.json deleted file mode 100644 index 0438b79f69ac..000000000000 --- a/_generated/DeleteFilesV1_Node20/tsconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "compilerOptions": { - "target": "ES6", - "module": "commonjs" - } -} \ No newline at end of file diff --git a/_generated/MavenV2.versionmap.txt b/_generated/MavenV2.versionmap.txt deleted file mode 100644 index a39dfba5cef0..000000000000 --- a/_generated/MavenV2.versionmap.txt +++ /dev/null @@ -1,2 +0,0 @@ -Default|2.235.0 -Node20-228|2.235.1 diff --git a/_generated/MavenV2/README.md b/_generated/MavenV2/README.md deleted file mode 100644 index c86baf98f94a..000000000000 --- a/_generated/MavenV2/README.md +++ /dev/null @@ -1,59 +0,0 @@ -# Build your Java code using Maven in Azure Pipelines - -### Parameters for Maven build task are explained below - -- **Maven POM file :** This is a Required field. Provide relative path from the repo root to the Maven POM .xml file. [Click here to know more about POM] (https://maven.apache.org/guides/introduction/introduction-to-the-pom.html) - -- **Options :** Specify any Maven options you want to use - -- **Goal(s) :** In most cases, set this to `package` to compile your code and package it into a .war file. If you leave this argument blank, the build will fail. [Click here to know more about Maven Build Lifecycle](https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html) - -#### JUnit Test Results -Use the next three options to manage your JUnit test results in Azure Pipelines - -- **Publish to Azure Pipelines/TFS :** Select this option to publish JUnit Test results produced by the Maven build to Azure Pipelines/TFS. Each test result file matching `Test Results Files` will be published as a test run in Azure Pipelines/TFS. - -- **Test Results Files :** This option will appear if you select the above option. Here, provide Test results files path. Wildcards can be used. For example, `**/TEST-*.xml` for all xml files whose name starts with `TEST-."`. Defaults to `$(System.DefaultWorkingDirectory)` - -- **Test Run Title :** This option will appear if you select the `Publish to Azure Pipelines/TFS` option. Here provide a name for the Test Run - -#### Code Coverage -Use the next options to manage your code coverage options. If your Build file already has Code Coverage enabled, you can ignore this section and use the Publish Code Coverage task to upload results to TFS/Azure Pipelines - -- **CodeCoverage Tool :** Select the code coverage tool you want to use. Currently JaCoCo and Cobertura are supported. [Click here](http://eclemma.org/jacoco/trunk/doc/maven.html) to know more about Jacoco and [Click here](http://www.mojohaus.org/cobertura-maven-plugin/index.html) to know more about Cobertura. - -- **Class Inclusion/Exclusion Filters :** This option is enabled only when you select one tool in the above option. Provide a -comma separated list of filters to include or exclude classes from collecting code coverage. For example: +:com.*,+:org.*,-:my.app*.*. -- **Class Files Directories :** This option is enabled only when you select JaCoCo as code coverage tool. This field is required for a multi module project. Specify comma separated list of relative paths from Maven POM file to directories containing class files, archive files(jar, war etc.). Code coverage is reported for class files present in the directories. For example: target/classes,target/testClasses. - -- **Source Files Directories :** This option is enabled only when you select JaCoCo as code coverage tool. This field is required for a multi module project. Specify comma separated list of relative paths from Maven POM file to source directories. Code coverage reports will use these to highlight source code. For example: src/java,src/Test. - -#### Advanced -Use the next options to manage your `JAVA_HOME` attribute by JDK Version and Path - -- **Set JAVA_HOME by :** Select to set `JAVA_HOME` either by providing a path or let Azure Pipelines set the `JAVA_HOME` based on JDK version choosen. By default it is set to `JDK Version` - -- **JDK Version :** Here provide the PATH to `JAVA_HOME` if you want to set it by path or select the appropriate JDK verision. - -- **JDK Architecture :** Select the approriate JDK Architecture. By default it is set to `x86` - -#### Code Analysis - -- **Run SonarQube Analysis :** You can choose to run SonarQube analysis after executing the current goals. 'install' or 'package' goals should be executed first. To know more about this option [click here](https://blogs.msdn.com/b/visualstudioalm/archive/2015/10/08/the-maven-build-task-now-simplifies-sonarqube-analysis.aspx) - -- **Run Checkstyle :** You can choose to run the Checkstyle static code analysis tool, which checks the compliance of your source code with coding rules. You will receive a code analysis report with the number of violations detected, as well as the original report files if there were any violations. - -- **Run PMD :** You can choose to run the PMD static code analysis tool, which examines your source code for possible bugs. You will receive a code analysis report with the number of violations detected, as well as the original report files if there were any violations. - -- **Run FindBugs :** You can choose to run the FindBugs static code analysis tool, which examines the bytecode of your program for possible bugs. You will receive a code analysis report with the number of violations detected, as well as the original report files if there were any violations. - - - - - - - - - - - diff --git a/_generated/MavenV2/Strings/resources.resjson/de-DE/resources.resjson b/_generated/MavenV2/Strings/resources.resjson/de-DE/resources.resjson deleted file mode 100644 index 45d980224629..000000000000 --- a/_generated/MavenV2/Strings/resources.resjson/de-DE/resources.resjson +++ /dev/null @@ -1,101 +0,0 @@ -{ - "loc.friendlyName": "Maven", - "loc.helpMarkDown": "[Weitere Informationen zu dieser Aufgabe](https://go.microsoft.com/fwlink/?LinkID=613723)", - "loc.description": "Hiermit erfolgt eine Erstellung, Testdurchführung und Bereitstellung mit Apache Maven.", - "loc.instanceNameFormat": "Maven $(mavenPOMFile)", - "loc.releaseNotes": "Die Konfiguration der SonarQube-Analyse wurde in die Erweiterungen [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) oder [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) in die Aufgabe zum Vorbereiten der Analysekonfiguration verschoben.", - "loc.group.displayName.junitTestResults": "JUnit-Testergebnisse", - "loc.group.displayName.codeCoverage": "Code Coverage", - "loc.group.displayName.advanced": "Erweitert", - "loc.group.displayName.CodeAnalysis": "Codeanalyse", - "loc.input.label.mavenPOMFile": "Maven-POM-Datei", - "loc.input.help.mavenPOMFile": "Der relative Pfad vom Repositorystamm zur Maven-POM-Datei.", - "loc.input.label.goals": "Ziel(e)", - "loc.input.label.options": "Optionen", - "loc.input.label.publishJUnitResults": "In Azure Pipelines veröffentlichen", - "loc.input.help.publishJUnitResults": "Wählen Sie diese Option aus, um vom Maven-Build generierte JUnit-Testergebnisse in Azure Pipelines zu veröffentlichen. Jede Testergebnisdatei, die mit \"Testergebnisdateien\" übereinstimmt, wird als Testlauf in Azure Pipelines veröffentlicht.", - "loc.input.label.testResultsFiles": "Testergebnisdateien", - "loc.input.help.testResultsFiles": "Geben Sie Pfad und Muster der Testergebnisdateien für die Veröffentlichung an. Platzhalter können verwendet werden ([weitere Informationen](https://go.microsoft.com/fwlink/?linkid=856077)). Verwenden Sie beispielsweise \"**/TEST-*.xml\" für alle XML-Dateien, deren Name mit \"TEST-\" beginnt. Wenn kein Stammpfad angegeben wird, wird ein Abgleich für die Dateien unterhalb des Standardarbeitsverzeichnisses durchgeführt. Das Verzeichnis ist als Wert in dieser Variablen verfügbar: $(System.DefaultWorkingDirectory). Mit dem Wert \"**/TEST-*.xml\" wird beispielsweise ein Abgleich für die Dateien aus \"$(System.DefaultWorkingDirectory)/**/TEST-*.xml\" durchgeführt.", - "loc.input.label.testRunTitle": "Testlauftitel", - "loc.input.help.testRunTitle": "Geben Sie einen Namen für den Testlauf an.", - "loc.input.label.allowBrokenSymbolicLinks": "Fehlerhafte symbolische Links zulassen", - "loc.input.help.allowBrokenSymbolicLinks": "Setzen Sie false, um die Erstellung fehlschlagen zu lassen, wenn die Aufgabe während der Veröffentlichung des Testergebnisses einen defekten symbolischen Link findet", - "loc.input.label.codeCoverageTool": "Code Coverage-Tool", - "loc.input.help.codeCoverageTool": "Wählen Sie das Code Coverage-Tool aus.", - "loc.input.label.classFilter": "Filter für den Klasseneinschluss/-ausschluss", - "loc.input.help.classFilter": "Eine durch Kommas getrennte Liste der Filter, um Klassen in die Erfassung von Code Coverage ein- oder von dieser auszuschließen, z. B. \"+:com.*\", \"+:org.*\", \"-:my.app*.*\".", - "loc.input.label.classFilesDirectories": "Klassendateiverzeichnisse", - "loc.input.help.classFilesDirectories": "Dieses Feld ist für ein Projekt mit mehreren Modulen erforderlich. Geben Sie eine durch Kommas getrennte Liste der relativen Pfade von der Maven POM-Datei zu den Verzeichnissen an, die Klassendateien und Archivdateien (JAR-, WAR-Dateien usw.) enthalten. Code Coverage wird für Klassendateien in diesen Verzeichnissen gemeldet, z. B. \"target/classes\", \"target/testClasses\".", - "loc.input.label.srcDirectories": "Quelldateiverzeichnisse", - "loc.input.help.srcDirectories": "Dieses Feld ist für ein Projekt mit mehreren Modulen erforderlich. Geben Sie eine durch Kommas getrennte Liste der relativen Pfade von der Maven POM-Datei zu den Quellcodeverzeichnissen an. Code Coverage-Berichte verwenden diese, um Quellcode hervorzuheben, z. B. \"src/java\", \"src/Test\".", - "loc.input.label.failIfCoverageEmpty": "Fehler, wenn die Code Coverage-Ergebnisse fehlen", - "loc.input.help.failIfCoverageEmpty": "Buildfehler, wenn Code Coverage keine zu veröffentlichenden Ergebnisse ergeben hat.", - "loc.input.label.restoreOriginalPomXml": "Ursprüngliche Datei \"pom.xml\" nach Aufgabenausführung wiederherstellen", - "loc.input.help.restoreOriginalPomXml": "Code Coverage ändert die Datei \"pom.xml\", um Ergebnisse zu erzielen. Verwenden Sie diese Option, wenn Sie die ursprüngliche Datei \"pom.xml\" beibehalten möchten.", - "loc.input.label.javaHomeSelection": "JAVA_HOME festlegen durch", - "loc.input.help.javaHomeSelection": "Legt JAVA_HOME durch Auswählen einer JDK-Version fest, die während der Erstellung von Builds oder durch manuelles Eingeben eines JDK-Pfads ermittelt wird.", - "loc.input.label.jdkVersion": "JDK-Version", - "loc.input.help.jdkVersion": "Versucht, den Pfad zur ausgewählten JDK-Version zu ermitteln und JAVA_HOME entsprechend festzulegen.", - "loc.input.label.jdkUserInputPath": "JDK-Pfad", - "loc.input.help.jdkUserInputPath": "Legt JAVA_HOME auf den angegebenen Pfad fest.", - "loc.input.label.jdkArchitecture": "JDK-Architektur", - "loc.input.help.jdkArchitecture": "Geben Sie optional die JDK-Architektur an (x86, x64).", - "loc.input.label.mavenVersionSelection": "Maven-Version", - "loc.input.help.mavenVersionSelection": "Verwendet die Maven-Standardversion oder die Version im angegebenen benutzerdefinierten Pfad.", - "loc.input.label.mavenPath": "Maven-Pfad", - "loc.input.help.mavenPath": "Geben Sie den benutzerdefinierten Pfad zur Maven-Installation an (z. B. \"/usr/share/maven\").", - "loc.input.label.mavenSetM2Home": "Variable \"M2_HOME\" festlegen", - "loc.input.help.mavenSetM2Home": "Legt die Variable \"M2_HOME\" auf einen benutzerdefinierten Maven-Installationspfad fest.", - "loc.input.label.mavenOpts": "MAVEN_OPTS festlegen auf", - "loc.input.help.mavenOpts": "Legt die Umgebungsvariable MAVEN_OPTS fest, die zum Senden von Befehlszeilenargumenten zum Starten von JVM verwendet wird. Das Kennzeichen \"-Xmx\" gibt den maximalen Arbeitsspeicher an, der für JVM verfügbar ist.", - "loc.input.label.mavenFeedAuthenticate": "Integrierte Maven-Feeds authentifizieren", - "loc.input.help.mavenFeedAuthenticate": "Authentifizieren Sie Maven-Feeds automatisch über Azure Artifacts. Wenn keine integrierten Maven-Feeds verwendet werden, deaktivieren Sie diese Option, um die Builderstellung zu beschleunigen.", - "loc.input.label.sqAnalysisEnabled": "SonarQube- oder SonarCloud-Analyse ausführen", - "loc.input.help.sqAnalysisEnabled": "Diese Option wurde im Vergleich zu Version 1 der Aufgabe **Maven** dahingehend geändert, dass jetzt die Marketplace-Erweiterungen [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) und [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) verwendet werden. Aktivieren Sie diese Option, um eine [SonarQube- oder SonarCloud-Analyse](http://redirect.sonarsource.com/doc/install-configure-scanner-tfs-ts.html) durchzuführen, nachdem Sie die Ziele im Feld **Ziele** ausgeführt haben. Das Ziel **Installieren** oder **Paketieren** sollte zuerst ausgeführt werden. Sie müssen der Buildpipeline vor dieser Maven-Aufgabe außerdem eine Aufgabe **Analysekonfiguration vorbereiten** aus einer der Erweiterungen hinzufügen.", - "loc.input.label.isJacocoCoverageReportXML": "XML-Jacoco-Berichte für SonarQube-Analyse verwenden", - "loc.input.help.isJacocoCoverageReportXML": "Verwenden Sie XML-Jacoco-Berichte für die SonarQube-Analyse. [Weitere Informationen](https://docs.sonarqube.org/latest/analysis/coverage/)", - "loc.input.label.sqMavenPluginVersionChoice": "SonarQube Scanner for Maven-Version", - "loc.input.help.sqMavenPluginVersionChoice": "Die zu verwendende Version für das SonarQube-Maven-Plug-In. Sie können die aktuelle Version oder die Version in Ihrer \"pom.xml\" verwenden.", - "loc.input.label.checkstyleAnalysisEnabled": "Checkstyle ausführen", - "loc.input.help.checkstyleAnalysisEnabled": "Führen Sie das Tool Checkstyle mit den Sun-Standardüberprüfungen aus. Die Ergebnisse werden als Buildartefakte hochgeladen.", - "loc.input.label.pmdAnalysisEnabled": "PMD ausführen", - "loc.input.help.pmdAnalysisEnabled": "Verwenden Sie das statische PMD-Analysetool, um Fehler im Code zu ermitteln. Ergebnisse werden als Buildartefakte hochgeladen.", - "loc.input.label.findbugsAnalysisEnabled": "FindBugs ausführen", - "loc.input.help.findbugsAnalysisEnabled": "Verwenden Sie das statische FindBugs-Analysetool, um Fehler im Code zu ermitteln. Ergebnisse werden als Buildartefakte hochgeladen.", - "loc.messages.sqCommon_CreateTaskReport_MissingField": "Fehler beim Erstellen des TaskReport-Objekts. Fehlendes Feld: %s", - "loc.messages.sqCommon_WaitingForAnalysis": "Auf den SonarQube-Server wird gewartet, um den Build zu analysieren.", - "loc.messages.sqCommon_NotWaitingForAnalysis": "Der Build ist nicht für das Warten auf die SonarQube-Analyse konfiguriert. Der ausführliche Quality Gate-Status ist nicht verfügbar.", - "loc.messages.sqCommon_QualityGateStatusUnknown": "Der Quality Gate-Status wurde nicht erkannt, oder es wurde ein neuer Status eingeführt.", - "loc.messages.sqCommon_InvalidResponseFromServer": "Der Server hat mit einem ungültigen oder unerwarteten Antwortformat geantwortet.", - "loc.messages.codeAnalysis_ToolIsEnabled": "Die %s-Analyse ist aktiviert.", - "loc.messages.codeAnalysis_ToolFailed": "Fehler bei der %s-Analyse.", - "loc.messages.sqAnalysis_IncrementalMode": "Ein PR-Build wurde erkannt. Die SonarQube-Analyse wird im inkrementellen Modus ausgeführt.", - "loc.messages.sqAnalysis_BuildSummaryTitle": "SonarQube-Analysebericht", - "loc.messages.sqAnalysis_TaskReportInvalid": "Ungültiger oder fehlender Vorgangsbericht. Überprüfen Sie, ob SonarQube erfolgreich abgeschlossen wurde.", - "loc.messages.sqAnalysis_BuildSummary_LinkText": "Ausführlicher SonarQube-Bericht", - "loc.messages.sqAnalysis_BuildSummary_CannotAuthenticate": "Authentifizierung beim SonarQube-Server nicht möglich. Überprüfen Sie die gespeicherten Dienstverbindungsdetails und den Status des Servers.", - "loc.messages.sqAnalysis_AnalysisTimeout": "Die Analyse wurde nicht in der vorgesehenen Zeit von %d Sekunden abgeschlossen.", - "loc.messages.sqAnalysis_IsPullRequest_SkippingBuildSummary": "Pull Request-Build: Eine ausführliche SonarQube-Buildzusammenfassung ist nicht verfügbar.", - "loc.messages.sqAnalysis_IsPullRequest_SkippingBuildBreaker": "Pull Request-Build: Der Build wird bei einem Quality Gate-Fehler nicht beeinträchtigt.", - "loc.messages.sqAnalysis_BuildBrokenDueToQualityGateFailure": "Fehler des diesem Build zugeordneten SonarQube Quality Gates.", - "loc.messages.sqAnalysis_QualityGatePassed": "Das diesem Build zugeordnete SonarQube Quality Gate wurde bestanden (Status %s).", - "loc.messages.sqAnalysis_UnknownComparatorString": "Problem bei der SonarQube-Buildzusammenfassung: unbekannter Vergleichsoperator \"%s\"", - "loc.messages.sqAnalysis_NoUnitsFound": "Die Liste der SonarQube-Maßeinheiten konnte nicht vom Server abgerufen werden.", - "loc.messages.sqAnalysis_NoReportTask": "\"report-task.txt\" wurde nicht gefunden. Mögliche Ursache: Die SonarQube-Analyse wurde nicht erfolgreich abgeschlossen.", - "loc.messages.sqAnalysis_MultipleReportTasks": "Es wurden mehrere Dateien \"report-task.txt\" gefunden, und nur die erste wird ausgewählt. Die Buildzusammenfassung und der Build Breaker sind möglicherweise nicht genau. Mögliche Ursache: mehrere SonarQube-Analysen im selben Build, dies wird nicht unterstützt.", - "loc.messages.codeAnalysisBuildSummaryLine_SomeViolationsSomeFiles": "%s hat %d Verstöße in %d Dateien gefunden.", - "loc.messages.codeAnalysisBuildSummaryLine_SomeViolationsOneFile": "%s hat %d Verstöße in einer Datei gefunden.", - "loc.messages.codeAnalysisBuildSummaryLine_OneViolationOneFile": "%s hat einen Verstoß in einer Datei gefunden.", - "loc.messages.codeAnalysisBuildSummaryLine_NoViolations": "%s hat keine Verstöße gefunden.", - "loc.messages.codeAnalysisBuildSummaryTitle": "Codeanalysebericht", - "loc.messages.codeAnalysisArtifactSummaryTitle": "Codeanalyseergebnisse", - "loc.messages.codeAnalysisDisabled": "Die Codeanalyse ist außerhalb der Buildumgebung deaktiviert. Es konnte kein Wert gefunden werden für: %s", - "loc.messages.LocateJVMBasedOnVersionAndArch": "JAVA_HOME für Java %s %s finden", - "loc.messages.UnsupportedJdkWarning": "JDK 9 und JDK 10 werden nicht unterstützt. Wechseln Sie in Ihrem Projekt und Ihrer Pipeline zu einer neueren Version. Es wird versucht, die Erstellung mit JDK 11 durchzuführen...", - "loc.messages.FailedToLocateSpecifiedJVM": "Die angegebene JDK-Version wurde nicht gefunden. Stellen Sie sicher, dass die angegebene JDK-Version auf dem Agent installiert und die Umgebungsvariable \"%s\" vorhanden und auf den Speicherort eines entsprechenden JDK festgelegt ist. Sie können auch die Aufgabe [Installer für Java-Tools](https://go.microsoft.com/fwlink/?linkid=875287) verwenden, um das gewünschte JDK zu installieren.", - "loc.messages.NoCodeCoverage": "Keine Code Coverage-Ergebnisse zum Veröffentlichen gefunden.", - "loc.messages.EntryAlreadyExists": "Die Einstellungen für den Feed oder das Repository sind in der XML-Datei bereits vorhanden.", - "loc.messages.EffectivePomInvalid": "Effektives POM konnte nicht analysiert werden.", - "loc.messages.AuthenticationNotNecessary": "Es wurden keine integrierten Maven-Feeds gefunden, für die eine Authentifizierung erforderlich ist. Deaktivieren Sie \"Integrierte Maven-Feeds authentifizieren\", um das Erstellen zu beschleunigen.", - "loc.messages.UsingAuthFeed": "Integrierter Feed wird verwendet:" -} \ No newline at end of file diff --git a/_generated/MavenV2/Strings/resources.resjson/en-US/resources.resjson b/_generated/MavenV2/Strings/resources.resjson/en-US/resources.resjson deleted file mode 100644 index 91d23567017e..000000000000 --- a/_generated/MavenV2/Strings/resources.resjson/en-US/resources.resjson +++ /dev/null @@ -1,101 +0,0 @@ -{ - "loc.friendlyName": "Maven", - "loc.helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613723)", - "loc.description": "Build, test, and deploy with Apache Maven", - "loc.instanceNameFormat": "Maven $(mavenPOMFile)", - "loc.releaseNotes": "Configuration of the SonarQube analysis was moved to the [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) or [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) extensions, in task `Prepare Analysis Configuration`", - "loc.group.displayName.junitTestResults": "JUnit Test Results", - "loc.group.displayName.codeCoverage": "Code Coverage", - "loc.group.displayName.advanced": "Advanced", - "loc.group.displayName.CodeAnalysis": "Code Analysis", - "loc.input.label.mavenPOMFile": "Maven POM file", - "loc.input.help.mavenPOMFile": "Relative path from the repository root to the Maven POM file.", - "loc.input.label.goals": "Goal(s)", - "loc.input.label.options": "Options", - "loc.input.label.publishJUnitResults": "Publish to Azure Pipelines", - "loc.input.help.publishJUnitResults": "Select this option to publish JUnit test results produced by the Maven build to Azure Pipelines. Each test results file matching `Test Results Files` will be published as a test run in Azure Pipelines.", - "loc.input.label.testResultsFiles": "Test results files", - "loc.input.help.testResultsFiles": "Specify the path and pattern of test results files to publish. Wildcards can be used ([more information](https://go.microsoft.com/fwlink/?linkid=856077)). For example, `**/TEST-*.xml` for all XML files whose name starts with `TEST-`. If no root path is specified, files are matched beneath the default working directory, the value of which is available in the variable: $(System.DefaultWorkingDirectory). For example, a value of '**/TEST-*.xml' will actually result in matching files from '$(System.DefaultWorkingDirectory)/**/TEST-*.xml'.", - "loc.input.label.testRunTitle": "Test run title", - "loc.input.help.testRunTitle": "Provide a name for the test run.", - "loc.input.label.allowBrokenSymbolicLinks": "Allow broken symbolic links", - "loc.input.help.allowBrokenSymbolicLinks": "Set false to fail build when task finds broken symbolic link during publishing tests result", - "loc.input.label.codeCoverageTool": "Code coverage tool", - "loc.input.help.codeCoverageTool": "Select the code coverage tool.", - "loc.input.label.classFilter": "Class inclusion/exclusion filters", - "loc.input.help.classFilter": "Comma-separated list of filters to include or exclude classes from collecting code coverage. For example: +:com.*,+:org.*,-:my.app*.*.", - "loc.input.label.classFilesDirectories": "Class files directories", - "loc.input.help.classFilesDirectories": "This field is required for a multi-module project. Specify a comma-separated list of relative paths from the Maven POM file to directories containing class files and archive files (JAR, WAR, etc.). Code coverage is reported for class files in these directories. For example: target/classes,target/testClasses.", - "loc.input.label.srcDirectories": "Source files directories", - "loc.input.help.srcDirectories": "This field is required for a multi-module project. Specify a comma-separated list of relative paths from the Maven POM file to source code directories. Code coverage reports will use these to highlight source code. For example: src/java,src/Test.", - "loc.input.label.failIfCoverageEmpty": "Fail when code coverage results are missing", - "loc.input.help.failIfCoverageEmpty": "Fail the build if code coverage did not produce any results to publish.", - "loc.input.label.restoreOriginalPomXml": "Restore original pom.xml after task execution", - "loc.input.help.restoreOriginalPomXml": "Code coverage modifies pom.xml to produce results. Use this option if you need to keep original pom.xml.", - "loc.input.label.javaHomeSelection": "Set JAVA_HOME by", - "loc.input.help.javaHomeSelection": "Sets JAVA_HOME either by selecting a JDK version that will be discovered during builds or by manually entering a JDK path.", - "loc.input.label.jdkVersion": "JDK version", - "loc.input.help.jdkVersion": "Will attempt to discover the path to the selected JDK version and set JAVA_HOME accordingly.", - "loc.input.label.jdkUserInputPath": "JDK path", - "loc.input.help.jdkUserInputPath": "Sets JAVA_HOME to the given path.", - "loc.input.label.jdkArchitecture": "JDK architecture", - "loc.input.help.jdkArchitecture": "Optionally supply the architecture (x86, x64) of the JDK.", - "loc.input.label.mavenVersionSelection": "Maven version", - "loc.input.help.mavenVersionSelection": "Uses either the default Maven version or the version in the specified custom path.", - "loc.input.label.mavenPath": "Maven path", - "loc.input.help.mavenPath": "Supply the custom path to the Maven installation (e.g., /usr/share/maven).", - "loc.input.label.mavenSetM2Home": "Set M2_HOME variable", - "loc.input.help.mavenSetM2Home": "Sets the M2_HOME variable to a custom Maven installation path.", - "loc.input.label.mavenOpts": "Set MAVEN_OPTS to", - "loc.input.help.mavenOpts": "Sets the MAVEN_OPTS environment variable, which is used to send command-line arguments to start the JVM. The -Xmx flag specifies the maximum memory available to the JVM.", - "loc.input.label.mavenFeedAuthenticate": "Authenticate with Artifacts feeds", - "loc.input.help.mavenFeedAuthenticate": "Automatically authenticates with Azure Artifacts feeds. If Artifacts feeds are not in use, deselect this option for faster builds.", - "loc.input.label.sqAnalysisEnabled": "Run SonarQube or SonarCloud analysis", - "loc.input.help.sqAnalysisEnabled": "This option has changed from version 1 of the **Maven** task to use the [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) and [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) marketplace extensions. Enable this option to run [SonarQube or SonarCloud analysis](http://redirect.sonarsource.com/doc/install-configure-scanner-tfs-ts.html) after executing goals in the **Goals** field. The **install** or **package** goal should run first. You must also add a **Prepare Analysis Configuration** task from one of the extensions to the build pipeline before this Maven task.", - "loc.input.label.isJacocoCoverageReportXML": "Use XML Jacoco reports for SonarQube analysis", - "loc.input.help.isJacocoCoverageReportXML": "Use XML Jacoco reports for SonarQube analysis. [More info](https://docs.sonarqube.org/latest/analysis/coverage/)", - "loc.input.label.sqMavenPluginVersionChoice": "SonarQube scanner for Maven version", - "loc.input.help.sqMavenPluginVersionChoice": "The SonarQube Maven plugin version to use. You can use latest version, or rely on the version in your pom.xml.", - "loc.input.label.checkstyleAnalysisEnabled": "Run Checkstyle", - "loc.input.help.checkstyleAnalysisEnabled": "Run the Checkstyle tool with the default Sun checks. Results are uploaded as build artifacts.", - "loc.input.label.pmdAnalysisEnabled": "Run PMD", - "loc.input.help.pmdAnalysisEnabled": "Use the PMD static analysis tool to look for bugs in the code. Results are uploaded as build artifacts.", - "loc.input.label.findbugsAnalysisEnabled": "Run FindBugs", - "loc.input.help.findbugsAnalysisEnabled": "Use the FindBugs static analysis tool to look for bugs in the code. Results are uploaded as build artifacts.", - "loc.messages.sqCommon_CreateTaskReport_MissingField": "Failed to create TaskReport object. Missing field: %s", - "loc.messages.sqCommon_WaitingForAnalysis": "Waiting for the SonarQube server to analyse the build.", - "loc.messages.sqCommon_NotWaitingForAnalysis": "Build not configured to wait for the SonarQube analysis. Detailed quality gate status will not be available.", - "loc.messages.sqCommon_QualityGateStatusUnknown": "Could not detect the quality gate status or a new status has been introduced.", - "loc.messages.sqCommon_InvalidResponseFromServer": "Server responded with an invalid or unexpected response format.", - "loc.messages.codeAnalysis_ToolIsEnabled": "%s analysis is enabled.", - "loc.messages.codeAnalysis_ToolFailed": "%s analysis failed.", - "loc.messages.sqAnalysis_IncrementalMode": "Detected a PR build - running the SonarQube analysis in incremental mode", - "loc.messages.sqAnalysis_BuildSummaryTitle": "SonarQube Analysis Report", - "loc.messages.sqAnalysis_TaskReportInvalid": "Invalid or missing task report. Check SonarQube finished successfully.", - "loc.messages.sqAnalysis_BuildSummary_LinkText": "Detailed SonarQube report", - "loc.messages.sqAnalysis_BuildSummary_CannotAuthenticate": "Cannot authenticate to the SonarQube server. Check the saved service connection details and the status of the server.", - "loc.messages.sqAnalysis_AnalysisTimeout": "The analysis did not complete in the allotted time of %d seconds.", - "loc.messages.sqAnalysis_IsPullRequest_SkippingBuildSummary": "Pull request build: detailed SonarQube build summary will not be available.", - "loc.messages.sqAnalysis_IsPullRequest_SkippingBuildBreaker": "Pull request build: build will not be broken if quality gate fails.", - "loc.messages.sqAnalysis_BuildBrokenDueToQualityGateFailure": "The SonarQube quality gate associated with this build has failed.", - "loc.messages.sqAnalysis_QualityGatePassed": "The SonarQube quality gate associated with this build has passed (status %s)", - "loc.messages.sqAnalysis_UnknownComparatorString": "The SonarQube build summary encountered a problem: unknown comparator '%s'", - "loc.messages.sqAnalysis_NoUnitsFound": "The list of SonarQube measurement units could not be retrieved from the server.", - "loc.messages.sqAnalysis_NoReportTask": "Could not find report-task.txt. Possible cause: the SonarQube analysis did not complete successfully.", - "loc.messages.sqAnalysis_MultipleReportTasks": "Multiple report-task.txt files found. Choosing the first one. The build summary and the build breaker may not be accurate. Possible cause: multiple SonarQube analysis during the same build, which is not supported.", - "loc.messages.codeAnalysisBuildSummaryLine_SomeViolationsSomeFiles": "%s found %d violations in %d files.", - "loc.messages.codeAnalysisBuildSummaryLine_SomeViolationsOneFile": "%s found %d violations in 1 file.", - "loc.messages.codeAnalysisBuildSummaryLine_OneViolationOneFile": "%s found 1 violation in 1 file.", - "loc.messages.codeAnalysisBuildSummaryLine_NoViolations": "%s found no violations.", - "loc.messages.codeAnalysisBuildSummaryTitle": "Code Analysis Report", - "loc.messages.codeAnalysisArtifactSummaryTitle": "Code Analysis Results", - "loc.messages.codeAnalysisDisabled": "Code analysis is disabled outside of the build environment. Could not find a value for: %s", - "loc.messages.LocateJVMBasedOnVersionAndArch": "Locate JAVA_HOME for Java %s %s", - "loc.messages.UnsupportedJdkWarning": "JDK 9 and JDK 10 are out of support. Please switch to a later version in your project and pipeline. Attempting to build with JDK 11...", - "loc.messages.FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", - "loc.messages.NoCodeCoverage": "No code coverage results were found to publish.", - "loc.messages.EntryAlreadyExists": "The settings for the feed or repository already exists in the xml file.", - "loc.messages.EffectivePomInvalid": "Could not parse the effective POM.", - "loc.messages.AuthenticationNotNecessary": "No Artifacts feeds requiring authentication were found. Disable 'Authenticate with Artifacts feeds' for faster builds.", - "loc.messages.UsingAuthFeed": "Using Artifacts feed: " -} \ No newline at end of file diff --git a/_generated/MavenV2/Strings/resources.resjson/es-ES/resources.resjson b/_generated/MavenV2/Strings/resources.resjson/es-ES/resources.resjson deleted file mode 100644 index c8d27b734977..000000000000 --- a/_generated/MavenV2/Strings/resources.resjson/es-ES/resources.resjson +++ /dev/null @@ -1,101 +0,0 @@ -{ - "loc.friendlyName": "Maven", - "loc.helpMarkDown": "[Obtener más información acerca de esta tarea](https://go.microsoft.com/fwlink/?LinkID=613723)", - "loc.description": "Compila, prueba e implementa con Apache Maven.", - "loc.instanceNameFormat": "$(mavenPOMFile) de Maven", - "loc.releaseNotes": "La configuración del análisis de SonarQube se movió a las extensiones de [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) o [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud), en la tarea \"Prepare Analysis Configuration\"", - "loc.group.displayName.junitTestResults": "Resultados de pruebas JUnit", - "loc.group.displayName.codeCoverage": "Cobertura de código", - "loc.group.displayName.advanced": "Avanzado", - "loc.group.displayName.CodeAnalysis": "Análisis de código", - "loc.input.label.mavenPOMFile": "Archivo POM de Maven", - "loc.input.help.mavenPOMFile": "Ruta de acceso relativa de la raíz del repositorio al archivo POM de Maven.", - "loc.input.label.goals": "Objetivos", - "loc.input.label.options": "Opciones", - "loc.input.label.publishJUnitResults": "Publicar en Azure Pipelines", - "loc.input.help.publishJUnitResults": "Seleccione esta opción para publicar en Azure Pipelines los resultados de pruebas JUnit generados por la compilación de Maven. Cada archivo de resultados de pruebas que coincida con \"Archivos de resultados de pruebas\" se publicará como una serie de pruebas en Azure Pipelines.", - "loc.input.label.testResultsFiles": "Archivos de resultados de pruebas", - "loc.input.help.testResultsFiles": "Especifique la ruta de acceso y el patrón de los archivos de resultados de las pruebas que deben publicarse. Se pueden usar caracteres comodín ([más información](https://go.microsoft.com/fwlink/?linkid=856077)). Por ejemplo, \"**/TEST-*.xml\" para todos los archivos XML cuyo nombre comience con \"TEST-\". Si no se especifica una ruta de acceso raíz, los archivos se buscan en el directorio de trabajo predeterminado, cuyo valor está disponible en la variable: $(System.DefaultWorkingDirectory). Por ejemplo, un valor de \"**/TEST-*.xml\" dará lugar a que se busquen los archivos de \"$(System.DefaultWorkingDirectory)/**/TEST-*.xml\".", - "loc.input.label.testRunTitle": "Título de la serie de pruebas", - "loc.input.help.testRunTitle": "Asigne un nombre a la serie de pruebas.", - "loc.input.label.allowBrokenSymbolicLinks": "Permitir vínculos simbólicos rotos", - "loc.input.help.allowBrokenSymbolicLinks": "Establezca false para suspender la compilación cuando la tarea encuentre un vínculo simbólico roto durante la publicación del resultado de las pruebas", - "loc.input.label.codeCoverageTool": "Herramienta de cobertura de código", - "loc.input.help.codeCoverageTool": "Seleccione la herramienta de cobertura de código.", - "loc.input.label.classFilter": "Filtros de inclusión/exclusión de clase", - "loc.input.help.classFilter": "Lista separada por comas de los filtros para incluir o excluir clases de la recopilación de cobertura de código. Por ejemplo: +:com.*,+:org.*,-:my.app*.*.", - "loc.input.label.classFilesDirectories": "Directorios de archivos de clase", - "loc.input.help.classFilesDirectories": "Este campo es obligatorio para un proyecto de varios módulos. Especifique una lista separada por comas de las rutas de acceso relativas desde el archivo POM de Maven a los directorios que contienen archivos de clase y archivos de almacenamiento (JAR, WAR, etc.). La cobertura de código se notifica para los archivos de clase que están en los directorios. Por ejemplo: target/classes,target/testClasses.", - "loc.input.label.srcDirectories": "Directorios de archivos de origen", - "loc.input.help.srcDirectories": "Este campo es obligatorio para un proyecto de varios módulos. Especifique una lista separada por comas de las rutas de acceso relativas desde el archivo POM de Maven a los directorios de código fuente. Los informes de cobertura de código las usarán para resaltar el código fuente. Por ejemplo: src/java,src/Test.", - "loc.input.label.failIfCoverageEmpty": "Error si faltan los resultados de cobertura de código", - "loc.input.help.failIfCoverageEmpty": "Error de compilación si la cobertura de código no generó ningún resultado para publicar.", - "loc.input.label.restoreOriginalPomXml": "Restaurar el archivo pom.xml original después de ejecutar la tarea", - "loc.input.help.restoreOriginalPomXml": "La cobertura de código modifica pom.xml para generar resultados. Use esta opción si necesita conservar el archivo pom.xml original.", - "loc.input.label.javaHomeSelection": "Establecer JAVA_HOME por", - "loc.input.help.javaHomeSelection": "Establece JAVA_HOME seleccionando una versión de JDK que se detectará durante las compilaciones o especificando manualmente una ruta de acceso del JDK.", - "loc.input.label.jdkVersion": "Versión de JDK", - "loc.input.help.jdkVersion": "Se tratará de hallar la ruta de acceso a la versión de JDK seleccionada y establecer JAVA_HOME según sea el caso.", - "loc.input.label.jdkUserInputPath": "Ruta de acceso de JDK", - "loc.input.help.jdkUserInputPath": "Establece JAVA_HOME en la ruta de acceso especificada.", - "loc.input.label.jdkArchitecture": "Arquitectura JDK", - "loc.input.help.jdkArchitecture": "Indique opcionalmente la arquitectura (x86, x64) del JDK.", - "loc.input.label.mavenVersionSelection": "Versión de Maven", - "loc.input.help.mavenVersionSelection": "Usa la versión predeterminada de Maven o la versión de la ruta de acceso personalizada especificada.", - "loc.input.label.mavenPath": "Ruta de acceso de Maven", - "loc.input.help.mavenPath": "Proporcione la ruta de acceso personalizada a la instalación de Maven (por ejemplo, /usr/share/maven).", - "loc.input.label.mavenSetM2Home": "Establecer variable M2_HOME", - "loc.input.help.mavenSetM2Home": "Establece la variable M2_HOME en la ruta de instalación predeterminada de Maven.", - "loc.input.label.mavenOpts": "Establecer MAVEN_OPTS en", - "loc.input.help.mavenOpts": "Establece la variable de entorno MAVEN_OPTS, que se utiliza para enviar argumentos de la línea de comandos para iniciar JVM. La marca -Xmx especifica la cantidad de memoria máxima disponible para JVM.", - "loc.input.label.mavenFeedAuthenticate": "Autenticar fuentes de Maven integradas", - "loc.input.help.mavenFeedAuthenticate": "Autentique automáticamente las fuentes de Maven de Azure Artifacts. Si no se usan las fuentes de Maven integradas, anule la selección de esta opción para que las compilaciones se ejecuten más rápido.", - "loc.input.label.sqAnalysisEnabled": "Ejecutar el análisis de SonarQube o SonarCloud", - "loc.input.help.sqAnalysisEnabled": "Esta opción ha cambiado desde la versión 1 de la tarea de **Maven** para usar las extensiones de Marketplace de [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) y [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud). Habilite esta opción para ejecutar el [análisis de SonarQube o SonarCloud](http://redirect.sonarsource.com/doc/install-configure-scanner-tfs-ts.html) después de ejecutar los objetivos en el campo **Goals**. El objetivo **install** o **package** debe ejecutarse primero. También debe agregar una tarea **Prepare Analysis Configuration** de una de las extensiones a la canalización de compilación antes de esta tarea de Maven.", - "loc.input.label.isJacocoCoverageReportXML": "Usar los informes de Jacoco XML para el análisis de SonarQube", - "loc.input.help.isJacocoCoverageReportXML": "Use los informes de Jacoco XML para el análisis de SonarQube. [Más información](https://docs.sonarqube.org/latest/analysis/coverage/)", - "loc.input.label.sqMavenPluginVersionChoice": "Escáner de SonarQube para la versión de Maven", - "loc.input.help.sqMavenPluginVersionChoice": "Versión del complemento SonarQube Maven que debe usarse. Puede usar la última versión o utilizar la versión del archivo pom.xml.", - "loc.input.label.checkstyleAnalysisEnabled": "Ejecutar Checkstyle", - "loc.input.help.checkstyleAnalysisEnabled": "Ejecute la herramienta Checkstyle con las comprobaciones de Sun predeterminadas. Los resultados se cargan como artefactos de compilación.", - "loc.input.label.pmdAnalysisEnabled": "Ejecutar PMD", - "loc.input.help.pmdAnalysisEnabled": "Use la herramienta de análisis estático de PMD para buscar errores en el código. Los resultados se cargan como artefactos de compilación.", - "loc.input.label.findbugsAnalysisEnabled": "Ejecutar FindBugs", - "loc.input.help.findbugsAnalysisEnabled": "Use la herramienta de análisis estático FindBugs para buscar errores en el código. Los resultados se cargan como artefactos de compilación.", - "loc.messages.sqCommon_CreateTaskReport_MissingField": "No se pudo crear el objeto TaskReport. Falta el campo: %s.", - "loc.messages.sqCommon_WaitingForAnalysis": "Esperando a que el servidor de SonarQube analice la compilación.", - "loc.messages.sqCommon_NotWaitingForAnalysis": "Compilación no configurada para esperar al análisis de SonarQube. El estado detallado de la puerta de calidad no estará disponible.", - "loc.messages.sqCommon_QualityGateStatusUnknown": "No se pudo detectar el estado de la puerta de calidad o se ha introducido un nuevo estado.", - "loc.messages.sqCommon_InvalidResponseFromServer": "El servidor respondió con un formato de respuesta no válido o inesperado.", - "loc.messages.codeAnalysis_ToolIsEnabled": "El análisis de %s está habilitado.", - "loc.messages.codeAnalysis_ToolFailed": "Error en el análisis de %s.", - "loc.messages.sqAnalysis_IncrementalMode": "Se detectó una compilación PR; se está ejecutando el análisis de SonarQube en modo incremental.", - "loc.messages.sqAnalysis_BuildSummaryTitle": "Informe del análisis de SonarQube", - "loc.messages.sqAnalysis_TaskReportInvalid": "Falta el informe de tareas o no es válido. Compruebe que SonarQube finalizó correctamente.", - "loc.messages.sqAnalysis_BuildSummary_LinkText": "Informe de SonarQube detallado", - "loc.messages.sqAnalysis_BuildSummary_CannotAuthenticate": "No se puede autenticar con el servidor de SonarQube. Compruebe los detalles de la conexión de servicio guardada y el estado del servidor.", - "loc.messages.sqAnalysis_AnalysisTimeout": "El análisis no se completó en el tiempo asignado de %d segundos.", - "loc.messages.sqAnalysis_IsPullRequest_SkippingBuildSummary": "Compilación de solicitud de incorporación de cambios: el resumen detallado de la compilación de la solicitud de incorporación de cambios no estará disponible.", - "loc.messages.sqAnalysis_IsPullRequest_SkippingBuildBreaker": "Compilación de solicitud de incorporación de cambios: la compilación no se interrumpirá en caso de error en la puerta de calidad.", - "loc.messages.sqAnalysis_BuildBrokenDueToQualityGateFailure": "Error en la puerta de calidad de SonarQube asociada con esta compilación.", - "loc.messages.sqAnalysis_QualityGatePassed": "La puerta de calidad de SonarQube asociada con esta compilación no dio errores (estado %s)", - "loc.messages.sqAnalysis_UnknownComparatorString": "Se produjo un problema en el resumen de compilación de SonarQube: comparador desconocido '%s'", - "loc.messages.sqAnalysis_NoUnitsFound": "La lista de unidades de medida de SonarQube no se pudo recuperar del servidor.", - "loc.messages.sqAnalysis_NoReportTask": "No se pudo encontrar report-task.txt. Causa posible: el análisis de SonarQube no se completó correctamente.", - "loc.messages.sqAnalysis_MultipleReportTasks": "Se encontraron varios archivos report-task.txt. Se elegirá el primero. Puede que el resumen de compilación y el interruptor de compilación no sean precisos. Causa posible: varios análisis de SonarQube durante la misma compilación, lo que no se admite.", - "loc.messages.codeAnalysisBuildSummaryLine_SomeViolationsSomeFiles": "%s encontró %d infracciones en %d archivos.", - "loc.messages.codeAnalysisBuildSummaryLine_SomeViolationsOneFile": "%s encontró %d infracciones en 1 archivo.", - "loc.messages.codeAnalysisBuildSummaryLine_OneViolationOneFile": "%s encontró 1 infracción en 1 archivo.", - "loc.messages.codeAnalysisBuildSummaryLine_NoViolations": "%s no encontró infracciones.", - "loc.messages.codeAnalysisBuildSummaryTitle": "Informe de análisis de código", - "loc.messages.codeAnalysisArtifactSummaryTitle": "Resultados del análisis de código", - "loc.messages.codeAnalysisDisabled": "El análisis de código está deshabilitado fuera del entorno de compilación. No se encuentra ningún valor para: %s", - "loc.messages.LocateJVMBasedOnVersionAndArch": "Buscar JAVA_HOME para Java %s %s", - "loc.messages.UnsupportedJdkWarning": "JDK 9 y JDK 10 no tienen soporte técnico. Cambie a una versión posterior del proyecto y la canalización. Intentando compilar con JDK 11...", - "loc.messages.FailedToLocateSpecifiedJVM": "No se encontró la versión de JDK especificada. Asegúrese de que dicha versión está instalada en el agente y de que la variable de entorno \"%s\" existe y está establecida en la ubicación de un JDK correspondiente. En caso contrario, use la tarea de [Instalador de herramientas de Java](https://go.microsoft.com/fwlink/?linkid=875287) para instalar el JDK deseado.", - "loc.messages.NoCodeCoverage": "No se encontraron resultados de cobertura de código para publicar.", - "loc.messages.EntryAlreadyExists": "La configuración de fuente o repositorio ya existe en el archivo XML.", - "loc.messages.EffectivePomInvalid": "No se puede analizar el archivo POM efectivo.", - "loc.messages.AuthenticationNotNecessary": "No se han encontrado fuentes de Maven integradas que requieran autenticación. Deshabilite la opción \"Autenticar fuentes de Maven integradas\" para que las compilaciones se ejecuten más rápido.", - "loc.messages.UsingAuthFeed": "Usando la fuente integrada: " -} \ No newline at end of file diff --git a/_generated/MavenV2/Strings/resources.resjson/fr-FR/resources.resjson b/_generated/MavenV2/Strings/resources.resjson/fr-FR/resources.resjson deleted file mode 100644 index 854f175a87de..000000000000 --- a/_generated/MavenV2/Strings/resources.resjson/fr-FR/resources.resjson +++ /dev/null @@ -1,101 +0,0 @@ -{ - "loc.friendlyName": "Maven", - "loc.helpMarkDown": "[En savoir plus sur cette tâche](https://go.microsoft.com/fwlink/?LinkID=613723)", - "loc.description": "Générer, tester et déployer avec Apache Maven", - "loc.instanceNameFormat": "Maven $(mavenPOMFile)", - "loc.releaseNotes": "La configuration de l'analyse SonarQube a été déplacée vers les extensions [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) ou [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud), dans la tâche 'Préparer la configuration de l'analyse'", - "loc.group.displayName.junitTestResults": "Résultats du test JUnit", - "loc.group.displayName.codeCoverage": "Couverture du code", - "loc.group.displayName.advanced": "Avancé", - "loc.group.displayName.CodeAnalysis": "Analyse du code", - "loc.input.label.mavenPOMFile": "Fichier POM Maven", - "loc.input.help.mavenPOMFile": "Chemin relatif de la racine de dépôt au fichier POM Maven.", - "loc.input.label.goals": "Objectif(s)", - "loc.input.label.options": "Options", - "loc.input.label.publishJUnitResults": "Publier sur Azure Pipelines", - "loc.input.help.publishJUnitResults": "Sélectionnez cette option pour publier les résultats des tests JUnit produits par la build Maven sur Azure Pipelines. Chaque fichier de résultats des tests correspondant à 'Fichiers de résultats des tests' est publié en tant que série de tests dans Azure Pipelines.", - "loc.input.label.testResultsFiles": "Fichiers de résultats des tests", - "loc.input.help.testResultsFiles": "Spécifiez le chemin et le modèle des fichiers de résultats des tests à publier. Les caractères génériques sont autorisés. ([Plus d'informations](https://go.microsoft.com/fwlink/?linkid=856077)). Par exemple, '**/TEST-*.xml' pour tous les fichiers XML dont le nom commence par 'TEST-'. Si aucun chemin racine n'est spécifié, les fichiers correspondants sont recherchés sous le répertoire de travail par défaut, dont la valeur est disponible dans la variable : $(System.DefaultWorkingDirectory). Par exemple, la valeur '**/TEST-*.xml' entraîne la recherche des fichiers correspondant à '$(System.DefaultWorkingDirectory)/**/TEST-*.xml'.", - "loc.input.label.testRunTitle": "Titre de la série de tests", - "loc.input.help.testRunTitle": "Indiquez le nom de la série de tests.", - "loc.input.label.allowBrokenSymbolicLinks": "Autoriser les liens symboles rompus", - "loc.input.help.allowBrokenSymbolicLinks": "Définir False pour l’échec de la build lorsque la tâche trouve un lien aussi simple que rompu lors des tests de publication", - "loc.input.label.codeCoverageTool": "Outil de couverture du code", - "loc.input.help.codeCoverageTool": "Sélectionnez l'outil de couverture du code.", - "loc.input.label.classFilter": "Filtres d'inclusion/exclusion de classes", - "loc.input.help.classFilter": "Liste de filtres séparés par une virgule, permettant d'inclure ou d'exclure des classes dans la collecte de la couverture du code. Exemple : +:com.*,+:org.*,-:my.app*.*.", - "loc.input.label.classFilesDirectories": "Répertoires de fichiers de classe", - "loc.input.help.classFilesDirectories": "Ce champ est obligatoire pour un projet contenant plusieurs modules. Spécifiez une liste de chemins relatifs séparés par une virgule, allant du fichier POM Maven aux répertoires contenant les fichiers de classe et d'archive (JAR, WAR, etc.). La couverture du code est signalée pour les fichiers de classe dans ces répertoires. Exemple : target/classes,target/testClasses.", - "loc.input.label.srcDirectories": "Répertoires de fichiers sources", - "loc.input.help.srcDirectories": "Ce champ est obligatoire pour un projet contenant plusieurs modules. Spécifiez une liste de chemins relatifs séparés par une virgule, allant du fichier POM Maven aux répertoires de code source. Les rapports de couverture du code les utilisent pour mettre le code source en surbrillance. Exemple : src/java,src/Test.", - "loc.input.label.failIfCoverageEmpty": "Échec quand les résultats de la couverture du code sont manquants", - "loc.input.help.failIfCoverageEmpty": "Échec de la build si la couverture du code ne produit aucun résultat à publier.", - "loc.input.label.restoreOriginalPomXml": "Restaurer le fichier pom.xml d'origine après l'exécution de la tâche", - "loc.input.help.restoreOriginalPomXml": "La couverture du code modifie pom.xml pour produire des résultats. Utilisez cette option si vous devez conserver le fichier pom.xml d'origine.", - "loc.input.label.javaHomeSelection": "Définir JAVA_HOME par", - "loc.input.help.javaHomeSelection": "Définit JAVA_HOME en sélectionnant une version de JDK qui sera découverte au moment des builds ou en tapant le chemin de JDK.", - "loc.input.label.jdkVersion": "Version du kit JDK", - "loc.input.help.jdkVersion": "Essaiera de découvrir le chemin d'accès à la version du JDK sélectionné et définira JAVA_HOME en conséquence.", - "loc.input.label.jdkUserInputPath": "Chemin du kit JDK", - "loc.input.help.jdkUserInputPath": "Définissez JAVA_HOME sur le chemin d'accès indiqué.", - "loc.input.label.jdkArchitecture": "Architecture du kit JDK", - "loc.input.help.jdkArchitecture": "Indiquez éventuellement l'architecture (x86, x64) du JDK.", - "loc.input.label.mavenVersionSelection": "Version de Maven", - "loc.input.help.mavenVersionSelection": "Utilise la version Maven par défaut, ou la version du chemin personnalisé spécifié.", - "loc.input.label.mavenPath": "Chemin de Maven", - "loc.input.help.mavenPath": "Indiquez le chemin personnalisé de l'installation Maven (exemple : /usr/share/maven).", - "loc.input.label.mavenSetM2Home": "Définir la variable M2_HOME", - "loc.input.help.mavenSetM2Home": "Affecte à la variable M2_HOME un chemin d'installation Maven personnalisé.", - "loc.input.label.mavenOpts": "Affecter à MAVEN_OPTS", - "loc.input.help.mavenOpts": "Définit la variable d'environnement MAVEN_OPTS, qui permet d'envoyer des arguments de ligne de commande pour démarrer JVM. L'indicateur -Xmx spécifie la mémoire maximale disponible pour JVM.", - "loc.input.label.mavenFeedAuthenticate": "Authentifier les flux Maven intégrés", - "loc.input.help.mavenFeedAuthenticate": "Authentifiez automatiquement les flux Maven à partir d'Azure Artifacts. Si les flux intégrés Maven ne sont pas utilisés, désélectionnez cette option pour obtenir des builds plus rapides.", - "loc.input.label.sqAnalysisEnabled": "Exécuter l'analyse SonarQube ou SonarCloud", - "loc.input.help.sqAnalysisEnabled": "Cette option a changé depuis la version 1 de la tâche **Maven**. Elle utilise les extensions du Marketplace [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) et [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud). Activez cette option pour exécuter l'[analyse SonarQube ou SonarCloud](http://redirect.sonarsource.com/doc/install-configure-scanner-tfs-ts.html) après l'exécution des objectifs du champ **Goals**. L'objectif **installer** ou **package** doit s'exécuter en premier. Vous devez également ajouter une tâche **Préparer la configuration de l'analyse** à partir de l'une des extensions du pipeline de build avant cette tâche Maven.", - "loc.input.label.isJacocoCoverageReportXML": "Utiliser les rapports XML Jacoco pour l'analyse SonarQube", - "loc.input.help.isJacocoCoverageReportXML": "Utilisez les rapports XML Jacoco pour l'analyse SonarQube. [Plus d'informations](https://docs.sonarqube.org/latest/analysis/coverage/)", - "loc.input.label.sqMavenPluginVersionChoice": "Analyseur SonarQube pour la version de Maven", - "loc.input.help.sqMavenPluginVersionChoice": "Version du plug-in SonarQube Maven à utiliser. Vous pouvez utiliser la dernière version, ou compter sur la version de votre fichier pom.xml.", - "loc.input.label.checkstyleAnalysisEnabled": "Exécuter Checkstyle", - "loc.input.help.checkstyleAnalysisEnabled": "Exécutez l'outil Checkstyle avec les vérifications Sun par défaut. Les résultats sont chargés en tant qu'artefacts de build.", - "loc.input.label.pmdAnalysisEnabled": "Exécuter PMD", - "loc.input.help.pmdAnalysisEnabled": "Utilisez l'outil d'analyse statique PMD pour rechercher des bogues dans le code. Les résultats sont chargés sous forme d'artefacts de build.", - "loc.input.label.findbugsAnalysisEnabled": "Exécuter FindBugs", - "loc.input.help.findbugsAnalysisEnabled": "Utilisez l'outil d'analyse statique FindBugs pour rechercher des bogues dans le code. Les résultats sont chargés sous forme d'artefacts de build.", - "loc.messages.sqCommon_CreateTaskReport_MissingField": "Échec de création de l'objet TaskReport. Champ manquant : %s", - "loc.messages.sqCommon_WaitingForAnalysis": "Attente de l'analyse de la build par le serveur SonarQube.", - "loc.messages.sqCommon_NotWaitingForAnalysis": "Build non configurée pour attendre l'analyse SonarQube. L'état détaillé de la barrière qualité n'est pas disponible.", - "loc.messages.sqCommon_QualityGateStatusUnknown": "Impossible de détecter la barrière qualité. Un nouvel état a peut-être été introduit.", - "loc.messages.sqCommon_InvalidResponseFromServer": "Le serveur a répondu dans un format non valide ou inattendu.", - "loc.messages.codeAnalysis_ToolIsEnabled": "L'analyse %s est activée.", - "loc.messages.codeAnalysis_ToolFailed": "Échec de l'analyse %s.", - "loc.messages.sqAnalysis_IncrementalMode": "Build PR détectée : exécution de l'analyse SonarQube en mode incrémentiel", - "loc.messages.sqAnalysis_BuildSummaryTitle": "Rapport d'analyse SonarQube", - "loc.messages.sqAnalysis_TaskReportInvalid": "Rapport des tâches non valide ou manquant. Vérifiez que SonarQube s'est achevé avec succès.", - "loc.messages.sqAnalysis_BuildSummary_LinkText": "Rapport SonarQube détaillé", - "loc.messages.sqAnalysis_BuildSummary_CannotAuthenticate": "Impossible d'authentifier le serveur SonarQube. Vérifiez les détails de connexion de service enregistrés et l'état du serveur.", - "loc.messages.sqAnalysis_AnalysisTimeout": "L'analyse ne s'est pas achevée dans le temps imparti fixé à %d secondes.", - "loc.messages.sqAnalysis_IsPullRequest_SkippingBuildSummary": "Build de demande de tirage : le résumé détaillé de la build SonarQube n'est pas disponible.", - "loc.messages.sqAnalysis_IsPullRequest_SkippingBuildBreaker": "Build de demande de tirage : la build n'est pas interrompue en cas d'échec de la barrière qualité.", - "loc.messages.sqAnalysis_BuildBrokenDueToQualityGateFailure": "Échec de la barrière qualité SonarQube associée à cette build.", - "loc.messages.sqAnalysis_QualityGatePassed": "Réussite de la barrière qualité SonarQube associée à cette build (état %s)", - "loc.messages.sqAnalysis_UnknownComparatorString": "Le résumé de la génération SonarQube a rencontré un problème : comparateur inconnu '%s'", - "loc.messages.sqAnalysis_NoUnitsFound": "La liste des unités de mesure SonarQube n'a pas pu être récupérée sur le serveur.", - "loc.messages.sqAnalysis_NoReportTask": "report-task.txt introuvable. Cause possible : L'analyse SonarQube ne s'est pas effectuée correctement.", - "loc.messages.sqAnalysis_MultipleReportTasks": "Plusieurs fichiers report-task.txt trouvés. Le premier fichier est choisi. Le résumé de la génération et l'interrupteur de génération ne sont peut-être pas exacts. Cause possible : plusieurs analyses SonarQube pendant la même génération, ce qui n'est pas pris en charge.", - "loc.messages.codeAnalysisBuildSummaryLine_SomeViolationsSomeFiles": "%s a trouvé %d violations dans %d fichiers.", - "loc.messages.codeAnalysisBuildSummaryLine_SomeViolationsOneFile": "%s a trouvé %d violations dans 1 fichier.", - "loc.messages.codeAnalysisBuildSummaryLine_OneViolationOneFile": "%s a trouvé 1 violation dans 1 fichier.", - "loc.messages.codeAnalysisBuildSummaryLine_NoViolations": "%s n'a trouvé aucune violation.", - "loc.messages.codeAnalysisBuildSummaryTitle": "Rapport d'analyse du code", - "loc.messages.codeAnalysisArtifactSummaryTitle": "Résultats d'analyse du code", - "loc.messages.codeAnalysisDisabled": "L'analyse du code est désactivée en dehors de l'environnement de build. Valeur introuvable pour %s", - "loc.messages.LocateJVMBasedOnVersionAndArch": "Localiser JAVA_HOME pour Java %s %s", - "loc.messages.UnsupportedJdkWarning": "JDK 9 et JDK 10 ne sont plus pris en charge. Passez à une version plus récente de votre projet et de votre pipeline. Tentative de génération avec JDK 11...", - "loc.messages.FailedToLocateSpecifiedJVM": "Échec de la localisation de la version spécifiée du kit JDK. Vérifiez que la version spécifiée du kit JDK est installée sur l'agent, que la variable d'environnement '%s' existe et que sa valeur correspond à l'emplacement d'un kit JDK correspondant. Sinon, utilisez la tâche [Programme d'installation de l'outil Java] (https://go.microsoft.com/fwlink/?linkid=875287) pour installer le kit JDK souhaité.", - "loc.messages.NoCodeCoverage": "Il n'existe aucun résultat de couverture du code à publier.", - "loc.messages.EntryAlreadyExists": "Les paramètres du flux ou du dépôt existent déjà dans le fichier xml.", - "loc.messages.EffectivePomInvalid": "Impossible d'analyser le fichier POM effectif.", - "loc.messages.AuthenticationNotNecessary": "Aucun flux Maven intégré nécessitant une authentification n'a été trouvé. Désactivez 'Authentifier les flux Maven intégrés' pour obtenir des builds plus rapides.", - "loc.messages.UsingAuthFeed": "Utilisation du flux intégré : " -} \ No newline at end of file diff --git a/_generated/MavenV2/Strings/resources.resjson/it-IT/resources.resjson b/_generated/MavenV2/Strings/resources.resjson/it-IT/resources.resjson deleted file mode 100644 index 7e4a43e9a284..000000000000 --- a/_generated/MavenV2/Strings/resources.resjson/it-IT/resources.resjson +++ /dev/null @@ -1,101 +0,0 @@ -{ - "loc.friendlyName": "Maven", - "loc.helpMarkDown": "[Altre informazioni su questa attività](https://go.microsoft.com/fwlink/?LinkID=613723)", - "loc.description": "Consente di compilare, testare e distribuire con Apache Maven", - "loc.instanceNameFormat": "Maven $(mavenPOMFile)", - "loc.releaseNotes": "La configurazione dell'analisi SonarQube è stata spostata nell'attività `Prepara configurazione di analisi` dell'estensione [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) o [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud)", - "loc.group.displayName.junitTestResults": "Risultati del test JUnit", - "loc.group.displayName.codeCoverage": "Code coverage", - "loc.group.displayName.advanced": "Avanzate", - "loc.group.displayName.CodeAnalysis": "Analisi codice", - "loc.input.label.mavenPOMFile": "File POM di Maven", - "loc.input.help.mavenPOMFile": "Percorso relativo dalla radice del repository al file POM di Maven.", - "loc.input.label.goals": "Obiettivo/i", - "loc.input.label.options": "Opzioni", - "loc.input.label.publishJUnitResults": "Pubblica in Azure Pipelines", - "loc.input.help.publishJUnitResults": "Selezionare questa opzione per pubblicare i risultati del test JUnit prodotti dalla compilazione Maven in Azure Pipelines. Ogni file dei risultati del test corrispondente al valore di `File dei risultati del test` verrà pubblicato come esecuzione dei test in Azure Pipelines.", - "loc.input.label.testResultsFiles": "File dei risultati del test", - "loc.input.help.testResultsFiles": "Consente di specificare il percorso e i criteri dei file dei risultati del test da pubblicare. È possibile usare caratteri jolly, ad esempio `**/TEST-*.xml` per tutti i file XML il cui nome inizia con `TEST-`. Se non viene specificato alcun percorso radice, il confronto dei file viene eseguito a livello della directory di lavoro predefinita, il cui valore è disponibile nella variabile $(System.DefaultWorkingDirectory). Ad esempio, con il valore '**/TEST-*.xml', verranno restituiti i file corrispondenti presenti in '$(System.DefaultWorkingDirectory)/**/TEST-*.xml'. [Altre informazioni](https://go.microsoft.com/fwlink/?linkid=856077)", - "loc.input.label.testRunTitle": "Titolo dell'esecuzione dei test", - "loc.input.help.testRunTitle": "Consente di specificare un nome per l'esecuzione dei test.", - "loc.input.label.allowBrokenSymbolicLinks": "Consenti collegamenti simbolici interrotti", - "loc.input.help.allowBrokenSymbolicLinks": "Impostare su false gli errori di compilazione quando l'attività trova un collegamento simbolico interrotto durante la pubblicazione del risultato dei test", - "loc.input.label.codeCoverageTool": "Strumento di code coverage", - "loc.input.help.codeCoverageTool": "Consente di selezionare lo strumento di code coverage.", - "loc.input.label.classFilter": "Filtri di inclusione/esclusione classi", - "loc.input.help.classFilter": "Elenco di filtri delimitati da virgole per includere o escludere classi dalla raccolta delle informazioni sul code coverage, ad esempio +:com.*,+:org.*,-:my.app*.*.", - "loc.input.label.classFilesDirectories": "Directory dei file di classe", - "loc.input.help.classFilesDirectories": "Questo campo è obbligatorio per un progetto composto da più moduli. Specificare un elenco di percorsi relativi separati da virgole dal file POM di Maven alle directory contenenti file di classe e file di archivio (JAR, WAR e così via). I report di code coverage vengono creati per i file di classe presenti in queste directory, ad esempio target/classes,target/testClasses.", - "loc.input.label.srcDirectories": "Directory dei file di origine", - "loc.input.help.srcDirectories": "Questo campo è obbligatorio per un progetto composto da più moduli. Specificare un elenco di percorsi relativi separati da virgole dal file POM di Maven alle directory del codice sorgente. Tali percorsi verranno usati nei report di code coverage per evidenziare il codice sorgente, ad esempio src/java,src/Test.", - "loc.input.label.failIfCoverageEmpty": "Non eseguire se mancano i risultati del code coverage", - "loc.input.help.failIfCoverageEmpty": "Non esegue la compilazione se il code coverage non ha prodotto risultati da pubblicare.", - "loc.input.label.restoreOriginalPomXml": "Ripristina il file pom.xml originale dopo l'esecuzione dell'attività", - "loc.input.help.restoreOriginalPomXml": "Il code coverage modifica il file pom.xml per produrre risultati. Usare questa opzione se è necessario mantenere il file pom.xml originale.", - "loc.input.label.javaHomeSelection": "Imposta JAVA_HOME per", - "loc.input.help.javaHomeSelection": "Consente di impostare JAVA_HOME selezionando una versione di JDK che verrà individuata durante le compilazioni oppure immettendo manualmente un percorso JDK.", - "loc.input.label.jdkVersion": "Versione del JDK", - "loc.input.help.jdkVersion": "Prova a individuare il percorso della versione selezionata di JDK e imposta JAVA_HOME di conseguenza.", - "loc.input.label.jdkUserInputPath": "Percorso del JDK", - "loc.input.help.jdkUserInputPath": "Consente di impostare JAVA_HOME sul percorso specificato.", - "loc.input.label.jdkArchitecture": "Architettura del JDK", - "loc.input.help.jdkArchitecture": "Consente facoltativamente di specificare l'architettura (x86, x64) di JDK.", - "loc.input.label.mavenVersionSelection": "Versione di Maven", - "loc.input.help.mavenVersionSelection": "Usa la versione predefinita di Maven o quella presente nel percorso personalizzato specificato.", - "loc.input.label.mavenPath": "Percorso di Maven", - "loc.input.help.mavenPath": "Consente di specificare il percorso personalizzato dell'installazione di Maven, ad esempio /usr/share/maven.", - "loc.input.label.mavenSetM2Home": "Imposta variabile M2_HOME", - "loc.input.help.mavenSetM2Home": "Consente di impostare la variabile M2_HOME su un percorso di installazione personalizzato di Maven.", - "loc.input.label.mavenOpts": "Imposta MAVEN_OPTS su", - "loc.input.help.mavenOpts": "Consente di impostare la variabile di ambiente MAVEN_OPTS, che viene usata per inviare argomenti della riga di comando per avviare JVM. Il flag -Xmx specifica la memoria massima disponibile per JVM.", - "loc.input.label.mavenFeedAuthenticate": "Esegui autenticazione feed Maven predefiniti", - "loc.input.help.mavenFeedAuthenticate": "Esegue automaticamente l'autenticazione dei feed Maven da Azure Artifacts. Se i feed Maven predefiniti non sono in uso, deselezionare questa opzione per compilazioni più rapide.", - "loc.input.label.sqAnalysisEnabled": "Esegui analisi SonarQube o SonarCloud", - "loc.input.help.sqAnalysisEnabled": "Questa opzione è stata modificata rispetto alla versione 1 dell'attività **Maven** in modo da usare le estensioni [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) e [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) del Marketplace. Abilitare questa opzione per eseguire l'[analisi SonarQube o SonarCloud](http://redirect.sonarsource.com/doc/install-configure-scanner-tfs-ts.html) dopo aver eseguito gli obiettivi nel campo **Goals**. L'obiettivo **install** o **package** deve essere eseguito per primo. Prima di questa attività Maven, è anche necessario aggiungere alla pipeline di compilazione un'attività **Prepara configurazione di analisi** da una delle estensioni.", - "loc.input.label.isJacocoCoverageReportXML": "Usa i referti Jacoco in formato XML per l'analisi SonarQube", - "loc.input.help.isJacocoCoverageReportXML": "Usa i referti Jacoco in formato XML per l'analisi SonarQube. [Altre informazioni](https://docs.sonarqube.org/latest/analysis/coverage/)", - "loc.input.label.sqMavenPluginVersionChoice": "Versione di SonarQube Scanner per Maven", - "loc.input.help.sqMavenPluginVersionChoice": "Versione del plug-in SonarQube Maven da usare. È possibile usare l'ultima versione o basarsi sulla versione indicata nel file pom.xml.", - "loc.input.label.checkstyleAnalysisEnabled": "Esegui Checkstyle", - "loc.input.help.checkstyleAnalysisEnabled": "Esegue lo strumento Checkstyle con i controlli Sun predefiniti. I risultati vengono caricati come artefatti di compilazione.", - "loc.input.label.pmdAnalysisEnabled": "Esegui PMD", - "loc.input.help.pmdAnalysisEnabled": "Consente di usare lo strumento di analisi statica PMD per cercare bug nel codice. I risultati vengono caricati come artefatti di compilazione.", - "loc.input.label.findbugsAnalysisEnabled": "Esegui FindBugs", - "loc.input.help.findbugsAnalysisEnabled": "Consente di usare lo strumento di analisi statica FindBugs per cercare bug nel codice. I risultati vengono caricati come artefatti di compilazione.", - "loc.messages.sqCommon_CreateTaskReport_MissingField": "Non è stato possibile creare l'oggetto TaskReport. Campo mancante: %s", - "loc.messages.sqCommon_WaitingForAnalysis": "In attesa che il server SonarQube analizzi la compilazione.", - "loc.messages.sqCommon_NotWaitingForAnalysis": "La compilazione non è stata configurata per attendere l'analisi SonarQube. Lo stato dettagliato del quality gate non sarà disponibile.", - "loc.messages.sqCommon_QualityGateStatusUnknown": "Non è stato possibile rilevare lo stato del quality gate oppure è stato introdotto un nuovo stato.", - "loc.messages.sqCommon_InvalidResponseFromServer": "Il server ha risposto con un formato di risposta imprevisto o non valido.", - "loc.messages.codeAnalysis_ToolIsEnabled": "L'analisi di %s è abilitata.", - "loc.messages.codeAnalysis_ToolFailed": "L'analisi di %s non è riuscita.", - "loc.messages.sqAnalysis_IncrementalMode": "È stata rilevata una compilazione di richiesta pull. L'analisi SonarQube verrà eseguita in modalità incrementale", - "loc.messages.sqAnalysis_BuildSummaryTitle": "Report di analisi SonarQube", - "loc.messages.sqAnalysis_TaskReportInvalid": "Il report attività manca o non è valido. Verificare che SonarQube sia stato completato senza errori.", - "loc.messages.sqAnalysis_BuildSummary_LinkText": "Report dettagliato SonarQube", - "loc.messages.sqAnalysis_BuildSummary_CannotAuthenticate": "Non è possibile eseguire l'autenticazione al server SonarQube. Verificare i dettagli salvati della connessione al servizio e lo stato del server.", - "loc.messages.sqAnalysis_AnalysisTimeout": "L'analisi non è stata completata nel tempo assegnato di %d secondi.", - "loc.messages.sqAnalysis_IsPullRequest_SkippingBuildSummary": "Compilazione di richieste pull: il riepilogo della compilazione SonarQube non sarà disponibile.", - "loc.messages.sqAnalysis_IsPullRequest_SkippingBuildBreaker": "Compilazione di richieste pull: la compilazione non verrà interrotta se il quality gate non viene superato.", - "loc.messages.sqAnalysis_BuildBrokenDueToQualityGateFailure": "Il quality gate di SonarQube associato a questa compilazione non è stato superato.", - "loc.messages.sqAnalysis_QualityGatePassed": "Il quality gate di SonarQube associato a questa compilazione è stato superato (stato %s)", - "loc.messages.sqAnalysis_UnknownComparatorString": "Il riepilogo della compilazione SonarQube ha rilevato un problema: il criterio di confronto '%s' è sconosciuto", - "loc.messages.sqAnalysis_NoUnitsFound": "Non è stato possibile recuperare dal server l'elenco di unità di misura SonarQube.", - "loc.messages.sqAnalysis_NoReportTask": "Non è stato possibile trovare il file report-task.txt. Causa possibile: l'analisi SonarQube non è stata completata correttamente.", - "loc.messages.sqAnalysis_MultipleReportTasks": "Sono stati trovati più file report-task.txt. Verrà scelto il primo. Il riepilogo e il breaker della compilazione potrebbero non essere precisi. Causa possibile: sono state rilevate più analisi SonarQube durante la stessa compilazione e questa condizione non è supportata.", - "loc.messages.codeAnalysisBuildSummaryLine_SomeViolationsSomeFiles": "%s ha trovato %d violazioni in %d file.", - "loc.messages.codeAnalysisBuildSummaryLine_SomeViolationsOneFile": "%s ha trovato %d violazioni in 1 file.", - "loc.messages.codeAnalysisBuildSummaryLine_OneViolationOneFile": "%s ha trovato 1 violazione in 1 file.", - "loc.messages.codeAnalysisBuildSummaryLine_NoViolations": "%s non ha trovato violazioni.", - "loc.messages.codeAnalysisBuildSummaryTitle": "Report di analisi codice", - "loc.messages.codeAnalysisArtifactSummaryTitle": "Risultati di analisi codice", - "loc.messages.codeAnalysisDisabled": "L'analisi codice è disabilitata dall'esterno dell'ambiente di compilazione. Non è stato possibile trovare alcun valore per %s", - "loc.messages.LocateJVMBasedOnVersionAndArch": "Individuare JAVA_HOME per Java %s %s", - "loc.messages.UnsupportedJdkWarning": "JDK 9 e JDK 10 non sono supportati. Passare a una versione più recente nel progetto e nella pipeline. Verrà effettuato un tentativo di compilazione con JDK 11...", - "loc.messages.FailedToLocateSpecifiedJVM": "La versione del JDK specificata non è stata trovata. Assicurarsi che sia installata nell'agente e che la variabile di ambiente '%s' sia presente e impostata sul percorso di un JDK corrispondente oppure usare l'attività [Programma di installazione strumenti Java](https://go.microsoft.com/fwlink/?linkid=875287) per installare il JDK desiderato.", - "loc.messages.NoCodeCoverage": "Non sono stati trovati risultati del code coverage da pubblicare.", - "loc.messages.EntryAlreadyExists": "Le impostazioni per il feed o il repository esistono già nel file XML.", - "loc.messages.EffectivePomInvalid": "Non è stato possibile analizzare il file POM effettivo.", - "loc.messages.AuthenticationNotNecessary": "Non sono stati trovati feed Maven predefiniti che richiedono l'autenticazione. Disabilitare 'Authenticate built-in Maven feeds' per compilazioni più rapide.", - "loc.messages.UsingAuthFeed": "Uso del feed predefinito: " -} \ No newline at end of file diff --git a/_generated/MavenV2/Strings/resources.resjson/ja-JP/resources.resjson b/_generated/MavenV2/Strings/resources.resjson/ja-JP/resources.resjson deleted file mode 100644 index 4fc0fe1ff7ac..000000000000 --- a/_generated/MavenV2/Strings/resources.resjson/ja-JP/resources.resjson +++ /dev/null @@ -1,101 +0,0 @@ -{ - "loc.friendlyName": "Maven", - "loc.helpMarkDown": "[このタスクの詳細を表示](https://go.microsoft.com/fwlink/?LinkID=613723)", - "loc.description": "Apache Maven でビルド、テスト、配置します", - "loc.instanceNameFormat": "Maven $(mavenPOMFile)", - "loc.releaseNotes": "SonarQube 解析の構成は、[SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) または [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) 拡張機能の 'Prepare Analysis Configuration' タスクに移動しました", - "loc.group.displayName.junitTestResults": "JUnit のテスト結果", - "loc.group.displayName.codeCoverage": "コード カバレッジ", - "loc.group.displayName.advanced": "詳細設定", - "loc.group.displayName.CodeAnalysis": "コード分析", - "loc.input.label.mavenPOMFile": "Maven POM ファイル", - "loc.input.help.mavenPOMFile": "リポジトリのルートから Maven POM ファイルへの相対パス。", - "loc.input.label.goals": "目標", - "loc.input.label.options": "オプション", - "loc.input.label.publishJUnitResults": "Azure Pipelines に公開する", - "loc.input.help.publishJUnitResults": "Maven のビルドによって生成された JUnit のテスト結果を Azure Pipelines に公開するには、このオプションを選びます。'テスト結果ファイル' と一致する各テスト結果ファイルが、Azure Pipelines でテストの実行として公開されます。", - "loc.input.label.testResultsFiles": "テスト結果ファイル", - "loc.input.help.testResultsFiles": "公開するテスト結果ファイルのパスとパターンを指定します。ワイルドカードを使用できます ([詳細情報](https://go.microsoft.com/fwlink/?linkid=856077))。たとえば、名前が 'TEST-' で始まるすべての XML ファイルの場合は '**/TEST-*.xml' です。ルート パスが指定されていない場合、ファイルは既定の作業ディレクトリの下で突き合わされます。そのディレクトリの値は、変数 $(System.DefaultWorkingDirectory) から取得できます。たとえば、'**/TEST-*.xml' という値は、実際には '$(System.DefaultWorkingDirectory)/**/TEST-*.xml' と一致するファイルから検索されます。", - "loc.input.label.testRunTitle": "テストの実行のタイトル", - "loc.input.help.testRunTitle": "テストの実行の名前を指定します。", - "loc.input.label.allowBrokenSymbolicLinks": "壊れたシンボリック リンクを許可する", - "loc.input.help.allowBrokenSymbolicLinks": "テスト結果の発行中に中断されたシンボリック リンクが検出されたときに、ビルドに失敗した場合は false を設定します", - "loc.input.label.codeCoverageTool": "コード カバレッジ ツール", - "loc.input.help.codeCoverageTool": "コード カバレッジ ツールを選択します。", - "loc.input.label.classFilter": "クラス包含/除外フィルター", - "loc.input.help.classFilter": "コード カバレッジの収集にクラスを含めたり除いたりするためのフィルターのコンマ区切り一覧。たとえば、+:com.*,+:org.*,-:my.app*.* と指定します。", - "loc.input.label.classFilesDirectories": "クラス ファイル ディレクトリ", - "loc.input.help.classFilesDirectories": "マルチ モジュール プロジェクトの場合、このフィールドは必須です。クラス ファイルやアーカイブ ファイル (JAR、WAR など) を格納するディレクトリ (Maven POM ファイルから見た相対パス) のコンマ区切り一覧を指定します。コード カバレッジはこれらのディレクトリ内のクラス ファイルに関して報告されます。たとえば、target/classes,target/testClasses と指定します。", - "loc.input.label.srcDirectories": "ソース ファイル ディレクトリ", - "loc.input.help.srcDirectories": "マルチ モジュール プロジェクトの場合、このフィールドは必須です。ソース コード ディレクトリへのパス (Maven POM ファイルから見た相対パス) のコンマ区切りリストを指定します。コード カバレッジ レポートはこれらを使用してソース コードをハイライトします。たとえば、src/java,src/Test と指定します。", - "loc.input.label.failIfCoverageEmpty": "コード カバレッジの結果がない場合に失敗する", - "loc.input.help.failIfCoverageEmpty": "コード カバレッジから発行するべき結果が生成されなかった場合に、ビルドを失敗にします。", - "loc.input.label.restoreOriginalPomXml": "タスクの実行後に元の pom.xml を復元する", - "loc.input.help.restoreOriginalPomXml": "コード カバレッジでは、結果を生成するために pom.xml が変更されます。元の pom.xml を保持する必要がある場合は、このオプションを使用します。", - "loc.input.label.javaHomeSelection": "次の条件で JAVA_HOME を設定します", - "loc.input.help.javaHomeSelection": "ビルド中に検出される JDK バージョンを選択するか、JDK パスを手動で入力して JAVA_HOME を設定します。", - "loc.input.label.jdkVersion": "JDK バージョン", - "loc.input.help.jdkVersion": "選択した JDK のバージョンへのパスの検出を試みて、それに従って JAVA_HOME を設定します。", - "loc.input.label.jdkUserInputPath": "JDK パス", - "loc.input.help.jdkUserInputPath": "指定したパスに JAVA_HOME を設定します。", - "loc.input.label.jdkArchitecture": "JDK アーキテクチャ", - "loc.input.help.jdkArchitecture": "(省略可能) JDK のアーキテクチャ (x86、x64) を指定します。", - "loc.input.label.mavenVersionSelection": "Maven バージョン", - "loc.input.help.mavenVersionSelection": "既定の Maven バージョンまたは指定したカスタム パスにあるバージョンのいずれかを使用します。", - "loc.input.label.mavenPath": "Maven パス", - "loc.input.help.mavenPath": "Maven インストールへのカスタム パスを指定します (例: /usr/share/maven)。", - "loc.input.label.mavenSetM2Home": "M2_HOME 変数の設定", - "loc.input.help.mavenSetM2Home": "M2_HOME 変数をカスタム Maven インストール パスに設定します。", - "loc.input.label.mavenOpts": "MAVEN_OPTS を次のように設定します:", - "loc.input.help.mavenOpts": "JVM を起動するためにコマンド ライン引数を送信するときに使用される MAVEN_OPTS 環境変数を設定します。-Xmx フラグは JVM で使用可能な最大メモリを指定します。", - "loc.input.label.mavenFeedAuthenticate": "ビルトイン Maven フィードの認証", - "loc.input.help.mavenFeedAuthenticate": "Azure Artifacts からの Maven フィードを自動的に認証します。組み込みの Maven フィードを使用していない場合、このオプションを選択解除するとビルドを高速化できます。", - "loc.input.label.sqAnalysisEnabled": "SonarQube 分析または SonarCloud 分析の実行", - "loc.input.help.sqAnalysisEnabled": "このオプションはバージョン 1 の **Maven** タスクから変更され、[SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) および [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) Marketplace 拡張機能を使用するようになりました。このオプションを有効にして、[**Goals**] フィールドのゴールを実行した後に [SonarQube または SonarCloud 分析](http://redirect.sonarsource.com/doc/install-configure-scanner-tfs-ts.html) を実行するようにします。**install** または **package** のゴールを最初に実行する必要があります。また、この Maven タスクの前に、いずれか一方の拡張機能から **Prepare Analysis Configuration** タスクをビルド パイプラインに追加する必要があります。", - "loc.input.label.isJacocoCoverageReportXML": "SonarQube 分析に XML Jacoco レポートを使用する", - "loc.input.help.isJacocoCoverageReportXML": "SonarQube 分析に XML Jacoco レポートを使用します。[詳細情報](https://docs.sonarqube.org/latest/analysis/coverage/)", - "loc.input.label.sqMavenPluginVersionChoice": "SonarQube scanner for Maven のバージョン", - "loc.input.help.sqMavenPluginVersionChoice": "使用する SonarQube Maven プラグイン バージョンです。最新バージョンを使用するか、pom.xml のバージョンに依存できます。", - "loc.input.label.checkstyleAnalysisEnabled": "Checkstyle の実行", - "loc.input.help.checkstyleAnalysisEnabled": "既定の Sun チェックを使用して Checkstyle ツールを実行します。結果はビルド成果物としてアップロードされます。", - "loc.input.label.pmdAnalysisEnabled": "PMD の実行", - "loc.input.help.pmdAnalysisEnabled": "PMD スタティック分析ツールを使用してコード内のバグを調べます。結果はビルドの成果物としてアップロードされます。", - "loc.input.label.findbugsAnalysisEnabled": "FindBugs の実行", - "loc.input.help.findbugsAnalysisEnabled": "FindBugs スタティック分析ツールを使用してコード内のバグを調べます。結果はビルドの成果物としてアップロードされます。", - "loc.messages.sqCommon_CreateTaskReport_MissingField": "TaskReport オブジェクトの作成に失敗しました。フィールド %s が見つかりません", - "loc.messages.sqCommon_WaitingForAnalysis": "SonarQube サーバーによるビルドの分析を待機しています。", - "loc.messages.sqCommon_NotWaitingForAnalysis": "SonarQube 分析を待機するようビルドが構成されていません。詳細な品質ゲートの状態は提供されません。", - "loc.messages.sqCommon_QualityGateStatusUnknown": "品質ゲートの状態を検出できないか、新しい状態が導入されています。", - "loc.messages.sqCommon_InvalidResponseFromServer": "サーバーが無効または予期しない応答形式で応答しました。", - "loc.messages.codeAnalysis_ToolIsEnabled": "%s の解析が有効です。", - "loc.messages.codeAnalysis_ToolFailed": "%s の解析に失敗しました。", - "loc.messages.sqAnalysis_IncrementalMode": "PR ビルドが検出されました - インクリメンタル モードで SonarQube 解析を実行しています", - "loc.messages.sqAnalysis_BuildSummaryTitle": "SonarQube 解析レポート", - "loc.messages.sqAnalysis_TaskReportInvalid": "タスク レポートが無効であるか、見つかりません。SonarQube が正常に終了したことをご確認ください。", - "loc.messages.sqAnalysis_BuildSummary_LinkText": "詳しい SonarQube レポート", - "loc.messages.sqAnalysis_BuildSummary_CannotAuthenticate": "SonarQube サーバーへ認証できません。保存したサービス接続の詳細とサーバーの状態を確認してください。", - "loc.messages.sqAnalysis_AnalysisTimeout": "%d 秒の所定時間内に分析が完了しませんでした。", - "loc.messages.sqAnalysis_IsPullRequest_SkippingBuildSummary": "プル要求ビルド: 詳細 SonarQube ビルドの概要は提供されません。", - "loc.messages.sqAnalysis_IsPullRequest_SkippingBuildBreaker": "プル要求ビルド: 品質ゲートが失敗してもビルドは中断されません。", - "loc.messages.sqAnalysis_BuildBrokenDueToQualityGateFailure": "このビルドに関連する SonarQube 品質ゲートが失敗しました。", - "loc.messages.sqAnalysis_QualityGatePassed": "このビルドに関連する SonarQube 品質ゲートに合格しました (状態 %s)", - "loc.messages.sqAnalysis_UnknownComparatorString": "SonarQube ビルドの概要に問題が発生しました: 不明な比較演算子 '%s'", - "loc.messages.sqAnalysis_NoUnitsFound": "SonarQube 測定単位のリストをサーバーから取得できませんでした。", - "loc.messages.sqAnalysis_NoReportTask": "report-task.txt が見つかりませんでした。考えられる原因: SonarQube 分析が正常に完了しませんでした。", - "loc.messages.sqAnalysis_MultipleReportTasks": "複数の report-task.txt ファイルが見つかりました。最初のファイルを選択します。ビルドの概要とビルドのブレーカーが正しくない可能性があります。考えられる原因: 同じビルド内に複数の SonarQube 分析がありますが、これはサポートされていません。", - "loc.messages.codeAnalysisBuildSummaryLine_SomeViolationsSomeFiles": "%s により、%d 件の違反が %d 個のファイルで見つかりました。", - "loc.messages.codeAnalysisBuildSummaryLine_SomeViolationsOneFile": "%s により、1 つのファイルで %d 件の違反が見つかりました。", - "loc.messages.codeAnalysisBuildSummaryLine_OneViolationOneFile": "%s により、1 つのファイルで 1 件の違反が見つかりました。", - "loc.messages.codeAnalysisBuildSummaryLine_NoViolations": "%s で違反は見つかりませんでした。", - "loc.messages.codeAnalysisBuildSummaryTitle": "コード分析レポート", - "loc.messages.codeAnalysisArtifactSummaryTitle": "コード分析結果", - "loc.messages.codeAnalysisDisabled": "コード分析はビルド環境の外部では無効です。%s の値が見つかりませんでした", - "loc.messages.LocateJVMBasedOnVersionAndArch": "Java %s %s の JAVA_HOME を検索する", - "loc.messages.UnsupportedJdkWarning": "JDK 9 および JDK 10 はサポートされていません。プロジェクトとパイプラインで新しいバージョンに切り替えてください。JDK 11 でのビルドを試行しています...", - "loc.messages.FailedToLocateSpecifiedJVM": "指定された JDK バージョンが見つかりませんでした。指定された JDK バージョンがエージェントにインストールされており、環境変数 '%s' が存在し、対応する JDK の場所に設定されていることを確認するか、[Java ツール インストーラー](https://go.microsoft.com/fwlink/?linkid=875287) タスクを使用して目的の JDK をインストールしてください。", - "loc.messages.NoCodeCoverage": "発行するコード カバレッジの結果が見つかりませんでした。", - "loc.messages.EntryAlreadyExists": "フィードまたはリポジトリの設定が XML ファイルに既に存在しています。", - "loc.messages.EffectivePomInvalid": "有効な POM を解析できませんでした。", - "loc.messages.AuthenticationNotNecessary": "認証が必要なビルトイン Maven フィードが見つかりませんでした。[ビルトイン Maven フィードの認証] を無効にすれば、ビルドを高速化できます。", - "loc.messages.UsingAuthFeed": "ビルトイン フィードを使用しています: " -} \ No newline at end of file diff --git a/_generated/MavenV2/Strings/resources.resjson/ko-KR/resources.resjson b/_generated/MavenV2/Strings/resources.resjson/ko-KR/resources.resjson deleted file mode 100644 index 747e26ea418e..000000000000 --- a/_generated/MavenV2/Strings/resources.resjson/ko-KR/resources.resjson +++ /dev/null @@ -1,101 +0,0 @@ -{ - "loc.friendlyName": "Maven", - "loc.helpMarkDown": "[이 작업에 대한 자세한 정보](https://go.microsoft.com/fwlink/?LinkID=613723)", - "loc.description": "Apache Maven을 사용하여 빌드, 테스트, 배포합니다.", - "loc.instanceNameFormat": "Maven $(mavenPOMFile)", - "loc.releaseNotes": "SonarQube 분석 구성이 [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) 또는 [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) 확장의 '분석 구성 준비' 작업으로 이동됨", - "loc.group.displayName.junitTestResults": "JUnit 테스트 결과", - "loc.group.displayName.codeCoverage": "코드 검사", - "loc.group.displayName.advanced": "고급", - "loc.group.displayName.CodeAnalysis": "코드 분석", - "loc.input.label.mavenPOMFile": "Maven POM 파일", - "loc.input.help.mavenPOMFile": "Maven POM 파일의 리포지토리 루트로부터의 상대 경로입니다.", - "loc.input.label.goals": "목표", - "loc.input.label.options": "옵션", - "loc.input.label.publishJUnitResults": "Azure Pipelines/에 게시", - "loc.input.help.publishJUnitResults": "Maven 빌드에서 생성된 JUnit 테스트 결과를 Azure Pipelines에 게시하려면 이 옵션을 선택합니다. '테스트 결과 파일'과 일치하는 각 테스트 결과 파일이 Azure Pipelines에 테스트 실행으로 게시됩니다.", - "loc.input.label.testResultsFiles": "테스트 결과 파일", - "loc.input.help.testResultsFiles": "게시할 테스트 결과 파일의 경로 및 패턴을 지정합니다. 와일드카드를 사용할 수 있습니다([자세한 정보](https://go.microsoft.com/fwlink/?linkid=856077)). 예를 들어 이름이 'TEST-'로 시작하는 모든 XML 파일을 보려면 '**/TEST-*.xml'을 지정합니다. 루트 경로를 지정하면 기본 작업 디렉터리 아래에 있는 파일이 일치되고, 해당 값을 $(System.DefaultWorkingDirectory) 변수에서 확인할 수 있습니다. 예를 들어 값이 '**/TEST-*.xml'이면 실제로 '$(System.DefaultWorkingDirectory)/**/TEST-*.xml'의 파일이 일치됩니다.", - "loc.input.label.testRunTitle": "테스트 실행 제목", - "loc.input.help.testRunTitle": "테스트 실행의 이름을 지정하세요.", - "loc.input.label.allowBrokenSymbolicLinks": "끊어진 심볼 링크 허용", - "loc.input.help.allowBrokenSymbolicLinks": "테스트 결과를 게시하는 동안 작업에서 끊어진 심볼 링크를 발견하면 false로 설정하여 빌드를 실패로 처리합니다", - "loc.input.label.codeCoverageTool": "코드 검사 도구", - "loc.input.help.codeCoverageTool": "코드 검사 도구를 선택하세요.", - "loc.input.label.classFilter": "클래스 포함/제외 필터", - "loc.input.help.classFilter": "코드 검사 수집에서 클래스를 포함하거나 제외할 필터의 쉼표로 구분된 목록입니다(예: +:com.*,+:org.*,-:my.app*.*).", - "loc.input.label.classFilesDirectories": "클래스 파일 디렉터리", - "loc.input.help.classFilesDirectories": "이 필드는 다중 모듈 프로젝트에 필요합니다. Maven POM 파일과 클래스 파일, 보관 파일(JAR, WAR 등)이 포함된 디렉터리 간 상대 경로의 쉼표로 구분된 목록을 지정하세요. 코드 검사는 이러한 디렉터리에 있는 클래스 파일에 대해 보고됩니다(예: target/classes,target/testClasses).", - "loc.input.label.srcDirectories": "소스 파일 디렉터리", - "loc.input.help.srcDirectories": "이 필드는 다중 모듈 프로젝트에 필요합니다. Maven POM 파일과 소스 코드 디렉터리 간 상대 경로의 쉼표로 구분된 목록을 지정하세요. 코드 검사 보고서에서는 이를 사용하여 소스 코드를 강조 표시합니다(예: src/java,src/Test).", - "loc.input.label.failIfCoverageEmpty": "코드 검사 결과가 없는 경우 실패", - "loc.input.help.failIfCoverageEmpty": "코드 검사에서 게시할 결과를 생성하지 않은 경우 빌드가 실패합니다.", - "loc.input.label.restoreOriginalPomXml": "작업 실행 후 원래 pom.xml 복원", - "loc.input.help.restoreOriginalPomXml": "코드 검사는 pom.xml을 수정하여 결과를 생성합니다. 원래 pom.xml을 유지해야 하는 경우 이 옵션을 사용하세요.", - "loc.input.label.javaHomeSelection": "JAVA_HOME 설정 방법", - "loc.input.help.javaHomeSelection": "빌드 중에 검색될 JDK 버전을 선택하거나 수동으로 JDK 경로를 입력하여 JAVA_HOME을 설정합니다.", - "loc.input.label.jdkVersion": "JDK 버전", - "loc.input.help.jdkVersion": "선택한 JDK 버전의 경로에 대한 검색을 시도하고 그에 따라 JAVA_HOME을 설정하게 됩니다.", - "loc.input.label.jdkUserInputPath": "JDK 경로", - "loc.input.help.jdkUserInputPath": "JAVA_HOME을 지정된 경로로 설정합니다.", - "loc.input.label.jdkArchitecture": "JDK 아키텍처", - "loc.input.help.jdkArchitecture": "선택적으로 JDK의 아키텍처(x86, x64)를 제공하세요.", - "loc.input.label.mavenVersionSelection": "Maven 버전", - "loc.input.help.mavenVersionSelection": "기본 Maven 버전을 사용하거나 지정된 사용자 지정 경로에 있는 버전을 사용합니다.", - "loc.input.label.mavenPath": "Maven 경로", - "loc.input.help.mavenPath": "Maven 설치에 대한 사용자 지정 경로를 제공하세요(예: /usr/share/maven).", - "loc.input.label.mavenSetM2Home": "M2_HOME 변수 설정", - "loc.input.help.mavenSetM2Home": "M2_HOME 변수를 사용자 지정 Maven 설치 경로로 설정하세요.", - "loc.input.label.mavenOpts": "MAVEN_OPTS를 다음으로 설정", - "loc.input.help.mavenOpts": "JVM을 시작하기 위해 명령줄 인수를 보내는 데 사용되는 MAVEN_OPTS 환경 변수를 설정합니다. xmx 플래그는 JVM에 사용 가능한 최대 메모리를 지정합니다.", - "loc.input.label.mavenFeedAuthenticate": "기본 제공 Maven 피드 인증", - "loc.input.help.mavenFeedAuthenticate": "Azure Artifacts의 Maven 피드를 자동으로 인증합니다. 기본 제공 Maven 피드를 사용하지 않는 경우, 보다 신속한 빌드를 위해 이 옵션의 선택을 취소합니다.", - "loc.input.label.sqAnalysisEnabled": "SonarQube 또는 SonarCloud 분석 실행", - "loc.input.help.sqAnalysisEnabled": "이 옵션은 [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) 및 [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) Marketplace 확장을 사용하기 위해 **Maven** 작업의 버전 1에서 변경되었습니다. **목표** 필드의 목표를 실행한 후 [SonarQube 또는 SonarCloud 분석](http://redirect.sonarsource.com/doc/install-configure-scanner-tfs-ts.html)을 실행하려면 이 옵션을 사용하도록 설정하세요. **설치** 또는 **패키지** 목표를 먼저 실행해야 합니다. 또한 빌드 파이프라인에서 이 Maven 작업 앞에 확장 중 하나의 **분석 구성 준비** 작업을 추가해야 합니다.", - "loc.input.label.isJacocoCoverageReportXML": "SonarQube 분석에 XML Jacoco 보고서 사용", - "loc.input.help.isJacocoCoverageReportXML": "SonarQube 분석에 XML Jacoco 보고서를 사용합니다. [자세한 정보](https://docs.sonarqube.org/latest/analysis/coverage/)", - "loc.input.label.sqMavenPluginVersionChoice": "SonarQube Scanner for Maven 버전", - "loc.input.help.sqMavenPluginVersionChoice": "사용할 SonarQube Maven 플러그 인 버전입니다. 최신 버전을 사용하거나 pom.xml에 있는 버전을 사용할 수 있습니다.", - "loc.input.label.checkstyleAnalysisEnabled": "Checkstyle 실행", - "loc.input.help.checkstyleAnalysisEnabled": "기본 일요일 검사로 Checkstyle 도구를 실행하세요. 결과는 빌드 아티팩트로 업로드됩니다.", - "loc.input.label.pmdAnalysisEnabled": "PMD 실행", - "loc.input.help.pmdAnalysisEnabled": "PMD 정적 분석 도구를 사용하여 코드에서 버그를 찾습니다. 결과는 빌드 아티팩트로 업로드됩니다.", - "loc.input.label.findbugsAnalysisEnabled": "FindBugs 실행", - "loc.input.help.findbugsAnalysisEnabled": "FindBugs 정적 분석 도구를 사용하여 코드에서 버그를 찾습니다. 결과는 빌드 아티팩트로 업로드됩니다.", - "loc.messages.sqCommon_CreateTaskReport_MissingField": "TaskReport 개체를 만들지 못했습니다. 없는 필드: %s", - "loc.messages.sqCommon_WaitingForAnalysis": "SonarQube 서버에서 빌드가 분석될 때까지 대기하는 중입니다.", - "loc.messages.sqCommon_NotWaitingForAnalysis": "빌드가 SonarQube 분석을 기다리도록 구성되지 않았습니다. 자세한 품질 게이트 상태를 사용할 수 없습니다.", - "loc.messages.sqCommon_QualityGateStatusUnknown": "품질 게이트 상태를 검색할 수 없거나 새 상태가 발생했습니다.", - "loc.messages.sqCommon_InvalidResponseFromServer": "서버가 잘못되거나 예기치 않은 응답 형식으로 응답했습니다.", - "loc.messages.codeAnalysis_ToolIsEnabled": "%s 분석을 사용하도록 설정했습니다.", - "loc.messages.codeAnalysis_ToolFailed": "%s을(를) 분석하지 못했습니다.", - "loc.messages.sqAnalysis_IncrementalMode": "검색된 PR 빌드 - SonarQube 분석을 증분 모드에서 실행 중", - "loc.messages.sqAnalysis_BuildSummaryTitle": "SonarQube 분석 보고서", - "loc.messages.sqAnalysis_TaskReportInvalid": "작업 보고서가 잘못되었거나 없습니다. SonarQube가 완료되었는지 확인하세요.", - "loc.messages.sqAnalysis_BuildSummary_LinkText": "자세한 SonarQube 보고서", - "loc.messages.sqAnalysis_BuildSummary_CannotAuthenticate": "SonarQube 서버에 인증할 수 없습니다. 저장된 서비스 연결 정보 및 서버 상태를 확인하세요.", - "loc.messages.sqAnalysis_AnalysisTimeout": "할당된 시간 %d초 내에 분석이 완료되지 않았습니다.", - "loc.messages.sqAnalysis_IsPullRequest_SkippingBuildSummary": "끌어오기 요청 빌드: 자세한 SonarQube 빌드 요약을 사용할 수 없습니다.", - "loc.messages.sqAnalysis_IsPullRequest_SkippingBuildBreaker": "끌어오기 요청 빌드: 품질 게이트가 실패하면 빌드가 분할되지 않습니다.", - "loc.messages.sqAnalysis_BuildBrokenDueToQualityGateFailure": "이 빌드와 연결된 SonarQube 품질 게이트가 실패했습니다.", - "loc.messages.sqAnalysis_QualityGatePassed": "이 빌드와 연결된 SonarQube 품질 게이트가 통과했습니다(상태 %s).", - "loc.messages.sqAnalysis_UnknownComparatorString": "SonarQube 빌드 요약에서 문제가 발생했습니다. 알 수 없는 비교 연산자 '%s'입니다.", - "loc.messages.sqAnalysis_NoUnitsFound": "서버에서 SonarQube 단위 목록을 검색할 수 없습니다.", - "loc.messages.sqAnalysis_NoReportTask": "report-task.txt를 찾을 수 없습니다. 예상 원인: SonarQube 분석이 완료되지 않았습니다.", - "loc.messages.sqAnalysis_MultipleReportTasks": "여러 report-task.txt 파일을 찾았습니다. 첫 번째 파일을 선택합니다. 빌드 요약 및 빌드 분리기가 정확하지 않을 수 있습니다. 예상 원인: 동일한 빌드 중에 SonarQube를 여러 번 분석할 수 없습니다.", - "loc.messages.codeAnalysisBuildSummaryLine_SomeViolationsSomeFiles": "%s이(가) 위반 %d개를 %d개 파일에서 찾았습니다.", - "loc.messages.codeAnalysisBuildSummaryLine_SomeViolationsOneFile": "%s이(가) 위반 %d개를 1개 파일에서 찾았습니다.", - "loc.messages.codeAnalysisBuildSummaryLine_OneViolationOneFile": "%s이(가) 위반 1개를 1개 파일에서 찾았습니다.", - "loc.messages.codeAnalysisBuildSummaryLine_NoViolations": "%s이(가) 위반을 찾을 수 없습니다.", - "loc.messages.codeAnalysisBuildSummaryTitle": "코드 분석 보고서", - "loc.messages.codeAnalysisArtifactSummaryTitle": "코드 분석 결과", - "loc.messages.codeAnalysisDisabled": "빌드 환경 외부에서 코드 분석을 사용하지 않도록 설정되어 있습니다. %s에 대한 값을 찾을 수 없습니다.", - "loc.messages.LocateJVMBasedOnVersionAndArch": "Java %s %s에 대해 JAVA_HOME 찾기", - "loc.messages.UnsupportedJdkWarning": "JDK 9 및 JDK 10은 지원되지 않습니다. 프로젝트 및 파이프라인에서 최신 버전으로 전환하세요. JDK 11을 사용하여 빌드를 시도하는 중...", - "loc.messages.FailedToLocateSpecifiedJVM": "지정한 JDK 버전을 찾지 못했습니다. 지정한 JDK 버전이 에이전트에 설치되어 있으며 환경 변수 '%s'이(가) 있고 해당 JDK의 위치로 설정되었는지 확인하거나, [Java 도구 설치 관리자](https://go.microsoft.com/fwlink/?linkid=875287) 작업을 사용하여 원하는 JDK를 설치하세요.", - "loc.messages.NoCodeCoverage": "게시할 코드 검사 결과가 없습니다.", - "loc.messages.EntryAlreadyExists": "피드 또는 리포지토리에 대한 설정이 xml 파일에 이미 있습니다.", - "loc.messages.EffectivePomInvalid": "효과적인 POM을 구문 분석할 수 없습니다.", - "loc.messages.AuthenticationNotNecessary": "인증을 요구하는 기본 제공 Maven 피드를 찾을 수 없습니다. 빌드 속도 개선을 위해 '기본 제공 Maven 피드 인증'을 사용하지 않도록 설정하세요.", - "loc.messages.UsingAuthFeed": "기본 제공 피드 사용 중: " -} \ No newline at end of file diff --git a/_generated/MavenV2/Strings/resources.resjson/ru-RU/resources.resjson b/_generated/MavenV2/Strings/resources.resjson/ru-RU/resources.resjson deleted file mode 100644 index 4430584a5d0e..000000000000 --- a/_generated/MavenV2/Strings/resources.resjson/ru-RU/resources.resjson +++ /dev/null @@ -1,101 +0,0 @@ -{ - "loc.friendlyName": "Maven", - "loc.helpMarkDown": "[См. дополнительные сведения об этой задаче](https://go.microsoft.com/fwlink/?LinkID=613723)", - "loc.description": "Сборка, тестирование и развертывание с помощью Apache Maven", - "loc.instanceNameFormat": "Maven $(mavenPOMFile)", - "loc.releaseNotes": "Конфигурация анализа SonarQube перемещена в расширения [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) или [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) в задаче \"Подготовка конфигурации анализа\"", - "loc.group.displayName.junitTestResults": "Результаты теста JUnit", - "loc.group.displayName.codeCoverage": "Объем протестированного кода", - "loc.group.displayName.advanced": "Дополнительно", - "loc.group.displayName.CodeAnalysis": "Анализ кода", - "loc.input.label.mavenPOMFile": "Файл POM Maven", - "loc.input.help.mavenPOMFile": "Относительный путь от корня репозитория к файлу POM Maven.", - "loc.input.label.goals": "Цели", - "loc.input.label.options": "Параметры", - "loc.input.label.publishJUnitResults": "Опубликовать в Azure Pipelines", - "loc.input.help.publishJUnitResults": "Выберите этот параметр, чтобы опубликовать результаты теста JUnit, созданные сборкой Maven, в Azure Pipelines. Каждый файл результатов теста, соответствующий запросу \"Файлы результатов тестов\", будет опубликован как тестовый запуск в Azure Pipelines.", - "loc.input.label.testResultsFiles": "Файлы результатов теста", - "loc.input.help.testResultsFiles": "Укажите путь и шаблон файлов с результатами тестов, которые необходимо опубликовать. Можно использовать подстановочные знаки ([дополнительные сведения](https://go.microsoft.com/fwlink/?linkid=856077)). Пример: \"**/TEST-*.xml\" для всех XML-файлов, имена которых начинаются с \"TEST-\". Если корневой путь не указан, файлы сопоставляются в рабочем каталоге по умолчанию, значение которого содержится в переменной $(System.DefaultWorkingDirectory). Например, значение \"**/TEST-*.xml\" приведет к сопоставлению файлов в \"$(System.DefaultWorkingDirectory)/**/TEST-*.xml\".", - "loc.input.label.testRunTitle": "Название тестового запуска", - "loc.input.help.testRunTitle": "Укажите имя для тестового запуска.", - "loc.input.label.allowBrokenSymbolicLinks": "Разрешить недействительные символические ссылки", - "loc.input.help.allowBrokenSymbolicLinks": "Задайте значение false для сбоя сборки, когда задача находит недействительную символическую ссылку во время публикации результата тестов", - "loc.input.label.codeCoverageTool": "Средство оценки объема протестированного кода", - "loc.input.help.codeCoverageTool": "Выберите средство оценки объемов протестированного кода.", - "loc.input.label.classFilter": "Фильтры включения и исключения классов", - "loc.input.help.classFilter": "Список фильтров с разделителями-запятыми для включения или исключения классов при сборе данных по объему протестированного кода. Например: +:com.*,+:org.*,-:my.app*.*.", - "loc.input.label.classFilesDirectories": "Каталоги файлов классов", - "loc.input.help.classFilesDirectories": "Это обязательное поле для проекта с несколькими модулями. Укажите список относительных путей с разделителями-запятыми от файла POM Maven до каталогов, содержащих файлы классов и архивов (JAR, WAR и т. д.). Объем протестированного кода указывается для файлов классов в этих каталогах. Например: target/classes,target/testClasses.", - "loc.input.label.srcDirectories": "Каталоги файлов с исходным кодом", - "loc.input.help.srcDirectories": "Это обязательное поле для проекта с несколькими модулями. Укажите список относительных путей с разделителями-запятыми от файла POM Maven до каталогов с исходным кодом. Он будет использоваться в отчетах об объеме протестированного кода для выделения исходного кода. Например: src/java,src/Test.", - "loc.input.label.failIfCoverageEmpty": "Сбой, если результаты для объема протестированного кода отсутствуют", - "loc.input.help.failIfCoverageEmpty": "Если объем протестированного кода не дал результатов для публикации, завершить сборку сбоем.", - "loc.input.label.restoreOriginalPomXml": "Восстановить исходный файл pom.xml после выполнения задачи", - "loc.input.help.restoreOriginalPomXml": "Файл pom.xml изменяется в соответствии с объемом протестированного кода для получения результатов. Используйте этот параметр, если необходимо сохранить исходный файл pom.xml.", - "loc.input.label.javaHomeSelection": "Установка JAVA_HOME с помощью", - "loc.input.help.javaHomeSelection": "Задается JAVA_HOME указанием версии JDK, которая будет обнаруживаться во время сборок, или указанием пути к JDK вручную.", - "loc.input.label.jdkVersion": "Версия JDK", - "loc.input.help.jdkVersion": "Пытается определить путь к выбранной версии JDK и установить переменную JAVA_HOME соответствующим образом.", - "loc.input.label.jdkUserInputPath": "Путь к JDK", - "loc.input.help.jdkUserInputPath": "Установка для JAVA_HOME определенного пути.", - "loc.input.label.jdkArchitecture": "Архитектура JDK", - "loc.input.help.jdkArchitecture": "Дополнительно укажите архитектуру JDK (x86, x64).", - "loc.input.label.mavenVersionSelection": "Версия Maven", - "loc.input.help.mavenVersionSelection": "Использует версию Maven по умолчанию или версию по указанному настраиваемому пути.", - "loc.input.label.mavenPath": "Путь к Maven", - "loc.input.help.mavenPath": "Укажите настраиваемый путь к расположению установки Maven (например, /usr/share/maven).", - "loc.input.label.mavenSetM2Home": "Задать переменную M2_HOME", - "loc.input.help.mavenSetM2Home": "Задает переменную M2_HOME для настраиваемого пути установки Maven.", - "loc.input.label.mavenOpts": "Задать MAVEN_OPTS равной", - "loc.input.help.mavenOpts": "Задает переменную среды MAVEN_OPTS, которая используется для отправки аргументов командной строки, запускающих JVM. Флаг -Xmx указывает максимальный объем памяти, доступный JVM.", - "loc.input.label.mavenFeedAuthenticate": "Проверка подлинности встроенных веб-каналов Maven", - "loc.input.help.mavenFeedAuthenticate": "Автоматическая проверка подлинности веб-каналов Maven из Azure Artifacts. Если встроенные веб-каналы Maven не используются, отключите этот параметр, чтобы ускорить сборку.", - "loc.input.label.sqAnalysisEnabled": "Выполнить анализ SonarQube или SonarCloud", - "loc.input.help.sqAnalysisEnabled": "Этот параметр был изменен с версии 1 задачи **Maven** для использования расширений Marketplace [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) и [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud). Включите его, чтобы запустить [анализ SonarQube или SonarCloud](http://redirect.sonarsource.com/doc/install-configure-scanner-tfs-ts.html) после выполнения целей в поле **Цели**. Первой должна быть запущена цель **install** или **package**. Также необходимо добавить задачу **Подготовить конфигурацию анализа** из одного из расширений в конвейер сборки перед этой задачей Maven.", - "loc.input.label.isJacocoCoverageReportXML": "Использовать XML-отчеты Jacoco для анализа SonarQube", - "loc.input.help.isJacocoCoverageReportXML": "Использовать XML-отчеты Jacoco для анализа SonarQube. [Дополнительные сведения] (https://docs.sonarqube.org/latest/analysis/coverage/)", - "loc.input.label.sqMavenPluginVersionChoice": "Версия сканера SonarQube для Maven", - "loc.input.help.sqMavenPluginVersionChoice": "Используемая версия подключаемого модуля SonarQube Maven. Можно использовать последнюю версию или версию, указанную в файле pom.xml.", - "loc.input.label.checkstyleAnalysisEnabled": "Запустить Checkstyle", - "loc.input.help.checkstyleAnalysisEnabled": "Запустите средство Checkstyle с проверками Sun по умолчанию. Результаты передаются как артефакты сборки.", - "loc.input.label.pmdAnalysisEnabled": "Запустить PMD", - "loc.input.help.pmdAnalysisEnabled": "Программа статического анализа PMD используется для поиска ошибок в коде. Результаты отправляются как артефакты сборки.", - "loc.input.label.findbugsAnalysisEnabled": "Запустить FindBugs", - "loc.input.help.findbugsAnalysisEnabled": "Программа для статического анализа FindBugs используется для поиска ошибок в коде. Результаты отправляются в виде артефактов сборки.", - "loc.messages.sqCommon_CreateTaskReport_MissingField": "Не удалось создать объект TaskReport. Отсутствует поле: %s", - "loc.messages.sqCommon_WaitingForAnalysis": "Ожидание анализа сборки сервером SonarQube.", - "loc.messages.sqCommon_NotWaitingForAnalysis": "Для сборки не настроено ожидание анализа SonarQube. Подробные данные о состоянии шлюза качества будут недоступны.", - "loc.messages.sqCommon_QualityGateStatusUnknown": "Не удалось обнаружить состояние шлюза качества или представлено новое состояние.", - "loc.messages.sqCommon_InvalidResponseFromServer": "Недопустимый или непредвиденный формат ответа сервера.", - "loc.messages.codeAnalysis_ToolIsEnabled": "Анализ %s включен.", - "loc.messages.codeAnalysis_ToolFailed": "Сбой анализа %s.", - "loc.messages.sqAnalysis_IncrementalMode": "Обнаружена сборка PR — анализ SonarQube выполняется в инкрементном режиме", - "loc.messages.sqAnalysis_BuildSummaryTitle": "Отчет об анализе SonarQube", - "loc.messages.sqAnalysis_TaskReportInvalid": "Отчет о задаче недопустим или отсутствует. Убедитесь в том, что работа SonarQube завершена успешно.", - "loc.messages.sqAnalysis_BuildSummary_LinkText": "Подробный отчет SonarQube", - "loc.messages.sqAnalysis_BuildSummary_CannotAuthenticate": "Не удается пройти проверку подлинности на сервере SonarQube. Проверьте сохраненные сведения о подключении к службе и состояние сервера.", - "loc.messages.sqAnalysis_AnalysisTimeout": "Анализ не выполнен в течение отведенного времени (%d с).", - "loc.messages.sqAnalysis_IsPullRequest_SkippingBuildSummary": "Сборка запроса на вытягивание: подробная сводка по сборке SonarQube будет недоступна.", - "loc.messages.sqAnalysis_IsPullRequest_SkippingBuildBreaker": "Сборка запроса на вытягивание: сборка не будет нарушена в случае сбоя шлюза качества.", - "loc.messages.sqAnalysis_BuildBrokenDueToQualityGateFailure": "Сбой шлюза качества SonarQube, связанного с этой сборкой.", - "loc.messages.sqAnalysis_QualityGatePassed": "Шлюз качества SonarQube, связанный с этой сборкой, передал состояние \"%s\".", - "loc.messages.sqAnalysis_UnknownComparatorString": "Обнаружена ошибка в сводке по сборке SonarQube: неизвестный блок сравнения \"%s\".", - "loc.messages.sqAnalysis_NoUnitsFound": "Не удается получить список единиц измерения SonarQube с сервера.", - "loc.messages.sqAnalysis_NoReportTask": "Не удалось найти файл report-task.txt. Возможная причина: анализ SonarQube не был успешно завершен.", - "loc.messages.sqAnalysis_MultipleReportTasks": "Обнаружено несколько файлов report-task.txt. Будет выбран первый из них. Сводка по сборке и причина прерывания сборки могут оказаться неточными. Возможная причина: в одной и той же сборке запущено несколько экземпляров анализа SonarQube, что не поддерживается.", - "loc.messages.codeAnalysisBuildSummaryLine_SomeViolationsSomeFiles": "%s обнаружил нарушения (%d) в файлах (%d).", - "loc.messages.codeAnalysisBuildSummaryLine_SomeViolationsOneFile": "%s обнаружил нарушения (%d) в одном файле.", - "loc.messages.codeAnalysisBuildSummaryLine_OneViolationOneFile": "%s обнаружил одно нарушение в одном файле.", - "loc.messages.codeAnalysisBuildSummaryLine_NoViolations": "%s не обнаружил нарушений.", - "loc.messages.codeAnalysisBuildSummaryTitle": "Отчет по анализу кода", - "loc.messages.codeAnalysisArtifactSummaryTitle": "Результаты анализа кода", - "loc.messages.codeAnalysisDisabled": "Анализ кода отключен вне среды сборки. Не удалось найти значение: %s", - "loc.messages.LocateJVMBasedOnVersionAndArch": "Найдите JAVA_HOME для Java %s %s", - "loc.messages.UnsupportedJdkWarning": "Поддержка JDK 9 и JDK 10 прекращена. Переключитесь на более позднюю версию в проекте и конвейере. Выполняется попытка сборки с помощью JDK 11...", - "loc.messages.FailedToLocateSpecifiedJVM": "Не удалось найти указанную версию JDK. Убедитесь в том, что указанная версия JDK установлена в агенте и что переменная среды \"%s\" существует и ее значением является расположение соответствующего пакета JDK, или используйте [установщик средств Java] (https://go.microsoft.com/fwlink/?linkid=875287), чтобы установить требуемую версию JDK.", - "loc.messages.NoCodeCoverage": "Результаты по объему протестированного кода для публикации не найдены.", - "loc.messages.EntryAlreadyExists": "Параметры для веб-канала или репозитория уже имеются в XML-файле.", - "loc.messages.EffectivePomInvalid": "Не удалось проанализировать действующий файл POM.", - "loc.messages.AuthenticationNotNecessary": "Встроенные веб-каналы Maven, требующие проверки подлинности, не найдены. Отключите параметр \"Проверка подлинности встроенных веб-каналов Maven\", чтобы ускорить сборку.", - "loc.messages.UsingAuthFeed": "Используется встроенный веб-канал: " -} \ No newline at end of file diff --git a/_generated/MavenV2/Strings/resources.resjson/zh-CN/resources.resjson b/_generated/MavenV2/Strings/resources.resjson/zh-CN/resources.resjson deleted file mode 100644 index 82e1abf0b9ab..000000000000 --- a/_generated/MavenV2/Strings/resources.resjson/zh-CN/resources.resjson +++ /dev/null @@ -1,101 +0,0 @@ -{ - "loc.friendlyName": "Maven", - "loc.helpMarkDown": "[详细了解此任务](https://go.microsoft.com/fwlink/?LinkID=613723)", - "loc.description": "使用 Apache Maven 生成、测试和部署", - "loc.instanceNameFormat": "Maven $(mavenPOMFile)", - "loc.releaseNotes": "在“准备分析配置”任务中,已将 SonarQube 分析的配置移至 [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube)或 [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud)扩展", - "loc.group.displayName.junitTestResults": "JUnit 测试结果", - "loc.group.displayName.codeCoverage": "代码覆盖率", - "loc.group.displayName.advanced": "高级", - "loc.group.displayName.CodeAnalysis": "代码分析", - "loc.input.label.mavenPOMFile": "Maven POM 文件", - "loc.input.help.mavenPOMFile": "从存储库根路径到 Maven POM 文件的相对路径。", - "loc.input.label.goals": "目标", - "loc.input.label.options": "选项", - "loc.input.label.publishJUnitResults": "发布到 Azure Pipelines", - "loc.input.help.publishJUnitResults": "选择此选项可将 Maven 生成产生的 JUnit 测试结果发布到 Azure Pipelines。每个与 `Test Results Files` 匹配的测试结果文件都会在 Azure Pipelines 中发布为测试运行。", - "loc.input.label.testResultsFiles": "测试结果文件", - "loc.input.help.testResultsFiles": "指定要发布的测试结果文件的路径和模式。可以使用通配符([详细信息](https://go.microsoft.com/fwlink/?linkid=856077))。例如,\"**/TEST-*.xml\" 表示名称以 \"TEST-\" 开头的所有 XML 文件。如果未指定根路径,则在默认工作目录下匹配文件,其值可通过变量 $(System.DefaultWorkingDirectory) 获取。例如,\"**/TEST-*.xml\" 值会通过 \"$(System.DefaultWorkingDirectory)/**/TEST-*.xml\" 获取匹配的文件。", - "loc.input.label.testRunTitle": "测试运行标题", - "loc.input.help.testRunTitle": "为测试运行提供一个名称。", - "loc.input.label.allowBrokenSymbolicLinks": "允许中断的符号链接", - "loc.input.help.allowBrokenSymbolicLinks": "发布测试结果期间,当任务查找中断的符号链接时,将设置为 false 以使生成失败", - "loc.input.label.codeCoverageTool": "代码覆盖率工具", - "loc.input.help.codeCoverageTool": "选择代码覆盖率工具。", - "loc.input.label.classFilter": "类包含/排除筛选器", - "loc.input.help.classFilter": "用于在收集代码覆盖率时包含或排除类的筛选器列表,以逗号分隔。例如: +:com.*、+:org.*、-:my.app*.*。", - "loc.input.label.classFilesDirectories": "类文件目录", - "loc.input.help.classFilesDirectories": "此字段是多模块项目的必填字段。指定从 Maven POM 文件到目录的相对路径的列表,以逗号分隔,其中目录包含类文件和存档文件(JAR 和 WAR 等)。报告这些目录中类文件的代码覆盖率。例如: target/classes,target/testClasses。", - "loc.input.label.srcDirectories": "源文件目录", - "loc.input.help.srcDirectories": "此字段是多模块项目的必需字段。指定从 Maven POM 文件到源代码目录的相对路径列表(以逗号分隔)。代码覆盖率报表将使用这些路径来突出显示源代码。例如: src/java,src/Test。", - "loc.input.label.failIfCoverageEmpty": "缺失代码覆盖率结果时失败", - "loc.input.help.failIfCoverageEmpty": "如果代码覆盖率未产生任何要发布的结果,则生成将失败。", - "loc.input.label.restoreOriginalPomXml": "执行任务后还原原始 pom.xml", - "loc.input.help.restoreOriginalPomXml": "代码覆盖率会修改 pom.xml 以产生结果。如果需要保留原始 pom.xml,请使用此选项。", - "loc.input.label.javaHomeSelection": "JAVA_HOME 设置方法", - "loc.input.help.javaHomeSelection": "可通过选择将在生成期间发现的 JDK 版本或手动输入 JDK 路径来设置 JAVA_HOME。", - "loc.input.label.jdkVersion": "JDK 版本", - "loc.input.help.jdkVersion": "将尝试发现所选 JDK 版本的路径并相应地设置 JAVA_HOME。", - "loc.input.label.jdkUserInputPath": "JDK 路径", - "loc.input.help.jdkUserInputPath": "将 JAVA_HOME 设置到给定路径。", - "loc.input.label.jdkArchitecture": "JDK 体系结构", - "loc.input.help.jdkArchitecture": "可以选择提供 JDK 的体系结构(x86、x64)。", - "loc.input.label.mavenVersionSelection": "Maven 版本", - "loc.input.help.mavenVersionSelection": "使用默认的 Maven 版本或指定自定义路径下的版本。", - "loc.input.label.mavenPath": "Maven 路径", - "loc.input.help.mavenPath": "将自定义路径提供给 Maven 安装(如 /usr/share/maven)。", - "loc.input.label.mavenSetM2Home": "设置 M2_HOME 变量", - "loc.input.help.mavenSetM2Home": "将 M2_HOME 变量设置为自定义 Maven 安装路径。", - "loc.input.label.mavenOpts": "将 MAVEN_OPTS 设置为", - "loc.input.help.mavenOpts": "设置 MAVEN_OPTS 环境变量,此变量将用于发送命令行参数以启动 JVM。-Xmx 标志指定 JVM 可用的最大内存。", - "loc.input.label.mavenFeedAuthenticate": "对内置 Maven 源进行身份验证", - "loc.input.help.mavenFeedAuthenticate": "自动对 Azure Artifacts 中的内置 Maven 源进行验证。如果未使用内置 Maven 源,请取消选择该选项,以便更快生成。", - "loc.input.label.sqAnalysisEnabled": "运行 SonarQube 或 SonarCloud 分析", - "loc.input.help.sqAnalysisEnabled": "此选项已从 **Maven** 任务的版本 1 更改为使用[SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube)和[SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud)市场扩展。启用此选项,在执行 **目标** 字段中的目标后运行[SonarQube 或 SonarCloud 分析](http://redirect.sonarsource.com/doc/install-configure-scanner-tfs-ts.html)。须首先运行 **安装** 或 **包** 目标。还必须在此 Maven 任务之前将其中一个扩展的 **准备分析配置** 任务添加到生成管道 。", - "loc.input.label.isJacocoCoverageReportXML": "使用 XML Jacoco 报告进行 SonarQube 分析", - "loc.input.help.isJacocoCoverageReportXML": "使用 XML Jacoco 报告进行 SonarQube 分析。[详细信息](https://docs.sonarqube.org/latest/analysis/coverage/)", - "loc.input.label.sqMavenPluginVersionChoice": "Maven 版本的 SonarQube 扫描仪", - "loc.input.help.sqMavenPluginVersionChoice": "要使用的 SonarQube Maven 插件版本。可以使用最新版本,或依赖于 pom.xml 中的版本。", - "loc.input.label.checkstyleAnalysisEnabled": "运行 Checkstyle", - "loc.input.help.checkstyleAnalysisEnabled": "使用默认 Sun 检查运行 Checkstyle 工具。将结果上传为生成项目。", - "loc.input.label.pmdAnalysisEnabled": "运行 PMD", - "loc.input.help.pmdAnalysisEnabled": "使用 PMD 静态分析工具查找代码中的 bug。结果将作为生成项目进行上传。", - "loc.input.label.findbugsAnalysisEnabled": "运行 FindBugs", - "loc.input.help.findbugsAnalysisEnabled": "使用 FindBugs 静态分析工具查找代码中的 bug。结果将作为生成项目进行上传。", - "loc.messages.sqCommon_CreateTaskReport_MissingField": "未能创建 TaskReport 对象。缺少字段: %s", - "loc.messages.sqCommon_WaitingForAnalysis": "正在等待 SonarQube 服务器分析生成。", - "loc.messages.sqCommon_NotWaitingForAnalysis": "生成未配置等待 SonarQube 分析。详细的质量检验关状态不可用。", - "loc.messages.sqCommon_QualityGateStatusUnknown": "无法检测质量检验关状态,或已引入新的状态。", - "loc.messages.sqCommon_InvalidResponseFromServer": "从服务器返回了无效的或意外的响应格式。", - "loc.messages.codeAnalysis_ToolIsEnabled": "%s 分析已启用。", - "loc.messages.codeAnalysis_ToolFailed": "%s 分析失败。", - "loc.messages.sqAnalysis_IncrementalMode": "检测到 PR 生成 - 在增量模式下运行 SonarQube 分析", - "loc.messages.sqAnalysis_BuildSummaryTitle": "SonarQube 分析报表", - "loc.messages.sqAnalysis_TaskReportInvalid": "任务报表无效或丢失。请检查 SonarQube 是否成功完成。", - "loc.messages.sqAnalysis_BuildSummary_LinkText": "详细的 SonarQube 报表", - "loc.messages.sqAnalysis_BuildSummary_CannotAuthenticate": "无法对 SonarQube 服务器进行验证。请查看已保存的服务连接详细信息和该服务器的状态。", - "loc.messages.sqAnalysis_AnalysisTimeout": "未在分配的时间(%d 秒)内完成分析。", - "loc.messages.sqAnalysis_IsPullRequest_SkippingBuildSummary": "拉取请求生成: 详细的 SonarQube 生成摘要不可用。", - "loc.messages.sqAnalysis_IsPullRequest_SkippingBuildBreaker": "拉取请求生成: 生成不会因质量检验关问题而断开。", - "loc.messages.sqAnalysis_BuildBrokenDueToQualityGateFailure": "与此生成关联的 SonarQube 质量检验关出现问题。", - "loc.messages.sqAnalysis_QualityGatePassed": "已通过与此生成关联的 SonarQube 质量检验关(状态 %s)", - "loc.messages.sqAnalysis_UnknownComparatorString": "SonarQube 生成摘要遇到了问题: 未知的比较运算符“%s”", - "loc.messages.sqAnalysis_NoUnitsFound": "无法从服务器检索 SonarQube 度量单位列表。", - "loc.messages.sqAnalysis_NoReportTask": "无法找到 report-task.txt。可能的原因: SonarQube 分析未成功完成。", - "loc.messages.sqAnalysis_MultipleReportTasks": "找到了多个 report-task.txt 文件。选择第一个文件。生成摘要和生成断裂可能不正确。可能的原因: 同一生成中存在多个 SonarQube 分析,这种情况不受支持。", - "loc.messages.codeAnalysisBuildSummaryLine_SomeViolationsSomeFiles": "%s 发现 %d 个冲突存在于 %d 个文件中。", - "loc.messages.codeAnalysisBuildSummaryLine_SomeViolationsOneFile": "%s 发现 %d 个冲突存在于 1 个文件中。", - "loc.messages.codeAnalysisBuildSummaryLine_OneViolationOneFile": "%s 发现 1 个冲突存在于 1 个文件中。", - "loc.messages.codeAnalysisBuildSummaryLine_NoViolations": "%s 未发现任何冲突。", - "loc.messages.codeAnalysisBuildSummaryTitle": "代码分析报告", - "loc.messages.codeAnalysisArtifactSummaryTitle": "代码分析结果", - "loc.messages.codeAnalysisDisabled": "代码分析在生成环境外被禁用。无法找到 %s 的值", - "loc.messages.LocateJVMBasedOnVersionAndArch": "为 Java %s %s 查找 JAVA_HOME", - "loc.messages.UnsupportedJdkWarning": "JDK 9 和 JDK 10 不受支持。请切换到项目和管道中的更高版本。正在尝试使用 JDK 11 进行生成...", - "loc.messages.FailedToLocateSpecifiedJVM": "未能找到指定的 JDK 版本。请确保代理上安装了指定的 JDK 版本,环境变量“%s”存在并设置为对应 JDK 的位置或使用[Java 工具安装程序](https://go.microsoft.com/fwlink/?linkid=875287)任务安装所需 JDK。", - "loc.messages.NoCodeCoverage": "未找到可发布的代码覆盖率结果。", - "loc.messages.EntryAlreadyExists": "xml 文件中已存在源或储存库的设置。", - "loc.messages.EffectivePomInvalid": "无法分析有效 POM。", - "loc.messages.AuthenticationNotNecessary": "未找到需要进行身份验证的内置 Maven 源。禁用“对内置 Maven 源进行身份验证”以便更快生成。", - "loc.messages.UsingAuthFeed": "使用内置源: " -} \ No newline at end of file diff --git a/_generated/MavenV2/Strings/resources.resjson/zh-TW/resources.resjson b/_generated/MavenV2/Strings/resources.resjson/zh-TW/resources.resjson deleted file mode 100644 index b93c3301683a..000000000000 --- a/_generated/MavenV2/Strings/resources.resjson/zh-TW/resources.resjson +++ /dev/null @@ -1,101 +0,0 @@ -{ - "loc.friendlyName": "Maven", - "loc.helpMarkDown": "[深入了解此工作](https://go.microsoft.com/fwlink/?LinkID=613723)", - "loc.description": "透過 Apache Maven 進行建置、測試和部署", - "loc.instanceNameFormat": "Maven $(mavenPOMFile)", - "loc.releaseNotes": "SonarQube 分析的設定已移至 [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) 或 [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) 延伸模組,位於 `Prepare Analysis Configuration` 工作中", - "loc.group.displayName.junitTestResults": "JUnit 測試結果", - "loc.group.displayName.codeCoverage": "程式碼涵蓋範圍", - "loc.group.displayName.advanced": "進階", - "loc.group.displayName.CodeAnalysis": "程式碼分析", - "loc.input.label.mavenPOMFile": "Maven POM 檔案", - "loc.input.help.mavenPOMFile": "從存放庫根路徑到 Maven POM 檔案的相對路徑。", - "loc.input.label.goals": "目標", - "loc.input.label.options": "選項", - "loc.input.label.publishJUnitResults": "發佈至 Azure Pipelines", - "loc.input.help.publishJUnitResults": "選取此選項會將 Maven 組建所產生的 JUnit 測試結果發佈至 Azure Pipelines。每個與「測試結果檔案」相符的測試結果檔案都將在 Azure Pipelines 中以測試回合發佈。", - "loc.input.label.testResultsFiles": "測試結果檔案", - "loc.input.help.testResultsFiles": "指定要發佈之測試結果檔案的路徑與模式。可使用萬用字元 ([詳細資訊](https://go.microsoft.com/fwlink/?linkid=856077))。例如 `**/TEST-*.xml` 表示名稱開頭為 'TEST-' 的所有 XML 檔案。若未指定任何根路徑,會比對預設工作目錄下的檔案,預設工作目錄的值由下列變數提供: $(System.DefaultWorkingDirectory)。例如,若值為 '**/TEST-*.xml',實際比對時,會從 '$(System.DefaultWorkingDirectory)/**/TEST-*.xml' 比對檔案。", - "loc.input.label.testRunTitle": "測試回合標題", - "loc.input.help.testRunTitle": "提供測試回合的名稱。", - "loc.input.label.allowBrokenSymbolicLinks": "允許中斷的符號連結", - "loc.input.help.allowBrokenSymbolicLinks": "設定為 false,當工作在發佈測試結果期間發現中斷的符號連結時,將使組建失敗", - "loc.input.label.codeCoverageTool": "程式碼涵蓋範圍工具", - "loc.input.help.codeCoverageTool": "選取程式碼涵蓋範圍工具。", - "loc.input.label.classFilter": "類別包含/排除篩選", - "loc.input.help.classFilter": "以逗號分隔的清單,內含可從收集程式碼涵蓋範圍將類別加以包含或排除的篩選條件。例如: +:com.*,+:org.*,-:my.app*.*。", - "loc.input.label.classFilesDirectories": "類別檔案目錄", - "loc.input.help.classFilesDirectories": "多模組專案需要此欄位。請指定以逗號分隔的清單,內含從 Maven POM 檔案到包含類別檔案和封存檔案 (JAR、WAR 等) 的相對目錄。回報的程式碼涵蓋範圍為這些目錄中的類別檔案。例如: target/classes,target/testClasses。", - "loc.input.label.srcDirectories": "原始程式檔目錄", - "loc.input.help.srcDirectories": "多模組專案需要此欄位。請指定以逗號分隔的清單,內含從 Maven POM 檔案到原始程式碼目錄的相對路徑。程式碼涵蓋範圍報表會加以使用,以強調顯示原始程式碼。例如: src/java,src/Test。", - "loc.input.label.failIfCoverageEmpty": "遺漏程式碼涵蓋範圍結果時失敗", - "loc.input.help.failIfCoverageEmpty": "如果程式碼涵蓋範圍未產生任何可發行的結果,則建置失敗。", - "loc.input.label.restoreOriginalPomXml": "執行工作後即還原原始的 pom.xml", - "loc.input.help.restoreOriginalPomXml": "程式碼涵蓋範圍會修改 pom.xml 以產生結果。如果需要保留原始的 pom.xml,請使用此選項。", - "loc.input.label.javaHomeSelection": "設定 JAVA_HOME 由", - "loc.input.help.javaHomeSelection": "選取一個能在組建期間探索到的 JDK 版本,或者手動輸入 JDK 路徑,均能為 JAVA_HOME 進行設定。", - "loc.input.label.jdkVersion": "JDK 版本", - "loc.input.help.jdkVersion": "將嘗試探索所選取 JDK 版本的路徑並據此設定 JAVA_HOME。", - "loc.input.label.jdkUserInputPath": "JDK 路徑", - "loc.input.help.jdkUserInputPath": "將 JAVA_HOME 設定為指定路徑。", - "loc.input.label.jdkArchitecture": "JDK 架構", - "loc.input.help.jdkArchitecture": "選擇性地提供 JDK 的架構 (x86、x64)。", - "loc.input.label.mavenVersionSelection": "Maven 版本", - "loc.input.help.mavenVersionSelection": "使用預設的 Maven 版本,或使用指定自訂路徑中的版本。", - "loc.input.label.mavenPath": "Maven 路徑", - "loc.input.help.mavenPath": "提供 Maven 安裝的自訂路徑 (例如 /usr/share/maven)。", - "loc.input.label.mavenSetM2Home": "設定 M2_HOME 變數", - "loc.input.help.mavenSetM2Home": "將 M2_HOME 變數設為自訂 Maven 安裝路徑。", - "loc.input.label.mavenOpts": "將 MAVEN_OPTS 設為", - "loc.input.help.mavenOpts": "設定 MAVEN_OPTS 環境變數,用以傳送命令列引數以啟動 JVM。-Xmx 旗標會指定 JVM 可用的記憶體上限。", - "loc.input.label.mavenFeedAuthenticate": "驗證內建 Maven 摘要", - "loc.input.help.mavenFeedAuthenticate": "從 Azure Artifacts 自動驗證內建 Maven 摘要。如果內建 Maven 摘要不在使用中,請取消選取此選項以加快建置速度。", - "loc.input.label.sqAnalysisEnabled": "執行 SonarQube 或 SonarCloud 分析", - "loc.input.help.sqAnalysisEnabled": "此選項已從版本 1 的 **Maven** 工作變更為使用 [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) 和 [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) 市集延伸模組。啟用此選項可在於 [目標]**** 欄位中執行目標後,執行 [SonarQube 或 SonarCloud 分析](http://redirect.sonarsource.com/doc/install-configure-scanner-tfs-ts.html)。[安裝]**** 或 [套件]**** 目標應先執行。您也必須在此 Maven 工作前,將其中一個延伸模組中的 [準備分析組態]**** 工作新增至建置管線。", - "loc.input.label.isJacocoCoverageReportXML": "使用 XML Jacoco 報表處理 SonarQube 分析", - "loc.input.help.isJacocoCoverageReportXML": "使用 XML Jacoco 報表處理 SonarQube 分析。[詳細資訊](https://docs.sonarqube.org/latest/analysis/coverage/)", - "loc.input.label.sqMavenPluginVersionChoice": "適用於 Maven 的 SonarQube 掃描器版本", - "loc.input.help.sqMavenPluginVersionChoice": "要使用的 SonarQube Maven 外掛程式版本。您可以使用最新版本,或依賴 pom.xml 中的版本。", - "loc.input.label.checkstyleAnalysisEnabled": "執行 Checkstyle", - "loc.input.help.checkstyleAnalysisEnabled": "請以預設 Sun 檢查執行 Checkstyle 工具。結果會上傳成組建成品。", - "loc.input.label.pmdAnalysisEnabled": "執行 PMD", - "loc.input.help.pmdAnalysisEnabled": "使用 PMD 靜態分析工具來尋找程式碼中的 Bug。結果會上傳成組建成品。", - "loc.input.label.findbugsAnalysisEnabled": "執行 FindBugs", - "loc.input.help.findbugsAnalysisEnabled": "使用 FindBugs 靜態分析工具尋找程式碼中的 Bug。結果會作為組建成品上傳。", - "loc.messages.sqCommon_CreateTaskReport_MissingField": "無法建立 TaskReport 物件。遺漏欄位: %s", - "loc.messages.sqCommon_WaitingForAnalysis": "正在等候 SonarQube 伺服器分析組建。", - "loc.messages.sqCommon_NotWaitingForAnalysis": "組建未設定為等待 SonarQube 分析。將無法使用詳細的品質閘門狀態。", - "loc.messages.sqCommon_QualityGateStatusUnknown": "無法偵測品質閘門狀態或是已引進新狀態。", - "loc.messages.sqCommon_InvalidResponseFromServer": "伺服器以無效或未預期的回應格式回應。", - "loc.messages.codeAnalysis_ToolIsEnabled": "已啟用 %s 分析。", - "loc.messages.codeAnalysis_ToolFailed": "%s 分析失敗。", - "loc.messages.sqAnalysis_IncrementalMode": "偵測到 PR 組建 - 正在以累加模式執行 SonarQube 分析", - "loc.messages.sqAnalysis_BuildSummaryTitle": "SonarQube 分析報表", - "loc.messages.sqAnalysis_TaskReportInvalid": "任務報表無效或遺漏。檢查 SonarQube 已順利完成。", - "loc.messages.sqAnalysis_BuildSummary_LinkText": "詳細 SonarQube 報表", - "loc.messages.sqAnalysis_BuildSummary_CannotAuthenticate": "無法向 SonarQube 伺服器驗證。請檢查所儲存的服務連線詳細資料及伺服器的狀態。", - "loc.messages.sqAnalysis_AnalysisTimeout": "分析未在分配的時間 %d 秒內完成。", - "loc.messages.sqAnalysis_IsPullRequest_SkippingBuildSummary": "提取要求組建: 將無法取得詳細的 SonarQube 組建摘要。", - "loc.messages.sqAnalysis_IsPullRequest_SkippingBuildBreaker": "提取要求組建: 如果品質閘道失敗,組建並不會中斷。", - "loc.messages.sqAnalysis_BuildBrokenDueToQualityGateFailure": "與此組建建立關聯的 SonarQube 品質閘道已失敗。", - "loc.messages.sqAnalysis_QualityGatePassed": "與此組建建立關聯的 SonarQube 品質閘道已通過 (狀態 %s)", - "loc.messages.sqAnalysis_UnknownComparatorString": "SonarQube 組建摘要發生問題: 不明的比較子 '%s'", - "loc.messages.sqAnalysis_NoUnitsFound": "無法從伺服器擷取 SonarQube 度量單位清單。", - "loc.messages.sqAnalysis_NoReportTask": "找不到 report-task.txt。可能的原因: SonarQube 分析未成功完成。", - "loc.messages.sqAnalysis_MultipleReportTasks": "找到多個 report-task.txt 檔案。請選擇第一個。組建摘要及組建分隔可能不準確。可能的原因: 相同組建期間有多個 SonarQube分析,此情況不受支援。", - "loc.messages.codeAnalysisBuildSummaryLine_SomeViolationsSomeFiles": "%s 發現 %d 個違規 (在 %d 個檔案中)。", - "loc.messages.codeAnalysisBuildSummaryLine_SomeViolationsOneFile": "%s 在 1 個檔案中發現 %d 個違規。", - "loc.messages.codeAnalysisBuildSummaryLine_OneViolationOneFile": "%s 在 1 個檔案中發現 1 個違規。", - "loc.messages.codeAnalysisBuildSummaryLine_NoViolations": "%s 找不到任何違規。", - "loc.messages.codeAnalysisBuildSummaryTitle": "程式碼分析報告", - "loc.messages.codeAnalysisArtifactSummaryTitle": "程式碼分析結果", - "loc.messages.codeAnalysisDisabled": "已停用於組建環境外進行程式碼分析。找不到 %s 的值", - "loc.messages.LocateJVMBasedOnVersionAndArch": "為 Java %s %s 找出 JAVA_HOME 的位置", - "loc.messages.UnsupportedJdkWarning": "JDK 9 與 JDK 10 已失去支援。請在您的專案和管線中切換至較新版本。正在嘗試以 JDK 11 進行建置...", - "loc.messages.FailedToLocateSpecifiedJVM": "找不到指定的 JDK 版本。請確認指定的 JDK 版本已安裝在代理程式上,且環境變數 '%s' 存在並已設定為對應 JDK 的位置,或者使用 [Java 工具安裝程式](https://go.microsoft.com/fwlink/?linkid=875287) 工作安裝所需的 JDK。", - "loc.messages.NoCodeCoverage": "找不到要發行的程式碼涵蓋範圍結果。", - "loc.messages.EntryAlreadyExists": "XML 檔中已有摘要或存放庫的設定。", - "loc.messages.EffectivePomInvalid": "無法剖析有效的 POM。", - "loc.messages.AuthenticationNotNecessary": "找不到需要驗證的內建 Maven 摘要。請停用 [驗證內建 Maven 摘要] 以加快建置速度。", - "loc.messages.UsingAuthFeed": "使用內建摘要: " -} \ No newline at end of file diff --git a/_generated/MavenV2/Tests/L0.ts b/_generated/MavenV2/Tests/L0.ts deleted file mode 100644 index b66da11cf0f8..000000000000 --- a/_generated/MavenV2/Tests/L0.ts +++ /dev/null @@ -1,376 +0,0 @@ -import * as assert from "assert"; -import * as path from "path"; - -import { MockTestRunner } from "azure-pipelines-task-lib/mock-test"; - -import { cleanTemporaryFolders, createTemporaryFolders, getTempDir } from "./TestUtils"; - -describe("Maven L0 Suite", function () { - before(() => { - // Set up mock authorization - process.env["ENDPOINT_AUTH_SYSTEMVSSCONNECTION"] = "{\"parameters\":{\"AccessToken\":\"token\"},\"scheme\":\"OAuth\"}"; - process.env["ENDPOINT_URL_SYSTEMVSSCONNECTION"] = "https://example.visualstudio.com/defaultcollection"; - - // Mock temp paths - // process.env["MOCK_IGNORE_TEMP_PATH"] = "true"; // This will remove the temp path from any outputs - process.env["MOCK_TEMP_PATH"] = path.join(__dirname, "..", ".."); - process.env["MOCK_NORMALIZE_SLASHES"] = "true"; - - createTemporaryFolders(); - }); - - after(() => { - cleanTemporaryFolders(); - }); - - it("run maven with all default inputs and M2_HOME not set", function (done) { - this.timeout(parseInt(process.env.TASK_TEST_TIMEOUT) || 20000); - const testPath = path.join(__dirname, "L0DefaultsWithNoHomeSet.js"); - const testRunner = new MockTestRunner(testPath); - - testRunner.run(); - - assert(testRunner.ran("/home/bin/maven/bin/mvn -version"), "it should have run mvn -version"); - assert(testRunner.ran("/home/bin/maven/bin/mvn -f pom.xml help:effective-pom"), "it should have generated effective pom"); - assert(testRunner.ran("/home/bin/maven/bin/mvn -f pom.xml package"), "it should have run mvn -f pom.xml package"); - assert(testRunner.invokedToolCount == 3, "should have only run maven 3 times: " + testRunner.invokedToolCount); - assert(testRunner.stderr.length == 0, "should not have written to stderr=" + testRunner.stderr); - assert(testRunner.succeeded, "task should have succeeded"); - assert(testRunner.stdOutContained("MAVEN_OPTS is now set to -Xmx2048m"), "it should have set MAVEN_OPTS"); - - assert(!testRunner.stdOutContained("##vso[artifact.upload artifactname=Code Analysis Results;]"), - "should not have uploaded a Code Analysis Report build summary"); - - done(); - }); - - it("run maven with all default inputs and M2_HOME set", function (done) { - this.timeout(parseInt(process.env.TASK_TEST_TIMEOUT) || 20000); - const testPath = path.join(__dirname, "L0DefaultsWithHomeSet.js"); - const testRunner = new MockTestRunner(testPath); - - testRunner.run(); - - const mavenHome = "/anotherHome/"; - const mavenBin = path.join(mavenHome, "bin", "mvn"); - assert(testRunner.ran(`${mavenBin} -version`), "it should have run mvn -version"); - assert(testRunner.ran(`${mavenBin} -f pom.xml help:effective-pom`), "it should have generated effective pom"); - assert(testRunner.ran(`${mavenBin} -f pom.xml package`), "it should have run mvn -f pom.xml package"); - assert(testRunner.invokedToolCount == 3, "should have only run maven 3 times: " + testRunner.invokedToolCount); - assert(testRunner.stderr.length == 0, "should not have written to stderr=" + testRunner.stderr); - assert(testRunner.succeeded, "task should have succeeded"); - - done(); - }); - - it("run maven with missing mavenVersionSelection", function (done) { - this.timeout(parseInt(process.env.TASK_TEST_TIMEOUT) || 20000); - const testPath = path.join(__dirname, "L0MissingMavenVersionSelection.js"); - const testRunner = new MockTestRunner(testPath); - - testRunner.run(); - - assert(testRunner.invokedToolCount == 0, "should not have run maven"); - assert(testRunner.failed, "task should have failed"); - assert(testRunner.createdErrorIssue("Unhandled: Input required: mavenVersionSelection"), "Did not create expected error issue, issues created: " + testRunner.errorIssues); - - done(); - }); - - it("run maven with missing mavenFeedAuthenticate", function (done) { - this.timeout(parseInt(process.env.TASK_TEST_TIMEOUT) || 20000); - const testPath = path.join(__dirname, "L0MissingMavenFeedAuthenticate.js"); - const testRunner = new MockTestRunner(testPath); - - testRunner.run(); - - assert(testRunner.invokedToolCount == 0, "should not have run maven"); - assert(testRunner.failed, "task should have failed"); - assert(testRunner.createdErrorIssue("Unhandled: Input required: mavenFeedAuthenticate"), "Did not create expected error issue, issues created: " + testRunner.errorIssues); - - done(); - }); - - it("run maven with invalid mavenVersionSelection", function (done) { - this.timeout(parseInt(process.env.TASK_TEST_TIMEOUT) || 20000); - const testPath = path.join(__dirname, "L0InvalidMavenVersionSelection.js"); - const testRunner = new MockTestRunner(testPath); - - testRunner.run(); - - assert(testRunner.ran("/home/bin/maven/bin/mvn -version"), "it should have run mvn -version"); - assert(testRunner.ran("/home/bin/maven/bin/mvn -f pom.xml help:effective-pom"), "it should have generated effective pom"); - assert(testRunner.ran("/home/bin/maven/bin/mvn -f pom.xml package"), "it should have run mvn -f pom.xml package"); - assert(testRunner.invokedToolCount == 3, "should have only run maven 3 times: " + testRunner.invokedToolCount); - assert(testRunner.stderr.length == 0, "should not have written to stderr=" + testRunner.stderr); - assert(testRunner.succeeded, "task should have succeeded"); - - done(); - }); - - it("run maven with mavenVersionSelection set to Path (mavenPath valid)", function (done) { - this.timeout(parseInt(process.env.TASK_TEST_TIMEOUT) || 20000); - const testPath = path.join(__dirname, "L0MavenVersionSelectionSetToPath.js"); - const testRunner = new MockTestRunner(testPath); - - testRunner.run(); - - const mavenHome = "/home/bin/maven2/"; - const mavenBin = path.join(mavenHome, "bin", "mvn"); - assert(testRunner.ran(`${mavenBin} -version`), "it should have run mvn -version"); - assert(testRunner.ran(`${mavenBin} -f pom.xml help:effective-pom`), "it should have generated effective pom"); - assert(testRunner.ran(`${mavenBin} -f pom.xml package`), "it should have run mvn -f pom.xml package"); - assert(testRunner.invokedToolCount == 3, "should have only run maven 3 times: " + testRunner.invokedToolCount); - assert(testRunner.stderr.length == 0, "should not have written to stderr=" + testRunner.stderr); - assert(testRunner.succeeded, "task should have succeeded"); - - done(); - }); - - it("run maven with mavenVersionSelection set to Path (mavenPath missing)", function (done) { - this.timeout(parseInt(process.env.TASK_TEST_TIMEOUT) || 20000); - const testPath = path.join(__dirname, "L0MavenPathMissing.js"); - const testRunner = new MockTestRunner(testPath); - - testRunner.run(); - - assert(testRunner.invokedToolCount == 0, "should not have run maven"); - assert(testRunner.failed, "task should have failed"); - assert(testRunner.createdErrorIssue("Unhandled: Input required: mavenPath"), "Did not create expected error issue, issues created: " + testRunner.errorIssues); - - done(); - }); - - it("run maven with mavenVersionSelection set to Path (mavenPath invalid)", function (done) { - this.timeout(parseInt(process.env.TASK_TEST_TIMEOUT) || 20000); - const testPath = path.join(__dirname, "L0MavenPathInvalid.js"); - const testRunner = new MockTestRunner(testPath); - - testRunner.run(); - - assert(testRunner.invokedToolCount == 0, "should not have run maven"); - assert(testRunner.failed, "task should have failed"); - assert(testRunner.createdErrorIssue("Unhandled: Not found /not/a/valid/maven/path/"), "Did not create expected error issue, issues created: " + testRunner.errorIssues); - - done(); - }); - - it("run maven with mavenSetM2Home invalid", function (done) { - this.timeout(parseInt(process.env.TASK_TEST_TIMEOUT) || 20000); - const testPath = path.join(__dirname, "L0SetM2HomeInvalid.js"); - const testRunner = new MockTestRunner(testPath); - - testRunner.run(); - - const mavenHome = "/home/bin/maven2/"; - const mavenBin = path.join(mavenHome, "bin", "mvn"); - assert(testRunner.ran(`${mavenBin} -version`), "it should have run mvn -version"); - assert(testRunner.ran(`${mavenBin} -f pom.xml help:effective-pom`), "it should have generated effective pom"); - assert(testRunner.ran(`${mavenBin} -f pom.xml package`), "it should have run mvn -f pom.xml package"); - assert(testRunner.invokedToolCount == 3, "should have only run maven 3 times: " + testRunner.invokedToolCount); - assert(testRunner.stderr.length == 0, "should not have written to stderr=" + testRunner.stderr); - assert(testRunner.succeeded, "task should have succeeded"); - - done(); - }); - - it("run maven with mavenSetM2Home set to true", function (done) { - this.timeout(parseInt(process.env.TASK_TEST_TIMEOUT) || 20000); - const testPath = path.join(__dirname, "L0SetM2Home.js"); - const testRunner = new MockTestRunner(testPath); - - testRunner.run(); - - const mavenHome = "/home/bin/maven2"; - const mavenBin = path.join(mavenHome, "bin", "mvn"); - assert(testRunner.ran(`${mavenBin} -version`), "it should have run mvn -version"); - assert(testRunner.ran(`${mavenBin} -f pom.xml help:effective-pom`), "it should have generated effective pom"); - assert(testRunner.ran(`${mavenBin} -f pom.xml package`), "it should have run mvn -f pom.xml package"); - assert(testRunner.invokedToolCount == 3, "should have only run maven 3 times: " + testRunner.invokedToolCount); - assert(testRunner.stderr.length == 0, "should not have written to stderr=" + testRunner.stderr); - assert(testRunner.stdOutContained(`set M2_HOME=${mavenHome}`), "M2_HOME not set"); - assert(testRunner.succeeded, "task should have succeeded"); - - done(); - }); - - it("run maven with feed", function (done) { - this.timeout(parseInt(process.env.TASK_TEST_TIMEOUT) || 20000); - const testPath = path.join(__dirname, "L0MavenWithFeed.js"); - const testRunner = new MockTestRunner(testPath); - - testRunner.run(); - - const tempDirectory = getTempDir(); - const settingsPath = path.join(tempDirectory, "settings.xml"); - const mavenInfoPath = path.join(tempDirectory, ".mavenInfo", "MavenInfo-"); - assert(testRunner.ran("/home/bin/maven/bin/mvn -version"), "it should have run mvn -version"); - assert(testRunner.ran("/home/bin/maven/bin/mvn -f pom.xml help:effective-pom"), "it should have generated effective pom"); - assert(testRunner.ran(`/home/bin/maven/bin/mvn -f pom.xml -s ${settingsPath} package`), `it should have run mvn -f pom.xml -s ${settingsPath} package`); - assert(testRunner.invokedToolCount == 3, "should have only run maven 3 times: " + testRunner.invokedToolCount); - assert(testRunner.stderr.length == 0, "should not have written to stderr=" + testRunner.stderr); - assert(testRunner.stdOutContained(`##vso[task.debug][Maven] Uploading build maven info from ${mavenInfoPath}`), `MavenInfo not published at expected location: ${mavenInfoPath}`); - assert(testRunner.succeeded, "task should have succeeded"); - - done(); - }); - - it("run maven without authenticated feeds", function (done) { - this.timeout(parseInt(process.env.TASK_TEST_TIMEOUT) || 20000); - const testPath = path.join(__dirname, "L0MavenWithoutFeed.js"); - const testRunner = new MockTestRunner(testPath); - - testRunner.run(); - - assert(testRunner.ran("/home/bin/maven/bin/mvn -version"), "it should have run mvn -version"); - assert(testRunner.ran(`/home/bin/maven/bin/mvn -f pom.xml package`), "it should have run mvn -f pom.xml package"); - assert(testRunner.invokedToolCount == 2, "should have only run maven 2 times: " + testRunner.invokedToolCount); - assert(testRunner.stderr.length == 0, "should not have written to stderr=" + testRunner.stderr); - assert(!testRunner.stdOutContained("##vso[task.debug][Maven] Uploading build maven info from"), "should not have uploaded a MavenInfo file"); - assert(testRunner.succeeded, "task should have succeeded"); - - done(); - }); - - it("run maven without authenticated feeds and skip effectivePom", function (done) { - this.timeout(parseInt(process.env.TASK_TEST_TIMEOUT) || 20000); - const testPath = path.join(__dirname, "L0MavenWithoutFeedSkipEffectivePom.js"); - const testRunner = new MockTestRunner(testPath); - - testRunner.run(); - - assert(testRunner.ran("/home/bin/maven/bin/mvn -version"), "it should have run mvn -version"); - assert(testRunner.ran(`/home/bin/maven/bin/mvn -f pom.xml package`), "it should have run mvn -f pom.xml package"); - assert(testRunner.invokedToolCount == 2, "should have only run maven 2 times: " + testRunner.invokedToolCount); - assert(testRunner.stderr.length == 0, "should not have written to stderr=" + testRunner.stderr); - assert(testRunner.succeeded, "task should have succeeded"); - - done(); - }); - - it("run maven with feed settings and spaces", function (done) { - this.timeout(parseInt(process.env.TASK_TEST_TIMEOUT) || 20000); - const testPath = path.join(__dirname, "L0MavenWithFeedSettingsAndSpaces.js"); - const testRunner = new MockTestRunner(testPath); - - testRunner.run(); - - const settingsPath = path.join(getTempDir(), "settings.xml"); - const options = `-DoptWithEscaping={\"serverUri\": \"http://elasticsearch:9200\",\"username\": \"elastic\", \"password\": \"changeme\", \"connectionTimeout\": 30000}`; - - assert(testRunner.ran("/home/bin/maven/bin/mvn -version"), "it should have run mvn -version"); - assert(testRunner.ran(`/home/bin/maven/bin/mvn -f pom.xml help:effective-pom ${options}`), "it should have generated effective pom"); - assert(testRunner.ran(`/home/bin/maven/bin/mvn -f pom.xml -s ${settingsPath} ${options} package`), `it should have run mvn -f pom.xml -s ${settingsPath} ${options} package`); - assert(testRunner.invokedToolCount == 3, "should have only run maven 3 times: " + testRunner.invokedToolCount); - assert(testRunner.stderr.length == 0, "should not have written to stderr=" + testRunner.stderr); - assert(testRunner.succeeded, "task should have succeeded"); - - done(); - }); - - - it("run maven with feed settings", function (done) { - this.timeout(parseInt(process.env.TASK_TEST_TIMEOUT) || 20000); - const testPath = path.join(__dirname, "L0MavenWithFeedSettings.js"); - const testRunner = new MockTestRunner(testPath); - - testRunner.run(); - - const settingsPath = path.join(getTempDir(), "settings.xml"); - const options = "/o -s settings.xml /p /t"; - const optionsWithoutSettings = "/o /p /t"; - - assert(testRunner.ran("/home/bin/maven/bin/mvn -version"), "it should have run mvn -version"); - assert(testRunner.ran(`/home/bin/maven/bin/mvn -f pom.xml help:effective-pom ${options}`), "it should have generated effective pom"); - assert(testRunner.ran(`/home/bin/maven/bin/mvn -f pom.xml -s ${settingsPath} ${optionsWithoutSettings} package`), `it should have run mvn -f pom.xml -s ${settingsPath} ${optionsWithoutSettings} package`); - assert(testRunner.invokedToolCount == 3, "should have only run maven 3 times: " + testRunner.invokedToolCount); - assert(testRunner.stderr.length == 0, "should not have written to stderr=" + testRunner.stderr); - assert(testRunner.succeeded, "task should have succeeded"); - - done(); - }); - - it("run maven with missing goals", function (done) { - this.timeout(parseInt(process.env.TASK_TEST_TIMEOUT) || 20000); - const testPath = path.join(__dirname, "L0MissingGoals.js"); - const testRunner = new MockTestRunner(testPath); - - testRunner.run(); - - assert(testRunner.invokedToolCount == 0, "should not have run maven"); - assert(testRunner.failed, "task should have failed"); - assert(testRunner.createdErrorIssue("Unhandled: Input required: goals"), "Did not create expected error issue, issues created: " + testRunner.errorIssues); - - done(); - }); - - it("run maven and publish tests", function (done) { - this.timeout(parseInt(process.env.TASK_TEST_TIMEOUT) || 20000); - const testPath = path.join(__dirname, "L0PublishJUnitTestResults.js"); - const testRunner = new MockTestRunner(testPath); - - testRunner.run(); - - assert(testRunner.stdOutContained("##vso[results.publish type=JUnit;mergeResults=true;publishRunAttachments=true;resultFiles=/user/build/fun/test-123.xml;]"), "it should have published test results"); - assert(testRunner.stderr.length == 0, "should not have written to stderr=" + testRunner.stderr); - assert(testRunner.succeeded, "task should have succeeded"); - - done(); - }); - - it("run maven with missing testResultsFiles", function (done) { - this.timeout(parseInt(process.env.TASK_TEST_TIMEOUT) || 20000); - const testPath = path.join(__dirname, "L0MissingTestResultsFiles.js"); - const testRunner = new MockTestRunner(testPath); - - testRunner.run(); - - assert(testRunner.invokedToolCount == 0, "should not have run maven"); - assert(testRunner.failed, "task should have failed"); - assert(testRunner.createdErrorIssue("Unhandled: Input required: testResultsFiles"), "Did not create expected error issue, issues created: " + testRunner.errorIssues); - - done(); - }); - - it("run maven with missing javaHomeSelection", function (done) { - this.timeout(parseInt(process.env.TASK_TEST_TIMEOUT) || 20000); - const testPath = path.join(__dirname, "L0MissingJavaHomeSelection.js"); - const testRunner = new MockTestRunner(testPath); - - testRunner.run(); - - assert(testRunner.invokedToolCount == 0, "should not have run maven"); - assert(testRunner.failed, "task should have failed"); - assert(testRunner.createdErrorIssue("Unhandled: Input required: javaHomeSelection"), "Did not create expected error issue, issues created: " + testRunner.errorIssues); - - done(); - }); - - it('run maven with code coverage enabled and restore original pom.xml after', function (done) { - this.timeout(parseInt(process.env.TASK_TEST_TIMEOUT) || 20000); - const testPath = path.join(__dirname, 'L0RestoreOriginalPomXml.js'); - const testRunner = new MockTestRunner(testPath); - - testRunner.run(); - - assert(testRunner.ran('/home/bin/maven/bin/mvn -version'), 'it should have run mvn -version'); - assert(testRunner.ran('/home/bin/maven/bin/mvn -f pom.xml help:effective-pom'), 'it should have generated effective pom'); - assert(testRunner.ran('/home/bin/maven/bin/mvn -f pom.xml clean package'), 'it should have run mvn -f pom.xml package'); - - const readOriginalPomXmlLogIndex = testRunner.stdout.indexOf('Reading original pom.xml'); - assert(readOriginalPomXmlLogIndex !== -1, 'should have read original pom.xml'); - const wroteModifiedPomXmlLogIndex = testRunner.stdout.indexOf('Writing modified pom.xml contents'); - assert(wroteModifiedPomXmlLogIndex !== -1, 'should have written modified pom.xml contents'); - const wroteOriginalPomXmlLogIndex = testRunner.stdout.indexOf('Writing original pom.xml contents'); - assert(wroteOriginalPomXmlLogIndex !== -1, 'should have written original pom.xml contents'); - - assert(readOriginalPomXmlLogIndex < wroteModifiedPomXmlLogIndex, 'it shouldn\'t have saved pom.xml before writing modified pom.xml contents'); - assert(wroteModifiedPomXmlLogIndex < wroteOriginalPomXmlLogIndex, 'it shouldn\'t have restored original pom.xml before writing modified pom.xml contents'); - - assert(testRunner.invokedToolCount === 4, 'should have run maven exactly 4 times: ' + testRunner.invokedToolCount); - assert(testRunner.stderr.length === 0, 'should not have written to stderr=' + testRunner.stderr); - assert(testRunner.succeeded, 'task should have succeeded'); - - done(); - }); -}); diff --git a/_generated/MavenV2/Tests/L0DefaultsWithHomeSet.ts b/_generated/MavenV2/Tests/L0DefaultsWithHomeSet.ts deleted file mode 100644 index ee60624896fa..000000000000 --- a/_generated/MavenV2/Tests/L0DefaultsWithHomeSet.ts +++ /dev/null @@ -1,75 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Default", - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenOpts: "-Xmx2048m", - checkstyleAnalysisEnabled: false, - pmdAnalysisEnabled: false, - findbugsAnalysisEnabled: false, - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -const mavenHome = "/anotherHome/"; -const mavenBin = path.join(mavenHome, "bin", "mvn"); -process.env["M2_HOME"] = mavenHome; - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: mavenBin - }, - checkPath: { - [`${mavenBin}`]: true, - "pom.xml": true - }, - exec: { - [`${mavenBin} -version`]: { - code: 0, - stdout: "Maven version 1.0.0" - }, - [`${mavenBin} -f pom.xml help:effective-pom`]: { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - [`${mavenBin} -f pom.xml package`]: { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2/Tests/L0DefaultsWithNoHomeSet.ts b/_generated/MavenV2/Tests/L0DefaultsWithNoHomeSet.ts deleted file mode 100644 index 23e3f1fbb185..000000000000 --- a/_generated/MavenV2/Tests/L0DefaultsWithNoHomeSet.ts +++ /dev/null @@ -1,73 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Default", - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenOpts: "-Xmx2048m", - checkstyleAnalysisEnabled: false, - pmdAnalysisEnabled: false, - findbugsAnalysisEnabled: false, - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: "/home/bin/maven/bin/mvn" - }, - checkPath: { - "/home/bin/maven/bin/mvn": true, - "pom.xml": true - }, - exec: { - "/home/bin/maven/bin/mvn -version": { - code: 0, - stdout: "Maven version 1.0.0" - }, - "/home/bin/maven/bin/mvn -f pom.xml help:effective-pom": { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - "/home/bin/maven/bin/mvn -f pom.xml package": { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2/Tests/L0InvalidMavenVersionSelection.ts b/_generated/MavenV2/Tests/L0InvalidMavenVersionSelection.ts deleted file mode 100644 index 3ad9360f8ef1..000000000000 --- a/_generated/MavenV2/Tests/L0InvalidMavenVersionSelection.ts +++ /dev/null @@ -1,69 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "garbage", - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: "/home/bin/maven/bin/mvn" - }, - checkPath: { - "/home/bin/maven/bin/mvn": true, - "pom.xml": true - }, - exec: { - "/home/bin/maven/bin/mvn -version": { - code: 0, - stdout: "Maven version 1.0.0" - }, - "/home/bin/maven/bin/mvn -f pom.xml help:effective-pom": { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - "/home/bin/maven/bin/mvn -f pom.xml package": { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2/Tests/L0MavenPathInvalid.ts b/_generated/MavenV2/Tests/L0MavenPathInvalid.ts deleted file mode 100644 index b912f0074c4d..000000000000 --- a/_generated/MavenV2/Tests/L0MavenPathInvalid.ts +++ /dev/null @@ -1,72 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -const mavenPath = "/not/a/valid/maven/path/"; -const mavenBin = path.join(mavenPath, "bin", "mvn"); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Path", - mavenPath: mavenPath, - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: mavenBin - }, - checkPath: { - "pom.xml": true - }, - exec: { - [`${mavenBin} -version`]: { - code: 0, - stdout: "Maven version 1.0.0" - }, - [`${mavenBin} -f pom.xml help:effective-pom`]: { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - [`${mavenBin} -f pom.xml package`]: { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2/Tests/L0MavenPathMissing.ts b/_generated/MavenV2/Tests/L0MavenPathMissing.ts deleted file mode 100644 index 3ac8e22a57cb..000000000000 --- a/_generated/MavenV2/Tests/L0MavenPathMissing.ts +++ /dev/null @@ -1,74 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -const mavenPath = "/home/bin/maven2/"; -const mavenBin = path.join(mavenPath, "bin", "mvn"); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Path", - // Maven path missing - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: mavenBin - }, - checkPath: { - [`${mavenPath}`]: true, - [`${mavenBin}`]: true, - "pom.xml": true - }, - exec: { - [`${mavenBin} -version`]: { - code: 0, - stdout: "Maven version 1.0.0" - }, - [`${mavenBin} -f pom.xml help:effective-pom`]: { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - [`${mavenBin} -f pom.xml package`]: { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2/Tests/L0MavenVersionSelectionSetToPath.ts b/_generated/MavenV2/Tests/L0MavenVersionSelectionSetToPath.ts deleted file mode 100644 index a0187e9a7ab0..000000000000 --- a/_generated/MavenV2/Tests/L0MavenVersionSelectionSetToPath.ts +++ /dev/null @@ -1,74 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -const mavenPath = "/home/bin/maven2/"; -const mavenBin = path.join(mavenPath, "bin", "mvn"); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Path", - mavenPath: mavenPath, - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: mavenBin - }, - checkPath: { - [`${mavenPath}`]: true, - [`${mavenBin}`]: true, - "pom.xml": true - }, - exec: { - [`${mavenBin} -version`]: { - code: 0, - stdout: "Maven version 1.0.0" - }, - [`${mavenBin} -f pom.xml help:effective-pom`]: { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - [`${mavenBin} -f pom.xml package`]: { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2/Tests/L0MavenWithFeed.ts b/_generated/MavenV2/Tests/L0MavenWithFeed.ts deleted file mode 100644 index 41aebaa7bd84..000000000000 --- a/_generated/MavenV2/Tests/L0MavenWithFeed.ts +++ /dev/null @@ -1,73 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Default", - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenOpts: "-Xmx2048m", - checkstyleAnalysisEnabled: false, - pmdAnalysisEnabled: false, - findbugsAnalysisEnabled: false, - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: "/home/bin/maven/bin/mvn" - }, - checkPath: { - "/home/bin/maven/bin/mvn": true, - "pom.xml": true - }, - exec: { - "/home/bin/maven/bin/mvn -version": { - code: 0, - stdout: "Maven version 1.0.0" - }, - "/home/bin/maven/bin/mvn -f pom.xml help:effective-pom": { - code: 0, - stdout: - "Effective POMs, after inheritance, interpolation, and profiles are applied:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 4.0.0<\/modelVersion>\r\n com.microsoft.xplatalm<\/groupId>\r\n xplatalmApp<\/artifactId>\r\n 1.0-SNAPSHOT<\/version>\r\n xplatalmApp<\/name>\r\n http:\/\/maven.apache.org<\/url>\r\n \r\n UTF-8<\/project.build.sourceEncoding>\r\n <\/properties>\r\n \r\n \r\n junit<\/groupId>\r\n junit<\/artifactId>\r\n 3.8.1<\/version>\r\n test<\/scope>\r\n <\/dependency>\r\n \r\n com.microsoft.xplatalm<\/groupId>\r\n xplatalmUtil<\/artifactId>\r\n 1.0-SNAPSHOT<\/version>\r\n compile<\/scope>\r\n <\/dependency>\r\n \r\n com.google.code.findbugs<\/groupId>\r\n findbugs<\/artifactId>\r\n 3.0.0<\/version>\r\n compile<\/scope>\r\n <\/dependency>\r\n <\/dependencies>\r\n \r\n \r\n \r\n true<\/enabled>\r\n <\/releases>\r\n \r\n true<\/enabled>\r\n <\/snapshots>\r\n xplatalm-visualstudio.com-xplatmaven<\/id>\r\n https:\/\/xplatalm.visualstudio.com\/_packaging\/XPlatMaven\/maven\/v1<\/url>\r\n <\/repository>\r\n \r\n \r\n false<\/enabled>\r\n <\/snapshots>\r\n central<\/id>\r\n Central Repository<\/name>\r\n https:\/\/repo.maven.apache.org\/maven2<\/url>\r\n <\/repository>\r\n <\/repositories>\r\n \r\n \r\n \r\n never<\/updatePolicy>\r\n <\/releases>\r\n \r\n false<\/enabled>\r\n <\/snapshots>\r\n central<\/id>\r\n Central Repository<\/name>\r\n https:\/\/repo.maven.apache.org\/maven2<\/url>\r\n <\/pluginRepository>\r\n <\/pluginRepositories>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\main\\java<\/sourceDirectory>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\main\\scripts<\/scriptSourceDirectory>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\test\\java<\/testSourceDirectory>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\classes<\/outputDirectory>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\test-classes<\/testOutputDirectory>\r\n \r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\main\\resources<\/directory>\r\n <\/resource>\r\n <\/resources>\r\n \r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\test\\resources<\/directory>\r\n <\/testResource>\r\n <\/testResources>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target<\/directory>\r\n xplatalmApp-1.0-SNAPSHOT<\/finalName>\r\n \r\n \r\n \r\n maven-antrun-plugin<\/artifactId>\r\n 1.3<\/version>\r\n <\/plugin>\r\n \r\n maven-assembly-plugin<\/artifactId>\r\n 2.2-beta-5<\/version>\r\n <\/plugin>\r\n \r\n maven-dependency-plugin<\/artifactId>\r\n 2.8<\/version>\r\n <\/plugin>\r\n \r\n maven-release-plugin<\/artifactId>\r\n 2.3.2<\/version>\r\n <\/plugin>\r\n <\/plugins>\r\n <\/pluginManagement>\r\n \r\n \r\n maven-clean-plugin<\/artifactId>\r\n 2.5<\/version>\r\n \r\n \r\n default-clean<\/id>\r\n clean<\/phase>\r\n \r\n clean<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-resources-plugin<\/artifactId>\r\n 2.6<\/version>\r\n \r\n \r\n default-testResources<\/id>\r\n process-test-resources<\/phase>\r\n \r\n testResources<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n \r\n default-resources<\/id>\r\n process-resources<\/phase>\r\n \r\n resources<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-jar-plugin<\/artifactId>\r\n 2.4<\/version>\r\n \r\n \r\n default-jar<\/id>\r\n package<\/phase>\r\n \r\n jar<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-compiler-plugin<\/artifactId>\r\n 3.1<\/version>\r\n \r\n \r\n default-compile<\/id>\r\n compile<\/phase>\r\n \r\n compile<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n \r\n default-testCompile<\/id>\r\n test-compile<\/phase>\r\n \r\n testCompile<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-surefire-plugin<\/artifactId>\r\n 2.12.4<\/version>\r\n \r\n \r\n default-test<\/id>\r\n test<\/phase>\r\n \r\n test<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-install-plugin<\/artifactId>\r\n 2.4<\/version>\r\n \r\n \r\n default-install<\/id>\r\n install<\/phase>\r\n \r\n install<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-deploy-plugin<\/artifactId>\r\n 2.7<\/version>\r\n \r\n \r\n default-deploy<\/id>\r\n deploy<\/phase>\r\n \r\n deploy<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-site-plugin<\/artifactId>\r\n 3.3<\/version>\r\n \r\n \r\n default-site<\/id>\r\n site<\/phase>\r\n \r\n site<\/goal>\r\n <\/goals>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\site<\/outputDirectory>\r\n \r\n \r\n org.apache.maven.plugins<\/groupId>\r\n maven-project-info-reports-plugin<\/artifactId>\r\n <\/reportPlugin>\r\n <\/reportPlugins>\r\n <\/configuration>\r\n <\/execution>\r\n \r\n default-deploy<\/id>\r\n site-deploy<\/phase>\r\n \r\n deploy<\/goal>\r\n <\/goals>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\site<\/outputDirectory>\r\n \r\n \r\n org.apache.maven.plugins<\/groupId>\r\n maven-project-info-reports-plugin<\/artifactId>\r\n <\/reportPlugin>\r\n <\/reportPlugins>\r\n <\/configuration>\r\n <\/execution>\r\n <\/executions>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\site<\/outputDirectory>\r\n \r\n \r\n org.apache.maven.plugins<\/groupId>\r\n maven-project-info-reports-plugin<\/artifactId>\r\n <\/reportPlugin>\r\n <\/reportPlugins>\r\n <\/configuration>\r\n <\/plugin>\r\n <\/plugins>\r\n <\/build>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\site<\/outputDirectory>\r\n <\/reporting>\r\n <\/project>\r\n \r\n [INFO] ------------------------------------------------------------------------\r\n [INFO] BUILD SUCCESS\r\n [INFO] ------------------------------------------------------------------------\r\n [INFO] Total time: 0.651 s\r\n [INFO] Finished at: 2017-06-28T16:25:34-04:00\r\n [INFO] Final Memory: 7M\/18M\r\n [INFO] ------------------------------------------------------------------------" - }, - [`/home/bin/maven/bin/mvn -f pom.xml -s ${path.join(getTempDir(), "settings.xml")} package`]: { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2/Tests/L0MavenWithFeedSettings.ts b/_generated/MavenV2/Tests/L0MavenWithFeedSettings.ts deleted file mode 100644 index 6f52eb8b356b..000000000000 --- a/_generated/MavenV2/Tests/L0MavenWithFeedSettings.ts +++ /dev/null @@ -1,78 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -const options = "/o -s settings.xml /p /t"; -const optionsWithoutSettings = "/o /p /t"; -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Default", - mavenPOMFile: "pom.xml", - options: options, - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenOpts: "-Xmx2048m", - checkstyleAnalysisEnabled: false, - pmdAnalysisEnabled: false, - findbugsAnalysisEnabled: false, - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: "/home/bin/maven/bin/mvn" - }, - checkPath: { - "/home/bin/maven/bin/mvn": true, - "pom.xml": true - }, - exec: { - "/home/bin/maven/bin/mvn -version": { - code: 0, - stdout: "Maven version 1.0.0" - }, - [`/home/bin/maven/bin/mvn -f pom.xml help:effective-pom ${options}`]: { - code: 0, - stdout: - "Effective POMs, after inheritance, interpolation, and profiles are applied:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 4.0.0<\/modelVersion>\r\n com.microsoft.xplatalm<\/groupId>\r\n xplatalmApp<\/artifactId>\r\n 1.0-SNAPSHOT<\/version>\r\n xplatalmApp<\/name>\r\n http:\/\/maven.apache.org<\/url>\r\n \r\n UTF-8<\/project.build.sourceEncoding>\r\n <\/properties>\r\n \r\n \r\n junit<\/groupId>\r\n junit<\/artifactId>\r\n 3.8.1<\/version>\r\n test<\/scope>\r\n <\/dependency>\r\n \r\n com.microsoft.xplatalm<\/groupId>\r\n xplatalmUtil<\/artifactId>\r\n 1.0-SNAPSHOT<\/version>\r\n compile<\/scope>\r\n <\/dependency>\r\n \r\n com.google.code.findbugs<\/groupId>\r\n findbugs<\/artifactId>\r\n 3.0.0<\/version>\r\n compile<\/scope>\r\n <\/dependency>\r\n <\/dependencies>\r\n \r\n \r\n \r\n true<\/enabled>\r\n <\/releases>\r\n \r\n true<\/enabled>\r\n <\/snapshots>\r\n xplatalm-visualstudio.com-xplatmaven<\/id>\r\n https:\/\/xplatalm.visualstudio.com\/_packaging\/XPlatMaven\/maven\/v1<\/url>\r\n <\/repository>\r\n \r\n \r\n false<\/enabled>\r\n <\/snapshots>\r\n central<\/id>\r\n Central Repository<\/name>\r\n https:\/\/repo.maven.apache.org\/maven2<\/url>\r\n <\/repository>\r\n <\/repositories>\r\n \r\n \r\n \r\n never<\/updatePolicy>\r\n <\/releases>\r\n \r\n false<\/enabled>\r\n <\/snapshots>\r\n central<\/id>\r\n Central Repository<\/name>\r\n https:\/\/repo.maven.apache.org\/maven2<\/url>\r\n <\/pluginRepository>\r\n <\/pluginRepositories>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\main\\java<\/sourceDirectory>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\main\\scripts<\/scriptSourceDirectory>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\test\\java<\/testSourceDirectory>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\classes<\/outputDirectory>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\test-classes<\/testOutputDirectory>\r\n \r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\main\\resources<\/directory>\r\n <\/resource>\r\n <\/resources>\r\n \r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\test\\resources<\/directory>\r\n <\/testResource>\r\n <\/testResources>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target<\/directory>\r\n xplatalmApp-1.0-SNAPSHOT<\/finalName>\r\n \r\n \r\n \r\n maven-antrun-plugin<\/artifactId>\r\n 1.3<\/version>\r\n <\/plugin>\r\n \r\n maven-assembly-plugin<\/artifactId>\r\n 2.2-beta-5<\/version>\r\n <\/plugin>\r\n \r\n maven-dependency-plugin<\/artifactId>\r\n 2.8<\/version>\r\n <\/plugin>\r\n \r\n maven-release-plugin<\/artifactId>\r\n 2.3.2<\/version>\r\n <\/plugin>\r\n <\/plugins>\r\n <\/pluginManagement>\r\n \r\n \r\n maven-clean-plugin<\/artifactId>\r\n 2.5<\/version>\r\n \r\n \r\n default-clean<\/id>\r\n clean<\/phase>\r\n \r\n clean<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-resources-plugin<\/artifactId>\r\n 2.6<\/version>\r\n \r\n \r\n default-testResources<\/id>\r\n process-test-resources<\/phase>\r\n \r\n testResources<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n \r\n default-resources<\/id>\r\n process-resources<\/phase>\r\n \r\n resources<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-jar-plugin<\/artifactId>\r\n 2.4<\/version>\r\n \r\n \r\n default-jar<\/id>\r\n package<\/phase>\r\n \r\n jar<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-compiler-plugin<\/artifactId>\r\n 3.1<\/version>\r\n \r\n \r\n default-compile<\/id>\r\n compile<\/phase>\r\n \r\n compile<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n \r\n default-testCompile<\/id>\r\n test-compile<\/phase>\r\n \r\n testCompile<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-surefire-plugin<\/artifactId>\r\n 2.12.4<\/version>\r\n \r\n \r\n default-test<\/id>\r\n test<\/phase>\r\n \r\n test<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-install-plugin<\/artifactId>\r\n 2.4<\/version>\r\n \r\n \r\n default-install<\/id>\r\n install<\/phase>\r\n \r\n install<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-deploy-plugin<\/artifactId>\r\n 2.7<\/version>\r\n \r\n \r\n default-deploy<\/id>\r\n deploy<\/phase>\r\n \r\n deploy<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-site-plugin<\/artifactId>\r\n 3.3<\/version>\r\n \r\n \r\n default-site<\/id>\r\n site<\/phase>\r\n \r\n site<\/goal>\r\n <\/goals>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\site<\/outputDirectory>\r\n \r\n \r\n org.apache.maven.plugins<\/groupId>\r\n maven-project-info-reports-plugin<\/artifactId>\r\n <\/reportPlugin>\r\n <\/reportPlugins>\r\n <\/configuration>\r\n <\/execution>\r\n \r\n default-deploy<\/id>\r\n site-deploy<\/phase>\r\n \r\n deploy<\/goal>\r\n <\/goals>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\site<\/outputDirectory>\r\n \r\n \r\n org.apache.maven.plugins<\/groupId>\r\n maven-project-info-reports-plugin<\/artifactId>\r\n <\/reportPlugin>\r\n <\/reportPlugins>\r\n <\/configuration>\r\n <\/execution>\r\n <\/executions>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\site<\/outputDirectory>\r\n \r\n \r\n org.apache.maven.plugins<\/groupId>\r\n maven-project-info-reports-plugin<\/artifactId>\r\n <\/reportPlugin>\r\n <\/reportPlugins>\r\n <\/configuration>\r\n <\/plugin>\r\n <\/plugins>\r\n <\/build>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\site<\/outputDirectory>\r\n <\/reporting>\r\n <\/project>\r\n \r\n [INFO] ------------------------------------------------------------------------\r\n [INFO] BUILD SUCCESS\r\n [INFO] ------------------------------------------------------------------------\r\n [INFO] Total time: 0.651 s\r\n [INFO] Finished at: 2017-06-28T16:25:34-04:00\r\n [INFO] Final Memory: 7M\/18M\r\n [INFO] ------------------------------------------------------------------------" - }, - [`/home/bin/maven/bin/mvn -f pom.xml -s ${path.join(getTempDir(), "settings.xml")} ${optionsWithoutSettings} package`]: { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - }, - cwd: { - "cwd": "/home" - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2/Tests/L0MavenWithFeedSettingsAndSpaces.ts b/_generated/MavenV2/Tests/L0MavenWithFeedSettingsAndSpaces.ts deleted file mode 100644 index 40b9bf948a45..000000000000 --- a/_generated/MavenV2/Tests/L0MavenWithFeedSettingsAndSpaces.ts +++ /dev/null @@ -1,80 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -const optionsWithEscaping = `-DoptWithEscaping="{\\\"serverUri\\\": \\\"http://elasticsearch:9200\\\",\\\"username\\\": \\\"elastic\\\", \\\"password\\\": \\\"changeme\\\", \\\"connectionTimeout\\\": 30000}"`; -const optionsWithoutEscaping = `-DoptWithEscaping={\"serverUri\": \"http://elasticsearch:9200\",\"username\": \"elastic\", \"password\": \"changeme\", \"connectionTimeout\": 30000}`; -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Default", - mavenPOMFile: "pom.xml", - options: optionsWithEscaping, - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenOpts: "-Xmx2048m", - checkstyleAnalysisEnabled: false, - pmdAnalysisEnabled: false, - findbugsAnalysisEnabled: false, - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: "/home/bin/maven/bin/mvn" - }, - checkPath: { - "/home/bin/maven/bin/mvn": true, - "pom.xml": true - }, - exec: { - "/home/bin/maven/bin/mvn -version": { - code: 0, - stdout: "Maven version 1.0.0" - }, - - [`/home/bin/maven/bin/mvn -f pom.xml help:effective-pom ${optionsWithoutEscaping}`]: { - code: 0, - stdout: - "Effective POMs, after inheritance, interpolation, and profiles are applied:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 4.0.0<\/modelVersion>\r\n com.microsoft.xplatalm<\/groupId>\r\n xplatalmApp<\/artifactId>\r\n 1.0-SNAPSHOT<\/version>\r\n xplatalmApp<\/name>\r\n http:\/\/maven.apache.org<\/url>\r\n \r\n UTF-8<\/project.build.sourceEncoding>\r\n <\/properties>\r\n \r\n \r\n junit<\/groupId>\r\n junit<\/artifactId>\r\n 3.8.1<\/version>\r\n test<\/scope>\r\n <\/dependency>\r\n \r\n com.microsoft.xplatalm<\/groupId>\r\n xplatalmUtil<\/artifactId>\r\n 1.0-SNAPSHOT<\/version>\r\n compile<\/scope>\r\n <\/dependency>\r\n \r\n com.google.code.findbugs<\/groupId>\r\n findbugs<\/artifactId>\r\n 3.0.0<\/version>\r\n compile<\/scope>\r\n <\/dependency>\r\n <\/dependencies>\r\n \r\n \r\n \r\n true<\/enabled>\r\n <\/releases>\r\n \r\n true<\/enabled>\r\n <\/snapshots>\r\n xplatalm-visualstudio.com-xplatmaven<\/id>\r\n https:\/\/xplatalm.visualstudio.com\/_packaging\/XPlatMaven\/maven\/v1<\/url>\r\n <\/repository>\r\n \r\n \r\n false<\/enabled>\r\n <\/snapshots>\r\n central<\/id>\r\n Central Repository<\/name>\r\n https:\/\/repo.maven.apache.org\/maven2<\/url>\r\n <\/repository>\r\n <\/repositories>\r\n \r\n \r\n \r\n never<\/updatePolicy>\r\n <\/releases>\r\n \r\n false<\/enabled>\r\n <\/snapshots>\r\n central<\/id>\r\n Central Repository<\/name>\r\n https:\/\/repo.maven.apache.org\/maven2<\/url>\r\n <\/pluginRepository>\r\n <\/pluginRepositories>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\main\\java<\/sourceDirectory>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\main\\scripts<\/scriptSourceDirectory>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\test\\java<\/testSourceDirectory>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\classes<\/outputDirectory>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\test-classes<\/testOutputDirectory>\r\n \r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\main\\resources<\/directory>\r\n <\/resource>\r\n <\/resources>\r\n \r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\test\\resources<\/directory>\r\n <\/testResource>\r\n <\/testResources>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target<\/directory>\r\n xplatalmApp-1.0-SNAPSHOT<\/finalName>\r\n \r\n \r\n \r\n maven-antrun-plugin<\/artifactId>\r\n 1.3<\/version>\r\n <\/plugin>\r\n \r\n maven-assembly-plugin<\/artifactId>\r\n 2.2-beta-5<\/version>\r\n <\/plugin>\r\n \r\n maven-dependency-plugin<\/artifactId>\r\n 2.8<\/version>\r\n <\/plugin>\r\n \r\n maven-release-plugin<\/artifactId>\r\n 2.3.2<\/version>\r\n <\/plugin>\r\n <\/plugins>\r\n <\/pluginManagement>\r\n \r\n \r\n maven-clean-plugin<\/artifactId>\r\n 2.5<\/version>\r\n \r\n \r\n default-clean<\/id>\r\n clean<\/phase>\r\n \r\n clean<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-resources-plugin<\/artifactId>\r\n 2.6<\/version>\r\n \r\n \r\n default-testResources<\/id>\r\n process-test-resources<\/phase>\r\n \r\n testResources<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n \r\n default-resources<\/id>\r\n process-resources<\/phase>\r\n \r\n resources<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-jar-plugin<\/artifactId>\r\n 2.4<\/version>\r\n \r\n \r\n default-jar<\/id>\r\n package<\/phase>\r\n \r\n jar<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-compiler-plugin<\/artifactId>\r\n 3.1<\/version>\r\n \r\n \r\n default-compile<\/id>\r\n compile<\/phase>\r\n \r\n compile<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n \r\n default-testCompile<\/id>\r\n test-compile<\/phase>\r\n \r\n testCompile<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-surefire-plugin<\/artifactId>\r\n 2.12.4<\/version>\r\n \r\n \r\n default-test<\/id>\r\n test<\/phase>\r\n \r\n test<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-install-plugin<\/artifactId>\r\n 2.4<\/version>\r\n \r\n \r\n default-install<\/id>\r\n install<\/phase>\r\n \r\n install<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-deploy-plugin<\/artifactId>\r\n 2.7<\/version>\r\n \r\n \r\n default-deploy<\/id>\r\n deploy<\/phase>\r\n \r\n deploy<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-site-plugin<\/artifactId>\r\n 3.3<\/version>\r\n \r\n \r\n default-site<\/id>\r\n site<\/phase>\r\n \r\n site<\/goal>\r\n <\/goals>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\site<\/outputDirectory>\r\n \r\n \r\n org.apache.maven.plugins<\/groupId>\r\n maven-project-info-reports-plugin<\/artifactId>\r\n <\/reportPlugin>\r\n <\/reportPlugins>\r\n <\/configuration>\r\n <\/execution>\r\n \r\n default-deploy<\/id>\r\n site-deploy<\/phase>\r\n \r\n deploy<\/goal>\r\n <\/goals>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\site<\/outputDirectory>\r\n \r\n \r\n org.apache.maven.plugins<\/groupId>\r\n maven-project-info-reports-plugin<\/artifactId>\r\n <\/reportPlugin>\r\n <\/reportPlugins>\r\n <\/configuration>\r\n <\/execution>\r\n <\/executions>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\site<\/outputDirectory>\r\n \r\n \r\n org.apache.maven.plugins<\/groupId>\r\n maven-project-info-reports-plugin<\/artifactId>\r\n <\/reportPlugin>\r\n <\/reportPlugins>\r\n <\/configuration>\r\n <\/plugin>\r\n <\/plugins>\r\n <\/build>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\site<\/outputDirectory>\r\n <\/reporting>\r\n <\/project>\r\n \r\n [INFO] ------------------------------------------------------------------------\r\n [INFO] BUILD SUCCESS\r\n [INFO] ------------------------------------------------------------------------\r\n [INFO] Total time: 0.651 s\r\n [INFO] Finished at: 2017-06-28T16:25:34-04:00\r\n [INFO] Final Memory: 7M\/18M\r\n [INFO] ------------------------------------------------------------------------" - }, - [`/home/bin/maven/bin/mvn -f pom.xml -s ${path.join(getTempDir(), "settings.xml")} ${optionsWithoutEscaping} package`]: { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - }, - cwd: { - "cwd": "/home" - } -}; - -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2/Tests/L0MavenWithoutFeed.ts b/_generated/MavenV2/Tests/L0MavenWithoutFeed.ts deleted file mode 100644 index 9602d2a7b282..000000000000 --- a/_generated/MavenV2/Tests/L0MavenWithoutFeed.ts +++ /dev/null @@ -1,64 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Default", - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenFeedAuthenticate: false -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: "/home/bin/maven/bin/mvn" - }, - checkPath: { - "/home/bin/maven/bin/mvn": true, - "pom.xml": true - }, - exec: { - "/home/bin/maven/bin/mvn -version": { - code: 0, - stdout: "Maven version 1.0.0" - }, - "/home/bin/maven/bin/mvn -f pom.xml package": { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2/Tests/L0MavenWithoutFeedSkipEffectivePom.ts b/_generated/MavenV2/Tests/L0MavenWithoutFeedSkipEffectivePom.ts deleted file mode 100644 index 4d02f1e917fd..000000000000 --- a/_generated/MavenV2/Tests/L0MavenWithoutFeedSkipEffectivePom.ts +++ /dev/null @@ -1,65 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Default", - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenFeedAuthenticate: false, - skipEffectivePom: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: "/home/bin/maven/bin/mvn" - }, - checkPath: { - "/home/bin/maven/bin/mvn": true, - "pom.xml": true - }, - exec: { - "/home/bin/maven/bin/mvn -version": { - code: 0, - stdout: "Maven version 1.0.0" - }, - "/home/bin/maven/bin/mvn -f pom.xml package": { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2/Tests/L0MissingGoals.ts b/_generated/MavenV2/Tests/L0MissingGoals.ts deleted file mode 100644 index 23b20d19e9a0..000000000000 --- a/_generated/MavenV2/Tests/L0MissingGoals.ts +++ /dev/null @@ -1,73 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Default", - mavenPOMFile: "pom.xml", - options: "", - // goals: "package", // Goals not set - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenOpts: "-Xmx2048m", - checkstyleAnalysisEnabled: false, - pmdAnalysisEnabled: false, - findbugsAnalysisEnabled: false, - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: "/home/bin/maven/bin/mvn" - }, - checkPath: { - "/home/bin/maven/bin/mvn": true, - "pom.xml": true - }, - exec: { - "/home/bin/maven/bin/mvn -version": { - code: 0, - stdout: "Maven version 1.0.0" - }, - "/home/bin/maven/bin/mvn -f pom.xml help:effective-pom": { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - "/home/bin/maven/bin/mvn -f pom.xml package": { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2/Tests/L0MissingJavaHomeSelection.ts b/_generated/MavenV2/Tests/L0MissingJavaHomeSelection.ts deleted file mode 100644 index 8aa05e515a3e..000000000000 --- a/_generated/MavenV2/Tests/L0MissingJavaHomeSelection.ts +++ /dev/null @@ -1,73 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Default", - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - // javaHomeSelection: "JDKVersion", // Java Home Selection not set - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenOpts: "-Xmx2048m", - checkstyleAnalysisEnabled: false, - pmdAnalysisEnabled: false, - findbugsAnalysisEnabled: false, - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: "/home/bin/maven/bin/mvn" - }, - checkPath: { - "/home/bin/maven/bin/mvn": true, - "pom.xml": true - }, - exec: { - "/home/bin/maven/bin/mvn -version": { - code: 0, - stdout: "Maven version 1.0.0" - }, - "/home/bin/maven/bin/mvn -f pom.xml help:effective-pom": { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - "/home/bin/maven/bin/mvn -f pom.xml package": { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2/Tests/L0MissingMavenFeedAuthenticate.ts b/_generated/MavenV2/Tests/L0MissingMavenFeedAuthenticate.ts deleted file mode 100644 index e64a5cb42e9d..000000000000 --- a/_generated/MavenV2/Tests/L0MissingMavenFeedAuthenticate.ts +++ /dev/null @@ -1,64 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Default", - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml" -}; -setInputs(taskRunner, inputs); - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: "/home/bin/maven/bin/mvn" - }, - checkPath: { - "/home/bin/maven/bin/mvn": true, - "pom.xml": true - }, - exec: { - "/home/bin/maven/bin/mvn -version": { - code: 0, - stdout: "Maven version 1.0.0" - }, - "/home/bin/maven/bin/mvn -f pom.xml help:effective-pom": { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - "/home/bin/maven/bin/mvn -f pom.xml package": { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2/Tests/L0MissingMavenVersionSelection.ts b/_generated/MavenV2/Tests/L0MissingMavenVersionSelection.ts deleted file mode 100644 index d98e1102645c..000000000000 --- a/_generated/MavenV2/Tests/L0MissingMavenVersionSelection.ts +++ /dev/null @@ -1,65 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -// Set Inputs -const inputs: MavenTaskInputs = { - // mavenVersionSelection not specified - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: "/home/bin/maven/bin/mvn" - }, - checkPath: { - "/home/bin/maven/bin/mvn": true, - "pom.xml": true - }, - exec: { - "/home/bin/maven/bin/mvn -version": { - code: 0, - stdout: "Maven version 1.0.0" - }, - "/home/bin/maven/bin/mvn -f pom.xml help:effective-pom": { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - "/home/bin/maven/bin/mvn -f pom.xml package": { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2/Tests/L0MissingTestResultsFiles.ts b/_generated/MavenV2/Tests/L0MissingTestResultsFiles.ts deleted file mode 100644 index 34d14f6e7de6..000000000000 --- a/_generated/MavenV2/Tests/L0MissingTestResultsFiles.ts +++ /dev/null @@ -1,73 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Default", - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - // testResultsFiles: "**/TEST-*.xml", Test Results Files not set - mavenOpts: "-Xmx2048m", - checkstyleAnalysisEnabled: false, - pmdAnalysisEnabled: false, - findbugsAnalysisEnabled: false, - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: "/home/bin/maven/bin/mvn" - }, - checkPath: { - "/home/bin/maven/bin/mvn": true, - "pom.xml": true - }, - exec: { - "/home/bin/maven/bin/mvn -version": { - code: 0, - stdout: "Maven version 1.0.0" - }, - "/home/bin/maven/bin/mvn -f pom.xml help:effective-pom": { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - "/home/bin/maven/bin/mvn -f pom.xml package": { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2/Tests/L0PublishJUnitTestResults.ts b/_generated/MavenV2/Tests/L0PublishJUnitTestResults.ts deleted file mode 100644 index 23e3f1fbb185..000000000000 --- a/_generated/MavenV2/Tests/L0PublishJUnitTestResults.ts +++ /dev/null @@ -1,73 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Default", - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenOpts: "-Xmx2048m", - checkstyleAnalysisEnabled: false, - pmdAnalysisEnabled: false, - findbugsAnalysisEnabled: false, - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: "/home/bin/maven/bin/mvn" - }, - checkPath: { - "/home/bin/maven/bin/mvn": true, - "pom.xml": true - }, - exec: { - "/home/bin/maven/bin/mvn -version": { - code: 0, - stdout: "Maven version 1.0.0" - }, - "/home/bin/maven/bin/mvn -f pom.xml help:effective-pom": { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - "/home/bin/maven/bin/mvn -f pom.xml package": { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2/Tests/L0RestoreOriginalPomXml.ts b/_generated/MavenV2/Tests/L0RestoreOriginalPomXml.ts deleted file mode 100644 index 91dfce1ad99e..000000000000 --- a/_generated/MavenV2/Tests/L0RestoreOriginalPomXml.ts +++ /dev/null @@ -1,138 +0,0 @@ -import * as path from 'path'; -import * as fs from 'fs'; - -import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; -import { TaskLibAnswers } from 'azure-pipelines-task-lib/mock-answer'; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from './TestUtils'; - -const taskPath = path.join(__dirname, '..', 'maventask.js'); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: 'Default', - mavenPOMFile: 'pom.xml', - options: '', - goals: 'package', - javaHomeSelection: 'JDKVersion', - jdkVersion: 'default', - publishJUnitResults: true, - testResultsFiles: '**/TEST-*.xml', - mavenOpts: '-Xmx2048m', - checkstyleAnalysisEnabled: false, - pmdAnalysisEnabled: false, - findbugsAnalysisEnabled: false, - mavenFeedAuthenticate: true, - codeCoverageTool: 'JaCoCo', - restoreOriginalPomXml: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env.M2_HOME; // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: '/home/bin/maven/bin/mvn' - }, - checkPath: { - '/home/bin/maven/bin/mvn': true, - 'pom.xml': true - }, - exec: { - '/home/bin/maven/bin/mvn -version': { - code: 0, - stdout: 'Maven version 1.0.0' - }, - '/home/bin/maven/bin/mvn -f pom.xml help:effective-pom': { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - '/home/bin/maven/bin/mvn -f pom.xml clean package': { - code: 0, - stdout: 'Maven package done' - }, - '/home/bin/maven/bin/mvn -f CCReportPomA4D283EG.xml verify -Dmaven.test.skip=true': { - code: 0, - stdout: 'something' - } - }, - findMatch: { - '**/TEST-*.xml': [ - '/user/build/fun/test-123.xml' - ] - }, - exist: { - [path.join(getTempDir(), '.mavenInfo')] : true, - [path.join('CCReport43F6D5EF', 'jacoco.xml')]: true, - 'CCReportPomA4D283EG.xml': true - }, - rmRF: { - target: { success: true }, - CCReport43F6D5EF: { success: true }, - 'CCReportPomA4D283EG.xml': { success: true } - } -}; -taskRunner.setAnswers(answers); - -taskRunner.registerMock('azure-pipelines-tasks-codecoverage-tools/codecoveragefactory', { - CodeCoverageEnablerFactory: class { - public getTool(buildTool: string, ccTool: string) { - if (buildTool.toLowerCase() !== 'maven' || ccTool.toLowerCase() !== 'jacoco') { - throw new Error(`Should use maven-jacoco but called ${buildTool}-${ccTool}`); - } - - return { - enableCodeCoverage() { - console.log('Writing modified pom.xml contents'); - return Promise.resolve(true); - } - }; - } - } -}); - -const originalPomXmlContents = 'original pom.xml contents'; - -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - readFileSync(filename: string, encoding: BufferEncoding): string { - if (filename === 'pom.xml' && encoding === 'utf8') { - console.log('Reading original pom.xml'); - return originalPomXmlContents; - } - - return fs.readFileSync(filename, encoding); - }, - writeFileSync(filename: string, data: any): void { - if (filename === 'pom.xml') { - if (data === originalPomXmlContents) { - console.log('Writing original pom.xml contents'); - return; - } - - throw new Error(`Trying to write unknown data into pom.xml; data=${data}`); - } - - fs.writeFileSync(filename, data); - } -}); -taskRunner.registerMock('fs', fsClone); - -// We only register this mock to prevent import conflicts with already mocked fs -taskRunner.registerMock('fs-extra', { - mkdirpSync(dir: string): void { - // This should never be called - } -}); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2/Tests/L0SetM2Home.ts b/_generated/MavenV2/Tests/L0SetM2Home.ts deleted file mode 100644 index 9ea68068d3b7..000000000000 --- a/_generated/MavenV2/Tests/L0SetM2Home.ts +++ /dev/null @@ -1,75 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -const mavenPath = "/home/bin/maven2/"; -const mavenBin = path.join(mavenPath, "bin", "mvn"); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Path", - mavenPath: mavenPath, - mavenSetM2Home: "true", - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: mavenBin - }, - checkPath: { - [`${mavenPath}`]: true, - [`${mavenBin}`]: true, - "pom.xml": true - }, - exec: { - [`${mavenBin} -version`]: { - code: 0, - stdout: "Maven version 1.0.0" - }, - [`${mavenBin} -f pom.xml help:effective-pom`]: { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - [`${mavenBin} -f pom.xml package`]: { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2/Tests/L0SetM2HomeInvalid.ts b/_generated/MavenV2/Tests/L0SetM2HomeInvalid.ts deleted file mode 100644 index 11db3065b1c2..000000000000 --- a/_generated/MavenV2/Tests/L0SetM2HomeInvalid.ts +++ /dev/null @@ -1,75 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -const mavenPath = "/home/bin/maven2/"; -const mavenBin = path.join(mavenPath, "bin", "mvn"); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Path", - mavenPath: mavenPath, - mavenSetM2Home: "notABoolean", - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: mavenBin - }, - checkPath: { - [`${mavenPath}`]: true, - [`${mavenBin}`]: true, - "pom.xml": true - }, - exec: { - [`${mavenBin} -version`]: { - code: 0, - stdout: "Maven version 1.0.0" - }, - [`${mavenBin} -f pom.xml help:effective-pom`]: { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - [`${mavenBin} -f pom.xml package`]: { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2/Tests/TestUtils.ts b/_generated/MavenV2/Tests/TestUtils.ts deleted file mode 100644 index 5dbf881f3be6..000000000000 --- a/_generated/MavenV2/Tests/TestUtils.ts +++ /dev/null @@ -1,95 +0,0 @@ -import * as fs from "fs"; -import * as path from "path"; - -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { registerLocationHelpersMock } from 'azure-pipelines-tasks-packaging-common/Tests/MockHelper'; - -export interface MavenTaskInputs { - mavenVersionSelection?: string; - mavenPath?: string; - mavenPOMFile?: string; - mavenSetM2Home?: string; - options?: string; - goals?: string; - javaHomeSelection?: string; - jdkVersion?: string; - publishJUnitResults?: boolean; - testResultsFiles?: string; - mavenOpts?: string; - checkstyleAnalysisEnabled?: boolean; - pmdAnalysisEnabled?: boolean; - findbugsAnalysisEnabled?: boolean; - spotBugsAnalysisEnabled?: boolean; - spotBugsGoal?: string; - spotBugsMavenPluginVersion?: string; - mavenFeedAuthenticate?: boolean; - skipEffectivePom?: boolean; - codeCoverageTool?: string; - restoreOriginalPomXml?: boolean; -} - -export const setInputs = ( - taskRunner: TaskMockRunner, - inputs: MavenTaskInputs -) => { - for (const key in inputs) { - const value = inputs[key]; - if (value || typeof value === "boolean") { // We still want false to show up as input - taskRunner.setInput(key, String(value)); - } - } -}; - -const deleteFolderRecursive = (path): void => { - if (fs.existsSync(path)) { - fs.readdirSync(path).forEach(function (file, index) { - let curPath: string = path + '/' + file; - if (fs.lstatSync(curPath).isDirectory()) { // recurse - deleteFolderRecursive(curPath); - } else { // delete file - fs.unlinkSync(curPath); - } - }); - fs.rmdirSync(path); - } -} - -export const getTempDir = (): string => { - return path.join(__dirname, '_temp'); -}; - -export function cleanTemporaryFolders(): void { - deleteFolderRecursive(getTempDir()); -} - -export function createTemporaryFolders(): void { - let testTempDir = getTempDir(); - let sqTempDir: string = path.join(testTempDir, '.sqAnalysis'); - - if (!fs.existsSync(testTempDir)) { - fs.mkdirSync(testTempDir); - } - - if (!fs.existsSync(sqTempDir)) { - fs.mkdirSync(sqTempDir); - } -} - -export const initializeTest = (taskRunner: TaskMockRunner): void => { - process.env["SYSTEM_TEAMFOUNDATIONCOLLECTIONURI"] = "https://xplatalm.visualstudio.com/"; - - const tempDirectory = getTempDir(); - process.env["AGENT_TEMPDIRECTORY"] = tempDirectory; - process.env['BUILD_SOURCESDIRECTORY'] = '/user/build'; - process.env['SYSTEM_DEFAULTWORKINGDIRECTORY'] = "/user/build"; - - process.env['HOME'] = '/users/test'; //replace with mock of setVariable when task-lib has the support - - // Set up mocks for common packages - registerLocationHelpersMock(taskRunner); - - // Prevent file writes - taskRunner.registerMockExport("writefile", (file: string, data: string | Buffer, options?: string | fs.WriteFileOptions): void => {}) - taskRunner.registerMockExport("cp", (source: string, dest: string, options?: string, continueOnError?: boolean): void => {}) -} diff --git a/_generated/MavenV2/icon.png b/_generated/MavenV2/icon.png deleted file mode 100644 index 3ed5672612c1..000000000000 Binary files a/_generated/MavenV2/icon.png and /dev/null differ diff --git a/_generated/MavenV2/icon.svg b/_generated/MavenV2/icon.svg deleted file mode 100644 index c2bb6a7998f6..000000000000 --- a/_generated/MavenV2/icon.svg +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/_generated/MavenV2/make.json b/_generated/MavenV2/make.json deleted file mode 100644 index 38d57bfadcc6..000000000000 --- a/_generated/MavenV2/make.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "rm": [ - { - "items": [ - "node_modules/azure-pipelines-tasks-codeanalysis-common/node_modules/azure-pipelines-task-lib", - "node_modules/azure-pipelines-tasks-codeanalysis-common/node_modules/azure-pipeline-tool-lib", - "node_modules/azure-pipelines-tasks-codecoverage-tools/node_modules/azure-pipelines-task-lib", - "node_modules/azure-pipelines-tasks-codecoverage-tools/node_modules/azure-pipeline-tool-lib", - "node_modules/azure-pipelines-tasks-java-common/node_modules/azure-pipelines-task-lib", - "node_modules/azure-pipelines-tasks-java-common/node_modules/azure-pipeline-tool-lib", - "node_modules/azure-pipelines-tasks-packaging-common/node_modules/azure-pipelines-task-lib", - "node_modules/azure-pipelines-tasks-packaging-common/node_modules/azure-pipeline-tool-lib", - "node_modules/azure-pipelines-tool-lib/node_modules/azure-pipelines-task-lib", - "node_modules/azure-pipelines-tasks-codeanalysis-common/node_modules/mockery", - "node_modules/azure-pipelines-tool-lib/node_modules/mockery", - "node_modules/@types/mockery", - "node_modules/mockery" - ], - "options": "-Rf" - } - ] -} \ No newline at end of file diff --git a/_generated/MavenV2/maventask.ts b/_generated/MavenV2/maventask.ts deleted file mode 100644 index f12fe7a3c0cf..000000000000 --- a/_generated/MavenV2/maventask.ts +++ /dev/null @@ -1,557 +0,0 @@ - -import Q = require('q'); -import os = require('os'); -import path = require('path'); -import * as fs from 'fs'; - -import * as tl from 'azure-pipelines-task-lib/task'; -import {ToolRunner} from 'azure-pipelines-task-lib/toolrunner'; -import {CodeCoverageEnablerFactory} from 'azure-pipelines-tasks-codecoverage-tools/codecoveragefactory'; -import {CodeAnalysisOrchestrator} from "azure-pipelines-tasks-codeanalysis-common/Common/CodeAnalysisOrchestrator"; -import {BuildOutput, BuildEngine} from 'azure-pipelines-tasks-codeanalysis-common/Common/BuildOutput'; -import {CheckstyleTool} from 'azure-pipelines-tasks-codeanalysis-common/Common/CheckstyleTool'; -import {PmdTool} from 'azure-pipelines-tasks-codeanalysis-common/Common/PmdTool'; -import {FindbugsTool} from 'azure-pipelines-tasks-codeanalysis-common/Common/FindbugsTool'; -import javacommons = require('azure-pipelines-tasks-java-common/java-common'); -import util = require('./mavenutil'); - -const TESTRUN_SYSTEM = "VSTS - maven"; -var isWindows = os.type().match(/^Win/); - -// Set up localization resource file -tl.setResourcePath(path.join( __dirname, 'task.json')); - -var mavenPOMFile: string = tl.getPathInput('mavenPOMFile', true, true); -var javaHomeSelection: string = tl.getInput('javaHomeSelection', true); -var mavenVersionSelection: string = tl.getInput('mavenVersionSelection', true); -var mavenGoals: string[] = tl.getDelimitedInput('goals', ' ', true); // This assumes that goals cannot contain spaces -var mavenOptions: string = tl.getInput('options', false); // Options can have spaces and quotes so we need to treat this as one string and not try to parse it -var publishJUnitResults: string = tl.getInput('publishJUnitResults'); -var testResultsFiles: string = tl.getInput('testResultsFiles', true); -var ccTool = tl.getInput('codeCoverageTool'); -var authenticateFeed = tl.getBoolInput('mavenFeedAuthenticate', true); -var isCodeCoverageOpted = (typeof ccTool != "undefined" && ccTool && ccTool.toLowerCase() != 'none'); -var failIfCoverageEmptySetting: boolean = tl.getBoolInput('failIfCoverageEmpty'); -const restoreOriginalPomXml: boolean = tl.getBoolInput('restoreOriginalPomXml'); -var codeCoverageFailed: boolean = false; -var summaryFile: string = null; -var reportDirectory: string = null; -var reportPOMFile: string = null; -var execFileJacoco: string = null; -var ccReportTask: string = null; - -let buildOutput: BuildOutput = new BuildOutput(tl.getVariable('System.DefaultWorkingDirectory'), BuildEngine.Maven); -var codeAnalysisOrchestrator:CodeAnalysisOrchestrator = new CodeAnalysisOrchestrator( - [new CheckstyleTool(buildOutput, 'checkstyleAnalysisEnabled'), - new FindbugsTool(buildOutput, 'findbugsAnalysisEnabled'), - new PmdTool(buildOutput, 'pmdAnalysisEnabled')]); - -// Determine the version and path of Maven to use -var mvnExec: string = ''; -if (mavenVersionSelection == 'Path') { - // The path to Maven has been explicitly specified - tl.debug('Using Maven path from user input'); - var mavenPath = tl.getPathInput('mavenPath', true, true); - mvnExec = path.join(mavenPath, 'bin', 'mvn'); - - // Set the M2_HOME variable to a custom Maven installation path? - if (tl.getBoolInput('mavenSetM2Home')) { - tl.setVariable('M2_HOME', mavenPath); - } -} -else { - // mavenVersionSelection is set to 'Default' - - // First, look for Maven in the M2_HOME variable - var m2HomeEnvVar: string = null; - m2HomeEnvVar = tl.getVariable('M2_HOME'); - if (m2HomeEnvVar) { - tl.debug('Using M2_HOME environment variable value for Maven path: ' + m2HomeEnvVar); - mvnExec = path.join(m2HomeEnvVar, 'bin', 'mvn'); - } - // Second, look for Maven in the system path - else { - tl.debug('M2_HOME environment variable is not set, so Maven will be sought in the system path'); - mvnExec = tl.which('mvn', true); - } -} - -// On Windows, append .cmd or .bat to the executable as necessary -if (isWindows && - !mvnExec.toLowerCase().endsWith('.cmd') && - !mvnExec.toLowerCase().endsWith('.bat')) { - if (tl.exist(mvnExec + '.cmd')) { - // Maven 3 uses mvn.cmd - mvnExec += '.cmd'; - } - else if (tl.exist(mvnExec + '.bat')) { - // Maven 2 uses mvn.bat - mvnExec += '.bat'; - } -} - -tl.debug('Maven executable: ' + mvnExec); -tl.checkPath(mvnExec, 'maven path'); - -// Set JAVA_HOME to the JDK version (default, 1.7, 1.8, etc.) or the path specified by the user -var specifiedJavaHome: string = null; -var javaTelemetryData = null; -if (javaHomeSelection == 'JDKVersion') { - // Set JAVA_HOME to the specified JDK version (default, 1.7, 1.8, etc.) - tl.debug('Using the specified JDK version to find and set JAVA_HOME'); - var jdkVersion: string = tl.getInput('jdkVersion'); - var jdkArchitecture: string = tl.getInput('jdkArchitecture'); - javaTelemetryData = { "jdkVersion": jdkVersion }; - if (jdkVersion != 'default') { - specifiedJavaHome = javacommons.findJavaHome(jdkVersion, jdkArchitecture); - } -} -else { - // Set JAVA_HOME to the path specified by the user - tl.debug('Setting JAVA_HOME to the path specified by user input'); - var jdkUserInputPath: string = tl.getPathInput('jdkUserInputPath', true, true); - specifiedJavaHome = jdkUserInputPath; - javaTelemetryData = { "jdkVersion": "custom" }; -} -javacommons.publishJavaTelemetry('Maven', javaTelemetryData); - -// Set JAVA_HOME as determined above (if different than default) -if (specifiedJavaHome) { - tl.setVariable('JAVA_HOME', specifiedJavaHome); -} - -async function execBuild() { - // Maven task orchestration occurs as follows: - // 1. Check that Maven exists by executing it to retrieve its version. - // 2. Apply any goals for static code analysis tools selected by the user. - // 3. Run Maven. Compilation or test errors will cause this to fail. - // In case the build has failed, the analysis will still succeed but the report will have less data. - // 4. Attempt to collate and upload static code analysis build summaries and artifacts. - // 5. Always publish test results even if tests fail, causing this task to fail. - // 6. If #3 or #4 above failed, exit with an error code to mark the entire step as failed. - - ccReportTask = await execEnableCodeCoverage(); - var userRunFailed: boolean = false; - var codeAnalysisFailed: boolean = false; - - // Setup tool runner that executes Maven only to retrieve its version - var mvnGetVersion = tl.tool(mvnExec); - mvnGetVersion.arg('-version'); - - configureMavenOpts(); - - // 1. Check that Maven exists by executing it to retrieve its version. - let settingsXmlFile: string = null; - await mvnGetVersion.exec() - .fail(function (err) { - console.error("Maven is not installed on the agent"); - tl.setResult(tl.TaskResult.Failed, "Build failed."); // tl.exit sets the step result but does not stop execution - process.exit(1); - }) - .then(function (code) { - // Setup tool runner to execute Maven goals - if (authenticateFeed) { - var mvnRun = tl.tool(mvnExec); - mvnRun.arg('-f'); - mvnRun.arg(mavenPOMFile); - mvnRun.arg('help:effective-pom'); - if(mavenOptions) { - mvnRun.line(mavenOptions); - } - return util.collectFeedRepositoriesFromEffectivePom(mvnRun.execSync()['stdout']) - .then(function (repositories) { - if (!repositories || !repositories.length) { - tl.debug('No built-in repositories were found in pom.xml'); - util.publishMavenInfo(tl.loc('AuthenticationNotNecessary')); - return Q.resolve(true); - } - tl.debug('Repositories: ' + JSON.stringify(repositories)); - let mavenFeedInfo:string = ''; - for (let i = 0; i < repositories.length; ++i) { - if (repositories[i].id) { - mavenFeedInfo = mavenFeedInfo.concat(tl.loc('UsingAuthFeed')).concat(repositories[i].id + '\n'); - } - } - util.publishMavenInfo(mavenFeedInfo); - - settingsXmlFile = path.join(tl.getVariable('Agent.TempDirectory'), 'settings.xml'); - tl.debug('checking to see if there are settings.xml in use'); - let options: RegExpMatchArray = mavenOptions ? mavenOptions.match(/([^" ]*("([^"\\]*(\\.[^"\\]*)*)")[^" ]*)|[^" ]+/g) : undefined; - if (options) { - mavenOptions = ''; - for (let i = 0; i < options.length; ++i) { - if ((options[i] === '--settings' || options[i] === '-s') && (i + 1) < options.length) { - i++; // increment to the file name - let suppliedSettingsXml: string = path.resolve(tl.cwd(), options[i]); - // Avoid copying settings file to itself - if (path.relative(suppliedSettingsXml, settingsXmlFile) !== '') { - tl.cp(suppliedSettingsXml, settingsXmlFile, '-f'); - } else { - tl.debug('Settings file is already in the correct location. Copying skipped.'); - } - tl.debug('using settings file: ' + settingsXmlFile); - } else { - if (mavenOptions) { - mavenOptions = mavenOptions.concat(' '); - } - mavenOptions = mavenOptions.concat(options[i]); - } - } - } - return util.mergeCredentialsIntoSettingsXml(settingsXmlFile, repositories); - }) - .catch(function (err) { - return Q.reject(err); - }); - } else { - tl.debug('Built-in Maven feed authentication is disabled'); - return Q.resolve(true); - } - }) - .fail(function (err) { - tl.error(err.message); - userRunFailed = true; // Record the error and continue - }) - .then(function (code) { - // Setup tool runner to execute Maven goals - var mvnRun = tl.tool(mvnExec); - mvnRun.arg('-f'); - mvnRun.arg(mavenPOMFile); - if (settingsXmlFile) { - mvnRun.arg('-s'); - mvnRun.arg(settingsXmlFile); - } - mvnRun.line(mavenOptions); - if (isCodeCoverageOpted && mavenGoals.indexOf('clean') == -1) { - mvnRun.arg('clean'); - } - mvnRun.arg(mavenGoals); - - // 2. Apply any goals for static code analysis tools selected by the user. - mvnRun = applySonarQubeArgs(mvnRun, execFileJacoco); - mvnRun = codeAnalysisOrchestrator.configureBuild(mvnRun); - - // Read Maven standard output - mvnRun.on('stdout', function (data) { - processMavenOutput(data); - }); - - // 3. Run Maven. Compilation or test errors will cause this to fail. - return mvnRun.exec(util.getExecOptions()); - }) - .fail(function (err) { - console.error(err.message); - userRunFailed = true; // Record the error and continue - }) - .then(function (code: any) { - if (code && code['code'] != 0) { - userRunFailed = true; - } - // 4. Attempt to collate and upload static code analysis build summaries and artifacts. - - // The files won't be created if the build failed, and the user should probably fix their build first. - if (userRunFailed) { - console.error('Could not retrieve code analysis results - Maven run failed.'); - return; - } - - // Otherwise, start uploading relevant build summaries. - tl.debug('Processing code analysis results'); - return codeAnalysisOrchestrator.publishCodeAnalysisResults(); - }) - .fail(function (err) { - console.error(err.message); - // Looks like: "Code analysis failed." - console.error(tl.loc('codeAnalysis_ToolFailed', 'Code')); - codeAnalysisFailed = true; - }) - .then(function () { - // 5. Always publish test results even if tests fail, causing this task to fail. - if (publishJUnitResults == 'true') { - publishJUnitTestResults(testResultsFiles); - } - publishCodeCoverage(isCodeCoverageOpted).then(function() { - tl.debug('publishCodeCoverage userRunFailed=' + userRunFailed); - - // 6. If #3 or #4 above failed, exit with an error code to mark the entire step as failed. - if (userRunFailed || codeAnalysisFailed || codeCoverageFailed) { - tl.setResult(tl.TaskResult.Failed, "Build failed."); // Set task failure - } - else { - tl.setResult(tl.TaskResult.Succeeded, "Build Succeeded."); // Set task success - } - }) - .fail(function (err) { - tl.setResult(tl.TaskResult.Failed, "Build failed."); // Set task failure - }); - - // Do not force an exit as publishing results is async and it won't have finished - }) - .fail(function (err) { - // Set task failure if get exception at step 5 - console.error(err.message); - tl.setResult(tl.TaskResult.Failed, "Build failed."); - }); -} - -function applySonarQubeArgs(mvnsq: ToolRunner | any, execFileJacoco?: string): ToolRunner | any { - const isJacocoCoverageReportXML: boolean = tl.getBoolInput('isJacocoCoverageReportXML', false); - - if (!tl.getBoolInput('sqAnalysisEnabled', false)) { - return mvnsq; - } - - // Apply argument for the JaCoCo tool, if enabled - if (typeof execFileJacoco != "undefined" && execFileJacoco) { - mvnsq.arg('-Dsonar.jacoco.reportPaths=' + execFileJacoco); - } - - if (isJacocoCoverageReportXML && summaryFile) { - mvnsq.arg(`-Dsonar.coverage.jacoco.xmlReportPaths=${summaryFile}`); - } - - switch (tl.getInput('sqMavenPluginVersionChoice')) { - case 'latest': - mvnsq.arg(`org.sonarsource.scanner.maven:sonar-maven-plugin:RELEASE:sonar`); - break; - case 'pom': - mvnsq.arg(`sonar:sonar`); - break; - } - - return mvnsq; -} - -// Configure the JVM associated with this run. -function configureMavenOpts() { - let mavenOptsValue: string = tl.getInput('mavenOpts'); - - if (mavenOptsValue) { - process.env['MAVEN_OPTS'] = mavenOptsValue; - tl.debug(`MAVEN_OPTS is now set to ${mavenOptsValue}`); - } -} - -// Publishes JUnit test results from files matching the specified pattern. -function publishJUnitTestResults(testResultsFiles: string) { - var matchingJUnitResultFiles: string[] = undefined; - - // Check for pattern in testResultsFiles - if (testResultsFiles.indexOf('*') >= 0 || testResultsFiles.indexOf('?') >= 0) { - tl.debug('Pattern found in testResultsFiles parameter'); - var buildFolder = tl.getVariable('System.DefaultWorkingDirectory'); - tl.debug(`buildFolder=${buildFolder}`); - const allowBrokenSymbolicLinks = tl.getBoolInput('allowBrokenSymbolicLinks'); - tl.debug(`allowBrokenSymbolicLinks=${allowBrokenSymbolicLinks}`); - matchingJUnitResultFiles = tl.findMatch(buildFolder, testResultsFiles, - { - followSymbolicLinks: true, - followSpecifiedSymbolicLink: true, - allowBrokenSymbolicLinks, - }, - { matchBase: true }); - } - else { - tl.debug('No pattern found in testResultsFiles parameter'); - matchingJUnitResultFiles = [testResultsFiles]; - } - - if (!matchingJUnitResultFiles || matchingJUnitResultFiles.length == 0) { - tl.warning('No test result files matching ' + testResultsFiles + ' were found, so publishing JUnit test results is being skipped.'); - return 0; - } - - var tp = new tl.TestPublisher("JUnit"); - const testRunTitle = tl.getInput('testRunTitle'); - tp.publish(matchingJUnitResultFiles, 'true', "", "", testRunTitle, 'true', TESTRUN_SYSTEM); -} - -function execEnableCodeCoverage(): Q.Promise { - return enableCodeCoverage() - .then(function (resp) { - tl.debug("Enabled code coverage successfully"); - return "CodeCoverage_9064e1d0"; - }).catch(function (err) { - tl.warning("Failed to enable code coverage: " + err); - return ""; - }); -}; - -function enableCodeCoverage() : Q.Promise { - if(!isCodeCoverageOpted){ - return Q.resolve(true); - } - - var classFilter: string = tl.getInput('classFilter'); - var classFilesDirectories: string = tl.getInput('classFilesDirectories'); - var sourceDirectories: string = tl.getInput('srcDirectories'); - var buildRootPath = path.dirname(mavenPOMFile); - // appending with small guid to keep it unique. Avoiding full guid to ensure no long path issues. - var reportPOMFileName = "CCReportPomA4D283EG.xml"; - reportPOMFile = path.join(buildRootPath, reportPOMFileName); - var targetDirectory = path.join(buildRootPath, "target"); - - if (ccTool.toLowerCase() == "jacoco") { - var reportDirectoryName = "CCReport43F6D5EF"; - var summaryFileName = "jacoco.xml"; - } - else if (ccTool.toLowerCase() == "cobertura") { - var reportDirectoryName = path.join("target", "site"); - reportDirectoryName = path.join(reportDirectoryName, "cobertura"); - var summaryFileName = "coverage.xml"; - } - - reportDirectory = path.join(buildRootPath, reportDirectoryName); - summaryFile = path.join(reportDirectory, summaryFileName); - - if (ccTool.toLowerCase() == "jacoco") { - execFileJacoco = path.join(reportDirectory, "jacoco.exec"); - } - - // clean any previously generated files. - tl.rmRF(targetDirectory); - tl.rmRF(reportDirectory); - tl.rmRF(reportPOMFile); - - var buildProps: { [key: string]: string } = {}; - buildProps['buildfile'] = mavenPOMFile; - buildProps['classfilter'] = classFilter; - buildProps['classfilesdirectories'] = classFilesDirectories; - buildProps['sourcedirectories'] = sourceDirectories; - buildProps['summaryfile'] = summaryFile; - buildProps['reportdirectory'] = reportDirectory; - buildProps['reportbuildfile'] = reportPOMFile; - - let ccEnabler = new CodeCoverageEnablerFactory().getTool("maven", ccTool.toLowerCase()); - return ccEnabler.enableCodeCoverage(buildProps); -} - -function publishCodeCoverage(isCodeCoverageOpted: boolean): Q.Promise { - var defer = Q.defer(); - if (isCodeCoverageOpted && ccReportTask) { - tl.debug("Collecting code coverage reports"); - - if (ccTool.toLowerCase() == "jacoco") { - var mvnReport = tl.tool(mvnExec); - mvnReport.arg('-f'); - if (tl.exist(reportPOMFile)) { - // multi module project - mvnReport.arg(reportPOMFile); - } - else { - mvnReport.arg(mavenPOMFile); - } - mvnReport.line(mavenOptions); - mvnReport.arg("verify"); - mvnReport.arg("-Dmaven.test.skip=true"); // This argument added to skip tests to avoid running them twice. More about this argument: http://maven.apache.org/surefire/maven-surefire-plugin/examples/skipping-tests.html - mvnReport.exec().then(function (code) { - publishCCToTfs(); - defer.resolve(true); - }).fail(function (err) { - sendCodeCoverageEmptyMsg(); - defer.reject(err); - }); - } - else { - if (ccTool.toLowerCase() == "cobertura") { - publishCCToTfs(); - } - defer.resolve(true); - } - } - else { - defer.resolve(true); - } - - return defer.promise; -} - -function publishCCToTfs() { - if (tl.exist(summaryFile)) { - tl.debug("Summary file = " + summaryFile); - tl.debug("Report directory = " + reportDirectory); - tl.debug("Publishing code coverage results to TFS"); - var ccPublisher = new tl.CodeCoveragePublisher(); - ccPublisher.publish(ccTool, summaryFile, reportDirectory, ""); - } - else { - sendCodeCoverageEmptyMsg(); - } -} - -function sendCodeCoverageEmptyMsg() { - if (failIfCoverageEmptySetting) { - tl.error(tl.loc('NoCodeCoverage')); - codeCoverageFailed = true; - } - else { - tl.warning("No code coverage found to publish. There might be a build failure resulting in no code coverage or there might be no tests."); - } -} - -// Processes Maven output for errors and warnings and reports them to the build summary. -function processMavenOutput(data) { - if (data == null) { - return; - } - - data = data.toString(); - var input = data; - var severity = 'NONE'; - if (data.charAt(0) === '[') { - var rightIndex = data.indexOf(']'); - if (rightIndex > 0) { - severity = data.substring(1, rightIndex); - - if (severity === 'ERROR' || severity === 'WARNING') { - // Try to match Posix output like: - // /Users/user/agent/_work/4/s/project/src/main/java/com/contoso/billingservice/file.java:[linenumber, columnnumber] error message here - // or Windows output like: - // /C:/a/1/s/project/src/main/java/com/contoso/billingservice/file.java:[linenumber, columnnumber] error message here - // A successful match will return an array of 5 strings - full matched string, file path, line number, column number, error message - input = input.substring(rightIndex + 1); - var match: any; - var matches: any[] = []; - var compileErrorsRegex = isWindows ? /\/([^:]+:[^:]+):\[([\d]+),([\d]+)\](.*)/g //Windows path format - leading slash with drive letter - : /([a-zA-Z0-9_ \-\/.]+):\[([0-9]+),([0-9]+)\](.*)/g; // Posix path format - while (match = compileErrorsRegex.exec(input.toString())) { - matches = matches.concat(match); - } - - if (matches != null) { - var index: number = 0; - while (index + 4 < matches.length) { - tl.debug('full match = ' + matches[index + 0]); - tl.debug('file path = ' + matches[index + 1]); - tl.debug('line number = ' + matches[index + 2]); - tl.debug('column number = ' + matches[index + 3]); - tl.debug('message = ' + matches[index + 4]); - - // task.issue is only for the xplat agent and doesn't provide the sourcepath link on the summary page. - // We should use task.logissue when the xplat agent is retired so this will work on the CoreCLR agent. - tl.command('task.issue', { - type: severity.toLowerCase(), - sourcepath: matches[index + 1], - linenumber: matches[index + 2], - columnnumber: matches[index + 3] - }, matches[index + 0]); - - index = index + 5; - } - } - } - } - } -} - -function execBuildWithRestore() { - if (restoreOriginalPomXml) { - tl.checkPath(mavenPOMFile, 'pom.xml'); - - const originalPomContents: string = fs.readFileSync(mavenPOMFile, 'utf8'); - execBuild().then(() => fs.writeFileSync(mavenPOMFile, originalPomContents)); - } else { - execBuild(); - } -} -execBuildWithRestore(); diff --git a/_generated/MavenV2/mavenutil.ts b/_generated/MavenV2/mavenutil.ts deleted file mode 100644 index 41d6b9c901e4..000000000000 --- a/_generated/MavenV2/mavenutil.ts +++ /dev/null @@ -1,316 +0,0 @@ -import Q = require('q'); -import os = require('os'); -import path = require('path'); -import fs = require('fs'); -import * as tl from 'azure-pipelines-task-lib/task'; -import * as tr from 'azure-pipelines-task-lib/toolrunner'; -import * as pkgLocationUtils from "azure-pipelines-tasks-packaging-common/locationUtilities"; -import { logError } from 'azure-pipelines-tasks-packaging-common/util'; - -import * as url from "url"; -import * as xml2js from 'xml2js'; -import * as fse from 'fs-extra'; - -let stripbom = require('strip-bom'); -let base64 = require('base-64'); -let utf8 = require('utf8'); -let uuidV4 = require("uuid/v4"); - -const accessTokenEnvSetting: string = 'ENV_MAVEN_ACCESS_TOKEN'; - -function readXmlFileAsJson(filePath: string): Q.Promise { - return readFile(filePath, 'utf-8') - .then(convertXmlStringToJson); -} - -function readFile(filePath: string, encoding: string): Q.Promise { - return Q.nfcall(fs.readFile, filePath, encoding); -} - -async function convertXmlStringToJson(xmlContent: string): Promise { - return Q.nfcall(xml2js.parseString, stripbom(xmlContent)); -} - -function writeJsonAsXmlFile(filePath: string, jsonContent: any, rootName:string): Q.Promise { - let builder = new xml2js.Builder({ - pretty: true, - headless: true, - rootName: rootName - }); - let xml = builder.buildObject(jsonContent); - xml = xml.replace(/ /g, ""); - return writeFile(filePath, xml); -} - -function writeJsonAsSettingsFile(filePath: string, jsonContent: any): Q.Promise { - return writeJsonAsXmlFile(filePath, jsonContent.settings, 'settings'); -} - -export function writeJsonAsPomFile(filePath: string, jsonContent: any): Q.Promise { - return writeJsonAsXmlFile(filePath, jsonContent.project, 'project'); -} - -function writeFile(filePath: string, fileContent: string): Q.Promise { - fse.mkdirpSync(path.dirname(filePath)); - return Q.nfcall(fs.writeFile, filePath, fileContent, { encoding: 'utf-8' }); -} - -function addPropToJson(obj: any, propName:string, value: any): void { - if (!obj) { - obj = {}; - } - - if (obj instanceof Array) { - let propNode = obj.find(o => o[propName]); - if (propNode) { - obj = propNode; - } - } - - let containsId: (o) => boolean = function(o) { - if (value && value.id) { - if (o.id instanceof Array) { - return o.id.find((v) => { - return v === value.id; - }); - } else { - return value.id === o.id; - } - } - return false; - }; - - if (propName in obj) { - if (obj[propName] instanceof Array) { - let existing = obj[propName].find(containsId); - if (existing) { - tl.warning(tl.loc('EntryAlreadyExists')); - tl.debug('Entry: ' + value.id); - } else { - obj[propName].push(value); - } - } else if (typeof obj[propName] !== 'object') { - obj[propName] = [obj[propName], value]; - } else { - let prop = {}; - prop[propName] = value; - obj[propName] = [obj[propName], value]; - } - } else if (obj instanceof Array) { - let existing = obj.find(containsId); - if (existing) { - tl.warning(tl.loc('EntryAlreadyExists')); - tl.debug('Entry: ' + value.id); - } else { - let prop = {}; - prop[propName] = value; - obj.push(prop); - } - } else { - obj[propName] = value; - } -} - -function mavenSettingsJsonInsertServer (json: any, serverJson:any) { - if (!json) { - json = {}; - } - if (!json.settings || typeof json.settings === "string") { - json.settings = {}; - } - if (!json.settings.$) { - json.settings.$ = {}; - json.settings.$['xmlns'] = 'http://maven.apache.org/SETTINGS/1.0.0'; - json.settings.$['xmlns:xsi'] = 'http://www.w3.org/2001/XMLSchema-instance'; - json.settings.$['xsi:schemaLocation'] = 'http://maven.apache.org/SETTINGS/1.0.0' + os.EOL + 'https://maven.apache.org/xsd/settings-1.0.0.xsd'; - } - if (!json.settings.servers) { - json.settings.servers = {}; - } - addPropToJson(json.settings.servers, 'server', serverJson); -} - -export function mergeCredentialsIntoSettingsXml(settingsXmlFile:string, repositories:any): Q.Promise { - tl.debug('merging server credentials into settings.xml file=' + settingsXmlFile); - if (repositories) { - let insertServer = function(json) { - for (let repository of repositories) { - tl.debug('repository: ' + JSON.stringify(repository)); - let serverJson:any = { - id: repository.id, - configuration: { - httpHeaders: { - property: { - name: 'Authorization', - value: 'Basic ${env.' + accessTokenEnvSetting + '}' - } - } - } - }; - tl.debug('inserting: ' + JSON.stringify(serverJson)); - mavenSettingsJsonInsertServer(json, serverJson); - } - tl.debug('complete json: ' + JSON.stringify(json)); - return writeJsonAsSettingsFile(settingsXmlFile, json); - }; - return readXmlFileAsJson(settingsXmlFile).then(insertServer) - .fail(function() { - let json:any = {}; - return insertServer(json); - }); - } else { - tl.debug('no repositories...exitting'); - return Q.resolve(true); - } -} - -function getAuthenticationToken() { - return base64.encode(utf8.encode('VSTS:' + pkgLocationUtils.getSystemAccessToken())); -} - -function insertRepoJsonIntoPomJson(pomJson:any, repoJson:any) { - if (!pomJson) { - pomJson = {}; - } - if (!pomJson.project || typeof pomJson.project === "string") { - pomJson.project = {}; - pomJson.project.$['xmlns'] = 'http://maven.apache.org/POM/4.0.0'; - pomJson.project.$['xmlns:xsi'] = 'http://www.w3.org/2001/XMLSchema-instance'; - pomJson.project.$['xsi:schemaLocation'] = 'http://maven.apache.org/POM/1.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd'; - } - if (!pomJson.project.repositories) { - pomJson.project.repositories = {}; - } - addPropToJson(pomJson.project.repositories, 'repository', repoJson); -} - -interface RepositoryInfo { - id:string; -} - -async function collectFeedRepositories(pomContents:string): Promise { - let pomJson = await convertXmlStringToJson(pomContents); - let repos:RepositoryInfo[] = []; - if (!pomJson) { - tl.debug('Incomplete pom: ' + pomJson); - return Promise.resolve(repos); - } - const collectionUrl = tl.getVariable("System.TeamFoundationCollectionUri"); - let packagingLocation: pkgLocationUtils.PackagingLocation; - try { - packagingLocation = await pkgLocationUtils.getPackagingUris(pkgLocationUtils.ProtocolType.Maven); - } catch (error) { - tl.debug("Unable to get packaging URIs"); - logError(error); - throw error; - } - - let packageUrl = packagingLocation.DefaultPackagingUri; - tl.debug('collectionUrl=' + collectionUrl); - tl.debug('packageUrl=' + packageUrl); - let collectionName:string = url.parse(collectionUrl).hostname.toLowerCase(); - let collectionPathName = url.parse(collectionUrl).pathname; - if(collectionPathName && collectionPathName.length > 1) { - collectionName = collectionName + collectionPathName.toLowerCase(); - tl.debug('collectionName=' + collectionName); - } - if (packageUrl) { - url.parse(packageUrl).hostname.toLowerCase(); - } else { - packageUrl = collectionName; - } - let parseRepos:(project) => void = function(project) { - if (project && project.repositories) { - for (let r of project.repositories) { - r = r instanceof Array ? r[0] : r; - if (r.repository) { - for (let repo of r.repository) { - repo = repo instanceof Array ? repo[0] : repo; - let url:string = repo.url instanceof Array ? repo.url[0] : repo.url; - if (url && (url.toLowerCase().includes(collectionName) || - url.toLowerCase().includes(packageUrl) || - packagingLocation.PackagingUris.some(uri => url.toLowerCase().startsWith(uri.toLowerCase())))) { - tl.debug('using credentials for url: ' + url); - repos.push({ - id: (repo.id && repo.id instanceof Array) - ? repo.id[0] - : repo.id - }); - } - } - } - } - } - }; - - if (pomJson.projects && pomJson.projects.project) { - for (let project of pomJson.projects.project) { - parseRepos(project); - } - } else if (pomJson.project) { - parseRepos(pomJson.project); - } else { - tl.warning(tl.loc('EffectivePomInvalid')); - } - - tl.debug('Feeds found: ' + JSON.stringify(repos)); - return Promise.resolve(repos); -} - -export function collectFeedRepositoriesFromEffectivePom(mavenOutput:string): Promise { - tl.debug('collecting account feeds from effective pom'); - const effectivePomStartTag:string = '\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - [`${mavenBin} -f pom.xml package`]: { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2_Node20/Tests/L0DefaultsWithNoHomeSet.ts b/_generated/MavenV2_Node20/Tests/L0DefaultsWithNoHomeSet.ts deleted file mode 100644 index 23e3f1fbb185..000000000000 --- a/_generated/MavenV2_Node20/Tests/L0DefaultsWithNoHomeSet.ts +++ /dev/null @@ -1,73 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Default", - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenOpts: "-Xmx2048m", - checkstyleAnalysisEnabled: false, - pmdAnalysisEnabled: false, - findbugsAnalysisEnabled: false, - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: "/home/bin/maven/bin/mvn" - }, - checkPath: { - "/home/bin/maven/bin/mvn": true, - "pom.xml": true - }, - exec: { - "/home/bin/maven/bin/mvn -version": { - code: 0, - stdout: "Maven version 1.0.0" - }, - "/home/bin/maven/bin/mvn -f pom.xml help:effective-pom": { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - "/home/bin/maven/bin/mvn -f pom.xml package": { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2_Node20/Tests/L0InvalidMavenVersionSelection.ts b/_generated/MavenV2_Node20/Tests/L0InvalidMavenVersionSelection.ts deleted file mode 100644 index 3ad9360f8ef1..000000000000 --- a/_generated/MavenV2_Node20/Tests/L0InvalidMavenVersionSelection.ts +++ /dev/null @@ -1,69 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "garbage", - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: "/home/bin/maven/bin/mvn" - }, - checkPath: { - "/home/bin/maven/bin/mvn": true, - "pom.xml": true - }, - exec: { - "/home/bin/maven/bin/mvn -version": { - code: 0, - stdout: "Maven version 1.0.0" - }, - "/home/bin/maven/bin/mvn -f pom.xml help:effective-pom": { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - "/home/bin/maven/bin/mvn -f pom.xml package": { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2_Node20/Tests/L0MavenPathInvalid.ts b/_generated/MavenV2_Node20/Tests/L0MavenPathInvalid.ts deleted file mode 100644 index b912f0074c4d..000000000000 --- a/_generated/MavenV2_Node20/Tests/L0MavenPathInvalid.ts +++ /dev/null @@ -1,72 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -const mavenPath = "/not/a/valid/maven/path/"; -const mavenBin = path.join(mavenPath, "bin", "mvn"); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Path", - mavenPath: mavenPath, - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: mavenBin - }, - checkPath: { - "pom.xml": true - }, - exec: { - [`${mavenBin} -version`]: { - code: 0, - stdout: "Maven version 1.0.0" - }, - [`${mavenBin} -f pom.xml help:effective-pom`]: { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - [`${mavenBin} -f pom.xml package`]: { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2_Node20/Tests/L0MavenPathMissing.ts b/_generated/MavenV2_Node20/Tests/L0MavenPathMissing.ts deleted file mode 100644 index 3ac8e22a57cb..000000000000 --- a/_generated/MavenV2_Node20/Tests/L0MavenPathMissing.ts +++ /dev/null @@ -1,74 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -const mavenPath = "/home/bin/maven2/"; -const mavenBin = path.join(mavenPath, "bin", "mvn"); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Path", - // Maven path missing - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: mavenBin - }, - checkPath: { - [`${mavenPath}`]: true, - [`${mavenBin}`]: true, - "pom.xml": true - }, - exec: { - [`${mavenBin} -version`]: { - code: 0, - stdout: "Maven version 1.0.0" - }, - [`${mavenBin} -f pom.xml help:effective-pom`]: { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - [`${mavenBin} -f pom.xml package`]: { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2_Node20/Tests/L0MavenVersionSelectionSetToPath.ts b/_generated/MavenV2_Node20/Tests/L0MavenVersionSelectionSetToPath.ts deleted file mode 100644 index a0187e9a7ab0..000000000000 --- a/_generated/MavenV2_Node20/Tests/L0MavenVersionSelectionSetToPath.ts +++ /dev/null @@ -1,74 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -const mavenPath = "/home/bin/maven2/"; -const mavenBin = path.join(mavenPath, "bin", "mvn"); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Path", - mavenPath: mavenPath, - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: mavenBin - }, - checkPath: { - [`${mavenPath}`]: true, - [`${mavenBin}`]: true, - "pom.xml": true - }, - exec: { - [`${mavenBin} -version`]: { - code: 0, - stdout: "Maven version 1.0.0" - }, - [`${mavenBin} -f pom.xml help:effective-pom`]: { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - [`${mavenBin} -f pom.xml package`]: { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2_Node20/Tests/L0MavenWithFeed.ts b/_generated/MavenV2_Node20/Tests/L0MavenWithFeed.ts deleted file mode 100644 index 41aebaa7bd84..000000000000 --- a/_generated/MavenV2_Node20/Tests/L0MavenWithFeed.ts +++ /dev/null @@ -1,73 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Default", - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenOpts: "-Xmx2048m", - checkstyleAnalysisEnabled: false, - pmdAnalysisEnabled: false, - findbugsAnalysisEnabled: false, - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: "/home/bin/maven/bin/mvn" - }, - checkPath: { - "/home/bin/maven/bin/mvn": true, - "pom.xml": true - }, - exec: { - "/home/bin/maven/bin/mvn -version": { - code: 0, - stdout: "Maven version 1.0.0" - }, - "/home/bin/maven/bin/mvn -f pom.xml help:effective-pom": { - code: 0, - stdout: - "Effective POMs, after inheritance, interpolation, and profiles are applied:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 4.0.0<\/modelVersion>\r\n com.microsoft.xplatalm<\/groupId>\r\n xplatalmApp<\/artifactId>\r\n 1.0-SNAPSHOT<\/version>\r\n xplatalmApp<\/name>\r\n http:\/\/maven.apache.org<\/url>\r\n \r\n UTF-8<\/project.build.sourceEncoding>\r\n <\/properties>\r\n \r\n \r\n junit<\/groupId>\r\n junit<\/artifactId>\r\n 3.8.1<\/version>\r\n test<\/scope>\r\n <\/dependency>\r\n \r\n com.microsoft.xplatalm<\/groupId>\r\n xplatalmUtil<\/artifactId>\r\n 1.0-SNAPSHOT<\/version>\r\n compile<\/scope>\r\n <\/dependency>\r\n \r\n com.google.code.findbugs<\/groupId>\r\n findbugs<\/artifactId>\r\n 3.0.0<\/version>\r\n compile<\/scope>\r\n <\/dependency>\r\n <\/dependencies>\r\n \r\n \r\n \r\n true<\/enabled>\r\n <\/releases>\r\n \r\n true<\/enabled>\r\n <\/snapshots>\r\n xplatalm-visualstudio.com-xplatmaven<\/id>\r\n https:\/\/xplatalm.visualstudio.com\/_packaging\/XPlatMaven\/maven\/v1<\/url>\r\n <\/repository>\r\n \r\n \r\n false<\/enabled>\r\n <\/snapshots>\r\n central<\/id>\r\n Central Repository<\/name>\r\n https:\/\/repo.maven.apache.org\/maven2<\/url>\r\n <\/repository>\r\n <\/repositories>\r\n \r\n \r\n \r\n never<\/updatePolicy>\r\n <\/releases>\r\n \r\n false<\/enabled>\r\n <\/snapshots>\r\n central<\/id>\r\n Central Repository<\/name>\r\n https:\/\/repo.maven.apache.org\/maven2<\/url>\r\n <\/pluginRepository>\r\n <\/pluginRepositories>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\main\\java<\/sourceDirectory>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\main\\scripts<\/scriptSourceDirectory>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\test\\java<\/testSourceDirectory>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\classes<\/outputDirectory>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\test-classes<\/testOutputDirectory>\r\n \r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\main\\resources<\/directory>\r\n <\/resource>\r\n <\/resources>\r\n \r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\test\\resources<\/directory>\r\n <\/testResource>\r\n <\/testResources>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target<\/directory>\r\n xplatalmApp-1.0-SNAPSHOT<\/finalName>\r\n \r\n \r\n \r\n maven-antrun-plugin<\/artifactId>\r\n 1.3<\/version>\r\n <\/plugin>\r\n \r\n maven-assembly-plugin<\/artifactId>\r\n 2.2-beta-5<\/version>\r\n <\/plugin>\r\n \r\n maven-dependency-plugin<\/artifactId>\r\n 2.8<\/version>\r\n <\/plugin>\r\n \r\n maven-release-plugin<\/artifactId>\r\n 2.3.2<\/version>\r\n <\/plugin>\r\n <\/plugins>\r\n <\/pluginManagement>\r\n \r\n \r\n maven-clean-plugin<\/artifactId>\r\n 2.5<\/version>\r\n \r\n \r\n default-clean<\/id>\r\n clean<\/phase>\r\n \r\n clean<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-resources-plugin<\/artifactId>\r\n 2.6<\/version>\r\n \r\n \r\n default-testResources<\/id>\r\n process-test-resources<\/phase>\r\n \r\n testResources<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n \r\n default-resources<\/id>\r\n process-resources<\/phase>\r\n \r\n resources<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-jar-plugin<\/artifactId>\r\n 2.4<\/version>\r\n \r\n \r\n default-jar<\/id>\r\n package<\/phase>\r\n \r\n jar<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-compiler-plugin<\/artifactId>\r\n 3.1<\/version>\r\n \r\n \r\n default-compile<\/id>\r\n compile<\/phase>\r\n \r\n compile<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n \r\n default-testCompile<\/id>\r\n test-compile<\/phase>\r\n \r\n testCompile<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-surefire-plugin<\/artifactId>\r\n 2.12.4<\/version>\r\n \r\n \r\n default-test<\/id>\r\n test<\/phase>\r\n \r\n test<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-install-plugin<\/artifactId>\r\n 2.4<\/version>\r\n \r\n \r\n default-install<\/id>\r\n install<\/phase>\r\n \r\n install<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-deploy-plugin<\/artifactId>\r\n 2.7<\/version>\r\n \r\n \r\n default-deploy<\/id>\r\n deploy<\/phase>\r\n \r\n deploy<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-site-plugin<\/artifactId>\r\n 3.3<\/version>\r\n \r\n \r\n default-site<\/id>\r\n site<\/phase>\r\n \r\n site<\/goal>\r\n <\/goals>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\site<\/outputDirectory>\r\n \r\n \r\n org.apache.maven.plugins<\/groupId>\r\n maven-project-info-reports-plugin<\/artifactId>\r\n <\/reportPlugin>\r\n <\/reportPlugins>\r\n <\/configuration>\r\n <\/execution>\r\n \r\n default-deploy<\/id>\r\n site-deploy<\/phase>\r\n \r\n deploy<\/goal>\r\n <\/goals>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\site<\/outputDirectory>\r\n \r\n \r\n org.apache.maven.plugins<\/groupId>\r\n maven-project-info-reports-plugin<\/artifactId>\r\n <\/reportPlugin>\r\n <\/reportPlugins>\r\n <\/configuration>\r\n <\/execution>\r\n <\/executions>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\site<\/outputDirectory>\r\n \r\n \r\n org.apache.maven.plugins<\/groupId>\r\n maven-project-info-reports-plugin<\/artifactId>\r\n <\/reportPlugin>\r\n <\/reportPlugins>\r\n <\/configuration>\r\n <\/plugin>\r\n <\/plugins>\r\n <\/build>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\site<\/outputDirectory>\r\n <\/reporting>\r\n <\/project>\r\n \r\n [INFO] ------------------------------------------------------------------------\r\n [INFO] BUILD SUCCESS\r\n [INFO] ------------------------------------------------------------------------\r\n [INFO] Total time: 0.651 s\r\n [INFO] Finished at: 2017-06-28T16:25:34-04:00\r\n [INFO] Final Memory: 7M\/18M\r\n [INFO] ------------------------------------------------------------------------" - }, - [`/home/bin/maven/bin/mvn -f pom.xml -s ${path.join(getTempDir(), "settings.xml")} package`]: { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2_Node20/Tests/L0MavenWithFeedSettings.ts b/_generated/MavenV2_Node20/Tests/L0MavenWithFeedSettings.ts deleted file mode 100644 index 6f52eb8b356b..000000000000 --- a/_generated/MavenV2_Node20/Tests/L0MavenWithFeedSettings.ts +++ /dev/null @@ -1,78 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -const options = "/o -s settings.xml /p /t"; -const optionsWithoutSettings = "/o /p /t"; -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Default", - mavenPOMFile: "pom.xml", - options: options, - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenOpts: "-Xmx2048m", - checkstyleAnalysisEnabled: false, - pmdAnalysisEnabled: false, - findbugsAnalysisEnabled: false, - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: "/home/bin/maven/bin/mvn" - }, - checkPath: { - "/home/bin/maven/bin/mvn": true, - "pom.xml": true - }, - exec: { - "/home/bin/maven/bin/mvn -version": { - code: 0, - stdout: "Maven version 1.0.0" - }, - [`/home/bin/maven/bin/mvn -f pom.xml help:effective-pom ${options}`]: { - code: 0, - stdout: - "Effective POMs, after inheritance, interpolation, and profiles are applied:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 4.0.0<\/modelVersion>\r\n com.microsoft.xplatalm<\/groupId>\r\n xplatalmApp<\/artifactId>\r\n 1.0-SNAPSHOT<\/version>\r\n xplatalmApp<\/name>\r\n http:\/\/maven.apache.org<\/url>\r\n \r\n UTF-8<\/project.build.sourceEncoding>\r\n <\/properties>\r\n \r\n \r\n junit<\/groupId>\r\n junit<\/artifactId>\r\n 3.8.1<\/version>\r\n test<\/scope>\r\n <\/dependency>\r\n \r\n com.microsoft.xplatalm<\/groupId>\r\n xplatalmUtil<\/artifactId>\r\n 1.0-SNAPSHOT<\/version>\r\n compile<\/scope>\r\n <\/dependency>\r\n \r\n com.google.code.findbugs<\/groupId>\r\n findbugs<\/artifactId>\r\n 3.0.0<\/version>\r\n compile<\/scope>\r\n <\/dependency>\r\n <\/dependencies>\r\n \r\n \r\n \r\n true<\/enabled>\r\n <\/releases>\r\n \r\n true<\/enabled>\r\n <\/snapshots>\r\n xplatalm-visualstudio.com-xplatmaven<\/id>\r\n https:\/\/xplatalm.visualstudio.com\/_packaging\/XPlatMaven\/maven\/v1<\/url>\r\n <\/repository>\r\n \r\n \r\n false<\/enabled>\r\n <\/snapshots>\r\n central<\/id>\r\n Central Repository<\/name>\r\n https:\/\/repo.maven.apache.org\/maven2<\/url>\r\n <\/repository>\r\n <\/repositories>\r\n \r\n \r\n \r\n never<\/updatePolicy>\r\n <\/releases>\r\n \r\n false<\/enabled>\r\n <\/snapshots>\r\n central<\/id>\r\n Central Repository<\/name>\r\n https:\/\/repo.maven.apache.org\/maven2<\/url>\r\n <\/pluginRepository>\r\n <\/pluginRepositories>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\main\\java<\/sourceDirectory>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\main\\scripts<\/scriptSourceDirectory>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\test\\java<\/testSourceDirectory>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\classes<\/outputDirectory>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\test-classes<\/testOutputDirectory>\r\n \r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\main\\resources<\/directory>\r\n <\/resource>\r\n <\/resources>\r\n \r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\test\\resources<\/directory>\r\n <\/testResource>\r\n <\/testResources>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target<\/directory>\r\n xplatalmApp-1.0-SNAPSHOT<\/finalName>\r\n \r\n \r\n \r\n maven-antrun-plugin<\/artifactId>\r\n 1.3<\/version>\r\n <\/plugin>\r\n \r\n maven-assembly-plugin<\/artifactId>\r\n 2.2-beta-5<\/version>\r\n <\/plugin>\r\n \r\n maven-dependency-plugin<\/artifactId>\r\n 2.8<\/version>\r\n <\/plugin>\r\n \r\n maven-release-plugin<\/artifactId>\r\n 2.3.2<\/version>\r\n <\/plugin>\r\n <\/plugins>\r\n <\/pluginManagement>\r\n \r\n \r\n maven-clean-plugin<\/artifactId>\r\n 2.5<\/version>\r\n \r\n \r\n default-clean<\/id>\r\n clean<\/phase>\r\n \r\n clean<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-resources-plugin<\/artifactId>\r\n 2.6<\/version>\r\n \r\n \r\n default-testResources<\/id>\r\n process-test-resources<\/phase>\r\n \r\n testResources<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n \r\n default-resources<\/id>\r\n process-resources<\/phase>\r\n \r\n resources<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-jar-plugin<\/artifactId>\r\n 2.4<\/version>\r\n \r\n \r\n default-jar<\/id>\r\n package<\/phase>\r\n \r\n jar<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-compiler-plugin<\/artifactId>\r\n 3.1<\/version>\r\n \r\n \r\n default-compile<\/id>\r\n compile<\/phase>\r\n \r\n compile<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n \r\n default-testCompile<\/id>\r\n test-compile<\/phase>\r\n \r\n testCompile<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-surefire-plugin<\/artifactId>\r\n 2.12.4<\/version>\r\n \r\n \r\n default-test<\/id>\r\n test<\/phase>\r\n \r\n test<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-install-plugin<\/artifactId>\r\n 2.4<\/version>\r\n \r\n \r\n default-install<\/id>\r\n install<\/phase>\r\n \r\n install<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-deploy-plugin<\/artifactId>\r\n 2.7<\/version>\r\n \r\n \r\n default-deploy<\/id>\r\n deploy<\/phase>\r\n \r\n deploy<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-site-plugin<\/artifactId>\r\n 3.3<\/version>\r\n \r\n \r\n default-site<\/id>\r\n site<\/phase>\r\n \r\n site<\/goal>\r\n <\/goals>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\site<\/outputDirectory>\r\n \r\n \r\n org.apache.maven.plugins<\/groupId>\r\n maven-project-info-reports-plugin<\/artifactId>\r\n <\/reportPlugin>\r\n <\/reportPlugins>\r\n <\/configuration>\r\n <\/execution>\r\n \r\n default-deploy<\/id>\r\n site-deploy<\/phase>\r\n \r\n deploy<\/goal>\r\n <\/goals>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\site<\/outputDirectory>\r\n \r\n \r\n org.apache.maven.plugins<\/groupId>\r\n maven-project-info-reports-plugin<\/artifactId>\r\n <\/reportPlugin>\r\n <\/reportPlugins>\r\n <\/configuration>\r\n <\/execution>\r\n <\/executions>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\site<\/outputDirectory>\r\n \r\n \r\n org.apache.maven.plugins<\/groupId>\r\n maven-project-info-reports-plugin<\/artifactId>\r\n <\/reportPlugin>\r\n <\/reportPlugins>\r\n <\/configuration>\r\n <\/plugin>\r\n <\/plugins>\r\n <\/build>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\site<\/outputDirectory>\r\n <\/reporting>\r\n <\/project>\r\n \r\n [INFO] ------------------------------------------------------------------------\r\n [INFO] BUILD SUCCESS\r\n [INFO] ------------------------------------------------------------------------\r\n [INFO] Total time: 0.651 s\r\n [INFO] Finished at: 2017-06-28T16:25:34-04:00\r\n [INFO] Final Memory: 7M\/18M\r\n [INFO] ------------------------------------------------------------------------" - }, - [`/home/bin/maven/bin/mvn -f pom.xml -s ${path.join(getTempDir(), "settings.xml")} ${optionsWithoutSettings} package`]: { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - }, - cwd: { - "cwd": "/home" - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2_Node20/Tests/L0MavenWithFeedSettingsAndSpaces.ts b/_generated/MavenV2_Node20/Tests/L0MavenWithFeedSettingsAndSpaces.ts deleted file mode 100644 index 40b9bf948a45..000000000000 --- a/_generated/MavenV2_Node20/Tests/L0MavenWithFeedSettingsAndSpaces.ts +++ /dev/null @@ -1,80 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -const optionsWithEscaping = `-DoptWithEscaping="{\\\"serverUri\\\": \\\"http://elasticsearch:9200\\\",\\\"username\\\": \\\"elastic\\\", \\\"password\\\": \\\"changeme\\\", \\\"connectionTimeout\\\": 30000}"`; -const optionsWithoutEscaping = `-DoptWithEscaping={\"serverUri\": \"http://elasticsearch:9200\",\"username\": \"elastic\", \"password\": \"changeme\", \"connectionTimeout\": 30000}`; -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Default", - mavenPOMFile: "pom.xml", - options: optionsWithEscaping, - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenOpts: "-Xmx2048m", - checkstyleAnalysisEnabled: false, - pmdAnalysisEnabled: false, - findbugsAnalysisEnabled: false, - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: "/home/bin/maven/bin/mvn" - }, - checkPath: { - "/home/bin/maven/bin/mvn": true, - "pom.xml": true - }, - exec: { - "/home/bin/maven/bin/mvn -version": { - code: 0, - stdout: "Maven version 1.0.0" - }, - - [`/home/bin/maven/bin/mvn -f pom.xml help:effective-pom ${optionsWithoutEscaping}`]: { - code: 0, - stdout: - "Effective POMs, after inheritance, interpolation, and profiles are applied:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 4.0.0<\/modelVersion>\r\n com.microsoft.xplatalm<\/groupId>\r\n xplatalmApp<\/artifactId>\r\n 1.0-SNAPSHOT<\/version>\r\n xplatalmApp<\/name>\r\n http:\/\/maven.apache.org<\/url>\r\n \r\n UTF-8<\/project.build.sourceEncoding>\r\n <\/properties>\r\n \r\n \r\n junit<\/groupId>\r\n junit<\/artifactId>\r\n 3.8.1<\/version>\r\n test<\/scope>\r\n <\/dependency>\r\n \r\n com.microsoft.xplatalm<\/groupId>\r\n xplatalmUtil<\/artifactId>\r\n 1.0-SNAPSHOT<\/version>\r\n compile<\/scope>\r\n <\/dependency>\r\n \r\n com.google.code.findbugs<\/groupId>\r\n findbugs<\/artifactId>\r\n 3.0.0<\/version>\r\n compile<\/scope>\r\n <\/dependency>\r\n <\/dependencies>\r\n \r\n \r\n \r\n true<\/enabled>\r\n <\/releases>\r\n \r\n true<\/enabled>\r\n <\/snapshots>\r\n xplatalm-visualstudio.com-xplatmaven<\/id>\r\n https:\/\/xplatalm.visualstudio.com\/_packaging\/XPlatMaven\/maven\/v1<\/url>\r\n <\/repository>\r\n \r\n \r\n false<\/enabled>\r\n <\/snapshots>\r\n central<\/id>\r\n Central Repository<\/name>\r\n https:\/\/repo.maven.apache.org\/maven2<\/url>\r\n <\/repository>\r\n <\/repositories>\r\n \r\n \r\n \r\n never<\/updatePolicy>\r\n <\/releases>\r\n \r\n false<\/enabled>\r\n <\/snapshots>\r\n central<\/id>\r\n Central Repository<\/name>\r\n https:\/\/repo.maven.apache.org\/maven2<\/url>\r\n <\/pluginRepository>\r\n <\/pluginRepositories>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\main\\java<\/sourceDirectory>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\main\\scripts<\/scriptSourceDirectory>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\test\\java<\/testSourceDirectory>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\classes<\/outputDirectory>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\test-classes<\/testOutputDirectory>\r\n \r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\main\\resources<\/directory>\r\n <\/resource>\r\n <\/resources>\r\n \r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\src\\test\\resources<\/directory>\r\n <\/testResource>\r\n <\/testResources>\r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target<\/directory>\r\n xplatalmApp-1.0-SNAPSHOT<\/finalName>\r\n \r\n \r\n \r\n maven-antrun-plugin<\/artifactId>\r\n 1.3<\/version>\r\n <\/plugin>\r\n \r\n maven-assembly-plugin<\/artifactId>\r\n 2.2-beta-5<\/version>\r\n <\/plugin>\r\n \r\n maven-dependency-plugin<\/artifactId>\r\n 2.8<\/version>\r\n <\/plugin>\r\n \r\n maven-release-plugin<\/artifactId>\r\n 2.3.2<\/version>\r\n <\/plugin>\r\n <\/plugins>\r\n <\/pluginManagement>\r\n \r\n \r\n maven-clean-plugin<\/artifactId>\r\n 2.5<\/version>\r\n \r\n \r\n default-clean<\/id>\r\n clean<\/phase>\r\n \r\n clean<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-resources-plugin<\/artifactId>\r\n 2.6<\/version>\r\n \r\n \r\n default-testResources<\/id>\r\n process-test-resources<\/phase>\r\n \r\n testResources<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n \r\n default-resources<\/id>\r\n process-resources<\/phase>\r\n \r\n resources<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-jar-plugin<\/artifactId>\r\n 2.4<\/version>\r\n \r\n \r\n default-jar<\/id>\r\n package<\/phase>\r\n \r\n jar<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-compiler-plugin<\/artifactId>\r\n 3.1<\/version>\r\n \r\n \r\n default-compile<\/id>\r\n compile<\/phase>\r\n \r\n compile<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n \r\n default-testCompile<\/id>\r\n test-compile<\/phase>\r\n \r\n testCompile<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-surefire-plugin<\/artifactId>\r\n 2.12.4<\/version>\r\n \r\n \r\n default-test<\/id>\r\n test<\/phase>\r\n \r\n test<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-install-plugin<\/artifactId>\r\n 2.4<\/version>\r\n \r\n \r\n default-install<\/id>\r\n install<\/phase>\r\n \r\n install<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-deploy-plugin<\/artifactId>\r\n 2.7<\/version>\r\n \r\n \r\n default-deploy<\/id>\r\n deploy<\/phase>\r\n \r\n deploy<\/goal>\r\n <\/goals>\r\n <\/execution>\r\n <\/executions>\r\n <\/plugin>\r\n \r\n maven-site-plugin<\/artifactId>\r\n 3.3<\/version>\r\n \r\n \r\n default-site<\/id>\r\n site<\/phase>\r\n \r\n site<\/goal>\r\n <\/goals>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\site<\/outputDirectory>\r\n \r\n \r\n org.apache.maven.plugins<\/groupId>\r\n maven-project-info-reports-plugin<\/artifactId>\r\n <\/reportPlugin>\r\n <\/reportPlugins>\r\n <\/configuration>\r\n <\/execution>\r\n \r\n default-deploy<\/id>\r\n site-deploy<\/phase>\r\n \r\n deploy<\/goal>\r\n <\/goals>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\site<\/outputDirectory>\r\n \r\n \r\n org.apache.maven.plugins<\/groupId>\r\n maven-project-info-reports-plugin<\/artifactId>\r\n <\/reportPlugin>\r\n <\/reportPlugins>\r\n <\/configuration>\r\n <\/execution>\r\n <\/executions>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\site<\/outputDirectory>\r\n \r\n \r\n org.apache.maven.plugins<\/groupId>\r\n maven-project-info-reports-plugin<\/artifactId>\r\n <\/reportPlugin>\r\n <\/reportPlugins>\r\n <\/configuration>\r\n <\/plugin>\r\n <\/plugins>\r\n <\/build>\r\n \r\n D:\\VSTS-Agent\\_work\\12\\s\\xplatalmApp\\target\\site<\/outputDirectory>\r\n <\/reporting>\r\n <\/project>\r\n \r\n [INFO] ------------------------------------------------------------------------\r\n [INFO] BUILD SUCCESS\r\n [INFO] ------------------------------------------------------------------------\r\n [INFO] Total time: 0.651 s\r\n [INFO] Finished at: 2017-06-28T16:25:34-04:00\r\n [INFO] Final Memory: 7M\/18M\r\n [INFO] ------------------------------------------------------------------------" - }, - [`/home/bin/maven/bin/mvn -f pom.xml -s ${path.join(getTempDir(), "settings.xml")} ${optionsWithoutEscaping} package`]: { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - }, - cwd: { - "cwd": "/home" - } -}; - -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2_Node20/Tests/L0MavenWithoutFeed.ts b/_generated/MavenV2_Node20/Tests/L0MavenWithoutFeed.ts deleted file mode 100644 index 9602d2a7b282..000000000000 --- a/_generated/MavenV2_Node20/Tests/L0MavenWithoutFeed.ts +++ /dev/null @@ -1,64 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Default", - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenFeedAuthenticate: false -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: "/home/bin/maven/bin/mvn" - }, - checkPath: { - "/home/bin/maven/bin/mvn": true, - "pom.xml": true - }, - exec: { - "/home/bin/maven/bin/mvn -version": { - code: 0, - stdout: "Maven version 1.0.0" - }, - "/home/bin/maven/bin/mvn -f pom.xml package": { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2_Node20/Tests/L0MavenWithoutFeedSkipEffectivePom.ts b/_generated/MavenV2_Node20/Tests/L0MavenWithoutFeedSkipEffectivePom.ts deleted file mode 100644 index 4d02f1e917fd..000000000000 --- a/_generated/MavenV2_Node20/Tests/L0MavenWithoutFeedSkipEffectivePom.ts +++ /dev/null @@ -1,65 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Default", - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenFeedAuthenticate: false, - skipEffectivePom: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: "/home/bin/maven/bin/mvn" - }, - checkPath: { - "/home/bin/maven/bin/mvn": true, - "pom.xml": true - }, - exec: { - "/home/bin/maven/bin/mvn -version": { - code: 0, - stdout: "Maven version 1.0.0" - }, - "/home/bin/maven/bin/mvn -f pom.xml package": { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2_Node20/Tests/L0MissingGoals.ts b/_generated/MavenV2_Node20/Tests/L0MissingGoals.ts deleted file mode 100644 index 23b20d19e9a0..000000000000 --- a/_generated/MavenV2_Node20/Tests/L0MissingGoals.ts +++ /dev/null @@ -1,73 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Default", - mavenPOMFile: "pom.xml", - options: "", - // goals: "package", // Goals not set - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenOpts: "-Xmx2048m", - checkstyleAnalysisEnabled: false, - pmdAnalysisEnabled: false, - findbugsAnalysisEnabled: false, - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: "/home/bin/maven/bin/mvn" - }, - checkPath: { - "/home/bin/maven/bin/mvn": true, - "pom.xml": true - }, - exec: { - "/home/bin/maven/bin/mvn -version": { - code: 0, - stdout: "Maven version 1.0.0" - }, - "/home/bin/maven/bin/mvn -f pom.xml help:effective-pom": { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - "/home/bin/maven/bin/mvn -f pom.xml package": { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2_Node20/Tests/L0MissingJavaHomeSelection.ts b/_generated/MavenV2_Node20/Tests/L0MissingJavaHomeSelection.ts deleted file mode 100644 index 8aa05e515a3e..000000000000 --- a/_generated/MavenV2_Node20/Tests/L0MissingJavaHomeSelection.ts +++ /dev/null @@ -1,73 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Default", - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - // javaHomeSelection: "JDKVersion", // Java Home Selection not set - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenOpts: "-Xmx2048m", - checkstyleAnalysisEnabled: false, - pmdAnalysisEnabled: false, - findbugsAnalysisEnabled: false, - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: "/home/bin/maven/bin/mvn" - }, - checkPath: { - "/home/bin/maven/bin/mvn": true, - "pom.xml": true - }, - exec: { - "/home/bin/maven/bin/mvn -version": { - code: 0, - stdout: "Maven version 1.0.0" - }, - "/home/bin/maven/bin/mvn -f pom.xml help:effective-pom": { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - "/home/bin/maven/bin/mvn -f pom.xml package": { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2_Node20/Tests/L0MissingMavenFeedAuthenticate.ts b/_generated/MavenV2_Node20/Tests/L0MissingMavenFeedAuthenticate.ts deleted file mode 100644 index e64a5cb42e9d..000000000000 --- a/_generated/MavenV2_Node20/Tests/L0MissingMavenFeedAuthenticate.ts +++ /dev/null @@ -1,64 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Default", - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml" -}; -setInputs(taskRunner, inputs); - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: "/home/bin/maven/bin/mvn" - }, - checkPath: { - "/home/bin/maven/bin/mvn": true, - "pom.xml": true - }, - exec: { - "/home/bin/maven/bin/mvn -version": { - code: 0, - stdout: "Maven version 1.0.0" - }, - "/home/bin/maven/bin/mvn -f pom.xml help:effective-pom": { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - "/home/bin/maven/bin/mvn -f pom.xml package": { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2_Node20/Tests/L0MissingMavenVersionSelection.ts b/_generated/MavenV2_Node20/Tests/L0MissingMavenVersionSelection.ts deleted file mode 100644 index d98e1102645c..000000000000 --- a/_generated/MavenV2_Node20/Tests/L0MissingMavenVersionSelection.ts +++ /dev/null @@ -1,65 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -// Set Inputs -const inputs: MavenTaskInputs = { - // mavenVersionSelection not specified - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: "/home/bin/maven/bin/mvn" - }, - checkPath: { - "/home/bin/maven/bin/mvn": true, - "pom.xml": true - }, - exec: { - "/home/bin/maven/bin/mvn -version": { - code: 0, - stdout: "Maven version 1.0.0" - }, - "/home/bin/maven/bin/mvn -f pom.xml help:effective-pom": { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - "/home/bin/maven/bin/mvn -f pom.xml package": { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2_Node20/Tests/L0MissingTestResultsFiles.ts b/_generated/MavenV2_Node20/Tests/L0MissingTestResultsFiles.ts deleted file mode 100644 index 34d14f6e7de6..000000000000 --- a/_generated/MavenV2_Node20/Tests/L0MissingTestResultsFiles.ts +++ /dev/null @@ -1,73 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Default", - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - // testResultsFiles: "**/TEST-*.xml", Test Results Files not set - mavenOpts: "-Xmx2048m", - checkstyleAnalysisEnabled: false, - pmdAnalysisEnabled: false, - findbugsAnalysisEnabled: false, - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: "/home/bin/maven/bin/mvn" - }, - checkPath: { - "/home/bin/maven/bin/mvn": true, - "pom.xml": true - }, - exec: { - "/home/bin/maven/bin/mvn -version": { - code: 0, - stdout: "Maven version 1.0.0" - }, - "/home/bin/maven/bin/mvn -f pom.xml help:effective-pom": { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - "/home/bin/maven/bin/mvn -f pom.xml package": { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2_Node20/Tests/L0PublishJUnitTestResults.ts b/_generated/MavenV2_Node20/Tests/L0PublishJUnitTestResults.ts deleted file mode 100644 index 23e3f1fbb185..000000000000 --- a/_generated/MavenV2_Node20/Tests/L0PublishJUnitTestResults.ts +++ /dev/null @@ -1,73 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Default", - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenOpts: "-Xmx2048m", - checkstyleAnalysisEnabled: false, - pmdAnalysisEnabled: false, - findbugsAnalysisEnabled: false, - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: "/home/bin/maven/bin/mvn" - }, - checkPath: { - "/home/bin/maven/bin/mvn": true, - "pom.xml": true - }, - exec: { - "/home/bin/maven/bin/mvn -version": { - code: 0, - stdout: "Maven version 1.0.0" - }, - "/home/bin/maven/bin/mvn -f pom.xml help:effective-pom": { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - "/home/bin/maven/bin/mvn -f pom.xml package": { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2_Node20/Tests/L0RestoreOriginalPomXml.ts b/_generated/MavenV2_Node20/Tests/L0RestoreOriginalPomXml.ts deleted file mode 100644 index 91dfce1ad99e..000000000000 --- a/_generated/MavenV2_Node20/Tests/L0RestoreOriginalPomXml.ts +++ /dev/null @@ -1,138 +0,0 @@ -import * as path from 'path'; -import * as fs from 'fs'; - -import { TaskMockRunner } from 'azure-pipelines-task-lib/mock-run'; -import { TaskLibAnswers } from 'azure-pipelines-task-lib/mock-answer'; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from './TestUtils'; - -const taskPath = path.join(__dirname, '..', 'maventask.js'); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: 'Default', - mavenPOMFile: 'pom.xml', - options: '', - goals: 'package', - javaHomeSelection: 'JDKVersion', - jdkVersion: 'default', - publishJUnitResults: true, - testResultsFiles: '**/TEST-*.xml', - mavenOpts: '-Xmx2048m', - checkstyleAnalysisEnabled: false, - pmdAnalysisEnabled: false, - findbugsAnalysisEnabled: false, - mavenFeedAuthenticate: true, - codeCoverageTool: 'JaCoCo', - restoreOriginalPomXml: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env.M2_HOME; // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: '/home/bin/maven/bin/mvn' - }, - checkPath: { - '/home/bin/maven/bin/mvn': true, - 'pom.xml': true - }, - exec: { - '/home/bin/maven/bin/mvn -version': { - code: 0, - stdout: 'Maven version 1.0.0' - }, - '/home/bin/maven/bin/mvn -f pom.xml help:effective-pom': { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - '/home/bin/maven/bin/mvn -f pom.xml clean package': { - code: 0, - stdout: 'Maven package done' - }, - '/home/bin/maven/bin/mvn -f CCReportPomA4D283EG.xml verify -Dmaven.test.skip=true': { - code: 0, - stdout: 'something' - } - }, - findMatch: { - '**/TEST-*.xml': [ - '/user/build/fun/test-123.xml' - ] - }, - exist: { - [path.join(getTempDir(), '.mavenInfo')] : true, - [path.join('CCReport43F6D5EF', 'jacoco.xml')]: true, - 'CCReportPomA4D283EG.xml': true - }, - rmRF: { - target: { success: true }, - CCReport43F6D5EF: { success: true }, - 'CCReportPomA4D283EG.xml': { success: true } - } -}; -taskRunner.setAnswers(answers); - -taskRunner.registerMock('azure-pipelines-tasks-codecoverage-tools/codecoveragefactory', { - CodeCoverageEnablerFactory: class { - public getTool(buildTool: string, ccTool: string) { - if (buildTool.toLowerCase() !== 'maven' || ccTool.toLowerCase() !== 'jacoco') { - throw new Error(`Should use maven-jacoco but called ${buildTool}-${ccTool}`); - } - - return { - enableCodeCoverage() { - console.log('Writing modified pom.xml contents'); - return Promise.resolve(true); - } - }; - } - } -}); - -const originalPomXmlContents = 'original pom.xml contents'; - -const fsClone = Object.assign({}, fs); -Object.assign(fsClone, { - readFileSync(filename: string, encoding: BufferEncoding): string { - if (filename === 'pom.xml' && encoding === 'utf8') { - console.log('Reading original pom.xml'); - return originalPomXmlContents; - } - - return fs.readFileSync(filename, encoding); - }, - writeFileSync(filename: string, data: any): void { - if (filename === 'pom.xml') { - if (data === originalPomXmlContents) { - console.log('Writing original pom.xml contents'); - return; - } - - throw new Error(`Trying to write unknown data into pom.xml; data=${data}`); - } - - fs.writeFileSync(filename, data); - } -}); -taskRunner.registerMock('fs', fsClone); - -// We only register this mock to prevent import conflicts with already mocked fs -taskRunner.registerMock('fs-extra', { - mkdirpSync(dir: string): void { - // This should never be called - } -}); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2_Node20/Tests/L0SetM2Home.ts b/_generated/MavenV2_Node20/Tests/L0SetM2Home.ts deleted file mode 100644 index 9ea68068d3b7..000000000000 --- a/_generated/MavenV2_Node20/Tests/L0SetM2Home.ts +++ /dev/null @@ -1,75 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -const mavenPath = "/home/bin/maven2/"; -const mavenBin = path.join(mavenPath, "bin", "mvn"); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Path", - mavenPath: mavenPath, - mavenSetM2Home: "true", - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: mavenBin - }, - checkPath: { - [`${mavenPath}`]: true, - [`${mavenBin}`]: true, - "pom.xml": true - }, - exec: { - [`${mavenBin} -version`]: { - code: 0, - stdout: "Maven version 1.0.0" - }, - [`${mavenBin} -f pom.xml help:effective-pom`]: { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - [`${mavenBin} -f pom.xml package`]: { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2_Node20/Tests/L0SetM2HomeInvalid.ts b/_generated/MavenV2_Node20/Tests/L0SetM2HomeInvalid.ts deleted file mode 100644 index 11db3065b1c2..000000000000 --- a/_generated/MavenV2_Node20/Tests/L0SetM2HomeInvalid.ts +++ /dev/null @@ -1,75 +0,0 @@ -import * as path from "path"; - -import { TaskLibAnswers } from "azure-pipelines-task-lib/mock-answer"; -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { getTempDir, initializeTest, MavenTaskInputs, setInputs } from "./TestUtils"; - -const taskPath = path.join(__dirname, "..", "maventask.js"); - -const taskRunner = new TaskMockRunner(taskPath); - -// Common initial setup -initializeTest(taskRunner); - -const mavenPath = "/home/bin/maven2/"; -const mavenBin = path.join(mavenPath, "bin", "mvn"); - -// Set Inputs -const inputs: MavenTaskInputs = { - mavenVersionSelection: "Path", - mavenPath: mavenPath, - mavenSetM2Home: "notABoolean", - mavenPOMFile: "pom.xml", - options: "", - goals: "package", - javaHomeSelection: "JDKVersion", - jdkVersion: "default", - publishJUnitResults: true, - testResultsFiles: "**/TEST-*.xml", - mavenFeedAuthenticate: true -}; -setInputs(taskRunner, inputs); - -// Set up environment variables (task-lib does not support mocking getVariable) -// Env vars in the mock framework must replace '.' with '_' -delete process.env['M2_HOME'] // Remove in case process running this test has it already set - -// Provide answers for task mock -const answers: TaskLibAnswers = { - which: { - mvn: mavenBin - }, - checkPath: { - [`${mavenPath}`]: true, - [`${mavenBin}`]: true, - "pom.xml": true - }, - exec: { - [`${mavenBin} -version`]: { - code: 0, - stdout: "Maven version 1.0.0" - }, - [`${mavenBin} -f pom.xml help:effective-pom`]: { - code: 0, - stdout: - '\r\n\r\n\r\n\r\nEffective POMs, after inheritance, interpolation, and profiles are applied:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 0.927 s\r\n[INFO] Finished at: 2017-06-29T09:43:41-04:00\r\n[INFO] Final Memory: 7M/18M\r\n[INFO] ------------------------------------------------------------------------' - }, - [`${mavenBin} -f pom.xml package`]: { - code: 0, - stdout: "Maven package done" - }, - }, - findMatch: { - "**/TEST-*.xml": [ - "/user/build/fun/test-123.xml" - ] - }, - exist: { - [path.join(getTempDir(), ".mavenInfo")] : true - } -}; -taskRunner.setAnswers(answers); - -// Run task -taskRunner.run(); diff --git a/_generated/MavenV2_Node20/Tests/TestUtils.ts b/_generated/MavenV2_Node20/Tests/TestUtils.ts deleted file mode 100644 index 5dbf881f3be6..000000000000 --- a/_generated/MavenV2_Node20/Tests/TestUtils.ts +++ /dev/null @@ -1,95 +0,0 @@ -import * as fs from "fs"; -import * as path from "path"; - -import { TaskMockRunner } from "azure-pipelines-task-lib/mock-run"; - -import { registerLocationHelpersMock } from 'azure-pipelines-tasks-packaging-common/Tests/MockHelper'; - -export interface MavenTaskInputs { - mavenVersionSelection?: string; - mavenPath?: string; - mavenPOMFile?: string; - mavenSetM2Home?: string; - options?: string; - goals?: string; - javaHomeSelection?: string; - jdkVersion?: string; - publishJUnitResults?: boolean; - testResultsFiles?: string; - mavenOpts?: string; - checkstyleAnalysisEnabled?: boolean; - pmdAnalysisEnabled?: boolean; - findbugsAnalysisEnabled?: boolean; - spotBugsAnalysisEnabled?: boolean; - spotBugsGoal?: string; - spotBugsMavenPluginVersion?: string; - mavenFeedAuthenticate?: boolean; - skipEffectivePom?: boolean; - codeCoverageTool?: string; - restoreOriginalPomXml?: boolean; -} - -export const setInputs = ( - taskRunner: TaskMockRunner, - inputs: MavenTaskInputs -) => { - for (const key in inputs) { - const value = inputs[key]; - if (value || typeof value === "boolean") { // We still want false to show up as input - taskRunner.setInput(key, String(value)); - } - } -}; - -const deleteFolderRecursive = (path): void => { - if (fs.existsSync(path)) { - fs.readdirSync(path).forEach(function (file, index) { - let curPath: string = path + '/' + file; - if (fs.lstatSync(curPath).isDirectory()) { // recurse - deleteFolderRecursive(curPath); - } else { // delete file - fs.unlinkSync(curPath); - } - }); - fs.rmdirSync(path); - } -} - -export const getTempDir = (): string => { - return path.join(__dirname, '_temp'); -}; - -export function cleanTemporaryFolders(): void { - deleteFolderRecursive(getTempDir()); -} - -export function createTemporaryFolders(): void { - let testTempDir = getTempDir(); - let sqTempDir: string = path.join(testTempDir, '.sqAnalysis'); - - if (!fs.existsSync(testTempDir)) { - fs.mkdirSync(testTempDir); - } - - if (!fs.existsSync(sqTempDir)) { - fs.mkdirSync(sqTempDir); - } -} - -export const initializeTest = (taskRunner: TaskMockRunner): void => { - process.env["SYSTEM_TEAMFOUNDATIONCOLLECTIONURI"] = "https://xplatalm.visualstudio.com/"; - - const tempDirectory = getTempDir(); - process.env["AGENT_TEMPDIRECTORY"] = tempDirectory; - process.env['BUILD_SOURCESDIRECTORY'] = '/user/build'; - process.env['SYSTEM_DEFAULTWORKINGDIRECTORY'] = "/user/build"; - - process.env['HOME'] = '/users/test'; //replace with mock of setVariable when task-lib has the support - - // Set up mocks for common packages - registerLocationHelpersMock(taskRunner); - - // Prevent file writes - taskRunner.registerMockExport("writefile", (file: string, data: string | Buffer, options?: string | fs.WriteFileOptions): void => {}) - taskRunner.registerMockExport("cp", (source: string, dest: string, options?: string, continueOnError?: boolean): void => {}) -} diff --git a/_generated/MavenV2_Node20/icon.png b/_generated/MavenV2_Node20/icon.png deleted file mode 100644 index 3ed5672612c1..000000000000 Binary files a/_generated/MavenV2_Node20/icon.png and /dev/null differ diff --git a/_generated/MavenV2_Node20/icon.svg b/_generated/MavenV2_Node20/icon.svg deleted file mode 100644 index c2bb6a7998f6..000000000000 --- a/_generated/MavenV2_Node20/icon.svg +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/_generated/MavenV2_Node20/make.json b/_generated/MavenV2_Node20/make.json deleted file mode 100644 index 38d57bfadcc6..000000000000 --- a/_generated/MavenV2_Node20/make.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "rm": [ - { - "items": [ - "node_modules/azure-pipelines-tasks-codeanalysis-common/node_modules/azure-pipelines-task-lib", - "node_modules/azure-pipelines-tasks-codeanalysis-common/node_modules/azure-pipeline-tool-lib", - "node_modules/azure-pipelines-tasks-codecoverage-tools/node_modules/azure-pipelines-task-lib", - "node_modules/azure-pipelines-tasks-codecoverage-tools/node_modules/azure-pipeline-tool-lib", - "node_modules/azure-pipelines-tasks-java-common/node_modules/azure-pipelines-task-lib", - "node_modules/azure-pipelines-tasks-java-common/node_modules/azure-pipeline-tool-lib", - "node_modules/azure-pipelines-tasks-packaging-common/node_modules/azure-pipelines-task-lib", - "node_modules/azure-pipelines-tasks-packaging-common/node_modules/azure-pipeline-tool-lib", - "node_modules/azure-pipelines-tool-lib/node_modules/azure-pipelines-task-lib", - "node_modules/azure-pipelines-tasks-codeanalysis-common/node_modules/mockery", - "node_modules/azure-pipelines-tool-lib/node_modules/mockery", - "node_modules/@types/mockery", - "node_modules/mockery" - ], - "options": "-Rf" - } - ] -} \ No newline at end of file diff --git a/_generated/MavenV2_Node20/maventask.ts b/_generated/MavenV2_Node20/maventask.ts deleted file mode 100644 index f12fe7a3c0cf..000000000000 --- a/_generated/MavenV2_Node20/maventask.ts +++ /dev/null @@ -1,557 +0,0 @@ - -import Q = require('q'); -import os = require('os'); -import path = require('path'); -import * as fs from 'fs'; - -import * as tl from 'azure-pipelines-task-lib/task'; -import {ToolRunner} from 'azure-pipelines-task-lib/toolrunner'; -import {CodeCoverageEnablerFactory} from 'azure-pipelines-tasks-codecoverage-tools/codecoveragefactory'; -import {CodeAnalysisOrchestrator} from "azure-pipelines-tasks-codeanalysis-common/Common/CodeAnalysisOrchestrator"; -import {BuildOutput, BuildEngine} from 'azure-pipelines-tasks-codeanalysis-common/Common/BuildOutput'; -import {CheckstyleTool} from 'azure-pipelines-tasks-codeanalysis-common/Common/CheckstyleTool'; -import {PmdTool} from 'azure-pipelines-tasks-codeanalysis-common/Common/PmdTool'; -import {FindbugsTool} from 'azure-pipelines-tasks-codeanalysis-common/Common/FindbugsTool'; -import javacommons = require('azure-pipelines-tasks-java-common/java-common'); -import util = require('./mavenutil'); - -const TESTRUN_SYSTEM = "VSTS - maven"; -var isWindows = os.type().match(/^Win/); - -// Set up localization resource file -tl.setResourcePath(path.join( __dirname, 'task.json')); - -var mavenPOMFile: string = tl.getPathInput('mavenPOMFile', true, true); -var javaHomeSelection: string = tl.getInput('javaHomeSelection', true); -var mavenVersionSelection: string = tl.getInput('mavenVersionSelection', true); -var mavenGoals: string[] = tl.getDelimitedInput('goals', ' ', true); // This assumes that goals cannot contain spaces -var mavenOptions: string = tl.getInput('options', false); // Options can have spaces and quotes so we need to treat this as one string and not try to parse it -var publishJUnitResults: string = tl.getInput('publishJUnitResults'); -var testResultsFiles: string = tl.getInput('testResultsFiles', true); -var ccTool = tl.getInput('codeCoverageTool'); -var authenticateFeed = tl.getBoolInput('mavenFeedAuthenticate', true); -var isCodeCoverageOpted = (typeof ccTool != "undefined" && ccTool && ccTool.toLowerCase() != 'none'); -var failIfCoverageEmptySetting: boolean = tl.getBoolInput('failIfCoverageEmpty'); -const restoreOriginalPomXml: boolean = tl.getBoolInput('restoreOriginalPomXml'); -var codeCoverageFailed: boolean = false; -var summaryFile: string = null; -var reportDirectory: string = null; -var reportPOMFile: string = null; -var execFileJacoco: string = null; -var ccReportTask: string = null; - -let buildOutput: BuildOutput = new BuildOutput(tl.getVariable('System.DefaultWorkingDirectory'), BuildEngine.Maven); -var codeAnalysisOrchestrator:CodeAnalysisOrchestrator = new CodeAnalysisOrchestrator( - [new CheckstyleTool(buildOutput, 'checkstyleAnalysisEnabled'), - new FindbugsTool(buildOutput, 'findbugsAnalysisEnabled'), - new PmdTool(buildOutput, 'pmdAnalysisEnabled')]); - -// Determine the version and path of Maven to use -var mvnExec: string = ''; -if (mavenVersionSelection == 'Path') { - // The path to Maven has been explicitly specified - tl.debug('Using Maven path from user input'); - var mavenPath = tl.getPathInput('mavenPath', true, true); - mvnExec = path.join(mavenPath, 'bin', 'mvn'); - - // Set the M2_HOME variable to a custom Maven installation path? - if (tl.getBoolInput('mavenSetM2Home')) { - tl.setVariable('M2_HOME', mavenPath); - } -} -else { - // mavenVersionSelection is set to 'Default' - - // First, look for Maven in the M2_HOME variable - var m2HomeEnvVar: string = null; - m2HomeEnvVar = tl.getVariable('M2_HOME'); - if (m2HomeEnvVar) { - tl.debug('Using M2_HOME environment variable value for Maven path: ' + m2HomeEnvVar); - mvnExec = path.join(m2HomeEnvVar, 'bin', 'mvn'); - } - // Second, look for Maven in the system path - else { - tl.debug('M2_HOME environment variable is not set, so Maven will be sought in the system path'); - mvnExec = tl.which('mvn', true); - } -} - -// On Windows, append .cmd or .bat to the executable as necessary -if (isWindows && - !mvnExec.toLowerCase().endsWith('.cmd') && - !mvnExec.toLowerCase().endsWith('.bat')) { - if (tl.exist(mvnExec + '.cmd')) { - // Maven 3 uses mvn.cmd - mvnExec += '.cmd'; - } - else if (tl.exist(mvnExec + '.bat')) { - // Maven 2 uses mvn.bat - mvnExec += '.bat'; - } -} - -tl.debug('Maven executable: ' + mvnExec); -tl.checkPath(mvnExec, 'maven path'); - -// Set JAVA_HOME to the JDK version (default, 1.7, 1.8, etc.) or the path specified by the user -var specifiedJavaHome: string = null; -var javaTelemetryData = null; -if (javaHomeSelection == 'JDKVersion') { - // Set JAVA_HOME to the specified JDK version (default, 1.7, 1.8, etc.) - tl.debug('Using the specified JDK version to find and set JAVA_HOME'); - var jdkVersion: string = tl.getInput('jdkVersion'); - var jdkArchitecture: string = tl.getInput('jdkArchitecture'); - javaTelemetryData = { "jdkVersion": jdkVersion }; - if (jdkVersion != 'default') { - specifiedJavaHome = javacommons.findJavaHome(jdkVersion, jdkArchitecture); - } -} -else { - // Set JAVA_HOME to the path specified by the user - tl.debug('Setting JAVA_HOME to the path specified by user input'); - var jdkUserInputPath: string = tl.getPathInput('jdkUserInputPath', true, true); - specifiedJavaHome = jdkUserInputPath; - javaTelemetryData = { "jdkVersion": "custom" }; -} -javacommons.publishJavaTelemetry('Maven', javaTelemetryData); - -// Set JAVA_HOME as determined above (if different than default) -if (specifiedJavaHome) { - tl.setVariable('JAVA_HOME', specifiedJavaHome); -} - -async function execBuild() { - // Maven task orchestration occurs as follows: - // 1. Check that Maven exists by executing it to retrieve its version. - // 2. Apply any goals for static code analysis tools selected by the user. - // 3. Run Maven. Compilation or test errors will cause this to fail. - // In case the build has failed, the analysis will still succeed but the report will have less data. - // 4. Attempt to collate and upload static code analysis build summaries and artifacts. - // 5. Always publish test results even if tests fail, causing this task to fail. - // 6. If #3 or #4 above failed, exit with an error code to mark the entire step as failed. - - ccReportTask = await execEnableCodeCoverage(); - var userRunFailed: boolean = false; - var codeAnalysisFailed: boolean = false; - - // Setup tool runner that executes Maven only to retrieve its version - var mvnGetVersion = tl.tool(mvnExec); - mvnGetVersion.arg('-version'); - - configureMavenOpts(); - - // 1. Check that Maven exists by executing it to retrieve its version. - let settingsXmlFile: string = null; - await mvnGetVersion.exec() - .fail(function (err) { - console.error("Maven is not installed on the agent"); - tl.setResult(tl.TaskResult.Failed, "Build failed."); // tl.exit sets the step result but does not stop execution - process.exit(1); - }) - .then(function (code) { - // Setup tool runner to execute Maven goals - if (authenticateFeed) { - var mvnRun = tl.tool(mvnExec); - mvnRun.arg('-f'); - mvnRun.arg(mavenPOMFile); - mvnRun.arg('help:effective-pom'); - if(mavenOptions) { - mvnRun.line(mavenOptions); - } - return util.collectFeedRepositoriesFromEffectivePom(mvnRun.execSync()['stdout']) - .then(function (repositories) { - if (!repositories || !repositories.length) { - tl.debug('No built-in repositories were found in pom.xml'); - util.publishMavenInfo(tl.loc('AuthenticationNotNecessary')); - return Q.resolve(true); - } - tl.debug('Repositories: ' + JSON.stringify(repositories)); - let mavenFeedInfo:string = ''; - for (let i = 0; i < repositories.length; ++i) { - if (repositories[i].id) { - mavenFeedInfo = mavenFeedInfo.concat(tl.loc('UsingAuthFeed')).concat(repositories[i].id + '\n'); - } - } - util.publishMavenInfo(mavenFeedInfo); - - settingsXmlFile = path.join(tl.getVariable('Agent.TempDirectory'), 'settings.xml'); - tl.debug('checking to see if there are settings.xml in use'); - let options: RegExpMatchArray = mavenOptions ? mavenOptions.match(/([^" ]*("([^"\\]*(\\.[^"\\]*)*)")[^" ]*)|[^" ]+/g) : undefined; - if (options) { - mavenOptions = ''; - for (let i = 0; i < options.length; ++i) { - if ((options[i] === '--settings' || options[i] === '-s') && (i + 1) < options.length) { - i++; // increment to the file name - let suppliedSettingsXml: string = path.resolve(tl.cwd(), options[i]); - // Avoid copying settings file to itself - if (path.relative(suppliedSettingsXml, settingsXmlFile) !== '') { - tl.cp(suppliedSettingsXml, settingsXmlFile, '-f'); - } else { - tl.debug('Settings file is already in the correct location. Copying skipped.'); - } - tl.debug('using settings file: ' + settingsXmlFile); - } else { - if (mavenOptions) { - mavenOptions = mavenOptions.concat(' '); - } - mavenOptions = mavenOptions.concat(options[i]); - } - } - } - return util.mergeCredentialsIntoSettingsXml(settingsXmlFile, repositories); - }) - .catch(function (err) { - return Q.reject(err); - }); - } else { - tl.debug('Built-in Maven feed authentication is disabled'); - return Q.resolve(true); - } - }) - .fail(function (err) { - tl.error(err.message); - userRunFailed = true; // Record the error and continue - }) - .then(function (code) { - // Setup tool runner to execute Maven goals - var mvnRun = tl.tool(mvnExec); - mvnRun.arg('-f'); - mvnRun.arg(mavenPOMFile); - if (settingsXmlFile) { - mvnRun.arg('-s'); - mvnRun.arg(settingsXmlFile); - } - mvnRun.line(mavenOptions); - if (isCodeCoverageOpted && mavenGoals.indexOf('clean') == -1) { - mvnRun.arg('clean'); - } - mvnRun.arg(mavenGoals); - - // 2. Apply any goals for static code analysis tools selected by the user. - mvnRun = applySonarQubeArgs(mvnRun, execFileJacoco); - mvnRun = codeAnalysisOrchestrator.configureBuild(mvnRun); - - // Read Maven standard output - mvnRun.on('stdout', function (data) { - processMavenOutput(data); - }); - - // 3. Run Maven. Compilation or test errors will cause this to fail. - return mvnRun.exec(util.getExecOptions()); - }) - .fail(function (err) { - console.error(err.message); - userRunFailed = true; // Record the error and continue - }) - .then(function (code: any) { - if (code && code['code'] != 0) { - userRunFailed = true; - } - // 4. Attempt to collate and upload static code analysis build summaries and artifacts. - - // The files won't be created if the build failed, and the user should probably fix their build first. - if (userRunFailed) { - console.error('Could not retrieve code analysis results - Maven run failed.'); - return; - } - - // Otherwise, start uploading relevant build summaries. - tl.debug('Processing code analysis results'); - return codeAnalysisOrchestrator.publishCodeAnalysisResults(); - }) - .fail(function (err) { - console.error(err.message); - // Looks like: "Code analysis failed." - console.error(tl.loc('codeAnalysis_ToolFailed', 'Code')); - codeAnalysisFailed = true; - }) - .then(function () { - // 5. Always publish test results even if tests fail, causing this task to fail. - if (publishJUnitResults == 'true') { - publishJUnitTestResults(testResultsFiles); - } - publishCodeCoverage(isCodeCoverageOpted).then(function() { - tl.debug('publishCodeCoverage userRunFailed=' + userRunFailed); - - // 6. If #3 or #4 above failed, exit with an error code to mark the entire step as failed. - if (userRunFailed || codeAnalysisFailed || codeCoverageFailed) { - tl.setResult(tl.TaskResult.Failed, "Build failed."); // Set task failure - } - else { - tl.setResult(tl.TaskResult.Succeeded, "Build Succeeded."); // Set task success - } - }) - .fail(function (err) { - tl.setResult(tl.TaskResult.Failed, "Build failed."); // Set task failure - }); - - // Do not force an exit as publishing results is async and it won't have finished - }) - .fail(function (err) { - // Set task failure if get exception at step 5 - console.error(err.message); - tl.setResult(tl.TaskResult.Failed, "Build failed."); - }); -} - -function applySonarQubeArgs(mvnsq: ToolRunner | any, execFileJacoco?: string): ToolRunner | any { - const isJacocoCoverageReportXML: boolean = tl.getBoolInput('isJacocoCoverageReportXML', false); - - if (!tl.getBoolInput('sqAnalysisEnabled', false)) { - return mvnsq; - } - - // Apply argument for the JaCoCo tool, if enabled - if (typeof execFileJacoco != "undefined" && execFileJacoco) { - mvnsq.arg('-Dsonar.jacoco.reportPaths=' + execFileJacoco); - } - - if (isJacocoCoverageReportXML && summaryFile) { - mvnsq.arg(`-Dsonar.coverage.jacoco.xmlReportPaths=${summaryFile}`); - } - - switch (tl.getInput('sqMavenPluginVersionChoice')) { - case 'latest': - mvnsq.arg(`org.sonarsource.scanner.maven:sonar-maven-plugin:RELEASE:sonar`); - break; - case 'pom': - mvnsq.arg(`sonar:sonar`); - break; - } - - return mvnsq; -} - -// Configure the JVM associated with this run. -function configureMavenOpts() { - let mavenOptsValue: string = tl.getInput('mavenOpts'); - - if (mavenOptsValue) { - process.env['MAVEN_OPTS'] = mavenOptsValue; - tl.debug(`MAVEN_OPTS is now set to ${mavenOptsValue}`); - } -} - -// Publishes JUnit test results from files matching the specified pattern. -function publishJUnitTestResults(testResultsFiles: string) { - var matchingJUnitResultFiles: string[] = undefined; - - // Check for pattern in testResultsFiles - if (testResultsFiles.indexOf('*') >= 0 || testResultsFiles.indexOf('?') >= 0) { - tl.debug('Pattern found in testResultsFiles parameter'); - var buildFolder = tl.getVariable('System.DefaultWorkingDirectory'); - tl.debug(`buildFolder=${buildFolder}`); - const allowBrokenSymbolicLinks = tl.getBoolInput('allowBrokenSymbolicLinks'); - tl.debug(`allowBrokenSymbolicLinks=${allowBrokenSymbolicLinks}`); - matchingJUnitResultFiles = tl.findMatch(buildFolder, testResultsFiles, - { - followSymbolicLinks: true, - followSpecifiedSymbolicLink: true, - allowBrokenSymbolicLinks, - }, - { matchBase: true }); - } - else { - tl.debug('No pattern found in testResultsFiles parameter'); - matchingJUnitResultFiles = [testResultsFiles]; - } - - if (!matchingJUnitResultFiles || matchingJUnitResultFiles.length == 0) { - tl.warning('No test result files matching ' + testResultsFiles + ' were found, so publishing JUnit test results is being skipped.'); - return 0; - } - - var tp = new tl.TestPublisher("JUnit"); - const testRunTitle = tl.getInput('testRunTitle'); - tp.publish(matchingJUnitResultFiles, 'true', "", "", testRunTitle, 'true', TESTRUN_SYSTEM); -} - -function execEnableCodeCoverage(): Q.Promise { - return enableCodeCoverage() - .then(function (resp) { - tl.debug("Enabled code coverage successfully"); - return "CodeCoverage_9064e1d0"; - }).catch(function (err) { - tl.warning("Failed to enable code coverage: " + err); - return ""; - }); -}; - -function enableCodeCoverage() : Q.Promise { - if(!isCodeCoverageOpted){ - return Q.resolve(true); - } - - var classFilter: string = tl.getInput('classFilter'); - var classFilesDirectories: string = tl.getInput('classFilesDirectories'); - var sourceDirectories: string = tl.getInput('srcDirectories'); - var buildRootPath = path.dirname(mavenPOMFile); - // appending with small guid to keep it unique. Avoiding full guid to ensure no long path issues. - var reportPOMFileName = "CCReportPomA4D283EG.xml"; - reportPOMFile = path.join(buildRootPath, reportPOMFileName); - var targetDirectory = path.join(buildRootPath, "target"); - - if (ccTool.toLowerCase() == "jacoco") { - var reportDirectoryName = "CCReport43F6D5EF"; - var summaryFileName = "jacoco.xml"; - } - else if (ccTool.toLowerCase() == "cobertura") { - var reportDirectoryName = path.join("target", "site"); - reportDirectoryName = path.join(reportDirectoryName, "cobertura"); - var summaryFileName = "coverage.xml"; - } - - reportDirectory = path.join(buildRootPath, reportDirectoryName); - summaryFile = path.join(reportDirectory, summaryFileName); - - if (ccTool.toLowerCase() == "jacoco") { - execFileJacoco = path.join(reportDirectory, "jacoco.exec"); - } - - // clean any previously generated files. - tl.rmRF(targetDirectory); - tl.rmRF(reportDirectory); - tl.rmRF(reportPOMFile); - - var buildProps: { [key: string]: string } = {}; - buildProps['buildfile'] = mavenPOMFile; - buildProps['classfilter'] = classFilter; - buildProps['classfilesdirectories'] = classFilesDirectories; - buildProps['sourcedirectories'] = sourceDirectories; - buildProps['summaryfile'] = summaryFile; - buildProps['reportdirectory'] = reportDirectory; - buildProps['reportbuildfile'] = reportPOMFile; - - let ccEnabler = new CodeCoverageEnablerFactory().getTool("maven", ccTool.toLowerCase()); - return ccEnabler.enableCodeCoverage(buildProps); -} - -function publishCodeCoverage(isCodeCoverageOpted: boolean): Q.Promise { - var defer = Q.defer(); - if (isCodeCoverageOpted && ccReportTask) { - tl.debug("Collecting code coverage reports"); - - if (ccTool.toLowerCase() == "jacoco") { - var mvnReport = tl.tool(mvnExec); - mvnReport.arg('-f'); - if (tl.exist(reportPOMFile)) { - // multi module project - mvnReport.arg(reportPOMFile); - } - else { - mvnReport.arg(mavenPOMFile); - } - mvnReport.line(mavenOptions); - mvnReport.arg("verify"); - mvnReport.arg("-Dmaven.test.skip=true"); // This argument added to skip tests to avoid running them twice. More about this argument: http://maven.apache.org/surefire/maven-surefire-plugin/examples/skipping-tests.html - mvnReport.exec().then(function (code) { - publishCCToTfs(); - defer.resolve(true); - }).fail(function (err) { - sendCodeCoverageEmptyMsg(); - defer.reject(err); - }); - } - else { - if (ccTool.toLowerCase() == "cobertura") { - publishCCToTfs(); - } - defer.resolve(true); - } - } - else { - defer.resolve(true); - } - - return defer.promise; -} - -function publishCCToTfs() { - if (tl.exist(summaryFile)) { - tl.debug("Summary file = " + summaryFile); - tl.debug("Report directory = " + reportDirectory); - tl.debug("Publishing code coverage results to TFS"); - var ccPublisher = new tl.CodeCoveragePublisher(); - ccPublisher.publish(ccTool, summaryFile, reportDirectory, ""); - } - else { - sendCodeCoverageEmptyMsg(); - } -} - -function sendCodeCoverageEmptyMsg() { - if (failIfCoverageEmptySetting) { - tl.error(tl.loc('NoCodeCoverage')); - codeCoverageFailed = true; - } - else { - tl.warning("No code coverage found to publish. There might be a build failure resulting in no code coverage or there might be no tests."); - } -} - -// Processes Maven output for errors and warnings and reports them to the build summary. -function processMavenOutput(data) { - if (data == null) { - return; - } - - data = data.toString(); - var input = data; - var severity = 'NONE'; - if (data.charAt(0) === '[') { - var rightIndex = data.indexOf(']'); - if (rightIndex > 0) { - severity = data.substring(1, rightIndex); - - if (severity === 'ERROR' || severity === 'WARNING') { - // Try to match Posix output like: - // /Users/user/agent/_work/4/s/project/src/main/java/com/contoso/billingservice/file.java:[linenumber, columnnumber] error message here - // or Windows output like: - // /C:/a/1/s/project/src/main/java/com/contoso/billingservice/file.java:[linenumber, columnnumber] error message here - // A successful match will return an array of 5 strings - full matched string, file path, line number, column number, error message - input = input.substring(rightIndex + 1); - var match: any; - var matches: any[] = []; - var compileErrorsRegex = isWindows ? /\/([^:]+:[^:]+):\[([\d]+),([\d]+)\](.*)/g //Windows path format - leading slash with drive letter - : /([a-zA-Z0-9_ \-\/.]+):\[([0-9]+),([0-9]+)\](.*)/g; // Posix path format - while (match = compileErrorsRegex.exec(input.toString())) { - matches = matches.concat(match); - } - - if (matches != null) { - var index: number = 0; - while (index + 4 < matches.length) { - tl.debug('full match = ' + matches[index + 0]); - tl.debug('file path = ' + matches[index + 1]); - tl.debug('line number = ' + matches[index + 2]); - tl.debug('column number = ' + matches[index + 3]); - tl.debug('message = ' + matches[index + 4]); - - // task.issue is only for the xplat agent and doesn't provide the sourcepath link on the summary page. - // We should use task.logissue when the xplat agent is retired so this will work on the CoreCLR agent. - tl.command('task.issue', { - type: severity.toLowerCase(), - sourcepath: matches[index + 1], - linenumber: matches[index + 2], - columnnumber: matches[index + 3] - }, matches[index + 0]); - - index = index + 5; - } - } - } - } - } -} - -function execBuildWithRestore() { - if (restoreOriginalPomXml) { - tl.checkPath(mavenPOMFile, 'pom.xml'); - - const originalPomContents: string = fs.readFileSync(mavenPOMFile, 'utf8'); - execBuild().then(() => fs.writeFileSync(mavenPOMFile, originalPomContents)); - } else { - execBuild(); - } -} -execBuildWithRestore(); diff --git a/_generated/MavenV2_Node20/mavenutil.ts b/_generated/MavenV2_Node20/mavenutil.ts deleted file mode 100644 index 41d6b9c901e4..000000000000 --- a/_generated/MavenV2_Node20/mavenutil.ts +++ /dev/null @@ -1,316 +0,0 @@ -import Q = require('q'); -import os = require('os'); -import path = require('path'); -import fs = require('fs'); -import * as tl from 'azure-pipelines-task-lib/task'; -import * as tr from 'azure-pipelines-task-lib/toolrunner'; -import * as pkgLocationUtils from "azure-pipelines-tasks-packaging-common/locationUtilities"; -import { logError } from 'azure-pipelines-tasks-packaging-common/util'; - -import * as url from "url"; -import * as xml2js from 'xml2js'; -import * as fse from 'fs-extra'; - -let stripbom = require('strip-bom'); -let base64 = require('base-64'); -let utf8 = require('utf8'); -let uuidV4 = require("uuid/v4"); - -const accessTokenEnvSetting: string = 'ENV_MAVEN_ACCESS_TOKEN'; - -function readXmlFileAsJson(filePath: string): Q.Promise { - return readFile(filePath, 'utf-8') - .then(convertXmlStringToJson); -} - -function readFile(filePath: string, encoding: string): Q.Promise { - return Q.nfcall(fs.readFile, filePath, encoding); -} - -async function convertXmlStringToJson(xmlContent: string): Promise { - return Q.nfcall(xml2js.parseString, stripbom(xmlContent)); -} - -function writeJsonAsXmlFile(filePath: string, jsonContent: any, rootName:string): Q.Promise { - let builder = new xml2js.Builder({ - pretty: true, - headless: true, - rootName: rootName - }); - let xml = builder.buildObject(jsonContent); - xml = xml.replace(/ /g, ""); - return writeFile(filePath, xml); -} - -function writeJsonAsSettingsFile(filePath: string, jsonContent: any): Q.Promise { - return writeJsonAsXmlFile(filePath, jsonContent.settings, 'settings'); -} - -export function writeJsonAsPomFile(filePath: string, jsonContent: any): Q.Promise { - return writeJsonAsXmlFile(filePath, jsonContent.project, 'project'); -} - -function writeFile(filePath: string, fileContent: string): Q.Promise { - fse.mkdirpSync(path.dirname(filePath)); - return Q.nfcall(fs.writeFile, filePath, fileContent, { encoding: 'utf-8' }); -} - -function addPropToJson(obj: any, propName:string, value: any): void { - if (!obj) { - obj = {}; - } - - if (obj instanceof Array) { - let propNode = obj.find(o => o[propName]); - if (propNode) { - obj = propNode; - } - } - - let containsId: (o) => boolean = function(o) { - if (value && value.id) { - if (o.id instanceof Array) { - return o.id.find((v) => { - return v === value.id; - }); - } else { - return value.id === o.id; - } - } - return false; - }; - - if (propName in obj) { - if (obj[propName] instanceof Array) { - let existing = obj[propName].find(containsId); - if (existing) { - tl.warning(tl.loc('EntryAlreadyExists')); - tl.debug('Entry: ' + value.id); - } else { - obj[propName].push(value); - } - } else if (typeof obj[propName] !== 'object') { - obj[propName] = [obj[propName], value]; - } else { - let prop = {}; - prop[propName] = value; - obj[propName] = [obj[propName], value]; - } - } else if (obj instanceof Array) { - let existing = obj.find(containsId); - if (existing) { - tl.warning(tl.loc('EntryAlreadyExists')); - tl.debug('Entry: ' + value.id); - } else { - let prop = {}; - prop[propName] = value; - obj.push(prop); - } - } else { - obj[propName] = value; - } -} - -function mavenSettingsJsonInsertServer (json: any, serverJson:any) { - if (!json) { - json = {}; - } - if (!json.settings || typeof json.settings === "string") { - json.settings = {}; - } - if (!json.settings.$) { - json.settings.$ = {}; - json.settings.$['xmlns'] = 'http://maven.apache.org/SETTINGS/1.0.0'; - json.settings.$['xmlns:xsi'] = 'http://www.w3.org/2001/XMLSchema-instance'; - json.settings.$['xsi:schemaLocation'] = 'http://maven.apache.org/SETTINGS/1.0.0' + os.EOL + 'https://maven.apache.org/xsd/settings-1.0.0.xsd'; - } - if (!json.settings.servers) { - json.settings.servers = {}; - } - addPropToJson(json.settings.servers, 'server', serverJson); -} - -export function mergeCredentialsIntoSettingsXml(settingsXmlFile:string, repositories:any): Q.Promise { - tl.debug('merging server credentials into settings.xml file=' + settingsXmlFile); - if (repositories) { - let insertServer = function(json) { - for (let repository of repositories) { - tl.debug('repository: ' + JSON.stringify(repository)); - let serverJson:any = { - id: repository.id, - configuration: { - httpHeaders: { - property: { - name: 'Authorization', - value: 'Basic ${env.' + accessTokenEnvSetting + '}' - } - } - } - }; - tl.debug('inserting: ' + JSON.stringify(serverJson)); - mavenSettingsJsonInsertServer(json, serverJson); - } - tl.debug('complete json: ' + JSON.stringify(json)); - return writeJsonAsSettingsFile(settingsXmlFile, json); - }; - return readXmlFileAsJson(settingsXmlFile).then(insertServer) - .fail(function() { - let json:any = {}; - return insertServer(json); - }); - } else { - tl.debug('no repositories...exitting'); - return Q.resolve(true); - } -} - -function getAuthenticationToken() { - return base64.encode(utf8.encode('VSTS:' + pkgLocationUtils.getSystemAccessToken())); -} - -function insertRepoJsonIntoPomJson(pomJson:any, repoJson:any) { - if (!pomJson) { - pomJson = {}; - } - if (!pomJson.project || typeof pomJson.project === "string") { - pomJson.project = {}; - pomJson.project.$['xmlns'] = 'http://maven.apache.org/POM/4.0.0'; - pomJson.project.$['xmlns:xsi'] = 'http://www.w3.org/2001/XMLSchema-instance'; - pomJson.project.$['xsi:schemaLocation'] = 'http://maven.apache.org/POM/1.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd'; - } - if (!pomJson.project.repositories) { - pomJson.project.repositories = {}; - } - addPropToJson(pomJson.project.repositories, 'repository', repoJson); -} - -interface RepositoryInfo { - id:string; -} - -async function collectFeedRepositories(pomContents:string): Promise { - let pomJson = await convertXmlStringToJson(pomContents); - let repos:RepositoryInfo[] = []; - if (!pomJson) { - tl.debug('Incomplete pom: ' + pomJson); - return Promise.resolve(repos); - } - const collectionUrl = tl.getVariable("System.TeamFoundationCollectionUri"); - let packagingLocation: pkgLocationUtils.PackagingLocation; - try { - packagingLocation = await pkgLocationUtils.getPackagingUris(pkgLocationUtils.ProtocolType.Maven); - } catch (error) { - tl.debug("Unable to get packaging URIs"); - logError(error); - throw error; - } - - let packageUrl = packagingLocation.DefaultPackagingUri; - tl.debug('collectionUrl=' + collectionUrl); - tl.debug('packageUrl=' + packageUrl); - let collectionName:string = url.parse(collectionUrl).hostname.toLowerCase(); - let collectionPathName = url.parse(collectionUrl).pathname; - if(collectionPathName && collectionPathName.length > 1) { - collectionName = collectionName + collectionPathName.toLowerCase(); - tl.debug('collectionName=' + collectionName); - } - if (packageUrl) { - url.parse(packageUrl).hostname.toLowerCase(); - } else { - packageUrl = collectionName; - } - let parseRepos:(project) => void = function(project) { - if (project && project.repositories) { - for (let r of project.repositories) { - r = r instanceof Array ? r[0] : r; - if (r.repository) { - for (let repo of r.repository) { - repo = repo instanceof Array ? repo[0] : repo; - let url:string = repo.url instanceof Array ? repo.url[0] : repo.url; - if (url && (url.toLowerCase().includes(collectionName) || - url.toLowerCase().includes(packageUrl) || - packagingLocation.PackagingUris.some(uri => url.toLowerCase().startsWith(uri.toLowerCase())))) { - tl.debug('using credentials for url: ' + url); - repos.push({ - id: (repo.id && repo.id instanceof Array) - ? repo.id[0] - : repo.id - }); - } - } - } - } - } - }; - - if (pomJson.projects && pomJson.projects.project) { - for (let project of pomJson.projects.project) { - parseRepos(project); - } - } else if (pomJson.project) { - parseRepos(pomJson.project); - } else { - tl.warning(tl.loc('EffectivePomInvalid')); - } - - tl.debug('Feeds found: ' + JSON.stringify(repos)); - return Promise.resolve(repos); -} - -export function collectFeedRepositoriesFromEffectivePom(mavenOutput:string): Promise { - tl.debug('collecting account feeds from effective pom'); - const effectivePomStartTag:string = '