Files
Fluxup_PAP/node_modules/@expo/metro-config/build/ExpoMetroConfig.d.ts
2026-03-10 16:18:05 +00:00

114 lines
4.0 KiB
TypeScript

import type { MixedOutput, Module, ReadOnlyGraph } from '@expo/metro/metro/DeltaBundler/types';
import type { ConfigT as MetroConfig } from '@expo/metro/metro-config';
import { INTERNAL_CALLSITES_REGEX } from './customizeFrame';
import { FileStore } from './file-store';
export interface DefaultConfigOptions {
/** @deprecated */
mode?: 'exotic';
/**
* **Experimental:** Enable CSS support for Metro web, and shim on native.
*
* This is an experimental feature and may change in the future. The underlying implementation
* is subject to change, and native support for CSS Modules may be added in the future during a non-major SDK release.
*/
isCSSEnabled?: boolean;
/**
* **Experimental:** Modify premodules before a code asset is serialized
*
* This is an experimental feature and may change in the future. The underlying implementation
* is subject to change.
*/
unstable_beforeAssetSerializationPlugins?: ((serializationInput: {
graph: ReadOnlyGraph<MixedOutput>;
premodules: Module[];
debugId?: string;
}) => Module[])[];
}
export declare function createStableModuleIdFactory(root: string): (path: string, context?: {
platform: string;
environment?: string | null;
}) => number;
export declare function getDefaultConfig(projectRoot: string, { mode, isCSSEnabled, unstable_beforeAssetSerializationPlugins }?: DefaultConfigOptions): MetroConfig & {
reporter: {
update(): void;
};
watchFolders: string[];
resolver: {
unstable_conditionsByPlatform: {
ios: string[];
android: string[];
web: string[];
};
resolverMainFields: string[];
platforms: string[];
assetExts: string[];
sourceExts: string[];
nodeModulesPaths: string[];
blockList: RegExp[];
};
cacheStores: FileStore<any>[];
watcher: {
unstable_workerThreads: false;
additionalExts: string[];
};
serializer: {
isThirdPartyModule(module: {
readonly path: string;
}): boolean;
createModuleIdFactory: () => (path: string, context?: {
platform: string;
environment?: string | null;
}) => number;
getModulesRunBeforeMainModule: () => string[];
getPolyfills: ({ platform }: {
platform?: null | string;
}) => any;
};
server: {
rewriteRequestUrl: (url: string) => string;
port: number;
unstable_serverRoot: string;
};
symbolicator: {
customizeFrame: ($$PARAM_0$$: {
readonly file?: null | string;
readonly lineNumber?: null | number;
readonly column?: null | number;
readonly methodName?: null | string;
}) => (null | undefined | {
readonly collapse?: boolean;
}) | Promise<null | undefined | {
readonly collapse?: boolean;
}>;
};
transformerPath: string;
transformer: {
unstable_workerThreads: true;
unstable_renameRequire: false;
_expoRouterPath: string | undefined;
postcssHash: string | null;
browserslistHash: string | null;
sassVersion: string | null;
reanimatedVersion: string | null;
workletsVersion: string | null;
_expoRelativeProjectRoot: string;
unstable_allowRequireContext: true;
allowOptionalDependencies: true;
babelTransformerPath: string;
asyncRequireModulePath: string;
assetRegistryPath: string;
enableBabelRuntime: string | undefined;
getTransformOptions: () => Promise<{
transform: {
experimentalImportSupport: true;
inlineRequires: false;
};
}>;
};
};
/** Use to access the Expo Metro transformer path */
export declare const unstable_transformerPath: string;
export declare const internal_supervisingTransformerPath: string;
export { MetroConfig, INTERNAL_CALLSITES_REGEX };
export declare const EXPO_DEBUG: boolean;