@embrace-io/react-native
Version:
A React Native wrapper for the Embrace SDK
48 lines (47 loc) • 3.2 kB
TypeScript
import { IOS_LANGUAGE } from "../setup/patches/common";
import { FileUpdatable, Patchable } from "./file";
type ProjectFileType = "resource" | "source";
declare const UPLOAD_SYMBOLS_PHASE = "Embrace Symbol Uploads";
declare const EMBRACE_INIT_OBJECTIVEC = "[EmbraceInitializer start];";
declare const EMBR_RUN_SCRIPT = "\"${SRCROOT}/../node_modules/@embrace-io/react-native/ios/scripts/run.sh\"";
declare const EMBR_NATIVE_POD = "pod 'EmbraceIO'";
declare const EMBR_KSCRASH_MODULAR_HEADER_POD = "\n# [Embrace] Make KSCrash modular so Swift can import it \npod 'KSCrash', :modular_headers => true\n";
declare const BUNDLE_PHASE_REGEXP: RegExp;
declare const MKDIR_SOURCEMAP_DIR = "mkdir -p \"$CONFIGURATION_BUILD_DIR/embrace-assets\"";
declare const EXPORT_SOURCEMAP_RN_VAR = "export SOURCEMAP_FILE=\"$CONFIGURATION_BUILD_DIR/embrace-assets/main.jsbundle.map\";";
declare const ENOENT_XCODE_PROJ_ERROR_MESSAGE = "Looks like the app name in package.json doesn't match your iOS project. If you used a custom package name (--package-name), double-check the iOS project name and rerun";
declare const EMBRACE_IMPORT_OBJECTIVEC: ({ bridgingHeader, }: {
bridgingHeader?: string;
}) => string[];
declare const getAppDelegateByIOSLanguage: (projectName: string, language: IOS_LANGUAGE) => FileUpdatable | undefined;
declare const getPodFile: () => FileUpdatable;
declare const podfilePatchable: () => Promise<FileUpdatable>;
declare const embracePlistPatchable: () => Promise<FileUpdatable>;
declare const xcodePatchable: (projectName: string) => Promise<XcodeProject>;
declare const getXcodeProject: (path: string) => Promise<XcodeProject>;
declare class XcodeProject implements Patchable {
project: any;
path: string;
constructor(path: string | undefined, project: any);
buildPhaseObj(): {
[key: string]: any;
};
hasLine(key: string, line: string | RegExp): boolean;
modifyPhase(key: string, line: string | RegExp, add: string): void;
findPhase(line: string | RegExp): string;
findAndRemovePhase(match: string | RegExp): void;
patch(): void;
writeSync(): any;
addFile(groupName: string, path: string, fileType?: ProjectFileType): void;
getBridgingHeaderName(groupName: string): string;
private getTargetHash;
private getBuildProperty;
private updateBuildProperty;
removeResourceFile(groupName: string, path: string): void;
private findHash;
addBridgingHeader(projectName: string): Promise<boolean>;
}
declare const projectNameToBridgingHeader: (projectName: string) => string;
declare const getBridgingHeaderContents: () => string;
declare const findNameWithCaseSensitiveFromPath: (path: string, name: string) => string;
export { type ProjectFileType, EMBR_NATIVE_POD, EMBR_KSCRASH_MODULAR_HEADER_POD, BUNDLE_PHASE_REGEXP, MKDIR_SOURCEMAP_DIR, EXPORT_SOURCEMAP_RN_VAR, EMBR_RUN_SCRIPT, EMBRACE_INIT_OBJECTIVEC, UPLOAD_SYMBOLS_PHASE, ENOENT_XCODE_PROJ_ERROR_MESSAGE, EMBRACE_IMPORT_OBJECTIVEC, getAppDelegateByIOSLanguage, getPodFile, podfilePatchable, embracePlistPatchable, xcodePatchable, getXcodeProject, projectNameToBridgingHeader, getBridgingHeaderContents, findNameWithCaseSensitiveFromPath, XcodeProject, };