From a95bd1a52714f831d469770a90df4f46078833b9 Mon Sep 17 00:00:00 2001 From: Ole Martin Pettersen Date: Tue, 1 Nov 2022 12:35:18 +0100 Subject: [PATCH 1/4] Upgrading to @pnp/sp v2 --- package-lock.json | 541 ++++++++++------------------- package.json | 10 +- src/handlers/clientsidepages.ts | 31 +- src/handlers/composedlook.ts | 10 +- src/handlers/contenttypes.ts | 13 +- src/handlers/customactions.ts | 6 +- src/handlers/exports.ts | 5 +- src/handlers/features.ts | 4 +- src/handlers/files.ts | 27 +- src/handlers/handlerbase.ts | 6 +- src/handlers/hooks.ts | 41 +-- src/handlers/lists.ts | 41 +-- src/handlers/navigation.ts | 13 +- src/handlers/propertybagentries.ts | 4 +- src/handlers/sitefields.ts | 11 +- src/handlers/websettings.ts | 4 +- src/index.ts | 1 - src/provisioningconfig.ts | 4 +- src/schema.ts | 20 +- src/util/index.ts | 3 +- src/webprovisioner.ts | 13 +- 21 files changed, 313 insertions(+), 495 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9af9a77..260d909 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,6 +14,21 @@ "@jridgewell/trace-mapping": "^0.3.9" } }, + "@azure/msal-common": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-7.6.0.tgz", + "integrity": "sha512-XqfbglUTVLdkHQ8F9UQJtKseRr3sSnr9ysboxtoswvaMVaEfvyLtMoHv9XdKUfOc0qKGzNgRFd9yRjIWVepl6Q==" + }, + "@azure/msal-node": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.14.2.tgz", + "integrity": "sha512-t3whVhhLdZVVeDEtUPD2Wqfa8BDi3EDMnpWp8dbuRW0GhUpikBfs4AQU0Fe6P9zS87n9LpmUTLrIcPEEuzkvfA==", + "requires": { + "@azure/msal-common": "^7.6.0", + "jsonwebtoken": "^8.5.1", + "uuid": "^8.3.0" + } + }, "@babel/code-frame": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", @@ -874,48 +889,111 @@ } }, "@pnp/common": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/@pnp/common/-/common-1.3.6.tgz", - "integrity": "sha512-o81CC685vdcwTbLkNe89y2pc3xqyq0dMqhI5F0dJhZE0D7NNhyYAPhVjpS+yRLwALDgMTMpkghKAOCrtHGXcOw==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/@pnp/common/-/common-2.14.0.tgz", + "integrity": "sha512-GtiV/GfnDtQpoCCTr1GsGpLNI3QC6CRSDduSMbnqFO7uW0MCQXH2xh126/UceH4mwP3BVjNUhi7JZCMEa1lB2A==", "requires": { - "adal-angular": "1.0.17", - "tslib": "1.10.0" + "tslib": "2.3.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + } } }, "@pnp/logging": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/@pnp/logging/-/logging-1.3.6.tgz", - "integrity": "sha512-LM/WYAd4YjhBub4C6PkNKc1r1F+lqr6lSTYokTOg4srJsvcyhXiJ++cB80YrOEqDvifbzR9WZWWm480+IzD9cA==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/@pnp/logging/-/logging-2.14.0.tgz", + "integrity": "sha512-M/7PyG6zf962KI96ORtmnKp+a45x2Wcy5llsz0+i4FYoWRZuXA9UY5ahIO34sRSYB7FZw5tVwmxSlvQKVLWF3w==", "requires": { - "tslib": "1.10.0" + "tslib": "2.3.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + } } }, "@pnp/nodejs": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/@pnp/nodejs/-/nodejs-1.3.6.tgz", - "integrity": "sha512-RvAktjolZyfnYSfc63pg1kAHiTPSO7wJMHcjzxH23ZL4ICtm4rhwQ87Jafr3EgW62lIu2X4GnRc/bsSVFPqxag==", - "requires": { - "adal-node": "0.1.28", - "https-proxy-agent": "2.2.2", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/@pnp/nodejs/-/nodejs-2.14.0.tgz", + "integrity": "sha512-0SaMEjTJuUElOoN7IEBArydRF7Fojfo9oUUxwKuhx9qQguLAOXIaXaB5pOSiFl6tMSoZTenZHoqft6vIdzbTug==", + "requires": { + "@azure/msal-node": "^1.2.0", + "@pnp/common": "2.14.0", + "@pnp/logging": "2.14.0", + "@pnp/odata": "2.14.0", + "@pnp/sp": "2.14.0", + "adal-node": "0.2.2", + "https-proxy-agent": "^5.0.0", "jsonwebtoken": "8.5.1", - "node-fetch": "2.6.0", - "tslib": "1.10.0" + "node-fetch": "2.6.1", + "tslib": "2.3.0" + }, + "dependencies": { + "@pnp/logging": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/@pnp/logging/-/logging-2.14.0.tgz", + "integrity": "sha512-M/7PyG6zf962KI96ORtmnKp+a45x2Wcy5llsz0+i4FYoWRZuXA9UY5ahIO34sRSYB7FZw5tVwmxSlvQKVLWF3w==", + "requires": { + "tslib": "2.3.0" + } + }, + "@pnp/sp": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/@pnp/sp/-/sp-2.14.0.tgz", + "integrity": "sha512-DP1Hajw6gm2vFfNd5iStYTaSVt1aggGQ0rBpOU+5B9tfJb9WBVOlpwQ8jfvRZXNjc9TRGxFTnO1oH29E4MP2UA==", + "requires": { + "@pnp/common": "2.14.0", + "@pnp/logging": "2.14.0", + "@pnp/odata": "2.14.0", + "tslib": "2.3.0" + } + }, + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + } } }, "@pnp/odata": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/@pnp/odata/-/odata-1.3.6.tgz", - "integrity": "sha512-5WM8GQQ3C+wOzBXFcEZKZM9P1G4tWu+aL0CXuk6tTSs8rojs73hXB7QyOWA+HSF72iXyBdPaaaJ47js9Q+nD1g==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/@pnp/odata/-/odata-2.14.0.tgz", + "integrity": "sha512-HuVOLJxXsjiVj/Qi0sDYL+v+Nty6SPquz4Qtb0PDNUdRnH63UKEmI8M19QQDohxmCJvueNL1gNj9iy9yHWnASQ==", "requires": { - "tslib": "1.10.0" + "@pnp/common": "2.14.0", + "@pnp/logging": "2.14.0", + "tslib": "2.3.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + } } }, "@pnp/sp": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/@pnp/sp/-/sp-1.3.6.tgz", - "integrity": "sha512-JGFefu/r0Y9UcG5Vah7cK0VoH/o/9MnoAGZLb3gYbUSAxaqlOuz1QaD5WT9BLJhKCwqa4yeiS1T2rJceJzBI0w==", - "requires": { - "tslib": "1.10.0" + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/@pnp/sp/-/sp-2.14.0.tgz", + "integrity": "sha512-DP1Hajw6gm2vFfNd5iStYTaSVt1aggGQ0rBpOU+5B9tfJb9WBVOlpwQ8jfvRZXNjc9TRGxFTnO1oH29E4MP2UA==", + "requires": { + "@pnp/common": "2.14.0", + "@pnp/logging": "2.14.0", + "@pnp/odata": "2.14.0", + "tslib": "2.3.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + } } }, "@rushstack/loader-raw-script": { @@ -1246,39 +1324,42 @@ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true }, - "adal-angular": { - "version": "1.0.17", - "resolved": "https://registry.npmjs.org/adal-angular/-/adal-angular-1.0.17.tgz", - "integrity": "sha1-bpNuDkH5HTsqiOf/ypwvb29WLMQ=" - }, "adal-node": { - "version": "0.1.28", - "resolved": "https://registry.npmjs.org/adal-node/-/adal-node-0.1.28.tgz", - "integrity": "sha1-RoxLs+u9lrEnBmn0ucuk4AZepIU=", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/adal-node/-/adal-node-0.2.2.tgz", + "integrity": "sha512-luzQ9cXOjUlZoCiWeYbyR+nHwScSrPTDTbOInFphQs/PnwNz6wAIVkbsHEXtvYBnjLctByTTI8ccfpGX100oRQ==", "requires": { "@types/node": "^8.0.47", - "async": ">=0.6.0", + "async": "^2.6.3", + "axios": "^0.21.1", "date-utils": "*", "jws": "3.x.x", - "request": ">= 2.52.0", "underscore": ">= 1.3.1", "uuid": "^3.1.0", "xmldom": ">= 0.1.x", "xpath.js": "~1.1.0" + }, + "dependencies": { + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + } } }, "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "requires": { - "es6-promisify": "^5.0.0" + "debug": "4" } }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -1370,19 +1451,6 @@ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, - "asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - }, "astral-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", @@ -1390,14 +1458,12 @@ "dev": true }, "async": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", - "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "requires": { + "lodash": "^4.17.14" + } }, "at-least-node": { "version": "1.0.0", @@ -1405,15 +1471,13 @@ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", "dev": true }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + "axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "requires": { + "follow-redirects": "^1.14.0" + } }, "balanced-match": { "version": "1.0.2", @@ -1421,14 +1485,6 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "requires": { - "tweetnacl": "^0.14.3" - } - }, "big.js": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", @@ -1469,7 +1525,7 @@ "buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" }, "call-bind": { "version": "1.0.2", @@ -1510,11 +1566,6 @@ "integrity": "sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==", "dev": true }, - "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", @@ -1587,14 +1638,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "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" - } - }, "commitlint": { "version": "12.1.4", "resolved": "https://registry.npmjs.org/commitlint/-/commitlint-12.1.4.tgz", @@ -1692,11 +1735,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=" - }, "cosmiconfig": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", @@ -1738,25 +1776,24 @@ "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", "dev": true }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "requires": { - "assert-plus": "^1.0.0" - } - }, "date-utils": { "version": "1.2.21", "resolved": "https://registry.npmjs.org/date-utils/-/date-utils-1.2.21.tgz", - "integrity": "sha1-YfsWzcEnSzyayq/+n8ad+HIKK2Q=" + "integrity": "sha512-wJMBjqlwXR0Iv0wUo/lFbhSQ7MmG1hl36iuxuE91kW+5b5sWbase73manEqNH9sOLFAMG83B4ffNKq9/Iq0FVA==" }, "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "requires": { - "ms": "^2.1.1" + "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": { @@ -1799,11 +1836,6 @@ "object-keys": "^1.1.1" } }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, "dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -1831,15 +1863,6 @@ "is-obj": "^2.0.0" } }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, "ecdsa-sig-formatter": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", @@ -1955,14 +1978,6 @@ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "requires": { - "es6-promise": "^4.0.3" - } - }, "es6-symbol": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", @@ -2369,11 +2384,6 @@ } } }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, "external-editor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", @@ -2396,15 +2406,11 @@ } } }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" - }, "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==" + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true }, "fast-diff": { "version": "1.2.0", @@ -2428,7 +2434,8 @@ "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==" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true }, "fast-levenshtein": { "version": "2.0.6", @@ -2499,20 +2506,10 @@ "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", "dev": true }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" }, "fs-extra": { "version": "9.1.0", @@ -2583,14 +2580,6 @@ "get-intrinsic": "^1.1.1" } }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "requires": { - "assert-plus": "^1.0.0" - } - }, "git-raw-commits": { "version": "2.0.11", "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", @@ -2673,20 +2662,6 @@ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, "hard-rejection": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", @@ -2747,23 +2722,13 @@ "lru-cache": "^6.0.0" } }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, "https-proxy-agent": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz", - "integrity": "sha512-c8Ndjc9Bkpfx/vCJueCPy0jlP4ccCCSNDp8xwCZzPjKJUm+B+u9WX2x98Qx4n1PiMNTWo3D7KK5ifNV/yJyRzg==", + "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": "^4.3.0", - "debug": "^3.1.0" + "agent-base": "6", + "debug": "4" } }, "husky": { @@ -3046,11 +3011,6 @@ "text-extensions": "^1.0.0" } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, "is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -3091,11 +3051,6 @@ } } }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, "jju": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", @@ -3117,11 +3072,6 @@ "esprima": "^4.0.0" } }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" - }, "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -3139,15 +3089,11 @@ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, "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==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -3155,11 +3101,6 @@ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - }, "json5": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", @@ -3198,17 +3139,6 @@ "semver": "^5.6.0" } }, - "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, "jsx-ast-utils": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.2.tgz", @@ -3282,43 +3212,42 @@ "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "lodash.includes": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" }, "lodash.isboolean": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" }, "lodash.isinteger": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" }, "lodash.isnumber": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" }, "lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" }, "lodash.isstring": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" }, "lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" }, "loose-envify": { "version": "1.4.0", @@ -3384,19 +3313,6 @@ "picomatch": "^2.3.1" } }, - "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" - } - }, "mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", @@ -3495,9 +3411,9 @@ "dev": true }, "node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" }, "node-releases": { "version": "2.0.3", @@ -3528,11 +3444,6 @@ } } }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" - }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -3736,11 +3647,6 @@ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, "picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -3796,15 +3702,11 @@ "react-is": "^16.13.1" } }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" - }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true }, "q": { "version": "1.5.1", @@ -3812,11 +3714,6 @@ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", "dev": true }, - "qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" - }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -3961,33 +3858,6 @@ "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -4261,22 +4131,6 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, - "sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -4475,15 +4329,6 @@ "is-number": "^7.0.0" } }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, "tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", @@ -4509,19 +4354,6 @@ "tslib": "^1.8.1" } }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" - }, "type": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", @@ -4561,9 +4393,9 @@ } }, "underscore": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.3.tgz", - "integrity": "sha512-QvjkYpiD+dJJraRA8+dGAU4i7aBbb2s0S3jA45TFOvg2VgqvdCDd/3N6CqA8gluk1W91GLoXg5enMUx560QzuA==" + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, "universalify": { "version": "2.0.0", @@ -4575,6 +4407,7 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, "requires": { "punycode": "^2.1.0" } @@ -4586,9 +4419,9 @@ "dev": true }, "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" }, "v8-compile-cache": { "version": "2.3.0", @@ -4606,16 +4439,6 @@ "spdx-expression-parse": "^3.0.0" } }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, "webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", diff --git a/package.json b/package.json index 57e3f70..5ca54b2 100644 --- a/package.json +++ b/package.json @@ -5,11 +5,11 @@ "main": "./lib/index.js", "typings": "./lib/index.d.ts", "dependencies": { - "@pnp/common": "1.3.6", - "@pnp/logging": "1.3.6", - "@pnp/nodejs": "1.3.6", - "@pnp/odata": "1.3.6", - "@pnp/sp": "1.3.6", + "@pnp/common": "2.14.0", + "@pnp/logging": "2.14.0", + "@pnp/nodejs": "2.14.0", + "@pnp/odata": "2.14.0", + "@pnp/sp": "2.14.0", "object.omit": "3.0.0", "spfx-jsom": "0.6.4", "xml-js": "1.6.11" diff --git a/src/handlers/clientsidepages.ts b/src/handlers/clientsidepages.ts index 67ab21d..ae39783 100644 --- a/src/handlers/clientsidepages.ts +++ b/src/handlers/clientsidepages.ts @@ -1,12 +1,11 @@ -import { - ClientSidePage, ClientSidePageComponent, ClientSideWebpart, Web -} from '@pnp/sp' import { IProvisioningConfig } from '../provisioningconfig' import { ProvisioningContext } from '../provisioningcontext' import { IClientSidePage } from '../schema' import { replaceUrlTokens } from '../util' import { TokenHelper } from '../util/tokenhelper' import { HandlerBase } from './handlerbase' +import { CreateClientsidePage, IClientsidePageComponent, ClientsideWebpart } from '@pnp/sp/clientside-pages' +import { IWeb } from '@pnp/sp/webs/types' /** * Describes the Composed Look Object Handler @@ -29,18 +28,18 @@ export class ClientSidePages extends HandlerBase { * @param context - Provisioning context */ public async ProvisionObjects( - web: Web, + web: IWeb, clientSidePages: IClientSidePage[], context?: ProvisioningContext ): Promise { this.tokenHelper = new TokenHelper(context, this.config) super.scope_started() try { - const partDefinitions = await web.getClientSideWebParts() + const clientsideWebParts = await web.getClientsideWebParts() await clientSidePages.reduce( (chain: Promise, clientSidePage) => chain.then(() => - this.processClientSidePage(web, clientSidePage, partDefinitions) + this.processClientSidePage(web, clientSidePage, clientsideWebParts) ), Promise.resolve() ) @@ -55,18 +54,18 @@ export class ClientSidePages extends HandlerBase { * * @param web - The web * @param clientSidePage - Cient side page - * @param partDefinitions - Cient side web parts + * @param clientsideWebParts - Cient side web parts */ private async processClientSidePage( - web: Web, + web: IWeb, clientSidePage: IClientSidePage, - partDefinitions: ClientSidePageComponent[] + clientsideWebParts: IClientsidePageComponent[] ) { super.log_info( 'processClientSidePage', `Processing client side page ${clientSidePage.Name}` ) - const page = await ClientSidePage.create( + const page = await CreateClientsidePage( web, clientSidePage.Name, clientSidePage.Title, @@ -78,7 +77,7 @@ export class ClientSidePages extends HandlerBase { for (const col of s.Columns) { const column = section.addColumn(col.Factor) for (const control of col.Controls) { - const partDef = partDefinitions.find((c) => + const partDef = clientsideWebParts.find((c) => c.Id.toLowerCase().includes(control.Id.toLowerCase()) ) if (!partDef) { @@ -93,7 +92,7 @@ export class ClientSidePages extends HandlerBase { JSON.stringify(control.Properties) ) properties = replaceUrlTokens(properties, this.config) - const part = ClientSideWebpart.fromComponentDef( + const part = ClientsideWebpart.fromComponentDef( partDef ).setProperties(JSON.parse(properties)) if (control.ServerProcessedContent) { @@ -126,13 +125,7 @@ export class ClientSidePages extends HandlerBase { 'processClientSidePage', `Saving client side page ${clientSidePage.Name}` ) + page.commentsDisabled = clientSidePage.CommentsDisabled await page.save() - if (clientSidePage.CommentsDisabled) { - super.log_info( - 'processClientSidePage', - `Disabling comments for client side page ${clientSidePage.Name}` - ) - await page.disableComments() - } } } diff --git a/src/handlers/composedlook.ts b/src/handlers/composedlook.ts index 73d7460..733b49c 100644 --- a/src/handlers/composedlook.ts +++ b/src/handlers/composedlook.ts @@ -1,8 +1,8 @@ +import { IWeb } from '@pnp/sp/presets/all' +import { IProvisioningConfig } from '../provisioningconfig' import { IComposedLook } from '../schema' +import { makeUrlRelative, replaceUrlTokens } from '../util' import { HandlerBase } from './handlerbase' -import { Web } from '@pnp/sp' -import { replaceUrlTokens, makeUrlRelative } from '../util' -import { IProvisioningConfig } from '../provisioningconfig' /** * Describes the Composed Look Object Handler @@ -19,10 +19,10 @@ export class ComposedLook extends HandlerBase { * Provisioning Composed Look * * @param web - The web - * @param object - The Composed look to provision + * @param composedLook - The Composed look to provision */ public async ProvisionObjects( - web: Web, + web: IWeb, composedLook: IComposedLook ): Promise { super.scope_started() diff --git a/src/handlers/contenttypes.ts b/src/handlers/contenttypes.ts index 830adb4..ba8d52d 100644 --- a/src/handlers/contenttypes.ts +++ b/src/handlers/contenttypes.ts @@ -1,9 +1,10 @@ import initSpfxJsom, { ExecuteJsomQuery, JsomContext } from 'spfx-jsom' import { HandlerBase } from './handlerbase' -import { Web, ContentTypeAddResult } from '@pnp/sp' import { ProvisioningContext } from '../provisioningcontext' import { IProvisioningConfig } from '../provisioningconfig' import { IContentType } from '../schema' +import { IWeb } from '@pnp/sp/webs' +import { IContentTypeAddResult } from '@pnp/sp/content-types' /** * Describes the Content Types Object Handler @@ -27,7 +28,7 @@ export class ContentTypes extends HandlerBase { * @param context - Provisioning context */ public async ProvisionObjects( - web: Web, + web: IWeb, contentTypes: IContentType[], context: ProvisioningContext ): Promise { @@ -83,14 +84,14 @@ export class ContentTypes extends HandlerBase { * @param contentType - Content type */ private async processContentType( - web: Web, + web: IWeb, contentType: IContentType ): Promise { try { let contentTypeId = this.context.contentTypes[contentType.Name].ID if (!contentTypeId) { const contentTypeAddResult = await this.addContentType(web, contentType) - contentTypeId = contentTypeAddResult.data.Id + contentTypeId = contentTypeAddResult.data.Id.StringValue } super.log_info( 'processContentType', @@ -122,9 +123,9 @@ export class ContentTypes extends HandlerBase { * @param contentType - Content type */ private async addContentType( - web: Web, + web: IWeb, contentType: IContentType - ): Promise { + ): Promise { try { super.log_info( 'addContentType', diff --git a/src/handlers/customactions.ts b/src/handlers/customactions.ts index 518a64a..d684a52 100644 --- a/src/handlers/customactions.ts +++ b/src/handlers/customactions.ts @@ -1,7 +1,7 @@ import { HandlerBase } from './handlerbase' import { ICustomAction } from '../schema' -import { Web } from '@pnp/sp' import { IProvisioningConfig } from '../provisioningconfig' +import { IWeb } from '@pnp/sp/webs' /** * Describes the Custom Actions Object Handler @@ -20,10 +20,10 @@ export class CustomActions extends HandlerBase { * Provisioning Custom Actions * * @param web - The web - * @param customactions - The Custom Actions to provision + * @param customActions - The Custom Actions to provision */ public async ProvisionObjects( - web: Web, + web: IWeb, customActions: ICustomAction[] ): Promise { super.scope_started() diff --git a/src/handlers/exports.ts b/src/handlers/exports.ts index a61bb25..82b6a74 100644 --- a/src/handlers/exports.ts +++ b/src/handlers/exports.ts @@ -1,4 +1,3 @@ -import { TypedHash } from '@pnp/common' import { HandlerBase } from './handlerbase' import { ComposedLook } from './composedlook' import { CustomActions } from './customactions' @@ -16,7 +15,7 @@ import { ContentTypes } from './contenttypes' export const DefaultHandlerMap = ( config: IProvisioningConfig -): TypedHash => ({ +): Record => ({ ClientSidePages: new ClientSidePages(config), ComposedLook: new ComposedLook(config), ContentTypes: new ContentTypes(config), @@ -31,7 +30,7 @@ export const DefaultHandlerMap = ( Hooks: new Hooks(config) }) -export const DefaultHandlerSort: TypedHash = { +export const DefaultHandlerSort: Record = { ClientSidePages: 7, ComposedLook: 6, ContentTypes: 1, diff --git a/src/handlers/features.ts b/src/handlers/features.ts index bd21b49..12b02fc 100644 --- a/src/handlers/features.ts +++ b/src/handlers/features.ts @@ -1,7 +1,7 @@ import { HandlerBase } from './handlerbase' import { IFeature } from '../schema' -import { Web } from '@pnp/sp' import { IProvisioningConfig } from '../provisioningconfig' +import { IWeb } from '@pnp/sp/webs' /** * Describes the Features Object Handler @@ -22,7 +22,7 @@ export class Features extends HandlerBase { * @param web - The web * @param features - The features to provision */ - public async ProvisionObjects(web: Web, features: IFeature[]): Promise { + public async ProvisionObjects(web: IWeb, features: IFeature[]): Promise { super.scope_started() try { await features.reduce((chain, feature) => { diff --git a/src/handlers/files.ts b/src/handlers/files.ts index dd173a9..eed2b6f 100644 --- a/src/handlers/files.ts +++ b/src/handlers/files.ts @@ -1,14 +1,15 @@ /* eslint-disable unicorn/prevent-abbreviations */ import * as xmljs from 'xml-js' import { HandlerBase } from './handlerbase' -import { IFile, IWebPart } from '../schema' -import { Web, File, FileAddResult } from '@pnp/sp' +import { IFileInstance, IWebPart } from '../schema' import { combine, isArray } from '@pnp/common' import { Logger, LogLevel } from '@pnp/logging' import { replaceUrlTokens } from '../util' import { ProvisioningContext } from '../provisioningcontext' import { IProvisioningConfig } from '../provisioningconfig' import { TokenHelper } from '../util/tokenhelper' +import { IWeb } from '@pnp/sp/webs' +import { IFile, IFileAddResult } from '@pnp/sp/files' /** * Describes the Features Object Handler @@ -33,8 +34,8 @@ export class Files extends HandlerBase { * @param context - Provisioning context */ public async ProvisionObjects( - web: Web, - files: IFile[], + web: IWeb, + files: IFileInstance[], context?: ProvisioningContext ): Promise { this.tokenHelper = new TokenHelper(context, this.config) @@ -60,7 +61,7 @@ export class Files extends HandlerBase { * * @param file - The file */ - private async getFileBlob(file: IFile): Promise { + private async getFileBlob(file: IFileInstance): Promise { const fileSourceWithoutTokens = replaceUrlTokens( this.tokenHelper.replaceTokens(file.Src), this.config @@ -82,8 +83,8 @@ export class Files extends HandlerBase { * @param webServerRelativeUrl - ServerRelativeUrl for the web */ private async processFile( - web: Web, - file: IFile, + web: IWeb, + file: IFileInstance, webServerRelativeUrl: string ): Promise { Logger.log({ @@ -105,8 +106,8 @@ export class Files extends HandlerBase { folderServerRelativeUrl, file.Url ) - let fileAddResult: FileAddResult - let pnpFile: File + let fileAddResult: IFileAddResult + let pnpFile: IFile try { fileAddResult = await pnpFolder.files.add( file.Url, @@ -179,7 +180,7 @@ export class Files extends HandlerBase { * @param fileServerRelativeUrl - ServerRelativeUrl for the file */ private processWebParts( - file: IFile, + file: IFileInstance, webServerRelativeUrl: string, fileServerRelativeUrl: string ) { @@ -315,7 +316,7 @@ export class Files extends HandlerBase { * @param fileServerRelativeUrl - ServerRelativeUrl for the file */ private processPageListViews( - web: Web, + web: IWeb, webParts: Array, fileServerRelativeUrl: string ): Promise { @@ -373,7 +374,7 @@ export class Files extends HandlerBase { * @param fileServerRelativeUrl - ServerRelativeUrl for the file */ private processPageListView( - web: Web, + web: IWeb, listView, fileServerRelativeUrl: string ) { @@ -448,7 +449,7 @@ export class Files extends HandlerBase { * @param pnpFile - The PnP file * @param properties - The properties to set */ - private async processProperties(web: Web, pnpFile: File, file: IFile) { + private async processProperties(web: IWeb, pnpFile: IFile, file: IFileInstance) { const hasProperties = file.Properties && Object.keys(file.Properties).length > 0 if (hasProperties) { diff --git a/src/handlers/handlerbase.ts b/src/handlers/handlerbase.ts index 6525973..f6a276a 100644 --- a/src/handlers/handlerbase.ts +++ b/src/handlers/handlerbase.ts @@ -1,5 +1,5 @@ import { Logger, LogLevel } from '@pnp/logging' -import { Web } from '@pnp/sp' +import { IWeb } from '@pnp/sp/webs' import { IProvisioningConfig } from '../provisioningconfig' import { ProvisioningContext } from '../provisioningcontext' @@ -24,7 +24,7 @@ export class HandlerBase { /** * Provisioning objects */ - public ProvisionObjects(web: Web, templatePart: any, _context?: ProvisioningContext): Promise { + public ProvisionObjects(web: IWeb, templatePart: any, _context?: ProvisioningContext): Promise { Logger.log({ data: templatePart, level: LogLevel.Warning, message: `Handler ${this.name} for web [${web.toUrl()}] does not override ProvisionObjects.` }) return Promise.resolve() } @@ -39,7 +39,7 @@ export class HandlerBase { /** * Writes to Logger when scope has stopped * - * @param error Error + * @param error - Error */ public scope_ended(error?: Error) { if (error) this.log_error('ProvisionObjects', `Code execution scope ended with error: ${error.message}`) diff --git a/src/handlers/hooks.ts b/src/handlers/hooks.ts index f75beb1..9f13eee 100644 --- a/src/handlers/hooks.ts +++ b/src/handlers/hooks.ts @@ -1,7 +1,7 @@ import { HandlerBase } from './handlerbase' import { IHooks } from '../schema' -import { Web } from '@pnp/sp' import { IProvisioningConfig } from '../provisioningconfig' +import { IWeb } from '@pnp/sp/webs' /** * Describes the Hooks Object Handler @@ -22,14 +22,15 @@ export class Hooks extends HandlerBase { * @param hooks - The hook(s) to apply */ public async ProvisionObjects( - web: Web, + web: IWeb, hooks: IHooks[], ): Promise { super.scope_started() const promises = [] - hooks.forEach(async (hook, index) => { + // eslint-disable-next-line unicorn/no-array-for-each + hooks.forEach((hook, index) => { if (hook.Method === 'GET') { super.log_info( 'processHooks', @@ -41,10 +42,10 @@ export class Hooks extends HandlerBase { headers: hook.Headers || {}, } - promises.push(fetch(hook.Url, getRequest).then(async (res) => { - const result = await Hooks.getJsonResult(res) + promises.push(fetch(hook.Url, getRequest).then(async (response) => { + const result = await Hooks.getJsonResult(response) - if (!res.ok) { + if (!response.ok) { throw new Error(`${(result ? ` | ${result} \n\n` : '')}- Hook ${index + 1}/${hooks.length}: ${hook.Title}`) } })) @@ -62,11 +63,11 @@ export class Hooks extends HandlerBase { headers: hook.Headers || {}, } - promises.push(fetch(hook.Url, postRequest).then(async (res) => { - if (!res.ok) { - const result = await Hooks.getJsonResult(res) + promises.push(fetch(hook.Url, postRequest).then(async (response) => { + if (!response.ok) { + const result = await Hooks.getJsonResult(response) throw new Error(`${(result ? ` | ${result} \n\n` : '')}- Hook ${index + 1}/${hooks.length}: ${hook.Title}`) - } else if (res.status === 202) { + } else if (response.status === 202) { const getPendingRequest = { method: 'GET', headers: hook.Headers || {}, @@ -75,11 +76,11 @@ export class Hooks extends HandlerBase { const getPendingResult = (url: string): Promise => { return new Promise((resolvePending, reject) => { setTimeout(async () => { - await fetch(url, getPendingRequest).then(async (res) => { - if (!res.ok) { - const result = await Hooks.getJsonResult(res) + await fetch(url, getPendingRequest).then(async (respone) => { + if (!respone.ok) { + const result = await Hooks.getJsonResult(respone) reject(new Error(`${(result ? ` | ${result} \n\n` : '')}- Hook ${index + 1}/${hooks.length}: ${hook.Title}`)) - } else if (res.status == 202) { + } else if (respone.status == 202) { resolvePending(getPendingResult(url)) } }) @@ -89,7 +90,7 @@ export class Hooks extends HandlerBase { }) } - const pendingResultLocation = res.headers.get('location') + const pendingResultLocation = response.headers.get('location') await getPendingResult(pendingResultLocation) } })) @@ -110,15 +111,15 @@ export class Hooks extends HandlerBase { } } - public static async getJsonResult(res: any): Promise { + public static getJsonResult(response: any): Promise { return new Promise(async (resolve) => { - if (!res.ok) { + if (!response.ok) { try { - const jsonResponse = await res.json() - resolve(`${res.status}${res.statusText ? ` - ${res.statusText}` : ''}${(jsonResponse['error'] ? ` | ${jsonResponse['error']}` : '')}`) + const jsonResponse = await response.json() + resolve(`${response.status}${response.statusText ? ` - ${response.statusText}` : ''}${(jsonResponse['error'] ? ` | ${jsonResponse['error']}` : '')}`) } catch {} } - resolve(`${res.status}${res.statusText ? ` - ${res.statusText}` : ''}`) + resolve(`${response.status}${response.statusText ? ` - ${response.statusText}` : ''}`) }) } } diff --git a/src/handlers/lists.ts b/src/handlers/lists.ts index 0a68fe3..4dd864d 100644 --- a/src/handlers/lists.ts +++ b/src/handlers/lists.ts @@ -1,18 +1,19 @@ /* eslint-disable unicorn/no-array-for-each */ -import { List, Web } from '@pnp/sp' import initSpfxJsom, { JsomContext } from 'spfx-jsom' import * as xmljs from 'xml-js' import { IProvisioningConfig } from '../provisioningconfig' import { ProvisioningContext } from '../provisioningcontext' import { IContentTypeBinding, - IList, + IListInstance, IListInstanceFieldReference, IListView } from '../schema' import { TokenHelper } from '../util/tokenhelper' import { HandlerBase } from './handlerbase' import { addFieldAttributes } from '../util' +import { IWeb } from '@pnp/sp/webs' +import { IList } from '@pnp/sp/lists' export interface ISPField { Id: string @@ -44,8 +45,8 @@ export class Lists extends HandlerBase { * @param lists - The lists to provision */ public async ProvisionObjects( - web: Web, - lists: IList[], + web: IWeb, + lists: IListInstance[], context: ProvisioningContext ): Promise { this.jsomContext = ( @@ -103,9 +104,9 @@ export class Lists extends HandlerBase { * @param web - The web * @param lc - The list */ - private async processList(web: Web, lc: IList): Promise { + private async processList(web: IWeb, lc: IListInstance): Promise { super.log_info('processList', `Processing list ${lc.Title}`) - let list: List + let list: IList if (this.context.lists[lc.Title]) { super.log_info( 'processList', @@ -153,8 +154,8 @@ export class Lists extends HandlerBase { * @param removeExisting - Remove existing content type bindings */ private async processContentTypeBindings( - lc: IList, - list: List, + lc: IListInstance, + list: IList, contentTypeBindings: IContentTypeBinding[], removeExisting: boolean ): Promise { @@ -202,8 +203,8 @@ export class Lists extends HandlerBase { * @param contentTypeID - The Content Type ID */ private async processContentTypeBinding( - lc: IList, - list: List, + lc: IListInstance, + list: IList, contentTypeID: string ): Promise { try { @@ -230,7 +231,7 @@ export class Lists extends HandlerBase { * @param web - The web * @param list - The pnp list */ - private async processListFields(web: Web, list: IList): Promise { + private async processListFields(web: IWeb, list: IListInstance): Promise { if (list.Fields) { await list.Fields.reduce( (chain, field) => chain.then(() => this.processField(web, list, field)), @@ -247,8 +248,8 @@ export class Lists extends HandlerBase { * @param fieldXml - Field XML */ private async processField( - web: Web, - lc: IList, + web: IWeb, + lc: IListInstance, fieldXml: string ): Promise { const list = web.lists.getByTitle(lc.Title) @@ -302,7 +303,7 @@ export class Lists extends HandlerBase { * @param web - The web * @param lc - The list configuration */ - private async processListFieldRefs(web: Web, lc: IList): Promise { + private async processListFieldRefs(web: IWeb, lc: IListInstance): Promise { if (lc.FieldRefs) { super.log_info( 'processListFieldRefs', @@ -335,13 +336,13 @@ export class Lists extends HandlerBase { * * @param list - The list * @param lc - The list configuration - * @param fieldRef - The list field ref + * @param fieldReference - The list field ref * @param listFields - The list fields * @param webFields - The web fields */ private async processFieldRef( - list: List, - lc: IList, + list: IList, + lc: IListInstance, fieldReference: IListInstanceFieldReference, listFields: ISPField[], webFields: ISPField[] @@ -390,7 +391,7 @@ export class Lists extends HandlerBase { * @param web - The web * @param lc - The list configuration */ - private async processListViews(web: Web, lc: IList): Promise { + private async processListViews(web: IWeb, lc: IListInstance): Promise { if (lc.Views) { await lc.Views.reduce( (chain: any, view) => chain.then(() => this.processView(web, lc, view)), @@ -416,8 +417,8 @@ export class Lists extends HandlerBase { * @param lvc - The view configuration */ private async processView( - web: Web, - lc: IList, + web: IWeb, + lc: IListInstance, lvc: IListView ): Promise { super.log_info( diff --git a/src/handlers/navigation.ts b/src/handlers/navigation.ts index 6be32db..85b5db5 100644 --- a/src/handlers/navigation.ts +++ b/src/handlers/navigation.ts @@ -1,9 +1,10 @@ import { HandlerBase } from './handlerbase' import { INavigation, INavigationNode } from '../schema' -import { Web, NavigationNodes } from '@pnp/sp' import { isArray } from '@pnp/common' import { replaceUrlTokens } from '../util' import { IProvisioningConfig } from '../provisioningconfig' +import { IWeb } from '@pnp/sp/webs' +import { INavigationNodes } from '@pnp/sp/navigation' /** * Describes the Navigation Object Handler @@ -24,7 +25,7 @@ export class Navigation extends HandlerBase { * @param navigation - The navigation to provision */ public async ProvisionObjects( - web: Web, + web: IWeb, navigation: INavigation ): Promise { super.scope_started() @@ -52,7 +53,7 @@ export class Navigation extends HandlerBase { } private async processNavTree( - target: NavigationNodes, + target: INavigationNodes, nodes: INavigationNode[] ): Promise { try { @@ -69,7 +70,7 @@ export class Navigation extends HandlerBase { } private async processNode( - target: NavigationNodes, + target: INavigationNodes, node: INavigationNode, existingNodes: any[] ): Promise { @@ -90,7 +91,7 @@ export class Navigation extends HandlerBase { } } - private async deleteExistingNodes(target: NavigationNodes) { + private async deleteExistingNodes(target: INavigationNodes) { try { const existingNodes = await target.get() await existingNodes.reduce( @@ -103,7 +104,7 @@ export class Navigation extends HandlerBase { } } - private async deleteNode(target: NavigationNodes, id: number): Promise { + private async deleteNode(target: INavigationNodes, id: number): Promise { try { await target.getById(id).delete() } catch (error) { diff --git a/src/handlers/propertybagentries.ts b/src/handlers/propertybagentries.ts index 7bff227..8219857 100644 --- a/src/handlers/propertybagentries.ts +++ b/src/handlers/propertybagentries.ts @@ -2,8 +2,8 @@ import { HandlerBase } from './handlerbase' import { IPropertyBagEntry } from '../schema' import * as Util from '../util' import { Logger, LogLevel } from '@pnp/logging' -import { Web } from '@pnp/sp' import { IProvisioningConfig } from '../provisioningconfig' +import { IWeb } from '@pnp/sp/webs' /** * Describes the PropertyBagEntries Object Handler @@ -25,7 +25,7 @@ export class PropertyBagEntries extends HandlerBase { * @param entries - The property bag entries to provision */ public ProvisionObjects( - web: Web, + web: IWeb, entries: IPropertyBagEntry[] ): Promise { super.scope_started() diff --git a/src/handlers/sitefields.ts b/src/handlers/sitefields.ts index 1ead3fa..b9d7a59 100644 --- a/src/handlers/sitefields.ts +++ b/src/handlers/sitefields.ts @@ -1,9 +1,10 @@ import * as xmljs from 'xml-js' import { HandlerBase } from './handlerbase' -import { Web, FieldAddResult } from '@pnp/sp' import { ProvisioningContext } from '../provisioningcontext' import { IProvisioningConfig } from '../provisioningconfig' import { TokenHelper } from '../util/tokenhelper' +import { IWeb } from '@pnp/sp/webs' +import { IFieldAddResult } from '@pnp/sp/fields' /** * Describes the Site Fields Object Handler @@ -27,7 +28,7 @@ export class SiteFields extends HandlerBase { * @param context - Provisioning context */ public async ProvisionObjects( - web: Web, + web: IWeb, siteFields: string[], context?: ProvisioningContext ): Promise { @@ -58,12 +59,12 @@ export class SiteFields extends HandlerBase { * Provision a site field * * @param web - The web - * @param clientSidePage - Cient side page + * @param schemaXml - Schema XML */ private async processSiteField( - web: Web, + web: IWeb, schemaXml: string - ): Promise { + ): Promise { try { schemaXml = this.tokenHelper.replaceTokens(schemaXml) const schemaXmlJson = JSON.parse(xmljs.xml2json(schemaXml)) diff --git a/src/handlers/websettings.ts b/src/handlers/websettings.ts index 9597ed9..d69adcc 100644 --- a/src/handlers/websettings.ts +++ b/src/handlers/websettings.ts @@ -1,9 +1,9 @@ import { HandlerBase } from './handlerbase' import { IWebSettings } from '../schema' -import { Web } from '@pnp/sp' import * as omit from 'object.omit' import { replaceUrlTokens } from '../util' import { IProvisioningConfig } from '../provisioningconfig' +import { IWeb } from '@pnp/sp/webs' /** * Describes the WebSettings Object Handler @@ -25,7 +25,7 @@ export class WebSettings extends HandlerBase { * @param settings - The settings */ public async ProvisionObjects( - web: Web, + web: IWeb, settings: IWebSettings ): Promise { super.scope_started() diff --git a/src/index.ts b/src/index.ts index 93d0482..7c33f15 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,3 +1,2 @@ export { Schema } from './schema' export { WebProvisioner } from './webprovisioner' -export { sp, Web } from '@pnp/sp' diff --git a/src/provisioningconfig.ts b/src/provisioningconfig.ts index 60aa481..afd42bd 100644 --- a/src/provisioningconfig.ts +++ b/src/provisioningconfig.ts @@ -1,5 +1,5 @@ import { LogLevel } from '@pnp/logging' -import { SPConfiguration } from '@pnp/sp' +import { ISPConfiguration } from '@pnp/sp/presets/all' export type ProvisioningParameters = { [key: string]: string } @@ -15,5 +15,5 @@ export interface IProvisioningConfig { parameters?: ProvisioningParameters spfxContext?: any logging?: IProvisioningLogging - spConfiguration?: SPConfiguration + spConfiguration?: ISPConfiguration } diff --git a/src/schema.ts b/src/schema.ts index d12ae73..219c371 100644 --- a/src/schema.ts +++ b/src/schema.ts @@ -1,7 +1,5 @@ -import { TypedHash } from '@pnp/common' - export interface Schema { - Parameters?: TypedHash + Parameters?: Record Version?: string Hooks?: IHooks[] Navigation?: INavigation @@ -9,8 +7,8 @@ export interface Schema { ComposedLook?: IComposedLook WebSettings?: IWebSettings Features?: IFeature[] - Lists?: IList[] - Files?: IFile[] + Lists?: IListInstance[] + Files?: IFileInstance[] PropertyBagEntries?: IPropertyBagEntry[] ClientSidePages?: IClientSidePage[] SiteFields?: string[] @@ -39,10 +37,10 @@ export interface IClientSideControl { Id: string Properties: { [key: string]: any } ServerProcessedContent?: { - htmlStrings: TypedHash - searchablePlainTexts: TypedHash - imageSources: TypedHash - links: TypedHash + htmlStrings: Record + searchablePlainTexts: Record + imageSources: Record + links: Record } } @@ -69,7 +67,7 @@ export interface IFeature { force: boolean } -export interface IFile { +export interface IFileInstance { Folder: string Src: string Url: string @@ -164,7 +162,7 @@ export interface IListSecurity { RoleAssignments?: IRoleAssignment[] } -export interface IList { +export interface IListInstance { Title: string Description: string Template: number diff --git a/src/util/index.ts b/src/util/index.ts index 5158129..c7f881d 100644 --- a/src/util/index.ts +++ b/src/util/index.ts @@ -1,6 +1,5 @@ import { IProvisioningConfig } from '../provisioningconfig' import * as xmljs from 'xml-js' -import { TypedHash } from '@pnp/common' export function replaceUrlTokens( string: string, @@ -48,7 +47,7 @@ export function isNode(): boolean { export function addFieldAttributes( schemaXml: string, - attributes: TypedHash + attributes: Record ) { const fieldXmlJson = JSON.parse(xmljs.xml2json(schemaXml)) fieldXmlJson.elements[0].attributes = { diff --git a/src/webprovisioner.ts b/src/webprovisioner.ts index 8702b2d..5ab1c79 100644 --- a/src/webprovisioner.ts +++ b/src/webprovisioner.ts @@ -1,29 +1,30 @@ // we need to import HandlerBase & TypedHash to avoid naming issues in ts transpile import { Schema } from './schema' import { HandlerBase } from './handlers/handlerbase' -import { sp, Web } from '@pnp/sp' -import { TypedHash } from '@pnp/common' import { Logger, LogLevel, ConsoleListener } from '@pnp/logging' import { DefaultHandlerMap, DefaultHandlerSort } from './handlers/exports' import { ProvisioningContext } from './provisioningcontext' import { IProvisioningConfig } from './provisioningconfig' +import { IWeb } from '@pnp/sp/webs' +import { sp } from '@pnp/sp' +import '@pnp/sp/webs' /** * Root class of Provisioning */ export class WebProvisioner { - public handlerMap: TypedHash + public handlerMap: Record private context: ProvisioningContext = new ProvisioningContext() private config: IProvisioningConfig /** * Creates a new instance of the Provisioner class * * @param web - The Web instance to which we want to apply templates - * @param handlermap - A set of handlers we want to apply. The keys of the map need to match the property names in the template + * @param handlerSort - A set of handlers we want to apply. The keys of the map need to match the property names in the template */ constructor( - private web: Web, - public handlerSort: TypedHash = DefaultHandlerSort + private web: IWeb, + public handlerSort: Record = DefaultHandlerSort ) {} private async onSetup() { From 9042ab480f6bec5c25df24637aa503704de56553 Mon Sep 17 00:00:00 2001 From: Ole Martin Pettersen Date: Tue, 1 Nov 2022 12:44:11 +0100 Subject: [PATCH 2/4] Upgrading to @pnp/sp v2 --- .husky/.gitignore | 1 - .husky/commit-msg | 4 -- package.json | 8 --- src/handlers/clientsidepages.ts | 87 +++++++++++++++++---------------- src/schema.ts | 1 + 5 files changed, 47 insertions(+), 54 deletions(-) delete mode 100644 .husky/.gitignore delete mode 100755 .husky/commit-msg diff --git a/.husky/.gitignore b/.husky/.gitignore deleted file mode 100644 index 31354ec..0000000 --- a/.husky/.gitignore +++ /dev/null @@ -1 +0,0 @@ -_ diff --git a/.husky/commit-msg b/.husky/commit-msg deleted file mode 100755 index fe4c17a..0000000 --- a/.husky/commit-msg +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -npx --no-install commitlint --edit "" diff --git a/package.json b/package.json index 5ca54b2..af0dbbd 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,6 @@ "@types/webpack-env": "1.13.1", "@typescript-eslint/eslint-plugin": "4.6.1", "@typescript-eslint/parser": "4.6.1", - "commitlint": "^12.0.1", "eslint": "^6.8.0", "eslint-config-prettier": "7.2.0", "eslint-plugin-prettier": "3.3.1", @@ -30,7 +29,6 @@ "eslint-plugin-react-hooks": "^4.2.0", "eslint-plugin-tsdoc": "0.2.11", "eslint-plugin-unicorn": "^28.0.2", - "husky": "^5.2.0", "merge": "1.2.0", "merge2": "^1.0.2", "prettier": "2.2.1", @@ -40,14 +38,8 @@ "build": "tsc", "watch": "tsc --watch", "lint": "eslint --ext .ts ./src --color --fix && prettier '**/*.ts*' --write --loglevel silent", - "prepare": "husky install", "postversion": "tsc && npm publish" }, - "commitlint": { - "extends": [ - "@commitlint/config-conventional" - ] - }, "eslintConfig": { "env": { "browser": true, diff --git a/src/handlers/clientsidepages.ts b/src/handlers/clientsidepages.ts index ae39783..26f07f2 100644 --- a/src/handlers/clientsidepages.ts +++ b/src/handlers/clientsidepages.ts @@ -1,6 +1,6 @@ import { IProvisioningConfig } from '../provisioningconfig' import { ProvisioningContext } from '../provisioningcontext' -import { IClientSidePage } from '../schema' +import { IClientSideControl, IClientSidePage } from '../schema' import { replaceUrlTokens } from '../util' import { TokenHelper } from '../util/tokenhelper' import { HandlerBase } from './handlerbase' @@ -77,50 +77,20 @@ export class ClientSidePages extends HandlerBase { for (const col of s.Columns) { const column = section.addColumn(col.Factor) for (const control of col.Controls) { - const partDef = clientsideWebParts.find((c) => - c.Id.toLowerCase().includes(control.Id.toLowerCase()) - ) - if (!partDef) { - super.log_warn( - 'processClientSidePage', - `Client side web part with definition id ${control.Id} not found.` - ) - continue - } try { - let properties = this.tokenHelper.replaceTokens( - JSON.stringify(control.Properties) - ) - properties = replaceUrlTokens(properties, this.config) - const part = ClientsideWebpart.fromComponentDef( - partDef - ).setProperties(JSON.parse(properties)) - if (control.ServerProcessedContent) { - const serverProcessedContent = this.tokenHelper.replaceTokens( - JSON.stringify(control.ServerProcessedContent) - ) - super.log_info( - 'processClientSidePage', - `Adding serverProcessedContent ${serverProcessedContent} to client side page ${clientSidePage.Name}` - ) - part.data.webPartData.serverProcessedContent = JSON.parse( - serverProcessedContent - ) - } - super.log_info( - 'processClientSidePage', - `Adding ${partDef.Name} to client side page ${clientSidePage.Name}` - ) - column.addControl(part) - } catch { - super.log_info( - 'processClientSidePage', - `Failed adding part ${partDef.Name} to client side page ${clientSidePage.Name}` - ) - } + const columnControl = this.getColumnControl(control, clientsideWebParts) + if (columnControl !== null) column.addControl(columnControl) + } catch {} } } } + if (clientSidePage.VerticalSection) { + const a = page.addVerticalSection() + for (const control of clientSidePage.VerticalSection) { + const columnControl = this.getColumnControl(control, clientsideWebParts) + a.addControl(columnControl) + } + } super.log_info( 'processClientSidePage', `Saving client side page ${clientSidePage.Name}` @@ -128,4 +98,39 @@ export class ClientSidePages extends HandlerBase { page.commentsDisabled = clientSidePage.CommentsDisabled await page.save() } + + /** + * Provision a client side page + * + * @param control - Control + * @param clientsideWebParts - Cient side web parts + */ + private getColumnControl(control: IClientSideControl, clientsideWebParts: IClientsidePageComponent[]) { + const partDefinition = clientsideWebParts.find((c) => + c.Id.toLowerCase().includes(control.Id.toLowerCase()) + ) + if (!partDefinition) { + super.log_warn( + 'processClientSidePage', + `Client side web part with definition id ${control.Id} not found.` + ) + return null + } + let properties = this.tokenHelper.replaceTokens( + JSON.stringify(control.Properties) + ) + properties = replaceUrlTokens(properties, this.config) + const part = ClientsideWebpart.fromComponentDef( + partDefinition + ).setProperties(JSON.parse(properties)) + if (control.ServerProcessedContent) { + const serverProcessedContent = this.tokenHelper.replaceTokens( + JSON.stringify(control.ServerProcessedContent) + ) + part.data.webPartData.serverProcessedContent = JSON.parse( + serverProcessedContent + ) + } + return part + } } diff --git a/src/schema.ts b/src/schema.ts index 219c371..1ccb64a 100644 --- a/src/schema.ts +++ b/src/schema.ts @@ -59,6 +59,7 @@ export interface IClientSidePage { PageLayoutType: any CommentsDisabled?: boolean Sections?: IClientSidePageSection[] + VerticalSection: IClientSideControl[] } export interface IFeature { From b2dc3dec7b16e22f51b5ffacda4de14a36b21386 Mon Sep 17 00:00:00 2001 From: Ole Martin Pettersen Date: Tue, 1 Nov 2022 13:06:28 +0100 Subject: [PATCH 3/4] v3 --- package-lock.json | 822 ++++------------------------------------------ package.json | 5 +- 2 files changed, 57 insertions(+), 770 deletions(-) diff --git a/package-lock.json b/package-lock.json index 260d909..873da79 100644 --- a/package-lock.json +++ b/package-lock.json @@ -371,205 +371,6 @@ "to-fast-properties": "^2.0.0" } }, - "@commitlint/config-conventional": { - "version": "12.1.4", - "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-12.1.4.tgz", - "integrity": "sha512-ZIdzmdy4o4WyqywMEpprRCrehjCSQrHkaRTVZV411GyLigFQHlEBSJITAihLAWe88Qy/8SyoIe5uKvAsV5vRqQ==", - "dev": true, - "requires": { - "conventional-changelog-conventionalcommits": "^4.3.1" - } - }, - "@commitlint/ensure": { - "version": "12.1.4", - "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-12.1.4.tgz", - "integrity": "sha512-MxHIBuAG9M4xl33qUfIeMSasbv3ktK0W+iygldBxZOL4QSYC2Gn66pZAQMnV9o3V+sVFHoAK2XUKqBAYrgbEqw==", - "dev": true, - "requires": { - "@commitlint/types": "^12.1.4", - "lodash": "^4.17.19" - } - }, - "@commitlint/execute-rule": { - "version": "12.1.4", - "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-12.1.4.tgz", - "integrity": "sha512-h2S1j8SXyNeABb27q2Ok2vD1WfxJiXvOttKuRA9Or7LN6OQoC/KtT3844CIhhWNteNMu/wE0gkTqGxDVAnJiHg==", - "dev": true - }, - "@commitlint/format": { - "version": "12.1.4", - "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-12.1.4.tgz", - "integrity": "sha512-h28ucMaoRjVvvgS6Bdf85fa/+ZZ/iu1aeWGCpURnQV7/rrVjkhNSjZwGlCOUd5kDV1EnZ5XdI7L18SUpRjs26g==", - "dev": true, - "requires": { - "@commitlint/types": "^12.1.4", - "chalk": "^4.0.0" - } - }, - "@commitlint/is-ignored": { - "version": "12.1.4", - "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-12.1.4.tgz", - "integrity": "sha512-uTu2jQU2SKvtIRVLOzMQo3KxDtO+iJ1p0olmncwrqy4AfPLgwoyCP2CiULq5M7xpR3+dE3hBlZXbZTQbD7ycIw==", - "dev": true, - "requires": { - "@commitlint/types": "^12.1.4", - "semver": "7.3.5" - }, - "dependencies": { - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@commitlint/lint": { - "version": "12.1.4", - "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-12.1.4.tgz", - "integrity": "sha512-1kZ8YDp4to47oIPFELUFGLiLumtPNKJigPFDuHt2+f3Q3IKdQ0uk53n3CPl4uoyso/Og/EZvb1mXjFR/Yce4cA==", - "dev": true, - "requires": { - "@commitlint/is-ignored": "^12.1.4", - "@commitlint/parse": "^12.1.4", - "@commitlint/rules": "^12.1.4", - "@commitlint/types": "^12.1.4" - } - }, - "@commitlint/load": { - "version": "12.1.4", - "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-12.1.4.tgz", - "integrity": "sha512-Keszi0IOjRzKfxT+qES/n+KZyLrxy79RQz8wWgssCboYjKEp+wC+fLCgbiMCYjI5k31CIzIOq/16J7Ycr0C0EA==", - "dev": true, - "requires": { - "@commitlint/execute-rule": "^12.1.4", - "@commitlint/resolve-extends": "^12.1.4", - "@commitlint/types": "^12.1.4", - "chalk": "^4.0.0", - "cosmiconfig": "^7.0.0", - "lodash": "^4.17.19", - "resolve-from": "^5.0.0" - } - }, - "@commitlint/message": { - "version": "12.1.4", - "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-12.1.4.tgz", - "integrity": "sha512-6QhalEKsKQ/Y16/cTk5NH4iByz26fqws2ub+AinHPtM7Io0jy4e3rym9iE+TkEqiqWZlUigZnTwbPvRJeSUBaA==", - "dev": true - }, - "@commitlint/parse": { - "version": "12.1.4", - "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-12.1.4.tgz", - "integrity": "sha512-yqKSAsK2V4X/HaLb/yYdrzs6oD/G48Ilt0EJ2Mp6RJeWYxG14w/Out6JrneWnr/cpzemyN5hExOg6+TB19H/Lw==", - "dev": true, - "requires": { - "@commitlint/types": "^12.1.4", - "conventional-changelog-angular": "^5.0.11", - "conventional-commits-parser": "^3.0.0" - } - }, - "@commitlint/read": { - "version": "12.1.4", - "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-12.1.4.tgz", - "integrity": "sha512-TnPQSJgD8Aod5Xeo9W4SaYKRZmIahukjcCWJ2s5zb3ZYSmj6C85YD9cR5vlRyrZjj78ItLUV/X4FMWWVIS38Jg==", - "dev": true, - "requires": { - "@commitlint/top-level": "^12.1.4", - "@commitlint/types": "^12.1.4", - "fs-extra": "^9.0.0", - "git-raw-commits": "^2.0.0" - } - }, - "@commitlint/resolve-extends": { - "version": "12.1.4", - "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-12.1.4.tgz", - "integrity": "sha512-R9CoUtsXLd6KSCfsZly04grsH6JVnWFmVtWgWs1KdDpdV+G3TSs37tColMFqglpkx3dsWu8dsPD56+D9YnJfqg==", - "dev": true, - "requires": { - "import-fresh": "^3.0.0", - "lodash": "^4.17.19", - "resolve-from": "^5.0.0", - "resolve-global": "^1.0.0" - } - }, - "@commitlint/rules": { - "version": "12.1.4", - "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-12.1.4.tgz", - "integrity": "sha512-W8m6ZSjg7RuIsIfzQiFHa48X5mcPXeKT9yjBxVmjHvYfS2FDBf1VxCQ7vO0JTVIdV4ohjZ0eKg/wxxUuZHJAZg==", - "dev": true, - "requires": { - "@commitlint/ensure": "^12.1.4", - "@commitlint/message": "^12.1.4", - "@commitlint/to-lines": "^12.1.4", - "@commitlint/types": "^12.1.4" - } - }, - "@commitlint/to-lines": { - "version": "12.1.4", - "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-12.1.4.tgz", - "integrity": "sha512-TParumvbi8bdx3EdLXz2MaX+e15ZgoCqNUgqHsRLwyqLUTRbqCVkzrfadG1UcMQk8/d5aMbb327ZKG3Q4BRorw==", - "dev": true - }, - "@commitlint/top-level": { - "version": "12.1.4", - "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-12.1.4.tgz", - "integrity": "sha512-d4lTJrOT/dXlpY+NIt4CUl77ciEzYeNVc0VFgUQ6VA+b1rqYD2/VWFjBlWVOrklxtSDeKyuEhs36RGrppEFAvg==", - "dev": true, - "requires": { - "find-up": "^5.0.0" - }, - "dependencies": { - "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==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.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==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "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==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - } - } - }, - "@commitlint/types": { - "version": "12.1.4", - "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-12.1.4.tgz", - "integrity": "sha512-KRIjdnWNUx6ywz+SJvjmNCbQKcKP6KArhjZhY2l+CWKxak0d77SOjggkMwFTiSgLODOwmuLTbarR2ZfWPiPMlw==", - "dev": true, - "requires": { - "chalk": "^4.0.0" - } - }, "@fluentui/date-time-utilities": { "version": "7.9.1", "resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-7.9.1.tgz", @@ -903,18 +704,33 @@ } } }, + "@pnp/core": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/@pnp/core/-/core-3.8.0.tgz", + "integrity": "sha512-xPUohlAxbLate6yjR0+ajE29PJouhLqKW6iO37Xl3npT5IdC3C8k/W/RTvXEu1xegHAM+LVYQ3/OhKr+zxf6tw==", + "requires": { + "tslib": "2.4.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, "@pnp/logging": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/@pnp/logging/-/logging-2.14.0.tgz", - "integrity": "sha512-M/7PyG6zf962KI96ORtmnKp+a45x2Wcy5llsz0+i4FYoWRZuXA9UY5ahIO34sRSYB7FZw5tVwmxSlvQKVLWF3w==", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/@pnp/logging/-/logging-3.8.0.tgz", + "integrity": "sha512-y+HpxTiiZWRu9LH+2gIJ0CxDo/Rb6+o92TkCzQKF6wb2LTiePjQXLto3Fj2A1CDX29VAwreTejtyxmb5vC5p3Q==", "requires": { - "tslib": "2.3.0" + "tslib": "2.4.0" }, "dependencies": { "tslib": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", - "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" } } }, @@ -971,6 +787,14 @@ "tslib": "2.3.0" }, "dependencies": { + "@pnp/logging": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/@pnp/logging/-/logging-2.14.0.tgz", + "integrity": "sha512-M/7PyG6zf962KI96ORtmnKp+a45x2Wcy5llsz0+i4FYoWRZuXA9UY5ahIO34sRSYB7FZw5tVwmxSlvQKVLWF3w==", + "requires": { + "tslib": "2.3.0" + } + }, "tslib": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", @@ -978,21 +802,36 @@ } } }, + "@pnp/queryable": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/@pnp/queryable/-/queryable-3.8.0.tgz", + "integrity": "sha512-W2pX05FmIuFaQTNqcbrblgFjd9WVc0W4ElKAf5u4vMp0zlPidtsybkME6YC0o4k9+4LgTT9HZzCEY3ovuxhZ4g==", + "requires": { + "@pnp/core": "3.8.0", + "tslib": "2.4.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, "@pnp/sp": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/@pnp/sp/-/sp-2.14.0.tgz", - "integrity": "sha512-DP1Hajw6gm2vFfNd5iStYTaSVt1aggGQ0rBpOU+5B9tfJb9WBVOlpwQ8jfvRZXNjc9TRGxFTnO1oH29E4MP2UA==", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/@pnp/sp/-/sp-3.8.0.tgz", + "integrity": "sha512-8mfvaCODbdfud3lJVRWbVWIQ4SlbN3sNBhSEDq4fHnC/SNSn21V2ADOR//LqYcovdPQU3AKTlqrorItoSnK8/g==", "requires": { - "@pnp/common": "2.14.0", - "@pnp/logging": "2.14.0", - "@pnp/odata": "2.14.0", - "tslib": "2.3.0" + "@pnp/core": "3.8.0", + "@pnp/queryable": "3.8.0", + "tslib": "2.4.0" }, "dependencies": { "tslib": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", - "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" } } }, @@ -1032,12 +871,6 @@ "integrity": "sha512-Y5WhLt8s/ADXSKROE067Qm7rGH/16jPYswPOKxFx9ipxldm2ZXPENzQuzyvuxqkHR2LFvsvbHIswmi05qdUD9g==", "dev": true }, - "@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", - "dev": true - }, "@types/node": { "version": "8.10.66", "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", @@ -1049,12 +882,6 @@ "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", "dev": true }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true - }, "@types/requirejs": { "version": "2.1.29", "resolved": "https://registry.npmjs.org/@types/requirejs/-/requirejs-2.1.29.tgz", @@ -1302,16 +1129,6 @@ "tslib": "^1.10.0" } }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, "acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", @@ -1408,12 +1225,6 @@ "sprintf-js": "~1.0.2" } }, - "array-ify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", - "dev": true - }, "array-includes": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz", @@ -1445,12 +1256,6 @@ "es-shim-unscopables": "^1.0.0" } }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, "astral-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", @@ -1465,12 +1270,6 @@ "lodash": "^4.17.14" } }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true - }, "axios": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", @@ -1543,23 +1342,6 @@ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - } - }, "caniuse-lite": { "version": "1.0.30001332", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz", @@ -1612,17 +1394,6 @@ "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", "dev": true }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -1638,86 +1409,12 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "commitlint": { - "version": "12.1.4", - "resolved": "https://registry.npmjs.org/commitlint/-/commitlint-12.1.4.tgz", - "integrity": "sha512-SHmNe3eQrVIzxt0x5yyir8AKu6fB0DDf2Vs4Hvij5/T2ckJ22YQsLEpl1vPFKq6YPTmERjNxTgB2Dp2QQ3YTzg==", - "dev": true, - "requires": { - "@commitlint/cli": "^12.1.4", - "@commitlint/types": "^12.1.4" - }, - "dependencies": { - "@commitlint/cli": { - "version": "12.1.4", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-12.1.4.tgz", - "integrity": "sha512-ZR1WjXLvqEffYyBPT0XdnSxtt3Ty1TMoujEtseW5o3vPnkA1UNashAMjQVg/oELqfaiAMnDw8SERPMN0e/0kLg==", - "dev": true, - "requires": { - "@commitlint/format": "^12.1.4", - "@commitlint/lint": "^12.1.4", - "@commitlint/load": "^12.1.4", - "@commitlint/read": "^12.1.4", - "@commitlint/types": "^12.1.4", - "lodash": "^4.17.19", - "resolve-from": "5.0.0", - "resolve-global": "1.0.0", - "yargs": "^16.2.0" - } - } - } - }, - "compare-func": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", - "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", - "dev": true, - "requires": { - "array-ify": "^1.0.0", - "dot-prop": "^5.1.0" - } - }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "conventional-changelog-angular": { - "version": "5.0.13", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", - "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", - "dev": true, - "requires": { - "compare-func": "^2.0.0", - "q": "^1.5.1" - } - }, - "conventional-changelog-conventionalcommits": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz", - "integrity": "sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==", - "dev": true, - "requires": { - "compare-func": "^2.0.0", - "lodash": "^4.17.15", - "q": "^1.5.1" - } - }, - "conventional-commits-parser": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", - "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", - "dev": true, - "requires": { - "JSONStream": "^1.0.4", - "is-text-path": "^1.0.1", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - } - }, "convert-source-map": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", @@ -1735,19 +1432,6 @@ } } }, - "cosmiconfig": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", - "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", - "dev": true, - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } - }, "cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", @@ -1770,12 +1454,6 @@ "type": "^1.0.1" } }, - "dargs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", - "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", - "dev": true - }, "date-utils": { "version": "1.2.21", "resolved": "https://registry.npmjs.org/date-utils/-/date-utils-1.2.21.tgz", @@ -1796,30 +1474,6 @@ } } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", - "dev": true, - "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - } - } - }, "deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -1854,15 +1508,6 @@ "esutils": "^2.0.2" } }, - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dev": true, - "requires": { - "is-obj": "^2.0.0" - } - }, "ecdsa-sig-formatter": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", @@ -2511,18 +2156,6 @@ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -2553,12 +2186,6 @@ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true }, - "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==", - "dev": true - }, "get-intrinsic": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", @@ -2580,19 +2207,6 @@ "get-intrinsic": "^1.1.1" } }, - "git-raw-commits": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", - "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", - "dev": true, - "requires": { - "dargs": "^7.0.0", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - } - }, "glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", @@ -2616,15 +2230,6 @@ "is-glob": "^4.0.1" } }, - "global-dirs": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", - "dev": true, - "requires": { - "ini": "^1.3.4" - } - }, "globals": { "version": "12.4.0", "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", @@ -2656,18 +2261,6 @@ "slash": "^3.0.0" } }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true - }, - "hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true - }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -2713,15 +2306,6 @@ "has-symbols": "^1.0.2" } }, - "hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, "https-proxy-agent": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", @@ -2731,12 +2315,6 @@ "debug": "4" } }, - "husky": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/husky/-/husky-5.2.0.tgz", - "integrity": "sha512-AM8T/auHXRBxlrfPVLKP6jt49GCM2Zz47m8G3FOMsLmTv8Dj/fKVWE0Rh2d4Qrvmy131xEsdQnb3OXRib67PGg==", - "dev": true - }, "iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -2781,12 +2359,6 @@ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -2803,12 +2375,6 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, "inquirer": { "version": "7.3.3", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", @@ -2940,18 +2506,6 @@ "has-tostringtag": "^1.0.0" } }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -3002,15 +2556,6 @@ "has-symbols": "^1.0.2" } }, - "is-text-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", - "dev": true, - "requires": { - "text-extensions": "^1.0.0" - } - }, "is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -3106,22 +2651,6 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", - "dev": true - }, "jsonwebtoken": { "version": "8.5.1", "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", @@ -3168,12 +2697,6 @@ "safe-buffer": "^5.0.1" } }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -3266,31 +2789,6 @@ "yallist": "^4.0.0" } }, - "map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "dev": true - }, - "meow": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", - "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", - "dev": true, - "requires": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - } - }, "merge": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.0.tgz", @@ -3319,12 +2817,6 @@ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, - "min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true - }, "minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -3340,17 +2832,6 @@ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, - "minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - } - }, "mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", @@ -3421,29 +2902,6 @@ "integrity": "sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==", "dev": true }, - "normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "dev": true, - "requires": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -3708,24 +3166,12 @@ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true - }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, - "quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true - }, "raw-loader": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", @@ -3814,27 +3260,6 @@ } } }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "requires": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - } - }, "regexp-tree": { "version": "0.1.24", "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.24.tgz", @@ -3858,12 +3283,6 @@ "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, "requirejs": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz", @@ -3886,21 +3305,6 @@ "supports-preserve-symlinks-flag": "^1.0.0" } }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, - "resolve-global": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", - "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", - "dev": true, - "requires": { - "global-dirs": "^0.1.1" - } - }, "restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", @@ -4116,15 +3520,6 @@ "jsom-ctx": "^1.0.8" } }, - "split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dev": true, - "requires": { - "readable-stream": "^3.0.0" - } - }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -4178,15 +3573,6 @@ "define-properties": "^1.1.3" } }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -4196,15 +3582,6 @@ "ansi-regex": "^5.0.1" } }, - "strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "requires": { - "min-indent": "^1.0.0" - } - }, "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -4278,12 +3655,6 @@ } } }, - "text-extensions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", - "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", - "dev": true - }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -4296,15 +3667,6 @@ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, - "through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "requires": { - "readable-stream": "3" - } - }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -4334,12 +3696,6 @@ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" }, - "trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "dev": true - }, "tslib": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", @@ -4368,12 +3724,6 @@ "prelude-ls": "~1.1.2" } }, - "type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true - }, "typescript": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.7.tgz", @@ -4397,12 +3747,6 @@ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -4412,12 +3756,6 @@ "punycode": "^2.1.0" } }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, "uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", @@ -4486,17 +3824,6 @@ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true }, - "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==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -4530,50 +3857,11 @@ "resolved": "https://registry.npmjs.org/xpath.js/-/xpath.js-1.1.0.tgz", "integrity": "sha512-jg+qkfS4K8E7965sqaUl8mRngXiKb3WZGfONgE18pr03FUQiuSV6G+Ej4tS55B+rIQSFEIw3phdVAQ4pPqNWfQ==" }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "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" - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true - }, - "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==", - "dev": true } } } diff --git a/package.json b/package.json index af0dbbd..cd1b480 100644 --- a/package.json +++ b/package.json @@ -6,16 +6,15 @@ "typings": "./lib/index.d.ts", "dependencies": { "@pnp/common": "2.14.0", - "@pnp/logging": "2.14.0", + "@pnp/logging": "3.8.0", "@pnp/nodejs": "2.14.0", "@pnp/odata": "2.14.0", - "@pnp/sp": "2.14.0", + "@pnp/sp": "3.8.0", "object.omit": "3.0.0", "spfx-jsom": "0.6.4", "xml-js": "1.6.11" }, "devDependencies": { - "@commitlint/config-conventional": "^12.0.1", "@types/es6-promise": "0.0.33", "@types/node": "^8.0.28", "@types/sharepoint": "^2016.1.2", From ef369eba6b951beaa119ec5f882c6ac1258ce3fe Mon Sep 17 00:00:00 2001 From: Ole Martin Pettersen Date: Tue, 1 Nov 2022 13:11:56 +0100 Subject: [PATCH 4/4] Replacing .get() --- src/handlers/contenttypes.ts | 5 ++--- src/handlers/customactions.ts | 3 +-- src/handlers/files.ts | 6 ++---- src/handlers/lists.ts | 19 +++++++------------ src/handlers/navigation.ts | 4 ++-- src/handlers/propertybagentries.ts | 2 +- src/handlers/sitefields.ts | 3 +-- src/provisioningconfig.ts | 2 -- src/webprovisioner.ts | 15 ++++----------- 9 files changed, 20 insertions(+), 39 deletions(-) diff --git a/src/handlers/contenttypes.ts b/src/handlers/contenttypes.ts index ba8d52d..e6f2041 100644 --- a/src/handlers/contenttypes.ts +++ b/src/handlers/contenttypes.ts @@ -41,13 +41,12 @@ export class ContentTypes extends HandlerBase { this.context.contentTypes = ( await web.contentTypes .select('Id', 'Name', 'FieldLinks') - .expand('FieldLinks') - .get() + .expand('FieldLinks')() ).reduce((object, contentType) => { object[contentType.Name] = { ID: contentType.Id.StringValue, Name: contentType.Name, - FieldRefs: contentType.FieldLinks.map((fieldLink: any) => ({ + FieldRefs: contentType['FieldLinks'].map((fieldLink: any) => ({ ID: fieldLink.Id, Name: fieldLink.Name, Required: fieldLink.Required, diff --git a/src/handlers/customactions.ts b/src/handlers/customactions.ts index d684a52..e2bb7d3 100644 --- a/src/handlers/customactions.ts +++ b/src/handlers/customactions.ts @@ -29,8 +29,7 @@ export class CustomActions extends HandlerBase { super.scope_started() try { const existingActions = await web.userCustomActions - .select('Title') - .get<{ Title: string }[]>() + .select('Title')() const batch = web.createBatch() diff --git a/src/handlers/files.ts b/src/handlers/files.ts index eed2b6f..b70564d 100644 --- a/src/handlers/files.ts +++ b/src/handlers/files.ts @@ -380,8 +380,7 @@ export class Files extends HandlerBase { ) { return new Promise((resolve, reject) => { const views = web.lists.getByTitle(listView.List).views - views - .get() + views() .then((listViews) => { const wpView = listViews.filter( (v) => v.ServerRelativeUrl === fileServerRelativeUrl @@ -459,8 +458,7 @@ export class Files extends HandlerBase { }) const listItemAllFields = await pnpFile.listItemAllFields .select('ID', 'ParentList/ID', 'ParentList/Title') - .expand('ParentList') - .get() + .expand('ParentList')() await web.lists .getById(listItemAllFields.ParentList.Id) .items.getById(listItemAllFields.ID) diff --git a/src/handlers/lists.ts b/src/handlers/lists.ts index 4dd864d..6cbf8b6 100644 --- a/src/handlers/lists.ts +++ b/src/handlers/lists.ts @@ -58,8 +58,7 @@ export class Lists extends HandlerBase { try { this.context.lists = ( await web.lists - .select('Id', 'Title') - .get>() + .select('Id', 'Title')() ).reduce((object, l) => { object[l.Title] = l.Id return object @@ -85,8 +84,7 @@ export class Lists extends HandlerBase { ) this.context.lists = ( await web.lists - .select('Id', 'Title') - .get>() + .select('Id', 'Title')() ).reduce((object, l) => { object[l.Title] = l.Id return object @@ -172,7 +170,7 @@ export class Lists extends HandlerBase { ) if (removeExisting) { const promises = [] - const contentTypes = await list.contentTypes.get() + const contentTypes = await list.contentTypes() contentTypes.forEach(({ Id: { StringValue: ContentTypeId } }) => { const shouldRemove = contentTypeBindings.filter((ctb) => @@ -312,11 +310,9 @@ export class Lists extends HandlerBase { const list = web.lists.getByTitle(lc.Title) const [listFields, webFields] = await Promise.all([ list.fields - .select('Id', 'InternalName', 'SchemaXml') - .get(), + .select('Id', 'InternalName', 'SchemaXml')(), web.fields - .select('Id', 'InternalName', 'SchemaXml') - .get() + .select('Id', 'InternalName', 'SchemaXml')() ]) super.log_info( 'processListFieldRefs', @@ -401,8 +397,7 @@ export class Lists extends HandlerBase { this.context.listViews = ( await web.lists .getByTitle(lc.Title) - .views.select('Id', 'Title') - .get>() + .views.select('Id', 'Title')() ).reduce((object, view) => { object[`${lc.Title}|${view.Title}`] = view.Id return object @@ -430,7 +425,7 @@ export class Lists extends HandlerBase { .views.getByTitle(lvc.Title) let viewExists = false try { - await existingView.get() + await existingView() viewExists = true } catch {} try { diff --git a/src/handlers/navigation.ts b/src/handlers/navigation.ts index 85b5db5..2e2dc75 100644 --- a/src/handlers/navigation.ts +++ b/src/handlers/navigation.ts @@ -57,7 +57,7 @@ export class Navigation extends HandlerBase { nodes: INavigationNode[] ): Promise { try { - const existingNodes = await target.get() + const existingNodes = await target() await this.deleteExistingNodes(target) await nodes.reduce( (chain: any, node) => @@ -93,7 +93,7 @@ export class Navigation extends HandlerBase { private async deleteExistingNodes(target: INavigationNodes) { try { - const existingNodes = await target.get() + const existingNodes = await target() await existingNodes.reduce( (chain: Promise, n: any) => chain.then(() => this.deleteNode(target, n.Id)), diff --git a/src/handlers/propertybagentries.ts b/src/handlers/propertybagentries.ts index 8219857..c7f7ea1 100644 --- a/src/handlers/propertybagentries.ts +++ b/src/handlers/propertybagentries.ts @@ -43,7 +43,7 @@ export class PropertyBagEntries extends HandlerBase { ) reject() } else { - web.get().then(({ ServerRelativeUrl }) => { + web().then(({ ServerRelativeUrl }) => { const context = new SP.ClientContext(ServerRelativeUrl), spWeb = context.get_web(), propertyBag = spWeb.get_allProperties(), diff --git a/src/handlers/sitefields.ts b/src/handlers/sitefields.ts index b9d7a59..00ff3dd 100644 --- a/src/handlers/sitefields.ts +++ b/src/handlers/sitefields.ts @@ -38,8 +38,7 @@ export class SiteFields extends HandlerBase { try { this.context.siteFields = ( await web.fields - .select('Id', 'InternalName') - .get>() + .select('Id', 'InternalName')() ).reduce((object, l) => { object[l.InternalName] = l.Id return object diff --git a/src/provisioningconfig.ts b/src/provisioningconfig.ts index afd42bd..fc65bd4 100644 --- a/src/provisioningconfig.ts +++ b/src/provisioningconfig.ts @@ -1,5 +1,4 @@ import { LogLevel } from '@pnp/logging' -import { ISPConfiguration } from '@pnp/sp/presets/all' export type ProvisioningParameters = { [key: string]: string } @@ -15,5 +14,4 @@ export interface IProvisioningConfig { parameters?: ProvisioningParameters spfxContext?: any logging?: IProvisioningLogging - spConfiguration?: ISPConfiguration } diff --git a/src/webprovisioner.ts b/src/webprovisioner.ts index 5ab1c79..ada6cd0 100644 --- a/src/webprovisioner.ts +++ b/src/webprovisioner.ts @@ -6,7 +6,6 @@ import { DefaultHandlerMap, DefaultHandlerSort } from './handlers/exports' import { ProvisioningContext } from './provisioningcontext' import { IProvisioningConfig } from './provisioningconfig' import { IWeb } from '@pnp/sp/webs' -import { sp } from '@pnp/sp' import '@pnp/sp/webs' /** @@ -25,21 +24,15 @@ export class WebProvisioner { constructor( private web: IWeb, public handlerSort: Record = DefaultHandlerSort - ) {} + ) { } private async onSetup() { - if (this.config && this.config.spfxContext) { - sp.setup({ - spfxContext: this.config.spfxContext, - ...(this.config.spConfiguration || {}) - }) - } - if (this.config && this.config.logging) { - Logger.subscribe(new ConsoleListener()) + if (this.config?.logging) { + Logger.subscribe(ConsoleListener()) Logger.activeLogLevel = this.config.logging.activeLogLevel } this.handlerMap = DefaultHandlerMap(this.config) - this.context.web = await this.web.get() + this.context.web = await this.web() } /**