SharePoint Framework version 1.5 is now available, bringing both new tools to make your development more efficient as well as a new channel for trying new preview features.
Tailor development to your preferences with new package managers
SharePoint Framework version 1.5 contains new support for switching the underlying package manager in use, with optional support for PNPM and Yarn package managers in addition to the default npm package manager. These package managers contain different ways to internally retrieve and organize project packages, but importantly, should not change how you write code against SharePoint Framework projects. Yarn contains new module caching capabilities that speed install times as well as additional package integrity verification techniques. PNPM adds additional integrity verification capabilities as well as hard and symbolic links to avoid repetitively storing the same version of packages, which can save storage and speed project updates.
You can use these new package managers by specifying them in the commandline as you work with Yeoman.
Another new capability introduced in SharePoint Framework version 1.5 is the ability to customize new project experiences. With a customizable Yeoman generator, developers can extend the default new SharePoint Project experience to add additional options for development, including new project templates and framework integrations. Expect to see a more rich and robust, community-powered set of enhancements for kicking off new projects coming to a yo near you.
Finally, we’ve completed a round of new API updates documenting SharePoint Framework TypeScript APIs.
New channel for beta capabilities
Interested in getting a peek at new, upcoming SharePoint Framework capabilities? With SharePoint Framework 1.5, we are introducing a new channel for getting preview-level features you can work with. A specific yeoman label – plusbeta – creates projects that contain both version 1.5 release components as well as optional new beta components. We expect future SharePoint Framework releases to have similar “plusbeta” capabilities available at release. To create new projects using the latest beta components, you can generate them in yeoman with the following command line option:
yo @microsoft/sharepoint --plusbeta
It is important to note that these beta components will iterate and change across releases based on your feedback, and the final release date behind these preview features is not set. Many features will remain in the plusbeta package across many releases. As always, you should not deploy projects developed with beta components to production. For more details, read our documentation around the new plusbeta functionality.
In the initial plusbeta component release, we’re previewing a new capability: the ability to connect web parts and extensions together via a series of dynamic data events.
Dynamic Data – now in plusbeta
Web parts and extensions are frequently developed as packs of functionality that are both designed to work with each other, and work alone as users design their SharePoint pages. To support this flexibility, developers need a consistent way to discover other components within the sample page, and rendezvous these components together to retrieve and share data in an efficient and consistent manner.
To support this, developers can take advantage of the Dynamic Data capability, which provides an event subscription and publishing model. Developers can design and raise various types of events that other components can read and respond to, enabling a flexibility that comes from loosely coupling components together.
To get started, read updated information about SharePoint Framework Dynamic Data APIs you can use.
With both newly released capabilities and a new channel for deploying preview level functionalities, SharePoint Framework continues to focus on delivering features based on your feedback that make it easier to develop and deploy new SharePoint Framework customizations. As you work with any SharePoint feature – and in particular, new beta components – please let us know via GitHub any issues or feedback you may have. Thanks, and happy coding!