mirror of
https://github.com/renovatebot/renovate.git
synced 2026-11-07 20:46:36 +00:00
41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
import is from '@sindresorhus/is';
|
|
import { logger } from '../../../logger';
|
|
import { FlutterVersionDatasource } from '../../datasource/flutter-version';
|
|
import type { PackageDependency, PackageFileContent } from '../types';
|
|
|
|
interface FvmConfig {
|
|
flutterSdkVersion: string;
|
|
}
|
|
|
|
export function extractPackageFile(
|
|
content: string,
|
|
packageFile: string
|
|
): PackageFileContent | null {
|
|
let fvmConfig: FvmConfig;
|
|
try {
|
|
fvmConfig = JSON.parse(content);
|
|
} catch (err) {
|
|
logger.debug({ packageFile, err }, 'Invalid FVM config');
|
|
return null;
|
|
}
|
|
|
|
if (!fvmConfig.flutterSdkVersion) {
|
|
logger.debug(
|
|
{ contents: fvmConfig },
|
|
'FVM config does not have flutterSdkVersion specified'
|
|
);
|
|
return null;
|
|
} else if (!is.string(fvmConfig.flutterSdkVersion)) {
|
|
logger.debug({ contents: fvmConfig }, 'flutterSdkVersion must be a string');
|
|
return null;
|
|
}
|
|
|
|
const dep: PackageDependency = {
|
|
depName: 'flutter',
|
|
currentValue: fvmConfig.flutterSdkVersion,
|
|
datasource: FlutterVersionDatasource.id,
|
|
packageName: 'flutter/flutter',
|
|
};
|
|
return { deps: [dep] };
|
|
}
|