UNPKG

dev-toolkit

Version:

Universal Development Toolkit for React Veterans

43 lines (32 loc) 2.46 kB
"use strict"; 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;