0.1.0 • Published 5 years ago

@make-mjs/path v0.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
5 years ago

@make-mjs/path

Manipulate MJS module path

Examples

Internal Modules

import getMjsPath from '@make-mjs/path'

const mjsPath: string = await getMjsPath({
  modulePath: './foo/bar/baz', // leading '.' or '..' is required to be recognized as internal
  /* ...and more options... */
})

Result:

  • If ./foo/bar/baz points to a directory without a package.json, mjsPath would be ./foo/bar/baz/index.mjs.
  • If ./foo/bar/baz does not point to a directory, mjsPath would be ./foo/bar/baz.mjs.
  • For other cases, read the tests.

External Modules

import getMjsPath from '@make-mjs/path'

const mjsPath: string = await getMjsPath({
  modulePath: 'foo/bar/baz',
  moduleContainer: [
    'node_modules'
  ],
  /* ...and more options... */
})

Result:

  • If node_modules/foo/bar/baz points to a directory without a package.json, mjsPath would be foo/bar/baz/index.mjs.
  • If node_modules/foo/bar/baz points to a directory that contains a package.json that have "module" points to module.mjs, mjsPath would be foo/bar/baz/module.mjs.
  • If node_modules/foo/baz.js points to a file, mjsPath would be foo/bar/baz.mjs.
  • For other cases, read the tests.

License

MIT © Hoàng Văn Khải