From 8d39cc89d054434f9b7fa3f283745c38f50dab6c Mon Sep 17 00:00:00 2001 From: Rob Hogan Date: Mon, 4 Aug 2025 10:19:35 -0700 Subject: [PATCH] Only use .flow.js extensions when there is an accompanying plain JS file (#1546) Summary: Currently, we have a smattering of `*.flow.js` files in Metro. These mean either of two things: 1) Modules that only export Flow types 2) Modules that are written in Flow, to distinguish them from a colocated plain JS file. Type 1) doesn't really have any significance and isn't enforced - we still build and publish (usually empty) `foo.flow.js` files and even accompanying `foo.flow.js.flow` files, and there's nothing to stop them containing runtime code (indeed, with enums, they do). The renames all files of type 1) to drop the `.flow`. This is a prerequisite for auto-generating TS types for Metro - by establishing and enforcing a convention that `foo.js` and `foo.flow.js` are a Babel-registering entry point and an implementation file respectively, we can teach the API generator that `foo.flow.js` should generate `foo.d.ts`, and `foo.js` should be ignored. Changelog: Internal Pull Request resolved: https://github.com/facebook/metro/pull/1546 Test Plan: - Flow/CI Differential Revision: D79566838 Pulled By: robhogan --- docs/Configuration.md | 4 ++-- packages/metro-cache/src/index.js | 2 +- .../src/{types.flow.js => types.js} | 0 packages/metro-config/src/defaults/defaults.js | 2 +- packages/metro-config/src/defaults/index.js | 2 +- packages/metro-config/src/index.js | 2 +- packages/metro-config/src/loadConfig.js | 2 +- .../src/{configTypes.flow.js => types.js} | 2 +- packages/metro-config/types/index.d.ts | 2 +- packages/metro-config/types/loadConfig.d.ts | 2 +- .../types/{configTypes.d.ts => types.d.ts} | 0 packages/metro-core/src/Logger.js | 2 +- .../metro-resolver/src/createDefaultContext.js | 2 +- packages/metro-resolver/src/types.js | 2 +- .../metro-runtime/src/modules/HMRClient.js | 4 ++-- .../src/modules/__tests__/HMRClient-test.js | 2 +- .../src/modules/{types.flow.js => types.js} | 0 .../src/Consumer/AbstractConsumer.js | 2 +- .../src/Consumer/DelegatingConsumer.js | 2 +- .../src/Consumer/MappingsConsumer.js | 2 +- .../src/Consumer/SectionsConsumer.js | 2 +- .../src/Consumer/createConsumer.js | 2 +- .../src/Consumer/positionMath.js | 2 +- .../src/Consumer/{types.flow.js => types.js} | 0 .../metro-source-map/src/composeSourceMaps.js | 2 +- packages/metro-source-map/src/source-map.js | 2 +- packages/metro-transform-worker/src/index.js | 2 +- packages/metro/src/Bundler/util.js | 2 +- packages/metro/src/DeltaBundler.js | 4 ++-- .../metro/src/DeltaBundler/DeltaCalculator.js | 2 +- packages/metro/src/DeltaBundler/Graph.js | 2 +- .../Serializers/__tests__/baseJSBundle-test.js | 2 +- .../__tests__/getRamBundleInfo-test.js | 2 +- .../__tests__/sourceMapString-test.js | 2 +- .../DeltaBundler/Serializers/baseJSBundle.js | 4 ++-- .../DeltaBundler/Serializers/getAllFiles.js | 2 +- .../src/DeltaBundler/Serializers/getAssets.js | 2 +- .../Serializers/getExplodedSourceMap.js | 2 +- .../Serializers/getRamBundleInfo.js | 7 ++----- .../Serializers/helpers/__tests__/js-test.js | 2 +- .../Serializers/helpers/getSourceMapInfo.js | 2 +- .../helpers/getTransitiveDependencies.js | 2 +- .../src/DeltaBundler/Serializers/helpers/js.js | 2 +- .../Serializers/helpers/processModules.js | 2 +- .../DeltaBundler/Serializers/hmrJSBundle.js | 4 ++-- .../Serializers/sourceMapGenerator.js | 2 +- .../Serializers/sourceMapObject.js | 2 +- .../Serializers/sourceMapString.js | 2 +- packages/metro/src/DeltaBundler/Worker.flow.js | 2 +- .../__tests__/DeltaBundler-test.js | 6 +----- .../__tests__/DeltaCalculator-context-test.js | 2 +- .../__tests__/DeltaCalculator-test.js | 2 +- .../src/DeltaBundler/__tests__/Graph-test.js | 2 +- .../__tests__/buildSubgraph-test.js | 5 +---- .../DeltaBundler/__tests__/resolver-test.js | 4 ++-- .../metro/src/DeltaBundler/buildSubgraph.js | 2 +- packages/metro/src/DeltaBundler/mergeDeltas.js | 2 +- .../DeltaBundler/{types.flow.js => types.js} | 0 packages/metro/src/HmrServer.js | 4 ++-- packages/metro/src/IncrementalBundler.js | 4 ++-- .../ModuleGraph/worker/collectDependencies.js | 2 +- packages/metro/src/Server.js | 6 +++--- .../metro/src/Server/__tests__/Server-test.js | 2 +- packages/metro/src/__tests__/HmrServer-test.js | 4 ++-- packages/metro/src/index.flow.js | 3 +-- packages/metro/src/lib/bundleToString.js | 5 +---- packages/metro/src/lib/formatBundlingError.js | 2 +- packages/metro/src/lib/getAppendScripts.js | 2 +- packages/metro/src/lib/getGraphId.js | 4 ++-- packages/metro/src/lib/getPrependedScripts.js | 6 +++--- packages/metro/src/lib/isResolvedDependency.js | 2 +- packages/metro/src/lib/parseOptionsFromUrl.js | 4 ++-- packages/metro/src/lib/splitBundleOptions.js | 2 +- packages/metro/src/lib/transformHelpers.js | 4 ++-- .../metro/src/node-haste/DependencyGraph.js | 4 ++-- .../DependencyGraph/ModuleResolution.js | 4 ++-- packages/metro/src/shared/output/RamBundle.js | 2 +- .../src/shared/output/RamBundle/as-assets.js | 4 ++-- .../shared/output/RamBundle/as-indexed-file.js | 2 +- .../RamBundle/buildSourcemapWithMetadata.js | 2 +- .../metro/src/shared/output/RamBundle/util.js | 2 +- .../metro/src/shared/output/bundle.flow.js | 2 +- .../src/shared/{types.flow.js => types.js} | 2 +- scripts/__tests__/subpackages-test.js | 18 ++++++++++++++++++ 84 files changed, 116 insertions(+), 112 deletions(-) rename packages/metro-cache/src/{types.flow.js => types.js} (100%) rename packages/metro-config/src/{configTypes.flow.js => types.js} (99%) rename packages/metro-config/types/{configTypes.d.ts => types.d.ts} (100%) rename packages/metro-runtime/src/modules/{types.flow.js => types.js} (100%) rename packages/metro-source-map/src/Consumer/{types.flow.js => types.js} (100%) rename packages/metro/src/DeltaBundler/{types.flow.js => types.js} (100%) rename packages/metro/src/shared/{types.flow.js => types.js} (99%) diff --git a/docs/Configuration.md b/docs/Configuration.md index 28423a1faf..d5275666f1 100644 --- a/docs/Configuration.md +++ b/docs/Configuration.md @@ -180,11 +180,11 @@ function unstable_perfLoggerFactory( }; ``` -* **`type`** Type of event being logged, e.g. `'STARTUP'`, `'BUNDLING_REQUEST'`, `'HMR'`. See type definition of [PerfLoggerFactory](https://github.com/facebook/metro/blob/main/packages/metro-config/src/configTypes.flow.js) for a full list of event types. +* **`type`** Type of event being logged, e.g. `'STARTUP'`, `'BUNDLING_REQUEST'`, `'HMR'`. See type definition of [PerfLoggerFactory](https://github.com/facebook/metro/blob/main/packages/metro-config/src/types.js) for a full list of event types. * **`opts`** * **`key`**: An opaque identifier to distinguish between instances of an event type (e.g. multiple, possibly concurrent, HMR requests). -`unstable_perfLoggerFactory` should return an object implementing the [RootPerfLogger](https://github.com/facebook/metro/blob/main/packages/metro-config/src/configTypes.flow.js) interface. For example, a factory function returning a no-op RootPerfLogger could be implemented as follows: +`unstable_perfLoggerFactory` should return an object implementing the [RootPerfLogger](https://github.com/facebook/metro/blob/main/packages/metro-config/src/types.js) interface. For example, a factory function returning a no-op RootPerfLogger could be implemented as follows: ```javascript diff --git a/packages/metro-cache/src/index.js b/packages/metro-cache/src/index.js index 175800a7b8..7fe8c51f86 100644 --- a/packages/metro-cache/src/index.js +++ b/packages/metro-cache/src/index.js @@ -20,7 +20,7 @@ const HttpStore = require('./stores/HttpStore'); export type {Options as FileOptions} from './stores/FileStore'; export type {Options as HttpOptions} from './stores/HttpStore'; -export type {CacheStore} from './types.flow'; +export type {CacheStore} from './types'; module.exports.AutoCleanFileStore = AutoCleanFileStore; module.exports.Cache = Cache; diff --git a/packages/metro-cache/src/types.flow.js b/packages/metro-cache/src/types.js similarity index 100% rename from packages/metro-cache/src/types.flow.js rename to packages/metro-cache/src/types.js diff --git a/packages/metro-config/src/defaults/defaults.js b/packages/metro-config/src/defaults/defaults.js index 3b037617ea..ab2a058153 100644 --- a/packages/metro-config/src/defaults/defaults.js +++ b/packages/metro-config/src/defaults/defaults.js @@ -11,7 +11,7 @@ 'use strict'; -import type {PerfLogger, RootPerfLogger} from '../configTypes.flow'; +import type {PerfLogger, RootPerfLogger} from '../types'; const defaultCreateModuleIdFactory = require('metro/private/lib/createModuleIdFactory'); diff --git a/packages/metro-config/src/defaults/index.js b/packages/metro-config/src/defaults/index.js index fae3e75068..da707a75ee 100644 --- a/packages/metro-config/src/defaults/index.js +++ b/packages/metro-config/src/defaults/index.js @@ -11,7 +11,7 @@ 'use strict'; -import type {ConfigT} from '../configTypes.flow'; +import type {ConfigT} from '../types'; const { DEFAULT_METRO_MINIFIER_PATH, diff --git a/packages/metro-config/src/index.js b/packages/metro-config/src/index.js index 68278e26fd..f6337478f8 100644 --- a/packages/metro-config/src/index.js +++ b/packages/metro-config/src/index.js @@ -12,7 +12,7 @@ 'use strict'; /*:: -export type * from './configTypes.flow'; +export type * from './types'; */ try { diff --git a/packages/metro-config/src/loadConfig.js b/packages/metro-config/src/loadConfig.js index cd5a95d343..3f54a1dc40 100644 --- a/packages/metro-config/src/loadConfig.js +++ b/packages/metro-config/src/loadConfig.js @@ -11,7 +11,7 @@ 'use strict'; -import type {ConfigT, InputConfigT, YargArguments} from './configTypes.flow'; +import type {ConfigT, InputConfigT, YargArguments} from './types'; const getDefaultConfig = require('./defaults'); const validConfig = require('./defaults/validConfig'); diff --git a/packages/metro-config/src/configTypes.flow.js b/packages/metro-config/src/types.js similarity index 99% rename from packages/metro-config/src/configTypes.flow.js rename to packages/metro-config/src/types.js index f8953a1c20..41923924b0 100644 --- a/packages/metro-config/src/configTypes.flow.js +++ b/packages/metro-config/src/types.js @@ -23,7 +23,7 @@ import type { Module, ReadOnlyGraph, SerializerOptions, -} from 'metro/private/DeltaBundler/types.flow'; +} from 'metro/private/DeltaBundler/types'; import type {Reporter} from 'metro/private/lib/reporting'; import type MetroServer from 'metro/private/Server'; diff --git a/packages/metro-config/types/index.d.ts b/packages/metro-config/types/index.d.ts index 5b10e64ecb..d653ba141f 100644 --- a/packages/metro-config/types/index.d.ts +++ b/packages/metro-config/types/index.d.ts @@ -11,5 +11,5 @@ import getDefaultConfig from './defaults'; import {loadConfig, mergeConfig, resolveConfig} from './loadConfig'; -export * from './configTypes'; +export * from './types'; export {loadConfig, mergeConfig, resolveConfig, getDefaultConfig}; diff --git a/packages/metro-config/types/loadConfig.d.ts b/packages/metro-config/types/loadConfig.d.ts index 65d748e406..ce30f2815d 100644 --- a/packages/metro-config/types/loadConfig.d.ts +++ b/packages/metro-config/types/loadConfig.d.ts @@ -8,7 +8,7 @@ * @oncall react_native */ -import type {ConfigT, InputConfigT, YargArguments} from './configTypes'; +import type {ConfigT, InputConfigT, YargArguments} from './types'; export interface CosmiConfigResult { filepath: string; diff --git a/packages/metro-config/types/configTypes.d.ts b/packages/metro-config/types/types.d.ts similarity index 100% rename from packages/metro-config/types/configTypes.d.ts rename to packages/metro-config/types/types.d.ts diff --git a/packages/metro-core/src/Logger.js b/packages/metro-core/src/Logger.js index 2e240459e4..d43ac17a07 100644 --- a/packages/metro-core/src/Logger.js +++ b/packages/metro-core/src/Logger.js @@ -11,7 +11,7 @@ 'use strict'; -import type {BundleOptions} from 'metro/private/shared/types.flow'; +import type {BundleOptions} from 'metro/private/shared/types'; const VERSION = require('../package.json').version; const {EventEmitter} = require('events'); diff --git a/packages/metro-resolver/src/createDefaultContext.js b/packages/metro-resolver/src/createDefaultContext.js index 7a46f6f48b..69a732800b 100644 --- a/packages/metro-resolver/src/createDefaultContext.js +++ b/packages/metro-resolver/src/createDefaultContext.js @@ -10,7 +10,7 @@ */ import type {ResolutionContext} from './types'; -import type {TransformResultDependency} from 'metro/private/DeltaBundler/types.flow'; +import type {TransformResultDependency} from 'metro/private/DeltaBundler/types'; import {redirectModulePath} from './PackageResolve'; diff --git a/packages/metro-resolver/src/types.js b/packages/metro-resolver/src/types.js index 849fa012ea..1ec995a627 100644 --- a/packages/metro-resolver/src/types.js +++ b/packages/metro-resolver/src/types.js @@ -11,7 +11,7 @@ 'use strict'; -import type {TransformResultDependency} from 'metro/private/DeltaBundler/types.flow'; +import type {TransformResultDependency} from 'metro/private/DeltaBundler/types'; export type Result<+TResolution, +TCandidates> = | {+type: 'resolved', +resolution: TResolution} diff --git a/packages/metro-runtime/src/modules/HMRClient.js b/packages/metro-runtime/src/modules/HMRClient.js index 0ad4c2b4c4..18040c4304 100644 --- a/packages/metro-runtime/src/modules/HMRClient.js +++ b/packages/metro-runtime/src/modules/HMRClient.js @@ -10,8 +10,8 @@ */ 'use strict'; -import type {HmrModule} from './types.flow'; -import type {HmrMessage, HmrUpdate} from './types.flow'; +import type {HmrModule} from './types'; +import type {HmrMessage, HmrUpdate} from './types'; const EventEmitter = require('./vendor/eventemitter3'); diff --git a/packages/metro-runtime/src/modules/__tests__/HMRClient-test.js b/packages/metro-runtime/src/modules/__tests__/HMRClient-test.js index fdd64234c0..73af75d5cf 100644 --- a/packages/metro-runtime/src/modules/__tests__/HMRClient-test.js +++ b/packages/metro-runtime/src/modules/__tests__/HMRClient-test.js @@ -11,7 +11,7 @@ 'use strict'; -import type {HmrUpdate} from '../types.flow'; +import type {HmrUpdate} from '../types'; const HMRClient = require('../HMRClient'); diff --git a/packages/metro-runtime/src/modules/types.flow.js b/packages/metro-runtime/src/modules/types.js similarity index 100% rename from packages/metro-runtime/src/modules/types.flow.js rename to packages/metro-runtime/src/modules/types.js diff --git a/packages/metro-source-map/src/Consumer/AbstractConsumer.js b/packages/metro-source-map/src/Consumer/AbstractConsumer.js index 185af659ee..bb75938d10 100644 --- a/packages/metro-source-map/src/Consumer/AbstractConsumer.js +++ b/packages/metro-source-map/src/Consumer/AbstractConsumer.js @@ -17,7 +17,7 @@ import type { IterationOrder, Mapping, SourcePosition, -} from './types.flow'; +} from './types'; const {GENERATED_ORDER, iterationOrderToString} = require('./constants'); const invariant = require('invariant'); diff --git a/packages/metro-source-map/src/Consumer/DelegatingConsumer.js b/packages/metro-source-map/src/Consumer/DelegatingConsumer.js index 0db04cf19e..d2528ba823 100644 --- a/packages/metro-source-map/src/Consumer/DelegatingConsumer.js +++ b/packages/metro-source-map/src/Consumer/DelegatingConsumer.js @@ -18,7 +18,7 @@ import type { IterationOrder, Mapping, SourcePosition, -} from './types.flow'; +} from './types'; const { GENERATED_ORDER, diff --git a/packages/metro-source-map/src/Consumer/MappingsConsumer.js b/packages/metro-source-map/src/Consumer/MappingsConsumer.js index aec0ac4b8b..c20c2ec012 100644 --- a/packages/metro-source-map/src/Consumer/MappingsConsumer.js +++ b/packages/metro-source-map/src/Consumer/MappingsConsumer.js @@ -17,7 +17,7 @@ import type { IConsumer, Mapping, SourcePosition, -} from './types.flow'; +} from './types'; import type {Number0} from 'ob1'; const AbstractConsumer = require('./AbstractConsumer'); diff --git a/packages/metro-source-map/src/Consumer/SectionsConsumer.js b/packages/metro-source-map/src/Consumer/SectionsConsumer.js index 7dd766f5ec..9c64a5b114 100644 --- a/packages/metro-source-map/src/Consumer/SectionsConsumer.js +++ b/packages/metro-source-map/src/Consumer/SectionsConsumer.js @@ -18,7 +18,7 @@ import type { IConsumer, Mapping, SourcePosition, -} from './types.flow'; +} from './types'; const AbstractConsumer = require('./AbstractConsumer'); const {EMPTY_POSITION, FIRST_COLUMN, FIRST_LINE} = require('./constants'); diff --git a/packages/metro-source-map/src/Consumer/createConsumer.js b/packages/metro-source-map/src/Consumer/createConsumer.js index 99d984910e..f1859b3270 100644 --- a/packages/metro-source-map/src/Consumer/createConsumer.js +++ b/packages/metro-source-map/src/Consumer/createConsumer.js @@ -12,7 +12,7 @@ 'use strict'; import type {MixedSourceMap} from '../source-map'; -import type {IConsumer} from './types.flow'; +import type {IConsumer} from './types'; const invariant = require('invariant'); diff --git a/packages/metro-source-map/src/Consumer/positionMath.js b/packages/metro-source-map/src/Consumer/positionMath.js index 3001b5a9d5..653d1c4dee 100644 --- a/packages/metro-source-map/src/Consumer/positionMath.js +++ b/packages/metro-source-map/src/Consumer/positionMath.js @@ -11,7 +11,7 @@ 'use strict'; -import type {GeneratedOffset} from './types.flow'; +import type {GeneratedOffset} from './types'; import type {Number0, Number1} from 'ob1'; const {add, add0, add1, neg} = require('ob1'); diff --git a/packages/metro-source-map/src/Consumer/types.flow.js b/packages/metro-source-map/src/Consumer/types.js similarity index 100% rename from packages/metro-source-map/src/Consumer/types.flow.js rename to packages/metro-source-map/src/Consumer/types.js diff --git a/packages/metro-source-map/src/composeSourceMaps.js b/packages/metro-source-map/src/composeSourceMaps.js index 9fc910723c..84935f4492 100644 --- a/packages/metro-source-map/src/composeSourceMaps.js +++ b/packages/metro-source-map/src/composeSourceMaps.js @@ -11,7 +11,7 @@ 'use strict'; -import type {SourcePosition} from './Consumer/types.flow'; +import type {SourcePosition} from './Consumer/types'; import type {IConsumer, MixedSourceMap} from './source-map'; import type {Number0, Number1} from 'ob1'; diff --git a/packages/metro-source-map/src/source-map.js b/packages/metro-source-map/src/source-map.js index 9ad43d0503..2f547b8668 100644 --- a/packages/metro-source-map/src/source-map.js +++ b/packages/metro-source-map/src/source-map.js @@ -11,7 +11,7 @@ 'use strict'; -import type {IConsumer} from './Consumer/types.flow'; +import type {IConsumer} from './Consumer/types'; import type {BabelSourceMapSegment} from '@babel/generator'; const {BundleBuilder, createIndexMap} = require('./BundleBuilder'); diff --git a/packages/metro-transform-worker/src/index.js b/packages/metro-transform-worker/src/index.js index d092c94090..48eb40ca54 100644 --- a/packages/metro-transform-worker/src/index.js +++ b/packages/metro-transform-worker/src/index.js @@ -29,7 +29,7 @@ import type { InlineRequiresPluginOptions, } from 'metro-transform-plugins'; import type {TransformResultDependency} from 'metro/private/DeltaBundler'; -import type {AllowOptionalDependencies} from 'metro/private/DeltaBundler/types.flow'; +import type {AllowOptionalDependencies} from 'metro/private/DeltaBundler/types'; import type { DependencyTransformer, DynamicRequiresBehavior, diff --git a/packages/metro/src/Bundler/util.js b/packages/metro/src/Bundler/util.js index 35cec0c810..d7a70b2e9e 100644 --- a/packages/metro/src/Bundler/util.js +++ b/packages/metro/src/Bundler/util.js @@ -12,7 +12,7 @@ 'use strict'; import type {AssetDataFiltered, AssetDataWithoutFiles} from '../Assets'; -import type {ModuleTransportLike} from '../shared/types.flow'; +import type {ModuleTransportLike} from '../shared/types'; import type {File} from '@babel/types'; const babylon = require('@babel/parser'); diff --git a/packages/metro/src/DeltaBundler.js b/packages/metro/src/DeltaBundler.js index 4b6cbc0eb6..5c8b723977 100644 --- a/packages/metro/src/DeltaBundler.js +++ b/packages/metro/src/DeltaBundler.js @@ -18,7 +18,7 @@ import type { MixedOutput, Options, ReadOnlyGraph, -} from './DeltaBundler/types.flow'; +} from './DeltaBundler/types'; import type EventEmitter from 'events'; const DeltaCalculator = require('./DeltaBundler/DeltaCalculator'); @@ -34,7 +34,7 @@ export type { TransformResult, TransformResultDependency, TransformResultWithSource, -} from './DeltaBundler/types.flow'; +} from './DeltaBundler/types'; /** * `DeltaBundler` uses the `DeltaTransformer` to build bundle deltas. This diff --git a/packages/metro/src/DeltaBundler/DeltaCalculator.js b/packages/metro/src/DeltaBundler/DeltaCalculator.js index 36d67bab73..2afa231ef0 100644 --- a/packages/metro/src/DeltaBundler/DeltaCalculator.js +++ b/packages/metro/src/DeltaBundler/DeltaCalculator.js @@ -11,7 +11,7 @@ 'use strict'; -import type {DeltaResult, Options} from './types.flow'; +import type {DeltaResult, Options} from './types'; import type {RootPerfLogger} from 'metro-config'; import type {ChangeEvent} from 'metro-file-map'; diff --git a/packages/metro/src/DeltaBundler/Graph.js b/packages/metro/src/DeltaBundler/Graph.js index 07e7c9fb72..cee5307173 100644 --- a/packages/metro/src/DeltaBundler/Graph.js +++ b/packages/metro/src/DeltaBundler/Graph.js @@ -41,7 +41,7 @@ import type { Options, ResolvedDependency, TransformInputOptions, -} from './types.flow'; +} from './types'; import {fileMatchesContext} from '../lib/contextModule'; import CountingSet from '../lib/CountingSet'; diff --git a/packages/metro/src/DeltaBundler/Serializers/__tests__/baseJSBundle-test.js b/packages/metro/src/DeltaBundler/Serializers/__tests__/baseJSBundle-test.js index f3faed1421..8692551378 100644 --- a/packages/metro/src/DeltaBundler/Serializers/__tests__/baseJSBundle-test.js +++ b/packages/metro/src/DeltaBundler/Serializers/__tests__/baseJSBundle-test.js @@ -11,7 +11,7 @@ 'use strict'; -import type {Module, TransformInputOptions} from '../../types.flow'; +import type {Module, TransformInputOptions} from '../../types'; import CountingSet from '../../../lib/CountingSet'; diff --git a/packages/metro/src/DeltaBundler/Serializers/__tests__/getRamBundleInfo-test.js b/packages/metro/src/DeltaBundler/Serializers/__tests__/getRamBundleInfo-test.js index e7ba985978..9cc2104342 100644 --- a/packages/metro/src/DeltaBundler/Serializers/__tests__/getRamBundleInfo-test.js +++ b/packages/metro/src/DeltaBundler/Serializers/__tests__/getRamBundleInfo-test.js @@ -11,7 +11,7 @@ 'use strict'; -import type {Module, TransformInputOptions} from '../../types.flow'; +import type {Module, TransformInputOptions} from '../../types'; import type {JsOutput} from 'metro-transform-worker'; import CountingSet from '../../../lib/CountingSet'; diff --git a/packages/metro/src/DeltaBundler/Serializers/__tests__/sourceMapString-test.js b/packages/metro/src/DeltaBundler/Serializers/__tests__/sourceMapString-test.js index fbe8231c23..782cdc1aed 100644 --- a/packages/metro/src/DeltaBundler/Serializers/__tests__/sourceMapString-test.js +++ b/packages/metro/src/DeltaBundler/Serializers/__tests__/sourceMapString-test.js @@ -11,7 +11,7 @@ 'use strict'; -import type {Module} from '../../types.flow'; +import type {Module} from '../../types'; import CountingSet from '../../../lib/CountingSet'; diff --git a/packages/metro/src/DeltaBundler/Serializers/baseJSBundle.js b/packages/metro/src/DeltaBundler/Serializers/baseJSBundle.js index 3736963395..a194380286 100644 --- a/packages/metro/src/DeltaBundler/Serializers/baseJSBundle.js +++ b/packages/metro/src/DeltaBundler/Serializers/baseJSBundle.js @@ -16,8 +16,8 @@ import type { Module, ReadOnlyGraph, SerializerOptions, -} from '../types.flow'; -import type {Bundle} from 'metro-runtime/src/modules/types.flow'; +} from '../types'; +import type {Bundle} from 'metro-runtime/src/modules/types'; const getAppendScripts = require('../../lib/getAppendScripts'); const processModules = require('./helpers/processModules'); diff --git a/packages/metro/src/DeltaBundler/Serializers/getAllFiles.js b/packages/metro/src/DeltaBundler/Serializers/getAllFiles.js index 1fd4b71bda..ea6f0b5cc6 100644 --- a/packages/metro/src/DeltaBundler/Serializers/getAllFiles.js +++ b/packages/metro/src/DeltaBundler/Serializers/getAllFiles.js @@ -11,7 +11,7 @@ 'use strict'; -import type {Module, ReadOnlyGraph} from '../types.flow'; +import type {Module, ReadOnlyGraph} from '../types'; const {getAssetFiles} = require('../../Assets'); const {getJsOutput, isJsModule} = require('./helpers/js'); diff --git a/packages/metro/src/DeltaBundler/Serializers/getAssets.js b/packages/metro/src/DeltaBundler/Serializers/getAssets.js index f3ce987903..6fff55042e 100644 --- a/packages/metro/src/DeltaBundler/Serializers/getAssets.js +++ b/packages/metro/src/DeltaBundler/Serializers/getAssets.js @@ -12,7 +12,7 @@ 'use strict'; import type {AssetData} from '../../Assets'; -import type {Module, ReadOnlyDependencies} from '../types.flow'; +import type {Module, ReadOnlyDependencies} from '../types'; const {getAssetData} = require('../../Assets'); const {getJsOutput, isJsModule} = require('./helpers/js'); diff --git a/packages/metro/src/DeltaBundler/Serializers/getExplodedSourceMap.js b/packages/metro/src/DeltaBundler/Serializers/getExplodedSourceMap.js index 51866f8fda..e106ac3fa3 100644 --- a/packages/metro/src/DeltaBundler/Serializers/getExplodedSourceMap.js +++ b/packages/metro/src/DeltaBundler/Serializers/getExplodedSourceMap.js @@ -11,7 +11,7 @@ 'use strict'; -import type {Module} from '../types.flow'; +import type {Module} from '../types'; import type { FBSourceFunctionMap, MetroSourceMapSegmentTuple, diff --git a/packages/metro/src/DeltaBundler/Serializers/getRamBundleInfo.js b/packages/metro/src/DeltaBundler/Serializers/getRamBundleInfo.js index f80ff7324f..a36ae9366b 100644 --- a/packages/metro/src/DeltaBundler/Serializers/getRamBundleInfo.js +++ b/packages/metro/src/DeltaBundler/Serializers/getRamBundleInfo.js @@ -11,11 +11,8 @@ 'use strict'; -import type { - ModuleTransportLike, - RamModuleTransport, -} from '../../shared/types.flow'; -import type {Module, ReadOnlyGraph, SerializerOptions} from '../types.flow'; +import type {ModuleTransportLike, RamModuleTransport} from '../../shared/types'; +import type {Module, ReadOnlyGraph, SerializerOptions} from '../types'; import type {SourceMapGeneratorOptions} from './sourceMapGenerator'; import type {GetTransformOptions} from 'metro-config'; 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 0ca2390162..60c2bccfb8 100644 --- a/packages/metro/src/DeltaBundler/Serializers/helpers/__tests__/js-test.js +++ b/packages/metro/src/DeltaBundler/Serializers/helpers/__tests__/js-test.js @@ -9,7 +9,7 @@ * @oncall react_native */ -import type {Dependency} from '../../../types.flow'; +import type {Dependency} from '../../../types'; import CountingSet from '../../../../lib/CountingSet'; import createModuleIdFactory from '../../../../lib/createModuleIdFactory'; diff --git a/packages/metro/src/DeltaBundler/Serializers/helpers/getSourceMapInfo.js b/packages/metro/src/DeltaBundler/Serializers/helpers/getSourceMapInfo.js index 8f1b1f1891..cfee382f42 100644 --- a/packages/metro/src/DeltaBundler/Serializers/helpers/getSourceMapInfo.js +++ b/packages/metro/src/DeltaBundler/Serializers/helpers/getSourceMapInfo.js @@ -11,7 +11,7 @@ 'use strict'; -import type {Module} from '../../types.flow'; +import type {Module} from '../../types'; import type { FBSourceFunctionMap, MetroSourceMapSegmentTuple, diff --git a/packages/metro/src/DeltaBundler/Serializers/helpers/getTransitiveDependencies.js b/packages/metro/src/DeltaBundler/Serializers/helpers/getTransitiveDependencies.js index a5eac43ce2..a3d756a1e8 100644 --- a/packages/metro/src/DeltaBundler/Serializers/helpers/getTransitiveDependencies.js +++ b/packages/metro/src/DeltaBundler/Serializers/helpers/getTransitiveDependencies.js @@ -11,7 +11,7 @@ 'use strict'; -import type {ReadOnlyGraph} from '../../types.flow'; +import type {ReadOnlyGraph} from '../../types'; import {isResolvedDependency} from '../../../lib/isResolvedDependency'; diff --git a/packages/metro/src/DeltaBundler/Serializers/helpers/js.js b/packages/metro/src/DeltaBundler/Serializers/helpers/js.js index 00b3c56d06..83a6654adb 100644 --- a/packages/metro/src/DeltaBundler/Serializers/helpers/js.js +++ b/packages/metro/src/DeltaBundler/Serializers/helpers/js.js @@ -11,7 +11,7 @@ 'use strict'; -import type {MixedOutput, Module} from '../../types.flow'; +import type {MixedOutput, Module} from '../../types'; import type {JsOutput} from 'metro-transform-worker'; const {isResolvedDependency} = require('../../../lib/isResolvedDependency'); diff --git a/packages/metro/src/DeltaBundler/Serializers/helpers/processModules.js b/packages/metro/src/DeltaBundler/Serializers/helpers/processModules.js index 4aaabd0659..ce4e19966b 100644 --- a/packages/metro/src/DeltaBundler/Serializers/helpers/processModules.js +++ b/packages/metro/src/DeltaBundler/Serializers/helpers/processModules.js @@ -11,7 +11,7 @@ 'use strict'; -import type {Module} from '../../types.flow'; +import type {Module} from '../../types'; const {isJsModule, wrapModule} = require('./js'); diff --git a/packages/metro/src/DeltaBundler/Serializers/hmrJSBundle.js b/packages/metro/src/DeltaBundler/Serializers/hmrJSBundle.js index fc9593df01..90bbd18490 100644 --- a/packages/metro/src/DeltaBundler/Serializers/hmrJSBundle.js +++ b/packages/metro/src/DeltaBundler/Serializers/hmrJSBundle.js @@ -12,8 +12,8 @@ 'use strict'; import type {EntryPointURL} from '../../HmrServer'; -import type {DeltaResult, Module, ReadOnlyGraph} from '../types.flow'; -import type {HmrModule} from 'metro-runtime/src/modules/types.flow'; +import type {DeltaResult, Module, ReadOnlyGraph} from '../types'; +import type {HmrModule} from 'metro-runtime/src/modules/types'; const {isJsModule, wrapModule} = require('./helpers/js'); const jscSafeUrl = require('jsc-safe-url'); diff --git a/packages/metro/src/DeltaBundler/Serializers/sourceMapGenerator.js b/packages/metro/src/DeltaBundler/Serializers/sourceMapGenerator.js index a4698899dc..bfdf811988 100644 --- a/packages/metro/src/DeltaBundler/Serializers/sourceMapGenerator.js +++ b/packages/metro/src/DeltaBundler/Serializers/sourceMapGenerator.js @@ -11,7 +11,7 @@ 'use strict'; -import type {Module} from '../types.flow'; +import type {Module} from '../types'; const getSourceMapInfo = require('./helpers/getSourceMapInfo'); const {isJsModule} = require('./helpers/js'); diff --git a/packages/metro/src/DeltaBundler/Serializers/sourceMapObject.js b/packages/metro/src/DeltaBundler/Serializers/sourceMapObject.js index 290e6f73a0..3be66657d4 100644 --- a/packages/metro/src/DeltaBundler/Serializers/sourceMapObject.js +++ b/packages/metro/src/DeltaBundler/Serializers/sourceMapObject.js @@ -11,7 +11,7 @@ 'use strict'; -import type {Module} from '../types.flow'; +import type {Module} from '../types'; import type {SourceMapGeneratorOptions} from './sourceMapGenerator'; import type {MixedSourceMap} from 'metro-source-map'; diff --git a/packages/metro/src/DeltaBundler/Serializers/sourceMapString.js b/packages/metro/src/DeltaBundler/Serializers/sourceMapString.js index d755a0599d..4202e7ac1e 100644 --- a/packages/metro/src/DeltaBundler/Serializers/sourceMapString.js +++ b/packages/metro/src/DeltaBundler/Serializers/sourceMapString.js @@ -11,7 +11,7 @@ 'use strict'; -import type {Module} from '../types.flow'; +import type {Module} from '../types'; import type {SourceMapGeneratorOptions} from './sourceMapGenerator'; const { diff --git a/packages/metro/src/DeltaBundler/Worker.flow.js b/packages/metro/src/DeltaBundler/Worker.flow.js index 9a2de0abd2..8fc0541cc1 100644 --- a/packages/metro/src/DeltaBundler/Worker.flow.js +++ b/packages/metro/src/DeltaBundler/Worker.flow.js @@ -11,7 +11,7 @@ 'use strict'; -import type {TransformResult} from './types.flow'; +import type {TransformResult} from './types'; import type {LogEntry} from 'metro-core/private/Logger'; import type { JsTransformerConfig, diff --git a/packages/metro/src/DeltaBundler/__tests__/DeltaBundler-test.js b/packages/metro/src/DeltaBundler/__tests__/DeltaBundler-test.js index 191c85c45f..bd033451f0 100644 --- a/packages/metro/src/DeltaBundler/__tests__/DeltaBundler-test.js +++ b/packages/metro/src/DeltaBundler/__tests__/DeltaBundler-test.js @@ -11,11 +11,7 @@ 'use strict'; -import type { - MixedOutput, - Options, - TransformResultDependency, -} from '../types.flow'; +import type {MixedOutput, Options, TransformResultDependency} from '../types'; const DeltaBundler = require('../../DeltaBundler'); const DeltaCalculator = require('../DeltaCalculator'); diff --git a/packages/metro/src/DeltaBundler/__tests__/DeltaCalculator-context-test.js b/packages/metro/src/DeltaBundler/__tests__/DeltaCalculator-context-test.js index 85240569b2..34132c9a5d 100644 --- a/packages/metro/src/DeltaBundler/__tests__/DeltaCalculator-context-test.js +++ b/packages/metro/src/DeltaBundler/__tests__/DeltaCalculator-context-test.js @@ -12,7 +12,7 @@ 'use strict'; import type {Result} from '../Graph'; -import type {Options, TransformResultDependency} from '../types.flow'; +import type {Options, TransformResultDependency} from '../types'; import CountingSet from '../../lib/CountingSet'; import {Graph} from '../Graph'; diff --git a/packages/metro/src/DeltaBundler/__tests__/DeltaCalculator-test.js b/packages/metro/src/DeltaBundler/__tests__/DeltaCalculator-test.js index b5c163e32c..b296d826ac 100644 --- a/packages/metro/src/DeltaBundler/__tests__/DeltaCalculator-test.js +++ b/packages/metro/src/DeltaBundler/__tests__/DeltaCalculator-test.js @@ -15,7 +15,7 @@ import type { Module, Options, TransformResultDependency, -} from '../types.flow'; +} from '../types'; import CountingSet from '../../lib/CountingSet'; import path from 'path'; diff --git a/packages/metro/src/DeltaBundler/__tests__/Graph-test.js b/packages/metro/src/DeltaBundler/__tests__/Graph-test.js index 5c77edc847..3c9cad80ea 100644 --- a/packages/metro/src/DeltaBundler/__tests__/Graph-test.js +++ b/packages/metro/src/DeltaBundler/__tests__/Graph-test.js @@ -46,7 +46,7 @@ import type { TransformFn, TransformResultDependency, TransformResultWithSource, -} from '../types.flow'; +} from '../types'; import {deriveAbsolutePathFromContext} from '../../lib/contextModule'; import CountingSet from '../../lib/CountingSet'; diff --git a/packages/metro/src/DeltaBundler/__tests__/buildSubgraph-test.js b/packages/metro/src/DeltaBundler/__tests__/buildSubgraph-test.js index cf0f2e3418..5123994b29 100644 --- a/packages/metro/src/DeltaBundler/__tests__/buildSubgraph-test.js +++ b/packages/metro/src/DeltaBundler/__tests__/buildSubgraph-test.js @@ -9,10 +9,7 @@ */ import type {RequireContextParams} from '../../ModuleGraph/worker/collectDependencies'; -import type { - ResolvedDependency, - TransformResultDependency, -} from '../types.flow'; +import type {ResolvedDependency, TransformResultDependency} from '../types'; import {buildSubgraph} from '../buildSubgraph'; import nullthrows from 'nullthrows'; diff --git a/packages/metro/src/DeltaBundler/__tests__/resolver-test.js b/packages/metro/src/DeltaBundler/__tests__/resolver-test.js index 0db268b0d5..597ae29f01 100644 --- a/packages/metro/src/DeltaBundler/__tests__/resolver-test.js +++ b/packages/metro/src/DeltaBundler/__tests__/resolver-test.js @@ -11,8 +11,8 @@ 'use strict'; -import type {ResolverInputOptions} from '../../shared/types.flow'; -import type {TransformResultDependency} from '../types.flow'; +import type {ResolverInputOptions} from '../../shared/types'; +import type {TransformResultDependency} from '../types'; import type {InputConfigT} from 'metro-config'; const {getDefaultConfig, mergeConfig} = require('metro-config'); diff --git a/packages/metro/src/DeltaBundler/buildSubgraph.js b/packages/metro/src/DeltaBundler/buildSubgraph.js index 55ddb7fe80..847b943dce 100644 --- a/packages/metro/src/DeltaBundler/buildSubgraph.js +++ b/packages/metro/src/DeltaBundler/buildSubgraph.js @@ -16,7 +16,7 @@ import type { ResolveFn, TransformFn, TransformResultDependency, -} from './types.flow'; +} from './types'; import {deriveAbsolutePathFromContext} from '../lib/contextModule'; import {isResolvedDependency} from '../lib/isResolvedDependency'; diff --git a/packages/metro/src/DeltaBundler/mergeDeltas.js b/packages/metro/src/DeltaBundler/mergeDeltas.js index 60add9f140..dc3f952eda 100644 --- a/packages/metro/src/DeltaBundler/mergeDeltas.js +++ b/packages/metro/src/DeltaBundler/mergeDeltas.js @@ -11,7 +11,7 @@ 'use strict'; -import type {DeltaBundle} from 'metro-runtime/src/modules/types.flow'; +import type {DeltaBundle} from 'metro-runtime/src/modules/types'; function mergeDeltas(delta1: DeltaBundle, delta2: DeltaBundle): DeltaBundle { const added1 = new Map(delta1.added); diff --git a/packages/metro/src/DeltaBundler/types.flow.js b/packages/metro/src/DeltaBundler/types.js similarity index 100% rename from packages/metro/src/DeltaBundler/types.flow.js rename to packages/metro/src/DeltaBundler/types.js diff --git a/packages/metro/src/HmrServer.js b/packages/metro/src/HmrServer.js index 603151606a..526aa2aca9 100644 --- a/packages/metro/src/HmrServer.js +++ b/packages/metro/src/HmrServer.js @@ -11,14 +11,14 @@ 'use strict'; import type IncrementalBundler, {RevisionId} from './IncrementalBundler'; -import type {GraphOptions} from './shared/types.flow'; +import type {GraphOptions} from './shared/types'; import type {ConfigT, RootPerfLogger} from 'metro-config'; import type { HmrClientMessage, HmrErrorMessage, HmrMessage, HmrUpdateMessage, -} from 'metro-runtime/src/modules/types.flow'; +} from 'metro-runtime/src/modules/types'; import type {UrlWithParsedQuery} from 'url'; const hmrJSBundle = require('./DeltaBundler/Serializers/hmrJSBundle'); diff --git a/packages/metro/src/IncrementalBundler.js b/packages/metro/src/IncrementalBundler.js index bffbc3f227..afb23fc838 100644 --- a/packages/metro/src/IncrementalBundler.js +++ b/packages/metro/src/IncrementalBundler.js @@ -16,9 +16,9 @@ import type { Options as DeltaBundlerOptions, ReadOnlyDependencies, TransformInputOptions, -} from './DeltaBundler/types.flow'; +} from './DeltaBundler/types'; import type {GraphId} from './lib/getGraphId'; -import type {ResolverInputOptions} from './shared/types.flow'; +import type {ResolverInputOptions} from './shared/types'; import type {ConfigT} from 'metro-config'; const Bundler = require('./Bundler'); diff --git a/packages/metro/src/ModuleGraph/worker/collectDependencies.js b/packages/metro/src/ModuleGraph/worker/collectDependencies.js index 90b758fa30..948f6d3bbe 100644 --- a/packages/metro/src/ModuleGraph/worker/collectDependencies.js +++ b/packages/metro/src/ModuleGraph/worker/collectDependencies.js @@ -15,7 +15,7 @@ import type {CallExpression, Identifier, StringLiteral} from '@babel/types'; import type { AllowOptionalDependencies, AsyncDependencyType, -} from 'metro/private/DeltaBundler/types.flow'; +} from 'metro/private/DeltaBundler/types'; import {isProgram} from '@babel/types'; diff --git a/packages/metro/src/Server.js b/packages/metro/src/Server.js index fd535786cf..1b0ad1b4e0 100644 --- a/packages/metro/src/Server.js +++ b/packages/metro/src/Server.js @@ -21,7 +21,7 @@ import type { ReadOnlyGraph, TransformInputOptions, TransformResult, -} from './DeltaBundler/types.flow'; +} from './DeltaBundler/types'; import type {RevisionId} from './IncrementalBundler'; import type {GraphId} from './lib/getGraphId'; import type {Reporter} from './lib/reporting'; @@ -32,7 +32,7 @@ import type { GraphOptions, ResolverInputOptions, SplitBundleOptions, -} from './shared/types.flow'; +} from './shared/types'; import type {IncomingMessage} from 'connect'; import type {ServerResponse} from 'http'; import type {CacheStore} from 'metro-cache'; @@ -44,7 +44,7 @@ import type { import type {CustomResolverOptions} from 'metro-resolver/private/types'; import type {CustomTransformOptions} from 'metro-transform-worker'; -import {SourcePathsMode} from './shared/types.flow'; +import {SourcePathsMode} from './shared/types'; const {getAsset} = require('./Assets'); const baseJSBundle = require('./DeltaBundler/Serializers/baseJSBundle'); diff --git a/packages/metro/src/Server/__tests__/Server-test.js b/packages/metro/src/Server/__tests__/Server-test.js index 06eb2affbf..beb036ba23 100644 --- a/packages/metro/src/Server/__tests__/Server-test.js +++ b/packages/metro/src/Server/__tests__/Server-test.js @@ -16,7 +16,7 @@ import type { Options, ReadOnlyGraph, TransformResultDependency, -} from '../../DeltaBundler/types.flow'; +} from '../../DeltaBundler/types'; import CountingSet from '../../lib/CountingSet'; import {mergeConfig} from 'metro-config'; diff --git a/packages/metro/src/__tests__/HmrServer-test.js b/packages/metro/src/__tests__/HmrServer-test.js index b8df086b77..8a0be0abc4 100644 --- a/packages/metro/src/__tests__/HmrServer-test.js +++ b/packages/metro/src/__tests__/HmrServer-test.js @@ -9,9 +9,9 @@ * @oncall react_native */ -import type {TransformResultDependency} from '../DeltaBundler/types.flow'; +import type {TransformResultDependency} from '../DeltaBundler/types'; import type {Client} from '../HmrServer'; -import type {HmrClientMessage} from 'metro-runtime/src/modules/types.flow'; +import type {HmrClientMessage} from 'metro-runtime/src/modules/types'; import DeltaBundler from '../DeltaBundler'; import IncrementalBundler from '../IncrementalBundler'; diff --git a/packages/metro/src/index.flow.js b/packages/metro/src/index.flow.js index fc52145533..027e964db2 100644 --- a/packages/metro/src/index.flow.js +++ b/packages/metro/src/index.flow.js @@ -14,8 +14,7 @@ import type {AssetData} from './Assets'; import type {ReadOnlyGraph} from './DeltaBundler'; import type {ServerOptions} from './Server'; -import type {BuildOptions} from './shared/types.flow'; -import type {OutputOptions, RequestOptions} from './shared/types.flow.js'; +import type {BuildOptions, OutputOptions, RequestOptions} from './shared/types'; import type {HandleFunction} from 'connect'; import type {Server as HttpServer} from 'http'; import type {Server as HttpsServer} from 'https'; diff --git a/packages/metro/src/lib/bundleToString.js b/packages/metro/src/lib/bundleToString.js index a253baba09..268d9ba23d 100644 --- a/packages/metro/src/lib/bundleToString.js +++ b/packages/metro/src/lib/bundleToString.js @@ -11,10 +11,7 @@ 'use strict'; -import type { - Bundle, - BundleMetadata, -} from 'metro-runtime/src/modules/types.flow'; +import type {Bundle, BundleMetadata} from 'metro-runtime/src/modules/types'; /** * Serializes a bundle into a plain JS bundle. diff --git a/packages/metro/src/lib/formatBundlingError.js b/packages/metro/src/lib/formatBundlingError.js index b46be28052..261a33e69f 100644 --- a/packages/metro/src/lib/formatBundlingError.js +++ b/packages/metro/src/lib/formatBundlingError.js @@ -10,7 +10,7 @@ 'use strict'; -import type {FormattedError} from 'metro-runtime/src/modules/types.flow'; +import type {FormattedError} from 'metro-runtime/src/modules/types'; const GraphNotFoundError = require('../IncrementalBundler/GraphNotFoundError'); const ResourceNotFoundError = require('../IncrementalBundler/ResourceNotFoundError'); diff --git a/packages/metro/src/lib/getAppendScripts.js b/packages/metro/src/lib/getAppendScripts.js index 4e7ea7bc29..2038994bc2 100644 --- a/packages/metro/src/lib/getAppendScripts.js +++ b/packages/metro/src/lib/getAppendScripts.js @@ -11,7 +11,7 @@ 'use strict'; import type {Module} from '../DeltaBundler'; -import type {Dependency} from '../DeltaBundler/types.flow'; +import type {Dependency} from '../DeltaBundler/types'; import CountingSet from './CountingSet'; diff --git a/packages/metro/src/lib/getGraphId.js b/packages/metro/src/lib/getGraphId.js index 919ce7fd54..65d76d4231 100644 --- a/packages/metro/src/lib/getGraphId.js +++ b/packages/metro/src/lib/getGraphId.js @@ -11,8 +11,8 @@ 'use strict'; -import type {TransformInputOptions} from '../DeltaBundler/types.flow'; -import type {ResolverInputOptions} from '../shared/types.flow'; +import type {TransformInputOptions} from '../DeltaBundler/types'; +import type {ResolverInputOptions} from '../shared/types'; const canonicalize = require('metro-core/private/canonicalize'); diff --git a/packages/metro/src/lib/getPrependedScripts.js b/packages/metro/src/lib/getPrependedScripts.js index a93b56191e..2c8836c29b 100644 --- a/packages/metro/src/lib/getPrependedScripts.js +++ b/packages/metro/src/lib/getPrependedScripts.js @@ -13,9 +13,9 @@ import type Bundler from '../Bundler'; import type DeltaBundler, {Module} from '../DeltaBundler'; -import type {TransformInputOptions} from '../DeltaBundler/types.flow'; -import type {ResolverInputOptions} from '../shared/types.flow'; -import type {ConfigT} from 'metro-config/private/configTypes.flow'; +import type {TransformInputOptions} from '../DeltaBundler/types'; +import type {ResolverInputOptions} from '../shared/types'; +import type {ConfigT} from 'metro-config'; import CountingSet from './CountingSet'; diff --git a/packages/metro/src/lib/isResolvedDependency.js b/packages/metro/src/lib/isResolvedDependency.js index 9c0c887ff7..50976c407a 100644 --- a/packages/metro/src/lib/isResolvedDependency.js +++ b/packages/metro/src/lib/isResolvedDependency.js @@ -9,7 +9,7 @@ * @oncall react_native */ -import type {Dependency, ResolvedDependency} from '../DeltaBundler/types.flow'; +import type {Dependency, ResolvedDependency} from '../DeltaBundler/types'; export function isResolvedDependency( dep: Dependency, diff --git a/packages/metro/src/lib/parseOptionsFromUrl.js b/packages/metro/src/lib/parseOptionsFromUrl.js index 7825613b8f..22e2ac19d6 100644 --- a/packages/metro/src/lib/parseOptionsFromUrl.js +++ b/packages/metro/src/lib/parseOptionsFromUrl.js @@ -11,10 +11,10 @@ 'use strict'; -import type {BundleOptions} from '../shared/types.flow'; +import type {BundleOptions} from '../shared/types'; import type {TransformProfile} from 'metro-babel-transformer'; -import {SourcePathsMode} from '../shared/types.flow'; +import {SourcePathsMode} from '../shared/types'; const parsePlatformFilePath = require('../node-haste/lib/parsePlatformFilePath'); const parseCustomResolverOptions = require('./parseCustomResolverOptions'); diff --git a/packages/metro/src/lib/splitBundleOptions.js b/packages/metro/src/lib/splitBundleOptions.js index cd8ab2a6dc..81c51ee281 100644 --- a/packages/metro/src/lib/splitBundleOptions.js +++ b/packages/metro/src/lib/splitBundleOptions.js @@ -11,7 +11,7 @@ 'use strict'; -import type {BundleOptions, SplitBundleOptions} from '../shared/types.flow'; +import type {BundleOptions, SplitBundleOptions} from '../shared/types'; /** * Splits a BundleOptions object into smaller, more manageable parts. diff --git a/packages/metro/src/lib/transformHelpers.js b/packages/metro/src/lib/transformHelpers.js index 130eec8946..28d6c07006 100644 --- a/packages/metro/src/lib/transformHelpers.js +++ b/packages/metro/src/lib/transformHelpers.js @@ -17,9 +17,9 @@ import type { BundlerResolution, TransformInputOptions, TransformResultDependency, -} from '../DeltaBundler/types.flow'; +} from '../DeltaBundler/types'; import type {TransformOptions} from '../DeltaBundler/Worker'; -import type {ResolverInputOptions} from '../shared/types.flow'; +import type {ResolverInputOptions} from '../shared/types'; import type {RequireContext} from './contextModule'; import type {ConfigT} from 'metro-config'; import type {Type} from 'metro-transform-worker'; diff --git a/packages/metro/src/node-haste/DependencyGraph.js b/packages/metro/src/node-haste/DependencyGraph.js index 5b9a39ba00..2fa82cd95f 100644 --- a/packages/metro/src/node-haste/DependencyGraph.js +++ b/packages/metro/src/node-haste/DependencyGraph.js @@ -12,8 +12,8 @@ import type { BundlerResolution, TransformResultDependency, -} from '../DeltaBundler/types.flow'; -import type {ResolverInputOptions} from '../shared/types.flow'; +} from '../DeltaBundler/types'; +import type {ResolverInputOptions} from '../shared/types'; import type Package from './Package'; import type {ConfigT} from 'metro-config'; import type MetroFileMap, { diff --git a/packages/metro/src/node-haste/DependencyGraph/ModuleResolution.js b/packages/metro/src/node-haste/DependencyGraph/ModuleResolution.js index e74e1e37ce..268b08ff1e 100644 --- a/packages/metro/src/node-haste/DependencyGraph/ModuleResolution.js +++ b/packages/metro/src/node-haste/DependencyGraph/ModuleResolution.js @@ -14,9 +14,9 @@ import type { BundlerResolution, TransformResultDependency, -} from '../../DeltaBundler/types.flow'; +} from '../../DeltaBundler/types'; import type {Reporter} from '../../lib/reporting'; -import type {ResolverInputOptions} from '../../shared/types.flow'; +import type {ResolverInputOptions} from '../../shared/types'; import type { CustomResolver, DoesFileExist, diff --git a/packages/metro/src/shared/output/RamBundle.js b/packages/metro/src/shared/output/RamBundle.js index 5dcc5e20d4..ff57368c9f 100644 --- a/packages/metro/src/shared/output/RamBundle.js +++ b/packages/metro/src/shared/output/RamBundle.js @@ -12,7 +12,7 @@ 'use strict'; import type {RamBundleInfo} from '../../DeltaBundler/Serializers/getRamBundleInfo'; -import type {OutputOptions, RequestOptions} from '../types.flow'; +import type {OutputOptions, RequestOptions} from '../types'; const Server = require('../../Server'); const asAssets = require('./RamBundle/as-assets'); diff --git a/packages/metro/src/shared/output/RamBundle/as-assets.js b/packages/metro/src/shared/output/RamBundle/as-assets.js index 247c90918f..9979b46ca9 100644 --- a/packages/metro/src/shared/output/RamBundle/as-assets.js +++ b/packages/metro/src/shared/output/RamBundle/as-assets.js @@ -12,8 +12,8 @@ 'use strict'; import type {RamBundleInfo} from '../../../DeltaBundler/Serializers/getRamBundleInfo'; -import type {ModuleTransportLike} from '../../../shared/types.flow'; -import type {OutputOptions} from '../../types.flow'; +import type {ModuleTransportLike} from '../../../shared/types'; +import type {OutputOptions} from '../../types'; const relativizeSourceMapInline = require('../../../lib/relativizeSourceMap'); const writeFile = require('../writeFile'); diff --git a/packages/metro/src/shared/output/RamBundle/as-indexed-file.js b/packages/metro/src/shared/output/RamBundle/as-indexed-file.js index 1b493ea366..0e509a9f83 100644 --- a/packages/metro/src/shared/output/RamBundle/as-indexed-file.js +++ b/packages/metro/src/shared/output/RamBundle/as-indexed-file.js @@ -16,7 +16,7 @@ import type { ModuleGroups, ModuleTransportLike, OutputOptions, -} from '../../types.flow'; +} from '../../types'; import type {WriteStream} from 'fs'; const relativizeSourceMapInline = require('../../../lib/relativizeSourceMap'); diff --git a/packages/metro/src/shared/output/RamBundle/buildSourcemapWithMetadata.js b/packages/metro/src/shared/output/RamBundle/buildSourcemapWithMetadata.js index 89e8307776..a5b9aa130f 100644 --- a/packages/metro/src/shared/output/RamBundle/buildSourcemapWithMetadata.js +++ b/packages/metro/src/shared/output/RamBundle/buildSourcemapWithMetadata.js @@ -11,7 +11,7 @@ 'use strict'; -import type {ModuleGroups, ModuleTransportLike} from '../../types.flow'; +import type {ModuleGroups, ModuleTransportLike} from '../../types'; import type {IndexMap} from 'metro-source-map'; const { diff --git a/packages/metro/src/shared/output/RamBundle/util.js b/packages/metro/src/shared/output/RamBundle/util.js index f19e6f5430..ff71b6869d 100644 --- a/packages/metro/src/shared/output/RamBundle/util.js +++ b/packages/metro/src/shared/output/RamBundle/util.js @@ -11,7 +11,7 @@ 'use strict'; -import type {ModuleGroups, ModuleTransportLike} from '../../types.flow'; +import type {ModuleGroups, ModuleTransportLike} from '../../types'; import type { BasicSourceMap, IndexMap, diff --git a/packages/metro/src/shared/output/bundle.flow.js b/packages/metro/src/shared/output/bundle.flow.js index e13b635fc0..a9f77a8e30 100644 --- a/packages/metro/src/shared/output/bundle.flow.js +++ b/packages/metro/src/shared/output/bundle.flow.js @@ -12,7 +12,7 @@ 'use strict'; import type {AssetData} from '../../Assets'; -import type {BuildOptions, OutputOptions, RequestOptions} from '../types.flow'; +import type {BuildOptions, OutputOptions, RequestOptions} from '../types'; import type {MixedSourceMap} from 'metro-source-map'; const relativizeSourceMapInline = require('../../lib/relativizeSourceMap'); diff --git a/packages/metro/src/shared/types.flow.js b/packages/metro/src/shared/types.js similarity index 99% rename from packages/metro/src/shared/types.flow.js rename to packages/metro/src/shared/types.js index 80f100592c..fc798abdcf 100644 --- a/packages/metro/src/shared/types.flow.js +++ b/packages/metro/src/shared/types.js @@ -14,7 +14,7 @@ import type { Options as DeltaBundlerOptions, TransformInputOptions, -} from '../DeltaBundler/types.flow'; +} from '../DeltaBundler/types'; import type {TransformProfile} from 'metro-babel-transformer'; import type {CustomResolverOptions} from 'metro-resolver'; import type { diff --git a/scripts/__tests__/subpackages-test.js b/scripts/__tests__/subpackages-test.js index f7daca5676..6123fe1467 100644 --- a/scripts/__tests__/subpackages-test.js +++ b/scripts/__tests__/subpackages-test.js @@ -14,6 +14,12 @@ import fs from 'fs'; // $FlowFixMe[untyped-import] glob in OSS import glob from 'glob'; import path from 'path'; +import {promisify} from 'util'; + +const globAsync = promisify(glob); + +// For promisified glob +jest.useRealTimers(); const WORKSPACE_ROOT = path.resolve(__dirname, '../..'); @@ -110,6 +116,18 @@ describe.each([...ALL_PACKAGES])('%s', packagePath => { ); }); + test('all .flow.js files have an accompanying babel-registering entry point', async () => { + const flowFiles = await globAsync('src/**/*.flow.js', { + cwd: path.resolve(WORKSPACE_ROOT, packagePath), + ignore: ['node_modules'], + absolute: true, + }); + const unmatchedFlowFiles = flowFiles.filter( + file => !fs.existsSync(file.replace(/\.flow\.js$/, '.js')), + ); + expect(unmatchedFlowFiles).toEqual([]); + }); + if (!packagePath.startsWith('private' + path.sep)) { describe('public package constraints', () => { test('does not have "private" in package.json', () => {