[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 <keertip@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
This commit is contained in:
Keerti Parthasarathy
2026-05-20 12:56:57 -07:00
committed by dart-scoped@luci-project-accounts.iam.gserviceaccount.com
parent fd3ec3b96b
commit d3f4debece
2 changed files with 24 additions and 1 deletions
@@ -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) {
@@ -270,6 +270,29 @@ void bad() {
@reflectiveTest
class PubspecFixTest extends BulkFixProcessorTest {
Future<void> 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<void> test_delete_change() async {
var content = '''
name: test