Sha256: 6a6f7b5fa904861ec41a77ddabd9c4559dc473056bf9e1b94643fab106a6bda6

Contents?: true

Size: 817 Bytes

Versions: 2

Compression:

Stored size: 817 Bytes

Contents

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

const configPath = resolve('config', 'webpacker.yml')
const DEFAULT_ENV = 'production'

const env = () => {
  const nodeEnv = process.env.NODE_ENV
  const railsEnv = process.env.RAILS_ENV
  const config = safeLoad(readFileSync(configPath), 'utf8')
  const availableEnvironments = Object.keys(config).join('|')
  const regex = new RegExp(availableEnvironments, 'g')

  if (nodeEnv && nodeEnv.match(regex)) return nodeEnv
  if (railsEnv && railsEnv.match(regex)) return railsEnv

  /* eslint no-console: 0 */
  console.warn(`NODE_ENV=${nodeEnv} and RAILS_ENV=${railsEnv} environment is not defined in config/webpacker.yml, falling back to ${DEFAULT_ENV}`)
  return DEFAULT_ENV
}

module.exports = env()

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
webpacker-3.3.1 package/env.js
webpacker-3.3.0 package/env.js