Sha256: fac942a4d23715ed244862c9f8bc7d8a9a690ae6ae25c01d66cd32a62f7aad56
Contents?: true
Size: 1.35 KB
Versions: 3
Compression:
Stored size: 1.35 KB
Contents
const isBoolean = (str) => /^true/.test(str) || /^false/.test(str) const ensureTrailingSlash = (path) => (path.endsWith("/") ? path : `${path}/`) const resolvedPath = (packageName) => { try { return require.resolve(packageName) } catch (e) { if (e.code !== "MODULE_NOT_FOUND") { throw e } return null } } const moduleExists = (packageName) => !!resolvedPath(packageName) const canProcess = (rule, fn) => { const modulePath = resolvedPath(rule) if (modulePath) { return fn(modulePath) } return null } const loaderMatches = (configLoader, loaderToCheck, fn) => { if (configLoader !== loaderToCheck) { return null } const loaderName = `${configLoader}-loader` if (!moduleExists(loaderName)) { throw new Error( `Your Shakapacker config specified using ${configLoader}, but ${loaderName} package is not installed. Please install ${loaderName} first.` ) } return fn() } const packageMajorVersion = (packageName) => { // eslint-disable-next-line import/no-dynamic-require const packageJsonPath = require.resolve(`${packageName}/package.json`) // eslint-disable-next-line import/no-dynamic-require, global-require return require(packageJsonPath).version.match(/^\d+/)[0] } module.exports = { isBoolean, ensureTrailingSlash, canProcess, moduleExists, loaderMatches, packageMajorVersion }
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
shakapacker-8.2.0 | package/utils/helpers.js |
shakapacker-8.1.0 | package/utils/helpers.js |
shakapacker-8.0.2 | package/utils/helpers.js |