build_resolvers 1.0.6

Provides an in-memory Resolvers implementation for use with package:build.

This implementation does a monolithic analysis from source, with fine grained invalidation, which works well when it can be shared across multiple build steps in the same process. It is not however suitable for use in more general build systems, which should build up their analysis context using analyzer summaries.

1.0.6 #

  • Allow analyzer version 0.37.0.

1.0.5 #

  • Fix a race condition where some assets may be resolved with missing dependencies. This was likely to have only manifested in tests using resolveSource.

1.0.4 #

  • Increase lower bound sdk constraint to 2.1.0.
  • Increased the upper bound for package:analyzer to <0.37.0.

1.0.3 #

  • Fixes a bug where transitive dart-ext: imports would cause the resolver to fail. These uris will now be ignored.

1.0.2 #

  • Ensure that BuildAssetUriResolver.restoreAbsolute never returns null.
    • Fixes a crash when a resolver is requested but not all transitive sources are available yet.

1.0.1 #

  • Fix a bug causing crashes on windows.

1.0.0 #

  • Migrate to AnalysisDriver. There are behavior changes which may be breaking. The LibraryElement instances returned by the resolver will now:
    • Have non-working context fields.
    • Have no source offsets for annotations or their errors.
    • Have working session fields.
    • Have Source instances with different URIs than before.
    • Not include missing libraries in the importedLibraries getter. You can instead use the imports getter to see all the imports.

0.2.3 #

  • Update to build 1.1.0 and add assetIdForElement.

0.2.2+7 #

  • Updated _AssetUriResolver to prepare for a future release of the analyzer.
  • Increased the upper bound for package:analyzer to <0.35.0.

0.2.2+6 #

  • Increased the upper bound for package:analyzer to <0.34.0.

0.2.2+5 #

  • Increased the upper bound for the build to <1.1.0.

0.2.2+4 #

  • Removed dependency on cli_util.
  • Increased the upper bound for the build to <0.12.9.

0.2.2+3 #

  • Don't log a severe message when a URI cannot be resolved. Just return null.

0.2.2+2 #

  • Use sdk summaries for the analysis context, which makes getting the initial resolver faster (reapplied).

0.2.2+1 #

  • Restore new keyword for a working release on Dart 1 VM.

0.2.2 #

  • Use sdk summaries for the analysis context, which makes getting the initial resolver faster.
  • Release broken on Dart 1 VM.

0.2.1+1 #

  • Increased the upper bound for the sdk to <3.0.0.

0.2.1 #

  • Allow passing in custom AnalysisOptions.

0.2.0+2 #

  • Support package:analyzer 0.32.0.

0.2.0+1 #

  • Switch to firstWhere(orElse) for compatibility with the SDK dev.45

0.2.0 #

  • Removed locking between uses of the Resolver and added a mandatory reset call to indicate that a complete build is finished.

0.1.1 #

  • Support the latest analyzer package.

0.1.0 #

  • Initial release as a migration from code_transformers with a near-identical implementation.

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  build_resolvers: ^1.0.6

2. Install it

You can install packages from the command line:

with pub:


$ pub get

with Flutter:


$ flutter pub get

Alternatively, your editor might support pub get or flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:build_resolvers/build_resolvers.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
92
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
70
Overall:
Weighted score of the above. [more]
90
Learn more about scoring.

We analyzed this package on Jul 17, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.4.0
  • pana: 0.12.19

Platforms

Detected platforms: Flutter, other

Primary library: package:build_resolvers/build_resolvers.dart with components: io, build.

Maintenance suggestions

The package description is too short. (-20 points)

Add more detail to the description field of pubspec.yaml. Use 60 to 180 characters to describe the package, what it does, and its target use case.

Maintain an example. (-10 points)

Create a short demo in the example/ directory to show how to use this package.

Common filename patterns include main.dart, example.dart, and build_resolvers.dart. Packages with multiple examples should provide example/README.md.

For more information see the pub package layout conventions.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.1.0 <3.0.0
analyzer >=0.35.0 <0.38.0 0.37.0
build >=1.1.0 <1.2.0 1.1.5
crypto ^2.0.0 2.0.6
graphs ^0.2.0 0.2.0
path ^1.1.0 1.6.2
Transitive dependencies
args 1.5.2
async 2.3.0
charcode 1.1.2
collection 1.14.11
convert 2.1.1
csslib 0.16.1
front_end 0.1.20
glob 1.1.7
html 0.14.0+2
kernel 0.3.20
logging 0.11.3+2
meta 1.1.7
package_config 1.0.5
pedantic 1.8.0+1
pub_semver 1.4.2
source_span 1.5.5
string_scanner 1.0.4
term_glyph 1.1.0
typed_data 1.1.6
watcher 0.9.7+12
yaml 2.1.16
Dev dependencies
build_runner ^1.0.0
build_test ^0.10.1
build_vm_compilers >=0.1.0 <2.0.0
test ^1.0.0

Admin