Sha256: df611631488b60e2bf0fc7e0ba94ee3e21112d91beb3a86b1bc1e0855676353e
Contents?: true
Size: 1.4 KB
Versions: 4
Compression:
Stored size: 1.4 KB
Contents
const { load } = require("js-yaml") const { readFileSync } = require("fs") const defaultConfigPath = require("./utils/defaultConfigPath") const NODE_ENVIRONMENTS = ["development", "production", "test"] const DEFAULT = "production" const configPath = require("./utils/configPath") const railsEnv = process.env.RAILS_ENV const rawNodeEnv = process.env.NODE_ENV const nodeEnv = rawNodeEnv && NODE_ENVIRONMENTS.includes(rawNodeEnv) ? rawNodeEnv : DEFAULT const isProduction = nodeEnv === "production" const isDevelopment = nodeEnv === "development" let config try { config = load(readFileSync(configPath), "utf8") } catch (error) { if (error.code === "ENOENT") { // File not found, use default configuration config = load(readFileSync(defaultConfigPath), "utf8") } else { throw error } } const availableEnvironments = Object.keys(config).join("|") const regex = new RegExp(`^(${availableEnvironments})$`, "g") const runningWebpackDevServer = process.env.WEBPACK_SERVE === "true" const validatedRailsEnv = railsEnv && railsEnv.match(regex) ? railsEnv : DEFAULT if (railsEnv && validatedRailsEnv !== railsEnv) { /* eslint no-console:0 */ console.warn( `Warning: '${railsEnv}' environment not found in the configuration. Using '${DEFAULT}' configuration as a fallback.` ) } module.exports = { railsEnv: validatedRailsEnv, nodeEnv, isProduction, isDevelopment, runningWebpackDevServer }
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
shakapacker-8.2.0 | package/env.js |
shakapacker-8.1.0 | package/env.js |
shakapacker-8.0.2 | package/env.js |
shakapacker-8.0.1 | package/env.js |