pana 0.12.3
pana: ^0.12.3 copied to clipboard
Evaluate the health and quality of a Dart package
0.12.3 #
-
Increased
dartfmttimeout to 5 minutes. -
Store basic stats in the analysis summary.
-
Detect
example/readme.md(or similar pattern) as an alternative to single.dartexample.
0.12.2 #
- Bugfix: pre-v1 release should be pre-v0.1 instead.
0.12.1 #
- Bugfix: packages without Dart files failed the health checks.
0.12.0 #
Breaking changes:
-
Named parameters in the following constructors:
Summary,DartFileSummary,PkgDependency,CodeProblem. -
Removed per-file and overall
Fitness, using a top-levelHealthreport instead. Follows the proposed changes that allow us to clearly communicate the scoring mechanism. -
Removed
Penaltyand using the simpler to understandscorein place of it.
Updates:
-
Use
flutter formatfor Flutter packages. -
Support relative local path with
--source path. -
Track tool failures and set health score to 0 if there is any.
0.11.8 #
-
Support Dart 2 gold release.
-
Remove
strong-mode: truecheck and suggestion. -
Do not check existence of non-external URLs.
-
API for external caching of URL existence checks.
0.11.7 #
- Suggestions for SDK constraint and Dart 2 compatibility.
0.11.6 #
- Updated report on
dartanalyzersuggestions.
0.11.5 #
-
Less verbose logging.
-
Updated platform classification:
- Library conflict rule is moved to the end of the evaluation.
- Top file-related suggestions are directly exposed.
- The bulk summary suggestion is more compact.
-
Updated suggestion messages.
0.11.4 #
-
Export libraries used by pub site.
-
Update minimum SDK to
2.0.0-dev.42.0- The SDK was effectively restricted to at least this version due to other dependencies.
-
Better expose platform conflict reasons.
0.11.3 #
-
Support changing part of the analysis result.
-
Fix
dartdoctimeout when usingpub global run.
0.11.2 #
-
dartdocprocessing: do not exclude packages by default, asdartdoc0.19handles SDK links. -
expose
getAgeSuggestionmethod for pub site -
Update
analyzerdependency to^0.32.0.
0.11.1 #
-
Upgrade CI to dev.54 and fix new deprecation warnings.
-
Bugfix: do not initialize
dartdocSuccessfulwith a value. -
Support
--flutter-sdkin thepanabinary.
0.11.0 #
Breaking changes:
-
DartSdk,FlutterSdkandPubEnvironmentis replaced withToolEnvironment. -
ToolEnvironment.runAnalyzerreturns the text output of the process. -
Consolidating options in
InspectOptions, changingPackageAnalyzerAPIs. -
Move all output-related data structure to
src/model.dart:CodeProblem.parse->parseCodeProblemMaintenance.getMaintenanceScore->getMaintenanceScorePkgResolution.create->createPkgResolution
-
Move all runtime/version info into
PanaRuntimeInfo(and use it inSummary). -
Removed
Fitness.suggestions(moved it toDartFileSummary)
Updates:
-
Run
dartdoc(optional) and report if it was not able to complete successfully. -
Added a top-level
models.dartlibrary exposing several of the data classes. -
Check
homepageanddocumentationproperties to point to an existing and external web page. -
--verbosecommand-line andVerbosityoption to control the details in the analysis output.
0.10.6 #
-
Enable Dart 2 Preview in analyzer options (including non-Flutter packages).
-
Change platform classification of
dart:isolate: no longer available onweb. -
Treat
environment:keys as dependent SDKs (e.g.flutter). -
Use
LibraryElement.hasExtUrito detectdart-ext:imports. -
Detailed suggestion messages when package has conflicting platforms.
0.10.5 #
- Enable Dart 2 Preview in Flutter analyzer options.
0.10.4 #
-
Fix CI test
-
Flutter-specific suggestion messages for
dartfmtanddartanalyzer.
0.10.3 #
-
Fix end-to-end test (package dependency changed).
-
Move pubspec stripping inside
PubEnvironment.runUpgrade(dartdocservice will get it for free). -
Handle more repository URLs (e.g.
www.github.com). -
Expose Flutter detection to clients, with better naming (
isFlutter->usesFlutter).
0.10.2 #
-
Fix issue of not using the
PUB_CACHEdirectory when it was set. -
Update
analyzerto 0.31 and extendsquiverversion range. -
Fix issue where we were not passing the proper package directory variable.
-
Expose all
dartanalyzeranddartfmtproblems as suggestions.
0.10.1 #
-
Include component list in platform classification reasons.
-
Do not report on unconstrained SDK dependencies.
-
New platform component:
build. -
Remove
dependency_overridesfrompubspec.yaml.
0.10.0 #
BREAKING CHANGES:
-
Removed
DartPlatform.descriptionandDartPlatform.descriptionAndReasonbecause we don't use them elsewhere and complicates thePlatformNameswitheverywhereandundefined. -
Removed
PlatformNames.everywhereandPlatformNames.undefined, because we don't print these anywhere except in tests. -
Removed
PlatformNames.dartExtension, because we use it only internally. -
Removed
DartPlatform.restrictedTo, using the fieldscomponentsandusesinstead. -
Removed
PlatformNames.server(and its platform detection), using a widerotherplatform instead.
0.9.1 #
-
Use raw links for images in repository URLs.
-
Move unconstrained version penalty from health score to maintenance.
-
Move platform conflict penalty from health score to maintenance.
-
Sort maintenance suggestions in decreasing importance.
0.9.0+1 #
- Fix NPE when dependency has no constraint (e.g. git repo).
0.9.0 #
-
Only direct unconstrained dependencies decrease the health score.
-
Removed superfluous
pubspec.lockvalidation. -
Recommend descriptions between 60 and 180 characters.
-
Detect another license format
-
Pass-through values of
analyzer_options.yamlerrors likeuri_has_not_been_generated.
0.8.2 #
-
Unblock platform classification on a new class of errors.
-
Better messages in platform classification.
0.8.1 #
-
Use Flutter-recommended analysis options when analyzer Flutter packages.
-
BREAKING BEHAVIOR: Don't use
PUB_HOSTED_URLfor package downloads, as it has not worked out in practice. Instead, we've added a--hosted-urlcommand line argument.
0.8.0 #
-
PackageAnalyzer.inspectPackageadded a named argumentdeleteTemporaryDirectory. Setting this tofalseretains the directory and prints its location to the log. Useful for debugging. -
Maintenance-
BREAKING
getMaintenanceScorenow takes an optionalageparameter replacing the previously requiredpublishDateparameter. -
Changed the meaning of version fields:
isExperimentalVersionnow means pre-V1.isPreReleaseVersionnow means there is a pre-release flag like-beta,-alpha, etc.
-
BREAKING maintenance-related
Suggestionentries as moved toMaintenance.suggestions
-
-
BREAKING
Suggestion.fileis nowStringinstead ofdynamic. -
Detect the new format of native extensions.
-
Unblock platform classification on a new class of errors.
-
Use
PUB_HOSTED_URLfor package downloads.
0.7.3+1 #
- Allow more versions of
package:args.
0.7.3 #
-
Added
panaas an executable. Enablespub global activate pana. -
Improved license detection: commented license files are now recognized.
0.7.2 #
-
Handle more critical exceptions and report them with more details.
-
The
Suggestion.bugconstructor had a breaking change – a required argument was added, but this is not intended for invocation by end-users.
0.7.1 #
- Add
SuggestionLevel.bugand use it to record fatal errors with the tool.
0.7.0+1 #
- Fixed issue where analyzer and/or formatter were run on directories with no Dart files.
0.7.0 #
-
Breaking changes
-
Summary.sdkVersionis now aVersioninstead ofString. -
new PackageAnalyzer(...)now takes aDartSdkinstance instead of aString.
-
-
static Future<PackageAnalyzer> create(...)was added toPackageAnalyzer. -
Added
loggeroptional argument toPackageAnalyzer.inspectPackage.
0.6.2 #
- Allow platform classification for a small class of analysis errors.
0.6.1 #
- Don't count the absence of an
analysis_options.yamlfile against a package.
0.6.0 #
-
Breaking changes
- Removed
ToolProblemclass. - Removed
Summary.toolProblems, in favor ofSummary.suggestions.
- Removed
-
Detect and store maintenance-related data in summary.
- Scoring of tool problems moved from
FitnesstoMaintenance.
- Scoring of tool problems moved from
-
Provide human-readable feedback and instructions on some of the issues we find during the analysis.
0.5.1 #
-
Use a consistent 2 minute timeout for all processes.
-
Classify platform as
nowherewhen part of analysis fails.
0.5.0 #
-
Breaking changes
Licenserenamed toLicenseFileSummary.license->licenses: we'll return multiple licenses- Removed
LicenseNames.missing: empty List will indicate no license file
-
Greatly expanded and improved license detection.
0.4.0 #
-
Breaking changes
-
Renamed
AnalyzerIssue->ToolProblem- Renamed
Summary.issues->toolProblems - Renamed
AnalyzerIssue.scope->tool - Renamed
AnalyzerScopes->ToolNames
- Renamed
-
Renamed
AnalyzerOutput->CodeProblem- Renamed
Summary.analyzerItemsandDartFileSummary.analyzerItems->codeProblems
- Renamed
-
Refactored
CodeProblem(previouslyAnalyzerOutput):- Split up
type, new fields:severity,errorType,errorCode - Renamed
errortodescription
- Split up
-
Refactored
Fitness:- Renamed
total->magnitude - Removed
value, usingshortcominginstead (value=magnitude - shortcoming;)
- Renamed
-
Refactored
PubSummary, renamed toPkgResolution- Moved
pubspec->Summary - Moved
pkgVersion->Pubspec.version - Moved
authors->Pubspec.authors - Merged
packageVersionsandavailableVersionsintodependencies - Renamed
Summary.pubSummary->pkgResolution
- Moved
-
Refactored
platform:- Renamed
PlatformFlags->PlatformNames - Removed most of the platform-related classes, using
DartPlatforminstead
- Renamed
-
0.3.0 #
-
Removed
PlatformSummary.packagein favor ofPlatformSummary.pubspecof (new) typePubspecPlatform. -
Renamed
KnownPlatformstoPlatformFlags. Also:- Removed
mirrors,browserandstandalone. - Renamed
nativetodartExtension.
- Removed
-
PlatformInfo- Now store
dart:*references directly inuses. worksInStandalonerenamed toworksOnServer.- Other
.worksIn*renamed toworksOn*. - Added
String get descriptionwhich returns a simpleStringdescription of the supported platforms. Examples:everywhere,flutter,server, web,conflict. - Removed
angularas a value inuses.
- Now store
0.2.4 #
-
Detect native extensions.
-
Detect licenses.
0.2.3 #
-
Lot's of stability improvements.
-
Improvements to error handling.
0.2.2 #
-
Lot's of cleanup to JSON output.
-
Improved stability.
-
Platform detection basics.
0.2.1 #
-
Added support for
flutterpackages. -
Expanded analysis to include transitive dependencies.
-
Added scoring library.
-
Moved the repo to
dart-lang.
0.2.0 #
- A lot of tweaks. Still under heavy development.
0.0.1 #
- Initial version.