mirror of
https://github.com/systemjs/systemjs.git
synced 2026-01-25 14:57:38 +00:00
handle resolution of relative URLs LHS in import maps (#2039)
This commit is contained in:
parent
e7af7c9d54
commit
958aa919aa
@ -121,6 +121,7 @@ function objectAssign (to, from) {
|
||||
|
||||
function resolveAndComposePackages (packages, outPackages, baseUrl, parentMap, parentUrl) {
|
||||
for (let p in packages) {
|
||||
const resolvedLhs = resolveIfNotPlainOrUrl(p, baseUrl) || p;
|
||||
const rhs = packages[p];
|
||||
// package fallbacks not currently supported
|
||||
if (typeof rhs !== 'string')
|
||||
@ -129,7 +130,7 @@ function resolveAndComposePackages (packages, outPackages, baseUrl, parentMap, p
|
||||
if (!mapped)
|
||||
targetWarning(p, rhs, 'bare specifier did not resolve');
|
||||
else
|
||||
outPackages[p] = mapped;
|
||||
outPackages[resolvedLhs] = mapped;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -12,6 +12,7 @@ function doResolveImportMap (id, parentUrl, importMap) {
|
||||
describe('Import Maps', function () {
|
||||
const firstImportMap = resolveAndComposeImportMap({
|
||||
imports: {
|
||||
"./asdf": "./asdf-asdf",
|
||||
"t": "./src/t",
|
||||
"t/": "./src/t/",
|
||||
"r": "./src/r"
|
||||
@ -55,6 +56,10 @@ describe('Import Maps', function () {
|
||||
assert.equal(doResolveImportMap('/x', 'https://site.com/', baseImportMap), 'https://sample.com/x.js');
|
||||
});
|
||||
|
||||
it('Can map relative URLs', function () {
|
||||
assert.equal(doResolveImportMap('/asdf', 'https://sample.com/', baseImportMap), 'https://sample.com/asdf-asdf');
|
||||
});
|
||||
|
||||
it('Resolves packages with main sugar', function () {
|
||||
assert.equal(doResolveImportMap('x', 'https://site.com', baseImportMap), 'https://sample.com/y');
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user