51 lines
1.4 KiB
TypeScript
51 lines
1.4 KiB
TypeScript
/**
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @format
|
|
* @oncall react_native
|
|
*/
|
|
|
|
export interface CustomTransformOptions {
|
|
[key: string]: unknown;
|
|
}
|
|
|
|
export type TransformProfile = 'default' | 'hermes-stable' | 'hermes-canary';
|
|
|
|
export interface BabelTransformerOptions {
|
|
readonly customTransformOptions?: CustomTransformOptions;
|
|
readonly dev: boolean;
|
|
readonly enableBabelRCLookup?: boolean;
|
|
readonly enableBabelRuntime: boolean | string;
|
|
readonly extendsBabelConfigPath?: string;
|
|
readonly experimentalImportSupport?: boolean;
|
|
readonly hermesParser?: boolean;
|
|
readonly hot: boolean;
|
|
readonly minify: boolean;
|
|
readonly unstable_disableES6Transforms?: boolean;
|
|
readonly platform: string | null;
|
|
readonly projectRoot: string;
|
|
readonly publicPath: string;
|
|
readonly unstable_transformProfile?: TransformProfile;
|
|
readonly globalPrefix: string;
|
|
}
|
|
|
|
export interface BabelTransformerArgs {
|
|
readonly filename: string;
|
|
readonly options: BabelTransformerOptions;
|
|
readonly plugins?: unknown;
|
|
readonly src: string;
|
|
}
|
|
|
|
export interface BabelTransformer {
|
|
transform: (args: BabelTransformerArgs) => {
|
|
ast: unknown;
|
|
metadata: unknown;
|
|
};
|
|
getCacheKey?: () => string;
|
|
}
|
|
|
|
export const transform: BabelTransformer['transform'];
|