Skip to content

Upgrading dart_code_metrics 4 to 5

Breaking4.21.3 → 5.7.6Breaking2New35Changed5Fixed31Other18

BreakingUpgrade verdict

2 breaking changes.

  • 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.
2 items need code or config changes
Breaking2
Renames the member-ordering-extended rule to member-ordering.
member-ordering-extendedmember-ordering
Cleans up the public API.

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?>