Add extra flowtype stubs for metro (#20429)
Summary: We ignore some `metro` flowtypes, which made `flow check` fail on `metro-config`. I now also added the `metro` stubs needed by `metro-config` to make `flow check` pass. Closes https://github.com/facebook/react-native/issues/20431 Pull Request resolved: https://github.com/facebook/react-native/pull/20429 Reviewed By: hramos Differential Revision: D9036903 Pulled By: CompuIves fbshipit-source-id: 6e348e929b7c36520787bb860f5a18aa588455c3
This commit is contained in:
parent
40f6998b67
commit
9176fc00b5
|
@ -27,3 +27,39 @@ declare module 'metro/src/lib/bundle-modules/HMRClient' {
|
||||||
declare module 'metro/src/lib/TerminalReporter' {
|
declare module 'metro/src/lib/TerminalReporter' {
|
||||||
declare module.exports: any;
|
declare module.exports: any;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
declare module 'metro/src/Bundler' {
|
||||||
|
declare module.exports: any;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module 'metro/src/DeltaBundler' {
|
||||||
|
declare module.exports: any;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module 'metro/src/ModuleGraph/types.flow.js' {
|
||||||
|
declare module.exports: any;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module 'metro/src/lib/getMaxWorkers' {
|
||||||
|
declare module.exports: any;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module 'metro/src/lib/createModuleIdFactory' {
|
||||||
|
declare module.exports: any;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module 'metro/src/shared/types.flow' {
|
||||||
|
declare module.exports: any;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module 'metro/src/lib/reporting' {
|
||||||
|
declare module.exports: any;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module 'metro/src/Server' {
|
||||||
|
declare module.exports: any;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module 'metro/src/ModuleGraph/worker/collectDependencies' {
|
||||||
|
declare module.exports: any;
|
||||||
|
}
|
||||||
|
|
|
@ -129,7 +129,9 @@ const defaultRNConfig = {
|
||||||
*/
|
*/
|
||||||
async function getCliConfig(): Promise<RNConfig> {
|
async function getCliConfig(): Promise<RNConfig> {
|
||||||
const cliArgs = minimist(process.argv.slice(2));
|
const cliArgs = minimist(process.argv.slice(2));
|
||||||
const config = await Config.load(path.resolve(__dirname, cliArgs.config));
|
const config = await Config.load(
|
||||||
|
cliArgs.config != null ? path.resolve(__dirname, cliArgs.config) : null,
|
||||||
|
);
|
||||||
|
|
||||||
config.transformer.assetRegistryPath = ASSET_REGISTRY_PATH;
|
config.transformer.assetRegistryPath = ASSET_REGISTRY_PATH;
|
||||||
config.resolver.hasteImplModulePath = defaultConfig.hasteImplModulePath;
|
config.resolver.hasteImplModulePath = defaultConfig.hasteImplModulePath;
|
||||||
|
|
|
@ -84,8 +84,10 @@ const Config = {
|
||||||
getProjectPath,
|
getProjectPath,
|
||||||
getProjectRoots,
|
getProjectRoots,
|
||||||
|
|
||||||
async load(configFile: string): Promise<ConfigT> {
|
async load(configFile: ?string): Promise<ConfigT> {
|
||||||
const config: ConfigT = await loadConfig({config: configFile});
|
const config: ConfigT = await loadConfig(
|
||||||
|
configFile ? {config: configFile} : {},
|
||||||
|
);
|
||||||
|
|
||||||
return mergeConfig(config, this.DEFAULT);
|
return mergeConfig(config, this.DEFAULT);
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue