Compare commits
16 Commits
c80be9960a
...
8385b205c3
| Author | SHA1 | Date | |
|---|---|---|---|
| 8385b205c3 | |||
|
|
56c0cee119 | ||
|
|
833e4f0422 | ||
|
|
ee7736caee | ||
|
|
8a11043f37 | ||
|
|
9ab0e84b1b | ||
|
|
fe7a839b14 | ||
|
|
d40ccc8786 | ||
|
|
8f056646d9 | ||
|
|
6468665116 | ||
|
|
ed6e15edc8 | ||
|
|
bd477678bc | ||
|
|
b26997af00 | ||
|
|
1e1cc37c3b | ||
|
|
2216a3f94d | ||
|
|
6cc083b860 |
13
desktop/PortForwardingMacApp/Podfile
Normal file
13
desktop/PortForwardingMacApp/Podfile
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# Uncomment the next line to define a global platform for your project
|
||||||
|
# platform :ios, '9.0'
|
||||||
|
|
||||||
|
target 'PortForwardingMacApp' do
|
||||||
|
# Comment the next line if you don't want to use dynamic frameworks
|
||||||
|
#use_frameworks!
|
||||||
|
platform :osx, '11'
|
||||||
|
|
||||||
|
# Pods for PortForwardingMacApp
|
||||||
|
pod 'Flipper-PeerTalk', '~>0.0'
|
||||||
|
pod 'CocoaAsyncSocket', '~>7.6'
|
||||||
|
|
||||||
|
end
|
||||||
20
desktop/PortForwardingMacApp/Podfile.lock
Normal file
20
desktop/PortForwardingMacApp/Podfile.lock
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
PODS:
|
||||||
|
- CocoaAsyncSocket (7.6.5)
|
||||||
|
- Flipper-PeerTalk (0.0.4)
|
||||||
|
|
||||||
|
DEPENDENCIES:
|
||||||
|
- CocoaAsyncSocket (~> 7.6)
|
||||||
|
- Flipper-PeerTalk (~> 0.0)
|
||||||
|
|
||||||
|
SPEC REPOS:
|
||||||
|
trunk:
|
||||||
|
- CocoaAsyncSocket
|
||||||
|
- Flipper-PeerTalk
|
||||||
|
|
||||||
|
SPEC CHECKSUMS:
|
||||||
|
CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
|
||||||
|
Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9
|
||||||
|
|
||||||
|
PODFILE CHECKSUM: 861e0c9ba6cbdc85168a923850426dcf49e444fa
|
||||||
|
|
||||||
|
COCOAPODS: 1.11.2
|
||||||
@@ -0,0 +1,417 @@
|
|||||||
|
// !$*UTF8*$!
|
||||||
|
{
|
||||||
|
archiveVersion = 1;
|
||||||
|
classes = {
|
||||||
|
};
|
||||||
|
objectVersion = 55;
|
||||||
|
objects = {
|
||||||
|
|
||||||
|
/* Begin PBXBuildFile section */
|
||||||
|
3B3526C92757197400D803F9 /* FKPortForwardingClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B61AC1A2756C3D30017E050 /* FKPortForwardingClient.m */; };
|
||||||
|
3B3526CA2757197400D803F9 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B3FD2F527565B8000D731DB /* main.m */; };
|
||||||
|
3B3526CF275721B500D803F9 /* FBPortForwardingMacApp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B0A99AA5350C20B2CFA072E3 /* FBPortForwardingMacApp.framework */; };
|
||||||
|
49AE9D8F5494BB1BC5BF2B9E /* libPods-PortForwardingMacApp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BFC73B0CB918678127B57C88 /* libPods-PortForwardingMacApp.a */; };
|
||||||
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
|
/* Begin PBXCopyFilesBuildPhase section */
|
||||||
|
3B3526D1275721B500D803F9 /* Embed Frameworks */ = {
|
||||||
|
isa = PBXCopyFilesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
dstPath = "";
|
||||||
|
dstSubfolderSpec = 10;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
name = "Embed Frameworks";
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXCopyFilesBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXFileReference section */
|
||||||
|
339253FD0D50C9D90FA019FF /* Pods-PortForwardingMacApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PortForwardingMacApp.release.xcconfig"; path = "../../Pods/Target Support Files/Pods-PortForwardingMacApp/Pods-PortForwardingMacApp.release.xcconfig"; sourceTree = "<group>"; };
|
||||||
|
3B3526B9275718D700D803F9 /* PortForwardingMacApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PortForwardingMacApp.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
3B3FD2F527565B8000D731DB /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||||
|
3B61AC192756C3D30017E050 /* FKPortForwardingClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FKPortForwardingClient.h; path = iOS/FlipperKit/FKPortForwarding/FKPortForwardingClient.h; sourceTree = SOURCE_ROOT; };
|
||||||
|
3B61AC1A2756C3D30017E050 /* FKPortForwardingClient.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FKPortForwardingClient.m; path = iOS/FlipperKit/FKPortForwarding/FKPortForwardingClient.m; sourceTree = SOURCE_ROOT; };
|
||||||
|
95395DC97D1F23A7B72F2FB8 /* Pods-PortForwardingMacApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PortForwardingMacApp.debug.xcconfig"; path = "Target Support Files/Pods-PortForwardingMacApp/Pods-PortForwardingMacApp.debug.xcconfig"; sourceTree = "<group>"; };
|
||||||
|
B0A99AA5350C20B2CFA072E3 /* FBPortForwardingMacApp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FBPortForwardingMacApp.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
BFC73B0CB918678127B57C88 /* libPods-PortForwardingMacApp.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-PortForwardingMacApp.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
|
3B3526B6275718D700D803F9 /* Frameworks */ = {
|
||||||
|
isa = PBXFrameworksBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
3B3526CF275721B500D803F9 /* FBPortForwardingMacApp.framework in Frameworks */,
|
||||||
|
49AE9D8F5494BB1BC5BF2B9E /* libPods-PortForwardingMacApp.a in Frameworks */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXFrameworksBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXGroup section */
|
||||||
|
3B3FD2E927565B8000D731DB = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
3B3FD2F427565B8000D731DB /* PortForwardingMacApp */,
|
||||||
|
3B3FD2F327565B8000D731DB /* Products */,
|
||||||
|
3BDD19D5275661C600E99F80 /* Frameworks */,
|
||||||
|
FE7B3BC513417A34A3909022 /* Pods */,
|
||||||
|
);
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
3B3FD2F327565B8000D731DB /* Products */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
3B3526B9275718D700D803F9 /* PortForwardingMacApp.app */,
|
||||||
|
);
|
||||||
|
name = Products;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
3B3FD2F427565B8000D731DB /* PortForwardingMacApp */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
3BB802F8275852CD00A82E32 /* FKPortForwarding */,
|
||||||
|
3B3FD2F527565B8000D731DB /* main.m */,
|
||||||
|
);
|
||||||
|
path = PortForwardingMacApp;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
3BB802F8275852CD00A82E32 /* FKPortForwarding */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
3BB802FF2758545200A82E32 /* FKPortForwardingClient.h */,
|
||||||
|
3BB803002758545200A82E32 /* FKPortForwardingClient.m */,
|
||||||
|
3BB802FE2758545200A82E32 /* FKPortForwardingCommon.h */,
|
||||||
|
);
|
||||||
|
name = FKPortForwarding;
|
||||||
|
path = ..;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
3BDD19D5275661C600E99F80 /* Frameworks */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
B0A99AA5350C20B2CFA072E3 /* FBPortForwardingMacApp.framework */,
|
||||||
|
BFC73B0CB918678127B57C88 /* libPods-PortForwardingMacApp.a */,
|
||||||
|
);
|
||||||
|
name = Frameworks;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
FE7B3BC513417A34A3909022 /* Pods */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
95395DC97D1F23A7B72F2FB8 /* Pods-PortForwardingMacApp.debug.xcconfig */,
|
||||||
|
339253FD0D50C9D90FA019FF /* Pods-PortForwardingMacApp.release.xcconfig */,
|
||||||
|
);
|
||||||
|
name = Pods;
|
||||||
|
path = iOS/Pods;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
/* End PBXGroup section */
|
||||||
|
|
||||||
|
/* Begin PBXNativeTarget section */
|
||||||
|
3B3526B8275718D700D803F9 /* PortForwardingMacApp */ = {
|
||||||
|
isa = PBXNativeTarget;
|
||||||
|
buildConfigurationList = 3B3526C6275718D800D803F9 /* Build configuration list for PBXNativeTarget "PortForwardingMacApp" */;
|
||||||
|
buildPhases = (
|
||||||
|
B95B3E164CB7F2CE4005C454 /* [CP] Check Pods Manifest.lock */,
|
||||||
|
3B3526B5275718D700D803F9 /* Sources */,
|
||||||
|
3B3526B6275718D700D803F9 /* Frameworks */,
|
||||||
|
3B3526B7275718D700D803F9 /* Resources */,
|
||||||
|
3B3526D1275721B500D803F9 /* Embed Frameworks */,
|
||||||
|
);
|
||||||
|
buildRules = (
|
||||||
|
);
|
||||||
|
dependencies = (
|
||||||
|
);
|
||||||
|
name = PortForwardingMacApp;
|
||||||
|
productName = PortForwardingMacApp;
|
||||||
|
productReference = 3B3526B9275718D700D803F9 /* PortForwardingMacApp.app */;
|
||||||
|
productType = "com.apple.product-type.application";
|
||||||
|
};
|
||||||
|
/* End PBXNativeTarget section */
|
||||||
|
|
||||||
|
/* Begin PBXProject section */
|
||||||
|
3B3FD2EA27565B8000D731DB /* Project object */ = {
|
||||||
|
isa = PBXProject;
|
||||||
|
attributes = {
|
||||||
|
BuildIndependentTargetsInParallel = 1;
|
||||||
|
LastUpgradeCheck = 1310;
|
||||||
|
TargetAttributes = {
|
||||||
|
3B3526B8275718D700D803F9 = {
|
||||||
|
CreatedOnToolsVersion = 13.1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
buildConfigurationList = 3B3FD2ED27565B8000D731DB /* Build configuration list for PBXProject "PortForwardingMacApp" */;
|
||||||
|
compatibilityVersion = "Xcode 13.0";
|
||||||
|
developmentRegion = en;
|
||||||
|
hasScannedForEncodings = 0;
|
||||||
|
knownRegions = (
|
||||||
|
en,
|
||||||
|
Base,
|
||||||
|
);
|
||||||
|
mainGroup = 3B3FD2E927565B8000D731DB;
|
||||||
|
productRefGroup = 3B3FD2F327565B8000D731DB /* Products */;
|
||||||
|
projectDirPath = "";
|
||||||
|
projectRoot = "";
|
||||||
|
targets = (
|
||||||
|
3B3526B8275718D700D803F9 /* PortForwardingMacApp */,
|
||||||
|
);
|
||||||
|
};
|
||||||
|
/* End PBXProject section */
|
||||||
|
|
||||||
|
/* Begin PBXResourcesBuildPhase section */
|
||||||
|
3B3526B7275718D700D803F9 /* Resources */ = {
|
||||||
|
isa = PBXResourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXResourcesBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXShellScriptBuildPhase section */
|
||||||
|
B95B3E164CB7F2CE4005C454 /* [CP] Check Pods Manifest.lock */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputFileListPaths = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||||
|
"${PODS_ROOT}/Manifest.lock",
|
||||||
|
);
|
||||||
|
name = "[CP] Check Pods Manifest.lock";
|
||||||
|
outputFileListPaths = (
|
||||||
|
);
|
||||||
|
outputPaths = (
|
||||||
|
"$(DERIVED_FILE_DIR)/Pods-PortForwardingMacApp-checkManifestLockResult.txt",
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||||
|
showEnvVarsInLog = 0;
|
||||||
|
};
|
||||||
|
/* End PBXShellScriptBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXSourcesBuildPhase section */
|
||||||
|
3B3526B5275718D700D803F9 /* Sources */ = {
|
||||||
|
isa = PBXSourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
3B2385EB275850F100789041 /* main.m in Sources */,
|
||||||
|
3BB803012758545200A82E32 /* FKPortForwardingClient.m in Sources */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXSourcesBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin XCBuildConfiguration section */
|
||||||
|
3B3526C7275718D800D803F9 /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
baseConfigurationReference = 95395DC97D1F23A7B72F2FB8 /* Pods-PortForwardingMacApp.debug.xcconfig */;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||||
|
BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
|
||||||
|
CODE_SIGN_ENTITLEMENTS = "";
|
||||||
|
CODE_SIGN_IDENTITY = "-";
|
||||||
|
CODE_SIGN_STYLE = Automatic;
|
||||||
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
|
CURRENT_PROJECT_VERSION = 1;
|
||||||
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
|
HEADER_SEARCH_PATHS = (
|
||||||
|
"$(inherited)",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public\"",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public/CocoaAsyncSocket\"",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public/Flipper-PeerTalk\"",
|
||||||
|
"${SRCROOT}/**",
|
||||||
|
);
|
||||||
|
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools";
|
||||||
|
INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2013-present Facebook. All rights reserved.";
|
||||||
|
INFOPLIST_KEY_NSMainNibFile = MainMenu;
|
||||||
|
INFOPLIST_KEY_NSPrincipalClass = NSApplication;
|
||||||
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
|
"$(inherited)",
|
||||||
|
"@executable_path/../Frameworks",
|
||||||
|
);
|
||||||
|
MARKETING_VERSION = 1.0;
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = com.facebook.PortForwardingMacApp;
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
3B3526C8275718D800D803F9 /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
baseConfigurationReference = 339253FD0D50C9D90FA019FF /* Pods-PortForwardingMacApp.release.xcconfig */;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||||
|
BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
|
||||||
|
CODE_SIGN_ENTITLEMENTS = "";
|
||||||
|
CODE_SIGN_IDENTITY = "-";
|
||||||
|
CODE_SIGN_STYLE = Automatic;
|
||||||
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
|
CURRENT_PROJECT_VERSION = 1;
|
||||||
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
|
HEADER_SEARCH_PATHS = (
|
||||||
|
"$(inherited)",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public\"",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public/CocoaAsyncSocket\"",
|
||||||
|
"\"${PODS_ROOT}/Headers/Public/Flipper-PeerTalk\"",
|
||||||
|
"${SRCROOT}/**",
|
||||||
|
);
|
||||||
|
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools";
|
||||||
|
INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2013-present Facebook. All rights reserved.";
|
||||||
|
INFOPLIST_KEY_NSMainNibFile = MainMenu;
|
||||||
|
INFOPLIST_KEY_NSPrincipalClass = NSApplication;
|
||||||
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
|
"$(inherited)",
|
||||||
|
"@executable_path/../Frameworks",
|
||||||
|
);
|
||||||
|
MARKETING_VERSION = 1.0;
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = com.facebook.PortForwardingMacApp;
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
3B3FD2F727565B8000D731DB /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
CLANG_ANALYZER_NONNULL = YES;
|
||||||
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||||
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
|
||||||
|
CLANG_CXX_LIBRARY = "libc++";
|
||||||
|
CLANG_ENABLE_MODULES = YES;
|
||||||
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||||
|
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||||
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_COMMA = YES;
|
||||||
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||||
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
|
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||||
|
CLANG_WARN_EMPTY_BODY = YES;
|
||||||
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||||
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||||
|
CLANG_WARN_INT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||||
|
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||||
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||||
|
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||||
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||||
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
|
COPY_PHASE_STRIP = NO;
|
||||||
|
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||||
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
|
ENABLE_TESTABILITY = YES;
|
||||||
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
|
GCC_DYNAMIC_NO_PIC = NO;
|
||||||
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||||
|
"DEBUG=1",
|
||||||
|
"$(inherited)",
|
||||||
|
);
|
||||||
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
MACOSX_DEPLOYMENT_TARGET = 12.0;
|
||||||
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||||
|
MTL_FAST_MATH = YES;
|
||||||
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
|
SDKROOT = macosx;
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
3B3FD2F827565B8000D731DB /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
CLANG_ANALYZER_NONNULL = YES;
|
||||||
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||||
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
|
||||||
|
CLANG_CXX_LIBRARY = "libc++";
|
||||||
|
CLANG_ENABLE_MODULES = YES;
|
||||||
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||||
|
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||||
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_COMMA = YES;
|
||||||
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||||
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
|
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||||
|
CLANG_WARN_EMPTY_BODY = YES;
|
||||||
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||||
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||||
|
CLANG_WARN_INT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||||
|
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||||
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||||
|
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||||
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||||
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
|
COPY_PHASE_STRIP = NO;
|
||||||
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
|
ENABLE_NS_ASSERTIONS = NO;
|
||||||
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
MACOSX_DEPLOYMENT_TARGET = 12.0;
|
||||||
|
MTL_ENABLE_DEBUG_INFO = NO;
|
||||||
|
MTL_FAST_MATH = YES;
|
||||||
|
SDKROOT = macosx;
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
/* End XCBuildConfiguration section */
|
||||||
|
|
||||||
|
/* Begin XCConfigurationList section */
|
||||||
|
3B3526C6275718D800D803F9 /* Build configuration list for PBXNativeTarget "PortForwardingMacApp" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
3B3526C7275718D800D803F9 /* Debug */,
|
||||||
|
3B3526C8275718D800D803F9 /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
3B3FD2ED27565B8000D731DB /* Build configuration list for PBXProject "PortForwardingMacApp" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
3B3FD2F727565B8000D731DB /* Debug */,
|
||||||
|
3B3FD2F827565B8000D731DB /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
/* End XCConfigurationList section */
|
||||||
|
};
|
||||||
|
rootObject = 3B3FD2EA27565B8000D731DB /* Project object */;
|
||||||
|
}
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "1310"
|
||||||
|
version = "1.3">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "3B3526B8275718D700D803F9"
|
||||||
|
BuildableName = "PortForwardingMacApp.app"
|
||||||
|
BlueprintName = "PortForwardingMacApp"
|
||||||
|
ReferencedContainer = "container:PortForwardingMacApp.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||||
|
<Testables>
|
||||||
|
</Testables>
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<BuildableProductRunnable
|
||||||
|
runnableDebuggingMode = "0">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "3B3526B8275718D700D803F9"
|
||||||
|
BuildableName = "PortForwardingMacApp.app"
|
||||||
|
BlueprintName = "PortForwardingMacApp"
|
||||||
|
ReferencedContainer = "container:PortForwardingMacApp.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildableProductRunnable>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "3B3526B8275718D700D803F9"
|
||||||
|
BuildableName = "PortForwardingMacApp.app"
|
||||||
|
BlueprintName = "PortForwardingMacApp"
|
||||||
|
ReferencedContainer = "container:PortForwardingMacApp.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
/*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
#define FBPFTrace(...) /*NSLog(__VA_ARGS__)*/
|
||||||
|
#define FBPFLog(...) NSLog(__VA_ARGS__)
|
||||||
|
|
||||||
|
enum {
|
||||||
|
FKPortForwardingFrameTypeOpenPipe = 201,
|
||||||
|
FKPortForwardingFrameTypeWriteToPipe = 202,
|
||||||
|
FKPortForwardingFrameTypeClosePipe = 203,
|
||||||
|
};
|
||||||
|
|
||||||
|
static dispatch_data_t NSDataToGCDData(NSData* data) {
|
||||||
|
__block NSData* retainedData = data;
|
||||||
|
return dispatch_data_create(data.bytes, data.length, nil, ^{
|
||||||
|
retainedData = nil;
|
||||||
|
});
|
||||||
|
(void)retainedData;
|
||||||
|
}
|
||||||
@@ -15,7 +15,6 @@ import memoize from 'lodash.memoize';
|
|||||||
import {promisify} from 'util';
|
import {promisify} from 'util';
|
||||||
import child_process from 'child_process';
|
import child_process from 'child_process';
|
||||||
import fs from 'fs-extra';
|
import fs from 'fs-extra';
|
||||||
import path from 'path';
|
|
||||||
import {recorder} from '../../recorder';
|
import {recorder} from '../../recorder';
|
||||||
const exec = promisify(child_process.exec);
|
const exec = promisify(child_process.exec);
|
||||||
|
|
||||||
@@ -178,7 +177,8 @@ async function queryTargetsWithIdb(
|
|||||||
Run 'idb kill' from terminal.`;
|
Run 'idb kill' from terminal.`;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const {stdout} = await safeExec(cmd);
|
const {stdout} = await unsafeExec(cmd);
|
||||||
|
|
||||||
if (!stdout) {
|
if (!stdout) {
|
||||||
recorder.event('cmd', {
|
recorder.event('cmd', {
|
||||||
cmd,
|
cmd,
|
||||||
|
|||||||
@@ -8,3 +8,4 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
export const isFBBuild: boolean = false;
|
export const isFBBuild: boolean = false;
|
||||||
|
export const GRAPH_SECRET = '';
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import {FlipperServerCompanionEnv} from 'flipper-server-companion';
|
|||||||
import {validateAuthToken} from '../app-connectivity/certificate-exchange/certificate-utils';
|
import {validateAuthToken} from '../app-connectivity/certificate-exchange/certificate-utils';
|
||||||
import {tracker} from '../tracker';
|
import {tracker} from '../tracker';
|
||||||
import {EnvironmentInfo, isProduction} from 'flipper-common';
|
import {EnvironmentInfo, isProduction} from 'flipper-common';
|
||||||
|
import {GRAPH_SECRET} from '../fb-stubs/constants';
|
||||||
|
|
||||||
type Config = {
|
type Config = {
|
||||||
port: number;
|
port: number;
|
||||||
@@ -147,7 +148,11 @@ async function startHTTPServer(
|
|||||||
? path.join(config.staticPath, config.entry)
|
? path.join(config.staticPath, config.entry)
|
||||||
: path.join(config.staticPath, 'loading.html');
|
: path.join(config.staticPath, 'loading.html');
|
||||||
fs.readFile(resource, (_err, content) => {
|
fs.readFile(resource, (_err, content) => {
|
||||||
res.end(content);
|
const processedContent = content
|
||||||
|
.toString()
|
||||||
|
.replace('GRAPH_SECRET_REPLACE_ME', GRAPH_SECRET)
|
||||||
|
.replace('FLIPPER_APP_VERSION_REPLACE_ME', environmentInfo.appVersion);
|
||||||
|
res.end(processedContent);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ import {
|
|||||||
startServer,
|
startServer,
|
||||||
tracker,
|
tracker,
|
||||||
} from 'flipper-server-core';
|
} from 'flipper-server-core';
|
||||||
import {isTest} from 'flipper-common';
|
import {addLogTailer, isTest, LoggerFormat} from 'flipper-common';
|
||||||
import exitHook from 'exit-hook';
|
import exitHook from 'exit-hook';
|
||||||
import {getAuthToken} from 'flipper-server-core';
|
import {getAuthToken} from 'flipper-server-core';
|
||||||
import {findInstallation} from './findInstallation';
|
import {findInstallation} from './findInstallation';
|
||||||
@@ -216,6 +216,12 @@ async function start() {
|
|||||||
// At this point, the HTTP server is ready and configuration is set.
|
// At this point, the HTTP server is ready and configuration is set.
|
||||||
await launch();
|
await launch();
|
||||||
|
|
||||||
|
if (!isProduction) {
|
||||||
|
addLogTailer((level, ...data) => {
|
||||||
|
flipperServer.emit('server-log', LoggerFormat(level, ...data));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
const t6 = performance.now();
|
const t6 = performance.now();
|
||||||
const launchedMS = t6 - t5;
|
const launchedMS = t6 - t5;
|
||||||
|
|
||||||
|
|||||||
41
desktop/flipper-ui-browser/src/fb-stubs/Logger.tsx
Normal file
41
desktop/flipper-ui-browser/src/fb-stubs/Logger.tsx
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
/**
|
||||||
|
* 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
|
||||||
|
*/
|
||||||
|
|
||||||
|
import {Logger, LoggerArgs, NoopLogger} from 'flipper-common';
|
||||||
|
|
||||||
|
const naiveLogger: Logger = {
|
||||||
|
track(...args: [any, any, any?, any?]) {
|
||||||
|
console.warn('(skipper track)', args);
|
||||||
|
},
|
||||||
|
trackTimeSince(...args: [any, any, any?]) {
|
||||||
|
console.warn('(skipped trackTimeSince)', args);
|
||||||
|
},
|
||||||
|
debug(...args: any[]) {
|
||||||
|
console.debug(...args);
|
||||||
|
},
|
||||||
|
error(...args: any[]) {
|
||||||
|
console.error(...args);
|
||||||
|
console.warn('(skipped error reporting)');
|
||||||
|
},
|
||||||
|
warn(...args: any[]) {
|
||||||
|
console.warn(...args);
|
||||||
|
console.warn('(skipped error reporting)');
|
||||||
|
},
|
||||||
|
info(...args: any[]) {
|
||||||
|
console.info(...args);
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export function init(args?: LoggerArgs): Logger {
|
||||||
|
if (args && args.isTest) {
|
||||||
|
return new NoopLogger();
|
||||||
|
} else {
|
||||||
|
return naiveLogger;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -16,6 +16,8 @@ declare global {
|
|||||||
entryPoint: string;
|
entryPoint: string;
|
||||||
debug: boolean;
|
debug: boolean;
|
||||||
};
|
};
|
||||||
|
GRAPH_SECRET: string;
|
||||||
|
FLIPPER_APP_VERSION: string;
|
||||||
|
|
||||||
flipperShowMessage?(message: string): void;
|
flipperShowMessage?(message: string): void;
|
||||||
flipperHideMessage?(): void;
|
flipperHideMessage?(): void;
|
||||||
|
|||||||
@@ -7,7 +7,12 @@
|
|||||||
* @format
|
* @format
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import {getLogger, Logger, setLoggerInstance} from 'flipper-common';
|
import {
|
||||||
|
getLogger,
|
||||||
|
getStringFromErrorLike,
|
||||||
|
setLoggerInstance,
|
||||||
|
} from 'flipper-common';
|
||||||
|
import {init as initLogger} from './fb-stubs/Logger';
|
||||||
import {initializeRenderHost} from './initializeRenderHost';
|
import {initializeRenderHost} from './initializeRenderHost';
|
||||||
import {createFlipperServer, FlipperServerState} from 'flipper-server-client';
|
import {createFlipperServer, FlipperServerState} from 'flipper-server-client';
|
||||||
|
|
||||||
@@ -19,6 +24,8 @@ if (loadingContainer) {
|
|||||||
let cachedFile: {name: string; data: string} | undefined;
|
let cachedFile: {name: string; data: string} | undefined;
|
||||||
let cachedDeepLinkURL: string | undefined;
|
let cachedDeepLinkURL: string | undefined;
|
||||||
|
|
||||||
|
const logger = initLogger();
|
||||||
|
|
||||||
async function start() {
|
async function start() {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
electronRequire = function (path: string) {
|
electronRequire = function (path: string) {
|
||||||
@@ -30,7 +37,6 @@ async function start() {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
const logger = createDelegatedLogger();
|
|
||||||
setLoggerInstance(logger);
|
setLoggerInstance(logger);
|
||||||
|
|
||||||
const params = new URL(location.href).searchParams;
|
const params = new URL(location.href).searchParams;
|
||||||
@@ -42,12 +48,19 @@ async function start() {
|
|||||||
console.info(
|
console.info(
|
||||||
'[flipper-client][ui-browser] Get token from manifest instead',
|
'[flipper-client][ui-browser] Get token from manifest instead',
|
||||||
);
|
);
|
||||||
const manifestResponse = await fetch('manifest.json');
|
try {
|
||||||
const manifest = await manifestResponse.json();
|
const manifestResponse = await fetch('manifest.json');
|
||||||
token = manifest.token;
|
const manifest = await manifestResponse.json();
|
||||||
|
token = manifest.token;
|
||||||
|
} catch (e) {
|
||||||
|
console.warn(
|
||||||
|
'[flipper-client][ui-browser] Failed to get token from manifest. Error:',
|
||||||
|
e.message,
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
console.info(
|
getLogger().info(
|
||||||
'[flipper-client][ui-browser] Token is available: ',
|
'[flipper-client][ui-browser] Token is available: ',
|
||||||
token?.length != 0,
|
token?.length != 0,
|
||||||
);
|
);
|
||||||
@@ -72,7 +85,8 @@ async function start() {
|
|||||||
cachedDeepLinkURL = deeplinkURL.toString();
|
cachedDeepLinkURL = deeplinkURL.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
console.info('[flipper-client][ui-browser] Create WS client');
|
getLogger().info('[flipper-client][ui-browser] Create WS client');
|
||||||
|
|
||||||
const flipperServer = await createFlipperServer(
|
const flipperServer = await createFlipperServer(
|
||||||
location.hostname,
|
location.hostname,
|
||||||
parseInt(location.port, 10),
|
parseInt(location.port, 10),
|
||||||
@@ -80,39 +94,43 @@ async function start() {
|
|||||||
(state: FlipperServerState) => {
|
(state: FlipperServerState) => {
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case FlipperServerState.CONNECTING:
|
case FlipperServerState.CONNECTING:
|
||||||
console.info('[flipper-client] Connecting to server');
|
getLogger().info('[flipper-client] Connecting to server');
|
||||||
window.flipperShowMessage?.('Connecting to server...');
|
window.flipperShowMessage?.('Connecting to server...');
|
||||||
break;
|
break;
|
||||||
case FlipperServerState.CONNECTED:
|
case FlipperServerState.CONNECTED:
|
||||||
console.info('[flipper-client] Connection established with server');
|
getLogger().info(
|
||||||
|
'[flipper-client] Connection established with server',
|
||||||
|
);
|
||||||
window.flipperHideMessage?.();
|
window.flipperHideMessage?.();
|
||||||
break;
|
break;
|
||||||
case FlipperServerState.DISCONNECTED:
|
case FlipperServerState.DISCONNECTED:
|
||||||
console.info('[flipper-client] Disconnected from server');
|
getLogger().info('[flipper-client] Disconnected from server');
|
||||||
window.flipperShowMessage?.('Waiting for server...');
|
window.flipperShowMessage?.('Waiting for server...');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
console.info('[flipper-client][ui-browser] WS client connected');
|
getLogger().info('[flipper-client][ui-browser] WS client connected');
|
||||||
|
|
||||||
flipperServer.on('server-log', (logEntry) => {
|
flipperServer.on('server-log', (logEntry) => {
|
||||||
console[logEntry.type](
|
getLogger()[logEntry.type](
|
||||||
`[${logEntry.namespace}] (${new Date(
|
`[${logEntry.namespace}] (${new Date(
|
||||||
logEntry.time,
|
logEntry.time,
|
||||||
).toLocaleTimeString()}): ${logEntry.msg}`,
|
).toLocaleTimeString()}): ${logEntry.msg}`,
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
console.info('[flipper-client][ui-browser] Waiting for server connection');
|
getLogger().info(
|
||||||
|
'[flipper-client][ui-browser] Waiting for server connection',
|
||||||
|
);
|
||||||
await flipperServer.connect();
|
await flipperServer.connect();
|
||||||
console.info(
|
getLogger().info(
|
||||||
'[flipper-client][ui-browser] Connected to server, get configuration',
|
'[flipper-client][ui-browser] Connected to server, get configuration',
|
||||||
);
|
);
|
||||||
const flipperServerConfig = await flipperServer.exec('get-config');
|
const flipperServerConfig = await flipperServer.exec('get-config');
|
||||||
|
|
||||||
console.info(
|
getLogger().info(
|
||||||
'[flipper-client][ui-browser] Configuration obtained, initialise render host',
|
'[flipper-client][ui-browser] Configuration obtained, initialise render host',
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -124,16 +142,21 @@ async function start() {
|
|||||||
require('flipper-ui-core').startFlipperDesktop(flipperServer);
|
require('flipper-ui-core').startFlipperDesktop(flipperServer);
|
||||||
window.flipperHideMessage?.();
|
window.flipperHideMessage?.();
|
||||||
|
|
||||||
console.info('[flipper-client][ui-browser] UI initialised');
|
getLogger().info('[flipper-client][ui-browser] UI initialised');
|
||||||
|
logger.track('success-rate', 'flipper-ui-browser-started', {value: 1});
|
||||||
}
|
}
|
||||||
|
|
||||||
start().catch((e) => {
|
start().catch((e) => {
|
||||||
console.error('Failed to start flipper-ui-browser', e);
|
getLogger().error('Failed to start flipper-ui-browser', e);
|
||||||
|
logger.track('success-rate', 'flipper-ui-browser-started', {
|
||||||
|
value: 0,
|
||||||
|
error: getStringFromErrorLike(e),
|
||||||
|
});
|
||||||
window.flipperShowMessage?.('Failed to start UI with error: ' + e);
|
window.flipperShowMessage?.('Failed to start UI with error: ' + e);
|
||||||
});
|
});
|
||||||
|
|
||||||
async function initializePWA() {
|
async function initializePWA() {
|
||||||
console.log('[PWA] Initialization');
|
getLogger().info('[PWA] Initialization');
|
||||||
|
|
||||||
let rehydrated = false;
|
let rehydrated = false;
|
||||||
const openFileIfAny = () => {
|
const openFileIfAny = () => {
|
||||||
@@ -164,22 +187,22 @@ async function initializePWA() {
|
|||||||
navigator.serviceWorker
|
navigator.serviceWorker
|
||||||
.register('/service-worker.js')
|
.register('/service-worker.js')
|
||||||
.then(() => {
|
.then(() => {
|
||||||
console.log('[PWA] Service Worker has been registered');
|
getLogger().info('[PWA] Service Worker has been registered');
|
||||||
})
|
})
|
||||||
.catch((e) => {
|
.catch((e) => {
|
||||||
console.error('[PWA] failed to register Service Worker', e);
|
getLogger().error('[PWA] failed to register Service Worker', e);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if ('launchQueue' in window) {
|
if ('launchQueue' in window) {
|
||||||
console.log('[PWA] File Handling API is supported');
|
getLogger().debug('[PWA] File Handling API is supported');
|
||||||
|
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
window.launchQueue.setConsumer(async (launchParams) => {
|
window.launchQueue.setConsumer(async (launchParams) => {
|
||||||
if (!launchParams || !launchParams.files) {
|
if (!launchParams || !launchParams.files) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log('[PWA] Attempt to to open a file');
|
getLogger().debug('[PWA] Attempt to to open a file');
|
||||||
for (const file of launchParams.files) {
|
for (const file of launchParams.files) {
|
||||||
const blob = await file.getFile();
|
const blob = await file.getFile();
|
||||||
blob.handle = file;
|
blob.handle = file;
|
||||||
@@ -196,72 +219,20 @@ async function initializePWA() {
|
|||||||
console.warn('[PWA] File Handling API is not supported');
|
console.warn('[PWA] File Handling API is not supported');
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log('[PWA] Add before install prompt listener');
|
getLogger().debug('[PWA] Add before install prompt listener');
|
||||||
window.addEventListener('beforeinstallprompt', (e) => {
|
window.addEventListener('beforeinstallprompt', (e) => {
|
||||||
// Prevent Chrome 67 and earlier from automatically showing the prompt.
|
// Prevent Chrome 67 and earlier from automatically showing the prompt.
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
// Stash the event so it can be triggered later.
|
// Stash the event so it can be triggered later.
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
global.PWAppInstallationEvent = e;
|
global.PWAppInstallationEvent = e;
|
||||||
console.log('[PWA] Installation event has been captured');
|
getLogger().info('[PWA] Installation event has been captured');
|
||||||
});
|
});
|
||||||
|
|
||||||
window.addEventListener('storeRehydrated', () => {
|
window.addEventListener('storeRehydrated', () => {
|
||||||
console.info('[PWA] Store is rehydrated');
|
getLogger().info('[PWA] Store is rehydrated');
|
||||||
rehydrated = true;
|
rehydrated = true;
|
||||||
openFileIfAny();
|
openFileIfAny();
|
||||||
openURLIfAny();
|
openURLIfAny();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// getLogger() is not yet created when the electron app starts.
|
|
||||||
// we can't create it here yet, as the real logger is wired up to
|
|
||||||
// the redux store and the rest of the world. So we create a delegating logger
|
|
||||||
// that uses a simple implementation until the real one comes available.
|
|
||||||
function createDelegatedLogger(): Logger {
|
|
||||||
const naiveLogger: Logger = {
|
|
||||||
track(...args: [any, any, any?, any?]) {
|
|
||||||
console.warn('(skipper track)', args);
|
|
||||||
},
|
|
||||||
trackTimeSince(...args: [any, any, any?]) {
|
|
||||||
console.warn('(skipped trackTimeSince)', args);
|
|
||||||
},
|
|
||||||
debug(...args: any[]) {
|
|
||||||
console.debug(...args);
|
|
||||||
},
|
|
||||||
error(...args: any[]) {
|
|
||||||
console.error(...args);
|
|
||||||
console.warn('(skipped error reporting)');
|
|
||||||
},
|
|
||||||
warn(...args: any[]) {
|
|
||||||
console.warn(...args);
|
|
||||||
console.warn('(skipped error reporting)');
|
|
||||||
},
|
|
||||||
info(...args: any[]) {
|
|
||||||
console.info(...args);
|
|
||||||
},
|
|
||||||
};
|
|
||||||
// will be overwrittingen later
|
|
||||||
setLoggerInstance(naiveLogger);
|
|
||||||
|
|
||||||
return {
|
|
||||||
track() {
|
|
||||||
// noop
|
|
||||||
},
|
|
||||||
trackTimeSince() {
|
|
||||||
// noop
|
|
||||||
},
|
|
||||||
debug(...args: any[]) {
|
|
||||||
getLogger().debug(...args);
|
|
||||||
},
|
|
||||||
error(...args: any[]) {
|
|
||||||
getLogger().error(...args);
|
|
||||||
},
|
|
||||||
warn(...args: any[]) {
|
|
||||||
getLogger().warn(...args);
|
|
||||||
},
|
|
||||||
info(...args: any[]) {
|
|
||||||
getLogger().info(...args);
|
|
||||||
},
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -170,7 +170,7 @@
|
|||||||
"npm": "use yarn instead",
|
"npm": "use yarn instead",
|
||||||
"yarn": "^1.16"
|
"yarn": "^1.16"
|
||||||
},
|
},
|
||||||
"version": "0.226.0",
|
"version": "0.227.0",
|
||||||
"workspaces": {
|
"workspaces": {
|
||||||
"packages": [
|
"packages": [
|
||||||
"scripts",
|
"scripts",
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ You also need to compile in the `litho-annotations` package, as Flipper reflects
|
|||||||
|
|
||||||
```groovy
|
```groovy
|
||||||
dependencies {
|
dependencies {
|
||||||
debugImplementation 'com.facebook.flipper:flipper-litho-plugin:0.226.0'
|
debugImplementation 'com.facebook.flipper:flipper-litho-plugin:0.227.0'
|
||||||
debugImplementation 'com.facebook.litho:litho-annotations:0.19.0'
|
debugImplementation 'com.facebook.litho:litho-annotations:0.19.0'
|
||||||
// ...
|
// ...
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ To setup the <Link to={useBaseUrl("/docs/features/plugins/leak-canary")}>LeakCan
|
|||||||
|
|
||||||
```groovy
|
```groovy
|
||||||
dependencies {
|
dependencies {
|
||||||
debugImplementation 'com.facebook.flipper:flipper-leakcanary2-plugin:0.226.0'
|
debugImplementation 'com.facebook.flipper:flipper-leakcanary2-plugin:0.227.0'
|
||||||
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.8.1'
|
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.8.1'
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ The network plugin is shipped as a separate Maven artifact, as follows:
|
|||||||
|
|
||||||
```groovy
|
```groovy
|
||||||
dependencies {
|
dependencies {
|
||||||
debugImplementation 'com.facebook.flipper:flipper-network-plugin:0.226.0'
|
debugImplementation 'com.facebook.flipper:flipper-network-plugin:0.227.0'
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -31,11 +31,12 @@ import isFB from './isFB';
|
|||||||
import yargs from 'yargs';
|
import yargs from 'yargs';
|
||||||
import fs from 'fs-extra';
|
import fs from 'fs-extra';
|
||||||
import {downloadIcons} from './build-icons';
|
import {downloadIcons} from './build-icons';
|
||||||
import {spawn} from 'promisify-child-process';
|
import {spawn, exec as execAsync} from 'promisify-child-process';
|
||||||
import {homedir} from 'os';
|
import {homedir} from 'os';
|
||||||
import {need as pkgFetch} from 'pkg-fetch';
|
import {need as pkgFetch} from 'pkg-fetch';
|
||||||
import {exec} from 'child_process';
|
import {exec} from 'child_process';
|
||||||
import fetch from '@adobe/node-fetch-retry';
|
import fetch from '@adobe/node-fetch-retry';
|
||||||
|
import plist from 'simple-plist';
|
||||||
|
|
||||||
// This needs to be tested individually. As of 2022Q2, node17 is not supported.
|
// This needs to be tested individually. As of 2022Q2, node17 is not supported.
|
||||||
const SUPPORTED_NODE_PLATFORM = 'node16';
|
const SUPPORTED_NODE_PLATFORM = 'node16';
|
||||||
@@ -458,11 +459,13 @@ async function buildServerRelease() {
|
|||||||
platforms.push(BuildPlatform.WINDOWS);
|
platforms.push(BuildPlatform.WINDOWS);
|
||||||
}
|
}
|
||||||
|
|
||||||
await Promise.all(
|
// Instead of parallel builds, these have to be done sequential.
|
||||||
platforms.map((platform) =>
|
// As we are building a native app, the resulting binary will be
|
||||||
bundleServerReleaseForPlatform(dir, versionNumber, platform),
|
// different per platform meaning that there's a risk of overriding
|
||||||
),
|
// intermediate artefacts if done in parallel.
|
||||||
);
|
for (const platform of platforms) {
|
||||||
|
await bundleServerReleaseForPlatform(dir, versionNumber, platform);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function nodeArchFromBuildPlatform(platform: BuildPlatform): string {
|
function nodeArchFromBuildPlatform(platform: BuildPlatform): string {
|
||||||
@@ -515,7 +518,7 @@ async function download(url: string, dest: string): Promise<void> {
|
|||||||
* @param dest - Destination directory for the extracted contents.
|
* @param dest - Destination directory for the extracted contents.
|
||||||
*/
|
*/
|
||||||
async function unpack(source: string, destination: string) {
|
async function unpack(source: string, destination: string) {
|
||||||
console.log(`⚙️ Extracting ${source}.`);
|
console.log(`⚙️ Extracting ${source} to ${destination}.`);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await fs.access(destination, fs.constants.F_OK);
|
await fs.access(destination, fs.constants.F_OK);
|
||||||
@@ -553,6 +556,40 @@ function nodePlatformFromBuildPlatform(platform: BuildPlatform): string {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function setRuntimeAppIcon(binaryPath: string): Promise<void> {
|
||||||
|
console.log(`⚙️ Updating runtime icon for MacOS in ${binaryPath}.`);
|
||||||
|
const iconPath = path.join(staticDir, 'icon.png');
|
||||||
|
const tempRsrcPath = path.join(os.tmpdir(), 'icon.rsrc');
|
||||||
|
const deRezCmd = `DeRez -only icns ${iconPath} > ${tempRsrcPath}`;
|
||||||
|
try {
|
||||||
|
await execAsync(deRezCmd);
|
||||||
|
} catch (err) {
|
||||||
|
console.error(
|
||||||
|
`❌ Error while extracting icon with '${deRezCmd}'. Error: ${err}`,
|
||||||
|
);
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
|
const rezCmd = `Rez -append ${tempRsrcPath} -o ${binaryPath}`;
|
||||||
|
try {
|
||||||
|
await execAsync(rezCmd);
|
||||||
|
} catch (err) {
|
||||||
|
console.error(
|
||||||
|
`❌ Error while setting icon on executable ${binaryPath}. Error: ${err}`,
|
||||||
|
);
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
|
const updateCmd = `SetFile -a C ${binaryPath}`;
|
||||||
|
try {
|
||||||
|
await execAsync(updateCmd);
|
||||||
|
} catch (err) {
|
||||||
|
console.error(
|
||||||
|
`❌ Error while changing icon visibility on ${binaryPath}. Error: ${err}`,
|
||||||
|
);
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
|
console.log(`✅ Updated flipper-runtime icon.`);
|
||||||
|
}
|
||||||
|
|
||||||
async function installNodeBinary(outputPath: string, platform: BuildPlatform) {
|
async function installNodeBinary(outputPath: string, platform: BuildPlatform) {
|
||||||
/**
|
/**
|
||||||
* Below is a temporary patch that doesn't use pkg-fetch to
|
* Below is a temporary patch that doesn't use pkg-fetch to
|
||||||
@@ -584,8 +621,15 @@ async function installNodeBinary(outputPath: string, platform: BuildPlatform) {
|
|||||||
} catch (err) {}
|
} catch (err) {}
|
||||||
if (!cached) {
|
if (!cached) {
|
||||||
// Download node tarball from the distribution site.
|
// Download node tarball from the distribution site.
|
||||||
|
// If this is not present (due to a node update) follow these steps:
|
||||||
|
// - Update the download URL to `https://nodejs.org/dist/${NODE_VERSION}/${name}.tar.gz`
|
||||||
|
// - Ensure the Xcode developer tools are installed
|
||||||
|
// - Build a full MacOS server release locally using `yarn build:flipper-server --mac`
|
||||||
|
// - Enter the dist folder: dist/flipper-server-mac-aarch64/Flipper.app/Contents/MacOS
|
||||||
|
// - `mkdir bin && cp flipper-runtime bin/node && tar -czvf node-${NODE_VERSION}-darwin-arm64.tar.gz bin`
|
||||||
|
// - Upload the resulting tar ball to the Flipper release page as a new tag: https://github.com/facebook/flipper/releases
|
||||||
await download(
|
await download(
|
||||||
`https://nodejs.org/dist/${NODE_VERSION}/${name}.tar.gz`,
|
`https://github.com/facebook/flipper/releases/download/node-${NODE_VERSION}/${name}.tar.gz`,
|
||||||
downloadOutputPath,
|
downloadOutputPath,
|
||||||
);
|
);
|
||||||
// Finally, unpack the tarball to a local folder i.e. outputPath.
|
// Finally, unpack the tarball to a local folder i.e. outputPath.
|
||||||
@@ -607,6 +651,19 @@ async function installNodeBinary(outputPath: string, platform: BuildPlatform) {
|
|||||||
await fs.copyFile(nodePath, outputPath);
|
await fs.copyFile(nodePath, outputPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
platform === BuildPlatform.MAC_AARCH64 ||
|
||||||
|
platform === BuildPlatform.MAC_X64
|
||||||
|
) {
|
||||||
|
if (process.platform === 'darwin') {
|
||||||
|
await setRuntimeAppIcon(outputPath).catch(() => {
|
||||||
|
console.warn('⚠️ Unable to update runtime icon');
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
console.warn("⚠️ Skipping icon update as it's only supported on macOS");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Set +x on the binary as copyFile doesn't maintain the bit.
|
// Set +x on the binary as copyFile doesn't maintain the bit.
|
||||||
await fs.chmod(outputPath, 0o755);
|
await fs.chmod(outputPath, 0o755);
|
||||||
}
|
}
|
||||||
@@ -669,24 +726,62 @@ async function setUpWindowsBundle(outputDir: string) {
|
|||||||
|
|
||||||
async function setUpMacBundle(
|
async function setUpMacBundle(
|
||||||
outputDir: string,
|
outputDir: string,
|
||||||
|
platform: BuildPlatform,
|
||||||
versionNumber: string,
|
versionNumber: string,
|
||||||
): Promise<{nodePath: string; resourcesPath: string}> {
|
): Promise<{nodePath: string; resourcesPath: string}> {
|
||||||
console.log(`⚙️ Creating Mac bundle in ${outputDir}`);
|
console.log(`⚙️ Creating Mac bundle in ${outputDir}`);
|
||||||
await fs.copy(path.join(staticDir, 'flipper-server-app-template'), outputDir);
|
|
||||||
|
let appTemplate = path.join(staticDir, 'flipper-server-app-template');
|
||||||
|
if (isFB) {
|
||||||
|
appTemplate = path.join(
|
||||||
|
staticDir,
|
||||||
|
'facebook',
|
||||||
|
'flipper-server-app-template',
|
||||||
|
platform,
|
||||||
|
);
|
||||||
|
console.info('⚙️ Using internal template from: ' + appTemplate);
|
||||||
|
}
|
||||||
|
|
||||||
|
await fs.copy(appTemplate, outputDir);
|
||||||
|
|
||||||
|
function replacePropertyValue(
|
||||||
|
obj: any,
|
||||||
|
targetValue: string,
|
||||||
|
replacementValue: string,
|
||||||
|
): any {
|
||||||
|
if (typeof obj === 'object' && !Array.isArray(obj) && obj !== null) {
|
||||||
|
for (const key in obj) {
|
||||||
|
if (obj.hasOwnProperty(key)) {
|
||||||
|
obj[key] = replacePropertyValue(
|
||||||
|
obj[key],
|
||||||
|
targetValue,
|
||||||
|
replacementValue,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (typeof obj === 'string' && obj === targetValue) {
|
||||||
|
obj = replacementValue;
|
||||||
|
}
|
||||||
|
return obj;
|
||||||
|
}
|
||||||
|
|
||||||
console.log(`⚙️ Writing plist`);
|
console.log(`⚙️ Writing plist`);
|
||||||
const pListPath = path.join(
|
const plistPath = path.join(
|
||||||
outputDir,
|
outputDir,
|
||||||
'Flipper.app',
|
'Flipper.app',
|
||||||
'Contents',
|
'Contents',
|
||||||
'Info.plist',
|
'Info.plist',
|
||||||
);
|
);
|
||||||
const pListContents = await fs.readFile(pListPath, 'utf-8');
|
|
||||||
const updatedPlistContents = pListContents.replace(
|
/* eslint-disable node/no-sync*/
|
||||||
|
const pListContents: Record<any, any> = plist.readFileSync(plistPath);
|
||||||
|
replacePropertyValue(
|
||||||
|
pListContents,
|
||||||
'{flipper-server-version}',
|
'{flipper-server-version}',
|
||||||
versionNumber,
|
versionNumber,
|
||||||
);
|
);
|
||||||
await fs.writeFile(pListPath, updatedPlistContents, 'utf-8');
|
plist.writeBinaryFileSync(plistPath, pListContents);
|
||||||
|
/* eslint-enable node/no-sync*/
|
||||||
|
|
||||||
const resourcesOutputDir = path.join(
|
const resourcesOutputDir = path.join(
|
||||||
outputDir,
|
outputDir,
|
||||||
@@ -695,6 +790,10 @@ async function setUpMacBundle(
|
|||||||
'Resources',
|
'Resources',
|
||||||
'server',
|
'server',
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if (!(await fs.exists(resourcesOutputDir))) {
|
||||||
|
await fs.mkdir(resourcesOutputDir);
|
||||||
|
}
|
||||||
const nodeOutputPath = path.join(
|
const nodeOutputPath = path.join(
|
||||||
outputDir,
|
outputDir,
|
||||||
'Flipper.app',
|
'Flipper.app',
|
||||||
@@ -728,7 +827,7 @@ async function bundleServerReleaseForPlatform(
|
|||||||
platform === BuildPlatform.MAC_X64 ||
|
platform === BuildPlatform.MAC_X64 ||
|
||||||
platform === BuildPlatform.MAC_AARCH64
|
platform === BuildPlatform.MAC_AARCH64
|
||||||
) {
|
) {
|
||||||
outputPaths = await setUpMacBundle(outputDir, versionNumber);
|
outputPaths = await setUpMacBundle(outputDir, platform, versionNumber);
|
||||||
} else if (platform === BuildPlatform.LINUX) {
|
} else if (platform === BuildPlatform.LINUX) {
|
||||||
await setUpLinuxBundle(outputDir);
|
await setUpLinuxBundle(outputDir);
|
||||||
} else if (platform === BuildPlatform.WINDOWS) {
|
} else if (platform === BuildPlatform.WINDOWS) {
|
||||||
|
|||||||
@@ -200,10 +200,10 @@ async function buildDist(buildFolder: string) {
|
|||||||
const postBuildCallbacks: (() => void)[] = [];
|
const postBuildCallbacks: (() => void)[] = [];
|
||||||
|
|
||||||
if (argv.mac || argv['mac-dmg']) {
|
if (argv.mac || argv['mac-dmg']) {
|
||||||
targetsRaw.push(Platform.MAC.createTarget(['dir']));
|
targetsRaw.push(Platform.MAC.createTarget(['dir'], Arch.universal));
|
||||||
// You can build mac apps on Linux but can't build dmgs, so we separate those.
|
// You can build mac apps on Linux but can't build dmgs, so we separate those.
|
||||||
if (argv['mac-dmg']) {
|
if (argv['mac-dmg']) {
|
||||||
targetsRaw.push(Platform.MAC.createTarget(['dmg']));
|
targetsRaw.push(Platform.MAC.createTarget(['dmg'], Arch.universal));
|
||||||
}
|
}
|
||||||
const macPath = path.join(
|
const macPath = path.join(
|
||||||
distDir,
|
distDir,
|
||||||
|
|||||||
@@ -35,6 +35,7 @@
|
|||||||
"pkg-fetch": "3.4.1",
|
"pkg-fetch": "3.4.1",
|
||||||
"promisify-child-process": "^4.1.0",
|
"promisify-child-process": "^4.1.0",
|
||||||
"semver": "^7.5.4",
|
"semver": "^7.5.4",
|
||||||
|
"simple-plist": "^1.3.1",
|
||||||
"socket.io": "^4.5.0",
|
"socket.io": "^4.5.0",
|
||||||
"tar": "6.1.15",
|
"tar": "6.1.15",
|
||||||
"tmp": "^0.2.1",
|
"tmp": "^0.2.1",
|
||||||
|
|||||||
Binary file not shown.
@@ -1,44 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>BuildMachineOSBuild</key>
|
|
||||||
<string>16G29</string>
|
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
|
||||||
<string>English</string>
|
|
||||||
<key>CFBundleExecutable</key>
|
|
||||||
<string>CocoaAsyncSocketMac</string>
|
|
||||||
<key>CFBundleIdentifier</key>
|
|
||||||
<string>com.robbiehanson.CocoaAsyncSocketMac</string>
|
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
|
||||||
<string>6.0</string>
|
|
||||||
<key>CFBundleName</key>
|
|
||||||
<string>CocoaAsyncSocketMac</string>
|
|
||||||
<key>CFBundlePackageType</key>
|
|
||||||
<string>FMWK</string>
|
|
||||||
<key>CFBundleShortVersionString</key>
|
|
||||||
<string>1.0</string>
|
|
||||||
<key>CFBundleSignature</key>
|
|
||||||
<string>????</string>
|
|
||||||
<key>CFBundleSupportedPlatforms</key>
|
|
||||||
<array>
|
|
||||||
<string>MacOSX</string>
|
|
||||||
</array>
|
|
||||||
<key>CFBundleVersion</key>
|
|
||||||
<string>1</string>
|
|
||||||
<key>DTCompiler</key>
|
|
||||||
<string>com.apple.compilers.llvm.clang.1_0</string>
|
|
||||||
<key>DTPlatformBuild</key>
|
|
||||||
<string>9A235</string>
|
|
||||||
<key>DTPlatformVersion</key>
|
|
||||||
<string>GM</string>
|
|
||||||
<key>DTSDKBuild</key>
|
|
||||||
<string>17A360</string>
|
|
||||||
<key>DTSDKName</key>
|
|
||||||
<string>macosx10.13</string>
|
|
||||||
<key>DTXcode</key>
|
|
||||||
<string>0900</string>
|
|
||||||
<key>DTXcodeBuild</key>
|
|
||||||
<string>9A235</string>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
||||||
Binary file not shown.
@@ -1,44 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>BuildMachineOSBuild</key>
|
|
||||||
<string>16G29</string>
|
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
|
||||||
<string>English</string>
|
|
||||||
<key>CFBundleExecutable</key>
|
|
||||||
<string>CocoaAsyncSocketMac</string>
|
|
||||||
<key>CFBundleIdentifier</key>
|
|
||||||
<string>com.robbiehanson.CocoaAsyncSocketMac</string>
|
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
|
||||||
<string>6.0</string>
|
|
||||||
<key>CFBundleName</key>
|
|
||||||
<string>CocoaAsyncSocketMac</string>
|
|
||||||
<key>CFBundlePackageType</key>
|
|
||||||
<string>FMWK</string>
|
|
||||||
<key>CFBundleShortVersionString</key>
|
|
||||||
<string>1.0</string>
|
|
||||||
<key>CFBundleSignature</key>
|
|
||||||
<string>????</string>
|
|
||||||
<key>CFBundleSupportedPlatforms</key>
|
|
||||||
<array>
|
|
||||||
<string>MacOSX</string>
|
|
||||||
</array>
|
|
||||||
<key>CFBundleVersion</key>
|
|
||||||
<string>1</string>
|
|
||||||
<key>DTCompiler</key>
|
|
||||||
<string>com.apple.compilers.llvm.clang.1_0</string>
|
|
||||||
<key>DTPlatformBuild</key>
|
|
||||||
<string>9A235</string>
|
|
||||||
<key>DTPlatformVersion</key>
|
|
||||||
<string>GM</string>
|
|
||||||
<key>DTSDKBuild</key>
|
|
||||||
<string>17A360</string>
|
|
||||||
<key>DTSDKName</key>
|
|
||||||
<string>macosx10.13</string>
|
|
||||||
<key>DTXcode</key>
|
|
||||||
<string>0900</string>
|
|
||||||
<key>DTXcodeBuild</key>
|
|
||||||
<string>9A235</string>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
||||||
Binary file not shown.
@@ -1,46 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>BuildMachineOSBuild</key>
|
|
||||||
<string>16G29</string>
|
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
|
||||||
<string>en</string>
|
|
||||||
<key>CFBundleExecutable</key>
|
|
||||||
<string>FBPortForwarding-Mac</string>
|
|
||||||
<key>CFBundleIdentifier</key>
|
|
||||||
<string>com.facebook.FBPortForwarding-Mac</string>
|
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
|
||||||
<string>6.0</string>
|
|
||||||
<key>CFBundleName</key>
|
|
||||||
<string>FBPortForwarding-Mac</string>
|
|
||||||
<key>CFBundlePackageType</key>
|
|
||||||
<string>FMWK</string>
|
|
||||||
<key>CFBundleShortVersionString</key>
|
|
||||||
<string>1.0</string>
|
|
||||||
<key>CFBundleSignature</key>
|
|
||||||
<string>????</string>
|
|
||||||
<key>CFBundleSupportedPlatforms</key>
|
|
||||||
<array>
|
|
||||||
<string>MacOSX</string>
|
|
||||||
</array>
|
|
||||||
<key>CFBundleVersion</key>
|
|
||||||
<string></string>
|
|
||||||
<key>DTCompiler</key>
|
|
||||||
<string>com.apple.compilers.llvm.clang.1_0</string>
|
|
||||||
<key>DTPlatformBuild</key>
|
|
||||||
<string>9A235</string>
|
|
||||||
<key>DTPlatformVersion</key>
|
|
||||||
<string>GM</string>
|
|
||||||
<key>DTSDKBuild</key>
|
|
||||||
<string>17A360</string>
|
|
||||||
<key>DTSDKName</key>
|
|
||||||
<string>macosx10.13</string>
|
|
||||||
<key>DTXcode</key>
|
|
||||||
<string>0900</string>
|
|
||||||
<key>DTXcodeBuild</key>
|
|
||||||
<string>9A235</string>
|
|
||||||
<key>NSHumanReadableCopyright</key>
|
|
||||||
<string>Copyright © 2014 Facebook. All rights reserved.</string>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
||||||
Binary file not shown.
@@ -1,46 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>BuildMachineOSBuild</key>
|
|
||||||
<string>16G29</string>
|
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
|
||||||
<string>en</string>
|
|
||||||
<key>CFBundleExecutable</key>
|
|
||||||
<string>FBPortForwarding-Mac</string>
|
|
||||||
<key>CFBundleIdentifier</key>
|
|
||||||
<string>com.facebook.FBPortForwarding-Mac</string>
|
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
|
||||||
<string>6.0</string>
|
|
||||||
<key>CFBundleName</key>
|
|
||||||
<string>FBPortForwarding-Mac</string>
|
|
||||||
<key>CFBundlePackageType</key>
|
|
||||||
<string>FMWK</string>
|
|
||||||
<key>CFBundleShortVersionString</key>
|
|
||||||
<string>1.0</string>
|
|
||||||
<key>CFBundleSignature</key>
|
|
||||||
<string>????</string>
|
|
||||||
<key>CFBundleSupportedPlatforms</key>
|
|
||||||
<array>
|
|
||||||
<string>MacOSX</string>
|
|
||||||
</array>
|
|
||||||
<key>CFBundleVersion</key>
|
|
||||||
<string></string>
|
|
||||||
<key>DTCompiler</key>
|
|
||||||
<string>com.apple.compilers.llvm.clang.1_0</string>
|
|
||||||
<key>DTPlatformBuild</key>
|
|
||||||
<string>9A235</string>
|
|
||||||
<key>DTPlatformVersion</key>
|
|
||||||
<string>GM</string>
|
|
||||||
<key>DTSDKBuild</key>
|
|
||||||
<string>17A360</string>
|
|
||||||
<key>DTSDKName</key>
|
|
||||||
<string>macosx10.13</string>
|
|
||||||
<key>DTXcode</key>
|
|
||||||
<string>0900</string>
|
|
||||||
<key>DTXcodeBuild</key>
|
|
||||||
<string>9A235</string>
|
|
||||||
<key>NSHumanReadableCopyright</key>
|
|
||||||
<string>Copyright © 2014 Facebook. All rights reserved.</string>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>BuildMachineOSBuild</key>
|
|
||||||
<string>16G29</string>
|
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
|
||||||
<string>en</string>
|
|
||||||
<key>CFBundleExecutable</key>
|
|
||||||
<string>peertalkMac</string>
|
|
||||||
<key>CFBundleIdentifier</key>
|
|
||||||
<string>com.facebook.peertalkMac</string>
|
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
|
||||||
<string>6.0</string>
|
|
||||||
<key>CFBundleName</key>
|
|
||||||
<string>peertalkMac</string>
|
|
||||||
<key>CFBundlePackageType</key>
|
|
||||||
<string>FMWK</string>
|
|
||||||
<key>CFBundleShortVersionString</key>
|
|
||||||
<string>1.0</string>
|
|
||||||
<key>CFBundleSignature</key>
|
|
||||||
<string>????</string>
|
|
||||||
<key>CFBundleSupportedPlatforms</key>
|
|
||||||
<array>
|
|
||||||
<string>MacOSX</string>
|
|
||||||
</array>
|
|
||||||
<key>CFBundleVersion</key>
|
|
||||||
<string></string>
|
|
||||||
<key>DTCompiler</key>
|
|
||||||
<string>com.apple.compilers.llvm.clang.1_0</string>
|
|
||||||
<key>DTPlatformBuild</key>
|
|
||||||
<string>9A235</string>
|
|
||||||
<key>DTPlatformVersion</key>
|
|
||||||
<string>GM</string>
|
|
||||||
<key>DTSDKBuild</key>
|
|
||||||
<string>17A360</string>
|
|
||||||
<key>DTSDKName</key>
|
|
||||||
<string>macosx10.13</string>
|
|
||||||
<key>DTXcode</key>
|
|
||||||
<string>0900</string>
|
|
||||||
<key>DTXcodeBuild</key>
|
|
||||||
<string>9A235</string>
|
|
||||||
<key>NSHumanReadableCopyright</key>
|
|
||||||
<string>Copyright © 2014 Facebook. All rights reserved.</string>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>BuildMachineOSBuild</key>
|
|
||||||
<string>16G29</string>
|
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
|
||||||
<string>en</string>
|
|
||||||
<key>CFBundleExecutable</key>
|
|
||||||
<string>peertalkMac</string>
|
|
||||||
<key>CFBundleIdentifier</key>
|
|
||||||
<string>com.facebook.peertalkMac</string>
|
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
|
||||||
<string>6.0</string>
|
|
||||||
<key>CFBundleName</key>
|
|
||||||
<string>peertalkMac</string>
|
|
||||||
<key>CFBundlePackageType</key>
|
|
||||||
<string>FMWK</string>
|
|
||||||
<key>CFBundleShortVersionString</key>
|
|
||||||
<string>1.0</string>
|
|
||||||
<key>CFBundleSignature</key>
|
|
||||||
<string>????</string>
|
|
||||||
<key>CFBundleSupportedPlatforms</key>
|
|
||||||
<array>
|
|
||||||
<string>MacOSX</string>
|
|
||||||
</array>
|
|
||||||
<key>CFBundleVersion</key>
|
|
||||||
<string></string>
|
|
||||||
<key>DTCompiler</key>
|
|
||||||
<string>com.apple.compilers.llvm.clang.1_0</string>
|
|
||||||
<key>DTPlatformBuild</key>
|
|
||||||
<string>9A235</string>
|
|
||||||
<key>DTPlatformVersion</key>
|
|
||||||
<string>GM</string>
|
|
||||||
<key>DTSDKBuild</key>
|
|
||||||
<string>17A360</string>
|
|
||||||
<key>DTSDKName</key>
|
|
||||||
<string>macosx10.13</string>
|
|
||||||
<key>DTXcode</key>
|
|
||||||
<string>0900</string>
|
|
||||||
<key>DTXcodeBuild</key>
|
|
||||||
<string>9A235</string>
|
|
||||||
<key>NSHumanReadableCopyright</key>
|
|
||||||
<string>Copyright © 2014 Facebook. All rights reserved.</string>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
||||||
Binary file not shown.
Binary file not shown.
@@ -3,7 +3,7 @@
|
|||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
<dict>
|
<dict>
|
||||||
<key>BuildMachineOSBuild</key>
|
<key>BuildMachineOSBuild</key>
|
||||||
<string>16G29</string>
|
<string>21A559</string>
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
<string>en</string>
|
<string>en</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
@@ -16,30 +16,34 @@
|
|||||||
<string>PortForwardingMacApp</string>
|
<string>PortForwardingMacApp</string>
|
||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>APPL</string>
|
<string>APPL</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>????</string>
|
<string>1.0</string>
|
||||||
<key>CFBundleSupportedPlatforms</key>
|
<key>CFBundleSupportedPlatforms</key>
|
||||||
<array>
|
<array>
|
||||||
<string>MacOSX</string>
|
<string>MacOSX</string>
|
||||||
</array>
|
</array>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string></string>
|
<string>1</string>
|
||||||
<key>DTCompiler</key>
|
<key>DTCompiler</key>
|
||||||
<string>com.apple.compilers.llvm.clang.1_0</string>
|
<string>com.apple.compilers.llvm.clang.1_0</string>
|
||||||
<key>DTPlatformBuild</key>
|
<key>DTPlatformBuild</key>
|
||||||
<string>9A235</string>
|
<string>13A1030d</string>
|
||||||
|
<key>DTPlatformName</key>
|
||||||
|
<string>macosx</string>
|
||||||
<key>DTPlatformVersion</key>
|
<key>DTPlatformVersion</key>
|
||||||
<string>GM</string>
|
<string>12.0</string>
|
||||||
<key>DTSDKBuild</key>
|
<key>DTSDKBuild</key>
|
||||||
<string>17A360</string>
|
<string>21A344</string>
|
||||||
<key>DTSDKName</key>
|
<key>DTSDKName</key>
|
||||||
<string>macosx10.13</string>
|
<string>macosx12.0</string>
|
||||||
<key>DTXcode</key>
|
<key>DTXcode</key>
|
||||||
<string>0900</string>
|
<string>1310</string>
|
||||||
<key>DTXcodeBuild</key>
|
<key>DTXcodeBuild</key>
|
||||||
<string>9A235</string>
|
<string>13A1030d</string>
|
||||||
|
<key>LSApplicationCategoryType</key>
|
||||||
|
<string>public.app-category.developer-tools</string>
|
||||||
<key>LSMinimumSystemVersion</key>
|
<key>LSMinimumSystemVersion</key>
|
||||||
<string>10.10</string>
|
<string>12.0</string>
|
||||||
<key>NSHumanReadableCopyright</key>
|
<key>NSHumanReadableCopyright</key>
|
||||||
<string>Copyright © 2013-present Facebook. All rights reserved.</string>
|
<string>Copyright © 2013-present Facebook. All rights reserved.</string>
|
||||||
<key>NSMainNibFile</key>
|
<key>NSMainNibFile</key>
|
||||||
|
|||||||
Binary file not shown.
@@ -0,0 +1,115 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>files</key>
|
||||||
|
<dict/>
|
||||||
|
<key>files2</key>
|
||||||
|
<dict/>
|
||||||
|
<key>rules</key>
|
||||||
|
<dict>
|
||||||
|
<key>^Resources/</key>
|
||||||
|
<true/>
|
||||||
|
<key>^Resources/.*\.lproj/</key>
|
||||||
|
<dict>
|
||||||
|
<key>optional</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>1000</real>
|
||||||
|
</dict>
|
||||||
|
<key>^Resources/.*\.lproj/locversion.plist$</key>
|
||||||
|
<dict>
|
||||||
|
<key>omit</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>1100</real>
|
||||||
|
</dict>
|
||||||
|
<key>^Resources/Base\.lproj/</key>
|
||||||
|
<dict>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>1010</real>
|
||||||
|
</dict>
|
||||||
|
<key>^version.plist$</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
<key>rules2</key>
|
||||||
|
<dict>
|
||||||
|
<key>.*\.dSYM($|/)</key>
|
||||||
|
<dict>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>11</real>
|
||||||
|
</dict>
|
||||||
|
<key>^(.*/)?\.DS_Store$</key>
|
||||||
|
<dict>
|
||||||
|
<key>omit</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>2000</real>
|
||||||
|
</dict>
|
||||||
|
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
|
||||||
|
<dict>
|
||||||
|
<key>nested</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>10</real>
|
||||||
|
</dict>
|
||||||
|
<key>^.*</key>
|
||||||
|
<true/>
|
||||||
|
<key>^Info\.plist$</key>
|
||||||
|
<dict>
|
||||||
|
<key>omit</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>20</real>
|
||||||
|
</dict>
|
||||||
|
<key>^PkgInfo$</key>
|
||||||
|
<dict>
|
||||||
|
<key>omit</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>20</real>
|
||||||
|
</dict>
|
||||||
|
<key>^Resources/</key>
|
||||||
|
<dict>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>20</real>
|
||||||
|
</dict>
|
||||||
|
<key>^Resources/.*\.lproj/</key>
|
||||||
|
<dict>
|
||||||
|
<key>optional</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>1000</real>
|
||||||
|
</dict>
|
||||||
|
<key>^Resources/.*\.lproj/locversion.plist$</key>
|
||||||
|
<dict>
|
||||||
|
<key>omit</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>1100</real>
|
||||||
|
</dict>
|
||||||
|
<key>^Resources/Base\.lproj/</key>
|
||||||
|
<dict>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>1010</real>
|
||||||
|
</dict>
|
||||||
|
<key>^[^/]+$</key>
|
||||||
|
<dict>
|
||||||
|
<key>nested</key>
|
||||||
|
<true/>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>10</real>
|
||||||
|
</dict>
|
||||||
|
<key>^embedded\.provisionprofile$</key>
|
||||||
|
<dict>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>20</real>
|
||||||
|
</dict>
|
||||||
|
<key>^version\.plist$</key>
|
||||||
|
<dict>
|
||||||
|
<key>weight</key>
|
||||||
|
<real>20</real>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
# Bump this to ensure we are getting a new content hash when only changing metadata.
|
||||||
|
1
|
||||||
@@ -137,6 +137,9 @@
|
|||||||
window.flipperShowMessage = showMessage;
|
window.flipperShowMessage = showMessage;
|
||||||
window.flipperHideMessage = hideMessage;
|
window.flipperHideMessage = hideMessage;
|
||||||
|
|
||||||
|
window.GRAPH_SECRET = 'GRAPH_SECRET_REPLACE_ME';
|
||||||
|
window.FLIPPER_APP_VERSION = 'FLIPPER_APP_VERSION_REPLACE_ME';
|
||||||
|
|
||||||
const params = new URL(location.href).searchParams;
|
const params = new URL(location.href).searchParams;
|
||||||
let token = params.get('token');
|
let token = params.get('token');
|
||||||
if (!token) {
|
if (!token) {
|
||||||
|
|||||||
@@ -70,7 +70,7 @@
|
|||||||
|
|
||||||
const root = document.getElementById('root');
|
const root = document.getElementById('root');
|
||||||
const troubleshootBox = document.getElementById('troubleshoot');
|
const troubleshootBox = document.getElementById('troubleshoot');
|
||||||
|
|
||||||
function showMessage(text) {
|
function showMessage(text) {
|
||||||
troubleshootBox.innerText = text;
|
troubleshootBox.innerText = text;
|
||||||
|
|
||||||
@@ -86,6 +86,9 @@
|
|||||||
window.flipperShowMessage = showMessage;
|
window.flipperShowMessage = showMessage;
|
||||||
window.flipperHideMessage = hideMessage;
|
window.flipperHideMessage = hideMessage;
|
||||||
|
|
||||||
|
window.GRAPH_SECRET = 'GRAPH_SECRET_REPLACE_ME';
|
||||||
|
window.FLIPPER_APP_VERSION = 'FLIPPER_APP_VERSION_REPLACE_ME';
|
||||||
|
|
||||||
// load correct theme (n.b. this doesn't handle system value specifically, will assume light in such cases)
|
// load correct theme (n.b. this doesn't handle system value specifically, will assume light in such cases)
|
||||||
try {
|
try {
|
||||||
if (window.flipperConfig.theme === 'dark') {
|
if (window.flipperConfig.theme === 'dark') {
|
||||||
|
|||||||
@@ -137,6 +137,7 @@
|
|||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
button.disabled = false;
|
button.disabled = false;
|
||||||
button.value = 'Start';
|
button.value = 'Start';
|
||||||
|
|
||||||
}, 30 * 10000);
|
}, 30 * 10000);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -147,24 +148,18 @@
|
|||||||
window.location.reload();
|
window.location.reload();
|
||||||
});
|
});
|
||||||
|
|
||||||
let autoStarted = false;
|
|
||||||
|
|
||||||
// Check if the server is responding & reload the page if it is.
|
// Check if the server is responding & reload the page if it is.
|
||||||
// This handles the case when the device is online, but the server
|
// This handles the case when the device is online, but the server
|
||||||
// is offline or misbehaving.
|
// is offline or misbehaving.
|
||||||
async function checkNetworkAndReload() {
|
async function checkNetworkAndReload() {
|
||||||
try {
|
try {
|
||||||
const response = await fetch('.');
|
const response = await fetch('.');
|
||||||
if (response.status === 200) {
|
if (response.status >= 200 && response.status < 500) {
|
||||||
window.location.reload();
|
window.location.reload();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} catch {
|
} catch {
|
||||||
// trigger submit button automatically, but only once
|
// Unable to connect to the server, ignore.
|
||||||
if (!autoStarted) {
|
|
||||||
autoStarted = true;
|
|
||||||
document.getElementById("submit").click();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
window.setTimeout(checkNetworkAndReload, 2500);
|
window.setTimeout(checkNetworkAndReload, 2500);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,6 @@
|
|||||||
"flipper-plugin": ["./flipper-plugin/src"],
|
"flipper-plugin": ["./flipper-plugin/src"],
|
||||||
"eslint-plugin-flipper": ["./eslint-plugin-flipper/src"],
|
"eslint-plugin-flipper": ["./eslint-plugin-flipper/src"],
|
||||||
"flipper-server-core": ["./flipper-server-core/src"],
|
"flipper-server-core": ["./flipper-server-core/src"],
|
||||||
"flipper-server-ui": ["./flipper-server-ui/src"],
|
|
||||||
"flipper-common": ["./flipper-common/src"],
|
"flipper-common": ["./flipper-common/src"],
|
||||||
"flipper-*": ["./*/src"]
|
"flipper-*": ["./*/src"]
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -4781,6 +4781,11 @@
|
|||||||
"@typescript-eslint/types" "5.55.0"
|
"@typescript-eslint/types" "5.55.0"
|
||||||
eslint-visitor-keys "^3.3.0"
|
eslint-visitor-keys "^3.3.0"
|
||||||
|
|
||||||
|
"@xmldom/xmldom@^0.8.8":
|
||||||
|
version "0.8.10"
|
||||||
|
resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.10.tgz#a1337ca426aa61cef9fe15b5b28e340a72f6fa99"
|
||||||
|
integrity sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==
|
||||||
|
|
||||||
"@xobotyi/scrollbar-width@^1.9.5":
|
"@xobotyi/scrollbar-width@^1.9.5":
|
||||||
version "1.9.5"
|
version "1.9.5"
|
||||||
resolved "https://registry.yarnpkg.com/@xobotyi/scrollbar-width/-/scrollbar-width-1.9.5.tgz#80224a6919272f405b87913ca13b92929bdf3c4d"
|
resolved "https://registry.yarnpkg.com/@xobotyi/scrollbar-width/-/scrollbar-width-1.9.5.tgz#80224a6919272f405b87913ca13b92929bdf3c4d"
|
||||||
@@ -5713,6 +5718,11 @@ base@^0.11.1:
|
|||||||
mixin-deep "^1.2.0"
|
mixin-deep "^1.2.0"
|
||||||
pascalcase "^0.1.1"
|
pascalcase "^0.1.1"
|
||||||
|
|
||||||
|
big-integer@1.6.x:
|
||||||
|
version "1.6.51"
|
||||||
|
resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686"
|
||||||
|
integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==
|
||||||
|
|
||||||
bl@^1.0.0:
|
bl@^1.0.0:
|
||||||
version "1.2.3"
|
version "1.2.3"
|
||||||
resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7"
|
resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7"
|
||||||
@@ -5787,6 +5797,20 @@ boxen@^5.0.0:
|
|||||||
widest-line "^3.1.0"
|
widest-line "^3.1.0"
|
||||||
wrap-ansi "^7.0.0"
|
wrap-ansi "^7.0.0"
|
||||||
|
|
||||||
|
bplist-creator@0.1.0:
|
||||||
|
version "0.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.1.0.tgz#018a2d1b587f769e379ef5519103730f8963ba1e"
|
||||||
|
integrity sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==
|
||||||
|
dependencies:
|
||||||
|
stream-buffers "2.2.x"
|
||||||
|
|
||||||
|
bplist-parser@0.3.1:
|
||||||
|
version "0.3.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.3.1.tgz#e1c90b2ca2a9f9474cc72f6862bbf3fee8341fd1"
|
||||||
|
integrity sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==
|
||||||
|
dependencies:
|
||||||
|
big-integer "1.6.x"
|
||||||
|
|
||||||
brace-expansion@^1.1.7:
|
brace-expansion@^1.1.7:
|
||||||
version "1.1.11"
|
version "1.1.11"
|
||||||
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
|
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
|
||||||
@@ -12527,6 +12551,15 @@ plist@^3.0.1, plist@^3.0.4:
|
|||||||
base64-js "^1.5.1"
|
base64-js "^1.5.1"
|
||||||
xmlbuilder "^9.0.7"
|
xmlbuilder "^9.0.7"
|
||||||
|
|
||||||
|
plist@^3.0.5:
|
||||||
|
version "3.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/plist/-/plist-3.1.0.tgz#797a516a93e62f5bde55e0b9cc9c967f860893c9"
|
||||||
|
integrity sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==
|
||||||
|
dependencies:
|
||||||
|
"@xmldom/xmldom" "^0.8.8"
|
||||||
|
base64-js "^1.5.1"
|
||||||
|
xmlbuilder "^15.1.1"
|
||||||
|
|
||||||
posix-character-classes@^0.1.0:
|
posix-character-classes@^0.1.0:
|
||||||
version "0.1.1"
|
version "0.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
|
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
|
||||||
@@ -14289,6 +14322,15 @@ signal-exit@^3.0.3, signal-exit@^3.0.7:
|
|||||||
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
|
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
|
||||||
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
|
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
|
||||||
|
|
||||||
|
simple-plist@^1.3.1:
|
||||||
|
version "1.3.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-1.3.1.tgz#16e1d8f62c6c9b691b8383127663d834112fb017"
|
||||||
|
integrity sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==
|
||||||
|
dependencies:
|
||||||
|
bplist-creator "0.1.0"
|
||||||
|
bplist-parser "0.3.1"
|
||||||
|
plist "^3.0.5"
|
||||||
|
|
||||||
sisteransi@^1.0.4:
|
sisteransi@^1.0.4:
|
||||||
version "1.0.5"
|
version "1.0.5"
|
||||||
resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed"
|
resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed"
|
||||||
@@ -14581,6 +14623,11 @@ stop-iteration-iterator@^1.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
internal-slot "^1.0.4"
|
internal-slot "^1.0.4"
|
||||||
|
|
||||||
|
stream-buffers@2.2.x:
|
||||||
|
version "2.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4"
|
||||||
|
integrity sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==
|
||||||
|
|
||||||
string-convert@^0.2.0:
|
string-convert@^0.2.0:
|
||||||
version "0.2.1"
|
version "0.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/string-convert/-/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97"
|
resolved "https://registry.yarnpkg.com/string-convert/-/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97"
|
||||||
@@ -15806,7 +15853,7 @@ xml-name-validator@^4.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835"
|
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835"
|
||||||
integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==
|
integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==
|
||||||
|
|
||||||
xmlbuilder@>=11.0.1:
|
xmlbuilder@>=11.0.1, xmlbuilder@^15.1.1:
|
||||||
version "15.1.1"
|
version "15.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz#9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5"
|
resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz#9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5"
|
||||||
integrity sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==
|
integrity sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==
|
||||||
|
|||||||
@@ -24,10 +24,10 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
debugImplementation 'com.facebook.flipper:flipper:0.226.0'
|
debugImplementation 'com.facebook.flipper:flipper:0.227.0'
|
||||||
debugImplementation 'com.facebook.soloader:soloader:0.10.5'
|
debugImplementation 'com.facebook.soloader:soloader:0.10.5'
|
||||||
|
|
||||||
releaseImplementation 'com.facebook.flipper:flipper-noop:0.226.0'
|
releaseImplementation 'com.facebook.flipper:flipper-noop:0.227.0'
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ Add all of the code below to your `ios/Podfile`:
|
|||||||
platform :ios, '9.0'
|
platform :ios, '9.0'
|
||||||
|
|
||||||
def flipper_pods()
|
def flipper_pods()
|
||||||
flipperkit_version = '0.226.0' # should match the version of your Flipper client app
|
flipperkit_version = '0.227.0' # should match the version of your Flipper client app
|
||||||
pod 'FlipperKit', '~>' + flipperkit_version, :configuration => 'Debug'
|
pod 'FlipperKit', '~>' + flipperkit_version, :configuration => 'Debug'
|
||||||
pod 'FlipperKit/FlipperKitLayoutPlugin', '~>' + flipperkit_version, :configuration => 'Debug'
|
pod 'FlipperKit/FlipperKitLayoutPlugin', '~>' + flipperkit_version, :configuration => 'Debug'
|
||||||
pod 'FlipperKit/SKIOSNetworkPlugin', '~>' + flipperkit_version, :configuration => 'Debug'
|
pod 'FlipperKit/SKIOSNetworkPlugin', '~>' + flipperkit_version, :configuration => 'Debug'
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ Latest version of Flipper requires react-native 0.69+! If you use react-native <
|
|||||||
|
|
||||||
Android:
|
Android:
|
||||||
|
|
||||||
1. Bump the `FLIPPER_VERSION` variable in `android/gradle.properties`, for example: `FLIPPER_VERSION=0.226.0`.
|
1. Bump the `FLIPPER_VERSION` variable in `android/gradle.properties`, for example: `FLIPPER_VERSION=0.227.0`.
|
||||||
2. Run `./gradlew clean` in the `android` directory.
|
2. Run `./gradlew clean` in the `android` directory.
|
||||||
|
|
||||||
iOS:
|
iOS:
|
||||||
@@ -44,7 +44,7 @@ react-native version => 0.69.0
|
|||||||
2. Run `pod install --repo-update` in the `ios` directory.
|
2. Run `pod install --repo-update` in the `ios` directory.
|
||||||
|
|
||||||
react-native version < 0.69.0
|
react-native version < 0.69.0
|
||||||
1. Call `use_flipper` with a specific version in `ios/Podfile`, for example: `use_flipper!({ 'Flipper' => '0.226.0' })`.
|
1. Call `use_flipper` with a specific version in `ios/Podfile`, for example: `use_flipper!({ 'Flipper' => '0.227.0' })`.
|
||||||
2. Run `pod install --repo-update` in the `ios` directory.
|
2. Run `pod install --repo-update` in the `ios` directory.
|
||||||
|
|
||||||
## Manual Setup
|
## Manual Setup
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
# This source code is licensed under the MIT license found in the
|
# This source code is licensed under the MIT license found in the
|
||||||
# LICENSE file in the root directory of this source tree.
|
# LICENSE file in the root directory of this source tree.
|
||||||
# POM publishing constants
|
# POM publishing constants
|
||||||
VERSION_NAME=0.226.1-SNAPSHOT
|
VERSION_NAME=0.227.0
|
||||||
GROUP=com.facebook.flipper
|
GROUP=com.facebook.flipper
|
||||||
SONATYPE_STAGING_PROFILE=comfacebook
|
SONATYPE_STAGING_PROFILE=comfacebook
|
||||||
POM_URL=https://github.com/facebook/flipper
|
POM_URL=https://github.com/facebook/flipper
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||||
*
|
*
|
||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
@@ -21,5 +21,4 @@ static dispatch_data_t NSDataToGCDData(NSData* data) {
|
|||||||
return dispatch_data_create(data.bytes, data.length, nil, ^{
|
return dispatch_data_create(data.bytes, data.length, nil, ^{
|
||||||
retainedData = nil;
|
retainedData = nil;
|
||||||
});
|
});
|
||||||
(void)retainedData;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ DEPENDENCIES:
|
|||||||
- SocketRocket (~> 0.7.0)
|
- SocketRocket (~> 0.7.0)
|
||||||
|
|
||||||
SPEC REPOS:
|
SPEC REPOS:
|
||||||
https://github.com/CocoaPods/Specs:
|
https://github.com/CocoaPods/Specs.git:
|
||||||
- CocoaAsyncSocket
|
- CocoaAsyncSocket
|
||||||
- DoubleConversion
|
- DoubleConversion
|
||||||
- Flipper-Boost-iOSX
|
- Flipper-Boost-iOSX
|
||||||
@@ -65,4 +65,4 @@ SPEC CHECKSUMS:
|
|||||||
|
|
||||||
PODFILE CHECKSUM: abf37c1df1aeaa21dc8787782160e039dc2a64a8
|
PODFILE CHECKSUM: abf37c1df1aeaa21dc8787782160e039dc2a64a8
|
||||||
|
|
||||||
COCOAPODS: 1.11.2
|
COCOAPODS: 1.10.2
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "js-flipper",
|
"name": "js-flipper",
|
||||||
"title": "JS Flipper Bindings for Web-Socket based clients",
|
"title": "JS Flipper Bindings for Web-Socket based clients",
|
||||||
"version": "0.226.0",
|
"version": "0.227.0",
|
||||||
"main": "lib/index.js",
|
"main": "lib/index.js",
|
||||||
"browser": {
|
"browser": {
|
||||||
"os": false
|
"os": false
|
||||||
|
|||||||
@@ -58,9 +58,9 @@ server-linux:
|
|||||||
files:
|
files:
|
||||||
frameworks:
|
frameworks:
|
||||||
- '!*'
|
- '!*'
|
||||||
- node
|
- flipper-runtime
|
||||||
core:
|
core:
|
||||||
- '!node'
|
- '!flipper-runtime
|
||||||
- '!static'
|
- '!static'
|
||||||
static:
|
static:
|
||||||
- '!*'
|
- '!*'
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "react-native-flipper",
|
"name": "react-native-flipper",
|
||||||
"title": "React Native Flipper Bindings",
|
"title": "React Native Flipper Bindings",
|
||||||
"version": "0.226.0",
|
"version": "0.227.0",
|
||||||
"description": "Flipper bindings for React Native",
|
"description": "Flipper bindings for React Native",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"types": "index.d.ts",
|
"types": "index.d.ts",
|
||||||
|
|||||||
Reference in New Issue
Block a user