Update to team lints, require Dart 3.0 (#139)
diff --git a/.github/workflows/test-package.yml b/.github/workflows/test-package.yml index 34b8073..d14e9f4 100644 --- a/.github/workflows/test-package.yml +++ b/.github/workflows/test-package.yml
@@ -47,7 +47,7 @@ matrix: # Add macos-latest and/or windows-latest if relevant for this package. os: [ubuntu-latest] - sdk: [2.18.0, dev] + sdk: [3.0.0, dev] steps: - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 - uses: dart-lang/setup-dart@d6a63dab3335f427404425de0fbfed4686d93c4f
diff --git a/CHANGELOG.md b/CHANGELOG.md index 62ef87d..d084d85 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md
@@ -1,6 +1,6 @@ -## 2.1.1-dev +## 2.1.1-wip -- Require Dart 2.18 +- Require Dart 3.0 ## 2.1.0
diff --git a/analysis_options.yaml b/analysis_options.yaml index 278ec48..c0249e5 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml
@@ -2,4 +2,4 @@ # for details. All rights reserved. Use of this source code is governed by a # BSD-style license that can be found in the LICENSE file. -include: package:lints/recommended.yaml +include: package:dart_flutter_team_lints/analysis_options.yaml
diff --git a/example/main.dart b/example/main.dart index 42a5963..db137ca 100644 --- a/example/main.dart +++ b/example/main.dart
@@ -2,9 +2,10 @@ // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. -import 'package:package_config/package_config.dart'; import 'dart:io' show Directory; +import 'package:package_config/package_config.dart'; + void main() async { var packageConfig = await findPackageConfig(Directory.current); if (packageConfig == null) {
diff --git a/lib/package_config.dart b/lib/package_config.dart index a2c0321..8f40a8b 100644 --- a/lib/package_config.dart +++ b/lib/package_config.dart
@@ -9,7 +9,7 @@ /// configurations in the [specified format](https://github.com/dart-lang/language/blob/master/accepted/future-releases/language-versioning/package-config-file-v2.md). library package_config.package_config; -import 'dart:io' show File, Directory; +import 'dart:io' show Directory, File; import 'dart:typed_data' show Uint8List; import 'src/discovery.dart' as discover;
diff --git a/lib/package_config_types.dart b/lib/package_config_types.dart index 976009b..756be05 100644 --- a/lib/package_config_types.dart +++ b/lib/package_config_types.dart
@@ -12,6 +12,6 @@ /// {@canonicalFor errors.PackageConfigError} library package_config.package_config_types; -export 'src/package_config.dart' - show PackageConfig, Package, LanguageVersion, InvalidLanguageVersion; export 'src/errors.dart' show PackageConfigError; +export 'src/package_config.dart' + show InvalidLanguageVersion, LanguageVersion, Package, PackageConfig;
diff --git a/lib/src/discovery.dart b/lib/src/discovery.dart index ccc86ea..352bed8 100644 --- a/lib/src/discovery.dart +++ b/lib/src/discovery.dart
@@ -5,10 +5,9 @@ import 'dart:io'; import 'dart:typed_data'; -import 'package_config_io.dart'; - import 'errors.dart'; import 'package_config_impl.dart'; +import 'package_config_io.dart'; import 'package_config_json.dart'; import 'packages_file.dart' as packages_file; import 'util_io.dart' show defaultLoader, pathJoin;
diff --git a/lib/src/errors.dart b/lib/src/errors.dart index f351571..69c4137 100644 --- a/lib/src/errors.dart +++ b/lib/src/errors.dart
@@ -29,4 +29,5 @@ } /// The default `onError` handler. +// ignore: only_throw_errors Never throwError(Object error) => throw error;
diff --git a/lib/src/package_config_json.dart b/lib/src/package_config_json.dart index bd22db4..47e7e96 100644 --- a/lib/src/package_config_json.dart +++ b/lib/src/package_config_json.dart
@@ -167,7 +167,9 @@ name!, root, packageRoot, version, extraData, relativeRoot, (error) { if (error is ArgumentError) { onError( - PackageConfigFormatException(error.message, error.invalidValue)); + PackageConfigFormatException( + error.message.toString(), error.invalidValue), + ); } else { onError(error); } @@ -214,7 +216,10 @@ } return SimplePackageConfig(configVersion!, packageList!, extraData, (error) { if (error is ArgumentError) { - onError(PackageConfigFormatException(error.message, error.invalidValue)); + onError( + PackageConfigFormatException( + error.message.toString(), error.invalidValue), + ); } else { onError(error); }
diff --git a/lib/src/packages_file.dart b/lib/src/packages_file.dart index 3fd7db9..5d14677 100644 --- a/lib/src/packages_file.dart +++ b/lib/src/packages_file.dart
@@ -2,10 +2,9 @@ // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. -import 'package_config_impl.dart'; - -import 'util.dart'; import 'errors.dart'; +import 'package_config_impl.dart'; +import 'util.dart'; /// The language version prior to the release of language versioning. /// @@ -127,7 +126,7 @@ var package = SimplePackage.validate(packageName, rootUri, packageLocation, _languageVersion, null, relativeRoot, (error) { if (error is ArgumentError) { - onError(PackageConfigFormatException(error.message, source)); + onError(PackageConfigFormatException(error.message.toString(), source)); } else { onError(error); }
diff --git a/pubspec.yaml b/pubspec.yaml index 08255ff..e121ab0 100644 --- a/pubspec.yaml +++ b/pubspec.yaml
@@ -1,10 +1,10 @@ name: package_config -version: 2.1.1-dev +version: 2.1.1-wip description: Support for reading and writing Dart Package Configuration files. repository: https://github.com/dart-lang/package_config environment: - sdk: '>=2.18.0 <3.0.0' + sdk: ^3.0.0 dependencies: path: ^1.8.0 @@ -12,6 +12,6 @@ dev_dependencies: build_runner: ^2.0.0 build_test: ^2.1.2 - build_web_compilers: '>=3.0.0 <5.0.0' - lints: ^2.0.0 + build_web_compilers: ^4.0.0 + dart_flutter_team_lints: ^1.0.0 test: ^1.16.0
diff --git a/test/bench.dart b/test/bench.dart index 7466431..8428481 100644 --- a/test/bench.dart +++ b/test/bench.dart
@@ -5,10 +5,9 @@ import 'dart:convert'; import 'dart:typed_data'; +import 'package:package_config/src/errors.dart'; import 'package:package_config/src/package_config_json.dart'; -void throwError(Object error) => throw error; - void bench(final int size, final bool doPrint) { var sb = StringBuffer(); sb.writeln('{'); @@ -32,20 +31,21 @@ sb.writeln('}'); var stopwatch = Stopwatch()..start(); var config = parsePackageConfigBytes( - // ignore: unnecessary_cast - utf8.encode(sb.toString()) as Uint8List, - Uri.parse('file:///tmp/.dart_tool/file.dart'), - throwError); - final int read = stopwatch.elapsedMilliseconds; + // ignore: unnecessary_cast + utf8.encode(sb.toString()) as Uint8List, + Uri.parse('file:///tmp/.dart_tool/file.dart'), + throwError, + ); + final read = stopwatch.elapsedMilliseconds; stopwatch.reset(); for (var i = 0; i < size; i++) { if (config.packageOf(Uri.parse('file:///p_$i/lib/src/foo.dart'))!.name != 'p_$i') { - throw "Unexpected result!"; + throw StateError('Unexpected result!'); } } - final int lookup = stopwatch.elapsedMilliseconds; + final lookup = stopwatch.elapsedMilliseconds; if (doPrint) { print('Read file with $size packages in $read ms, ' @@ -55,12 +55,12 @@ void main(List<String> args) { if (args.length != 1 && args.length != 2) { - throw "Expects arguments: <size> <warmup iterations>?"; + throw ArgumentError('Expects arguments: <size> <warmup iterations>?'); } final size = int.parse(args[0]); if (args.length > 1) { final warmups = int.parse(args[1]); - print("Performing $warmups warmup iterations."); + print('Performing $warmups warmup iterations.'); for (var i = 0; i < warmups; i++) { bench(10, false); }
diff --git a/test/discovery_test.dart b/test/discovery_test.dart index 17b6aa0..3eb0ea1 100644 --- a/test/discovery_test.dart +++ b/test/discovery_test.dart
@@ -6,8 +6,9 @@ library package_config.discovery_test; import 'dart:io'; -import 'package:test/test.dart'; + import 'package:package_config/package_config.dart'; +import 'package:test/test.dart'; import 'src/util.dart'; import 'src/util_io.dart'; @@ -207,7 +208,7 @@ '.packages': packagesFile, 'script.dart': 'main(){}' }, (Directory directory) async { - var config = (await findPackageConfig(directory, minVersion: 2)); + var config = await findPackageConfig(directory, minVersion: 2); expect(config, null); });
diff --git a/test/discovery_uri_test.dart b/test/discovery_uri_test.dart index 6183ce3..c8fbcb8 100644 --- a/test/discovery_uri_test.dart +++ b/test/discovery_uri_test.dart
@@ -5,8 +5,8 @@ @TestOn('vm') library package_config.discovery_test; -import 'package:test/test.dart'; import 'package:package_config/package_config.dart'; +import 'package:test/test.dart'; import 'src/util.dart'; @@ -151,8 +151,8 @@ '.packages': packagesFile, 'script.dart': 'main(){}' }, (directory, loader) async { - var config = (await findPackageConfigUri(directory, - minVersion: 2, loader: loader)); + var config = + await findPackageConfigUri(directory, minVersion: 2, loader: loader); expect(config, null); });
diff --git a/test/parse_test.dart b/test/parse_test.dart index 94269e2..ad4c749 100644 --- a/test/parse_test.dart +++ b/test/parse_test.dart
@@ -5,15 +5,14 @@ import 'dart:convert'; import 'dart:typed_data'; +import 'package:package_config/package_config_types.dart'; +import 'package:package_config/src/errors.dart'; +import 'package:package_config/src/package_config_json.dart'; +import 'package:package_config/src/packages_file.dart' as packages; import 'package:test/test.dart'; -import 'package:package_config/package_config_types.dart'; -import 'package:package_config/src/packages_file.dart' as packages; -import 'package:package_config/src/package_config_json.dart'; import 'src/util.dart'; -void throwError(Object error) => throw error; - void main() { group('.packages', () { test('valid', () { @@ -318,8 +317,12 @@ test(name, () { dynamic exception; try { - parsePackageConfigBytes(utf8.encode(source) as Uint8List, - Uri.parse('file:///tmp/.dart_tool/file.dart'), throwError); + parsePackageConfigBytes( + // ignore: unnecessary_cast + utf8.encode(source) as Uint8List, + Uri.parse('file:///tmp/.dart_tool/file.dart'), + throwError, + ); } catch (e) { exception = e; } @@ -440,8 +443,9 @@ 'package root of foo is inside the root of bar'); // This shouldn't be allowed, but for internal reasons it is. - test("package inside package root", () { + test('package inside package root', () { var config = parsePackageConfigBytes( + // ignore: unnecessary_cast utf8.encode( '{$cfg,"packages":[' '{"name":"foo","rootUri":"/foo/","packageUri":"lib/"},'
diff --git a/test/src/util_io.dart b/test/src/util_io.dart index 109dff1..e032556 100644 --- a/test/src/util_io.dart +++ b/test/src/util_io.dart
@@ -4,8 +4,8 @@ import 'dart:io'; -import 'package:test/test.dart'; import 'package:package_config/src/util_io.dart'; +import 'package:test/test.dart'; /// Creates a directory structure from [description] and runs [fileTest]. ///