Sha256: e7f252df9d5b8daa2766174e865364b984c57785093fee465bd93966a6d9e99f

Contents?: true

Size: 1012 Bytes

Versions: 9

Compression:

Stored size: 1012 Bytes

Contents

// Common configuration for webpacker loaded from config/webpacker.yml

const { join, resolve } = require('path')
const { env } = require('process')
const { safeLoad } = require('js-yaml')
const { readFileSync } = require('fs')

const configPath = resolve('config', 'webpacker.yml')
const loadersDir = join(__dirname, 'loaders')
const settings = safeLoad(readFileSync(configPath), 'utf8')[env.NODE_ENV]

function removeOuterSlashes(string) {
  return string.replace(/^\/*/, '').replace(/\/*$/, '')
}

function formatPublicPath(host = '', path = '') {
  let formattedHost = removeOuterSlashes(host)
  if (formattedHost && !/^http/i.test(formattedHost)) {
    formattedHost = `//${formattedHost}`
  }
  const formattedPath = removeOuterSlashes(path)
  return `${formattedHost}/${formattedPath}/`
}

const output = {
  path: resolve('public', settings.public_output_path),
  publicPath: formatPublicPath(env.ASSET_HOST, settings.public_output_path)
}

module.exports = {
  settings,
  env,
  loadersDir,
  output
}

Version data entries

9 entries across 9 versions & 4 rubygems

Version Path
mvpkit-2.0.2 project/config/webpack/configuration.js
mvpkit-2.0.1 project/config/webpack/configuration.js
mvpkit-2.0.0 project/config/webpack/configuration.js
railman-1.0.6 templates/rails_app/config/webpack/configuration.js
railman-1.0.5 templates/rails_app/config/webpack/configuration.js
webpacker-legacy-0.1.2 lib/install/config/webpack/configuration.js
webpacker-legacy-0.1.1 lib/install/config/webpack/configuration.js
webpacker-legacy-0.1.0 lib/install/config/webpack/configuration.js
webpacker-2.0 lib/install/config/webpack/configuration.js