@zxncij2390/monorepo3 3.18.0
Sign up to get free protection for your applications and to get access to all the features.
- package/.eslintignore +16 -0
- package/.eslintrc.cjs +150 -0
- package/.github/ISSUE_TEMPLATE/bug-report.yml +178 -0
- package/.github/ISSUE_TEMPLATE/enhancement.yml +99 -0
- package/.github/ISSUE_TEMPLATE/question.yml +72 -0
- package/.github/ISSUE_TEMPLATE.md +39 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +24 -0
- package/.github/workflows/lock.yml +18 -0
- package/.github/workflows/publish-buildsystem.yml +34 -0
- package/.github/workflows/publish-docs.yml +21 -0
- package/.github/workflows/publish.yml +40 -0
- package/.github/workflows/pull_request.yaml +28 -0
- package/.github/workflows/push.yaml +32 -0
- package/.github/workflows/v3-nightly.yml +40 -0
- package/.mocharc.cjs +68 -0
- package/.vscode/launch.json +103 -0
- package/.vscode/settings.json +17 -0
- package/.vscode/tasks.json +124 -0
- package/AUTHORS +13 -0
- package/CHANGELOG.md +33 -0
- package/CODE_OF_CONDUCT.md +6 -0
- package/CONTRIBUTING.md +9 -0
- package/LICENSE +25 -0
- package/README.md +66 -0
- package/buildsystem-config.ts +146 -0
- package/debug/launch/graph.ts +20 -0
- package/debug/launch/main.ts +38 -0
- package/debug/launch/setup.ts +50 -0
- package/debug/launch/sp.ts +21 -0
- package/debug/launch/tsconfig.json +27 -0
- package/debug/serve/main.ts +47 -0
- package/debug/serve/plumbing/local-module-resolver-plugin.ts +68 -0
- package/debug/serve/plumbing/run.ts +24 -0
- package/debug/serve/plumbing/serve.ts +27 -0
- package/debug/serve/plumbing/webpack.config.ts +43 -0
- package/debug/serve/spa.html +12 -0
- package/debug/serve/tsconfig.json +15 -0
- package/debug/spfx/.eslintrc.js +352 -0
- package/debug/spfx/README.md +73 -0
- package/debug/spfx/package-lock.json +57299 -0
- package/debug/spfx/package.json +38 -0
- package/debug/spfx/pnpjs-local-debug-start.js +19 -0
- package/debug/spfx/teams/f4c0e5ff-c402-46b7-8073-8cc506808d06_color.png +0 -0
- package/debug/spfx/teams/f4c0e5ff-c402-46b7-8073-8cc506808d06_outline.png +0 -0
- package/docs/_theme/main.html +5 -0
- package/docs/azidjsclient/index.md +36 -0
- package/docs/concepts/adv-clientside-pages.md +169 -0
- package/docs/concepts/auth-browser.md +42 -0
- package/docs/concepts/auth-nodejs.md +101 -0
- package/docs/concepts/auth-spfx.md +76 -0
- package/docs/concepts/authentication.md +42 -0
- package/docs/concepts/batching-caching.md +77 -0
- package/docs/concepts/batching.md +257 -0
- package/docs/concepts/calling-other-endpoints.md +213 -0
- package/docs/concepts/custom-bundle.md +15 -0
- package/docs/concepts/error-handling.md +245 -0
- package/docs/concepts/invokable.md +7 -0
- package/docs/concepts/nightly-builds.md +19 -0
- package/docs/concepts/project-preset.md +123 -0
- package/docs/concepts/selective-imports.md +106 -0
- package/docs/concepts/typings.md +23 -0
- package/docs/contributing/debug-tests.md +76 -0
- package/docs/contributing/debugging.md +135 -0
- package/docs/contributing/documentation.md +34 -0
- package/docs/contributing/extending-the-library.md +223 -0
- package/docs/contributing/index.md +22 -0
- package/docs/contributing/local-debug-configuration.md +28 -0
- package/docs/contributing/npm-scripts.md +148 -0
- package/docs/contributing/pull-requests.md +27 -0
- package/docs/contributing/settings.md +98 -0
- package/docs/contributing/setup-dev-machine.md +36 -0
- package/docs/core/behavior-recipes.md +199 -0
- package/docs/core/behaviors.md +179 -0
- package/docs/core/moments.md +215 -0
- package/docs/core/observers.md +100 -0
- package/docs/core/storage.md +90 -0
- package/docs/core/timeline.md +190 -0
- package/docs/core/util.md +191 -0
- package/docs/css/extra.css +33 -0
- package/docs/getting-started.md +361 -0
- package/docs/graph/behaviors.md +267 -0
- package/docs/graph/bookings.md +180 -0
- package/docs/graph/calendars.md +270 -0
- package/docs/graph/cloud-communications.md +40 -0
- package/docs/graph/columns.md +125 -0
- package/docs/graph/contacts.md +298 -0
- package/docs/graph/content-types.md +193 -0
- package/docs/graph/directoryobjects.md +106 -0
- package/docs/graph/groups.md +164 -0
- package/docs/graph/insights.md +151 -0
- package/docs/graph/invitations.md +22 -0
- package/docs/graph/items.md +38 -0
- package/docs/graph/lists.md +87 -0
- package/docs/graph/messages.md +20 -0
- package/docs/graph/onedrive.md +614 -0
- package/docs/graph/outlook.md +82 -0
- package/docs/graph/photos.md +71 -0
- package/docs/graph/planner.md +249 -0
- package/docs/graph/search.md +25 -0
- package/docs/graph/shares.md +44 -0
- package/docs/graph/sites.md +47 -0
- package/docs/graph/subscriptions.md +79 -0
- package/docs/graph/teams.md +293 -0
- package/docs/graph/users.md +134 -0
- package/docs/img/ConsoleListenerColors.png +0 -0
- package/docs/img/Logo.png +0 -0
- package/docs/img/PnPJS_FluentAPI.gif +0 -0
- package/docs/img/SPFx-On-Premesis-2016-1.png +0 -0
- package/docs/img/TimelineArchitecture.jpg +0 -0
- package/docs/img/csp_copyccvalue.png +0 -0
- package/docs/img/csp_networktab.png +0 -0
- package/docs/img/office365-header-icon.png +0 -0
- package/docs/img/usage-2020-eoy.png +0 -0
- package/docs/img/usage-2021-eoy.png +0 -0
- package/docs/img/usage-2022-eoy.png +0 -0
- package/docs/index.md +56 -0
- package/docs/logging/index.md +262 -0
- package/docs/msaljsclient/index.md +33 -0
- package/docs/news/2020-year-in-review.md +162 -0
- package/docs/news/2021-year-in-review.md +148 -0
- package/docs/news/2022-year-in-review.md +122 -0
- package/docs/nodejs/behaviors.md +164 -0
- package/docs/nodejs/sp-extensions.md +99 -0
- package/docs/packages.md +53 -0
- package/docs/queryable/behaviors.md +496 -0
- package/docs/queryable/extensions.md +204 -0
- package/docs/queryable/queryable.md +385 -0
- package/docs/sp/alias-parameters.md +76 -0
- package/docs/sp/alm.md +139 -0
- package/docs/sp/attachments.md +157 -0
- package/docs/sp/behaviors.md +142 -0
- package/docs/sp/clientside-pages.md +1048 -0
- package/docs/sp/column-defaults.md +241 -0
- package/docs/sp/comments-likes.md +302 -0
- package/docs/sp/content-types.md +131 -0
- package/docs/sp/context-info.md +67 -0
- package/docs/sp/favorites.md +91 -0
- package/docs/sp/features.md +83 -0
- package/docs/sp/fields.md +668 -0
- package/docs/sp/files.md +559 -0
- package/docs/sp/folders.md +532 -0
- package/docs/sp/forms.md +22 -0
- package/docs/sp/groupSiteManager.md +40 -0
- package/docs/sp/hubsites.md +140 -0
- package/docs/sp/items.md +601 -0
- package/docs/sp/lists.md +572 -0
- package/docs/sp/navigation.md +171 -0
- package/docs/sp/permissions.md +82 -0
- package/docs/sp/profiles.md +407 -0
- package/docs/sp/publishing-sitepageservice.md +16 -0
- package/docs/sp/recycle-bin.md +72 -0
- package/docs/sp/regional-settings.md +108 -0
- package/docs/sp/related-items.md +136 -0
- package/docs/sp/search.md +207 -0
- package/docs/sp/security.md +196 -0
- package/docs/sp/sharing.md +273 -0
- package/docs/sp/site-designs.md +117 -0
- package/docs/sp/site-groups.md +144 -0
- package/docs/sp/site-scripts.md +123 -0
- package/docs/sp/site-users.md +211 -0
- package/docs/sp/sites.md +269 -0
- package/docs/sp/social.md +182 -0
- package/docs/sp/sp-utilities-utility.md +159 -0
- package/docs/sp/subscriptions.md +79 -0
- package/docs/sp/taxonomy.md +470 -0
- package/docs/sp/tenant-properties.md +55 -0
- package/docs/sp/user-custom-actions.md +95 -0
- package/docs/sp/views.md +226 -0
- package/docs/sp/webs.md +947 -0
- package/docs/sp-admin/index.md +139 -0
- package/docs/transition-guide.md +87 -0
- package/docs/v1/404.html +1611 -0
- package/docs/v1/assets/fonts/font-awesome.css +4 -0
- package/docs/v1/assets/fonts/material-icons.css +13 -0
- package/docs/v1/assets/fonts/specimen/FontAwesome.ttf +0 -0
- package/docs/v1/assets/fonts/specimen/FontAwesome.woff +0 -0
- package/docs/v1/assets/fonts/specimen/FontAwesome.woff2 +0 -0
- package/docs/v1/assets/fonts/specimen/MaterialIcons-Regular.ttf +0 -0
- package/docs/v1/assets/fonts/specimen/MaterialIcons-Regular.woff +0 -0
- package/docs/v1/assets/fonts/specimen/MaterialIcons-Regular.woff2 +0 -0
- package/docs/v1/assets/images/favicon.png +0 -0
- package/docs/v1/assets/images/icons/bitbucket.1b09e088.svg +20 -0
- package/docs/v1/assets/images/icons/github.f0b8504a.svg +18 -0
- package/docs/v1/assets/images/icons/gitlab.6dd19c00.svg +38 -0
- package/docs/v1/assets/javascripts/application.583bbe55.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.da.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.de.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.du.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.es.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.fi.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.fr.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.hu.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.it.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.jp.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.multi.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.no.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.pt.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.ro.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.ru.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.stemmer.support.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.sv.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.tr.js +1 -0
- package/docs/v1/assets/javascripts/lunr/tinyseg.js +1 -0
- package/docs/v1/assets/javascripts/modernizr.1aa3b519.js +1 -0
- package/docs/v1/assets/stylesheets/application-palette.22915126.css +1176 -0
- package/docs/v1/assets/stylesheets/application.451f80e5.css +2552 -0
- package/docs/v1/common/docs/adalclient/index.html +1994 -0
- package/docs/v1/common/docs/collections/index.html +1786 -0
- package/docs/v1/common/docs/custom-httpclientimpl/index.html +1798 -0
- package/docs/v1/common/docs/index.html +1787 -0
- package/docs/v1/common/docs/libconfig/index.html +1930 -0
- package/docs/v1/common/docs/netutil/index.html +1860 -0
- package/docs/v1/common/docs/storage/index.html +1850 -0
- package/docs/v1/common/docs/util/index.html +2058 -0
- package/docs/v1/config-store/docs/configuration/index.html +1730 -0
- package/docs/v1/config-store/docs/index.html +1761 -0
- package/docs/v1/config-store/docs/providers/index.html +1782 -0
- package/docs/v1/documentation/SPFx-On-Premesis-2016/index.html +1720 -0
- package/docs/v1/documentation/beta-versions/index.html +1742 -0
- package/docs/v1/documentation/css/extra.css +33 -0
- package/docs/v1/documentation/debugging/index.html +2098 -0
- package/docs/v1/documentation/deployment/index.html +1972 -0
- package/docs/v1/documentation/documentation/index.html +1760 -0
- package/docs/v1/documentation/getting-started/index.html +2280 -0
- package/docs/v1/documentation/getting-started-dev/index.html +1799 -0
- package/docs/v1/documentation/gulp-commands/index.html +2100 -0
- package/docs/v1/documentation/img/Logo.png +0 -0
- package/docs/v1/documentation/img/PnPJS_FluentAPI.gif +0 -0
- package/docs/v1/documentation/img/SPFx-On-Premesis-2016-1.png +0 -0
- package/docs/v1/documentation/img/office365-header-icon.png +0 -0
- package/docs/v1/documentation/img/pnpjs-common-uml.svg +220 -0
- package/docs/v1/documentation/img/pnpjs-config-store-uml.svg +56 -0
- package/docs/v1/documentation/img/pnpjs-graph-uml.svg +602 -0
- package/docs/v1/documentation/img/pnpjs-logging-uml.svg +59 -0
- package/docs/v1/documentation/img/pnpjs-nodejs-uml.svg +85 -0
- package/docs/v1/documentation/img/pnpjs-odata-uml.svg +253 -0
- package/docs/v1/documentation/img/pnpjs-sp-addinhelpers-uml.svg +48 -0
- package/docs/v1/documentation/img/pnpjs-sp-clientsvc-uml.svg +167 -0
- package/docs/v1/documentation/img/pnpjs-sp-taxonomy-uml.svg +458 -0
- package/docs/v1/documentation/img/pnpjs-sp-uml.svg +2833 -0
- package/docs/v1/documentation/package-structure/index.html +1875 -0
- package/docs/v1/documentation/packages/index.html +1741 -0
- package/docs/v1/documentation/polyfill/index.html +1877 -0
- package/docs/v1/documentation/theme/main.html +5 -0
- package/docs/v1/documentation/transition-guide/index.html +1977 -0
- package/docs/v1/graph/docs/contacts/index.html +2080 -0
- package/docs/v1/graph/docs/directoryobjects/index.html +1865 -0
- package/docs/v1/graph/docs/index.html +1858 -0
- package/docs/v1/graph/docs/insights/index.html +1698 -0
- package/docs/v1/graph/docs/invitations/index.html +1742 -0
- package/docs/v1/graph/docs/onedrive/index.html +2086 -0
- package/docs/v1/graph/docs/people/index.html +1664 -0
- package/docs/v1/graph/docs/planner/index.html +2097 -0
- package/docs/v1/graph/docs/security/index.html +1692 -0
- package/docs/v1/graph/docs/sites/index.html +2043 -0
- package/docs/v1/graph/docs/subscriptions/index.html +1835 -0
- package/docs/v1/graph/docs/teams/index.html +2097 -0
- package/docs/v1/index.html +1889 -0
- package/docs/v1/logging/docs/index.html +2045 -0
- package/docs/v1/nodejs/docs/adal-certificate-fetch-client/index.html +1676 -0
- package/docs/v1/nodejs/docs/adal-fetch-client/index.html +1713 -0
- package/docs/v1/nodejs/docs/bearer-token-fetch-client/index.html +1712 -0
- package/docs/v1/nodejs/docs/index.html +1764 -0
- package/docs/v1/nodejs/docs/provider-hosted-app/index.html +1725 -0
- package/docs/v1/nodejs/docs/proxy/index.html +1699 -0
- package/docs/v1/nodejs/docs/sp-fetch-client/index.html +1895 -0
- package/docs/v1/odata/docs/caching/index.html +1988 -0
- package/docs/v1/odata/docs/core/index.html +1829 -0
- package/docs/v1/odata/docs/index.html +1781 -0
- package/docs/v1/odata/docs/odata-batch/index.html +1755 -0
- package/docs/v1/odata/docs/parsers/index.html +1862 -0
- package/docs/v1/odata/docs/pipeline/index.html +1811 -0
- package/docs/v1/odata/docs/queryable/index.html +1967 -0
- package/docs/v1/pnpjs/docs/index.html +1814 -0
- package/docs/v1/search/search_index.json +1 -0
- package/docs/v1/sitemap.xml +428 -0
- package/docs/v1/sitemap.xml.gz +0 -0
- package/docs/v1/sp/docs/alias-parameters/index.html +1830 -0
- package/docs/v1/sp/docs/alm/index.html +1920 -0
- package/docs/v1/sp/docs/attachments/index.html +1998 -0
- package/docs/v1/sp/docs/client-side-pages/index.html +2031 -0
- package/docs/v1/sp/docs/comments-likes/index.html +1958 -0
- package/docs/v1/sp/docs/content-types/index.html +1758 -0
- package/docs/v1/sp/docs/entity-merging/index.html +1838 -0
- package/docs/v1/sp/docs/features/index.html +1824 -0
- package/docs/v1/sp/docs/fields/index.html +2031 -0
- package/docs/v1/sp/docs/files/index.html +2178 -0
- package/docs/v1/sp/docs/index.html +1894 -0
- package/docs/v1/sp/docs/items/index.html +2362 -0
- package/docs/v1/sp/docs/navigation-service/index.html +1791 -0
- package/docs/v1/sp/docs/permissions/index.html +1860 -0
- package/docs/v1/sp/docs/profiles/index.html +1794 -0
- package/docs/v1/sp/docs/related-items/index.html +1886 -0
- package/docs/v1/sp/docs/search/index.html +1830 -0
- package/docs/v1/sp/docs/sharing/index.html +2058 -0
- package/docs/v1/sp/docs/sitedesigns/index.html +1851 -0
- package/docs/v1/sp/docs/sites/index.html +2186 -0
- package/docs/v1/sp/docs/social/index.html +2011 -0
- package/docs/v1/sp/docs/sp-utilities-utility/index.html +2061 -0
- package/docs/v1/sp/docs/tenant-properties/index.html +1795 -0
- package/docs/v1/sp/docs/views/index.html +1869 -0
- package/docs/v1/sp/docs/webs/index.html +1972 -0
- package/docs/v1/sp-addinhelpers/docs/index.html +1771 -0
- package/docs/v1/sp-addinhelpers/docs/sp-request-executor-client/index.html +1760 -0
- package/docs/v1/sp-addinhelpers/docs/sp-rest-addin/index.html +1711 -0
- package/docs/v1/sp-clientsvc/docs/index.html +1736 -0
- package/docs/v1/sp-taxonomy/docs/index.html +1887 -0
- package/docs/v1/sp-taxonomy/docs/labels/index.html +1827 -0
- package/docs/v1/sp-taxonomy/docs/term-groups/index.html +1875 -0
- package/docs/v1/sp-taxonomy/docs/term-sets/index.html +1946 -0
- package/docs/v1/sp-taxonomy/docs/term-stores/index.html +2111 -0
- package/docs/v1/sp-taxonomy/docs/terms/index.html +2036 -0
- package/docs/v1/sp-taxonomy/docs/utilities/index.html +1783 -0
- package/docs/v2/404.html +2108 -0
- package/docs/v2/SPFx-on-premises/index.html +2278 -0
- package/docs/v2/_theme/main.html +5 -0
- package/docs/v2/adaljsclient/adalclient/index.html +15 -0
- package/docs/v2/adaljsclient/index.html +15 -0
- package/docs/v2/assets/images/favicon.png +0 -0
- package/docs/v2/assets/javascripts/bundle.9554a270.min.js +2 -0
- package/docs/v2/assets/javascripts/bundle.9554a270.min.js.map +1 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.ar.min.js +1 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.da.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.de.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.du.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.es.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.fi.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.fr.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.hu.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.it.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.ja.min.js +1 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.jp.min.js +1 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.multi.min.js +1 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.nl.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.no.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.pt.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.ro.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.ru.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +1 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.sv.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.tr.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.vi.min.js +1 -0
- package/docs/v2/assets/javascripts/lunr/tinyseg.min.js +1 -0
- package/docs/v2/assets/javascripts/vendor.77e55a48.min.js +30 -0
- package/docs/v2/assets/javascripts/vendor.77e55a48.min.js.map +1 -0
- package/docs/v2/assets/javascripts/worker/search.4ac00218.min.js +59 -0
- package/docs/v2/assets/javascripts/worker/search.4ac00218.min.js.map +1 -0
- package/docs/v2/assets/stylesheets/main.38780c08.min.css +3 -0
- package/docs/v2/assets/stylesheets/main.38780c08.min.css.map +1 -0
- package/docs/v2/assets/stylesheets/palette.3f72e892.min.css +3 -0
- package/docs/v2/assets/stylesheets/palette.3f72e892.min.css.map +1 -0
- package/docs/v2/authentication/adaljsclient/index.html +2510 -0
- package/docs/v2/authentication/bearertokenclient/index.html +2251 -0
- package/docs/v2/authentication/client-spa/index.html +2206 -0
- package/docs/v2/authentication/client-spfx/index.html +2397 -0
- package/docs/v2/authentication/index.html +2307 -0
- package/docs/v2/authentication/lambdaclient/index.html +2304 -0
- package/docs/v2/authentication/msaljsclient/index.html +2413 -0
- package/docs/v2/authentication/server-nodejs/index.html +2404 -0
- package/docs/v2/authentication/sp-app-registration/index.html +2273 -0
- package/docs/v2/common/collections/index.html +2277 -0
- package/docs/v2/common/custom-httpclientimpl/index.html +2300 -0
- package/docs/v2/common/index.html +2262 -0
- package/docs/v2/common/libconfig/index.html +2413 -0
- package/docs/v2/common/netutil/index.html +2350 -0
- package/docs/v2/common/storage/index.html +2339 -0
- package/docs/v2/common/util/index.html +2638 -0
- package/docs/v2/concepts/configuration/index.html +2685 -0
- package/docs/v2/concepts/custom-bundle/index.html +2279 -0
- package/docs/v2/concepts/error-handling/index.html +2539 -0
- package/docs/v2/concepts/ie11-mode/index.html +2278 -0
- package/docs/v2/concepts/invokable/index.html +2254 -0
- package/docs/v2/concepts/polyfill/index.html +2401 -0
- package/docs/v2/concepts/selective-imports/index.html +2360 -0
- package/docs/v2/concepts/settings/index.html +2551 -0
- package/docs/v2/config-store/configuration/index.html +2226 -0
- package/docs/v2/config-store/index.html +2239 -0
- package/docs/v2/config-store/providers/index.html +2275 -0
- package/docs/v2/contributing/debug-tests/index.html +2323 -0
- package/docs/v2/contributing/debugging/index.html +2514 -0
- package/docs/v2/contributing/documentation/index.html +2291 -0
- package/docs/v2/contributing/extending-the-library/index.html +2521 -0
- package/docs/v2/contributing/index.html +2270 -0
- package/docs/v2/contributing/local-debug-configuration/index.html +2284 -0
- package/docs/v2/contributing/pull-requests/index.html +2261 -0
- package/docs/v2/contributing/setup-dev-machine/index.html +2284 -0
- package/docs/v2/css/extra.css +33 -0
- package/docs/v2/debug-tests/index.html +15 -0
- package/docs/v2/debugging/index.html +15 -0
- package/docs/v2/documentation/index.html +15 -0
- package/docs/v2/getting-started/index.html +2789 -0
- package/docs/v2/getting-started-dev/index.html +15 -0
- package/docs/v2/graph/calendars/index.html +2569 -0
- package/docs/v2/graph/contacts/index.html +2673 -0
- package/docs/v2/graph/directoryobjects/index.html +2402 -0
- package/docs/v2/graph/groups/index.html +2488 -0
- package/docs/v2/graph/index.html +2333 -0
- package/docs/v2/graph/insights/index.html +2478 -0
- package/docs/v2/graph/invitations/index.html +2273 -0
- package/docs/v2/graph/onedrive/index.html +2617 -0
- package/docs/v2/graph/outlook/index.html +2363 -0
- package/docs/v2/graph/photos/index.html +2351 -0
- package/docs/v2/graph/planner/index.html +2628 -0
- package/docs/v2/graph/search/index.html +2264 -0
- package/docs/v2/graph/subscriptions/index.html +2333 -0
- package/docs/v2/graph/teams/index.html +2619 -0
- package/docs/v2/graph/users/index.html +2461 -0
- package/docs/v2/img/ConsoleListenerColors.png +0 -0
- package/docs/v2/img/Logo.png +0 -0
- package/docs/v2/img/PnPJS_FluentAPI.gif +0 -0
- package/docs/v2/img/SPFx-On-Premesis-2016-1.png +0 -0
- package/docs/v2/img/office365-header-icon.png +0 -0
- package/docs/v2/img/usage-2020-eoy.png +0 -0
- package/docs/v2/index.html +2410 -0
- package/docs/v2/logging/index.html +2622 -0
- package/docs/v2/news/2020-year-in-review/index.html +2525 -0
- package/docs/v2/nodejs/adal-fetch-client/index.html +2204 -0
- package/docs/v2/nodejs/bearer-token-fetch-client/index.html +2203 -0
- package/docs/v2/nodejs/index.html +2261 -0
- package/docs/v2/nodejs/provider-hosted-app/index.html +2220 -0
- package/docs/v2/nodejs/proxy/index.html +2238 -0
- package/docs/v2/nodejs/sp-extensions/index.html +2362 -0
- package/docs/v2/nodejs/sp-fetch-client/index.html +2294 -0
- package/docs/v2/nodejs-support/index.html +2398 -0
- package/docs/v2/npm-scripts/index.html +2521 -0
- package/docs/v2/odata/caching/index.html +2465 -0
- package/docs/v2/odata/core/index.html +2322 -0
- package/docs/v2/odata/debug/index.html +2358 -0
- package/docs/v2/odata/extensions/index.html +2581 -0
- package/docs/v2/odata/index.html +2259 -0
- package/docs/v2/odata/odata-batch/index.html +2250 -0
- package/docs/v2/odata/parsers/index.html +2355 -0
- package/docs/v2/odata/pipeline/index.html +2297 -0
- package/docs/v2/odata/queryable/index.html +2455 -0
- package/docs/v2/packages/index.html +2251 -0
- package/docs/v2/pnpjs/index.html +2281 -0
- package/docs/v2/search/search_index.json +1 -0
- package/docs/v2/sitemap.xml +483 -0
- package/docs/v2/sitemap.xml.gz +0 -0
- package/docs/v2/sp/alias-parameters/index.html +2330 -0
- package/docs/v2/sp/alm/index.html +2433 -0
- package/docs/v2/sp/attachments/index.html +2504 -0
- package/docs/v2/sp/clientside-pages/index.html +3477 -0
- package/docs/v2/sp/column-defaults/index.html +2540 -0
- package/docs/v2/sp/comments-likes/index.html +2646 -0
- package/docs/v2/sp/content-types/index.html +2462 -0
- package/docs/v2/sp/custom-irequestclient/index.html +2339 -0
- package/docs/v2/sp/entity-merging/index.html +2325 -0
- package/docs/v2/sp/features/index.html +2440 -0
- package/docs/v2/sp/fields/index.html +3103 -0
- package/docs/v2/sp/files/index.html +2949 -0
- package/docs/v2/sp/folders/index.html +2968 -0
- package/docs/v2/sp/forms/index.html +2289 -0
- package/docs/v2/sp/hubsites/index.html +2485 -0
- package/docs/v2/sp/index.html +2328 -0
- package/docs/v2/sp/items/index.html +2974 -0
- package/docs/v2/sp/lists/index.html +3387 -0
- package/docs/v2/sp/navigation/index.html +2535 -0
- package/docs/v2/sp/permissions/index.html +2338 -0
- package/docs/v2/sp/profiles/index.html +2806 -0
- package/docs/v2/sp/regional-settings/index.html +2394 -0
- package/docs/v2/sp/related-items/index.html +2417 -0
- package/docs/v2/sp/search/index.html +2474 -0
- package/docs/v2/sp/security/index.html +2432 -0
- package/docs/v2/sp/sharing/index.html +2589 -0
- package/docs/v2/sp/site-designs/index.html +2414 -0
- package/docs/v2/sp/site-groups/index.html +2504 -0
- package/docs/v2/sp/site-scripts/index.html +2433 -0
- package/docs/v2/sp/site-users/index.html +2641 -0
- package/docs/v2/sp/sites/index.html +2727 -0
- package/docs/v2/sp/social/index.html +2517 -0
- package/docs/v2/sp/sp-utilities-utility/index.html +2460 -0
- package/docs/v2/sp/subscriptions/index.html +2395 -0
- package/docs/v2/sp/taxonomy/index.html +2565 -0
- package/docs/v2/sp/tenant-properties/index.html +2286 -0
- package/docs/v2/sp/user-custom-actions/index.html +2424 -0
- package/docs/v2/sp/views/index.html +2652 -0
- package/docs/v2/sp/webs/index.html +4190 -0
- package/docs/v2/sp-addinhelpers/index.html +2274 -0
- package/docs/v2/sp-addinhelpers/sp-request-executor-client/index.html +2253 -0
- package/docs/v2/sp-addinhelpers/sp-rest-addin/index.html +2206 -0
- package/docs/v2/transition-guide/index.html +2435 -0
- package/mkdocs-requirements.txt +2 -0
- package/mkdocs.yml +188 -0
- package/package.json +96 -0
- package/packages/azidjsclient/index.ts +68 -0
- package/packages/azidjsclient/package.json +13 -0
- package/packages/azidjsclient/tsconfig.json +12 -0
- package/packages/core/behaviors/assign-from.ts +17 -0
- package/packages/core/behaviors/copy-from.ts +58 -0
- package/packages/core/extendable.ts +193 -0
- package/packages/core/index.ts +11 -0
- package/packages/core/moments.ts +117 -0
- package/packages/core/package.json +10 -0
- package/packages/core/storage.ts +274 -0
- package/packages/core/timeline.ts +387 -0
- package/packages/core/tsconfig.json +10 -0
- package/packages/core/util.ts +169 -0
- package/packages/graph/attachments/conversations.ts +14 -0
- package/packages/graph/attachments/index.ts +8 -0
- package/packages/graph/attachments/types.ts +37 -0
- package/packages/graph/batching.ts +408 -0
- package/packages/graph/behaviors/consistency-level.ts +17 -0
- package/packages/graph/behaviors/defaults.ts +41 -0
- package/packages/graph/behaviors/endpoint.ts +22 -0
- package/packages/graph/behaviors/graphbrowser.ts +38 -0
- package/packages/graph/behaviors/paged.ts +109 -0
- package/packages/graph/behaviors/spfx.ts +46 -0
- package/packages/graph/behaviors/telemetry.ts +19 -0
- package/packages/graph/bookings/funcs.ts +18 -0
- package/packages/graph/bookings/index.ts +62 -0
- package/packages/graph/bookings/types.ts +352 -0
- package/packages/graph/calendars/funcs.ts +58 -0
- package/packages/graph/calendars/groups.ts +19 -0
- package/packages/graph/calendars/index.ts +18 -0
- package/packages/graph/calendars/types.ts +73 -0
- package/packages/graph/calendars/users.ts +28 -0
- package/packages/graph/cloud-communications/index.ts +24 -0
- package/packages/graph/cloud-communications/types.ts +32 -0
- package/packages/graph/cloud-communications/users.ts +15 -0
- package/packages/graph/columns/addColumns.ts +28 -0
- package/packages/graph/columns/content-types.ts +44 -0
- package/packages/graph/columns/index.ts +14 -0
- package/packages/graph/columns/lists.ts +33 -0
- package/packages/graph/columns/sites.ts +32 -0
- package/packages/graph/columns/types.ts +24 -0
- package/packages/graph/contacts/index.ts +14 -0
- package/packages/graph/contacts/types.ts +126 -0
- package/packages/graph/contacts/users.ts +17 -0
- package/packages/graph/content-types/index.ts +11 -0
- package/packages/graph/content-types/lists.ts +44 -0
- package/packages/graph/content-types/sites.ts +70 -0
- package/packages/graph/content-types/types.ts +112 -0
- package/packages/graph/conversations/groups.ts +20 -0
- package/packages/graph/conversations/index.ts +19 -0
- package/packages/graph/conversations/types.ts +147 -0
- package/packages/graph/decorators.ts +164 -0
- package/packages/graph/directory-objects/index.ts +24 -0
- package/packages/graph/directory-objects/types.ts +94 -0
- package/packages/graph/fi.ts +46 -0
- package/packages/graph/graphqueryable.ts +193 -0
- package/packages/graph/groups/index.ts +25 -0
- package/packages/graph/groups/types.ts +130 -0
- package/packages/graph/index.ts +21 -0
- package/packages/graph/insights/index.ts +20 -0
- package/packages/graph/insights/types.ts +105 -0
- package/packages/graph/insights/users.ts +14 -0
- package/packages/graph/invitations/index.ts +22 -0
- package/packages/graph/invitations/types.ts +41 -0
- package/packages/graph/lists/drive.ts +21 -0
- package/packages/graph/lists/index.ts +10 -0
- package/packages/graph/lists/sites.ts +16 -0
- package/packages/graph/lists/types.ts +47 -0
- package/packages/graph/members/groups.ts +17 -0
- package/packages/graph/members/index.ts +8 -0
- package/packages/graph/members/types.ts +40 -0
- package/packages/graph/messages/index.ts +14 -0
- package/packages/graph/messages/types.ts +46 -0
- package/packages/graph/messages/users.ts +27 -0
- package/packages/graph/onedrive/funcs.ts +40 -0
- package/packages/graph/onedrive/groups.ts +33 -0
- package/packages/graph/onedrive/index.ts +48 -0
- package/packages/graph/onedrive/sites.ts +35 -0
- package/packages/graph/onedrive/types.ts +482 -0
- package/packages/graph/onedrive/users.ts +56 -0
- package/packages/graph/onenote/index.ts +16 -0
- package/packages/graph/onenote/types.ts +119 -0
- package/packages/graph/onenote/users.ts +14 -0
- package/packages/graph/operations.ts +22 -0
- package/packages/graph/outlook/index.ts +11 -0
- package/packages/graph/outlook/types.ts +58 -0
- package/packages/graph/outlook/users.ts +14 -0
- package/packages/graph/package.json +16 -0
- package/packages/graph/photos/groups.ts +14 -0
- package/packages/graph/photos/index.ts +7 -0
- package/packages/graph/photos/types.ts +33 -0
- package/packages/graph/photos/users.ts +14 -0
- package/packages/graph/planner/groups.ts +14 -0
- package/packages/graph/planner/index.ts +42 -0
- package/packages/graph/planner/types.ts +213 -0
- package/packages/graph/planner/users.ts +14 -0
- package/packages/graph/post-install.cjs +20 -0
- package/packages/graph/presets/all.ts +42 -0
- package/packages/graph/search/index.ts +18 -0
- package/packages/graph/search/types.ts +20 -0
- package/packages/graph/shares/index.ts +23 -0
- package/packages/graph/shares/types.ts +47 -0
- package/packages/graph/sites/group.ts +14 -0
- package/packages/graph/sites/index.ts +25 -0
- package/packages/graph/sites/types.ts +45 -0
- package/packages/graph/subscriptions/index.ts +24 -0
- package/packages/graph/subscriptions/types.ts +59 -0
- package/packages/graph/teams/index.ts +68 -0
- package/packages/graph/teams/types.ts +333 -0
- package/packages/graph/teams/users.ts +14 -0
- package/packages/graph/tsconfig.json +16 -0
- package/packages/graph/users/index.ts +34 -0
- package/packages/graph/users/types.ts +56 -0
- package/packages/graph/utils/type.ts +3 -0
- package/packages/logging/index.ts +145 -0
- package/packages/logging/listeners.ts +134 -0
- package/packages/logging/package.json +10 -0
- package/packages/logging/tsconfig.json +7 -0
- package/packages/msaljsclient/index.ts +40 -0
- package/packages/msaljsclient/package.json +12 -0
- package/packages/msaljsclient/tsconfig.json +12 -0
- package/packages/nodejs/behaviors/fetch.ts +130 -0
- package/packages/nodejs/behaviors/graphdefault.ts +50 -0
- package/packages/nodejs/behaviors/msal.ts +24 -0
- package/packages/nodejs/behaviors/spdefault.ts +45 -0
- package/packages/nodejs/behaviors/stream-parse.ts +7 -0
- package/packages/nodejs/index.ts +33 -0
- package/packages/nodejs/package.json +17 -0
- package/packages/nodejs/sp-extensions/stream.ts +136 -0
- package/packages/nodejs/tsconfig.json +28 -0
- package/packages/queryable/add-prop.ts +18 -0
- package/packages/queryable/behaviors/bearer-token.ts +15 -0
- package/packages/queryable/behaviors/browser-fetch.ts +131 -0
- package/packages/queryable/behaviors/caching-pessimistic.ts +67 -0
- package/packages/queryable/behaviors/caching.ts +149 -0
- package/packages/queryable/behaviors/cancelable.ts +264 -0
- package/packages/queryable/behaviors/inject-headers.ts +23 -0
- package/packages/queryable/behaviors/parsers.ts +134 -0
- package/packages/queryable/behaviors/resolvers.ts +28 -0
- package/packages/queryable/behaviors/timeout.ts +24 -0
- package/packages/queryable/index.ts +19 -0
- package/packages/queryable/invokable.ts +42 -0
- package/packages/queryable/operations.ts +32 -0
- package/packages/queryable/package.json +11 -0
- package/packages/queryable/queryable-factory.ts +19 -0
- package/packages/queryable/queryable.ts +239 -0
- package/packages/queryable/request-builders.ts +20 -0
- package/packages/queryable/tsconfig.json +11 -0
- package/packages/readme.md +21 -0
- package/packages/sp/appcatalog/index.ts +35 -0
- package/packages/sp/appcatalog/types.ts +176 -0
- package/packages/sp/appcatalog/web.ts +19 -0
- package/packages/sp/attachments/index.ts +11 -0
- package/packages/sp/attachments/item.ts +17 -0
- package/packages/sp/attachments/types.ts +95 -0
- package/packages/sp/batching.ts +483 -0
- package/packages/sp/behaviors/defaults.ts +38 -0
- package/packages/sp/behaviors/request-digest.ts +78 -0
- package/packages/sp/behaviors/spbrowser.ts +40 -0
- package/packages/sp/behaviors/spfx.ts +83 -0
- package/packages/sp/behaviors/telemetry.ts +35 -0
- package/packages/sp/clientside-pages/funcs.ts +27 -0
- package/packages/sp/clientside-pages/index.ts +27 -0
- package/packages/sp/clientside-pages/types.ts +1661 -0
- package/packages/sp/clientside-pages/web.ts +93 -0
- package/packages/sp/column-defaults/folder.ts +89 -0
- package/packages/sp/column-defaults/index.ts +8 -0
- package/packages/sp/column-defaults/list.ts +219 -0
- package/packages/sp/column-defaults/types.ts +19 -0
- package/packages/sp/comments/clientside-page.ts +120 -0
- package/packages/sp/comments/index.ts +14 -0
- package/packages/sp/comments/item.ts +77 -0
- package/packages/sp/comments/types.ts +160 -0
- package/packages/sp/content-types/index.ts +17 -0
- package/packages/sp/content-types/item.ts +17 -0
- package/packages/sp/content-types/list.ts +17 -0
- package/packages/sp/content-types/types.ts +181 -0
- package/packages/sp/content-types/web.ts +17 -0
- package/packages/sp/context-info/index.ts +40 -0
- package/packages/sp/decorators.ts +18 -0
- package/packages/sp/favorites/index.ts +32 -0
- package/packages/sp/favorites/types.ts +187 -0
- package/packages/sp/features/index.ts +11 -0
- package/packages/sp/features/site.ts +17 -0
- package/packages/sp/features/types.ts +73 -0
- package/packages/sp/features/web.ts +17 -0
- package/packages/sp/fi.ts +46 -0
- package/packages/sp/fields/index.ts +22 -0
- package/packages/sp/fields/list.ts +17 -0
- package/packages/sp/fields/types.ts +648 -0
- package/packages/sp/fields/web.ts +23 -0
- package/packages/sp/files/folder.ts +17 -0
- package/packages/sp/files/index.ts +25 -0
- package/packages/sp/files/item.ts +17 -0
- package/packages/sp/files/readable-file.ts +40 -0
- package/packages/sp/files/types.ts +771 -0
- package/packages/sp/files/web.ts +46 -0
- package/packages/sp/folders/index.ts +19 -0
- package/packages/sp/folders/item.ts +16 -0
- package/packages/sp/folders/list.ts +17 -0
- package/packages/sp/folders/types.ts +439 -0
- package/packages/sp/folders/web.ts +50 -0
- package/packages/sp/forms/index.ts +9 -0
- package/packages/sp/forms/list.ts +14 -0
- package/packages/sp/forms/types.ts +41 -0
- package/packages/sp/groupsitemanager/index.ts +18 -0
- package/packages/sp/groupsitemanager/types.ts +433 -0
- package/packages/sp/hubsites/index.ts +31 -0
- package/packages/sp/hubsites/site.ts +43 -0
- package/packages/sp/hubsites/types.ts +71 -0
- package/packages/sp/hubsites/web.ts +38 -0
- package/packages/sp/index.ts +24 -0
- package/packages/sp/items/get-all.ts +52 -0
- package/packages/sp/items/index.ts +18 -0
- package/packages/sp/items/list.ts +14 -0
- package/packages/sp/items/types.ts +405 -0
- package/packages/sp/lists/index.ts +23 -0
- package/packages/sp/lists/types.ts +851 -0
- package/packages/sp/lists/web.ts +68 -0
- package/packages/sp/navigation/index.ts +35 -0
- package/packages/sp/navigation/types.ts +243 -0
- package/packages/sp/navigation/web.ts +19 -0
- package/packages/sp/operations.ts +33 -0
- package/packages/sp/package.json +15 -0
- package/packages/sp/post-install.cjs +20 -0
- package/packages/sp/presets/all.ts +75 -0
- package/packages/sp/profiles/index.ts +30 -0
- package/packages/sp/profiles/types.ts +595 -0
- package/packages/sp/publishing-sitepageservice/index.ts +22 -0
- package/packages/sp/publishing-sitepageservice/types.ts +18 -0
- package/packages/sp/recycle-bin/index.ts +36 -0
- package/packages/sp/recycle-bin/types.ts +113 -0
- package/packages/sp/regional-settings/content-type.ts +11 -0
- package/packages/sp/regional-settings/field.ts +11 -0
- package/packages/sp/regional-settings/funcs.ts +10 -0
- package/packages/sp/regional-settings/index.ts +18 -0
- package/packages/sp/regional-settings/list.ts +11 -0
- package/packages/sp/regional-settings/types.ts +159 -0
- package/packages/sp/regional-settings/user-custom-actions.ts +11 -0
- package/packages/sp/regional-settings/web.ts +21 -0
- package/packages/sp/related-items/index.ts +7 -0
- package/packages/sp/related-items/types.ts +194 -0
- package/packages/sp/related-items/web.ts +22 -0
- package/packages/sp/search/index.ts +48 -0
- package/packages/sp/search/query.ts +254 -0
- package/packages/sp/search/suggest.ts +130 -0
- package/packages/sp/search/types.ts +480 -0
- package/packages/sp/security/funcs.ts +94 -0
- package/packages/sp/security/index.ts +21 -0
- package/packages/sp/security/item.ts +29 -0
- package/packages/sp/security/list.ts +29 -0
- package/packages/sp/security/types.ts +440 -0
- package/packages/sp/security/web.ts +34 -0
- package/packages/sp/sharing/file.ts +75 -0
- package/packages/sp/sharing/folder.ts +69 -0
- package/packages/sp/sharing/funcs.ts +258 -0
- package/packages/sp/sharing/index.ts +27 -0
- package/packages/sp/sharing/item.ts +53 -0
- package/packages/sp/sharing/types.ts +626 -0
- package/packages/sp/sharing/web.ts +109 -0
- package/packages/sp/site-designs/index.ts +29 -0
- package/packages/sp/site-designs/types.ts +456 -0
- package/packages/sp/site-designs/web.ts +41 -0
- package/packages/sp/site-groups/index.ts +11 -0
- package/packages/sp/site-groups/types.ts +133 -0
- package/packages/sp/site-groups/web.ts +73 -0
- package/packages/sp/site-scripts/index.ts +27 -0
- package/packages/sp/site-scripts/list.ts +27 -0
- package/packages/sp/site-scripts/types.ts +243 -0
- package/packages/sp/site-scripts/web.ts +24 -0
- package/packages/sp/site-users/index.ts +12 -0
- package/packages/sp/site-users/types.ts +195 -0
- package/packages/sp/site-users/web.ts +56 -0
- package/packages/sp/sites/index.ts +26 -0
- package/packages/sp/sites/types.ts +422 -0
- package/packages/sp/social/index.ts +33 -0
- package/packages/sp/social/types.ts +381 -0
- package/packages/sp/spqueryable.ts +244 -0
- package/packages/sp/sputilities/index.ts +23 -0
- package/packages/sp/sputilities/types.ts +197 -0
- package/packages/sp/subscriptions/index.ts +10 -0
- package/packages/sp/subscriptions/list.ts +18 -0
- package/packages/sp/subscriptions/types.ts +107 -0
- package/packages/sp/taxonomy/index.ts +50 -0
- package/packages/sp/taxonomy/types.ts +508 -0
- package/packages/sp/tsconfig.json +16 -0
- package/packages/sp/types.ts +283 -0
- package/packages/sp/user-custom-actions/index.ts +15 -0
- package/packages/sp/user-custom-actions/list.ts +18 -0
- package/packages/sp/user-custom-actions/site.ts +18 -0
- package/packages/sp/user-custom-actions/types.ts +133 -0
- package/packages/sp/user-custom-actions/web.ts +21 -0
- package/packages/sp/utils/encode-path-str.ts +29 -0
- package/packages/sp/utils/extract-web-url.ts +21 -0
- package/packages/sp/utils/file-names.ts +35 -0
- package/packages/sp/utils/metadata.ts +5 -0
- package/packages/sp/utils/odata-url-from.ts +42 -0
- package/packages/sp/utils/to-resource-path.ts +9 -0
- package/packages/sp/views/index.ts +14 -0
- package/packages/sp/views/list.ts +33 -0
- package/packages/sp/views/types.ts +210 -0
- package/packages/sp/webparts/file.ts +21 -0
- package/packages/sp/webparts/index.ts +11 -0
- package/packages/sp/webparts/types.ts +141 -0
- package/packages/sp/webs/index.ts +32 -0
- package/packages/sp/webs/types.ts +350 -0
- package/packages/sp-admin/index.ts +46 -0
- package/packages/sp-admin/office-tenant.ts +567 -0
- package/packages/sp-admin/package.json +13 -0
- package/packages/sp-admin/site-properties.ts +45 -0
- package/packages/sp-admin/tenant.ts +595 -0
- package/packages/sp-admin/tsconfig.json +20 -0
- package/packages/sp-admin/types.ts +1679 -0
- package/packages/tsconfig-watch.json +9 -0
- package/packages/tsconfig.json +37 -0
- package/pre-install.cjs +1 -0
- package/samples/custom-bundle-webpack/index.ts +33 -0
- package/samples/custom-bundle-webpack/package-lock.json +4601 -0
- package/samples/custom-bundle-webpack/package.json +18 -0
- package/samples/custom-bundle-webpack/readme.md +102 -0
- package/samples/custom-bundle-webpack/tsconfig.json +12 -0
- package/samples/custom-bundle-webpack/webpack.config.js +27 -0
- package/samples/nodejs-app/.vscode/launch.json +27 -0
- package/samples/nodejs-app/.vscode/settings.json +10 -0
- package/samples/nodejs-app/.vscode/tasks.json +22 -0
- package/samples/nodejs-app/index.ts +63 -0
- package/samples/nodejs-app/package-lock.json +259 -0
- package/samples/nodejs-app/package.json +21 -0
- package/samples/nodejs-app/readme.md +140 -0
- package/samples/nodejs-app/tsconfig.json +14 -0
- package/samples/nodejs-commonjs/package-lock.json +702 -0
- package/samples/nodejs-commonjs/package.json +21 -0
- package/samples/nodejs-commonjs/readme.md +58 -0
- package/samples/nodejs-commonjs/src/index.ts +23 -0
- package/samples/nodejs-commonjs/src/settings.ts +35 -0
- package/samples/nodejs-commonjs/tsconfig.json +35 -0
- package/samples/project-preset/README.md +73 -0
- package/samples/project-preset/package-lock.json +21097 -0
- package/samples/project-preset/package.json +29 -0
- package/samples/project-preset/teams/4530a515-8ba7-45bb-9a27-be06b33c59d4_color.png +0 -0
- package/samples/project-preset/teams/4530a515-8ba7-45bb-9a27-be06b33c59d4_outline.png +0 -0
- package/samples/readme.md +16 -0
- package/settings.example.js +57 -0
- package/test/args.ts +107 -0
- package/test/clean-subsite.ts +36 -0
- package/test/core/assumptions.ts +99 -0
- package/test/core/storage.ts +60 -0
- package/test/core/timeline.ts +205 -0
- package/test/core/util.ts +205 -0
- package/test/graph/assets/testconvert.docx +0 -0
- package/test/graph/batch.ts +125 -0
- package/test/graph/calendars.ts +234 -0
- package/test/graph/columns.ts +247 -0
- package/test/graph/contacts.ts +254 -0
- package/test/graph/content-types.ts +206 -0
- package/test/graph/directoryobjects.ts +115 -0
- package/test/graph/groups.ts +130 -0
- package/test/graph/lists.ts +72 -0
- package/test/graph/onedrive.ts +365 -0
- package/test/graph/outlook.ts +95 -0
- package/test/graph/paging.ts +91 -0
- package/test/graph/planner.ts +160 -0
- package/test/graph/querable.ts +97 -0
- package/test/graph/search.ts +4 -0
- package/test/graph/shares.ts +26 -0
- package/test/graph/sites.ts +40 -0
- package/test/graph/teams.ts +76 -0
- package/test/graph/utilities/getTestingGraphSPSite.ts +27 -0
- package/test/graph/utilities/getValidUser.ts +37 -0
- package/test/load-settings.ts +103 -0
- package/test/logging/logging.ts +86 -0
- package/test/mocha-root-hooks.ts +227 -0
- package/test/nodejs/sp-extensions.ts +86 -0
- package/test/pnp-test.ts +60 -0
- package/test/queryable/add-prop.ts +24 -0
- package/test/queryable/behaviors.ts +188 -0
- package/test/queryable/invokable.ts +35 -0
- package/test/queryable/queryable.ts +118 -0
- package/test/sp/alias.ts +46 -0
- package/test/sp/appcatalog.ts +142 -0
- package/test/sp/assets/helloworld.sppkg +0 -0
- package/test/sp/assets/sample_file.jpg +0 -0
- package/test/sp/attachments.ts +134 -0
- package/test/sp/batch.ts +362 -0
- package/test/sp/clientside-pages.ts +426 -0
- package/test/sp/column-defaults.ts +225 -0
- package/test/sp/comments.ts +202 -0
- package/test/sp/content-types.ts +68 -0
- package/test/sp/favorites.ts +2 -0
- package/test/sp/features.ts +201 -0
- package/test/sp/fields.ts +396 -0
- package/test/sp/files.ts +338 -0
- package/test/sp/folders.ts +242 -0
- package/test/sp/forms.ts +22 -0
- package/test/sp/groupsitemanager.ts +88 -0
- package/test/sp/hubsites.ts +41 -0
- package/test/sp/items.ts +179 -0
- package/test/sp/lists.ts +319 -0
- package/test/sp/navigation.ts +167 -0
- package/test/sp/profiles.ts +2 -0
- package/test/sp/query-escaping.ts +94 -0
- package/test/sp/recycle-bin.ts +1 -0
- package/test/sp/regional-settings.ts +58 -0
- package/test/sp/related-items.ts +94 -0
- package/test/sp/search.ts +39 -0
- package/test/sp/security.ts +90 -0
- package/test/sp/sharing.ts +313 -0
- package/test/sp/site-designs.ts +224 -0
- package/test/sp/site-groups.ts +98 -0
- package/test/sp/site-scripts.ts +162 -0
- package/test/sp/site-users.ts +93 -0
- package/test/sp/sites.ts +156 -0
- package/test/sp/social.ts +2 -0
- package/test/sp/spfx.ts +52 -0
- package/test/sp/sputilities.ts +78 -0
- package/test/sp/subscriptions.ts +64 -0
- package/test/sp/taxonomy.ts +178 -0
- package/test/sp/user-custom-actions.ts +31 -0
- package/test/sp/views.ts +117 -0
- package/test/sp/webparts.ts +38 -0
- package/test/sp/webs.ts +249 -0
- package/test/test-invokable-props.ts +35 -0
- package/test/test-props.ts +90 -0
- package/test/test-recording.ts +171 -0
- package/test/tsconfig.json +18 -0
- package/tools/buildsystem/package-lock.json +4404 -0
- package/tools/buildsystem/package.json +56 -0
- package/tools/buildsystem/readme.md +23 -0
- package/tools/config.js +34 -0
- package/tools/local-module-resolver/cjs.ts +33 -0
- package/tools/local-module-resolver/esm-debug.ts +2 -0
- package/tools/local-module-resolver/esm-test.ts +2 -0
- package/tools/local-module-resolver/esm.ts +112 -0
- package/tools/local-module-resolver/readme.md +8 -0
- package/tsconfig.buildsystem.json +17 -0
- package/tsconfig.json +42 -0
@@ -0,0 +1,262 @@
|
|
1
|
+
# @pnp/logging
|
2
|
+
|
3
|
+
[![npm version](https://badge.fury.io/js/%40pnp%2Flogging.svg)](https://badge.fury.io/js/%40pnp%2Flogging)
|
4
|
+
|
5
|
+
The logging module provides light weight subscribable and extensible logging framework which is used internally and available for use in your projects. This article outlines how to setup logging and use the various loggers.
|
6
|
+
|
7
|
+
## Getting Started
|
8
|
+
|
9
|
+
Install the logging module, it has no other dependencies
|
10
|
+
|
11
|
+
`npm install @pnp/logging --save`
|
12
|
+
|
13
|
+
## Understanding the Logging Framework
|
14
|
+
|
15
|
+
The logging framework is centered on the Logger class to which any number of listeners can be subscribed. Each of these listeners will receive each of the messages logged. Each listener must implement the _ILogListener_ interface, shown below. There is only one method to implement and it takes an instance of the LogEntry interface as a parameter.
|
16
|
+
|
17
|
+
```TypeScript
|
18
|
+
/**
|
19
|
+
* Interface that defines a log listener
|
20
|
+
*
|
21
|
+
*/
|
22
|
+
export interface ILogListener {
|
23
|
+
/**
|
24
|
+
* Any associated data that a given logging listener may choose to log or ignore
|
25
|
+
*
|
26
|
+
* @param entry The information to be logged
|
27
|
+
*/
|
28
|
+
log(entry: ILogEntry): void;
|
29
|
+
}
|
30
|
+
|
31
|
+
/**
|
32
|
+
* Interface that defines a log entry
|
33
|
+
*
|
34
|
+
*/
|
35
|
+
export interface ILogEntry {
|
36
|
+
/**
|
37
|
+
* The main message to be logged
|
38
|
+
*/
|
39
|
+
message: string;
|
40
|
+
/**
|
41
|
+
* The level of information this message represents
|
42
|
+
*/
|
43
|
+
level: LogLevel;
|
44
|
+
/**
|
45
|
+
* Any associated data that a given logging listener may choose to log or ignore
|
46
|
+
*/
|
47
|
+
data?: any;
|
48
|
+
}
|
49
|
+
```
|
50
|
+
|
51
|
+
### Log Levels
|
52
|
+
|
53
|
+
```TypeScript
|
54
|
+
export const enum LogLevel {
|
55
|
+
Verbose = 0,
|
56
|
+
Info = 1,
|
57
|
+
Warning = 2,
|
58
|
+
Error = 3,
|
59
|
+
Off = 99,
|
60
|
+
}
|
61
|
+
```
|
62
|
+
|
63
|
+
## Writing to the Logger
|
64
|
+
|
65
|
+
To write information to a logger you can use either write, writeJSON, or log.
|
66
|
+
|
67
|
+
```TypeScript
|
68
|
+
import {
|
69
|
+
Logger,
|
70
|
+
LogLevel
|
71
|
+
} from "@pnp/logging";
|
72
|
+
|
73
|
+
// write logs a simple string as the message value of the LogEntry
|
74
|
+
Logger.write("This is logging a simple string");
|
75
|
+
|
76
|
+
// optionally passing a level, default level is Verbose
|
77
|
+
Logger.write("This is logging a simple string", LogLevel.Error);
|
78
|
+
|
79
|
+
// this will convert the object to a string using JSON.stringify and set the message with the result
|
80
|
+
Logger.writeJSON({ name: "value", name2: "value2"});
|
81
|
+
|
82
|
+
// optionally passing a level, default level is Verbose
|
83
|
+
Logger.writeJSON({ name: "value", name2: "value2"}, LogLevel.Warning);
|
84
|
+
|
85
|
+
// specify the entire LogEntry interface using log
|
86
|
+
Logger.log({
|
87
|
+
data: { name: "value", name2: "value2"},
|
88
|
+
level: LogLevel.Warning,
|
89
|
+
message: "This is my message"
|
90
|
+
});
|
91
|
+
```
|
92
|
+
|
93
|
+
## Log an error
|
94
|
+
|
95
|
+
There exists a shortcut method to log an error to the Logger. This will log an entry to the subscribed loggers where the data property will be the Error
|
96
|
+
instance passed in, the level will be 'Error', and the message will be the Error instance's message property.
|
97
|
+
|
98
|
+
```TypeScript
|
99
|
+
const e = Error("An Error");
|
100
|
+
|
101
|
+
Logger.error(e);
|
102
|
+
```
|
103
|
+
|
104
|
+
## Subscribing a Listener
|
105
|
+
|
106
|
+
By default no listeners are subscribed, so if you would like to get logging information you need to subscribe at least one listener. This is done as shown below by importing the Logger and your listener(s) of choice. Here we are using the provided ConsoleListener. We are also setting the active log level, which controls the level of logging that will be output. Be aware that Verbose produces a substantial amount of data about each request.
|
107
|
+
|
108
|
+
```TypeScript
|
109
|
+
import {
|
110
|
+
Logger,
|
111
|
+
ConsoleListener,
|
112
|
+
LogLevel
|
113
|
+
} from "@pnp/logging";
|
114
|
+
|
115
|
+
// subscribe a listener
|
116
|
+
Logger.subscribe(ConsoleListener());
|
117
|
+
|
118
|
+
// set the active log level
|
119
|
+
Logger.activeLogLevel = LogLevel.Info;
|
120
|
+
```
|
121
|
+
|
122
|
+
## Available Listeners
|
123
|
+
|
124
|
+
There are two listeners included in the library, ConsoleListener and FunctionListener.
|
125
|
+
|
126
|
+
### ConsoleListener
|
127
|
+
|
128
|
+
This listener outputs information to the console and works in Node as well as within browsers. It can be used without settings and writes to the appropriate console method based on message level. For example a LogEntry with level Warning will be written to console.warn. Basic usage is shown in the example above.
|
129
|
+
|
130
|
+
#### Configuration Options
|
131
|
+
|
132
|
+
Although ConsoleListener can be used without configuration, there are some additional options available to you. ConsoleListener supports adding a prefix to every output (helpful for filtering console messages) and specifying text color for messages (including by LogLevel).
|
133
|
+
|
134
|
+
##### Using a Prefix
|
135
|
+
|
136
|
+
To add a prefix to all output, supply a string in the constructor:
|
137
|
+
|
138
|
+
```TypeScript
|
139
|
+
import {
|
140
|
+
Logger,
|
141
|
+
ConsoleListener,
|
142
|
+
LogLevel
|
143
|
+
} from "@pnp/logging";
|
144
|
+
|
145
|
+
const LOG_SOURCE: string = 'MyAwesomeWebPart';
|
146
|
+
Logger.subscribe(ConsoleListener(LOG_SOURCE));
|
147
|
+
Logger.activeLogLevel = LogLevel.Info;
|
148
|
+
```
|
149
|
+
|
150
|
+
With the above configuration, `Logger.write("My special message");` will be output to the console as:
|
151
|
+
```
|
152
|
+
MyAwesomeWebPart - My special message
|
153
|
+
```
|
154
|
+
|
155
|
+
##### Customizing Text Color
|
156
|
+
|
157
|
+
You can also specify text color for your messages by supplying an `IConsoleListenerColors` object. You can simply specify `color` to set the default color for all logging levels or you can set one or more logging level specific text colors (if you only want to set color for a specific logging level(s), leave `color` out and all other log levels will use the default color).
|
158
|
+
|
159
|
+
Colors can be specified the same way [color values are specified in CSS](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value) (named colors, hex values, rgb, rgba, hsl, hsla, etc.):
|
160
|
+
|
161
|
+
```TypeScript
|
162
|
+
import {
|
163
|
+
Logger,
|
164
|
+
ConsoleListener,
|
165
|
+
LogLevel
|
166
|
+
} from "@pnp/logging";
|
167
|
+
|
168
|
+
const LOG_SOURCE: string = 'MyAwesomeWebPart';
|
169
|
+
Logger.subscribe(ConsoleListener(LOG_SOURCE, {color:'#0b6a0b',warningColor:'magenta'}));
|
170
|
+
Logger.activeLogLevel = LogLevel.Info;
|
171
|
+
```
|
172
|
+
|
173
|
+
With the above configuration:
|
174
|
+
|
175
|
+
```TypeScript
|
176
|
+
Logger.write("My special message");
|
177
|
+
Logger.write("A warning!", LogLevel.Warning);
|
178
|
+
```
|
179
|
+
|
180
|
+
Will result in messages that look like this:
|
181
|
+
|
182
|
+
![ConsoleListener with Colors](../img/ConsoleListenerColors.png)
|
183
|
+
|
184
|
+
Color options:
|
185
|
+
|
186
|
+
- `color`: Default text color for all logging levels unless they're specified
|
187
|
+
- `verboseColor`: Text color to use for messages with LogLevel.Verbose
|
188
|
+
- `infoColor`: Text color to use for messages with LogLevel.Info
|
189
|
+
- `warningColor`: Text color to use for messages with LogLevel.Warning
|
190
|
+
- `errorColor`: Text color to use for messages with LogLevel.Error
|
191
|
+
|
192
|
+
To set colors without a prefix, specify either `undefined` or an empty string for the first parameter:
|
193
|
+
|
194
|
+
```TypeScript
|
195
|
+
Logger.subscribe(ConsoleListener(undefined, {color:'purple'}));
|
196
|
+
```
|
197
|
+
|
198
|
+
### FunctionListener
|
199
|
+
|
200
|
+
The FunctionListener allows you to wrap any functionality by creating a function that takes a LogEntry as its single argument. This produces the same result as implementing the LogListener interface, but is useful if you already have a logging method or framework to which you want to pass the messages.
|
201
|
+
|
202
|
+
```TypeScript
|
203
|
+
import {
|
204
|
+
Logger,
|
205
|
+
FunctionListener,
|
206
|
+
ILogEntry
|
207
|
+
} from "@pnp/logging";
|
208
|
+
|
209
|
+
let listener = new FunctionListener((entry: ILogEntry) => {
|
210
|
+
|
211
|
+
// pass all logging data to an existing framework
|
212
|
+
MyExistingCompanyLoggingFramework.log(entry.message);
|
213
|
+
});
|
214
|
+
|
215
|
+
Logger.subscribe(listener);
|
216
|
+
```
|
217
|
+
|
218
|
+
### Create a Custom Listener
|
219
|
+
|
220
|
+
If desirable for your project you can create a custom listener to perform any logging action you would like. This is done by implementing the ILogListener interface.
|
221
|
+
|
222
|
+
```TypeScript
|
223
|
+
import {
|
224
|
+
Logger,
|
225
|
+
ILogListener,
|
226
|
+
ILogEntry
|
227
|
+
} from "@pnp/logging";
|
228
|
+
|
229
|
+
class MyListener implements ILogListener {
|
230
|
+
|
231
|
+
log(entry: ILogEntry): void {
|
232
|
+
// here you would do something with the entry
|
233
|
+
}
|
234
|
+
}
|
235
|
+
|
236
|
+
Logger.subscribe(new MyListener());
|
237
|
+
```
|
238
|
+
|
239
|
+
## Logging Behavior
|
240
|
+
|
241
|
+
To allow seamless logging with v3 we have introduced the `PnPLogging` behavior. It takes a single augument representing the log level of _that behavior_, allowing you to be very selective in what logging you want to get. As well the log level applied here ignores any global level set with `activeLogLevel` on Logger.
|
242
|
+
|
243
|
+
```TypeScript
|
244
|
+
import { LogLevel, PnPLogging, Logger, ConsoleListener } from "@pnp/logging";
|
245
|
+
import { spfi, SPFx } from "@pnp/sp";
|
246
|
+
import "@pnp/sp/webs";
|
247
|
+
import "@pnp/sp/lists";
|
248
|
+
|
249
|
+
// subscribe a listener
|
250
|
+
Logger.subscribe(ConsoleListener());
|
251
|
+
|
252
|
+
// at the root we only want to log errors, which will be sent to all subscribed loggers on Logger
|
253
|
+
const sp = spfi().using(SPFx(this.context), PnPLogging(LogLevel.Error));
|
254
|
+
|
255
|
+
|
256
|
+
const list = sp.web.lists.getByTitle("My List");
|
257
|
+
// use verbose logging with this particular list because you are trying to debug something
|
258
|
+
list.using(PnPLogging(LogLevel.Verbose));
|
259
|
+
|
260
|
+
const listData = await list();
|
261
|
+
```
|
262
|
+
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# @pnp/msaljsclient
|
2
|
+
|
3
|
+
This library provides a thin wrapper around the [msal](https://github.com/AzureAD/microsoft-authentication-library-for-js) library to make it easy to integrate MSAL authentication in the browser.
|
4
|
+
|
5
|
+
You will first need to install the package:
|
6
|
+
|
7
|
+
`npm install @pnp/msaljsclient --save`
|
8
|
+
|
9
|
+
The configuration and authParams
|
10
|
+
|
11
|
+
```TypeScript
|
12
|
+
import { spfi, SPBrowser } from "@pnp/sp";
|
13
|
+
import { MSAL } from "@pnp/msaljsclient";
|
14
|
+
import "@pnp/sp/webs";
|
15
|
+
|
16
|
+
const configuation = {
|
17
|
+
auth: {
|
18
|
+
authority: "https://login.microsoftonline.com/common",
|
19
|
+
clientId: "{client id}",
|
20
|
+
}
|
21
|
+
};
|
22
|
+
|
23
|
+
const authParams = {
|
24
|
+
scopes: ["https://{tenant}.sharepoint.com/.default"],
|
25
|
+
};
|
26
|
+
|
27
|
+
const sp = spfi("https://tenant.sharepoint.com/sites/dev").using(SPBrowser(), MSAL(configuration, authParams));
|
28
|
+
|
29
|
+
const webData = await sp.web();
|
30
|
+
```
|
31
|
+
|
32
|
+
Please see more scenarios in the [authentication article](../concepts/authentication.md).
|
33
|
+
|
@@ -0,0 +1,162 @@
|
|
1
|
+
# 2020 Year End Report
|
2
|
+
|
3
|
+
Welcome to our first year in review report for PnPjs. This year has marked usage milestones, seen more contributors than ever, and expanded the core maintainers team. But none of this would be possible without everyones support and participation - so we start by saying Thank You! We deeply appreciate everyone that has used, helped us grow, and improved the library over the last year.
|
4
|
+
|
5
|
+
This year we introduced MSAL clients for node and browser, improved our testing/local development plumbing, and updated the libraries to work with the node 15 module resolution rules.
|
6
|
+
|
7
|
+
We fixed 43 reported bugs, answered 131 questions, and made 55 suggested enhancements to the library - all driven by feedback from users and the community.
|
8
|
+
|
9
|
+
Planned for release in January 2021 we also undertook the work to enable isolated runtimes, a long requested feature. This allows you to operate on multiple independently configured "roots" such as "sp" or "graph" from the same application. Previously the library was configured globally, so this opens new possibilities for both client and server side scenarios.
|
10
|
+
|
11
|
+
Finally we made many tooling and project improvements such as moving to GitHub actions, updating the tests to use MSAL, and exploring ways to enhance the developer experience.
|
12
|
+
|
13
|
+
## Usage
|
14
|
+
|
15
|
+
In 2020 we tracked steady month/month growth in raw usage measured by requests as well as in the number of tenants deploying the library. Starting the year we were used in 14605 tenants and by December that number grew to 21,227.
|
16
|
+
|
17
|
+
These tenants generated 6.1 billion requests to the service in January growing to 9.2 billion by December, peaking at 10.1 billion requests in November.
|
18
|
+
|
19
|
+
![Graph showing requests and tenants/month for @pnp/sp](../img/usage-2020-eoy.png)
|
20
|
+
|
21
|
+
> 1) There was a data glitch in October so the numbers do not fully represent usage. 2) These numbers only include public cloud SPO usage, true usage is higher than we can track due to on-premesis and gov/sovereign clouds
|
22
|
+
|
23
|
+
## Releases
|
24
|
+
|
25
|
+
We continued our monthly release cadence as it represents a good pace for addressing issues while not expecting folks to update too often and keeping each update to a reasonable size. All changes can be tracked in our [change log](https://github.com/pnp/pnpjs/blob/version-2/CHANGELOG.md), updated with each release. You can check our scheduled releases through [project milestones](https://github.com/pnp/pnpjs/milestones), understanding there are occasionally delays. Monthly releases allows us to ensure bugs do not linger and we continually improve and expand the capabilities of the libraries.
|
26
|
+
|
27
|
+
### NPM Package download statistics (@pnp/sp):
|
28
|
+
|
29
|
+
| Month | Count | * | Month | Count |
|
30
|
+
| -------- | ------- | --- | ----------- | ------ |
|
31
|
+
| January | 100,686 | * | July | 36,805 |
|
32
|
+
| February | 34,437 | * | August | 38,897 |
|
33
|
+
| March | 34,574 | * | September | 45,968 |
|
34
|
+
| April | 32,436 | * | October | 46,655 |
|
35
|
+
| May | 34,482 | * | November | 45,511 |
|
36
|
+
| June | 34,408 | * | December | 58,977 |
|
37
|
+
| | | | | |
|
38
|
+
| | | | Grand Total | 543,836|
|
39
|
+
|
40
|
+
With 2020 our total all time downloads of @pnp/sp is now at: 949,638
|
41
|
+
|
42
|
+
> Stats from https://npm-stat.com/
|
43
|
+
|
44
|
+
## Future Plans
|
45
|
+
|
46
|
+
Looking to the future we will continue to actively grow and improve v2 of the library, guided by feedback and reported issues. Additionally, we are beginning to discuss v3 and doing initial planning and prototyping. The v3 work will continue through 2021 with no currently set release date, though we will keep everyone up to date.
|
47
|
+
|
48
|
+
Additionally in 2021 there will be a general focus on improving not just the code but our tooling, build pipeline, and library contributor experience. We will also look at automatic canary releases with each merge, and other improvements.
|
49
|
+
|
50
|
+
## New Lead Maintainer
|
51
|
+
|
52
|
+
With the close of 2020 we are very excited to announce a new lead maintainer for PnPjs, [Julie Turner](https://github.com/juliemturner)! Julie brings deep expertise with SharePoint Framework, TypeScript, and SharePoint development to the team, coupled with dedication and care in the work.
|
53
|
+
|
54
|
+
Over the last year she has gotten more involved with handling releases, responding to issues, and helping to keep the code updated and clean.
|
55
|
+
|
56
|
+
We are very lucky to have her working on the project and look forward to seeing her lead the growth and direction for years to come.
|
57
|
+
|
58
|
+
## Contributors
|
59
|
+
|
60
|
+
As always we have abundant thanks and appreciation for your contributors. Taking your time to help improve PnPjs for the community is massive and valuable to ensure our sustainability. Thank you for all your help in 2020! If you are interested in becoming a contributor [check out our guide](../contributing/index.md) on ways to get started.
|
61
|
+
|
62
|
+
<a href="https://github.com/AJIXuMuK" style="margin:10px" title=AJIXuMuK>
|
63
|
+
<img src="https://avatars3.githubusercontent.com/u/17036219?v=4" alt="AJIXuMuK" width="50" height="50" />
|
64
|
+
</a><a href="https://github.com/Ashikpaul" style="margin:10px" title=Ashikpaul>
|
65
|
+
<img src="https://avatars2.githubusercontent.com/u/17526871?v=4" alt="Ashikpaul" width="50" height="50" />
|
66
|
+
</a><a href="https://github.com/cesarhoeflich" style="margin:10px" title=cesarhoeflich>
|
67
|
+
<img src="https://avatars0.githubusercontent.com/u/6339165?v=4" alt="cesarhoeflich" width="50" height="50" />
|
68
|
+
</a><a href="https://github.com/dcashpeterson" style="margin:10px" title=dcashpeterson>
|
69
|
+
<img src="https://avatars2.githubusercontent.com/u/45491456?v=4" alt="dcashpeterson" width="50" height="50" />
|
70
|
+
</a><a href="https://github.com/apps/dependabot" style="margin:10px" title=dependabot[bot]>
|
71
|
+
<img src="https://avatars0.githubusercontent.com/in/29110?v=4" alt="dependabot[bot]" width="50" height="50" />
|
72
|
+
</a><a href="https://github.com/derhallim" style="margin:10px" title=derhallim>
|
73
|
+
<img src="https://avatars1.githubusercontent.com/u/7239963?v=4" alt="derhallim" width="50" height="50" />
|
74
|
+
</a><a href="https://github.com/DRamalho92" style="margin:10px" title=DRamalho92>
|
75
|
+
<img src="https://avatars1.githubusercontent.com/u/40799678?v=4" alt="DRamalho92" width="50" height="50" />
|
76
|
+
</a><a href="https://github.com/f1nzer" style="margin:10px" title=f1nzer>
|
77
|
+
<img src="https://avatars3.githubusercontent.com/u/1970236?v=4" alt="f1nzer" width="50" height="50" />
|
78
|
+
</a><a href="https://github.com/Harshagracy" style="margin:10px" title=Harshagracy>
|
79
|
+
<img src="https://avatars3.githubusercontent.com/u/14230498?v=4" alt="Harshagracy" width="50" height="50" />
|
80
|
+
</a><a href="https://github.com/holylander" style="margin:10px" title=holylander>
|
81
|
+
<img src="https://avatars1.githubusercontent.com/u/2032683?v=4" alt="holylander" width="50" height="50" />
|
82
|
+
</a><a href="https://github.com/hugoabernier" style="margin:10px" title=hugoabernier>
|
83
|
+
<img src="https://avatars2.githubusercontent.com/u/13972467?v=4" alt="hugoabernier" width="50" height="50" />
|
84
|
+
</a><a href="https://github.com/JakeStanger" style="margin:10px" title=JakeStanger>
|
85
|
+
<img src="https://avatars0.githubusercontent.com/u/5057870?v=4" alt="JakeStanger" width="50" height="50" />
|
86
|
+
</a><a href="https://github.com/jaywellings" style="margin:10px" title=jaywellings>
|
87
|
+
<img src="https://avatars2.githubusercontent.com/u/1410735?v=4" alt="jaywellings" width="50" height="50" />
|
88
|
+
</a><a href="https://github.com/JMTeamway" style="margin:10px" title=JMTeamway>
|
89
|
+
<img src="https://avatars2.githubusercontent.com/u/42567407?v=4" alt="JMTeamway" width="50" height="50" />
|
90
|
+
</a><a href="https://github.com/joelfmrodrigues" style="margin:10px" title=joelfmrodrigues>
|
91
|
+
<img src="https://avatars3.githubusercontent.com/u/19577724?v=4" alt="joelfmrodrigues" width="50" height="50" />
|
92
|
+
</a><a href="https://github.com/juliemturner" style="margin:10px" title=juliemturner>
|
93
|
+
<img src="https://avatars0.githubusercontent.com/u/7570936?v=4" alt="juliemturner" width="50" height="50" />
|
94
|
+
</a><a href="https://github.com/jusper-dk" style="margin:10px" title=jusper-dk>
|
95
|
+
<img src="https://avatars0.githubusercontent.com/u/27721442?v=4" alt="jusper-dk" width="50" height="50" />
|
96
|
+
</a><a href="https://github.com/KEMiCZA" style="margin:10px" title=KEMiCZA>
|
97
|
+
<img src="https://avatars2.githubusercontent.com/u/3862716?v=4" alt="KEMiCZA" width="50" height="50" />
|
98
|
+
</a><a href="https://github.com/koltyakov" style="margin:10px" title=koltyakov>
|
99
|
+
<img src="https://avatars2.githubusercontent.com/u/7816483?v=4" alt="koltyakov" width="50" height="50" />
|
100
|
+
</a><a href="https://github.com/kunj-sangani" style="margin:10px" title=kunj-sangani>
|
101
|
+
<img src="https://avatars3.githubusercontent.com/u/25693207?v=4" alt="kunj-sangani" width="50" height="50" />
|
102
|
+
</a><a href="https://github.com/MarkyDeParky" style="margin:10px" title=MarkyDeParky>
|
103
|
+
<img src="https://avatars1.githubusercontent.com/u/16799069?v=4" alt="MarkyDeParky" width="50" height="50" />
|
104
|
+
</a><a href="https://github.com/mikezimm" style="margin:10px" title=mikezimm>
|
105
|
+
<img src="https://avatars1.githubusercontent.com/u/49648086?v=4" alt="mikezimm" width="50" height="50" />
|
106
|
+
</a><a href="https://github.com/mrebuffet" style="margin:10px" title=mrebuffet>
|
107
|
+
<img src="https://avatars0.githubusercontent.com/u/3445077?v=4" alt="mrebuffet" width="50" height="50" />
|
108
|
+
</a><a href="https://github.com/naugtur" style="margin:10px" title=naugtur>
|
109
|
+
<img src="https://avatars1.githubusercontent.com/u/509375?v=4" alt="naugtur" width="50" height="50" />
|
110
|
+
</a><a href="https://github.com/NZainchkovskiy" style="margin:10px" title=NZainchkovskiy>
|
111
|
+
<img src="https://avatars0.githubusercontent.com/u/19357901?v=4" alt="NZainchkovskiy" width="50" height="50" />
|
112
|
+
</a><a href="https://github.com/PaoloPia" style="margin:10px" title=PaoloPia>
|
113
|
+
<img src="https://avatars2.githubusercontent.com/u/7582026?v=4" alt="PaoloPia" width="50" height="50" />
|
114
|
+
</a><a href="https://github.com/patrick-rodgers" style="margin:10px" title=patrick-rodgers>
|
115
|
+
<img src="https://avatars3.githubusercontent.com/u/13154702?v=4" alt="patrick-rodgers" width="50" height="50" />
|
116
|
+
</a><a href="https://github.com/ravichandran-blog" style="margin:10px" title=ravichandran-blog>
|
117
|
+
<img src="https://avatars2.githubusercontent.com/u/21125180?v=4" alt="ravichandran-blog" width="50" height="50" />
|
118
|
+
</a><a href="https://github.com/RoelVB" style="margin:10px" title=RoelVB>
|
119
|
+
<img src="https://avatars3.githubusercontent.com/u/10999128?v=4" alt="RoelVB" width="50" height="50" />
|
120
|
+
</a><a href="https://github.com/siddharth-vaghasia" style="margin:10px" title=siddharth-vaghasia>
|
121
|
+
<img src="https://avatars0.githubusercontent.com/u/9557557?v=4" alt="siddharth-vaghasia" width="50" height="50" />
|
122
|
+
</a><a href="https://github.com/simonagren" style="margin:10px" title=simonagren>
|
123
|
+
<img src="https://avatars0.githubusercontent.com/u/16558321?v=4" alt="simonagren" width="50" height="50" />
|
124
|
+
</a><a href="https://github.com/tavikukko" style="margin:10px" title=tavikukko>
|
125
|
+
<img src="https://avatars0.githubusercontent.com/u/2223355?v=4" alt="tavikukko" width="50" height="50" />
|
126
|
+
</a><a href="https://github.com/ValerasNarbutas" style="margin:10px" title=ValerasNarbutas>
|
127
|
+
<img src="https://avatars0.githubusercontent.com/u/16476453?v=4" alt="ValerasNarbutas" width="50" height="50" />
|
128
|
+
</a>
|
129
|
+
|
130
|
+
## Sponsors
|
131
|
+
|
132
|
+
We want to thank our sponsors for their support in 2020! This year we put the money towards helping offset the cost and shipping of hoodies to contributors and sponsors. Your continued generosity makes a big difference in our ability to recognize and reward the folks building PnPjs.
|
133
|
+
|
134
|
+
**Thank You**
|
135
|
+
|
136
|
+
<a href="https://github.com/KEMiCZA" style="margin:20px" title="KEMiCZA">
|
137
|
+
<img src="https://avatars0.githubusercontent.com/u/3862716?v=4" alt="KEMiCZA" width="100" height="100" />
|
138
|
+
</a><a href="https://github.com/Sympraxis-Consulting" style="margin:20px" title="Sympraxis Consulting">
|
139
|
+
<img src="https://avatars3.githubusercontent.com/u/19271832?v=4" alt="Sympraxis Consulting" width="100" height="100" />
|
140
|
+
</a><a href="https://github.com/thechriskent" style="margin:20px" title="thechriskent">
|
141
|
+
<img src="https://avatars0.githubusercontent.com/u/8364109?v=4" alt="thechriskent" width="100" height="100" />
|
142
|
+
</a><a href="https://github.com/erwinvanhunen" style="margin:20px" title="erwinvanhunen">
|
143
|
+
<img src="https://avatars0.githubusercontent.com/u/7666381?v=4" alt="erwinvanhunen" width="100" height="100" />
|
144
|
+
</a><a href="https://github.com/PopWarner" style="margin:20px" title="PopWarner">
|
145
|
+
<img src="https://avatars0.githubusercontent.com/u/10676147?v=4" alt="PopWarner" width="100" height="100" />
|
146
|
+
</a><a href="https://github.com/VesaJuvonen" style="margin:20px" title="VesaJuvonen">
|
147
|
+
<img src="https://avatars0.githubusercontent.com/u/7446437?v=4" alt="VesaJuvonen" width="100" height="100" />
|
148
|
+
</a><a href="https://github.com/LauraKokkarinen" style="margin:20px" title="LauraKokkarinen">
|
149
|
+
<img src="https://avatars0.githubusercontent.com/u/41330990?v=4" alt="LauraKokkarinen" width="100" height="100" />
|
150
|
+
</a><a href="https://github.com/ricardocarneiro" style="margin:20px" title="ricardocarneiro">
|
151
|
+
<img src="https://avatars0.githubusercontent.com/u/4666947?v=4" alt="ricardocarneiro" width="100" height="100" />
|
152
|
+
</a><a href="https://github.com/andrewconnell" style="margin:20px" title="andrewconnell">
|
153
|
+
<img src="https://avatars0.githubusercontent.com/u/2068657?v=4" alt="andrewconnell" width="100" height="100" />
|
154
|
+
</a>
|
155
|
+
|
156
|
+
## Closing
|
157
|
+
|
158
|
+
In closing we want say _Thank You_ to everyone who uses, contributes to, and participates in PnPjs and the SharePoint Patterns and Practices program.
|
159
|
+
|
160
|
+
Wishing you the very best for 2021,
|
161
|
+
|
162
|
+
The PnPjs Team
|
@@ -0,0 +1,148 @@
|
|
1
|
+
# 2021 Year End Report
|
2
|
+
|
3
|
+
Welcome to our second year in review report for PnPjs. 2021 found us planning, building, testing, and documenting a whole new version of PnPjs. The goal is to deliver a much improved and flexible experience and none of that would have been possible without the support and participation of everyone in the PnP community - so we start by saying Thank You! We deeply appreciate everyone that has used, helped us grow, and improved the library over the last year.
|
4
|
+
|
5
|
+
Because of the huge useage we've seen with the library and issues we found implementing some of the much requested enhancements, we felt we really needed to start from the ground up and rearchitect the library completely. This new design, built on the concept of a "Timeline", enabled us to build a significantly lighter weight solution that is more extensible than ever. And bonus, we were able to keep the overall development experience largly unchanged, so that makes transitioning all that much easier. In addition we took extra effort to validate our development efforts by making sure all our tests passed so that we could better ensure quality of the library. Check out our [Transition Guide](../transition-guide.md) and [ChangeLog](https://github.com/pnp/pnpjs/blob/version-3/CHANGELOG.md) for all the details.
|
6
|
+
|
7
|
+
In other news, we fixed 47 reported bugs, answered 89 questions, and made 51 suggested enhancements to version 2 of the library - all driven by feedback from users and the community.
|
8
|
+
|
9
|
+
## Usage
|
10
|
+
|
11
|
+
In 2021 we transitioned from rapid growth to slower growth but maintaining a request/month rate over 11 billion, approaching 13 billion by the end of the year. These requests came from more than 25 thousand tenants including some of the largest M365 customers. Due to some data cleanup we don't have the full year's information, but the below graph shows the final 7 months of the year.
|
12
|
+
|
13
|
+
![Graph showing requests and tenants/month for @pnp/sp](../img/usage-2021-eoy.png)
|
14
|
+
|
15
|
+
## Releases
|
16
|
+
|
17
|
+
We continued our monthly release cadence as it represents a good pace for addressing issues while not expecting folks to update too often and keeping each update to a reasonable size. All changes can be tracked in our [change log](https://github.com/pnp/pnpjs/blob/main/CHANGELOG.md), updated with each release. You can check our scheduled releases through [project milestones](https://github.com/pnp/pnpjs/milestones), understanding there are occasionally delays. Monthly releases allows us to ensure bugs do not linger and we continually improve and expand the capabilities of the libraries.
|
18
|
+
|
19
|
+
### NPM Package download statistics (@pnp/sp)
|
20
|
+
|
21
|
+
| Month | Count | * | Month | Count |
|
22
|
+
| -------- | ------- | --- | ----------- | ------ |
|
23
|
+
| January | 49,446 | * | July | 73,491 |
|
24
|
+
| February | 56,054 | * | August | 74,236 |
|
25
|
+
| March | 66,113 | * | September | 69,179 |
|
26
|
+
| April | 58,526 | * | October | 77,645 |
|
27
|
+
| May | 62,747 | * | November | 74,966 |
|
28
|
+
| June | 69,349 | * | December | 61,995 |
|
29
|
+
| | | | | |
|
30
|
+
| | | | Grand Total | 793,747|
|
31
|
+
|
32
|
+
For comparison our total downloads in 2020 was 543,836.
|
33
|
+
|
34
|
+
With 2021 our total all time downloads of @pnp/sp is now at: 1,743,385
|
35
|
+
|
36
|
+
In 2020 the all time total was 949,638.
|
37
|
+
|
38
|
+
> Stats from <https://npm-stat.com/>
|
39
|
+
|
40
|
+
## Future Plans
|
41
|
+
|
42
|
+
Looking to the future we will continue to actively grow and improve v3 of the library, guided by feedback and reported issues. Additionally, we are looking to expand our contributions documentation to make it easier for community members to contibute their ideas and updates to the library.
|
43
|
+
|
44
|
+
## Contributors
|
45
|
+
|
46
|
+
As always we have abundant thanks and appreciation for your contributors. Taking your time to help improve PnPjs for the community is massive and valuable to ensure our sustainability. Thank you for all your help in 2020! If you are interested in becoming a contributor [check out our guide](../contributing/index.md) on ways to get started.
|
47
|
+
|
48
|
+
<a href="https://github.com/AJIXuMuK" style="margin:10px" title=AJIXuMuK>
|
49
|
+
<img src="https://avatars3.githubusercontent.com/u/17036219?v=4" alt="AJIXuMuK" width="50" height="50" />
|
50
|
+
</a><a href="https://github.com/Ashikpaul" style="margin:10px" title=Ashikpaul>
|
51
|
+
<img src="https://avatars2.githubusercontent.com/u/17526871?v=4" alt="Ashikpaul" width="50" height="50" />
|
52
|
+
</a><a href="https://github.com/cesarhoeflich" style="margin:10px" title=cesarhoeflich>
|
53
|
+
<img src="https://avatars0.githubusercontent.com/u/6339165?v=4" alt="cesarhoeflich" width="50" height="50" />
|
54
|
+
</a><a href="https://github.com/dcashpeterson" style="margin:10px" title=dcashpeterson>
|
55
|
+
<img src="https://avatars2.githubusercontent.com/u/45491456?v=4" alt="dcashpeterson" width="50" height="50" />
|
56
|
+
</a><a href="https://github.com/apps/dependabot" style="margin:10px" title=dependabot[bot]>
|
57
|
+
<img src="https://avatars0.githubusercontent.com/in/29110?v=4" alt="dependabot[bot]" width="50" height="50" />
|
58
|
+
</a><a href="https://github.com/derhallim" style="margin:10px" title=derhallim>
|
59
|
+
<img src="https://avatars1.githubusercontent.com/u/7239963?v=4" alt="derhallim" width="50" height="50" />
|
60
|
+
</a><a href="https://github.com/DRamalho92" style="margin:10px" title=DRamalho92>
|
61
|
+
<img src="https://avatars1.githubusercontent.com/u/40799678?v=4" alt="DRamalho92" width="50" height="50" />
|
62
|
+
</a><a href="https://github.com/f1nzer" style="margin:10px" title=f1nzer>
|
63
|
+
<img src="https://avatars3.githubusercontent.com/u/1970236?v=4" alt="f1nzer" width="50" height="50" />
|
64
|
+
</a><a href="https://github.com/Harshagracy" style="margin:10px" title=Harshagracy>
|
65
|
+
<img src="https://avatars3.githubusercontent.com/u/14230498?v=4" alt="Harshagracy" width="50" height="50" />
|
66
|
+
</a><a href="https://github.com/holylander" style="margin:10px" title=holylander>
|
67
|
+
<img src="https://avatars1.githubusercontent.com/u/2032683?v=4" alt="holylander" width="50" height="50" />
|
68
|
+
</a><a href="https://github.com/hugoabernier" style="margin:10px" title=hugoabernier>
|
69
|
+
<img src="https://avatars2.githubusercontent.com/u/13972467?v=4" alt="hugoabernier" width="50" height="50" />
|
70
|
+
</a><a href="https://github.com/JakeStanger" style="margin:10px" title=JakeStanger>
|
71
|
+
<img src="https://avatars0.githubusercontent.com/u/5057870?v=4" alt="JakeStanger" width="50" height="50" />
|
72
|
+
</a><a href="https://github.com/jaywellings" style="margin:10px" title=jaywellings>
|
73
|
+
<img src="https://avatars2.githubusercontent.com/u/1410735?v=4" alt="jaywellings" width="50" height="50" />
|
74
|
+
</a><a href="https://github.com/JMTeamway" style="margin:10px" title=JMTeamway>
|
75
|
+
<img src="https://avatars2.githubusercontent.com/u/42567407?v=4" alt="JMTeamway" width="50" height="50" />
|
76
|
+
</a><a href="https://github.com/joelfmrodrigues" style="margin:10px" title=joelfmrodrigues>
|
77
|
+
<img src="https://avatars3.githubusercontent.com/u/19577724?v=4" alt="joelfmrodrigues" width="50" height="50" />
|
78
|
+
</a><a href="https://github.com/juliemturner" style="margin:10px" title=juliemturner>
|
79
|
+
<img src="https://avatars0.githubusercontent.com/u/7570936?v=4" alt="juliemturner" width="50" height="50" />
|
80
|
+
</a><a href="https://github.com/jusper-dk" style="margin:10px" title=jusper-dk>
|
81
|
+
<img src="https://avatars0.githubusercontent.com/u/27721442?v=4" alt="jusper-dk" width="50" height="50" />
|
82
|
+
</a><a href="https://github.com/KEMiCZA" style="margin:10px" title=KEMiCZA>
|
83
|
+
<img src="https://avatars2.githubusercontent.com/u/3862716?v=4" alt="KEMiCZA" width="50" height="50" />
|
84
|
+
</a><a href="https://github.com/koltyakov" style="margin:10px" title=koltyakov>
|
85
|
+
<img src="https://avatars2.githubusercontent.com/u/7816483?v=4" alt="koltyakov" width="50" height="50" />
|
86
|
+
</a><a href="https://github.com/kunj-sangani" style="margin:10px" title=kunj-sangani>
|
87
|
+
<img src="https://avatars3.githubusercontent.com/u/25693207?v=4" alt="kunj-sangani" width="50" height="50" />
|
88
|
+
</a><a href="https://github.com/MarkyDeParky" style="margin:10px" title=MarkyDeParky>
|
89
|
+
<img src="https://avatars1.githubusercontent.com/u/16799069?v=4" alt="MarkyDeParky" width="50" height="50" />
|
90
|
+
</a><a href="https://github.com/mikezimm" style="margin:10px" title=mikezimm>
|
91
|
+
<img src="https://avatars1.githubusercontent.com/u/49648086?v=4" alt="mikezimm" width="50" height="50" />
|
92
|
+
</a><a href="https://github.com/mrebuffet" style="margin:10px" title=mrebuffet>
|
93
|
+
<img src="https://avatars0.githubusercontent.com/u/3445077?v=4" alt="mrebuffet" width="50" height="50" />
|
94
|
+
</a><a href="https://github.com/naugtur" style="margin:10px" title=naugtur>
|
95
|
+
<img src="https://avatars1.githubusercontent.com/u/509375?v=4" alt="naugtur" width="50" height="50" />
|
96
|
+
</a><a href="https://github.com/NZainchkovskiy" style="margin:10px" title=NZainchkovskiy>
|
97
|
+
<img src="https://avatars0.githubusercontent.com/u/19357901?v=4" alt="NZainchkovskiy" width="50" height="50" />
|
98
|
+
</a><a href="https://github.com/PaoloPia" style="margin:10px" title=PaoloPia>
|
99
|
+
<img src="https://avatars2.githubusercontent.com/u/7582026?v=4" alt="PaoloPia" width="50" height="50" />
|
100
|
+
</a><a href="https://github.com/patrick-rodgers" style="margin:10px" title=patrick-rodgers>
|
101
|
+
<img src="https://avatars3.githubusercontent.com/u/13154702?v=4" alt="patrick-rodgers" width="50" height="50" />
|
102
|
+
</a><a href="https://github.com/ravichandran-blog" style="margin:10px" title=ravichandran-blog>
|
103
|
+
<img src="https://avatars2.githubusercontent.com/u/21125180?v=4" alt="ravichandran-blog" width="50" height="50" />
|
104
|
+
</a><a href="https://github.com/RoelVB" style="margin:10px" title=RoelVB>
|
105
|
+
<img src="https://avatars3.githubusercontent.com/u/10999128?v=4" alt="RoelVB" width="50" height="50" />
|
106
|
+
</a><a href="https://github.com/siddharth-vaghasia" style="margin:10px" title=siddharth-vaghasia>
|
107
|
+
<img src="https://avatars0.githubusercontent.com/u/9557557?v=4" alt="siddharth-vaghasia" width="50" height="50" />
|
108
|
+
</a><a href="https://github.com/simonagren" style="margin:10px" title=simonagren>
|
109
|
+
<img src="https://avatars0.githubusercontent.com/u/16558321?v=4" alt="simonagren" width="50" height="50" />
|
110
|
+
</a><a href="https://github.com/tavikukko" style="margin:10px" title=tavikukko>
|
111
|
+
<img src="https://avatars0.githubusercontent.com/u/2223355?v=4" alt="tavikukko" width="50" height="50" />
|
112
|
+
</a><a href="https://github.com/ValerasNarbutas" style="margin:10px" title=ValerasNarbutas>
|
113
|
+
<img src="https://avatars0.githubusercontent.com/u/16476453?v=4" alt="ValerasNarbutas" width="50" height="50" />
|
114
|
+
</a>
|
115
|
+
|
116
|
+
## Sponsors
|
117
|
+
|
118
|
+
We want to thank our sponsors for their support in 2020! This year we put the money towards helping offset the cost and shipping of hoodies to contributors and sponsors. Your continued generosity makes a big difference in our ability to recognize and reward the folks building PnPjs.
|
119
|
+
|
120
|
+
**Thank You**
|
121
|
+
|
122
|
+
<a href="https://github.com/KEMiCZA" style="margin:20px" title="KEMiCZA">
|
123
|
+
<img src="https://avatars0.githubusercontent.com/u/3862716?v=4" alt="KEMiCZA" width="100" height="100" />
|
124
|
+
</a><a href="https://github.com/Sympraxis-Consulting" style="margin:20px" title="Sympraxis Consulting">
|
125
|
+
<img src="https://avatars3.githubusercontent.com/u/19271832?v=4" alt="Sympraxis Consulting" width="100" height="100" />
|
126
|
+
</a><a href="https://github.com/thechriskent" style="margin:20px" title="thechriskent">
|
127
|
+
<img src="https://avatars0.githubusercontent.com/u/8364109?v=4" alt="thechriskent" width="100" height="100" />
|
128
|
+
</a><a href="https://github.com/erwinvanhunen" style="margin:20px" title="erwinvanhunen">
|
129
|
+
<img src="https://avatars0.githubusercontent.com/u/7666381?v=4" alt="erwinvanhunen" width="100" height="100" />
|
130
|
+
</a><a href="https://github.com/PopWarner" style="margin:20px" title="PopWarner">
|
131
|
+
<img src="https://avatars0.githubusercontent.com/u/10676147?v=4" alt="PopWarner" width="100" height="100" />
|
132
|
+
</a><a href="https://github.com/VesaJuvonen" style="margin:20px" title="VesaJuvonen">
|
133
|
+
<img src="https://avatars0.githubusercontent.com/u/7446437?v=4" alt="VesaJuvonen" width="100" height="100" />
|
134
|
+
</a><a href="https://github.com/LauraKokkarinen" style="margin:20px" title="LauraKokkarinen">
|
135
|
+
<img src="https://avatars0.githubusercontent.com/u/41330990?v=4" alt="LauraKokkarinen" width="100" height="100" />
|
136
|
+
</a><a href="https://github.com/ricardocarneiro" style="margin:20px" title="ricardocarneiro">
|
137
|
+
<img src="https://avatars0.githubusercontent.com/u/4666947?v=4" alt="ricardocarneiro" width="100" height="100" />
|
138
|
+
</a><a href="https://github.com/andrewconnell" style="margin:20px" title="andrewconnell">
|
139
|
+
<img src="https://avatars0.githubusercontent.com/u/2068657?v=4" alt="andrewconnell" width="100" height="100" />
|
140
|
+
</a>
|
141
|
+
|
142
|
+
## Closing
|
143
|
+
|
144
|
+
In closing we want say _Thank You_ to everyone who uses, contributes to, and participates in PnPjs and the SharePoint Patterns and Practices program.
|
145
|
+
|
146
|
+
Wishing you the very best for 2022,
|
147
|
+
|
148
|
+
The PnPjs Team
|