@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,160 @@
|
|
1
|
+
import { getRandomString } from "@pnp/core";
|
2
|
+
import { expect } from "chai";
|
3
|
+
import { GroupType } from "@pnp/graph/groups";
|
4
|
+
import "@pnp/graph/planner";
|
5
|
+
|
6
|
+
// Tests can't be run until planner support application permissions, incomplete
|
7
|
+
describe.skip("Planner", function () {
|
8
|
+
|
9
|
+
let groupID = "";
|
10
|
+
let planID = "";
|
11
|
+
let taskID = "";
|
12
|
+
|
13
|
+
before(function () {
|
14
|
+
|
15
|
+
if (!this.pnp.settings.enableWebTests) {
|
16
|
+
this.skip();
|
17
|
+
}
|
18
|
+
});
|
19
|
+
|
20
|
+
beforeEach(async function () {
|
21
|
+
// Clear out variables
|
22
|
+
groupID = "";
|
23
|
+
planID = "";
|
24
|
+
taskID = "";
|
25
|
+
});
|
26
|
+
|
27
|
+
it("addPlan", async function () {
|
28
|
+
const groupName = `TestGroup_${getRandomString(4)}`;
|
29
|
+
const groupAddResult = await this.pnp.graph.groups.add(groupName, groupName, GroupType.Office365);
|
30
|
+
groupID = groupAddResult.data.id;
|
31
|
+
const planName = `TestPlan_${getRandomString(4)}`;
|
32
|
+
const plan = await this.pnp.graph.planner.plans.add(groupID, planName);
|
33
|
+
planID = plan.data.id;
|
34
|
+
return expect(plan.data.title).is.equal(planName);
|
35
|
+
});
|
36
|
+
|
37
|
+
it("getPlan", async function () {
|
38
|
+
const groupName = `TestGroup_${getRandomString(4)}`;
|
39
|
+
const groupAddResult = await this.pnp.graph.groups.add(groupName, groupName, GroupType.Office365);
|
40
|
+
groupID = groupAddResult.data.id;
|
41
|
+
const planName = `TestPlan_${getRandomString(4)}`;
|
42
|
+
const planAddResult = await this.pnp.graph.planner.plans.add(groupID, planName);
|
43
|
+
planID = planAddResult.data.id;
|
44
|
+
const plan = await this.pnp.graph.planner.plans.getById(planID)();
|
45
|
+
return expect(plan.title).is.equal(planName);
|
46
|
+
});
|
47
|
+
|
48
|
+
it("updatePlan", async function () {
|
49
|
+
const groupName = `TestGroup_${getRandomString(4)}`;
|
50
|
+
const groupAddResult = await this.pnp.graph.groups.add(groupName, groupName, GroupType.Office365);
|
51
|
+
groupID = groupAddResult.data.id;
|
52
|
+
const planName = `TestPlan_${getRandomString(4)}`;
|
53
|
+
const planAddResult = await this.pnp.graph.planner.plans.add(groupID, planName);
|
54
|
+
planID = planAddResult.data.id;
|
55
|
+
const newPlanName = `TestPlan_${getRandomString(4)}`;
|
56
|
+
await this.pnp.graph.planner.plans.getById(planID).update({ title: newPlanName }, planAddResult.data["@odata.etag"]);
|
57
|
+
const planUpdate = await this.pnp.graph.planner.plans.getById(planID)();
|
58
|
+
return expect(planUpdate.title).is.equal(newPlanName);
|
59
|
+
});
|
60
|
+
|
61
|
+
it("deletePlan", async function () {
|
62
|
+
const groupName = `TestGroup_${getRandomString(4)}`;
|
63
|
+
const groupAddResult = await this.pnp.graph.groups.add(groupName, groupName, GroupType.Office365);
|
64
|
+
groupID = groupAddResult.data.id;
|
65
|
+
const planName = `TestPlan_${getRandomString(4)}`;
|
66
|
+
const planAddResult = await this.pnp.graph.planner.plans.add(groupID, planName);
|
67
|
+
planID = planAddResult.data.id;
|
68
|
+
await this.pnp.graph.planner.plans.getById(planID).delete();
|
69
|
+
const plan = await this.pnp.graph.planner.plans.getById(planID)();
|
70
|
+
planID = "";
|
71
|
+
return expect(plan).is.undefined;
|
72
|
+
});
|
73
|
+
|
74
|
+
it("getPlanDetails", async function () {
|
75
|
+
const groupName = `TestGroup_${getRandomString(4)}`;
|
76
|
+
const groupAddResult = await this.pnp.graph.groups.add(groupName, groupName, GroupType.Office365);
|
77
|
+
groupID = groupAddResult.data.id;
|
78
|
+
const planName = `TestPlan_${getRandomString(4)}`;
|
79
|
+
const planAddResult = await this.pnp.graph.planner.plans.add(groupID, planName);
|
80
|
+
planID = planAddResult.data.id;
|
81
|
+
const planDetails = await this.pnp.graph.planner.plans.getById(planID).details();
|
82
|
+
return expect(planDetails.id).is.equal(planID);
|
83
|
+
});
|
84
|
+
|
85
|
+
it("addPlanTasks", async function () {
|
86
|
+
const groupName = `TestGroup_${getRandomString(4)}`;
|
87
|
+
const groupAddResult = await this.pnp.graph.groups.add(groupName, groupName, GroupType.Office365);
|
88
|
+
groupID = groupAddResult.data.id;
|
89
|
+
const planName = `TestPlan_${getRandomString(4)}`;
|
90
|
+
const planAddResult = await this.pnp.graph.planner.plans.add(groupID, planName);
|
91
|
+
planID = planAddResult.data.id;
|
92
|
+
const taskName = `TestTask_${getRandomString(4)}`;
|
93
|
+
const planTaskResult = await this.pnp.graph.planner.plans.getById(planID).tasks.add(planID, taskName);
|
94
|
+
taskID = planTaskResult.data.id;
|
95
|
+
return expect(planTaskResult.data.id).is.not.undefined;
|
96
|
+
});
|
97
|
+
|
98
|
+
it("getPlanTasks", async function () {
|
99
|
+
const groupName = `TestGroup_${getRandomString(4)}`;
|
100
|
+
const groupAddResult = await this.pnp.graph.groups.add(groupName, groupName, GroupType.Office365);
|
101
|
+
groupID = groupAddResult.data.id;
|
102
|
+
const planName = `TestPlan_${getRandomString(4)}`;
|
103
|
+
const planAddResult = await this.pnp.graph.planner.plans.add(groupID, planName);
|
104
|
+
planID = planAddResult.data.id;
|
105
|
+
const taskName = `TestTask_${getRandomString(4)}`;
|
106
|
+
const planTaskResult = await this.pnp.graph.planner.plans.getById(planID).tasks.add(planID, taskName);
|
107
|
+
taskID = planTaskResult.data.id;
|
108
|
+
const tasks = await this.pnp.graph.planner.plans.getById(planID).tasks();
|
109
|
+
let taskExists = false;
|
110
|
+
tasks.forEach(element => {
|
111
|
+
if (element.id === taskID) {
|
112
|
+
taskExists = true;
|
113
|
+
return taskExists === true;
|
114
|
+
}
|
115
|
+
});
|
116
|
+
return expect(taskExists).is.not.true;
|
117
|
+
});
|
118
|
+
|
119
|
+
it("getTasksById", async function () {
|
120
|
+
const groupName = `TestGroup_${getRandomString(4)}`;
|
121
|
+
const groupAddResult = await this.pnp.graph.groups.add(groupName, groupName, GroupType.Office365);
|
122
|
+
groupID = groupAddResult.data.id;
|
123
|
+
const planName = `TestPlan_${getRandomString(4)}`;
|
124
|
+
const planAddResult = await this.pnp.graph.planner.plans.add(groupID, planName);
|
125
|
+
planID = planAddResult.data.id;
|
126
|
+
const taskName = `TestTask_${getRandomString(4)}`;
|
127
|
+
const planTaskResult = await this.pnp.graph.planner.plans.getById(planID).tasks.add(planID, taskName);
|
128
|
+
taskID = planTaskResult.data.id;
|
129
|
+
const task = await this.pnp.graph.planner.tasks.getById(taskID)();
|
130
|
+
return expect(task.id).is.equal(taskID);
|
131
|
+
});
|
132
|
+
|
133
|
+
it("updateTask", async function () {
|
134
|
+
const groupName = `TestGroup_${getRandomString(4)}`;
|
135
|
+
const groupAddResult = await this.pnp.graph.groups.add(groupName, groupName, GroupType.Office365);
|
136
|
+
groupID = groupAddResult.data.id;
|
137
|
+
const planName = `TestPlan_${getRandomString(4)}`;
|
138
|
+
const planAddResult = await this.pnp.graph.planner.plans.add(groupID, planName);
|
139
|
+
planID = planAddResult.data.id;
|
140
|
+
const taskName = `TestTask_${getRandomString(4)}`;
|
141
|
+
const planTaskResult = await this.pnp.graph.planner.plans.getById(planID).tasks.add(planID, taskName);
|
142
|
+
taskID = planTaskResult.data.id;
|
143
|
+
const task = await this.pnp.graph.planner.tasks.getById(taskID)();
|
144
|
+
return expect(task.id).is.equal(taskID);
|
145
|
+
});
|
146
|
+
|
147
|
+
afterEach(async function () {
|
148
|
+
const promises = [Promise.resolve()];
|
149
|
+
if (taskID !== "") {
|
150
|
+
promises.push(this.pnp.graph.planner.plans.getById(planID).tasks.getById(taskID).delete());
|
151
|
+
}
|
152
|
+
if (planID !== "") {
|
153
|
+
promises.push(this.pnp.graph.planner.plans.getById(planID).delete());
|
154
|
+
}
|
155
|
+
if (groupID !== "") {
|
156
|
+
promises.push(this.pnp.graph.groups.getById(groupID).delete());
|
157
|
+
}
|
158
|
+
return Promise.all(promises);
|
159
|
+
});
|
160
|
+
});
|
@@ -0,0 +1,97 @@
|
|
1
|
+
import { expect } from "chai";
|
2
|
+
import "@pnp/graph/sites/group";
|
3
|
+
import "@pnp/graph/users";
|
4
|
+
import "@pnp/graph/onedrive";
|
5
|
+
import { Drive, Group } from "@microsoft/microsoft-graph-types";
|
6
|
+
import { hOP, stringIsNullOrEmpty } from "@pnp/core";
|
7
|
+
import getValidUser from "./utilities/getValidUser.js";
|
8
|
+
|
9
|
+
describe("Queryable", function () {
|
10
|
+
let testUserName = "";
|
11
|
+
|
12
|
+
before(async function () {
|
13
|
+
|
14
|
+
if (!this.pnp.settings.enableWebTests || stringIsNullOrEmpty(this.pnp.settings.testUser)) {
|
15
|
+
this.skip();
|
16
|
+
}
|
17
|
+
|
18
|
+
const userInfo = await getValidUser.call(this);
|
19
|
+
testUserName = userInfo.userPrincipalName;
|
20
|
+
});
|
21
|
+
|
22
|
+
it("$orderBy", async function () {
|
23
|
+
const groups = await this.pnp.graph.groups.orderBy("displayName")();
|
24
|
+
const groupsClone: Group[] = JSON.parse(JSON.stringify(groups));
|
25
|
+
const groupsResort: Group[] = groupsClone.sort((a, b) => {
|
26
|
+
if (a.displayName.toUpperCase() < b.displayName.toUpperCase()) {
|
27
|
+
return -1;
|
28
|
+
}
|
29
|
+
if (a.displayName.toUpperCase() > b.displayName.toUpperCase()) {
|
30
|
+
return 1;
|
31
|
+
}
|
32
|
+
return 0;
|
33
|
+
});
|
34
|
+
let sortTrue = true;
|
35
|
+
for (let i = 0; i < groups.length; i++) {
|
36
|
+
if (groups[i].displayName !== groupsResort[i].displayName) {
|
37
|
+
sortTrue = false;
|
38
|
+
break;
|
39
|
+
}
|
40
|
+
}
|
41
|
+
return expect(sortTrue).to.be.true;
|
42
|
+
});
|
43
|
+
|
44
|
+
it("$orderBy-two", async function () {
|
45
|
+
const drives = await this.pnp.graph.users.getById(testUserName).drives.orderBy("lastModifiedBy/user/displayName")();
|
46
|
+
const drivesClone: Drive[] = JSON.parse(JSON.stringify(drives));
|
47
|
+
const drivesResort: Drive[] = drivesClone.sort((a, b) => {
|
48
|
+
if (a.lastModifiedBy.user.displayName.toUpperCase() < b.lastModifiedBy.user.displayName.toUpperCase()) {
|
49
|
+
return -1;
|
50
|
+
}
|
51
|
+
if (a.lastModifiedBy.user.displayName.toUpperCase() > b.lastModifiedBy.user.displayName.toUpperCase()) {
|
52
|
+
return 1;
|
53
|
+
}
|
54
|
+
return 0;
|
55
|
+
});
|
56
|
+
let sortTrue = true;
|
57
|
+
for (let i = 0; i < drives.length; i++) {
|
58
|
+
if (drives[i].name !== drivesResort[i].name) {
|
59
|
+
sortTrue = false;
|
60
|
+
break;
|
61
|
+
}
|
62
|
+
}
|
63
|
+
return expect(sortTrue).to.be.true;
|
64
|
+
});
|
65
|
+
|
66
|
+
it("$select", async function () {
|
67
|
+
const groups = await this.pnp.graph.groups.select("displayName, description, mail")();
|
68
|
+
let group: Group = { "displayName": "", "description": "", "mail": "" };
|
69
|
+
if (groups.length > 0) {
|
70
|
+
group = groups[0];
|
71
|
+
}
|
72
|
+
let hasProps = true;
|
73
|
+
if (!hOP(group, "displayName")) {
|
74
|
+
hasProps = false;
|
75
|
+
}
|
76
|
+
if (!hOP(group, "description")) {
|
77
|
+
hasProps = false;
|
78
|
+
}
|
79
|
+
if (!hOP(group, "mail")) {
|
80
|
+
hasProps = false;
|
81
|
+
}
|
82
|
+
return expect(hasProps).to.be.true;
|
83
|
+
});
|
84
|
+
|
85
|
+
it("$expand", async function () {
|
86
|
+
const groups = await this.pnp.graph.groups.expand("members")();
|
87
|
+
let hasMembers = true;
|
88
|
+
for (let i = 0; i < groups.length; i++) {
|
89
|
+
if (groups[i].members == null) {
|
90
|
+
hasMembers = false;
|
91
|
+
break;
|
92
|
+
}
|
93
|
+
}
|
94
|
+
return expect(hasMembers).to.be.true;
|
95
|
+
});
|
96
|
+
|
97
|
+
});
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import { expect } from "chai";
|
2
|
+
import "@pnp/graph/shares";
|
3
|
+
|
4
|
+
describe("Shares", function () {
|
5
|
+
|
6
|
+
before(async function () {
|
7
|
+
|
8
|
+
if (!this.pnp.settings.enableWebTests) {
|
9
|
+
this.skip();
|
10
|
+
}
|
11
|
+
});
|
12
|
+
|
13
|
+
it("encodeSharingLink", async function () {
|
14
|
+
|
15
|
+
const link = this.pnp.graph.shares.encodeSharingLink("https://something.sharepoint.com/sites/site/shared documents/something.docx");
|
16
|
+
|
17
|
+
return expect(link).to.eq("u!aHR0cHM6Ly9zb21ldGhpbmcuc2hhcmVwb2ludC5jb20vc2l0ZXMvc2l0ZS9zaGFyZWQgZG9jdW1lbnRzL3NvbWV0aGluZy5kb2N4");
|
18
|
+
});
|
19
|
+
|
20
|
+
it("encodeSharingLink %20", async function () {
|
21
|
+
|
22
|
+
const link = this.pnp.graph.shares.encodeSharingLink("https://something.sharepoint.com/sites/site/shared%20documents/something.docx");
|
23
|
+
|
24
|
+
return expect(link).to.eq("u!aHR0cHM6Ly9zb21ldGhpbmcuc2hhcmVwb2ludC5jb20vc2l0ZXMvc2l0ZS9zaGFyZWQlMjBkb2N1bWVudHMvc29tZXRoaW5nLmRvY3g");
|
25
|
+
});
|
26
|
+
});
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import { expect } from "chai";
|
2
|
+
import getTestingGraphSPSite from "./utilities/getTestingGraphSPSite.js";
|
3
|
+
import "@pnp/graph/sites";
|
4
|
+
import { ISite } from "@pnp/graph/sites";
|
5
|
+
|
6
|
+
describe("Sites", function () {
|
7
|
+
let site: ISite;
|
8
|
+
|
9
|
+
before(async function () {
|
10
|
+
|
11
|
+
if (!this.pnp.settings.enableWebTests) {
|
12
|
+
this.skip();
|
13
|
+
}
|
14
|
+
});
|
15
|
+
|
16
|
+
it("sites", async function () {
|
17
|
+
const sites = await this.pnp.graph.sites();
|
18
|
+
return expect(sites).to.be.an("array") && expect(sites[0]).to.haveOwnProperty("id");
|
19
|
+
});
|
20
|
+
|
21
|
+
it("getById()", async function () {
|
22
|
+
let passed = true;
|
23
|
+
const site = await this.pnp.graph.sites.getById(this.pnp.settings.graph.id)();
|
24
|
+
passed = (site.id === this.pnp.settings.graph.id);
|
25
|
+
return expect(passed).is.true;
|
26
|
+
});
|
27
|
+
|
28
|
+
it("getByUrl()", async function() {
|
29
|
+
let passed = true;
|
30
|
+
site = await getTestingGraphSPSite(this);
|
31
|
+
const tetssite = await site();
|
32
|
+
const url = new URL(tetssite.webUrl);
|
33
|
+
const siteByUrl = await this.pnp.graph.sites.getByUrl(url.hostname, url.pathname)();
|
34
|
+
passed = (siteByUrl.webUrl.toLowerCase() === tetssite.webUrl.toLowerCase());
|
35
|
+
return expect(passed).is.true;
|
36
|
+
});
|
37
|
+
|
38
|
+
// The overhead for creating a group and waiting for the groups related site to be ready it too much for the testing framework.
|
39
|
+
it.skip("getSiteForGroup");
|
40
|
+
});
|
@@ -0,0 +1,76 @@
|
|
1
|
+
import { getRandomString, delay, stringIsNullOrEmpty } from "@pnp/core";
|
2
|
+
import { expect } from "chai";
|
3
|
+
import "@pnp/graph/teams";
|
4
|
+
import "@pnp/graph/groups";
|
5
|
+
import getValidUser from "./utilities/getValidUser.js";
|
6
|
+
|
7
|
+
// skipping because this is a very time intensive test for an API that is unlikely to change frequently
|
8
|
+
describe.skip("Teams", function () {
|
9
|
+
|
10
|
+
let testUserId = "";
|
11
|
+
let teamBody = {};
|
12
|
+
let teamID = "";
|
13
|
+
let operationID = "";
|
14
|
+
|
15
|
+
before(async function () {
|
16
|
+
|
17
|
+
if (!this.pnp.settings.enableWebTests || stringIsNullOrEmpty(this.pnp.settings.testUser)) {
|
18
|
+
this.skip();
|
19
|
+
}
|
20
|
+
|
21
|
+
const userInfo = await getValidUser.call(this);
|
22
|
+
testUserId = userInfo.id;
|
23
|
+
teamBody = {
|
24
|
+
"template@odata.bind": "https://graph.microsoft.com/v1.0/teamsTemplates('standard')",
|
25
|
+
"displayName": "PnPJS Test Team",
|
26
|
+
"description": "PnPJS Test Team’s Description",
|
27
|
+
"members": [
|
28
|
+
{
|
29
|
+
"@odata.type": "#microsoft.graph.aadUserConversationMember",
|
30
|
+
"roles": ["owner"],
|
31
|
+
"user@odata.bind": `https://graph.microsoft.com/v1.0/users('${testUserId}')`,
|
32
|
+
},
|
33
|
+
],
|
34
|
+
};
|
35
|
+
});
|
36
|
+
|
37
|
+
|
38
|
+
beforeEach(async function () {
|
39
|
+
// Clear out groupID
|
40
|
+
teamID = "";
|
41
|
+
operationID = "";
|
42
|
+
});
|
43
|
+
|
44
|
+
it("create()", async function () {
|
45
|
+
const teamName = `TestTeam_${getRandomString(4)}`;
|
46
|
+
(<any>teamBody).displayName = teamName;
|
47
|
+
const teamCreateResult = await this.pnp.graph.teams.create(teamBody);
|
48
|
+
teamID = teamCreateResult.teamId;
|
49
|
+
operationID = teamCreateResult.operationId;
|
50
|
+
return expect(teamID.length > 0).is.true && expect(operationID.length > 0).is.true;
|
51
|
+
});
|
52
|
+
|
53
|
+
after(async function () {
|
54
|
+
|
55
|
+
// Added delays to try and deal with async nature of adding a team. At this time it seems to be enough.
|
56
|
+
if (teamID !== "" && operationID !== "") {
|
57
|
+
|
58
|
+
try {
|
59
|
+
|
60
|
+
await delay(6000);
|
61
|
+
|
62
|
+
let isPending = true;
|
63
|
+
while (isPending) {
|
64
|
+
const status = await this.pnp.graph.teams.getById(teamID).getOperationById(operationID);
|
65
|
+
isPending = (status.status === "inProgress");
|
66
|
+
if (isPending) {
|
67
|
+
await delay(3000);
|
68
|
+
}
|
69
|
+
}
|
70
|
+
await this.pnp.graph.groups.getById(teamID).delete();
|
71
|
+
|
72
|
+
// eslint-disable-next-line no-empty
|
73
|
+
} catch (e) { }
|
74
|
+
}
|
75
|
+
});
|
76
|
+
});
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { Site } from "@microsoft/microsoft-graph-types";
|
2
|
+
import { combine } from "@pnp/core";
|
3
|
+
import { ISite } from "@pnp/graph/sites";
|
4
|
+
import { Context, Suite } from "mocha";
|
5
|
+
|
6
|
+
const idCache = new Map<string, Site>();
|
7
|
+
|
8
|
+
export default async function getTestingGraphSPSite(ctx: Context | Suite): Promise<ISite> {
|
9
|
+
|
10
|
+
const { hostname, pathname } = new URL(ctx.pnp.settings.sp.testWebUrl);
|
11
|
+
const webUrl = `${hostname}:${combine("/", pathname)}`;
|
12
|
+
|
13
|
+
const siteIdentifier = ctx.pnp.settings.graph.id || webUrl;
|
14
|
+
|
15
|
+
let siteInfo: Site = null;
|
16
|
+
|
17
|
+
if (idCache.has(siteIdentifier)) {
|
18
|
+
siteInfo = idCache.get(siteIdentifier);
|
19
|
+
} else {
|
20
|
+
// validate identifier - if this call doesn't throw the id is good
|
21
|
+
siteInfo = await ctx.pnp.graph.sites.getById(siteIdentifier)();
|
22
|
+
idCache.set(siteIdentifier, siteInfo);
|
23
|
+
}
|
24
|
+
|
25
|
+
// rebase using the returned id from the service
|
26
|
+
return ctx.pnp.graph.sites.getById(siteInfo.id);
|
27
|
+
}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import { User as IUser } from "@microsoft/microsoft-graph-types";
|
2
|
+
import "@pnp/graph/users";
|
3
|
+
import { Logger, LogLevel } from "@pnp/logging";
|
4
|
+
import { stringIsNullOrEmpty } from "@pnp/core";
|
5
|
+
import { Context } from "mocha";
|
6
|
+
|
7
|
+
let cachedValidUser = null;
|
8
|
+
const usersToCheck = 20;
|
9
|
+
|
10
|
+
export default async function getValidUser(this: Context, ignoreCache = false): Promise<IUser> {
|
11
|
+
|
12
|
+
if (!ignoreCache && cachedValidUser !== null) {
|
13
|
+
return cachedValidUser;
|
14
|
+
}
|
15
|
+
|
16
|
+
const username = this.pnp.settings.testUser;
|
17
|
+
|
18
|
+
if(stringIsNullOrEmpty(username)) {
|
19
|
+
throw Error(`getValidUser: ${this.pnp.settings.testUser} is not defined. A test calling this should skip.`);
|
20
|
+
}
|
21
|
+
|
22
|
+
const testUserName = username.substring(username.lastIndexOf("|") + 1);
|
23
|
+
|
24
|
+
try {
|
25
|
+
cachedValidUser = await this.pnp.graph.users.getById(testUserName)();
|
26
|
+
} catch (e) {
|
27
|
+
cachedValidUser = null;
|
28
|
+
Logger.write(`getValidUser: Failed looking up user '${testUserName}'`, LogLevel.Verbose);
|
29
|
+
}
|
30
|
+
|
31
|
+
|
32
|
+
if (cachedValidUser === null) {
|
33
|
+
throw Error(`getValidUser: Could not find a valid user in the first ${usersToCheck} results.`);
|
34
|
+
}
|
35
|
+
|
36
|
+
return cachedValidUser;
|
37
|
+
}
|
@@ -0,0 +1,103 @@
|
|
1
|
+
import { Configuration } from "@azure/msal-node";
|
2
|
+
import { IProcessArgs } from "./args.js";
|
3
|
+
import findup from "findup-sync";
|
4
|
+
|
5
|
+
export interface ISettings {
|
6
|
+
enableWebTests: boolean;
|
7
|
+
testUser?: string;
|
8
|
+
testGroupId?: string;
|
9
|
+
graph?: {
|
10
|
+
id?: string;
|
11
|
+
secret?: string;
|
12
|
+
tenant?: string;
|
13
|
+
msal?: {
|
14
|
+
init: Configuration;
|
15
|
+
scopes: string[];
|
16
|
+
};
|
17
|
+
};
|
18
|
+
sp?: {
|
19
|
+
testWebUrl?: string;
|
20
|
+
id?: string;
|
21
|
+
notificationUrl?: string | null;
|
22
|
+
secret?: string;
|
23
|
+
url: string;
|
24
|
+
msal?: {
|
25
|
+
init: Configuration;
|
26
|
+
scopes: string[];
|
27
|
+
};
|
28
|
+
};
|
29
|
+
}
|
30
|
+
|
31
|
+
export interface ITestingSettings {
|
32
|
+
testing: ISettings;
|
33
|
+
}
|
34
|
+
|
35
|
+
export async function getSettings(args: IProcessArgs): Promise<ISettings> {
|
36
|
+
|
37
|
+
let settings: ITestingSettings = null;
|
38
|
+
|
39
|
+
switch (args.mode) {
|
40
|
+
|
41
|
+
case "online":
|
42
|
+
|
43
|
+
settings = {
|
44
|
+
testing: {
|
45
|
+
testUser: readEnvVar("PNPTESTING_TESTUSER") || null,
|
46
|
+
testGroupId: readEnvVar("PNPTESTING_TESTGROUPID") || null,
|
47
|
+
enableWebTests: true,
|
48
|
+
graph: {
|
49
|
+
msal: {
|
50
|
+
init: readEnvVar("PNPTESTING_MSAL_GRAPH_CONFIG", true),
|
51
|
+
scopes: readEnvVar("PNPTESTING_MSAL_GRAPH_SCOPES", true),
|
52
|
+
},
|
53
|
+
},
|
54
|
+
sp: {
|
55
|
+
msal: {
|
56
|
+
init: readEnvVar("PNPTESTING_MSAL_SP_CONFIG", true),
|
57
|
+
scopes: readEnvVar("PNPTESTING_MSAL_SP_SCOPES", true),
|
58
|
+
},
|
59
|
+
notificationUrl: readEnvVar("PNPTESTING_NOTIFICATIONURL") || null,
|
60
|
+
url: readEnvVar("PNPTESTING_SITEURL"),
|
61
|
+
},
|
62
|
+
},
|
63
|
+
};
|
64
|
+
break;
|
65
|
+
|
66
|
+
case "online-noweb":
|
67
|
+
|
68
|
+
settings = {
|
69
|
+
testing: {
|
70
|
+
enableWebTests: false,
|
71
|
+
},
|
72
|
+
};
|
73
|
+
break;
|
74
|
+
|
75
|
+
default:
|
76
|
+
|
77
|
+
settings = await import(findup("settings.js")).then(s => s.settings);
|
78
|
+
|
79
|
+
if (args.skipWeb) {
|
80
|
+
settings.testing.enableWebTests = false;
|
81
|
+
}
|
82
|
+
}
|
83
|
+
|
84
|
+
return settings.testing;
|
85
|
+
}
|
86
|
+
|
87
|
+
function readEnvVar(key: string, parse = false): any {
|
88
|
+
|
89
|
+
const b = process.env[key];
|
90
|
+
if (typeof b !== "string" || b.length < 1) {
|
91
|
+
console.error(`Environment var ${key} not found.`);
|
92
|
+
}
|
93
|
+
|
94
|
+
if (!parse) {
|
95
|
+
return b;
|
96
|
+
}
|
97
|
+
|
98
|
+
try {
|
99
|
+
return JSON.parse(b);
|
100
|
+
} catch (e) {
|
101
|
+
console.error(`Error parsing env var ${key}. ${e.message}`);
|
102
|
+
}
|
103
|
+
}
|
@@ -0,0 +1,86 @@
|
|
1
|
+
import { expect } from "chai";
|
2
|
+
import { Logger, LogLevel, FunctionListener } from "@pnp/logging";
|
3
|
+
|
4
|
+
describe("Logging", function () {
|
5
|
+
|
6
|
+
describe("Logger", function () {
|
7
|
+
|
8
|
+
const logger = Logger;
|
9
|
+
|
10
|
+
beforeEach(function () {
|
11
|
+
logger.clearSubscribers();
|
12
|
+
});
|
13
|
+
|
14
|
+
it("Subscribe an ILogListener", function () {
|
15
|
+
const message = "Test message";
|
16
|
+
let message2 = "";
|
17
|
+
logger.subscribe(FunctionListener((e) => {
|
18
|
+
message2 = e.message;
|
19
|
+
}));
|
20
|
+
logger.write(message, LogLevel.Warning);
|
21
|
+
expect(message2).to.eq(message);
|
22
|
+
});
|
23
|
+
|
24
|
+
it("Log a simple object", function () {
|
25
|
+
let message2 = "";
|
26
|
+
let level2 = LogLevel.Verbose;
|
27
|
+
logger.subscribe(FunctionListener((e) => {
|
28
|
+
level2 = e.level;
|
29
|
+
message2 = e.message;
|
30
|
+
}));
|
31
|
+
logger.log({ level: LogLevel.Error, message: "Test message" });
|
32
|
+
expect(message2).to.eq("Test message");
|
33
|
+
expect(level2).to.eql(LogLevel.Error);
|
34
|
+
});
|
35
|
+
|
36
|
+
it("Subscribers Count", function () {
|
37
|
+
logger.subscribe(FunctionListener(function () {
|
38
|
+
return;
|
39
|
+
}));
|
40
|
+
logger.subscribe(FunctionListener(function () {
|
41
|
+
return;
|
42
|
+
}));
|
43
|
+
logger.subscribe(FunctionListener(function () {
|
44
|
+
return;
|
45
|
+
}));
|
46
|
+
expect(logger.count).to.eq(3);
|
47
|
+
});
|
48
|
+
|
49
|
+
it("Add multiple subscribes in one call", function () {
|
50
|
+
logger.subscribe(
|
51
|
+
FunctionListener(function () {
|
52
|
+
return;
|
53
|
+
}),
|
54
|
+
FunctionListener(function () {
|
55
|
+
return;
|
56
|
+
}),
|
57
|
+
FunctionListener(function () {
|
58
|
+
return;
|
59
|
+
}),
|
60
|
+
);
|
61
|
+
expect(logger.count).to.eq(3);
|
62
|
+
});
|
63
|
+
|
64
|
+
it("Log to multiple listeners", function () {
|
65
|
+
let message1 = "";
|
66
|
+
let message2 = "";
|
67
|
+
let message3 = "";
|
68
|
+
logger.subscribe(
|
69
|
+
FunctionListener((e) => {
|
70
|
+
message1 = e.message;
|
71
|
+
}),
|
72
|
+
FunctionListener((e) => {
|
73
|
+
message2 = e.message;
|
74
|
+
}),
|
75
|
+
FunctionListener((e) => {
|
76
|
+
message3 = e.message;
|
77
|
+
}),
|
78
|
+
);
|
79
|
+
logger.activeLogLevel = LogLevel.Verbose;
|
80
|
+
logger.write("Test message");
|
81
|
+
expect(message1).to.eq("Test message");
|
82
|
+
expect(message2).to.eq("Test message");
|
83
|
+
expect(message3).to.eq("Test message");
|
84
|
+
});
|
85
|
+
});
|
86
|
+
});
|