@jsenv/module-resolution

5.3.0 • Public • Published

jsenv module resolution

npm package build codecov

import resolution and remapping.

Introduction

This module exports a resolvePath you can use to resolve an import.
It is used by jsenv to find every import statement files.

Installation

npm install @jsenv/module-resolution

resolvePath

takes { specifier, importer, importMap, defaultExtension } and returns a resolved path.

basic example
import { resolvePath } from "@jsenv/module-resolution"

const resolvePath = resolveImport({
  importer: "http://domain.com/folder/file.js",
  specifier: "../index.js",
})

console.log(resolvePath)

The code above logs http://domain.com/index.js.

remapping example
import { resolvePath } from "@jsenv/module-resolution"

const resolvedPath = resolvePath({
  importer: "http://domain.com/folder/file.js",
  specifier: "../index.js",
  importMap: {
    imports: {
      "/index.js": "/foo.js",
    },
  },
})

console.log(resolvedPath)

code above logs http://domain.com/foo.js.

scoped remapping example

import { resolvedPath } from "@jsenv/module-resolution"

const resolvedPath = resolvePath({
  importer: "http://domain.com/folder/file.js",
  specifier: "../index.js",
  importMap: {
    imports: {
      "/index.js": "/foo.js",
    },
    scopes: {
      "/folder/": {
        "/index.js": "/bar.js",
      },
    },
  },
})

console.log(remappedImport)

code above logs http://domain.com/bar.js.

Readme

Keywords

none

Package Sidebar

Install

npm i @jsenv/module-resolution

Weekly Downloads

162

Version

5.3.0

License

MIT

Unpacked Size

93.9 kB

Total Files

17

Last publish

Collaborators

  • dmail
  • jsenv-admin