Urgent.News

What's breaking now, across thousands of outlets.

Tech

m365-extension-control: evidence and readiness checks for SPFx estates

SPFx teams do not only need to know whether a project builds. They need to know whether the project on disk still matches the release intent recorded by the team. That is the problem behind m365-extension-control . It is a small, offline, deterministic CLI for SPFx and Microsoft 365 extension estates. An estate.json file records the declared owner, lifecycle status, release channel, expected…

Microsoft 365 SPFx projects require more than just confirming a successful build. They need assurance that the project's current state mirrors the team's intended release. This is where m365-extension-control comes into play. It's a compact, offline, and deterministic command-line interface tailored for SPFx and Microsoft 365 extension estates.

At the heart of m365-extension-control is an estate.json file. This file records crucial information such as the project's owner, lifecycle status, release channel, expected solution version, required SPFx version, and project directory path. The CLI then compares this declared information against actual facts extracted from the project directory.

The tool offers several commands to assist in this comparison:

- scan project-dir: Initiates a scan of the specified project directory.

- inventory --manifest estate.json: Generates an inventory report using the estate.json file.

- evidence --manifest estate.json: Provides evidence in JSON and Markdown format, detailing the project's status.

- preflight --manifest estate.json --id solution-id: Performs a preflight check for a specific solution, identifying potential issues.

The MVP version of m365-extension-control reports on a range of aspects, including solution and component identity, any drift between the solution and its components, discrepancies in SPFx versions, inconsistencies in lifecycle and release channels, ownership gaps, and issues with project metadata.

The repository includes a comprehensive acceptance estate covering four different scenarios: verified, warning, blocked, and not-tested states. The implementation boasts 20 deterministic tests, TypeScript checks, a compiled CLI, package dry-run validation, and integration with GitHub Actions for CI pipelines.

However, it's important to note the tool's limitations. m365-extension-control is not designed to validate a SharePoint tenant, approve an App Catalog submission, verify permissions, deploy anything, or claim production readiness. It solely reports on local file evidence.

This tool represents a crucial layer in the author's SPFx tooling arsenal. The previous tools, spfx-factory, spfx-assurance, and spfx-estate-doctor, work together to ensure projects are governed, internally checked, inventoried, and ultimately compared against declared intent for a local release gate. The repository for m365-extension-control is available at https://github.com/vystartasv/m365-extension-control.

The author welcomes feedback and real-world estate examples, particularly instances where a release or upgrade failed due to a discrepancy between the declared and deployed states.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

More from Monday 31 August →