@zxncij2390/monorepo3 3.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (921) hide show
  1. package/.eslintignore +16 -0
  2. package/.eslintrc.cjs +150 -0
  3. package/.github/ISSUE_TEMPLATE/bug-report.yml +178 -0
  4. package/.github/ISSUE_TEMPLATE/enhancement.yml +99 -0
  5. package/.github/ISSUE_TEMPLATE/question.yml +72 -0
  6. package/.github/ISSUE_TEMPLATE.md +39 -0
  7. package/.github/PULL_REQUEST_TEMPLATE.md +24 -0
  8. package/.github/workflows/lock.yml +18 -0
  9. package/.github/workflows/publish-buildsystem.yml +34 -0
  10. package/.github/workflows/publish-docs.yml +21 -0
  11. package/.github/workflows/publish.yml +40 -0
  12. package/.github/workflows/pull_request.yaml +28 -0
  13. package/.github/workflows/push.yaml +32 -0
  14. package/.github/workflows/v3-nightly.yml +40 -0
  15. package/.mocharc.cjs +68 -0
  16. package/.vscode/launch.json +103 -0
  17. package/.vscode/settings.json +17 -0
  18. package/.vscode/tasks.json +124 -0
  19. package/AUTHORS +13 -0
  20. package/CHANGELOG.md +33 -0
  21. package/CODE_OF_CONDUCT.md +6 -0
  22. package/CONTRIBUTING.md +9 -0
  23. package/LICENSE +25 -0
  24. package/README.md +66 -0
  25. package/buildsystem-config.ts +146 -0
  26. package/debug/launch/graph.ts +20 -0
  27. package/debug/launch/main.ts +38 -0
  28. package/debug/launch/setup.ts +50 -0
  29. package/debug/launch/sp.ts +21 -0
  30. package/debug/launch/tsconfig.json +27 -0
  31. package/debug/serve/main.ts +47 -0
  32. package/debug/serve/plumbing/local-module-resolver-plugin.ts +68 -0
  33. package/debug/serve/plumbing/run.ts +24 -0
  34. package/debug/serve/plumbing/serve.ts +27 -0
  35. package/debug/serve/plumbing/webpack.config.ts +43 -0
  36. package/debug/serve/spa.html +12 -0
  37. package/debug/serve/tsconfig.json +15 -0
  38. package/debug/spfx/.eslintrc.js +352 -0
  39. package/debug/spfx/README.md +73 -0
  40. package/debug/spfx/package-lock.json +57299 -0
  41. package/debug/spfx/package.json +38 -0
  42. package/debug/spfx/pnpjs-local-debug-start.js +19 -0
  43. package/debug/spfx/teams/f4c0e5ff-c402-46b7-8073-8cc506808d06_color.png +0 -0
  44. package/debug/spfx/teams/f4c0e5ff-c402-46b7-8073-8cc506808d06_outline.png +0 -0
  45. package/docs/_theme/main.html +5 -0
  46. package/docs/azidjsclient/index.md +36 -0
  47. package/docs/concepts/adv-clientside-pages.md +169 -0
  48. package/docs/concepts/auth-browser.md +42 -0
  49. package/docs/concepts/auth-nodejs.md +101 -0
  50. package/docs/concepts/auth-spfx.md +76 -0
  51. package/docs/concepts/authentication.md +42 -0
  52. package/docs/concepts/batching-caching.md +77 -0
  53. package/docs/concepts/batching.md +257 -0
  54. package/docs/concepts/calling-other-endpoints.md +213 -0
  55. package/docs/concepts/custom-bundle.md +15 -0
  56. package/docs/concepts/error-handling.md +245 -0
  57. package/docs/concepts/invokable.md +7 -0
  58. package/docs/concepts/nightly-builds.md +19 -0
  59. package/docs/concepts/project-preset.md +123 -0
  60. package/docs/concepts/selective-imports.md +106 -0
  61. package/docs/concepts/typings.md +23 -0
  62. package/docs/contributing/debug-tests.md +76 -0
  63. package/docs/contributing/debugging.md +135 -0
  64. package/docs/contributing/documentation.md +34 -0
  65. package/docs/contributing/extending-the-library.md +223 -0
  66. package/docs/contributing/index.md +22 -0
  67. package/docs/contributing/local-debug-configuration.md +28 -0
  68. package/docs/contributing/npm-scripts.md +148 -0
  69. package/docs/contributing/pull-requests.md +27 -0
  70. package/docs/contributing/settings.md +98 -0
  71. package/docs/contributing/setup-dev-machine.md +36 -0
  72. package/docs/core/behavior-recipes.md +199 -0
  73. package/docs/core/behaviors.md +179 -0
  74. package/docs/core/moments.md +215 -0
  75. package/docs/core/observers.md +100 -0
  76. package/docs/core/storage.md +90 -0
  77. package/docs/core/timeline.md +190 -0
  78. package/docs/core/util.md +191 -0
  79. package/docs/css/extra.css +33 -0
  80. package/docs/getting-started.md +361 -0
  81. package/docs/graph/behaviors.md +267 -0
  82. package/docs/graph/bookings.md +180 -0
  83. package/docs/graph/calendars.md +270 -0
  84. package/docs/graph/cloud-communications.md +40 -0
  85. package/docs/graph/columns.md +125 -0
  86. package/docs/graph/contacts.md +298 -0
  87. package/docs/graph/content-types.md +193 -0
  88. package/docs/graph/directoryobjects.md +106 -0
  89. package/docs/graph/groups.md +164 -0
  90. package/docs/graph/insights.md +151 -0
  91. package/docs/graph/invitations.md +22 -0
  92. package/docs/graph/items.md +38 -0
  93. package/docs/graph/lists.md +87 -0
  94. package/docs/graph/messages.md +20 -0
  95. package/docs/graph/onedrive.md +614 -0
  96. package/docs/graph/outlook.md +82 -0
  97. package/docs/graph/photos.md +71 -0
  98. package/docs/graph/planner.md +249 -0
  99. package/docs/graph/search.md +25 -0
  100. package/docs/graph/shares.md +44 -0
  101. package/docs/graph/sites.md +47 -0
  102. package/docs/graph/subscriptions.md +79 -0
  103. package/docs/graph/teams.md +293 -0
  104. package/docs/graph/users.md +134 -0
  105. package/docs/img/ConsoleListenerColors.png +0 -0
  106. package/docs/img/Logo.png +0 -0
  107. package/docs/img/PnPJS_FluentAPI.gif +0 -0
  108. package/docs/img/SPFx-On-Premesis-2016-1.png +0 -0
  109. package/docs/img/TimelineArchitecture.jpg +0 -0
  110. package/docs/img/csp_copyccvalue.png +0 -0
  111. package/docs/img/csp_networktab.png +0 -0
  112. package/docs/img/office365-header-icon.png +0 -0
  113. package/docs/img/usage-2020-eoy.png +0 -0
  114. package/docs/img/usage-2021-eoy.png +0 -0
  115. package/docs/img/usage-2022-eoy.png +0 -0
  116. package/docs/index.md +56 -0
  117. package/docs/logging/index.md +262 -0
  118. package/docs/msaljsclient/index.md +33 -0
  119. package/docs/news/2020-year-in-review.md +162 -0
  120. package/docs/news/2021-year-in-review.md +148 -0
  121. package/docs/news/2022-year-in-review.md +122 -0
  122. package/docs/nodejs/behaviors.md +164 -0
  123. package/docs/nodejs/sp-extensions.md +99 -0
  124. package/docs/packages.md +53 -0
  125. package/docs/queryable/behaviors.md +496 -0
  126. package/docs/queryable/extensions.md +204 -0
  127. package/docs/queryable/queryable.md +385 -0
  128. package/docs/sp/alias-parameters.md +76 -0
  129. package/docs/sp/alm.md +139 -0
  130. package/docs/sp/attachments.md +157 -0
  131. package/docs/sp/behaviors.md +142 -0
  132. package/docs/sp/clientside-pages.md +1048 -0
  133. package/docs/sp/column-defaults.md +241 -0
  134. package/docs/sp/comments-likes.md +302 -0
  135. package/docs/sp/content-types.md +131 -0
  136. package/docs/sp/context-info.md +67 -0
  137. package/docs/sp/favorites.md +91 -0
  138. package/docs/sp/features.md +83 -0
  139. package/docs/sp/fields.md +668 -0
  140. package/docs/sp/files.md +559 -0
  141. package/docs/sp/folders.md +532 -0
  142. package/docs/sp/forms.md +22 -0
  143. package/docs/sp/groupSiteManager.md +40 -0
  144. package/docs/sp/hubsites.md +140 -0
  145. package/docs/sp/items.md +601 -0
  146. package/docs/sp/lists.md +572 -0
  147. package/docs/sp/navigation.md +171 -0
  148. package/docs/sp/permissions.md +82 -0
  149. package/docs/sp/profiles.md +407 -0
  150. package/docs/sp/publishing-sitepageservice.md +16 -0
  151. package/docs/sp/recycle-bin.md +72 -0
  152. package/docs/sp/regional-settings.md +108 -0
  153. package/docs/sp/related-items.md +136 -0
  154. package/docs/sp/search.md +207 -0
  155. package/docs/sp/security.md +196 -0
  156. package/docs/sp/sharing.md +273 -0
  157. package/docs/sp/site-designs.md +117 -0
  158. package/docs/sp/site-groups.md +144 -0
  159. package/docs/sp/site-scripts.md +123 -0
  160. package/docs/sp/site-users.md +211 -0
  161. package/docs/sp/sites.md +269 -0
  162. package/docs/sp/social.md +182 -0
  163. package/docs/sp/sp-utilities-utility.md +159 -0
  164. package/docs/sp/subscriptions.md +79 -0
  165. package/docs/sp/taxonomy.md +470 -0
  166. package/docs/sp/tenant-properties.md +55 -0
  167. package/docs/sp/user-custom-actions.md +95 -0
  168. package/docs/sp/views.md +226 -0
  169. package/docs/sp/webs.md +947 -0
  170. package/docs/sp-admin/index.md +139 -0
  171. package/docs/transition-guide.md +87 -0
  172. package/docs/v1/404.html +1611 -0
  173. package/docs/v1/assets/fonts/font-awesome.css +4 -0
  174. package/docs/v1/assets/fonts/material-icons.css +13 -0
  175. package/docs/v1/assets/fonts/specimen/FontAwesome.ttf +0 -0
  176. package/docs/v1/assets/fonts/specimen/FontAwesome.woff +0 -0
  177. package/docs/v1/assets/fonts/specimen/FontAwesome.woff2 +0 -0
  178. package/docs/v1/assets/fonts/specimen/MaterialIcons-Regular.ttf +0 -0
  179. package/docs/v1/assets/fonts/specimen/MaterialIcons-Regular.woff +0 -0
  180. package/docs/v1/assets/fonts/specimen/MaterialIcons-Regular.woff2 +0 -0
  181. package/docs/v1/assets/images/favicon.png +0 -0
  182. package/docs/v1/assets/images/icons/bitbucket.1b09e088.svg +20 -0
  183. package/docs/v1/assets/images/icons/github.f0b8504a.svg +18 -0
  184. package/docs/v1/assets/images/icons/gitlab.6dd19c00.svg +38 -0
  185. package/docs/v1/assets/javascripts/application.583bbe55.js +1 -0
  186. package/docs/v1/assets/javascripts/lunr/lunr.da.js +1 -0
  187. package/docs/v1/assets/javascripts/lunr/lunr.de.js +1 -0
  188. package/docs/v1/assets/javascripts/lunr/lunr.du.js +1 -0
  189. package/docs/v1/assets/javascripts/lunr/lunr.es.js +1 -0
  190. package/docs/v1/assets/javascripts/lunr/lunr.fi.js +1 -0
  191. package/docs/v1/assets/javascripts/lunr/lunr.fr.js +1 -0
  192. package/docs/v1/assets/javascripts/lunr/lunr.hu.js +1 -0
  193. package/docs/v1/assets/javascripts/lunr/lunr.it.js +1 -0
  194. package/docs/v1/assets/javascripts/lunr/lunr.jp.js +1 -0
  195. package/docs/v1/assets/javascripts/lunr/lunr.multi.js +1 -0
  196. package/docs/v1/assets/javascripts/lunr/lunr.no.js +1 -0
  197. package/docs/v1/assets/javascripts/lunr/lunr.pt.js +1 -0
  198. package/docs/v1/assets/javascripts/lunr/lunr.ro.js +1 -0
  199. package/docs/v1/assets/javascripts/lunr/lunr.ru.js +1 -0
  200. package/docs/v1/assets/javascripts/lunr/lunr.stemmer.support.js +1 -0
  201. package/docs/v1/assets/javascripts/lunr/lunr.sv.js +1 -0
  202. package/docs/v1/assets/javascripts/lunr/lunr.tr.js +1 -0
  203. package/docs/v1/assets/javascripts/lunr/tinyseg.js +1 -0
  204. package/docs/v1/assets/javascripts/modernizr.1aa3b519.js +1 -0
  205. package/docs/v1/assets/stylesheets/application-palette.22915126.css +1176 -0
  206. package/docs/v1/assets/stylesheets/application.451f80e5.css +2552 -0
  207. package/docs/v1/common/docs/adalclient/index.html +1994 -0
  208. package/docs/v1/common/docs/collections/index.html +1786 -0
  209. package/docs/v1/common/docs/custom-httpclientimpl/index.html +1798 -0
  210. package/docs/v1/common/docs/index.html +1787 -0
  211. package/docs/v1/common/docs/libconfig/index.html +1930 -0
  212. package/docs/v1/common/docs/netutil/index.html +1860 -0
  213. package/docs/v1/common/docs/storage/index.html +1850 -0
  214. package/docs/v1/common/docs/util/index.html +2058 -0
  215. package/docs/v1/config-store/docs/configuration/index.html +1730 -0
  216. package/docs/v1/config-store/docs/index.html +1761 -0
  217. package/docs/v1/config-store/docs/providers/index.html +1782 -0
  218. package/docs/v1/documentation/SPFx-On-Premesis-2016/index.html +1720 -0
  219. package/docs/v1/documentation/beta-versions/index.html +1742 -0
  220. package/docs/v1/documentation/css/extra.css +33 -0
  221. package/docs/v1/documentation/debugging/index.html +2098 -0
  222. package/docs/v1/documentation/deployment/index.html +1972 -0
  223. package/docs/v1/documentation/documentation/index.html +1760 -0
  224. package/docs/v1/documentation/getting-started/index.html +2280 -0
  225. package/docs/v1/documentation/getting-started-dev/index.html +1799 -0
  226. package/docs/v1/documentation/gulp-commands/index.html +2100 -0
  227. package/docs/v1/documentation/img/Logo.png +0 -0
  228. package/docs/v1/documentation/img/PnPJS_FluentAPI.gif +0 -0
  229. package/docs/v1/documentation/img/SPFx-On-Premesis-2016-1.png +0 -0
  230. package/docs/v1/documentation/img/office365-header-icon.png +0 -0
  231. package/docs/v1/documentation/img/pnpjs-common-uml.svg +220 -0
  232. package/docs/v1/documentation/img/pnpjs-config-store-uml.svg +56 -0
  233. package/docs/v1/documentation/img/pnpjs-graph-uml.svg +602 -0
  234. package/docs/v1/documentation/img/pnpjs-logging-uml.svg +59 -0
  235. package/docs/v1/documentation/img/pnpjs-nodejs-uml.svg +85 -0
  236. package/docs/v1/documentation/img/pnpjs-odata-uml.svg +253 -0
  237. package/docs/v1/documentation/img/pnpjs-sp-addinhelpers-uml.svg +48 -0
  238. package/docs/v1/documentation/img/pnpjs-sp-clientsvc-uml.svg +167 -0
  239. package/docs/v1/documentation/img/pnpjs-sp-taxonomy-uml.svg +458 -0
  240. package/docs/v1/documentation/img/pnpjs-sp-uml.svg +2833 -0
  241. package/docs/v1/documentation/package-structure/index.html +1875 -0
  242. package/docs/v1/documentation/packages/index.html +1741 -0
  243. package/docs/v1/documentation/polyfill/index.html +1877 -0
  244. package/docs/v1/documentation/theme/main.html +5 -0
  245. package/docs/v1/documentation/transition-guide/index.html +1977 -0
  246. package/docs/v1/graph/docs/contacts/index.html +2080 -0
  247. package/docs/v1/graph/docs/directoryobjects/index.html +1865 -0
  248. package/docs/v1/graph/docs/index.html +1858 -0
  249. package/docs/v1/graph/docs/insights/index.html +1698 -0
  250. package/docs/v1/graph/docs/invitations/index.html +1742 -0
  251. package/docs/v1/graph/docs/onedrive/index.html +2086 -0
  252. package/docs/v1/graph/docs/people/index.html +1664 -0
  253. package/docs/v1/graph/docs/planner/index.html +2097 -0
  254. package/docs/v1/graph/docs/security/index.html +1692 -0
  255. package/docs/v1/graph/docs/sites/index.html +2043 -0
  256. package/docs/v1/graph/docs/subscriptions/index.html +1835 -0
  257. package/docs/v1/graph/docs/teams/index.html +2097 -0
  258. package/docs/v1/index.html +1889 -0
  259. package/docs/v1/logging/docs/index.html +2045 -0
  260. package/docs/v1/nodejs/docs/adal-certificate-fetch-client/index.html +1676 -0
  261. package/docs/v1/nodejs/docs/adal-fetch-client/index.html +1713 -0
  262. package/docs/v1/nodejs/docs/bearer-token-fetch-client/index.html +1712 -0
  263. package/docs/v1/nodejs/docs/index.html +1764 -0
  264. package/docs/v1/nodejs/docs/provider-hosted-app/index.html +1725 -0
  265. package/docs/v1/nodejs/docs/proxy/index.html +1699 -0
  266. package/docs/v1/nodejs/docs/sp-fetch-client/index.html +1895 -0
  267. package/docs/v1/odata/docs/caching/index.html +1988 -0
  268. package/docs/v1/odata/docs/core/index.html +1829 -0
  269. package/docs/v1/odata/docs/index.html +1781 -0
  270. package/docs/v1/odata/docs/odata-batch/index.html +1755 -0
  271. package/docs/v1/odata/docs/parsers/index.html +1862 -0
  272. package/docs/v1/odata/docs/pipeline/index.html +1811 -0
  273. package/docs/v1/odata/docs/queryable/index.html +1967 -0
  274. package/docs/v1/pnpjs/docs/index.html +1814 -0
  275. package/docs/v1/search/search_index.json +1 -0
  276. package/docs/v1/sitemap.xml +428 -0
  277. package/docs/v1/sitemap.xml.gz +0 -0
  278. package/docs/v1/sp/docs/alias-parameters/index.html +1830 -0
  279. package/docs/v1/sp/docs/alm/index.html +1920 -0
  280. package/docs/v1/sp/docs/attachments/index.html +1998 -0
  281. package/docs/v1/sp/docs/client-side-pages/index.html +2031 -0
  282. package/docs/v1/sp/docs/comments-likes/index.html +1958 -0
  283. package/docs/v1/sp/docs/content-types/index.html +1758 -0
  284. package/docs/v1/sp/docs/entity-merging/index.html +1838 -0
  285. package/docs/v1/sp/docs/features/index.html +1824 -0
  286. package/docs/v1/sp/docs/fields/index.html +2031 -0
  287. package/docs/v1/sp/docs/files/index.html +2178 -0
  288. package/docs/v1/sp/docs/index.html +1894 -0
  289. package/docs/v1/sp/docs/items/index.html +2362 -0
  290. package/docs/v1/sp/docs/navigation-service/index.html +1791 -0
  291. package/docs/v1/sp/docs/permissions/index.html +1860 -0
  292. package/docs/v1/sp/docs/profiles/index.html +1794 -0
  293. package/docs/v1/sp/docs/related-items/index.html +1886 -0
  294. package/docs/v1/sp/docs/search/index.html +1830 -0
  295. package/docs/v1/sp/docs/sharing/index.html +2058 -0
  296. package/docs/v1/sp/docs/sitedesigns/index.html +1851 -0
  297. package/docs/v1/sp/docs/sites/index.html +2186 -0
  298. package/docs/v1/sp/docs/social/index.html +2011 -0
  299. package/docs/v1/sp/docs/sp-utilities-utility/index.html +2061 -0
  300. package/docs/v1/sp/docs/tenant-properties/index.html +1795 -0
  301. package/docs/v1/sp/docs/views/index.html +1869 -0
  302. package/docs/v1/sp/docs/webs/index.html +1972 -0
  303. package/docs/v1/sp-addinhelpers/docs/index.html +1771 -0
  304. package/docs/v1/sp-addinhelpers/docs/sp-request-executor-client/index.html +1760 -0
  305. package/docs/v1/sp-addinhelpers/docs/sp-rest-addin/index.html +1711 -0
  306. package/docs/v1/sp-clientsvc/docs/index.html +1736 -0
  307. package/docs/v1/sp-taxonomy/docs/index.html +1887 -0
  308. package/docs/v1/sp-taxonomy/docs/labels/index.html +1827 -0
  309. package/docs/v1/sp-taxonomy/docs/term-groups/index.html +1875 -0
  310. package/docs/v1/sp-taxonomy/docs/term-sets/index.html +1946 -0
  311. package/docs/v1/sp-taxonomy/docs/term-stores/index.html +2111 -0
  312. package/docs/v1/sp-taxonomy/docs/terms/index.html +2036 -0
  313. package/docs/v1/sp-taxonomy/docs/utilities/index.html +1783 -0
  314. package/docs/v2/404.html +2108 -0
  315. package/docs/v2/SPFx-on-premises/index.html +2278 -0
  316. package/docs/v2/_theme/main.html +5 -0
  317. package/docs/v2/adaljsclient/adalclient/index.html +15 -0
  318. package/docs/v2/adaljsclient/index.html +15 -0
  319. package/docs/v2/assets/images/favicon.png +0 -0
  320. package/docs/v2/assets/javascripts/bundle.9554a270.min.js +2 -0
  321. package/docs/v2/assets/javascripts/bundle.9554a270.min.js.map +1 -0
  322. package/docs/v2/assets/javascripts/lunr/min/lunr.ar.min.js +1 -0
  323. package/docs/v2/assets/javascripts/lunr/min/lunr.da.min.js +18 -0
  324. package/docs/v2/assets/javascripts/lunr/min/lunr.de.min.js +18 -0
  325. package/docs/v2/assets/javascripts/lunr/min/lunr.du.min.js +18 -0
  326. package/docs/v2/assets/javascripts/lunr/min/lunr.es.min.js +18 -0
  327. package/docs/v2/assets/javascripts/lunr/min/lunr.fi.min.js +18 -0
  328. package/docs/v2/assets/javascripts/lunr/min/lunr.fr.min.js +18 -0
  329. package/docs/v2/assets/javascripts/lunr/min/lunr.hu.min.js +18 -0
  330. package/docs/v2/assets/javascripts/lunr/min/lunr.it.min.js +18 -0
  331. package/docs/v2/assets/javascripts/lunr/min/lunr.ja.min.js +1 -0
  332. package/docs/v2/assets/javascripts/lunr/min/lunr.jp.min.js +1 -0
  333. package/docs/v2/assets/javascripts/lunr/min/lunr.multi.min.js +1 -0
  334. package/docs/v2/assets/javascripts/lunr/min/lunr.nl.min.js +18 -0
  335. package/docs/v2/assets/javascripts/lunr/min/lunr.no.min.js +18 -0
  336. package/docs/v2/assets/javascripts/lunr/min/lunr.pt.min.js +18 -0
  337. package/docs/v2/assets/javascripts/lunr/min/lunr.ro.min.js +18 -0
  338. package/docs/v2/assets/javascripts/lunr/min/lunr.ru.min.js +18 -0
  339. package/docs/v2/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +1 -0
  340. package/docs/v2/assets/javascripts/lunr/min/lunr.sv.min.js +18 -0
  341. package/docs/v2/assets/javascripts/lunr/min/lunr.tr.min.js +18 -0
  342. package/docs/v2/assets/javascripts/lunr/min/lunr.vi.min.js +1 -0
  343. package/docs/v2/assets/javascripts/lunr/tinyseg.min.js +1 -0
  344. package/docs/v2/assets/javascripts/vendor.77e55a48.min.js +30 -0
  345. package/docs/v2/assets/javascripts/vendor.77e55a48.min.js.map +1 -0
  346. package/docs/v2/assets/javascripts/worker/search.4ac00218.min.js +59 -0
  347. package/docs/v2/assets/javascripts/worker/search.4ac00218.min.js.map +1 -0
  348. package/docs/v2/assets/stylesheets/main.38780c08.min.css +3 -0
  349. package/docs/v2/assets/stylesheets/main.38780c08.min.css.map +1 -0
  350. package/docs/v2/assets/stylesheets/palette.3f72e892.min.css +3 -0
  351. package/docs/v2/assets/stylesheets/palette.3f72e892.min.css.map +1 -0
  352. package/docs/v2/authentication/adaljsclient/index.html +2510 -0
  353. package/docs/v2/authentication/bearertokenclient/index.html +2251 -0
  354. package/docs/v2/authentication/client-spa/index.html +2206 -0
  355. package/docs/v2/authentication/client-spfx/index.html +2397 -0
  356. package/docs/v2/authentication/index.html +2307 -0
  357. package/docs/v2/authentication/lambdaclient/index.html +2304 -0
  358. package/docs/v2/authentication/msaljsclient/index.html +2413 -0
  359. package/docs/v2/authentication/server-nodejs/index.html +2404 -0
  360. package/docs/v2/authentication/sp-app-registration/index.html +2273 -0
  361. package/docs/v2/common/collections/index.html +2277 -0
  362. package/docs/v2/common/custom-httpclientimpl/index.html +2300 -0
  363. package/docs/v2/common/index.html +2262 -0
  364. package/docs/v2/common/libconfig/index.html +2413 -0
  365. package/docs/v2/common/netutil/index.html +2350 -0
  366. package/docs/v2/common/storage/index.html +2339 -0
  367. package/docs/v2/common/util/index.html +2638 -0
  368. package/docs/v2/concepts/configuration/index.html +2685 -0
  369. package/docs/v2/concepts/custom-bundle/index.html +2279 -0
  370. package/docs/v2/concepts/error-handling/index.html +2539 -0
  371. package/docs/v2/concepts/ie11-mode/index.html +2278 -0
  372. package/docs/v2/concepts/invokable/index.html +2254 -0
  373. package/docs/v2/concepts/polyfill/index.html +2401 -0
  374. package/docs/v2/concepts/selective-imports/index.html +2360 -0
  375. package/docs/v2/concepts/settings/index.html +2551 -0
  376. package/docs/v2/config-store/configuration/index.html +2226 -0
  377. package/docs/v2/config-store/index.html +2239 -0
  378. package/docs/v2/config-store/providers/index.html +2275 -0
  379. package/docs/v2/contributing/debug-tests/index.html +2323 -0
  380. package/docs/v2/contributing/debugging/index.html +2514 -0
  381. package/docs/v2/contributing/documentation/index.html +2291 -0
  382. package/docs/v2/contributing/extending-the-library/index.html +2521 -0
  383. package/docs/v2/contributing/index.html +2270 -0
  384. package/docs/v2/contributing/local-debug-configuration/index.html +2284 -0
  385. package/docs/v2/contributing/pull-requests/index.html +2261 -0
  386. package/docs/v2/contributing/setup-dev-machine/index.html +2284 -0
  387. package/docs/v2/css/extra.css +33 -0
  388. package/docs/v2/debug-tests/index.html +15 -0
  389. package/docs/v2/debugging/index.html +15 -0
  390. package/docs/v2/documentation/index.html +15 -0
  391. package/docs/v2/getting-started/index.html +2789 -0
  392. package/docs/v2/getting-started-dev/index.html +15 -0
  393. package/docs/v2/graph/calendars/index.html +2569 -0
  394. package/docs/v2/graph/contacts/index.html +2673 -0
  395. package/docs/v2/graph/directoryobjects/index.html +2402 -0
  396. package/docs/v2/graph/groups/index.html +2488 -0
  397. package/docs/v2/graph/index.html +2333 -0
  398. package/docs/v2/graph/insights/index.html +2478 -0
  399. package/docs/v2/graph/invitations/index.html +2273 -0
  400. package/docs/v2/graph/onedrive/index.html +2617 -0
  401. package/docs/v2/graph/outlook/index.html +2363 -0
  402. package/docs/v2/graph/photos/index.html +2351 -0
  403. package/docs/v2/graph/planner/index.html +2628 -0
  404. package/docs/v2/graph/search/index.html +2264 -0
  405. package/docs/v2/graph/subscriptions/index.html +2333 -0
  406. package/docs/v2/graph/teams/index.html +2619 -0
  407. package/docs/v2/graph/users/index.html +2461 -0
  408. package/docs/v2/img/ConsoleListenerColors.png +0 -0
  409. package/docs/v2/img/Logo.png +0 -0
  410. package/docs/v2/img/PnPJS_FluentAPI.gif +0 -0
  411. package/docs/v2/img/SPFx-On-Premesis-2016-1.png +0 -0
  412. package/docs/v2/img/office365-header-icon.png +0 -0
  413. package/docs/v2/img/usage-2020-eoy.png +0 -0
  414. package/docs/v2/index.html +2410 -0
  415. package/docs/v2/logging/index.html +2622 -0
  416. package/docs/v2/news/2020-year-in-review/index.html +2525 -0
  417. package/docs/v2/nodejs/adal-fetch-client/index.html +2204 -0
  418. package/docs/v2/nodejs/bearer-token-fetch-client/index.html +2203 -0
  419. package/docs/v2/nodejs/index.html +2261 -0
  420. package/docs/v2/nodejs/provider-hosted-app/index.html +2220 -0
  421. package/docs/v2/nodejs/proxy/index.html +2238 -0
  422. package/docs/v2/nodejs/sp-extensions/index.html +2362 -0
  423. package/docs/v2/nodejs/sp-fetch-client/index.html +2294 -0
  424. package/docs/v2/nodejs-support/index.html +2398 -0
  425. package/docs/v2/npm-scripts/index.html +2521 -0
  426. package/docs/v2/odata/caching/index.html +2465 -0
  427. package/docs/v2/odata/core/index.html +2322 -0
  428. package/docs/v2/odata/debug/index.html +2358 -0
  429. package/docs/v2/odata/extensions/index.html +2581 -0
  430. package/docs/v2/odata/index.html +2259 -0
  431. package/docs/v2/odata/odata-batch/index.html +2250 -0
  432. package/docs/v2/odata/parsers/index.html +2355 -0
  433. package/docs/v2/odata/pipeline/index.html +2297 -0
  434. package/docs/v2/odata/queryable/index.html +2455 -0
  435. package/docs/v2/packages/index.html +2251 -0
  436. package/docs/v2/pnpjs/index.html +2281 -0
  437. package/docs/v2/search/search_index.json +1 -0
  438. package/docs/v2/sitemap.xml +483 -0
  439. package/docs/v2/sitemap.xml.gz +0 -0
  440. package/docs/v2/sp/alias-parameters/index.html +2330 -0
  441. package/docs/v2/sp/alm/index.html +2433 -0
  442. package/docs/v2/sp/attachments/index.html +2504 -0
  443. package/docs/v2/sp/clientside-pages/index.html +3477 -0
  444. package/docs/v2/sp/column-defaults/index.html +2540 -0
  445. package/docs/v2/sp/comments-likes/index.html +2646 -0
  446. package/docs/v2/sp/content-types/index.html +2462 -0
  447. package/docs/v2/sp/custom-irequestclient/index.html +2339 -0
  448. package/docs/v2/sp/entity-merging/index.html +2325 -0
  449. package/docs/v2/sp/features/index.html +2440 -0
  450. package/docs/v2/sp/fields/index.html +3103 -0
  451. package/docs/v2/sp/files/index.html +2949 -0
  452. package/docs/v2/sp/folders/index.html +2968 -0
  453. package/docs/v2/sp/forms/index.html +2289 -0
  454. package/docs/v2/sp/hubsites/index.html +2485 -0
  455. package/docs/v2/sp/index.html +2328 -0
  456. package/docs/v2/sp/items/index.html +2974 -0
  457. package/docs/v2/sp/lists/index.html +3387 -0
  458. package/docs/v2/sp/navigation/index.html +2535 -0
  459. package/docs/v2/sp/permissions/index.html +2338 -0
  460. package/docs/v2/sp/profiles/index.html +2806 -0
  461. package/docs/v2/sp/regional-settings/index.html +2394 -0
  462. package/docs/v2/sp/related-items/index.html +2417 -0
  463. package/docs/v2/sp/search/index.html +2474 -0
  464. package/docs/v2/sp/security/index.html +2432 -0
  465. package/docs/v2/sp/sharing/index.html +2589 -0
  466. package/docs/v2/sp/site-designs/index.html +2414 -0
  467. package/docs/v2/sp/site-groups/index.html +2504 -0
  468. package/docs/v2/sp/site-scripts/index.html +2433 -0
  469. package/docs/v2/sp/site-users/index.html +2641 -0
  470. package/docs/v2/sp/sites/index.html +2727 -0
  471. package/docs/v2/sp/social/index.html +2517 -0
  472. package/docs/v2/sp/sp-utilities-utility/index.html +2460 -0
  473. package/docs/v2/sp/subscriptions/index.html +2395 -0
  474. package/docs/v2/sp/taxonomy/index.html +2565 -0
  475. package/docs/v2/sp/tenant-properties/index.html +2286 -0
  476. package/docs/v2/sp/user-custom-actions/index.html +2424 -0
  477. package/docs/v2/sp/views/index.html +2652 -0
  478. package/docs/v2/sp/webs/index.html +4190 -0
  479. package/docs/v2/sp-addinhelpers/index.html +2274 -0
  480. package/docs/v2/sp-addinhelpers/sp-request-executor-client/index.html +2253 -0
  481. package/docs/v2/sp-addinhelpers/sp-rest-addin/index.html +2206 -0
  482. package/docs/v2/transition-guide/index.html +2435 -0
  483. package/mkdocs-requirements.txt +2 -0
  484. package/mkdocs.yml +188 -0
  485. package/package.json +96 -0
  486. package/packages/azidjsclient/index.ts +68 -0
  487. package/packages/azidjsclient/package.json +13 -0
  488. package/packages/azidjsclient/tsconfig.json +12 -0
  489. package/packages/core/behaviors/assign-from.ts +17 -0
  490. package/packages/core/behaviors/copy-from.ts +58 -0
  491. package/packages/core/extendable.ts +193 -0
  492. package/packages/core/index.ts +11 -0
  493. package/packages/core/moments.ts +117 -0
  494. package/packages/core/package.json +10 -0
  495. package/packages/core/storage.ts +274 -0
  496. package/packages/core/timeline.ts +387 -0
  497. package/packages/core/tsconfig.json +10 -0
  498. package/packages/core/util.ts +169 -0
  499. package/packages/graph/attachments/conversations.ts +14 -0
  500. package/packages/graph/attachments/index.ts +8 -0
  501. package/packages/graph/attachments/types.ts +37 -0
  502. package/packages/graph/batching.ts +408 -0
  503. package/packages/graph/behaviors/consistency-level.ts +17 -0
  504. package/packages/graph/behaviors/defaults.ts +41 -0
  505. package/packages/graph/behaviors/endpoint.ts +22 -0
  506. package/packages/graph/behaviors/graphbrowser.ts +38 -0
  507. package/packages/graph/behaviors/paged.ts +109 -0
  508. package/packages/graph/behaviors/spfx.ts +46 -0
  509. package/packages/graph/behaviors/telemetry.ts +19 -0
  510. package/packages/graph/bookings/funcs.ts +18 -0
  511. package/packages/graph/bookings/index.ts +62 -0
  512. package/packages/graph/bookings/types.ts +352 -0
  513. package/packages/graph/calendars/funcs.ts +58 -0
  514. package/packages/graph/calendars/groups.ts +19 -0
  515. package/packages/graph/calendars/index.ts +18 -0
  516. package/packages/graph/calendars/types.ts +73 -0
  517. package/packages/graph/calendars/users.ts +28 -0
  518. package/packages/graph/cloud-communications/index.ts +24 -0
  519. package/packages/graph/cloud-communications/types.ts +32 -0
  520. package/packages/graph/cloud-communications/users.ts +15 -0
  521. package/packages/graph/columns/addColumns.ts +28 -0
  522. package/packages/graph/columns/content-types.ts +44 -0
  523. package/packages/graph/columns/index.ts +14 -0
  524. package/packages/graph/columns/lists.ts +33 -0
  525. package/packages/graph/columns/sites.ts +32 -0
  526. package/packages/graph/columns/types.ts +24 -0
  527. package/packages/graph/contacts/index.ts +14 -0
  528. package/packages/graph/contacts/types.ts +126 -0
  529. package/packages/graph/contacts/users.ts +17 -0
  530. package/packages/graph/content-types/index.ts +11 -0
  531. package/packages/graph/content-types/lists.ts +44 -0
  532. package/packages/graph/content-types/sites.ts +70 -0
  533. package/packages/graph/content-types/types.ts +112 -0
  534. package/packages/graph/conversations/groups.ts +20 -0
  535. package/packages/graph/conversations/index.ts +19 -0
  536. package/packages/graph/conversations/types.ts +147 -0
  537. package/packages/graph/decorators.ts +164 -0
  538. package/packages/graph/directory-objects/index.ts +24 -0
  539. package/packages/graph/directory-objects/types.ts +94 -0
  540. package/packages/graph/fi.ts +46 -0
  541. package/packages/graph/graphqueryable.ts +193 -0
  542. package/packages/graph/groups/index.ts +25 -0
  543. package/packages/graph/groups/types.ts +130 -0
  544. package/packages/graph/index.ts +21 -0
  545. package/packages/graph/insights/index.ts +20 -0
  546. package/packages/graph/insights/types.ts +105 -0
  547. package/packages/graph/insights/users.ts +14 -0
  548. package/packages/graph/invitations/index.ts +22 -0
  549. package/packages/graph/invitations/types.ts +41 -0
  550. package/packages/graph/lists/drive.ts +21 -0
  551. package/packages/graph/lists/index.ts +10 -0
  552. package/packages/graph/lists/sites.ts +16 -0
  553. package/packages/graph/lists/types.ts +47 -0
  554. package/packages/graph/members/groups.ts +17 -0
  555. package/packages/graph/members/index.ts +8 -0
  556. package/packages/graph/members/types.ts +40 -0
  557. package/packages/graph/messages/index.ts +14 -0
  558. package/packages/graph/messages/types.ts +46 -0
  559. package/packages/graph/messages/users.ts +27 -0
  560. package/packages/graph/onedrive/funcs.ts +40 -0
  561. package/packages/graph/onedrive/groups.ts +33 -0
  562. package/packages/graph/onedrive/index.ts +48 -0
  563. package/packages/graph/onedrive/sites.ts +35 -0
  564. package/packages/graph/onedrive/types.ts +482 -0
  565. package/packages/graph/onedrive/users.ts +56 -0
  566. package/packages/graph/onenote/index.ts +16 -0
  567. package/packages/graph/onenote/types.ts +119 -0
  568. package/packages/graph/onenote/users.ts +14 -0
  569. package/packages/graph/operations.ts +22 -0
  570. package/packages/graph/outlook/index.ts +11 -0
  571. package/packages/graph/outlook/types.ts +58 -0
  572. package/packages/graph/outlook/users.ts +14 -0
  573. package/packages/graph/package.json +16 -0
  574. package/packages/graph/photos/groups.ts +14 -0
  575. package/packages/graph/photos/index.ts +7 -0
  576. package/packages/graph/photos/types.ts +33 -0
  577. package/packages/graph/photos/users.ts +14 -0
  578. package/packages/graph/planner/groups.ts +14 -0
  579. package/packages/graph/planner/index.ts +42 -0
  580. package/packages/graph/planner/types.ts +213 -0
  581. package/packages/graph/planner/users.ts +14 -0
  582. package/packages/graph/post-install.cjs +20 -0
  583. package/packages/graph/presets/all.ts +42 -0
  584. package/packages/graph/search/index.ts +18 -0
  585. package/packages/graph/search/types.ts +20 -0
  586. package/packages/graph/shares/index.ts +23 -0
  587. package/packages/graph/shares/types.ts +47 -0
  588. package/packages/graph/sites/group.ts +14 -0
  589. package/packages/graph/sites/index.ts +25 -0
  590. package/packages/graph/sites/types.ts +45 -0
  591. package/packages/graph/subscriptions/index.ts +24 -0
  592. package/packages/graph/subscriptions/types.ts +59 -0
  593. package/packages/graph/teams/index.ts +68 -0
  594. package/packages/graph/teams/types.ts +333 -0
  595. package/packages/graph/teams/users.ts +14 -0
  596. package/packages/graph/tsconfig.json +16 -0
  597. package/packages/graph/users/index.ts +34 -0
  598. package/packages/graph/users/types.ts +56 -0
  599. package/packages/graph/utils/type.ts +3 -0
  600. package/packages/logging/index.ts +145 -0
  601. package/packages/logging/listeners.ts +134 -0
  602. package/packages/logging/package.json +10 -0
  603. package/packages/logging/tsconfig.json +7 -0
  604. package/packages/msaljsclient/index.ts +40 -0
  605. package/packages/msaljsclient/package.json +12 -0
  606. package/packages/msaljsclient/tsconfig.json +12 -0
  607. package/packages/nodejs/behaviors/fetch.ts +130 -0
  608. package/packages/nodejs/behaviors/graphdefault.ts +50 -0
  609. package/packages/nodejs/behaviors/msal.ts +24 -0
  610. package/packages/nodejs/behaviors/spdefault.ts +45 -0
  611. package/packages/nodejs/behaviors/stream-parse.ts +7 -0
  612. package/packages/nodejs/index.ts +33 -0
  613. package/packages/nodejs/package.json +17 -0
  614. package/packages/nodejs/sp-extensions/stream.ts +136 -0
  615. package/packages/nodejs/tsconfig.json +28 -0
  616. package/packages/queryable/add-prop.ts +18 -0
  617. package/packages/queryable/behaviors/bearer-token.ts +15 -0
  618. package/packages/queryable/behaviors/browser-fetch.ts +131 -0
  619. package/packages/queryable/behaviors/caching-pessimistic.ts +67 -0
  620. package/packages/queryable/behaviors/caching.ts +149 -0
  621. package/packages/queryable/behaviors/cancelable.ts +264 -0
  622. package/packages/queryable/behaviors/inject-headers.ts +23 -0
  623. package/packages/queryable/behaviors/parsers.ts +134 -0
  624. package/packages/queryable/behaviors/resolvers.ts +28 -0
  625. package/packages/queryable/behaviors/timeout.ts +24 -0
  626. package/packages/queryable/index.ts +19 -0
  627. package/packages/queryable/invokable.ts +42 -0
  628. package/packages/queryable/operations.ts +32 -0
  629. package/packages/queryable/package.json +11 -0
  630. package/packages/queryable/queryable-factory.ts +19 -0
  631. package/packages/queryable/queryable.ts +239 -0
  632. package/packages/queryable/request-builders.ts +20 -0
  633. package/packages/queryable/tsconfig.json +11 -0
  634. package/packages/readme.md +21 -0
  635. package/packages/sp/appcatalog/index.ts +35 -0
  636. package/packages/sp/appcatalog/types.ts +176 -0
  637. package/packages/sp/appcatalog/web.ts +19 -0
  638. package/packages/sp/attachments/index.ts +11 -0
  639. package/packages/sp/attachments/item.ts +17 -0
  640. package/packages/sp/attachments/types.ts +95 -0
  641. package/packages/sp/batching.ts +483 -0
  642. package/packages/sp/behaviors/defaults.ts +38 -0
  643. package/packages/sp/behaviors/request-digest.ts +78 -0
  644. package/packages/sp/behaviors/spbrowser.ts +40 -0
  645. package/packages/sp/behaviors/spfx.ts +83 -0
  646. package/packages/sp/behaviors/telemetry.ts +35 -0
  647. package/packages/sp/clientside-pages/funcs.ts +27 -0
  648. package/packages/sp/clientside-pages/index.ts +27 -0
  649. package/packages/sp/clientside-pages/types.ts +1661 -0
  650. package/packages/sp/clientside-pages/web.ts +93 -0
  651. package/packages/sp/column-defaults/folder.ts +89 -0
  652. package/packages/sp/column-defaults/index.ts +8 -0
  653. package/packages/sp/column-defaults/list.ts +219 -0
  654. package/packages/sp/column-defaults/types.ts +19 -0
  655. package/packages/sp/comments/clientside-page.ts +120 -0
  656. package/packages/sp/comments/index.ts +14 -0
  657. package/packages/sp/comments/item.ts +77 -0
  658. package/packages/sp/comments/types.ts +160 -0
  659. package/packages/sp/content-types/index.ts +17 -0
  660. package/packages/sp/content-types/item.ts +17 -0
  661. package/packages/sp/content-types/list.ts +17 -0
  662. package/packages/sp/content-types/types.ts +181 -0
  663. package/packages/sp/content-types/web.ts +17 -0
  664. package/packages/sp/context-info/index.ts +40 -0
  665. package/packages/sp/decorators.ts +18 -0
  666. package/packages/sp/favorites/index.ts +32 -0
  667. package/packages/sp/favorites/types.ts +187 -0
  668. package/packages/sp/features/index.ts +11 -0
  669. package/packages/sp/features/site.ts +17 -0
  670. package/packages/sp/features/types.ts +73 -0
  671. package/packages/sp/features/web.ts +17 -0
  672. package/packages/sp/fi.ts +46 -0
  673. package/packages/sp/fields/index.ts +22 -0
  674. package/packages/sp/fields/list.ts +17 -0
  675. package/packages/sp/fields/types.ts +648 -0
  676. package/packages/sp/fields/web.ts +23 -0
  677. package/packages/sp/files/folder.ts +17 -0
  678. package/packages/sp/files/index.ts +25 -0
  679. package/packages/sp/files/item.ts +17 -0
  680. package/packages/sp/files/readable-file.ts +40 -0
  681. package/packages/sp/files/types.ts +771 -0
  682. package/packages/sp/files/web.ts +46 -0
  683. package/packages/sp/folders/index.ts +19 -0
  684. package/packages/sp/folders/item.ts +16 -0
  685. package/packages/sp/folders/list.ts +17 -0
  686. package/packages/sp/folders/types.ts +439 -0
  687. package/packages/sp/folders/web.ts +50 -0
  688. package/packages/sp/forms/index.ts +9 -0
  689. package/packages/sp/forms/list.ts +14 -0
  690. package/packages/sp/forms/types.ts +41 -0
  691. package/packages/sp/groupsitemanager/index.ts +18 -0
  692. package/packages/sp/groupsitemanager/types.ts +433 -0
  693. package/packages/sp/hubsites/index.ts +31 -0
  694. package/packages/sp/hubsites/site.ts +43 -0
  695. package/packages/sp/hubsites/types.ts +71 -0
  696. package/packages/sp/hubsites/web.ts +38 -0
  697. package/packages/sp/index.ts +24 -0
  698. package/packages/sp/items/get-all.ts +52 -0
  699. package/packages/sp/items/index.ts +18 -0
  700. package/packages/sp/items/list.ts +14 -0
  701. package/packages/sp/items/types.ts +405 -0
  702. package/packages/sp/lists/index.ts +23 -0
  703. package/packages/sp/lists/types.ts +851 -0
  704. package/packages/sp/lists/web.ts +68 -0
  705. package/packages/sp/navigation/index.ts +35 -0
  706. package/packages/sp/navigation/types.ts +243 -0
  707. package/packages/sp/navigation/web.ts +19 -0
  708. package/packages/sp/operations.ts +33 -0
  709. package/packages/sp/package.json +15 -0
  710. package/packages/sp/post-install.cjs +20 -0
  711. package/packages/sp/presets/all.ts +75 -0
  712. package/packages/sp/profiles/index.ts +30 -0
  713. package/packages/sp/profiles/types.ts +595 -0
  714. package/packages/sp/publishing-sitepageservice/index.ts +22 -0
  715. package/packages/sp/publishing-sitepageservice/types.ts +18 -0
  716. package/packages/sp/recycle-bin/index.ts +36 -0
  717. package/packages/sp/recycle-bin/types.ts +113 -0
  718. package/packages/sp/regional-settings/content-type.ts +11 -0
  719. package/packages/sp/regional-settings/field.ts +11 -0
  720. package/packages/sp/regional-settings/funcs.ts +10 -0
  721. package/packages/sp/regional-settings/index.ts +18 -0
  722. package/packages/sp/regional-settings/list.ts +11 -0
  723. package/packages/sp/regional-settings/types.ts +159 -0
  724. package/packages/sp/regional-settings/user-custom-actions.ts +11 -0
  725. package/packages/sp/regional-settings/web.ts +21 -0
  726. package/packages/sp/related-items/index.ts +7 -0
  727. package/packages/sp/related-items/types.ts +194 -0
  728. package/packages/sp/related-items/web.ts +22 -0
  729. package/packages/sp/search/index.ts +48 -0
  730. package/packages/sp/search/query.ts +254 -0
  731. package/packages/sp/search/suggest.ts +130 -0
  732. package/packages/sp/search/types.ts +480 -0
  733. package/packages/sp/security/funcs.ts +94 -0
  734. package/packages/sp/security/index.ts +21 -0
  735. package/packages/sp/security/item.ts +29 -0
  736. package/packages/sp/security/list.ts +29 -0
  737. package/packages/sp/security/types.ts +440 -0
  738. package/packages/sp/security/web.ts +34 -0
  739. package/packages/sp/sharing/file.ts +75 -0
  740. package/packages/sp/sharing/folder.ts +69 -0
  741. package/packages/sp/sharing/funcs.ts +258 -0
  742. package/packages/sp/sharing/index.ts +27 -0
  743. package/packages/sp/sharing/item.ts +53 -0
  744. package/packages/sp/sharing/types.ts +626 -0
  745. package/packages/sp/sharing/web.ts +109 -0
  746. package/packages/sp/site-designs/index.ts +29 -0
  747. package/packages/sp/site-designs/types.ts +456 -0
  748. package/packages/sp/site-designs/web.ts +41 -0
  749. package/packages/sp/site-groups/index.ts +11 -0
  750. package/packages/sp/site-groups/types.ts +133 -0
  751. package/packages/sp/site-groups/web.ts +73 -0
  752. package/packages/sp/site-scripts/index.ts +27 -0
  753. package/packages/sp/site-scripts/list.ts +27 -0
  754. package/packages/sp/site-scripts/types.ts +243 -0
  755. package/packages/sp/site-scripts/web.ts +24 -0
  756. package/packages/sp/site-users/index.ts +12 -0
  757. package/packages/sp/site-users/types.ts +195 -0
  758. package/packages/sp/site-users/web.ts +56 -0
  759. package/packages/sp/sites/index.ts +26 -0
  760. package/packages/sp/sites/types.ts +422 -0
  761. package/packages/sp/social/index.ts +33 -0
  762. package/packages/sp/social/types.ts +381 -0
  763. package/packages/sp/spqueryable.ts +244 -0
  764. package/packages/sp/sputilities/index.ts +23 -0
  765. package/packages/sp/sputilities/types.ts +197 -0
  766. package/packages/sp/subscriptions/index.ts +10 -0
  767. package/packages/sp/subscriptions/list.ts +18 -0
  768. package/packages/sp/subscriptions/types.ts +107 -0
  769. package/packages/sp/taxonomy/index.ts +50 -0
  770. package/packages/sp/taxonomy/types.ts +508 -0
  771. package/packages/sp/tsconfig.json +16 -0
  772. package/packages/sp/types.ts +283 -0
  773. package/packages/sp/user-custom-actions/index.ts +15 -0
  774. package/packages/sp/user-custom-actions/list.ts +18 -0
  775. package/packages/sp/user-custom-actions/site.ts +18 -0
  776. package/packages/sp/user-custom-actions/types.ts +133 -0
  777. package/packages/sp/user-custom-actions/web.ts +21 -0
  778. package/packages/sp/utils/encode-path-str.ts +29 -0
  779. package/packages/sp/utils/extract-web-url.ts +21 -0
  780. package/packages/sp/utils/file-names.ts +35 -0
  781. package/packages/sp/utils/metadata.ts +5 -0
  782. package/packages/sp/utils/odata-url-from.ts +42 -0
  783. package/packages/sp/utils/to-resource-path.ts +9 -0
  784. package/packages/sp/views/index.ts +14 -0
  785. package/packages/sp/views/list.ts +33 -0
  786. package/packages/sp/views/types.ts +210 -0
  787. package/packages/sp/webparts/file.ts +21 -0
  788. package/packages/sp/webparts/index.ts +11 -0
  789. package/packages/sp/webparts/types.ts +141 -0
  790. package/packages/sp/webs/index.ts +32 -0
  791. package/packages/sp/webs/types.ts +350 -0
  792. package/packages/sp-admin/index.ts +46 -0
  793. package/packages/sp-admin/office-tenant.ts +567 -0
  794. package/packages/sp-admin/package.json +13 -0
  795. package/packages/sp-admin/site-properties.ts +45 -0
  796. package/packages/sp-admin/tenant.ts +595 -0
  797. package/packages/sp-admin/tsconfig.json +20 -0
  798. package/packages/sp-admin/types.ts +1679 -0
  799. package/packages/tsconfig-watch.json +9 -0
  800. package/packages/tsconfig.json +37 -0
  801. package/pre-install.cjs +1 -0
  802. package/samples/custom-bundle-webpack/index.ts +33 -0
  803. package/samples/custom-bundle-webpack/package-lock.json +4601 -0
  804. package/samples/custom-bundle-webpack/package.json +18 -0
  805. package/samples/custom-bundle-webpack/readme.md +102 -0
  806. package/samples/custom-bundle-webpack/tsconfig.json +12 -0
  807. package/samples/custom-bundle-webpack/webpack.config.js +27 -0
  808. package/samples/nodejs-app/.vscode/launch.json +27 -0
  809. package/samples/nodejs-app/.vscode/settings.json +10 -0
  810. package/samples/nodejs-app/.vscode/tasks.json +22 -0
  811. package/samples/nodejs-app/index.ts +63 -0
  812. package/samples/nodejs-app/package-lock.json +259 -0
  813. package/samples/nodejs-app/package.json +21 -0
  814. package/samples/nodejs-app/readme.md +140 -0
  815. package/samples/nodejs-app/tsconfig.json +14 -0
  816. package/samples/nodejs-commonjs/package-lock.json +702 -0
  817. package/samples/nodejs-commonjs/package.json +21 -0
  818. package/samples/nodejs-commonjs/readme.md +58 -0
  819. package/samples/nodejs-commonjs/src/index.ts +23 -0
  820. package/samples/nodejs-commonjs/src/settings.ts +35 -0
  821. package/samples/nodejs-commonjs/tsconfig.json +35 -0
  822. package/samples/project-preset/README.md +73 -0
  823. package/samples/project-preset/package-lock.json +21097 -0
  824. package/samples/project-preset/package.json +29 -0
  825. package/samples/project-preset/teams/4530a515-8ba7-45bb-9a27-be06b33c59d4_color.png +0 -0
  826. package/samples/project-preset/teams/4530a515-8ba7-45bb-9a27-be06b33c59d4_outline.png +0 -0
  827. package/samples/readme.md +16 -0
  828. package/settings.example.js +57 -0
  829. package/test/args.ts +107 -0
  830. package/test/clean-subsite.ts +36 -0
  831. package/test/core/assumptions.ts +99 -0
  832. package/test/core/storage.ts +60 -0
  833. package/test/core/timeline.ts +205 -0
  834. package/test/core/util.ts +205 -0
  835. package/test/graph/assets/testconvert.docx +0 -0
  836. package/test/graph/batch.ts +125 -0
  837. package/test/graph/calendars.ts +234 -0
  838. package/test/graph/columns.ts +247 -0
  839. package/test/graph/contacts.ts +254 -0
  840. package/test/graph/content-types.ts +206 -0
  841. package/test/graph/directoryobjects.ts +115 -0
  842. package/test/graph/groups.ts +130 -0
  843. package/test/graph/lists.ts +72 -0
  844. package/test/graph/onedrive.ts +365 -0
  845. package/test/graph/outlook.ts +95 -0
  846. package/test/graph/paging.ts +91 -0
  847. package/test/graph/planner.ts +160 -0
  848. package/test/graph/querable.ts +97 -0
  849. package/test/graph/search.ts +4 -0
  850. package/test/graph/shares.ts +26 -0
  851. package/test/graph/sites.ts +40 -0
  852. package/test/graph/teams.ts +76 -0
  853. package/test/graph/utilities/getTestingGraphSPSite.ts +27 -0
  854. package/test/graph/utilities/getValidUser.ts +37 -0
  855. package/test/load-settings.ts +103 -0
  856. package/test/logging/logging.ts +86 -0
  857. package/test/mocha-root-hooks.ts +227 -0
  858. package/test/nodejs/sp-extensions.ts +86 -0
  859. package/test/pnp-test.ts +60 -0
  860. package/test/queryable/add-prop.ts +24 -0
  861. package/test/queryable/behaviors.ts +188 -0
  862. package/test/queryable/invokable.ts +35 -0
  863. package/test/queryable/queryable.ts +118 -0
  864. package/test/sp/alias.ts +46 -0
  865. package/test/sp/appcatalog.ts +142 -0
  866. package/test/sp/assets/helloworld.sppkg +0 -0
  867. package/test/sp/assets/sample_file.jpg +0 -0
  868. package/test/sp/attachments.ts +134 -0
  869. package/test/sp/batch.ts +362 -0
  870. package/test/sp/clientside-pages.ts +426 -0
  871. package/test/sp/column-defaults.ts +225 -0
  872. package/test/sp/comments.ts +202 -0
  873. package/test/sp/content-types.ts +68 -0
  874. package/test/sp/favorites.ts +2 -0
  875. package/test/sp/features.ts +201 -0
  876. package/test/sp/fields.ts +396 -0
  877. package/test/sp/files.ts +338 -0
  878. package/test/sp/folders.ts +242 -0
  879. package/test/sp/forms.ts +22 -0
  880. package/test/sp/groupsitemanager.ts +88 -0
  881. package/test/sp/hubsites.ts +41 -0
  882. package/test/sp/items.ts +179 -0
  883. package/test/sp/lists.ts +319 -0
  884. package/test/sp/navigation.ts +167 -0
  885. package/test/sp/profiles.ts +2 -0
  886. package/test/sp/query-escaping.ts +94 -0
  887. package/test/sp/recycle-bin.ts +1 -0
  888. package/test/sp/regional-settings.ts +58 -0
  889. package/test/sp/related-items.ts +94 -0
  890. package/test/sp/search.ts +39 -0
  891. package/test/sp/security.ts +90 -0
  892. package/test/sp/sharing.ts +313 -0
  893. package/test/sp/site-designs.ts +224 -0
  894. package/test/sp/site-groups.ts +98 -0
  895. package/test/sp/site-scripts.ts +162 -0
  896. package/test/sp/site-users.ts +93 -0
  897. package/test/sp/sites.ts +156 -0
  898. package/test/sp/social.ts +2 -0
  899. package/test/sp/spfx.ts +52 -0
  900. package/test/sp/sputilities.ts +78 -0
  901. package/test/sp/subscriptions.ts +64 -0
  902. package/test/sp/taxonomy.ts +178 -0
  903. package/test/sp/user-custom-actions.ts +31 -0
  904. package/test/sp/views.ts +117 -0
  905. package/test/sp/webparts.ts +38 -0
  906. package/test/sp/webs.ts +249 -0
  907. package/test/test-invokable-props.ts +35 -0
  908. package/test/test-props.ts +90 -0
  909. package/test/test-recording.ts +171 -0
  910. package/test/tsconfig.json +18 -0
  911. package/tools/buildsystem/package-lock.json +4404 -0
  912. package/tools/buildsystem/package.json +56 -0
  913. package/tools/buildsystem/readme.md +23 -0
  914. package/tools/config.js +34 -0
  915. package/tools/local-module-resolver/cjs.ts +33 -0
  916. package/tools/local-module-resolver/esm-debug.ts +2 -0
  917. package/tools/local-module-resolver/esm-test.ts +2 -0
  918. package/tools/local-module-resolver/esm.ts +112 -0
  919. package/tools/local-module-resolver/readme.md +8 -0
  920. package/tsconfig.buildsystem.json +17 -0
  921. 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