Sha256: 599fe986ec0f3d4e11db6c837b774e48f23e31b35389c65cb961ea1ec540a0a4
Contents?: true
Size: 1.57 KB
Versions: 29
Compression:
Stored size: 1.57 KB
Contents
const { resolve } = require('path') const { safeLoad } = require('js-yaml') const { readFileSync } = require('fs') const deepMerge = require('./utils/deep_merge') const { isArray, 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] if (isArray(app.extensions) && app.extensions.length) delete defaults.extensions if (isArray(app.static_assets_extensions) && app.static_assets_extensions.length) { delete defaults.static_assets_extensions } const config = deepMerge(defaults, app) config.outputPath = resolve(config.public_root_path, config.public_output_path) // Merge resolved_paths into additional_paths for backwards-compat config.additional_paths = config.additional_paths.concat(config.resolved_paths || []) // 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
29 entries across 29 versions & 7 rubygems