How pete-mc/dataverse-powertools works
Dataverse PowerTools is a VS Code extension for scaffolding, building, testing, debugging, and deploying Dataverse projects. Users initialize a workspace, connect to an environment, then work with one or more solution, web-resource, plug-in, PCF, or Power Pages components through the extension’s panel and commands. The graph preserves those distinct workflows and the preview query/custom API/Azure Functions features. README claims support several broad capability links; sampled source confirms query execution and webhook registration details, but not every subsystem’s internal wiring.
Main entry points: deploySolution.ts Solution pack and deploy · buildAndDeploy.ts Plug-in build and deploy · queryCommands.ts Query commands and CodeLens · runQuery.ts Query execution
Components 28
Workspace and connections
- Extension entry
src/extension.ts - Project panel
src/panel/menuPanel.ts - Component discovery
src/components/componentDiscovery.ts - Environment connection
src/general/connectionStringManager.ts
Solutions and web resources
- Solution lifecycle
src/solution/initialiseSolutions.ts - Solution pack and deploy
src/solution/deploySolution.ts - Web-resource workflow
src/webresources/initialiseWebresources.ts - Web-resource build and deploy
src/webresources/buildWebresources.ts - Live web-resource debugging
src/webresources/debug/debugWebresources.ts - Web-resource tests
src/webresources/webresourceTestController.ts
Plug-ins
- Plug-in workflow
src/plugins/initialisePlugins.ts - Plug-in build and deploy
src/plugins/buildAndDeploy.ts - Profiler and replay
src/plugins/profilerCapture.ts - Plug-in tests
src/plugins/pluginTestController.ts
Additional project types
- PCF controls
src/pcf/initialisePcf.ts - Power Pages
src/portals/initialisePortals.ts - Custom APIs
src/customapi/customApiCommands.ts - Azure Functions
src/azurefunction/initialiseAzureFunction.ts - Webhook registration
src/azurefunction/registerWebhookStep.ts
FetchXML query tools
- Query commands and CodeLens
src/query/queryCommands.ts - FetchXML generator
src/query/generatorPanel.ts - Query execution
src/query/runQuery.ts - Query results view
src/query/resultsPanel.ts
Other components
- Developer
- VS Code
- Dataverse environment
- Power Platform CLI
- .NET SDK
Connections 40
- Developer → VS Code: uses
- VS Code → Extension entry: activates
- Extension entry → Project panel: registers
- Developer → Project panel: chooses project
- Project panel → Component discovery: discovers components
- Developer → Environment connection: connects
- Environment connection → Dataverse environment: authenticates
- Developer → Solution lifecycle: initializes
- Developer → Solution pack and deploy: packs or deploys
- Solution pack and deploy → Power Platform CLI: runs commands
- Solution pack and deploy → Dataverse environment: imports or exports
- Developer → Web-resource workflow: scaffolds
- Developer → Web-resource build and deploy: builds or deploys
- Web-resource build and deploy → Dataverse environment: deploys resources
- Developer → Live web-resource debugging: debugs live
- Live web-resource debugging → Dataverse environment: connects to app
- Developer → Web-resource tests: runs tests
- Web-resource tests → VS Code: reports results
- Developer → Plug-in workflow: scaffolds
- Developer → Plug-in build and deploy: builds or deploys
- Plug-in build and deploy → .NET SDK: builds with
- Plug-in build and deploy → Dataverse environment: deploys package
- Developer → Profiler and replay: profiles or replays
- Profiler and replay → Dataverse environment: captures execution
- Developer → Plug-in tests: runs tests
- Plug-in tests → .NET SDK: runs tests
- Developer → PCF controls: scaffolds or builds
- PCF controls → Dataverse environment: pushes or refreshes
- Developer → Power Pages: builds or connects
- Power Pages → Power Platform CLI: runs commands
- Developer → Custom APIs: defines or invokes
- Custom APIs → Dataverse environment: deploys or invokes
- Developer → Azure Functions: scaffolds
- Azure Functions → Webhook registration: registers webhook
- Webhook registration → Dataverse environment: registers endpoint
- Developer → Query commands and CodeLens: runs or edits query
- Query commands and CodeLens → FetchXML generator: opens generator
- Query commands and CodeLens → Query execution: runs FetchXML
- Query execution → Dataverse environment: queries Web API
- Query execution → Query results view: returns results