Skip to content
This repository was archived by the owner on Feb 22, 2018. It is now read-only.

Commit 62c51a3

Browse files
Ted Sanderrkirov
authored andcommitted
feat(relative_url_resolver): Allow configurable package root.
Allow the package root to be configurable per application allowing apps that cannot server from /packages/.
1 parent 161cf82 commit 62c51a3

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

lib/core_dom/resource_url_resolver.dart

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -160,9 +160,9 @@ class ResourceUrlResolver {
160160
// If it's not absolute, then resolve it first
161161
Uri resolved = baseUri.resolve(uri);
162162

163-
// If it's package-relative, tack on '/packages/'
163+
// If it's package-relative, tack on [packageRoot].
164164
if (resolved.scheme == 'package') {
165-
return '/packages/${resolved.path}';
165+
return '${_config.packageRoot}${resolved.path}';
166166
} else if (resolved.isAbsolute && resolved.toString().startsWith(_baseUri)) {
167167
return resolved.path;
168168
} else {
@@ -181,9 +181,13 @@ class ResourceUrlResolver {
181181

182182
@Injectable()
183183
class ResourceResolverConfig {
184+
static const String DEFAULT_PACKAGE_ROOT = '/packages/';
184185
bool useRelativeUrls;
186+
String packageRoot;
185187

186-
ResourceResolverConfig(): useRelativeUrls = true;
188+
ResourceResolverConfig(): useRelativeUrls = true,
189+
packageRoot = DEFAULT_PACKAGE_ROOT;
187190

188-
ResourceResolverConfig.resolveRelativeUrls(this.useRelativeUrls);
191+
ResourceResolverConfig.resolveRelativeUrls(this.useRelativeUrls,
192+
{this.packageRoot: DEFAULT_PACKAGE_ROOT});
189193
}

0 commit comments

Comments
 (0)