dev-toolkit
Version:
Universal Development Toolkit for React Veterans
43 lines (32 loc) • 2.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isClient = exports.isServer = exports.isTest = exports.isDev = exports.isProd = exports.usePreRender = exports.sharedEnvs = exports.creatingBuild = void 0;
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
/* eslint-disable no-undef, no-underscore-dangle */
// Shared settings between client and server.
//
// A global handed over by a webpack plugin allows us to retrieve environment variables.
// eslint-disable-next-line no-undef
var creatingBuild = (typeof devToolkitSettings === "undefined" ? "undefined" : _typeof(devToolkitSettings)) !== (typeof undefined === "undefined" ? "undefined" : _typeof(undefined)); // Warn if the initial node-command wasn't spawned via the `dev-toolkit`-cli
exports.creatingBuild = creatingBuild;
if (!creatingBuild && _typeof(global.__devToolkitSettings) === (typeof undefined === "undefined" ? "undefined" : _typeof(undefined))) {
console.log('\n⚠️ Could not get shared dev-toolkit settings. Are you using the `dev-toolkit`-cli?\n');
} // Get Settings via Node global
var devToolkitSettingsServer = !creatingBuild && global.__devToolkitSettings; // If we're not creating a build, we're server-rendering the client app.
// Therefore we'll want to use `process.env` instead of the build settings.
var sharedEnvs = creatingBuild ? devToolkitSettings.sharedEnvs : devToolkitSettingsServer.sharedEnvs; // Make usePreRender setting available
exports.sharedEnvs = sharedEnvs;
var usePreRender = creatingBuild ? devToolkitSettings.usePreRender : devToolkitSettingsServer.usePreRender; // Assign booleans for each environment we might be in
exports.usePreRender = usePreRender;
var isProd = sharedEnvs.NODE_ENV === 'production';
exports.isProd = isProd;
var isDev = sharedEnvs.NODE_ENV === 'development';
exports.isDev = isDev;
var isTest = sharedEnvs.NODE_ENV === 'test'; // Detect whether the client-app is being rendered on the client or on the server
exports.isTest = isTest;
var isServer = !creatingBuild && sharedEnvs.NODE_ENV !== 'test';
exports.isServer = isServer;
var isClient = !isServer;
exports.isClient = isClient;