Sha256: 4f22ad2112e20c0333a93f97e416572f6c5a6f3db1cff5668de247fdb35179eb

Contents?: true

Size: 882 Bytes

Versions: 5

Compression:

Stored size: 882 Bytes

Contents

const isArray = (value) => Array.isArray(value)
const isBoolean = (str) => /^true/.test(str) || /^false/.test(str)
const chdirTestApp = () => {
  try {
    return process.chdir('test/test_app')
  } catch (e) {
    return null
  }
}

const chdirCwd = () => process.chdir(process.cwd())

const resetEnv = () => {
  process.env = {}
}

const ensureTrailingSlash = (path) => (path.endsWith('/') ? path : `${path}/`)

const moduleExists = (packageName) => {
  try {
    return require.resolve(packageName)
  } catch (e) {
    if (e.code !== 'MODULE_NOT_FOUND') {
      throw e
    }
    return null
  }
}

const canProcess = (rule, fn) => {
  const modulePath = moduleExists(rule)

  if (modulePath) {
    return fn(modulePath)
  }

  return null
}

module.exports = {
  chdirTestApp,
  chdirCwd,
  isArray,
  isBoolean,
  ensureTrailingSlash,
  canProcess,
  moduleExists,
  resetEnv
}

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
webpacker-6.0.0.beta.4 package/utils/helpers.js
webpacker-6.0.0.beta.3 package/utils/helpers.js
webpacker-6.0.0.beta.2 package/utils/helpers.js
webpacker-6.0.0.beta.1 package/utils/helpers.js
webpacker-6.0.0.beta package/utils/helpers.js