diff --git a/packages/compiler-cli/src/transformers/compiler_host.ts b/packages/compiler-cli/src/transformers/compiler_host.ts index 9d07cbfc4f..e2ae268f25 100644 --- a/packages/compiler-cli/src/transformers/compiler_host.ts +++ b/packages/compiler-cli/src/transformers/compiler_host.ts @@ -142,7 +142,10 @@ class CompilerHostMixin { resourceNameToFileName(resourceName: string, containingFile: string): string|null { // Note: we convert package paths into relative paths to be compatible with the the // previous implementation of UrlResolver. - if (resourceName && resourceName.charAt(0) !== '.' && !path.isAbsolute(resourceName)) { + const firstChar = resourceName[0]; + if (firstChar === '/') { + resourceName = resourceName.slice(1); + } else if (firstChar !== '.') { resourceName = `./${resourceName}`; } const filePathWithNgResource = diff --git a/packages/compiler-cli/test/transformers/compiler_host_spec.ts b/packages/compiler-cli/test/transformers/compiler_host_spec.ts index 9d86f460c6..10f5450e07 100644 --- a/packages/compiler-cli/test/transformers/compiler_host_spec.ts +++ b/packages/compiler-cli/test/transformers/compiler_host_spec.ts @@ -117,10 +117,10 @@ describe('NgCompilerHost', () => { .toBe('/tmp/src/a/child.html'); }); - it('should resolve absolute paths', () => { - const ngHost = createHost({files: {'tmp': {'src': {'a': {'child.html': '