Sha256: f392a7999213d5c67003e2c485223bec69cf461b8b8c2ba3ec0dcde627286b63

Contents?: true

Size: 1.19 KB

Versions: 12

Compression:

Stored size: 1.19 KB

Contents

const { resolve } = require('path')
const { safeLoad } = require('js-yaml')
const { readFileSync } = require('fs')
const { merge } = require('webpack-merge')
const { ensureTrailingSlash } = require('./utils/helpers')
const { railsEnv } = require('./env')
const configPath = require('./configPath')

const defaultConfigPath = require.resolve('../lib/install/config/webpacker.yml')

const getDefaultConfig = () => {
  const defaultConfig = safeLoad(readFileSync(defaultConfigPath), 'utf8')
  return defaultConfig[railsEnv] || defaultConfig.production
}

const defaults = getDefaultConfig()
const app = safeLoad(readFileSync(configPath), 'utf8')[railsEnv]

const config = merge(defaults, app)
config.outputPath = resolve(config.public_root_path, config.public_output_path)

// Ensure that the publicPath includes our asset host so dynamic imports
// (code-splitting chunks and static assets) load from the CDN instead of a relative path.
const getPublicPath = () => {
  const rootUrl = ensureTrailingSlash(process.env.WEBPACKER_ASSET_HOST || '/')
  return `${rootUrl}${config.public_output_path}/`
}

config.publicPath = getPublicPath()
config.publicPathWithoutCDN = `/${config.public_output_path}/`

module.exports = config

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
webpacker-6.0.0.rc.2 package/config.js
webpacker-6.0.0.rc.1 package/config.js
webpacker-6.0.0.beta.7 package/config.js
webpacker-6.0.0.beta.6 package/config.js
webpacker-6.0.0.beta.5 package/config.js
webpacker-6.0.0.beta.4 package/config.js
webpacker-6.0.0.beta.3 package/config.js
webpacker-6.0.0.beta.2 package/config.js
webpacker-6.0.0.beta.1 package/config.js
webpacker-6.0.0.beta package/config.js
webpacker-6.0.0.pre.2 package/config.js
webpacker-6.0.0.pre.1 package/config.js