| tag | 859c8242b6ea5ae0b114373d76f6f7b14947347a | |
|---|---|---|
| tagger | Kevin Moore <kevmoo@google.com> | Mon Feb 25 17:50:27 2019 |
| object | cd2b4a3ddedd391be153ebe764d197bab46ab2a9 |
| commit | cd2b4a3ddedd391be153ebe764d197bab46ab2a9 | [log] [tgz] |
|---|---|---|
| author | Kevin Moore <kevmoo@users.noreply.github.com> | Mon Feb 25 17:29:51 2019 |
| committer | GitHub <noreply@github.com> | Mon Feb 25 17:29:51 2019 |
| tree | cd551553681f451a2199b4ae6461de817edfa25a | |
| parent | 84d76a431953f7da4f70abf237fc80b9eee9ad0a [diff] |
Import dart:async when using Future to support Dart 2.0.0 (#22) Fixes https://github.com/dart-lang/package_resolver/issues/23
A package that defines a common class, PackageResolver, for defining how to resolve package: URIs. This class may be based on the current isolate's package resolution strategy, but it may also be explicitly defined by the user—for example, you could create a resolver that represents the strategy used to compile a .dart.js file.
The Dart VM provides two mutually exclusive means of resolving package: URIs: a package spec and a package root.
A package spec usually comes in the form of a .packages file on the filesystem. It defines an individual root URL for each package name, so that package:$name/$path resolves to $root/$path.
A package root is a single URL that acts as the base for all package: URIs, so that package:$name/$path resolves to $base/$name/$path.
This normalizes access to these resolution schemes, and makes it easy for code to resolve package URIs no matter where the resolution information comes from.