Sha256: 0e34a46adf76c34fe909280524436397605c58053f5cc4aa97b6e626eadfff75

Contents?: true

Size: 1.07 KB

Versions: 43

Compression:

Stored size: 1.07 KB

Contents

var resolve = require('resolve')
  , path = require('path')

var log = require('debug')('eslint-plugin-import:resolver:node')

exports.interfaceVersion = 2

exports.resolve = function (source, file, config) {
  log('Resolving:', source, 'from:', file)
  var resolvedPath

  if (resolve.isCore(source)) {
    log('resolved to core')
    return { found: true, path: null }
  }

  try {
    resolvedPath = resolve.sync(source, opts(file, config))
    log('Resolved to:', resolvedPath)
    return { found: true, path: resolvedPath }
  } catch (err) {
    log('resolve threw error:', err)
    return { found: false }
  }
}

function opts(file, config) {
  return Object.assign({
      // more closely matches Node (#333)
      // plus 'mjs' for native modules! (#939)
      extensions: ['.mjs', '.js', '.json'],
    },
    config,
    {
      // path.resolve will handle paths relative to CWD
      basedir: path.dirname(path.resolve(file)),
      packageFilter: packageFilter,

    })
}

function packageFilter(pkg) {
  if (pkg['jsnext:main']) {
    pkg['main'] = pkg['jsnext:main']
  }
  return pkg
}

Version data entries

43 entries across 43 versions & 1 rubygems

Version Path
govuk_publishing_components-18.0.0 node_modules/eslint-import-resolver-node/index.js
govuk_publishing_components-17.21.0 node_modules/eslint-import-resolver-node/index.js
govuk_publishing_components-17.20.0 node_modules/eslint-import-resolver-node/index.js
govuk_publishing_components-17.19.1 node_modules/eslint-import-resolver-node/index.js
govuk_publishing_components-17.19.0 node_modules/eslint-import-resolver-node/index.js
govuk_publishing_components-17.18.0 node_modules/eslint-import-resolver-node/index.js
govuk_publishing_components-17.17.0 node_modules/eslint-import-resolver-node/index.js
govuk_publishing_components-17.16.0 node_modules/eslint-import-resolver-node/index.js
govuk_publishing_components-17.15.0 node_modules/eslint-import-resolver-node/index.js
govuk_publishing_components-17.14.0 node_modules/eslint-import-resolver-node/index.js
govuk_publishing_components-17.13.0 node_modules/eslint-import-resolver-node/index.js
govuk_publishing_components-17.12.2 node_modules/eslint-import-resolver-node/index.js
govuk_publishing_components-17.12.1 node_modules/eslint-import-resolver-node/index.js
govuk_publishing_components-17.12.0 node_modules/eslint-import-resolver-node/index.js
govuk_publishing_components-17.11.0 node_modules/eslint-import-resolver-node/index.js
govuk_publishing_components-17.10.0 node_modules/eslint-import-resolver-node/index.js
govuk_publishing_components-17.9.0 node_modules/eslint-import-resolver-node/index.js
govuk_publishing_components-17.8.0 node_modules/eslint-import-resolver-node/index.js
govuk_publishing_components-17.7.0 node_modules/eslint-import-resolver-node/index.js
govuk_publishing_components-17.6.1 node_modules/eslint-import-resolver-node/index.js