Power Platform QA Solution
Power Platform QA
Home
Solutions
Reports
Settings
User Guide
Back to Analyzers
Configure Analyzer —
Retired Components
CUSTOM
Metadata
ID
retired-components
Result Key
retiredComponents
File
retired-components.js
Built-in
No
Analyzer Classification
Category
— This determines the type of Analyzer you are building. Categories can be set up under settings.
Uncategorized
Performance
Data Operations
Variables & Scoping
Maintenance
Test sets
— Include this analyzer in predefined runs. Select one or more test sets this analyzer should belong to.
Dataverse test set
Some tests
Description
Detects components with
Prompt
Provider
Anthropic (Claude) — no key
OpenAI (GPT) — no key
Google (Gemini) — no key
Re-run AI builder
When there are Components found that have the word "retired" in their name, please indicate this as a high confidence error as the old component should be swapped out for the more recent one.
Source Code
retired-components.js ·
Input data reference ↗
Checking…
Save JavaScript
export default { name: "Retired Components", description: "Detects components with \'retired\' in their name that should be replaced with newer versions", resultKey: "retiredComponents", resultSchema: { keys: [ { key: 'name', label: 'Name', suggestedFormat: 'name-copy' }, { key: 'type', label: 'Type', suggestedFormat: 'badge-info' }, { key: 'confidence', label: 'Confidence', suggestedFormat: 'badge-confidence' }, { key: 'message', label: 'Details', suggestedFormat: 'text-sm' }, { key: 'locations', label: 'Locations', suggestedFormat: 'locations' } ] }, analyze(controlTree, refGraph, extraction) { const results = []; // Check component definitions for "retired" in name for (const component of controlTree.components) { if (component.name.toLowerCase().includes('retired')) { results.push({ name: component.name, type: "retired-component-definition", message: `Component definition '${component.name}' contains 'retired' in its name and should be updated or removed`, locations: [{ control: component.name, property: "definition", file: component.filePath || "unknown" }], confidence: "high" }); } } // Check component instances being used for (const node of controlTree.allNodes) { if (node.isComponentInstance && node.componentName) { if (node.componentName.toLowerCase().includes('retired')) { results.push({ name: node.name, type: "retired-component-usage", message: `Control '${node.name}' uses retired component '${node.componentName}' and should be replaced with a newer version`, locations: [{ control: node.name, property: "component", file: node.filePath || "unknown" }], confidence: "high" }); } } } return results; } };
Report Output Columns
Columns shown in the generated report. Toggle off to hide; pick a declared key or use "Custom…" for dot-paths like
locations.0.file
.
+ Add column
Enabled
Key
Label
Format
Width
name
Plain text
Small text
Muted grey text
Code snippet
Number (right-aligned)
Percentage (%)
Truncate at 80 chars
Truncate at 120 chars
Info pill (blue)
Confidence pill (red/yellow/grey)
Dead-code type pill
Bold name + copy button
Locations list
×
type
Plain text
Small text
Muted grey text
Code snippet
Number (right-aligned)
Percentage (%)
Truncate at 80 chars
Truncate at 120 chars
Info pill (blue)
Confidence pill (red/yellow/grey)
Dead-code type pill
Bold name + copy button
Locations list
×
confidence
Plain text
Small text
Muted grey text
Code snippet
Number (right-aligned)
Percentage (%)
Truncate at 80 chars
Truncate at 120 chars
Info pill (blue)
Confidence pill (red/yellow/grey)
Dead-code type pill
Bold name + copy button
Locations list
×
message
Plain text
Small text
Muted grey text
Code snippet
Number (right-aligned)
Percentage (%)
Truncate at 80 chars
Truncate at 120 chars
Info pill (blue)
Confidence pill (red/yellow/grey)
Dead-code type pill
Bold name + copy button
Locations list
×
locations
Plain text
Small text
Muted grey text
Code snippet
Number (right-aligned)
Percentage (%)
Truncate at 80 chars
Truncate at 120 chars
Info pill (blue)
Confidence pill (red/yellow/grey)
Dead-code type pill
Bold name + copy button
Locations list
×
Cancel
Test analyzer
Save Columns
Running analyzer against solution…
This can take up to a minute for large solutions.
Test Retired Components
×
Runs this analyzer in isolation against the chosen solution. Nothing is saved — the result is shown here only.
Use an existing solution
No solutions uploaded yet
Upload a solution file
Cancel
Run test
Test results
×