UNPKG

2.61 kBSource Map (JSON)View Raw
1{"version":3,"sources":["update.js"],"names":["current","version","UpdateCacher","getAsync","latest","latestVersion","state","compare","Error","checkForUpdateAsync","Cacher","name","result","stdout","trim"],"mappings":";;;;;;;;;;;;;;;;;;;6IAqBA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAKQA,mBALR,GAKkB,sCAAYC,OAL9B;;AAOE;;AAPF;AAAA,mBAQ0CC,aAAaC,QAAb,EAR1C;;AAAA;AAAA;AAQyBC,kBARzB,SAQUC,aARV;AAUMC,iBAVN;AAAA,2BAWU,oCAAOC,OAAP,CAAeP,OAAf,EAAwBI,MAAxB,CAXV;AAAA,8CAYS,CAAC,CAZV,wBAgBS,CAhBT,yBAoBS,CApBT;AAAA;;AAAA;AAaME,oBAAQ,aAAR;AAbN;;AAAA;AAiBMA,oBAAQ,YAAR;AAjBN;;AAAA;AAqBMA,oBAAQ,oBAAR;AArBN;;AAAA;AAAA,kBAyBY,IAAIE,KAAJ,CAAU,iDAAV,CAzBZ;;AAAA;AAAA,8CA4BS;AACLF,0BADK;AAELN,8BAFK;AAGLI;AAHK,aA5BT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;kBAAeK,mB;;;;;;;AAjBf;AAAA;AAAA;;AACA;;;;AACA;AAAA;AAAA;;;;AACA;AAAA;AAAA;;;;AAEA;AAAA;AAAA;;;;AACA;AAAA;AAAA;;;;AAEA,IAAMP,eAAe,IAAI,8BAAQQ,MAAZ,gIACnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBACqB,iDAAW,KAAX,EAAkB,CAAC,MAAD,EAAS,sCAAYC,IAArB,EAA2B,SAA3B,CAAlB,CADrB;;AAAA;AACMC,gBADN;AAAA,2CAES,EAAEP,eAAeO,OAAOC,MAAP,CAAcC,IAAd,EAAjB,EAFT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CADmB,IAKhB,sCAAYH,IALI,oBAMnB,KAAK,EAAL,GAAU,EAAV,GAAe,IANI,CAMC;AAND,CAArB;;kBA4Ce;AACbF;AADa,C","file":"../update.js","sourcesContent":["/**\n * @flow\n */\n\nimport JsonFile from '@expo/json-file';\nimport path from 'path';\nimport semver from 'semver';\nimport spawnAsync from '@expo/spawn-async';\n\nimport { FsCache, UserSettings } from 'xdl';\nimport packageJSON from '../package.json';\n\nconst UpdateCacher = new FsCache.Cacher(\n async () => {\n let result = await spawnAsync('npm', ['view', packageJSON.name, 'version']);\n return { latestVersion: result.stdout.trim() };\n },\n `${packageJSON.name}-updates.json`,\n 24 * 60 * 60 * 1000 // one day\n);\n\nasync function checkForUpdateAsync(): Promise<{\n state: 'out-of-date' | 'up-to-date' | 'ahead-of-published',\n current: string,\n latest: string,\n}> {\n const current = packageJSON.version;\n\n // check for an outdated install based on either a fresh npm query or our cache\n const { latestVersion: latest } = await UpdateCacher.getAsync();\n\n let state;\n switch (semver.compare(current, latest)) {\n case -1:\n state = 'out-of-date';\n break;\n\n case 0:\n state = 'up-to-date';\n break;\n\n case 1:\n state = 'ahead-of-published';\n break;\n\n default:\n throw new Error('Confused about whether CLI is up-to-date or not');\n }\n\n return {\n state,\n current,\n latest,\n };\n}\n\nexport default {\n checkForUpdateAsync,\n};\n"],"sourceRoot":"/exp@57.1.1/src"}
\No newline at end of file