UNPKG

3.78 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../../src/commands/link/linkAll.ts"],"names":["dedupeAssets","assets","asset","path","basename","linkAll","config","options","linkDeps","logger","debug","key","dependencies","dependency","hooks","prelink","platforms","project","postlink","error","CLIError","chalk","bold","name","linkAssets","projectAssets","Object","keys","reduce","acc","concat"],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;AAEA,MAAMA,YAAY,GAAIC,MAAD,IACnB,sBAAOA,MAAP,EAAgBC,KAAD,IAAWC,IAAI,GAACC,QAAL,CAAcF,KAAd,CAA1B,CADF;;AAQA,eAAeG,OAAf,CAAuBC,MAAvB,EAAuCC,OAAvC,EAAyD;AACvD,MAAIA,OAAO,CAACC,QAAZ,EAAsB;AACpB,0CAAwB,yBAAxB;;AACAC,uBAAOC,KAAP,CAAa,0BAAb;;AAEA,SAAK,IAAIC,GAAT,IAAgBL,MAAM,CAACM,YAAvB,EAAqC;AACnC,YAAMC,UAAU,GAAGP,MAAM,CAACM,YAAP,CAAoBD,GAApB,CAAnB;;AACA,UAAI;AACF,YAAIE,UAAU,CAACC,KAAX,CAAiBC,OAArB,EAA8B;AAC5B,gBAAM,uBAASF,UAAU,CAACC,KAAX,CAAiBC,OAA1B,GAAN;AACD;;AACD,cAAM,6BAAeT,MAAM,CAACU,SAAtB,EAAiCV,MAAM,CAACW,OAAxC,EAAiDJ,UAAjD,CAAN;;AACA,YAAIA,UAAU,CAACC,KAAX,CAAiBI,QAArB,EAA+B;AAC7B,gBAAM,uBAASL,UAAU,CAACC,KAAX,CAAiBI,QAA1B,GAAN;AACD;AACF,OARD,CAQE,OAAOC,KAAP,EAAc;AACd,cAAM,KAAIC,oBAAJ,EACH,YAAWC,iBAAMC,IAAN,CAAWT,UAAU,CAACU,IAAtB,CAA4B,WADpC,EAEJJ,KAFI,CAAN;AAID;AACF;AACF;;AACD,MAAIZ,OAAO,CAACiB,UAAZ,EAAwB;AACtBf,uBAAOC,KAAP,CAAa,oBAAb;;AACA,UAAMe,aAAa,GAAGnB,MAAM,CAACL,MAA7B;AACA,UAAMA,MAAM,GAAGD,YAAY,CACzB0B,MAAM,CAACC,IAAP,CAAYrB,MAAM,CAACM,YAAnB,EAAiCgB,MAAjC,CACE,CAACC,GAAD,EAAMhB,UAAN,KAAqBgB,GAAG,CAACC,MAAJ,CAAWxB,MAAM,CAACM,YAAP,CAAoBC,UAApB,EAAgCZ,MAA3C,CADvB,EAEEwB,aAFF,CADyB,CAA3B;;AAMA,QAAI;AACF,+BAAWnB,MAAM,CAACU,SAAlB,EAA6BV,MAAM,CAACW,OAApC,EAA6ChB,MAA7C;AACD,KAFD,CAEE,OAAOkB,KAAP,EAAc;AACd,YAAM,KAAIC,oBAAJ,EAAa,wBAAb,EAAuCD,KAAvC,CAAN;AACD;AACF;AACF;;eAEcd,O","sourcesContent":["import {uniqBy} from 'lodash';\nimport * as path from 'path';\nimport chalk from 'chalk';\nimport {CLIError, logger} from '@react-native-community/cli-tools';\nimport {Config} from '@react-native-community/cli-types';\nimport linkAssets from './linkAssets';\nimport linkDependency from './linkDependency';\nimport makeHook from './makeHook';\nimport printDeprecationWarning from './printDeprecationWarning';\n\nconst dedupeAssets = (assets: Array<string>): Array<string> =>\n uniqBy(assets, (asset) => path.basename(asset));\n\ntype Options = {\n linkDeps?: boolean;\n linkAssets?: boolean;\n};\n\nasync function linkAll(config: Config, options: Options) {\n if (options.linkDeps) {\n printDeprecationWarning('react-native link --all');\n logger.debug('Linking all dependencies');\n\n for (let key in config.dependencies) {\n const dependency = config.dependencies[key];\n try {\n if (dependency.hooks.prelink) {\n await makeHook(dependency.hooks.prelink)();\n }\n await linkDependency(config.platforms, config.project, dependency);\n if (dependency.hooks.postlink) {\n await makeHook(dependency.hooks.postlink)();\n }\n } catch (error) {\n throw new CLIError(\n `Linking \"${chalk.bold(dependency.name)}\" failed.`,\n error,\n );\n }\n }\n }\n if (options.linkAssets) {\n logger.debug('Linking all assets');\n const projectAssets = config.assets;\n const assets = dedupeAssets(\n Object.keys(config.dependencies).reduce(\n (acc, dependency) => acc.concat(config.dependencies[dependency].assets),\n projectAssets,\n ),\n );\n try {\n linkAssets(config.platforms, config.project, assets);\n } catch (error) {\n throw new CLIError('Linking assets failed.', error);\n }\n }\n}\n\nexport default linkAll;\n"]}
\No newline at end of file