diff --git a/packages/metro-resolver/src/resolve.js b/packages/metro-resolver/src/resolve.js index 7687446a0d..41fa1df8db 100644 --- a/packages/metro-resolver/src/resolve.js +++ b/packages/metro-resolver/src/resolve.js @@ -127,6 +127,7 @@ function resolve( .concat(extraPaths); for (let i = 0; i < allDirPaths.length; ++i) { const candidate = context.redirectModulePath(allDirPaths[i]); + // $FlowFixMe[incompatible-call] const result = resolveFileOrDir(context, candidate, platform); if (result.type === 'resolved') { return result.resolution; diff --git a/packages/metro-transform-worker/src/index.js b/packages/metro-transform-worker/src/index.js index 6d86cb6d91..177801be71 100644 --- a/packages/metro-transform-worker/src/index.js +++ b/packages/metro-transform-worker/src/index.js @@ -333,8 +333,10 @@ module.exports = { if ( ast.program.sourceType === 'module' && + // $FlowFixMe[incompatible-use] directives.findIndex(d => d.value.value === 'use strict') === -1 ) { + // $FlowFixMe[incompatible-use] directives.push(types.directive(types.directiveLiteral('use strict'))); } diff --git a/packages/metro/src/DeltaBundler/Serializers/helpers/__tests__/bytecode-test.js b/packages/metro/src/DeltaBundler/Serializers/helpers/__tests__/bytecode-test.js index cf114f3a13..aa6173df29 100644 --- a/packages/metro/src/DeltaBundler/Serializers/helpers/__tests__/bytecode-test.js +++ b/packages/metro/src/DeltaBundler/Serializers/helpers/__tests__/bytecode-test.js @@ -78,6 +78,7 @@ it('produces a bytecode header buffer for each module', () => { }); it('does not produce a bytecode header buffer for a script', () => { + // $FlowFixMe[cannot-write] myModule.output[1].type = 'bytecode/script'; const buffers = wrapModule(myModule, { diff --git a/packages/metro/src/DeltaBundler/Serializers/helpers/__tests__/js-test.js b/packages/metro/src/DeltaBundler/Serializers/helpers/__tests__/js-test.js index efed3678b3..61d79fbc52 100644 --- a/packages/metro/src/DeltaBundler/Serializers/helpers/__tests__/js-test.js +++ b/packages/metro/src/DeltaBundler/Serializers/helpers/__tests__/js-test.js @@ -74,6 +74,7 @@ describe('wrapModule()', () => { }); it('should not wrap a script', () => { + // $FlowFixMe[cannot-write] myModule.output[0].type = 'js/script'; expect( @@ -82,6 +83,7 @@ describe('wrapModule()', () => { dev: true, projectRoot: '/root', }), + // $FlowFixMe[incompatible-use] ).toEqual(myModule.output[0].data.code); }); diff --git a/packages/metro/src/DeltaBundler/traverseDependencies.js b/packages/metro/src/DeltaBundler/traverseDependencies.js index 69ab4bffd1..5594bfbd30 100644 --- a/packages/metro/src/DeltaBundler/traverseDependencies.js +++ b/packages/metro/src/DeltaBundler/traverseDependencies.js @@ -272,6 +272,7 @@ async function processModule( } catch (err) { // If there is an error, restore the previous dependency list. // This ensures we don't skip over them during the next traversal attempt. + // $FlowFixMe[cannot-write] module.dependencies = previousDependencies; throw err; } diff --git a/packages/metro/src/HmrServer.js b/packages/metro/src/HmrServer.js index b00bb9c550..77e371b755 100644 --- a/packages/metro/src/HmrServer.js +++ b/packages/metro/src/HmrServer.js @@ -149,6 +149,7 @@ class HmrServer { clientUrl.protocol = 'http'; const {dev, minify, runModule, bundleEntry: _bundleEntry, ...query} = clientUrl.query || {}; + // $FlowFixMe[incompatible-type] clientUrl.query = { ...query, dev: dev || 'true', diff --git a/packages/metro/src/Server.js b/packages/metro/src/Server.js index 55abdffba6..66423a996f 100644 --- a/packages/metro/src/Server.js +++ b/packages/metro/src/Server.js @@ -331,6 +331,7 @@ class Server { transformOptions.platform || parsePlatformFilePath(entryFile, this._platforms).platform; + // $FlowFixMe[incompatible-return] return await getAllFiles(prepend, graph, { platform, processModuleFilter: this._config.serializer.processModuleFilter, @@ -988,6 +989,7 @@ class Server { const getCodeFrame = (urls, symbolicatedStack) => { for (let i = 0; i < symbolicatedStack.length; i++) { const {collapse, column, file, lineNumber} = symbolicatedStack[i]; + // $FlowFixMe[incompatible-call] const entryPoint = path.resolve(this._config.projectRoot, file); if (collapse || lineNumber == null || urls.has(entryPoint)) { continue; @@ -999,6 +1001,7 @@ class Server { fs.readFileSync(entryPoint, 'utf8'), { // Metro returns 0 based columns but codeFrameColumns expects 1-based columns + // $FlowFixMe[unsafe-addition] start: {column: column + 1, line: lineNumber}, }, {forceColor: true}, diff --git a/packages/metro/src/lib/transformHelpers.js b/packages/metro/src/lib/transformHelpers.js index ecc4c00053..e44e3e2d5b 100644 --- a/packages/metro/src/lib/transformHelpers.js +++ b/packages/metro/src/lib/transformHelpers.js @@ -160,6 +160,7 @@ async function getResolveDependencyFn( const dependencyGraph = await await bundler.getDependencyGraph(); return (from: string, to: string) => + // $FlowFixMe[incompatible-call] dependencyGraph.resolveDependency(from, to, platform); }