Files
Sergei Zharinov 930cf6633c refactor: Rewrite imports with .ts extensions (#40700)
fix: Additional vi.mock path corrections and prettier formatting
2026-01-26 22:48:17 +00:00

36 lines
1.1 KiB
TypeScript

import { logger } from '../../../logger/index.ts';
import { Json } from '../../../util/schema-utils/index.ts';
import { FlutterVersionDatasource } from '../../datasource/flutter-version/index.ts';
import type { PackageDependency, PackageFileContent } from '../types.ts';
import { FvmConfig } from './schema.ts';
export function extractPackageFile(
content: string,
packageFile: string,
): PackageFileContent | null {
let flutterVersion: string | undefined;
try {
const config = Json.pipe(FvmConfig).parse(content);
flutterVersion = config.flutter ?? config.flutterSdkVersion;
if (!flutterVersion) {
logger.debug(
{ contents: config },
'FVM config does not have a flutter version specified',
);
return null;
}
} catch (err) {
logger.debug({ packageFile, err }, 'Invalid FVM config');
return null;
}
const dep: PackageDependency = {
depName: 'flutter',
currentValue: flutterVersion,
datasource: FlutterVersionDatasource.id,
packageName: 'flutter/flutter',
};
return { deps: [dep] };
}