An implementation of import maps.
import {
resolveImportMap,
resolveModuleSpecifier,
type ImportMap,
} from 'https://deno.land/x/importmap/mod.ts'
const importMap: ImportMap = {
imports: {
'./foo/': './bar/',
},
}
const importMapBaseURL = new URL(import.meta.url)
const moduleSpecifier = './foo/test.ts'
const baseURL = new URL(import.meta.url)
const resolvedImportMap = resolveImportMap(importMap, importMapBaseURL)
const resolvedModuleSpecifier = resolveModuleSpecifier(
moduleSpecifier,
baseURL,
{ importMap: resolvedImportMap },
)
console.log(resolvedImportMap)
// { imports: { "file:///project/dir/foo/": "file:///project/dir/bar/" }, scopes: {} }
console.log(resolvedModuleSpecifier)
// file:///project/dir/bar/test.js