From d3f4debecef36639c178a80b791e4415bbbfecd8 Mon Sep 17 00:00:00 2001 From: Keerti Parthasarathy Date: Wed, 20 May 2026 12:56:57 -0700 Subject: [PATCH] [dart fix]Fix adding package to both dependencies and dev_dependencies in pubspec. Closes https://github.com/dart-lang/sdk/issues/63409 Change-Id: I51258cf986b9b60a8d7add58f7737d6c8bf9f1ac Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/505040 Commit-Queue: Keerti Parthasarathy Reviewed-by: Brian Wilkerson --- .../correction/bulk_fix_processor.dart | 2 +- .../fix/bulk_fix_processor_test.dart | 23 +++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/pkg/analysis_server/lib/src/services/correction/bulk_fix_processor.dart b/pkg/analysis_server/lib/src/services/correction/bulk_fix_processor.dart index ffc6d929fa8..8755a96eb75 100644 --- a/pkg/analysis_server/lib/src/services/correction/bulk_fix_processor.dart +++ b/pkg/analysis_server/lib/src/services/correction/bulk_fix_processor.dart @@ -423,7 +423,7 @@ class BulkFixProcessor { var result = await _runPubspecValidatorAndFixGenerator( FileSource(pubspecFile), pubspecDeps.packages, - pubspecDeps.devPackages, + pubspecDeps.devPackages.difference(pubspecDeps.packages), context.contextRoot.resourceProvider, ); if (result.isNotEmpty) { diff --git a/pkg/analysis_server/test/src/services/correction/fix/bulk_fix_processor_test.dart b/pkg/analysis_server/test/src/services/correction/fix/bulk_fix_processor_test.dart index 11d9c67ed0d..e4249708a4b 100644 --- a/pkg/analysis_server/test/src/services/correction/fix/bulk_fix_processor_test.dart +++ b/pkg/analysis_server/test/src/services/correction/fix/bulk_fix_processor_test.dart @@ -270,6 +270,29 @@ void bad() { @reflectiveTest class PubspecFixTest extends BulkFixProcessorTest { + Future test_dedupe_devPackages_against_packages() async { + var content = ''' +name: test +'''; + var expected = ''' +name: test +dependencies: + b: any +'''; + updateTestPubspecFile(content); + + newFile('$testPackageLibPath/lib.dart', ''' +import 'package:b/b.dart'; +'''); + + var testFile = newFile('$testPackageTestPath/test.dart', ''' +import 'package:b/b.dart'; +'''); + + await getResolvedUnit(testFile); + await assertFixPubspec(content, expected); + } + Future test_delete_change() async { var content = ''' name: test