@devlander/expo-app-config
Version:
A package to help with deployment of expo applications for different environments
3 lines (2 loc) • 8.03 kB
JavaScript
import e from"path";function r(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function t(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(r){a(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function n(e){var r=function(e,r){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,r||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}(e,"string");return"symbol"==typeof r?r:String(r)}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function a(e,r,t){return(r=n(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}var i,c={splashFileName:"app-splash",iconFileName:"app-icon",adaptiveFileName:"app-adaptive-icon",faviconFileName:"favicon"};!function(e){e.production="production",e.staging="staging",e.development="development",e.local="local"}(i||(i={}));var s=function(e){switch(e){case i.development:return" Dev";case i.staging:return" Staging";case i.local:return" Local";default:return""}},l=function(e){switch(e){case i.development:return"development";case i.staging:return"staging";case i.local:return"local";default:return"production"}};function u(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function p(e){return p="function"==typeof Symbol&&"symbol"==o(Symbol.iterator)?function(e){return o(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":o(e)},p(e)}function f(e,r,t){return(r=function(e){var r=function(e,r){if("object"!=o(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==o(r)?r:String(r)}(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function m(e){return function(e){if(Array.isArray(e))return b(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return b(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?b(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}var g,v={exports:{}},y=String,d=function(){return{isColorSupported:!1,reset:y,bold:y,dim:y,italic:y,underline:y,inverse:y,hidden:y,strikethrough:y,black:y,red:y,green:y,yellow:y,blue:y,magenta:y,cyan:y,white:y,gray:y,bgBlack:y,bgRed:y,bgGreen:y,bgYellow:y,bgBlue:y,bgMagenta:y,bgCyan:y,bgWhite:y}};v.exports=d(),v.exports.createColors=d,(g=v.exports)&&g.__esModule&&Object.prototype.hasOwnProperty.call(g,"default")&&g.default;var h=function e(r,t){var n=function(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?u(Object(t),!0).forEach((function(r){f(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):u(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}({},r);return Object.keys(t).forEach((function(r){var o=t[r],a=n[r];Array.isArray(o)&&Array.isArray(a)?n[r]=[].concat(m(a),m(o)):"object"!==p(o)||null===o||Array.isArray(o)||"object"!==p(a)||Array.isArray(a)?n[r]=o:n[r]=e(a,o)})),n};function O(r){var t=r,n=(t=t.replace(/\/\//g,"/")).indexOf("/assets");-1!==n&&(t=t.substring(n)),t.startsWith("/assets")||(t="/assets/"+t);var o=process.cwd(),a=e.join(o,t),i="./"+e.relative(o,a).replace(/\\/g,"/");i=function(e){return e.replace(/\s+/g,"")}(i),i=function(e){return e.replace(/\n/g,"")}(i),i.includes("assets/assets")&&(i=i.replace("assets/assets","assets"));var c=i.split("/");if("assets"!==c[0]||"assets"===c[1])return"."===c[0]&&"assets"===c[1]?i:".."===c[0]&&"assets"===c[1]?"./"+i:O(i);i="./"+i}var j=function(e){return O(e)||e};function w(e){Object.keys(e).forEach((function(r){var t=e[r];"string"==typeof t&&t.includes("/assets")?e[r]=j(t):"object"!==o(t)||null===t||Array.isArray(t)||w(t)}))}var S=function(e,r){var t=r.splash.backgroundColor.light;return{image:e.splashImage,backgroundColor:t,resizeMode:"contain"}},P=function(e){return e.iconImage},N=function(e){return e.splash.backgroundColor.light},A=function(e,r){var n=r.envVariables,o=n.environment,a=function(e,r,t){try{r||(r="../assets/images"),t||(t=c);var n=require("path"),o=e.toLowerCase();return{splashImage:n.resolve("".concat(r,"/\n ").concat(o,"-").concat(t.splashFileName,".png")),iconImage:n.resolve("".concat(r,"/\n ").concat(o,"-").concat(t.iconFileName,".png")),adaptiveIconImage:n.resolve("".concat(r,"/\n ").concat(o,"-").concat(t.adaptiveFileName,".png")),faviconImage:n.resolve("".concat(r,"/").concat(o,"-").concat(t.faviconFileName,".png"))}}catch(r){throw new Error("Error getting images for environment: ".concat(e))}}(o,r.imagesPath),i=function(e,r){if(!r)throw new Error("Path for colors is not defined");var n=require("path"),o=n.resolve("".concat(r,"/").concat(e,".colors.json")),a=n.resolve("".concat(r,"/shared.colors.json"));try{var i=require("fs"),c=i.readFileSync(o,"utf8"),s=i.readFileSync(a,"utf8");return t(t({},JSON.parse(s)),JSON.parse(c))}catch(e){throw new Error("Error reading color files: ".concat(e))}}(o,r.colorsPath),u=function(e){var r=e.environmentName,t=e.title,n=e.appName,o=e.domainName;return(/[ `!@#$%^&*()_+\-=[\]{};':"\\|,.<>?~]/.test(o)||o.includes(" "))&&(o=o.replace(/[^a-zA-Z0-9]/g,"")),{name:"".concat(t).concat(s(r)),slug:o,identifier:"com.".concat(o,".").concat(n,"-").concat(r.toLowerCase()),shortName:"".concat(t).concat(s(r)).replace("The","").substring(0,12),scheme:l(r)}}({environmentName:o,title:r.title,appName:r.appName,domainName:r.domainName}),p=u.name,f=u.slug,m=u.shortName,b=u.scheme,g=u.identifier,v={name:p,slug:f,scheme:b,icon:P(a),expo:{splash:S(a,i),icon:P(a)},android:{package:g.replace(/-/g,"_"),backgroundColor:N(i),splash:S(a,i),adaptiveIcon:{foregroundImage:a.adaptiveIconImage},icon:P(a)},web:{backgroundColor:N(i),splash:S(a,i),shortName:m,favicon:a.faviconImage,themeColor:i.themeColor},ios:{backgroundColor:i.splash.backgroundColor.light,bundleIdentifier:g,splash:S(a,i),icon:P(a)},extra:{env:n,eas:{projectId:r.projectId}}};if(r&&r.versionsPath){var y=function(e,r){try{if(!r)throw new Error("Path for versions is not defined");var t=require("path"),n=require("fs"),o=t.resolve(r),a=n.readFileSync(o,"utf8"),i=JSON.parse(a),c=i[e];return c||(c=i.production),{android:{versionCode:c.android.versionCode},ios:{buildNumber:c.ios.buildNumber},app:{version:c.app.version}}}catch(r){throw new Error("Error getting versions for environment: ".concat(e," - ").concat(r.message))}}(o,r.versionsPath),d=y.ios,O=y.android,j=y.app,A=h(v.android,O);v.android=A;var I=h(v.ios,d);v.ios=I,v.version=j.version}var C=h(e,v);return w(C),C};export{i as EnvEumFromPackage,A as default};
//# sourceMappingURL=index.js.map