pana 0.11.3 pana: ^0.11.3 copied to clipboard
Evaluate the health and quality of a Dart package
0.11.3 #
-
Support changing part of the analysis result.
-
Fix
dartdoc
timeout when usingpub global run
.
0.11.2 #
-
dartdoc
processing: do not exclude packages by default, asdartdoc
0.19
handles SDK links. -
expose
getAgeSuggestion
method for pub site -
Update
analyzer
dependency to^0.32.0
.
0.11.1 #
-
Upgrade CI to dev.54 and fix new deprecation warnings.
-
Bugfix: do not initialize
dartdocSuccessful
with a value. -
Support
--flutter-sdk
in thepana
binary.
0.11.0 #
Breaking changes:
-
DartSdk
,FlutterSdk
andPubEnvironment
is replaced withToolEnvironment
. -
ToolEnvironment.runAnalyzer
returns the text output of the process. -
Consolidating options in
InspectOptions
, changingPackageAnalyzer
APIs. -
Move all output-related data structure to
src/model.dart
:CodeProblem.parse
->parseCodeProblem
Maintenance.getMaintenanceScore
->getMaintenanceScore
PkgResolution.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.dart
library exposing several of the data classes. -
Check
homepage
anddocumentation
properties to point to an existing and external web page. -
--verbose
command-line andVerbosity
option 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.hasExtUri
to 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
dartfmt
anddartanalyzer
.
0.10.3 #
-
Fix end-to-end test (package dependency changed).
-
Move pubspec stripping inside
PubEnvironment.runUpgrade
(dartdoc
service 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_CACHE
directory when it was set. -
Update
analyzer
to 0.31 and extendsquiver
version range. -
Fix issue where we were not passing the proper package directory variable.
-
Expose all
dartanalyzer
anddartfmt
problems 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_overrides
frompubspec.yaml
.
0.10.0 #
BREAKING CHANGES:
-
Removed
DartPlatform.description
andDartPlatform.descriptionAndReason
because we don't use them elsewhere and complicates thePlatformNames
witheverywhere
andundefined
. -
Removed
PlatformNames.everywhere
andPlatformNames.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 fieldscomponents
anduses
instead. -
Removed
PlatformNames.server
(and its platform detection), using a widerother
platform 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.lock
validation. -
Recommend descriptions between 60 and 180 characters.
-
Detect another license format
-
Pass-through values of
analyzer_options.yaml
errors 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_URL
for package downloads, as it has not worked out in practice. Instead, we've added a--hosted-url
command line argument.
0.8.0 #
-
PackageAnalyzer.inspectPackage
added a named argumentdeleteTemporaryDirectory
. Setting this tofalse
retains the directory and prints its location to the log. Useful for debugging. -
Maintenance
-
BREAKING
getMaintenanceScore
now takes an optionalage
parameter replacing the previously requiredpublishDate
parameter. -
Changed the meaning of version fields:
isExperimentalVersion
now means pre-V1.isPreReleaseVersion
now means there is a pre-release flag like-beta
,-alpha
, etc.
-
BREAKING maintenance-related
Suggestion
entries as moved toMaintenance.suggestions
-
-
BREAKING
Suggestion.file
is nowString
instead ofdynamic
. -
Detect the new format of native extensions.
-
Unblock platform classification on a new class of errors.
-
Use
PUB_HOSTED_URL
for package downloads.
0.7.3+1 #
- Allow more versions of
package:args
.
0.7.3 #
-
Added
pana
as 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.bug
constructor had a breaking change – a required argument was added, but this is not intended for invocation by end-users.
0.7.1 #
- Add
SuggestionLevel.bug
and 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.sdkVersion
is now aVersion
instead ofString
. -
new PackageAnalyzer(...)
now takes aDartSdk
instance instead of aString
.
-
-
static Future<PackageAnalyzer> create(...)
was added toPackageAnalyzer
. -
Added
logger
optional 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.yaml
file against a package.
0.6.0 #
-
Breaking changes
- Removed
ToolProblem
class. - Removed
Summary.toolProblems
, in favor ofSummary.suggestions
.
- Removed
-
Detect and store maintenance-related data in summary.
- Scoring of tool problems moved from
Fitness
toMaintenance
.
- 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
nowhere
when part of analysis fails.
0.5.0 #
-
Breaking changes
License
renamed toLicenseFile
Summary.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.analyzerItems
andDartFileSummary.analyzerItems
->codeProblems
- Renamed
-
Refactored
CodeProblem
(previouslyAnalyzerOutput
):- Split up
type
, new fields:severity
,errorType
,errorCode
- Renamed
error
todescription
- Split up
-
Refactored
Fitness
:- Renamed
total
->magnitude
- Removed
value
, usingshortcoming
instead (value
=magnitude - shortcoming;
)
- Renamed
-
Refactored
PubSummary
, renamed toPkgResolution
- Moved
pubspec
->Summary
- Moved
pkgVersion
->Pubspec.version
- Moved
authors
->Pubspec.authors
- Merged
packageVersions
andavailableVersions
intodependencies
- Renamed
Summary.pubSummary
->pkgResolution
- Moved
-
Refactored
platform
:- Renamed
PlatformFlags
->PlatformNames
- Removed most of the platform-related classes, using
DartPlatform
instead
- Renamed
-
0.3.0 #
-
Removed
PlatformSummary.package
in favor ofPlatformSummary.pubspec
of (new) typePubspecPlatform
. -
Renamed
KnownPlatforms
toPlatformFlags
. Also:- Removed
mirrors
,browser
andstandalone
. - Renamed
native
todartExtension
.
- Removed
-
PlatformInfo
- Now store
dart:*
references directly inuses
. worksInStandalone
renamed toworksOnServer
.- Other
.worksIn*
renamed toworksOn*
. - Added
String get description
which returns a simpleString
description of the supported platforms. Examples:everywhere
,flutter
,server, web
,conflict
. - Removed
angular
as 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
flutter
packages. -
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.