Upgrading dart_code_metrics 4 to 5
Breaking4.21.3 → 5.7.6Breaking2New35Changed5Fixed31Other18
BreakingUpgrade verdict
2 breaking changes.
In plain terms
- The rule formerly called member-ordering-extended is now named member-ordering, so configs using the old name must be updated.
- Some public API members were removed or changed, so code importing the package may need updates.
Must act 2 items need code or config changes
What you must change
Breaking2
Renames the member-ordering-extended rule to member-ordering.
member-ordering-extendedmember-orderingCleans up the public API.
API changes
Generated by DepDelta from published Dart source. Not mixed with prose notes.
- added:
class CliRunner extends CommandRunner<void> - added:
class Logger - added:
class Progress - added:
ctor CliRunner([IOSink? output, PubUpdater? pubUpdater]) - added:
ctor Logger(this._output) - added:
ctor Progress(this.okPen, this.warningPen, this.errorPen) - added:
field Logger.progress: final - added:
field Progress.errorPen: final AnsiPen - added:
field Progress.okPen: final AnsiPen - added:
field Progress.warningPen: final AnsiPen - added:
get CliRunner.invocation: String - added:
get Logger.isSilent: bool - added:
get Logger.isVerbose: bool - added:
method CliRunner.run(Iterable<String> args): Future<void> - added:
method Logger.confirm(String message, {bool defaultValue = …}): bool - added:
method Logger.delayed(String message): void - added:
method Logger.error(String message): void - added:
method Logger.flush([void Function(String)? print]): void - added:
method Logger.info(String message): void - added:
method Logger.infoVerbose(String message): void - added:
method Logger.printConfig(Map<String, Object?> config): void - added:
method Logger.success(String message): void - added:
method Logger.updateAvailable( String version, String newVersion, String changelogLink, ): void - added:
method Logger.warn(String message, {String tag = …}): void - added:
method Logger.write(String message): void - added:
method Progress.cancel(): void - added:
method Progress.complete([String? update]): void - added:
method Progress.fail([String? update]): void - added:
method Progress.start(String message): void - added:
method Progress.update(String update): void - added:
set Logger.isSilent(bool value) - added:
set Logger.isVerbose(bool value) - added:
set Progress.updateShowProgress(bool value) - added:
variable errorPen: final - added:
variable okPen: final - added:
variable warningPen: final
- changed:
static method ConfigBuilder.getLintAnalysisConfig( LintConfig config, String excludesRootFolder, { Iterable<Metric>? classMetrics, Iterable<Metric>? fileMetrics, Iterable<Metric>? functionMetrics, }): LintAnalysisConfig → static method ConfigBuilder.getLintAnalysisConfig( LintConfig config, String rootFolder, { Iterable<Metric>? classMetrics, Iterable<Metric>? fileMetrics, Iterable<Metric>? functionMetrics, }): LintAnalysisConfig - changed:
static method ConfigBuilder.getUnnecessaryNullableConfigFromArgs( Iterable<String> excludePatterns, { required bool isMonorepo, }): UnnecessaryNullableConfig → static method ConfigBuilder.getUnnecessaryNullableConfigFromArgs( Iterable<String> excludePatterns, { required bool isMonorepo, required bool shouldPrintConfig, }): UnnecessaryNullableConfig - changed:
static method ConfigBuilder.getUnusedCodeConfigFromArgs( Iterable<String> excludePatterns, { required bool isMonorepo, }): UnusedCodeConfig → static method ConfigBuilder.getUnusedCodeConfigFromArgs( Iterable<String> excludePatterns, { required bool isMonorepo, required bool shouldPrintConfig, }): UnusedCodeConfig - changed:
static method ConfigBuilder.getUnusedFilesConfigFromArgs( Iterable<String> excludePatterns, { required bool isMonorepo, }): UnusedFilesConfig → static method ConfigBuilder.getUnusedFilesConfigFromArgs( Iterable<String> excludePatterns, { required bool isMonorepo, required bool shouldPrintConfig, }): UnusedFilesConfig - changed:
static method ConfigBuilder.getUnusedL10nConfigFromArgs( Iterable<String> excludePatterns, String classPattern, ): UnusedL10nConfig → static method ConfigBuilder.getUnusedL10nConfigFromArgs( Iterable<String> excludePatterns, String classPattern, { required bool shouldPrintConfig, }): UnusedL10nConfig - added:
get AnalysisOptions.fullPath: String?
- changed:
ctor LintConfig({ required this.excludePatterns, required this.excludeForMetricsPatterns, required this.metrics, required this.rules, required this.excludeForRulesPatterns, required this.antiPatterns, }) → ctor LintConfig({ required this.excludePatterns, required this.excludeForMetricsPatterns, required this.metrics, required this.rules, required this.excludeForRulesPatterns, required this.antiPatterns, required this.shouldPrintConfig, required this.analysisOptionsPath, }) - changed:
ctor LintFileReport.onlyIssues({ required this.path, required this.relativePath, required this.file, required this.issues, }) → ctor LintFileReport.onlyIssues({ required this.path, required this.relativePath, required this.issues, }) - changed:
field LintFileReport.file: final Report → field LintFileReport.file - changed:
method LintAnalyzer.getReporter({ required String name, required IOSink output, required String reportFolder, @Deprecated('Unused argument. Will be removed in 5.0.0.') LintConfig? config, }): Reporter<FileReport, Object, LintReportParams>? → method LintAnalyzer.getReporter({ required String name, required IOSink output, required String reportFolder, }): Reporter<FileReport, LintReportParams>? - added:
class EntityType - added:
class LintAnalysisConfig - added:
class MetricDocumentation - added:
class MetricValue<T extends num> - added:
class ParsedArguments - added:
class Report - added:
class UnnecessaryNullableReportParams - added:
class UnusedCodeReportParams - added:
class UnusedFilesReportParams - added:
class UnusedL10NReportParams - added:
ctor LintAnalysisConfig( this.globalExcludes, this.codeRules, this.rulesExcludes, this.antiPatterns, this.classesMetrics, this.fileMetrics, this.methodsMetrics, this.metricsExcludes, this.metricsConfig, this.rootFolder, this.analysisOptionsPath, ) - added:
ctor MetricDocumentation({ required this.name, required this.shortName, required this.measuredType, required this.recommendedThreshold, }) - added:
ctor MetricValue({ required this.metricsId, required this.documentation, required this.value, this.unitType, required this.level, required this.comment, this.recommendation, this.context = …, }) - added:
ctor ParsedArguments({ required this.excludePath, required this.rootFolder, required this.metricsConfig, required this.shouldPrintConfig, this.jsonReportPath, }) - added:
ctor ParsedArguments.fromArgs(ArgResults argResults) - added:
ctor Report({ required this.location, required this.metrics, required this.declaration, }) - added:
ctor UnnecessaryNullableReportParams({required this.congratulate}) - added:
ctor UnusedCodeReportParams({required this.congratulate}) - added:
ctor UnusedFilesReportParams({ required this.congratulate, required this.deleteUnusedFiles, }) - added:
ctor UnusedL10NReportParams({required this.congratulate}) - added:
field LintAnalysisConfig.analysisOptionsPath: final String? - added:
field LintAnalysisConfig.antiPatterns: final Iterable<Pattern> - added:
field LintAnalysisConfig.classesMetrics: final Iterable<Metric> - added:
field LintAnalysisConfig.codeRules: final Iterable<Rule> - added:
field LintAnalysisConfig.fileMetrics: final Iterable<Metric> - added:
field LintAnalysisConfig.globalExcludes: final Iterable<Glob> - added:
field LintAnalysisConfig.methodsMetrics: final Iterable<Metric> - added:
field LintAnalysisConfig.metricsConfig: final Map<String, Object> - added:
field LintAnalysisConfig.metricsExcludes: final Iterable<Glob> - added:
field LintAnalysisConfig.rootFolder: final String - added:
field LintAnalysisConfig.rulesExcludes: final Iterable<Glob> - added:
field LintConfig.analysisOptionsPath: final String? - added:
field LintConfig.shouldPrintConfig: final bool - added:
field LintFileReport.file: final Report? - added:
field MetricDocumentation.measuredType: final EntityType - added:
field MetricDocumentation.name: final String - added:
field MetricDocumentation.recommendedThreshold: final num - added:
field MetricDocumentation.shortName: final String - added:
field MetricValue.comment: final String - added:
field MetricValue.context: final Iterable<ContextMessage> - added:
field MetricValue.documentation: final MetricDocumentation - added:
field MetricValue.level: final MetricValueLevel - added:
field MetricValue.metricsId: final String - added:
field MetricValue.recommendation: final String? - added:
field MetricValue.unitType: final String? - added:
field MetricValue.value: final T - added:
field ParsedArguments.excludePath: final String - added:
field ParsedArguments.jsonReportPath: final String? - added:
field ParsedArguments.metricsConfig: final Map<String, Object> - added:
field ParsedArguments.rootFolder: final String - added:
field ParsedArguments.shouldPrintConfig: final bool - added:
field Report.declaration: final AstNode - added:
field Report.location: final SourceSpan - added:
field Report.metrics: final Iterable<MetricValue> - added:
field UnnecessaryNullableReportParams.congratulate: final bool - added:
field UnusedCodeReportParams.congratulate: final bool - added:
field UnusedFilesReportParams.congratulate: final bool - added:
field UnusedFilesReportParams.deleteUnusedFiles: final bool - added:
field UnusedL10NReportParams.congratulate: final bool - added:
get Report.metricsLevel: MetricValueLevel - added:
method EntityType.toString(): String - added:
method LintAnalysisConfig.toJson(): Map<String, Object?> - added:
method Report.metric(String id): MetricValue? - added:
static field EntityType.classEntity: const - added:
static field EntityType.fileEntity: const - added:
static field EntityType.methodEntity: const - added:
static field EntityType.values: const
- changed:
class Reporter<T extends FileReport, S, Params>: abstract → class Reporter<Report extends FileReport, Params>: abstract - changed:
method Reporter.report( Iterable<T> records, { Iterable<S> summary = …, Params? additionalParams, }): Future<void> → method Reporter.report( Iterable<Report> records, { Params? additionalParams, }): Future<void>
- added:
class UnnecessaryNullableAnalysisConfig - added:
class UnnecessaryNullableAnalyzer - added:
class UnnecessaryNullableConfig - added:
class UnnecessaryNullableConsoleReporter extends ConsoleReporter< UnnecessaryNullableFileReport, UnnecessaryNullableReportParams> - added:
class UnnecessaryNullableFileReport implements FileReport - added:
class UnnecessaryNullableIssue - added:
class UnnecessaryNullableJsonReporter extends JsonReporter< UnnecessaryNullableFileReport, UnnecessaryNullableReportParams> - added:
ctor UnnecessaryNullableAnalysisConfig( this.globalExcludes, this.analyzerExcludedPatterns, { required this.isMonorepo, }) - added:
ctor UnnecessaryNullableAnalyzer([this._logger]) - added:
ctor UnnecessaryNullableConfig({ required this.excludePatterns, required this.analyzerExcludePatterns, required this.isMonorepo, required this.shouldPrintConfig, }) - added:
ctor UnnecessaryNullableConfig.fromAnalysisOptions( AnalysisOptions options, ) - added:
ctor UnnecessaryNullableConfig.fromArgs( Iterable<String> excludePatterns, { required bool isMonorepo, required bool shouldPrintConfig, }) - added:
ctor UnnecessaryNullableConsoleReporter(super.output) - added:
ctor UnnecessaryNullableFileReport({ required this.path, required this.relativePath, required this.issues, }) - added:
ctor UnnecessaryNullableIssue({ required this.declarationName, required this.declarationType, required this.parameters, required this.location, }) - added:
ctor UnnecessaryNullableJsonReporter(IOSink output) - added:
field UnnecessaryNullableAnalysisConfig.analyzerExcludedPatterns: final Iterable<Glob> - added:
field UnnecessaryNullableAnalysisConfig.globalExcludes: final Iterable<Glob> - added:
field UnnecessaryNullableAnalysisConfig.isMonorepo: final bool - added:
field UnnecessaryNullableConfig.analyzerExcludePatterns: final Iterable<String> - added:
field UnnecessaryNullableConfig.excludePatterns: final Iterable<String> - added:
field UnnecessaryNullableConfig.isMonorepo: final bool - added:
field UnnecessaryNullableConfig.shouldPrintConfig: final bool - added:
field UnnecessaryNullableFileReport.issues: final Iterable<UnnecessaryNullableIssue> - added:
field UnnecessaryNullableFileReport.path: final String - added:
field UnnecessaryNullableFileReport.relativePath: final String - added:
field UnnecessaryNullableIssue.declarationName: final String - added:
field UnnecessaryNullableIssue.declarationType: final String - added:
field UnnecessaryNullableIssue.location: final SourceLocation - added:
field UnnecessaryNullableIssue.parameters: final Iterable<String> - added:
method UnnecessaryNullableAnalysisConfig.toJson(): Map<String, Object?> - added:
method UnnecessaryNullableAnalyzer.getReporter({ required String name, required IOSink output, }): Reporter<UnnecessaryNullableFileReport, UnnecessaryNullableReportParams>? - added:
method UnnecessaryNullableAnalyzer.runCliAnalysis( Iterable<String> folders, String rootFolder, UnnecessaryNullableConfig config, { String? sdkPath, }): Future<Iterable<UnnecessaryNullableFileReport>> - added:
method UnnecessaryNullableConfig.merge(UnnecessaryNullableConfig overrides): UnnecessaryNullableConfig - added:
method UnnecessaryNullableConsoleReporter.report( Iterable<UnnecessaryNullableFileReport> records, { UnnecessaryNullableReportParams? additionalParams, }): Future<void> - added:
method UnnecessaryNullableJsonReporter.report( Iterable<UnnecessaryNullableFileReport> records, { UnnecessaryNullableReportParams? additionalParams, }): Future<void>
- changed:
class UnusedCodeConsoleReporter extends ConsoleReporter<UnusedCodeFileReport, void, UnusedCodeReportParams> → class UnusedCodeConsoleReporter extends ConsoleReporter<UnusedCodeFileReport, UnusedCodeReportParams> - changed:
class UnusedCodeJsonReporter extends JsonReporter<UnusedCodeFileReport, void, UnusedCodeReportParams> → class UnusedCodeJsonReporter extends JsonReporter<UnusedCodeFileReport, UnusedCodeReportParams> - changed:
ctor UnusedCodeConfig({ required this.excludePatterns, required this.analyzerExcludePatterns, required this.isMonorepo, }) → ctor UnusedCodeConfig({ required this.excludePatterns, required this.analyzerExcludePatterns, required this.isMonorepo, required this.shouldPrintConfig, }) - changed:
ctor UnusedCodeConfig.fromArgs( Iterable<String> excludePatterns, { required bool isMonorepo, }) → ctor UnusedCodeConfig.fromArgs( Iterable<String> excludePatterns, { required bool isMonorepo, required bool shouldPrintConfig, }) - changed:
method UnusedCodeAnalyzer.getReporter({ required String name, required IOSink output, }): Reporter<UnusedCodeFileReport, void, UnusedCodeReportParams>? → method UnusedCodeAnalyzer.getReporter({ required String name, required IOSink output, }): Reporter<UnusedCodeFileReport, UnusedCodeReportParams>? - changed:
method UnusedCodeConsoleReporter.report( Iterable<UnusedCodeFileReport> records, { Iterable<void> summary = …, UnusedCodeReportParams? additionalParams, }): Future<void> → method UnusedCodeConsoleReporter.report( Iterable<UnusedCodeFileReport> records, { UnusedCodeReportParams? additionalParams, }): Future<void> - changed:
method UnusedCodeJsonReporter.report( Iterable<UnusedCodeFileReport> records, { Iterable<void> summary = …, UnusedCodeReportParams? additionalParams, }): Future<void> → method UnusedCodeJsonReporter.report( Iterable<UnusedCodeFileReport> records, { UnusedCodeReportParams? additionalParams, }): Future<void> - added:
class UnusedCodeAnalysisConfig - added:
ctor UnusedCodeAnalysisConfig( this.globalExcludes, this.analyzerExcludedPatterns, { required this.isMonorepo, }) - added:
field UnusedCodeAnalysisConfig.analyzerExcludedPatterns: final Iterable<Glob> - added:
field UnusedCodeAnalysisConfig.globalExcludes: final Iterable<Glob> - added:
field UnusedCodeAnalysisConfig.isMonorepo: final bool - added:
field UnusedCodeConfig.shouldPrintConfig: final bool - added:
method UnusedCodeAnalysisConfig.toJson(): Map<String, Object?>
- changed:
class UnusedFilesConsoleReporter extends ConsoleReporter<UnusedFilesFileReport, void, UnusedFilesReportParams> → class UnusedFilesConsoleReporter extends ConsoleReporter<UnusedFilesFileReport, UnusedFilesReportParams> - changed:
class UnusedFilesJsonReporter extends JsonReporter<UnusedFilesFileReport, void, UnusedFilesReportParams> → class UnusedFilesJsonReporter extends JsonReporter<UnusedFilesFileReport, UnusedFilesReportParams> - changed:
ctor UnusedFilesConfig({ required this.excludePatterns, required this.analyzerExcludePatterns, required this.isMonorepo, }) → ctor UnusedFilesConfig({ required this.excludePatterns, required this.analyzerExcludePatterns, required this.isMonorepo, required this.shouldPrintConfig, }) - changed:
ctor UnusedFilesConfig.fromArgs( Iterable<String> excludePatterns, { required bool isMonorepo, }) → ctor UnusedFilesConfig.fromArgs( Iterable<String> excludePatterns, { required bool isMonorepo, required bool shouldPrintConfig, }) - changed:
method UnusedFilesAnalyzer.getReporter({ required String name, required IOSink output, }): Reporter<UnusedFilesFileReport, void, UnusedFilesReportParams>? → method UnusedFilesAnalyzer.getReporter({ required String name, required IOSink output, }): Reporter<UnusedFilesFileReport, UnusedFilesReportParams>? - changed:
method UnusedFilesConsoleReporter.report( Iterable<UnusedFilesFileReport> records, { Iterable<void> summary = …, UnusedFilesReportParams? additionalParams, }): Future<void> → method UnusedFilesConsoleReporter.report( Iterable<UnusedFilesFileReport> records, { UnusedFilesReportParams? additionalParams, }): Future<void> - changed:
method UnusedFilesJsonReporter.report( Iterable<UnusedFilesFileReport> records, { Iterable<void> summary = …, UnusedFilesReportParams? additionalParams, }): Future<void> → method UnusedFilesJsonReporter.report( Iterable<UnusedFilesFileReport> records, { UnusedFilesReportParams? additionalParams, }): Future<void> - added:
class UnusedFilesAnalysisConfig - added:
ctor UnusedFilesAnalysisConfig( this.globalExcludes, { required this.isMonorepo, }) - added:
field UnusedFilesAnalysisConfig.globalExcludes: final Iterable<Glob> - added:
field UnusedFilesAnalysisConfig.isMonorepo: final bool - added:
field UnusedFilesConfig.shouldPrintConfig: final bool - added:
method UnusedFilesAnalysisConfig.toJson(): Map<String, Object?>
- changed:
class UnusedL10nConsoleReporter extends ConsoleReporter<UnusedL10nFileReport, void, UnusedL10NReportParams> → class UnusedL10nConsoleReporter extends ConsoleReporter<UnusedL10nFileReport, UnusedL10NReportParams> - changed:
class UnusedL10nJsonReporter extends JsonReporter<UnusedL10nFileReport, void, UnusedL10NReportParams> → class UnusedL10nJsonReporter extends JsonReporter<UnusedL10nFileReport, UnusedL10NReportParams> - changed:
ctor UnusedL10nConfig({ required this.excludePatterns, required this.analyzerExcludePatterns, required this.classPattern, }) → ctor UnusedL10nConfig({ required this.excludePatterns, required this.analyzerExcludePatterns, required this.classPattern, required this.shouldPrintConfig, }) - changed:
ctor UnusedL10nConfig.fromArgs( Iterable<String> excludePatterns, String classPattern, ) → ctor UnusedL10nConfig.fromArgs( Iterable<String> excludePatterns, String classPattern, { required bool shouldPrintConfig, }) - changed:
method UnusedL10nAnalyzer.getReporter({ required String name, required IOSink output, }): Reporter<UnusedL10nFileReport, void, UnusedL10NReportParams>? → method UnusedL10nAnalyzer.getReporter({ required String name, required IOSink output, }): Reporter<UnusedL10nFileReport, UnusedL10NReportParams>? - changed:
method UnusedL10nConsoleReporter.report( Iterable<UnusedL10nFileReport> records, { Iterable<void> summary = …, UnusedL10NReportParams? additionalParams, }): Future<void> → method UnusedL10nConsoleReporter.report( Iterable<UnusedL10nFileReport> records, { UnusedL10NReportParams? additionalParams, }): Future<void> - changed:
method UnusedL10nJsonReporter.report( Iterable<UnusedL10nFileReport> records, { Iterable<void> summary = …, UnusedL10NReportParams? additionalParams, }): Future<void> → method UnusedL10nJsonReporter.report( Iterable<UnusedL10nFileReport> records, { UnusedL10NReportParams? additionalParams, }): Future<void> - added:
class UnusedL10nAnalysisConfig - added:
ctor UnusedL10nAnalysisConfig( this.globalExcludes, String? classPattern, ) - added:
field UnusedL10nAnalysisConfig.classPattern: final RegExp - added:
field UnusedL10nAnalysisConfig.globalExcludes: final Iterable<Glob> - added:
field UnusedL10nConfig.shouldPrintConfig: final bool - added:
method UnusedL10nAnalysisConfig.toJson(): Map<String, Object?>