nx-react-native-cli 1.0.19 → 1.0.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.cjs CHANGED
@@ -61,7 +61,7 @@ ${m.description}`:"";return`${[a,v,b].filter(Boolean).join(" ")}
61
61
  ${g}${k}${E}${P2.default.cursorHide}`});var x1=q(require("node:readline"),1),B=q(o1(),1),xl=q(l1(),1),d1=q(Na(),1),D1=q(ht(),1),f1={set:(e,r="",t)=>{let n=e;r.split(".").forEach((i,u,o)=>{i==="__proto__"||i==="constructor"||(u===o.length-1?n[i]=t:i in n||(n[i]={}),n=n[i])})},get:(e,r="",t)=>{let n=u=>String.prototype.split.call(r,u).filter(Boolean).reduce((o,a)=>o!=null?o[a]:o,e),i=n(/[,[\]]+?/)||n(/[,.[\]]+?/);return i===void 0||i===e?t:i}};function ll(e,r,t){if(r in e){let n=e[r];if(typeof n=="function")return(0,B.from)((0,xl.default)(n)(t).then(i=>Object.assign(e,{[r]:i})))}return(0,B.of)(e)}var fl=class extends Error{isTtyError=!0};function dS(e={}){e.skipTTYChecks=e.skipTTYChecks===void 0?!0:e.skipTTYChecks;let r=e.input||process.stdin;if(!e.skipTTYChecks&&!r.isTTY)throw new fl("Prompts can not be meaningfully rendered in non-TTY environments");let t=new d1.default;return t.pipe(e.output||process.stdout),{terminal:!0,...e,input:r,output:t}}function DS(e){return Object.values(e).every(r=>typeof r=="object"&&!Array.isArray(r)&&r!=null)}function hS(e){return e.prototype&&"run"in e.prototype&&typeof e.prototype.run=="function"}var ln=class{prompts;answers={};process=B.EMPTY;onClose;opt;rl;constructor(r,t){this.opt=t,this.prompts=r}run(r,t){this.answers=typeof t=="object"?{...t}:{};let n;Array.isArray(r)?n=(0,B.from)(r):(0,B.isObservable)(r)?n=r:DS(r)?n=(0,B.from)(Object.entries(r).map(([u,o])=>Object.assign({},o,{name:u}))):n=(0,B.from)([r]),this.process=n.pipe((0,B.concatMap)(u=>this.processQuestion(u)));let i=(0,B.lastValueFrom)(this.process.pipe((0,B.reduce)((u,o)=>(f1.set(u,o.name,o.answer),u),this.answers))).then(()=>this.onCompletion(),u=>this.onError(u));return Object.assign(i,{ui:this})}onCompletion(){return this.close(),this.answers}onError(r){return this.close(),Promise.reject(r)}processQuestion(r){return r={...r},(0,B.defer)(()=>(0,B.of)(r).pipe((0,B.concatMap)(this.setDefaultType),(0,B.concatMap)(this.filterIfRunnable),(0,B.concatMap)(n=>ll(n,"message",this.answers)),(0,B.concatMap)(n=>ll(n,"default",this.answers)),(0,B.concatMap)(n=>ll(n,"choices",this.answers)),(0,B.concatMap)(n=>("choices"in n&&(n.choices=n.choices.map(i=>typeof i=="string"?{name:i,value:i}:i)),(0,B.of)(n))),(0,B.concatMap)(n=>this.fetchAnswer(n))))}fetchAnswer(r){let t=this.prompts[r.type];if(t==null)throw new Error(`Prompt for type ${r.type} not found`);return hS(t)?(0,B.defer)(()=>{let n=x1.default.createInterface(dS(this.opt));n.resume();let i=()=>{n.removeListener("SIGINT",this.onForceClose),n.setPrompt(""),n.output.unmute(),n.output.write(D1.default.cursorShow),n.output.end(),n.close()};this.onClose=i,this.rl=n,process.on("exit",this.onForceClose),n.on("SIGINT",this.onForceClose);let u=new t(r,n,this.answers);return(0,B.from)(u.run().then(o=>(i(),this.onClose=void 0,this.rl=void 0,{name:r.name,answer:o})))}):(0,B.defer)(()=>(0,B.from)(t(r,this.opt).then(n=>({name:r.name,answer:n}))))}onForceClose=()=>{this.close(),process.kill(process.pid,"SIGINT"),console.log("")};close=()=>{process.removeListener("exit",this.onForceClose),typeof this.onClose=="function"&&this.onClose()};setDefaultType=r=>(this.prompts[r.type]||(r.type="input"),(0,B.defer)(()=>(0,B.of)(r)));filterIfRunnable=r=>{if(r.askAnswered!==!0&&f1.get(this.answers,r.name)!==void 0)return B.EMPTY;let{when:t}=r;return t===!1?B.EMPTY:typeof t!="function"?(0,B.of)(r):(0,B.defer)(()=>(0,B.from)((0,xl.default)(t)(this.answers).then(n=>{if(n)return r})).pipe((0,B.filter)(n=>n!=null)))}};var h1={input:$s,select:Ui,list:Ui,number:Vs,confirm:Us,rawlist:Ks,expand:Gs,checkbox:Qa,password:Ys,editor:Ns};function p1(e){function r(t,n){let i=new ln(r.prompts,e);try{return i.run(t,n)}catch(u){let o=Promise.reject(u);return Object.assign(o,{ui:i})}}return r.prompts={...h1},r.registerPrompt=function(t,n){return r.prompts[t]=n,this},r.restoreDefaultPrompts=function(){r.prompts={...h1}},r}var dl=p1();function pS(e,r){dl.registerPrompt(e,r)}function mS(){dl.restoreDefaultPrompts()}var vS={prompt:dl,ui:{Prompt:ln},createPromptModule:p1,registerPrompt:pS,restoreDefaultPrompts:mS,Separator:ue},m1=vS;var Xn=q(require("node:process"),1);var ml=q(require("node:process"),1);var O1=q(require("node:process"),1),S1=q(F1(),1),B1=q(A1(),1),ES=(0,S1.default)(()=>{(0,B1.default)(()=>{O1.default.stderr.write("\x1B[?25h")},{alwaysLast:!0})}),q1=ES;var ia=!1,Dn={};Dn.show=(e=ml.default.stderr)=>{e.isTTY&&(ia=!1,e.write("\x1B[?25h"))};Dn.hide=(e=ml.default.stderr)=>{e.isTTY&&(q1(),ia=!0,e.write("\x1B[?25l"))};Dn.toggle=(e,r)=>{e!==void 0&&(ia=e),ia?Dn.show(r):Dn.hide(r)};var vl=Dn;var Zn=q(Di(),1);var ge=q(require("node:process"),1);function bl(){return ge.default.platform!=="win32"?ge.default.env.TERM!=="linux":!!ge.default.env.CI||!!ge.default.env.WT_SESSION||!!ge.default.env.TERMINUS_SUBLIME||ge.default.env.ConEmuTask==="{cmd::Cmder}"||ge.default.env.TERM_PROGRAM==="Terminus-Sublime"||ge.default.env.TERM_PROGRAM==="vscode"||ge.default.env.TERM==="xterm-256color"||ge.default.env.TERM==="alacritty"||ge.default.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var FS={info:ie.blue("\u2139"),success:ie.green("\u2714"),warning:ie.yellow("\u26A0"),error:ie.red("\u2716")},_S={info:ie.blue("i"),success:ie.green("\u221A"),warning:ie.yellow("\u203C"),error:ie.red("\xD7")},yS=bl()?FS:_S,Jn=yS;function El({onlyFirst:e=!1}={}){let r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(r,e?void 0:"g")}var gS=El();function Qn(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(gS,"")}function j1(e){return e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109}function P1(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function T1(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9800&&e<=9811||e===9855||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e===94192||e===94193||e>=94208&&e<=100343||e>=100352&&e<=101589||e>=101632&&e<=101640||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128727||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129672||e>=129680&&e<=129725||e>=129727&&e<=129733||e>=129742&&e<=129755||e>=129760&&e<=129768||e>=129776&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}function CS(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function M1(e,{ambiguousAsWide:r=!1}={}){return CS(e),P1(e)||T1(e)||r&&j1(e)?2:1}var R1=q(I1(),1),wS=new Intl.Segmenter,AS=/^\p{Default_Ignorable_Code_Point}$/u;function Fl(e,r={}){if(typeof e!="string"||e.length===0)return 0;let{ambiguousIsNarrow:t=!0,countAnsiEscapeCodes:n=!1}=r;if(n||(e=Qn(e)),e.length===0)return 0;let i=0,u={ambiguousAsWide:!t};for(let{segment:o}of wS.segment(e)){let a=o.codePointAt(0);if(!(a<=31||a>=127&&a<=159)&&!(a>=8203&&a<=8207||a===65279)&&!(a>=768&&a<=879||a>=6832&&a<=6911||a>=7616&&a<=7679||a>=8400&&a<=8447||a>=65056&&a<=65071)&&!(a>=55296&&a<=57343)&&!(a>=65024&&a<=65039)&&!AS.test(o)){if((0,R1.default)().test(o)){i+=2;continue}i+=M1(a,u)}}return i}function _l({stream:e=process.stdout}={}){return!!(e&&e.isTTY&&process.env.TERM!=="dumb"&&!("CI"in process.env))}var je=q(require("node:process"),1);function yl(){return je.default.platform!=="win32"?je.default.env.TERM!=="linux":!!je.default.env.WT_SESSION||!!je.default.env.TERMINUS_SUBLIME||je.default.env.ConEmuTask==="{cmd::Cmder}"||je.default.env.TERM_PROGRAM==="Terminus-Sublime"||je.default.env.TERM_PROGRAM==="vscode"||je.default.env.TERM==="xterm-256color"||je.default.env.TERM==="alacritty"||je.default.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var Pe=q(require("node:process"),1),OS=3,gl=class{#i=0;start(){this.#i++,this.#i===1&&this.#t()}stop(){if(this.#i<=0)throw new Error("`stop` called more times than `start`");this.#i--,this.#i===0&&this.#e()}#t(){Pe.default.platform==="win32"||!Pe.default.stdin.isTTY||(Pe.default.stdin.setRawMode(!0),Pe.default.stdin.on("data",this.#u),Pe.default.stdin.resume())}#e(){Pe.default.stdin.isTTY&&(Pe.default.stdin.off("data",this.#u),Pe.default.stdin.pause(),Pe.default.stdin.setRawMode(!1))}#u(r){r[0]===OS&&Pe.default.emit("SIGINT")}},SS=new gl,Cl=SS;var BS=q(Di(),1),wl=class{#i=0;#t=!1;#e=0;#u=0;#r;#o;#n;#x;#d;#c;#l;#f;#h;#a;#s;color;constructor(r){typeof r=="string"&&(r={text:r}),this.#r={color:"cyan",stream:Xn.default.stderr,discardStdin:!0,hideCursor:!0,...r},this.color=this.#r.color,this.spinner=this.#r.spinner,this.#d=this.#r.interval,this.#n=this.#r.stream,this.#c=typeof this.#r.isEnabled=="boolean"?this.#r.isEnabled:_l({stream:this.#n}),this.#l=typeof this.#r.isSilent=="boolean"?this.#r.isSilent:!1,this.text=this.#r.text,this.prefixText=this.#r.prefixText,this.suffixText=this.#r.suffixText,this.indent=this.#r.indent,Xn.default.env.NODE_ENV==="test"&&(this._stream=this.#n,this._isEnabled=this.#c,Object.defineProperty(this,"_linesToClear",{get(){return this.#i},set(t){this.#i=t}}),Object.defineProperty(this,"_frameIndex",{get(){return this.#u}}),Object.defineProperty(this,"_lineCount",{get(){return this.#e}}))}get indent(){return this.#f}set indent(r=0){if(!(r>=0&&Number.isInteger(r)))throw new Error("The `indent` option must be an integer from 0 and up");this.#f=r,this.#D()}get interval(){return this.#d??this.#o.interval??100}get spinner(){return this.#o}set spinner(r){if(this.#u=0,this.#d=void 0,typeof r=="object"){if(r.frames===void 0)throw new Error("The given spinner must have a `frames` property");this.#o=r}else if(!yl())this.#o=Zn.default.line;else if(r===void 0)this.#o=Zn.default.dots;else if(r!=="default"&&Zn.default[r])this.#o=Zn.default[r];else throw new Error(`There is no built-in spinner named '${r}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`)}get text(){return this.#h}set text(r=""){this.#h=r,this.#D()}get prefixText(){return this.#a}set prefixText(r=""){this.#a=r,this.#D()}get suffixText(){return this.#s}set suffixText(r=""){this.#s=r,this.#D()}get isSpinning(){return this.#x!==void 0}#p(r=this.#a,t=" "){return typeof r=="string"&&r!==""?r+t:typeof r=="function"?r()+t:""}#m(r=this.#s,t=" "){return typeof r=="string"&&r!==""?t+r:typeof r=="function"?t+r():""}#D(){let r=this.#n.columns??80,t=this.#p(this.#a,"-"),n=this.#m(this.#s,"-"),i=" ".repeat(this.#f)+t+"--"+this.#h+"--"+n;this.#e=0;for(let u of Qn(i).split(`
62
62
  `))this.#e+=Math.max(1,Math.ceil(Fl(u,{countAnsiEscapeCodes:!0})/r))}get isEnabled(){return this.#c&&!this.#l}set isEnabled(r){if(typeof r!="boolean")throw new TypeError("The `isEnabled` option must be a boolean");this.#c=r}get isSilent(){return this.#l}set isSilent(r){if(typeof r!="boolean")throw new TypeError("The `isSilent` option must be a boolean");this.#l=r}frame(){let{frames:r}=this.#o,t=r[this.#u];this.color&&(t=ie[this.color](t)),this.#u=++this.#u%r.length;let n=typeof this.#a=="string"&&this.#a!==""?this.#a+" ":"",i=typeof this.text=="string"?" "+this.text:"",u=typeof this.#s=="string"&&this.#s!==""?" "+this.#s:"";return n+t+i+u}clear(){if(!this.#c||!this.#n.isTTY)return this;this.#n.cursorTo(0);for(let r=0;r<this.#i;r++)r>0&&this.#n.moveCursor(0,-1),this.#n.clearLine(1);return(this.#f||this.lastIndent!==this.#f)&&this.#n.cursorTo(this.#f),this.lastIndent=this.#f,this.#i=0,this}render(){return this.#l?this:(this.clear(),this.#n.write(this.frame()),this.#i=this.#e,this)}start(r){return r&&(this.text=r),this.#l?this:this.#c?this.isSpinning?this:(this.#r.hideCursor&&vl.hide(this.#n),this.#r.discardStdin&&Xn.default.stdin.isTTY&&(this.#t=!0,Cl.start()),this.render(),this.#x=setInterval(this.render.bind(this),this.interval),this):(this.text&&this.#n.write(`- ${this.text}
63
63
  `),this)}stop(){return this.#c?(clearInterval(this.#x),this.#x=void 0,this.#u=0,this.clear(),this.#r.hideCursor&&vl.show(this.#n),this.#r.discardStdin&&Xn.default.stdin.isTTY&&this.#t&&(Cl.stop(),this.#t=!1),this):this}succeed(r){return this.stopAndPersist({symbol:Jn.success,text:r})}fail(r){return this.stopAndPersist({symbol:Jn.error,text:r})}warn(r){return this.stopAndPersist({symbol:Jn.warning,text:r})}info(r){return this.stopAndPersist({symbol:Jn.info,text:r})}stopAndPersist(r={}){if(this.#l)return this;let t=r.prefixText??this.#a,n=this.#p(t," "),i=r.symbol??" ",u=r.text??this.text,o=typeof u=="string"?" "+u:"",a=r.suffixText??this.#s,s=this.#m(a," "),c=n+i+o+s+`
64
- `;return this.stop(),this.#n.write(c),this}};function ei(e){return new wl(e)}var L1=require("child_process"),rt=q(require("fs"),1),ua=q(require("path"),1);function N1(){return __dirname}var tt=(e,r)=>{(0,L1.execSync)(`cd ${e} && ${r}`,{stdio:"inherit"})},Te=(e,r)=>{let t=ua.default.join(N1(),`../templates/${r}`);rt.default.copyFile(t,e,n=>{if(n){console.error(`Error copying file: ${n.message}`);return}})},oa=(e,r)=>{let t=ua.default.join(N1(),`../templates/${r}`);rt.default.cpSync(t,e,{recursive:!0},n=>{if(n){console.error(`Error copying file: ${n.message}`);return}})},U1=e=>{rt.default.rmSync(e,{recursive:!0,force:!0},r=>{if(r){console.error(`Error removing directory: ${r.message}`);return}})},Al=e=>{rt.default.rmSync(e,{recursive:!0,force:!0},r=>{if(r){console.error(`Error removing file: ${r.message}`);return}})},$1=e=>{let r={android:"npx nx run-android mobile --skip-nx-cache","android:connect":"cd apps/mobile && npm run android:connect","check-env:mobile":"./check-env.sh apps/mobile/.env apps/mobile/.env.template",clean:"./clean-generated-outputs.sh","create-env":"printenv > ","lint:all":"npx nx run-many -t lint -p mobile --parallel=1 --skip-nx-cache","lint:mobile":"npx nx run mobile:lint --skip-nx-cache","mobile-android":"cd apps/mobile && npm run run-android","mobile-ios":"cd apps/mobile && npm run run-ios",prepare:"husky install","serve:mobile":"cd apps/mobile && npm start","serve:all":"npx nx run-many -t serve -p mobile --parallel=1 --skip-nx-cache",xcode:"cd apps/mobile && npm run xcode","touch-xcode":"cd apps/mobile && npm run touch-xcode","setup-fastlane":"cd apps/mobile && npm run setup-fastlane","deploy-android:dev":"cd apps/mobile && npm run deploy-android:dev","deploy-ios:dev":"cd apps/mobile && npm run deploy-ios:dev","ios-certificates":"cd apps/mobile && npm run ios-certificates"},t={"react-native":"0.74.5"},n=ua.default.join(e,"package.json"),i=JSON.parse(rt.default.readFileSync(n,"utf8"));i.scripts={...i.scripts,...r},i.dependencies={...i.dependencies,...t},rt.default.writeFileSync(n,JSON.stringify(i,null,2))};oi.name("React Native Starter with NX").description("A starter script to create a new React Native project with NX").version("1.0.18");oi.command("create [workspace_name]").description("create nx workspace with react-native").option("--fresh","Create a fresh project without copying template files").action(async(e,r)=>{e||(e=(await m1.prompt([{type:"input",name:"workspace_name",message:"Enter the workspace name"}])).workspace_name);let t=r.fresh||!1,n=process.cwd(),i=`${n}/${e}`,u=`${i}/apps/mobile`;console.log(ie.green(`Creating Nx workspace in ./${e}!`));let o=ei().start("Creating Nx workspace");(0,V1.execSync)(`cd ${n} && npx create-nx-workspace@19.4.4 --preset apps --workspaceType integrated --name ${e} --nxCloud skip`,{stdio:"inherit"}),o.succeed("Nx workspace created");let a=ei().start("Adding React Native");tt(i,"npm i -D @nx/react-native@19.4.4 --ignore-scripts",{stdio:"inherit"}),tt(i,"npx nx g @nx/react-native:app apps/mobile --bundler vite --install false --skip-nx-cache",{stdio:"inherit"}),tt(i,"npm install --save-dev react-native-dotenv husky prettier@3.3.2 @typescript-eslint/parser@6.21.0 eslint-config-airbnb-typescript@17.1.0 eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-react-perf eslint-plugin-sonarjs@0.25.1 @tanstack/eslint-plugin-query eslint-plugin-tailwindcss eslint-config-prettier @typescript-eslint/eslint-plugin@6.13.2 eslint-plugin-import eslint-plugin-sort-destructure-keys eslint-plugin-sort-keys-fix eslint-plugin-prettier prettier-plugin-tailwindcss eslint-import-resolver-typescript @swc-node/register@~1.8.0",{stdio:"inherit"}),tt(i,"npm install tailwindcss twrnc react-native-keyboard-aware-scroll-view react-native-safe-area-context @react-navigation/core @react-navigation/native @react-navigation/native-stack @react-navigation/routers @react-navigation/stack react-native-gesture-handler react-native-screens react-native-reanimated dayjs zustand jotai @tanstack/query-core @tanstack/query-sync-storage-persister @tanstack/react-query @tanstack/react-query-persist-client axios jotai-optics lodash react-hook-form react-native-fast-image react-native-get-random-values react-native-simple-toast react-native-url-polyfill zod zod-validation-error @react-native-async-storage/async-storage @react-native-community/hooks @gorhom/bottom-sheet @hookform/resolvers @react-native-community/datetimepicker @react-navigation/material-top-tabs @tanstack/query-async-storage-persister babel-plugin-module-resolver react-native-dotenv react-native-mmkv@^2.12.2 react-native-modal-datetime-picker react-native-pager-view react-native-modal react-native-svg-transformer react-native-url-polyfill uuid @shopify/react-native-skia lottie-react-native react-native-haptic-feedback",{stdio:"inherit"}),a.succeed("React Native added");let s=ei().start("Adding files");oa(`${i}/.vscode`,".vscode"),oa(`${i}/.husky`,".husky"),Te(`${i}/.prettierrc`,".prettierrc"),Te(`${i}/.prettierignore`,".prettierignore"),Te(`${i}/.eslintrc.json`,".eslintrc.json"),Te(`${i}/.eslintrc.json`,".eslintrc.json"),Te(`${i}/.gitignore`,".ignorefile"),Te(`${i}/.ruby-version`,".ruby-version"),Te(`${i}/.nvmrc`,".nvmrc"),Te(`${i}/check-env.sh`,"check-env.sh"),Te(`${i}/clean-generated-outputs.sh`,"clean-generated-outputs.sh"),t||(U1(`${i}/apps/mobile/src`),Al(`${i}/apps/mobile/.vite.config.ts`),Al(`${i}/apps/mobile/.babelrc.js`),oa(`${i}/apps`,"apps")),Te(`${i}/apps/mobile/.gitignore`,".ignorefile"),tt(i,`keytool -genkey -keystore ${i}/apps/mobile/android/app/dev.keystore -keyalg RSA -keysize 2048 -validity 10000 -alias dev -dname "cn=Unknown, ou=Unknown, o=Unknown, c=Unknown" -storepass development -keypass development`,{stdio:"inherit"}),$1(i),s.succeed("Files added"),tt(u,"npx react-native-asset",{stdio:"inherit"}),console.log(ie.green("Project created successfully!")),console.log(ie.blue("Next Steps? Rename your app using https://www.npmjs.com/package/react-native-rename")),console.log(ie.blue("Don't forget to wide search for 'AppsMobile' and replace it with your app name")),console.log(ie.blue("Run `npm run serve:mobile` to start the project! Happy coding!"))});oi.parse(process.argv);
64
+ `;return this.stop(),this.#n.write(c),this}};function ei(e){return new wl(e)}var L1=require("child_process"),rt=q(require("fs"),1),ua=q(require("path"),1);function N1(){return __dirname}var tt=(e,r)=>{(0,L1.execSync)(`cd ${e} && ${r}`,{stdio:"inherit"})},Te=(e,r)=>{let t=ua.default.join(N1(),`../templates/${r}`);rt.default.copyFile(t,e,n=>{if(n){console.error(`Error copying file: ${n.message}`);return}})},oa=(e,r)=>{let t=ua.default.join(N1(),`../templates/${r}`);rt.default.cpSync(t,e,{recursive:!0},n=>{if(n){console.error(`Error copying file: ${n.message}`);return}})},U1=e=>{rt.default.rmSync(e,{recursive:!0,force:!0},r=>{if(r){console.error(`Error removing directory: ${r.message}`);return}})},Al=e=>{rt.default.rmSync(e,{recursive:!0,force:!0},r=>{if(r){console.error(`Error removing file: ${r.message}`);return}})},$1=e=>{let r={android:"npx nx run-android mobile --skip-nx-cache","android:connect":"cd apps/mobile && npm run android:connect","check-env:mobile":"./check-env.sh apps/mobile/.env apps/mobile/.env.template",clean:"./clean-generated-outputs.sh","create-env":"printenv > ","lint:all":"npx nx run-many -t lint -p mobile --parallel=1 --skip-nx-cache","lint:mobile":"npx nx run mobile:lint --skip-nx-cache","mobile-android":"cd apps/mobile && npm run run-android","mobile-ios":"cd apps/mobile && npm run run-ios",prepare:"husky install","serve:mobile":"cd apps/mobile && npm start","serve:all":"npx nx run-many -t serve -p mobile --parallel=1 --skip-nx-cache",xcode:"cd apps/mobile && npm run xcode","touch-xcode":"cd apps/mobile && npm run touch-xcode","setup-fastlane":"cd apps/mobile && npm run setup-fastlane","deploy-android:dev":"cd apps/mobile && npm run deploy-android:dev","deploy-ios:dev":"cd apps/mobile && npm run deploy-ios:dev","ios-certificates":"cd apps/mobile && npm run ios-certificates"},t={"react-native":"0.74.5"},n=ua.default.join(e,"package.json"),i=JSON.parse(rt.default.readFileSync(n,"utf8"));i.scripts={...i.scripts,...r},i.dependencies={...i.dependencies,...t},rt.default.writeFileSync(n,JSON.stringify(i,null,2))};oi.name("React Native Starter with NX").description("A starter script to create a new React Native project with NX").version("1.0.18");oi.command("create [workspace_name]").description("create nx workspace with react-native").option("--fresh","Create a fresh project without copying template files").action(async(e,r)=>{e||(e=(await m1.prompt([{type:"input",name:"workspace_name",message:"Enter the workspace name"}])).workspace_name);let t=r.fresh||!1,n=process.cwd(),i=`${n}/${e}`,u=`${i}/apps/mobile`;console.log(ie.green(`Creating Nx workspace in ./${e}!`));let o=ei().start("Creating Nx workspace");(0,V1.execSync)(`cd ${n} && npx create-nx-workspace@19.4.4 --preset apps --workspaceType integrated --name ${e} --nxCloud skip`,{stdio:"inherit"}),o.succeed("Nx workspace created");let a=ei().start("Adding React Native");tt(i,"npm i -D @nx/react-native@19.4.4 --ignore-scripts",{stdio:"inherit"}),tt(i,"npx nx g @nx/react-native:app apps/mobile --bundler vite --install false --skip-nx-cache",{stdio:"inherit"}),tt(i,"npm install --save-dev react-native-dotenv husky prettier@3.3.2 @typescript-eslint/parser@6.21.0 eslint-config-airbnb-typescript@17.1.0 eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-react-perf eslint-plugin-sonarjs@0.25.1 @tanstack/eslint-plugin-query eslint-plugin-tailwindcss eslint-config-prettier @typescript-eslint/eslint-plugin@6.13.2 eslint-plugin-import eslint-plugin-sort-destructure-keys eslint-plugin-sort-keys-fix eslint-plugin-prettier prettier-plugin-tailwindcss eslint-import-resolver-typescript @swc-node/register@~1.8.0",{stdio:"inherit"}),tt(i,"npm install tailwindcss twrnc react-native-keyboard-aware-scroll-view react-native-safe-area-context @react-navigation/core @react-navigation/native @react-navigation/native-stack @react-navigation/routers @react-navigation/stack react-native-gesture-handler react-native-screens react-native-reanimated dayjs zustand jotai @tanstack/query-core @tanstack/query-sync-storage-persister @tanstack/react-query @tanstack/react-query-persist-client axios jotai-optics lodash react-hook-form react-native-fast-image react-native-get-random-values react-native-simple-toast react-native-url-polyfill zod zod-validation-error @react-native-async-storage/async-storage @react-native-community/hooks @gorhom/bottom-sheet @hookform/resolvers @react-native-community/datetimepicker @react-navigation/material-top-tabs @tanstack/query-async-storage-persister babel-plugin-module-resolver react-native-dotenv react-native-mmkv@^2.12.2 react-native-modal-datetime-picker react-native-pager-view react-native-modal react-native-svg-transformer react-native-url-polyfill uuid @shopify/react-native-skia@1.3.13 lottie-react-native@^6.7.2 react-native-haptic-feedback",{stdio:"inherit"}),a.succeed("React Native added");let s=ei().start("Adding files");oa(`${i}/.vscode`,".vscode"),oa(`${i}/.husky`,".husky"),Te(`${i}/.prettierrc`,".prettierrc"),Te(`${i}/.prettierignore`,".prettierignore"),Te(`${i}/.eslintrc.json`,".eslintrc.json"),Te(`${i}/.eslintrc.json`,".eslintrc.json"),Te(`${i}/.gitignore`,".ignorefile"),Te(`${i}/.ruby-version`,".ruby-version"),Te(`${i}/.nvmrc`,".nvmrc"),Te(`${i}/check-env.sh`,"check-env.sh"),Te(`${i}/clean-generated-outputs.sh`,"clean-generated-outputs.sh"),t||(U1(`${i}/apps/mobile/src`),Al(`${i}/apps/mobile/.vite.config.ts`),Al(`${i}/apps/mobile/.babelrc.js`),oa(`${i}/apps`,"apps")),Te(`${i}/apps/mobile/.gitignore`,".ignorefile"),tt(i,`keytool -genkey -keystore ${i}/apps/mobile/android/app/dev.keystore -keyalg RSA -keysize 2048 -validity 10000 -alias dev -dname "cn=Unknown, ou=Unknown, o=Unknown, c=Unknown" -storepass development -keypass development`,{stdio:"inherit"}),$1(i),s.succeed("Files added"),tt(u,"npx react-native-asset",{stdio:"inherit"}),console.log(ie.green("Project created successfully!")),console.log(ie.blue("Next Steps? Rename your app using https://www.npmjs.com/package/react-native-rename")),console.log(ie.blue("Don't forget to wide search for 'AppsMobile' and replace it with your app name")),console.log(ie.blue("Run `npm run serve:mobile` to start the project! Happy coding!"))});oi.parse(process.argv);
65
65
  /*! Bundled license information:
66
66
 
67
67
  tmp/lib/tmp.js:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nx-react-native-cli",
3
- "version": "1.0.19",
3
+ "version": "1.0.20",
4
4
  "description": "A react native starter (with NX) cli script",
5
5
  "type": "module",
6
6
  "files": [
@@ -15,7 +15,8 @@
15
15
  "tailwind.config.js",
16
16
  "test-setup.ts",
17
17
  "tsconfig.json",
18
- "tsconfig.spec.json"
18
+ "tsconfig.spec.json",
19
+ "vite.config.ts"
19
20
  ],
20
21
  "overrides": [
21
22
  {
@@ -42,13 +42,13 @@ const AnimatedKeyboardAwareScrollView = Animated.createAnimatedComponent(Keyboar
42
42
  export function ScreenContainer(props: Props) {
43
43
  const {
44
44
  children,
45
- scrollViewRef,
46
45
  containerStyle,
47
46
  excludedEdges = [],
48
47
  extraBottomPadding = 0,
49
48
  hasScroll = true,
50
49
  onScroll,
51
50
  refreshControl,
51
+ scrollViewRef,
52
52
  shouldBeTranslucent = false,
53
53
  shouldShowStatusBar = true,
54
54
  statusBarColor = 'transparent',
@@ -84,7 +84,7 @@ export function ScreenContainer(props: Props) {
84
84
  <SafeAreaView edges={edges} style={[tw`flex-1 bg-gray-50 dark:bg-gray-900`, style]}>
85
85
  {hasScroll ? (
86
86
  <AnimatedKeyboardAwareScrollView
87
- scrollViewRef={scrollViewRef}
87
+ ref={scrollViewRef}
88
88
  contentContainerStyle={defaultContainerStyle}
89
89
  enableResetScrollToCoords={false}
90
90
  keyboardShouldPersistTaps="handled"
@@ -1,4 +1,3 @@
1
1
  export * from './axios.util';
2
2
  export * from './log.util';
3
3
  export * from './route.util';
4
-
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable max-params */
2
2
  /* eslint-disable @typescript-eslint/no-explicit-any */
3
- import { CommonActions, NavigationState, ParamListBase, Route } from '@react-navigation/native';
3
+ import { CommonActions, NavigationState, ParamListBase } from '@react-navigation/native';
4
4
 
5
5
  export function getPreviousRouteName(navigationState: NavigationState<ParamListBase>) {
6
6
  const routes = navigationState.routes;
@@ -14,7 +14,7 @@ module.exports = {
14
14
  ],
15
15
  theme: {
16
16
  fontFamily: {
17
- sans: ['Roboto'],
17
+ sans: ['Inter 18pt'],
18
18
  },
19
19
  extend: {
20
20
  flex: {