From 4e505d827fe9799aa6e8af67300e7a1c200ada11 Mon Sep 17 00:00:00 2001 From: Parker Lougheed Date: Mon, 9 Dec 2024 17:07:25 +0530 Subject: [PATCH 1/2] Add a few init related lints from recommended set --- analysis_options.yaml | 2 ++ app/lib/fake/backend/fake_pub_worker.dart | 2 +- app/lib/package/api_export/exported_api.dart | 12 ++++++------ app/lib/package/model_properties.dart | 4 ++-- app/lib/package/models.dart | 4 ++-- app/lib/search/search_service.dart | 5 ++--- app/lib/search/token_index.dart | 4 ++-- app/lib/service/download_counts/models.dart | 4 ++-- app/lib/service/security_advisories/models.dart | 4 ++-- app/lib/shared/exceptions.dart | 6 ++---- app/lib/shared/model_properties.dart | 4 ++-- app/lib/task/models.dart | 8 ++++---- .../tool/neat_task/datastore_status_provider.dart | 11 ++++++----- pkg/_popularity/lib/popularity.dart | 7 +++---- pkg/pub_worker/lib/src/upload.dart | 4 ++-- 15 files changed, 40 insertions(+), 41 deletions(-) diff --git a/analysis_options.yaml b/analysis_options.yaml index e21445a09d..df34272616 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -43,6 +43,7 @@ linter: - prefer_final_locals - prefer_for_elements_to_map_fromIterable - prefer_if_null_operators + - prefer_initializing_formals - prefer_null_aware_operators - prefer_single_quotes - prefer_spread_collections @@ -63,3 +64,4 @@ linter: - unnecessary_this - use_function_type_syntax_for_parameters - use_rethrow_when_possible + - use_super_parameters diff --git a/app/lib/fake/backend/fake_pub_worker.dart b/app/lib/fake/backend/fake_pub_worker.dart index 15614557ae..484f0a9d95 100644 --- a/app/lib/fake/backend/fake_pub_worker.dart +++ b/app/lib/fake/backend/fake_pub_worker.dart @@ -314,7 +314,7 @@ final class UploadException implements Exception { } final class IntermittentUploadException extends UploadException { - IntermittentUploadException(String message) : super(message); + IntermittentUploadException(super.message); } Summary _emptySummary(String package, String version) { diff --git a/app/lib/package/api_export/exported_api.dart b/app/lib/package/api_export/exported_api.dart index e9b7b29de7..475ce57771 100644 --- a/app/lib/package/api_export/exported_api.dart +++ b/app/lib/package/api_export/exported_api.dart @@ -482,10 +482,10 @@ final class ExportedJsonFile extends ExportedObject { final Duration _maxAge; ExportedJsonFile._( - ExportedApi _owner, - String _objectName, + super._owner, + super._objectName, this._maxAge, - ) : super._(_owner, _objectName); + ) : super._(); ObjectMetadata _metadata() { return ObjectMetadata( @@ -531,12 +531,12 @@ final class ExportedBlob extends ExportedObject { final String _filename; ExportedBlob._( - ExportedApi _owner, - String _objectName, + super._owner, + super._objectName, this._filename, this._contentType, this._maxAge, - ) : super._(_owner, _objectName); + ) : super._(); ObjectMetadata _metadata() { return ObjectMetadata( diff --git a/app/lib/package/model_properties.dart b/app/lib/package/model_properties.dart index e44fcc4fd7..f753f92f8c 100644 --- a/app/lib/package/model_properties.dart +++ b/app/lib/package/model_properties.dart @@ -236,8 +236,8 @@ class MinSdkVersion { } class PubspecProperty extends StringProperty { - const PubspecProperty({String? propertyName, bool required = false}) - : super(propertyName: propertyName, required: required, indexed: false); + const PubspecProperty({super.propertyName, super.required = false}) + : super(indexed: false); @override bool validate(ModelDB db, Object? value) => diff --git a/app/lib/package/models.dart b/app/lib/package/models.dart index e4ed91e469..ed92bae662 100644 --- a/app/lib/package/models.dart +++ b/app/lib/package/models.dart @@ -484,8 +484,8 @@ class AutomatedPublishing { /// A [db.Property] encoding [AutomatedPublishing] as JSON. class AutomatedPublishingProperty extends db.Property { const AutomatedPublishingProperty( - {String? propertyName, bool required = false}) - : super(propertyName: propertyName, required: required, indexed: false); + {super.propertyName, super.required = false}) + : super(indexed: false); @override Object? encodeValue( diff --git a/app/lib/search/search_service.dart b/app/lib/search/search_service.dart index 9a5eaf83d7..63c91a9c0e 100644 --- a/app/lib/search/search_service.dart +++ b/app/lib/search/search_service.dart @@ -339,10 +339,9 @@ class PackageSearchResult { List? sdkLibraryHits, List? packageHits, this.errorMessage, - int? statusCode, + this.statusCode, }) : packageHits = packageHits ?? [], - sdkLibraryHits = sdkLibraryHits ?? [], - statusCode = statusCode; + sdkLibraryHits = sdkLibraryHits ?? []; PackageSearchResult.error({ required this.errorMessage, diff --git a/app/lib/search/token_index.dart b/app/lib/search/token_index.dart index 2e7304b54b..8983cee2ed 100644 --- a/app/lib/search/token_index.dart +++ b/app/lib/search/token_index.dart @@ -40,8 +40,8 @@ class TokenIndex { List ids, List values, { bool skipDocumentWeight = false, - }) : _ids = ids { - assert(ids.length == values.length); + }) : _ids = ids, + assert(ids.length == values.length) { final length = values.length; for (var i = 0; i < length; i++) { final text = values[i]; diff --git a/app/lib/service/download_counts/models.dart b/app/lib/service/download_counts/models.dart index 2eb5ba785e..d707d8d0f0 100644 --- a/app/lib/service/download_counts/models.dart +++ b/app/lib/service/download_counts/models.dart @@ -16,8 +16,8 @@ class DownloadCounts extends db.ExpandoModel { } class CountDataProperty extends db.Property { - const CountDataProperty({String? propertyName, bool required = false}) - : super(propertyName: propertyName, required: required, indexed: false); + const CountDataProperty({super.propertyName, super.required = false}) + : super(indexed: false); @override Object? decodePrimitiveValue(db.ModelDB db, Object? value) { diff --git a/app/lib/service/security_advisories/models.dart b/app/lib/service/security_advisories/models.dart index 0881286a2d..794bc630e7 100644 --- a/app/lib/service/security_advisories/models.dart +++ b/app/lib/service/security_advisories/models.dart @@ -49,8 +49,8 @@ class SecurityAdvisory extends db.Model { } class OSVProperty extends db.Property { - const OSVProperty({String? propertyName, bool required = false}) - : super(propertyName: propertyName, required: required, indexed: false); + const OSVProperty({super.propertyName, super.required = false}) + : super(indexed: false); @override Object? decodePrimitiveValue(db.ModelDB db, Object? value) { diff --git a/app/lib/shared/exceptions.dart b/app/lib/shared/exceptions.dart index 0f66846e97..f1a1f6b726 100644 --- a/app/lib/shared/exceptions.dart +++ b/app/lib/shared/exceptions.dart @@ -24,14 +24,12 @@ abstract class ResponseException extends ApiResponseException { int status, String code, String message, { - Map? body, - Map? headers, + super.body, + super.headers, }) : super( status: status, code: code, message: message, - body: body, - headers: headers, ); @override diff --git a/app/lib/shared/model_properties.dart b/app/lib/shared/model_properties.dart index 9e906e1467..64f7df837a 100644 --- a/app/lib/shared/model_properties.dart +++ b/app/lib/shared/model_properties.dart @@ -10,8 +10,8 @@ class CompatibleListProperty extends Property { final PrimitiveProperty subProperty; const CompatibleListProperty(this.subProperty, - {String? propertyName, bool indexed = true}) - : super(propertyName: propertyName, required: true, indexed: indexed); + {super.propertyName, super.indexed}) + : super(required: true); @override bool validate(ModelDB db, Object? value) { diff --git a/app/lib/task/models.dart b/app/lib/task/models.dart index 3fc61dbaf1..501446219d 100644 --- a/app/lib/task/models.dart +++ b/app/lib/task/models.dart @@ -333,8 +333,8 @@ class PackageVersionStateInfo { /// A [db.Property] encoding a Map from version to [PackageVersionStateInfo] as JSON. class PackageVersionStateMapProperty extends db.Property { const PackageVersionStateMapProperty( - {String? propertyName, bool required = false}) - : super(propertyName: propertyName, required: required, indexed: false); + {super.propertyName, super.required = false}) + : super(indexed: false); @override Object? encodeValue( @@ -442,8 +442,8 @@ class AbortedTokenInfo { /// A [db.Property] encoding a List os [AbortedTokenInfo] as JSON. class AbortedTokenListProperty extends db.Property { - const AbortedTokenListProperty({String? propertyName, bool required = false}) - : super(propertyName: propertyName, required: required, indexed: false); + const AbortedTokenListProperty({super.propertyName, super.required = false}) + : super(indexed: false); @override Object? encodeValue( diff --git a/app/lib/tool/neat_task/datastore_status_provider.dart b/app/lib/tool/neat_task/datastore_status_provider.dart index d59646d9d0..43457e7b1d 100644 --- a/app/lib/tool/neat_task/datastore_status_provider.dart +++ b/app/lib/tool/neat_task/datastore_status_provider.dart @@ -42,12 +42,13 @@ class NeatTaskStatus extends db.ExpandoModel { NeatTaskStatus(); - NeatTaskStatus.init(String name, {required bool isRuntimeVersioned}) { - this.name = name; - runtimeVersion = - _runtimeVersion(name, isRuntimeVersioned: isRuntimeVersioned); + NeatTaskStatus.init(String name, {required bool isRuntimeVersioned}) + // ignore: prefer_initializing_formals + : name = name, + runtimeVersion = + _runtimeVersion(name, isRuntimeVersioned: isRuntimeVersioned), + updated = clock.now().toUtc() { id = _compositeId(name, isRuntimeVersioned: isRuntimeVersioned); - updated = clock.now().toUtc(); } } diff --git a/pkg/_popularity/lib/popularity.dart b/pkg/_popularity/lib/popularity.dart index 3461e75dd7..3a12d31b2b 100644 --- a/pkg/_popularity/lib/popularity.dart +++ b/pkg/_popularity/lib/popularity.dart @@ -70,10 +70,9 @@ class VoteData { int get score => _score(this); - VoteData(this.direct, this.dev, this.total) { - assert(direct >= 0 && direct <= total); - assert(dev >= 0 && dev <= total); - } + VoteData(this.direct, this.dev, this.total) + : assert(direct >= 0 && direct <= total), + assert(dev >= 0 && dev <= total); factory VoteData.fromJson(Map json) => _$VoteDataFromJson(json); diff --git a/pkg/pub_worker/lib/src/upload.dart b/pkg/pub_worker/lib/src/upload.dart index 689d84bcd8..76c028c852 100644 --- a/pkg/pub_worker/lib/src/upload.dart +++ b/pkg/pub_worker/lib/src/upload.dart @@ -88,11 +88,11 @@ final class UploadException implements Exception { } final class IntermittentUploadException extends UploadException { - IntermittentUploadException(String message) : super(message); + IntermittentUploadException(super.message); } final class TaskAbortedException extends UploadException { - TaskAbortedException(String message) : super(message); + TaskAbortedException(super.message); } /// Extract `error.code` from JSON body in [res]. From 16682d5416c59e36b4478478f6a07dc273910c58 Mon Sep 17 00:00:00 2001 From: Parker Lougheed Date: Wed, 11 Dec 2024 16:26:32 +0800 Subject: [PATCH 2/2] Move asserts from initializer list to body --- app/lib/search/token_index.dart | 4 ++-- app/lib/tool/neat_task/datastore_status_provider.dart | 1 + pkg/_popularity/lib/popularity.dart | 7 ++++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/lib/search/token_index.dart b/app/lib/search/token_index.dart index 8983cee2ed..2e7304b54b 100644 --- a/app/lib/search/token_index.dart +++ b/app/lib/search/token_index.dart @@ -40,8 +40,8 @@ class TokenIndex { List ids, List values, { bool skipDocumentWeight = false, - }) : _ids = ids, - assert(ids.length == values.length) { + }) : _ids = ids { + assert(ids.length == values.length); final length = values.length; for (var i = 0; i < length; i++) { final text = values[i]; diff --git a/app/lib/tool/neat_task/datastore_status_provider.dart b/app/lib/tool/neat_task/datastore_status_provider.dart index 43457e7b1d..2634d258d4 100644 --- a/app/lib/tool/neat_task/datastore_status_provider.dart +++ b/app/lib/tool/neat_task/datastore_status_provider.dart @@ -48,6 +48,7 @@ class NeatTaskStatus extends db.ExpandoModel { runtimeVersion = _runtimeVersion(name, isRuntimeVersioned: isRuntimeVersioned), updated = clock.now().toUtc() { + // Not in initializer list as id is declared in a super class. id = _compositeId(name, isRuntimeVersioned: isRuntimeVersioned); } } diff --git a/pkg/_popularity/lib/popularity.dart b/pkg/_popularity/lib/popularity.dart index 3a12d31b2b..3461e75dd7 100644 --- a/pkg/_popularity/lib/popularity.dart +++ b/pkg/_popularity/lib/popularity.dart @@ -70,9 +70,10 @@ class VoteData { int get score => _score(this); - VoteData(this.direct, this.dev, this.total) - : assert(direct >= 0 && direct <= total), - assert(dev >= 0 && dev <= total); + VoteData(this.direct, this.dev, this.total) { + assert(direct >= 0 && direct <= total); + assert(dev >= 0 && dev <= total); + } factory VoteData.fromJson(Map json) => _$VoteDataFromJson(json);