@gluonjs/vue-migration-analyzer
@gluonjs/vue-migration-analyzer / packages/vue-migration-analyzer/src / InventoryItem
Interface: InventoryItem
Properties
category
readonlycategory:InventoryCategory
componentId
readonlycomponentId:string|null
confidence
readonlyconfidence:Confidence
fileId
readonlyfileId:string
guideUrl
readonlyguideUrl:string
id
readonlyid:string
importSource
readonlyimportSource:string|null
kind
readonlykind:InventoryKind
location
readonlylocation:SourceLocation
migrationStage
readonlymigrationStage:MigrationStage
name
readonlyname:string|null
Example
Inspect one detected Vue construct with stable identity, source location, category, kind, confidence, migration stage, and guide:
import {
ANALYZER_LIMITS,
VueMigrationAnalyzerError,
analyzeVueMigration,
formatVueMigrationReport,
type AnalyzedFile,
type AnalyzerOptions,
type BlockKind,
type ComponentInventory,
type Confidence,
type FileKind,
type InventoryCategory,
type InventoryItem,
type InventoryKind,
type MigrationFinding,
type MigrationStage,
type ParseStatus,
type ScriptMode,
type Severity,
type SfcBlock,
type SourceLocation,
type SourcePoint,
type SupportState,
type VueMigrationReport,
} from '@gluonjs/vue-migration-analyzer';
const options = { root: '.' } satisfies AnalyzerOptions;
try {
const report: VueMigrationReport = await analyzeVueMigration(options);
const file: AnalyzedFile | undefined = report.files[0];
const component: ComponentInventory | undefined = report.components[0];
const block: SfcBlock | undefined = component?.blocks[0];
const item: InventoryItem | undefined = report.inventory[0];
const finding: MigrationFinding | undefined = report.findings[0];
const location: SourceLocation | null | undefined = finding?.location;
const point: SourcePoint | undefined = location?.start;
const severity: Severity = finding?.severity ?? 'info';
const confidence: Confidence = finding?.confidence ?? 'indeterminate';
const stage: MigrationStage = finding?.migrationStage ?? 'baseline';
const support: SupportState = report.summary.supportState;
const fileKind: FileKind = file?.kind ?? 'other';
const status: ParseStatus = file?.parseStatus ?? 'skipped';
const scriptMode: ScriptMode = component?.scriptMode ?? 'none';
const blockKind: BlockKind = block?.kind ?? 'custom';
const category: InventoryCategory = item?.category ?? 'remaining-vue';
const inventoryKind: InventoryKind = item?.kind ?? 'vue-dependency';
console.log(formatVueMigrationReport(report, 'human'));
console.log(ANALYZER_LIMITS.analyzedFiles, point, severity, confidence, stage, support, fileKind, status, scriptMode, blockKind, category, inventoryKind);
} catch (error) {
if (error instanceof VueMigrationAnalyzerError) console.error(error.exitCode, error.message);
else throw error;
}