UNPKG

3.4 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../../src/tools/config/readConfigFromDisk.ts"],"names":["searchPlaces","readConfigFromDisk","rootFolder","explorer","stopDir","searchResult","searchSync","config","undefined","result","schema","projectConfig","validate","error","JoiError","value","readDependencyConfigFromDisk","emptyDependencyConfig","dependencyConfig","dependency","platforms","assets","hooks","params","commands"],"mappings":";;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;;AACA;;;;;;;;AAMA;AACA;AACA;AACA,MAAMA,YAAY,GAAG,CAAC,wBAAD,CAArB;AAEA;AACA;AACA;AACA;;AACO,SAASC,kBAAT,CAA4BC,UAA5B,EAA4D;AACjE,QAAMC,QAAQ,GAAG,4BAAY,cAAZ,EAA4B;AAC3CH,IAAAA,YAD2C;AAE3CI,IAAAA,OAAO,EAAEF;AAFkC,GAA5B,CAAjB;AAKA,QAAMG,YAAY,GAAGF,QAAQ,CAACG,UAAT,CAAoBJ,UAApB,CAArB;AACA,QAAMK,MAAM,GAAGF,YAAY,GAAGA,YAAY,CAACE,MAAhB,GAAyBC,SAApD;AACA,QAAMC,MAAM,GAAGC,MAAM,CAACC,aAAP,CAAqBC,QAArB,CAA8BL,MAA9B,CAAf;;AAEA,MAAIE,MAAM,CAACI,KAAX,EAAkB;AAChB,UAAM,IAAIC,gBAAJ,CAAaL,MAAM,CAACI,KAApB,CAAN;AACD;;AAED,SAAOJ,MAAM,CAACM,KAAd;AACD;AAED;AACA;AACA;AACA;;;AACO,SAASC,4BAAT,CACLd,UADK,EAEiB;AACtB,QAAMC,QAAQ,GAAG,4BAAY,cAAZ,EAA4B;AAC3CC,IAAAA,OAAO,EAAEF,UADkC;AAE3CF,IAAAA;AAF2C,GAA5B,CAAjB;AAKA,QAAMK,YAAY,GAAGF,QAAQ,CAACG,UAAT,CAAoBJ,UAApB,CAArB;AACA,QAAMK,MAAM,GAAGF,YAAY,GAAGA,YAAY,CAACE,MAAhB,GAAyBU,qBAApD;AAEA,QAAMR,MAAM,GAAGC,MAAM,CAACQ,gBAAP,CAAwBN,QAAxB,CAAiCL,MAAjC,CAAf;;AAEA,MAAIE,MAAM,CAACI,KAAX,EAAkB;AAChB,UAAM,IAAIC,gBAAJ,CAAaL,MAAM,CAACI,KAApB,CAAN;AACD;;AAED,SAAOJ,MAAM,CAACM,KAAd;AACD;;AAED,MAAME,qBAAqB,GAAG;AAC5BE,EAAAA,UAAU,EAAE;AACVC,IAAAA,SAAS,EAAE,EADD;AAEVC,IAAAA,MAAM,EAAE,EAFE;AAGVC,IAAAA,KAAK,EAAE,EAHG;AAIVC,IAAAA,MAAM,EAAE;AAJE,GADgB;AAO5BC,EAAAA,QAAQ,EAAE,EAPkB;AAQ5BJ,EAAAA,SAAS,EAAE;AARiB,CAA9B","sourcesContent":["import cosmiconfig from 'cosmiconfig';\nimport {JoiError} from './errors';\nimport * as schema from './schema';\nimport {\n UserConfig,\n UserDependencyConfig,\n} from '@react-native-community/cli-types';\n\n/**\n * Places to look for the configuration file.\n */\nconst searchPlaces = ['react-native.config.js'];\n\n/**\n * Reads a project configuration as defined by the user in the current\n * workspace.\n */\nexport function readConfigFromDisk(rootFolder: string): UserConfig {\n const explorer = cosmiconfig('react-native', {\n searchPlaces,\n stopDir: rootFolder,\n });\n\n const searchResult = explorer.searchSync(rootFolder);\n const config = searchResult ? searchResult.config : undefined;\n const result = schema.projectConfig.validate(config);\n\n if (result.error) {\n throw new JoiError(result.error);\n }\n\n return result.value as UserConfig;\n}\n\n/**\n * Reads a dependency configuration as defined by the developer\n * inside `node_modules`.\n */\nexport function readDependencyConfigFromDisk(\n rootFolder: string,\n): UserDependencyConfig {\n const explorer = cosmiconfig('react-native', {\n stopDir: rootFolder,\n searchPlaces,\n });\n\n const searchResult = explorer.searchSync(rootFolder);\n const config = searchResult ? searchResult.config : emptyDependencyConfig;\n\n const result = schema.dependencyConfig.validate(config);\n\n if (result.error) {\n throw new JoiError(result.error);\n }\n\n return result.value as UserDependencyConfig;\n}\n\nconst emptyDependencyConfig = {\n dependency: {\n platforms: {},\n assets: [],\n hooks: {},\n params: [],\n },\n commands: [],\n platforms: {},\n};\n"]}
\No newline at end of file