- 37개 파일 IP → zioinfo.co.kr 치환 (소스/매뉴얼/설정/하네스) - Manager DrConsole/NetworkConsole/CsapConsole 빌드 + /var/www/manager/ 배포 - 테스트: Manager HTTP 200, ITSM 신규 API 7개 전체 200 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
61 lines
1.5 KiB
Plaintext
61 lines
1.5 KiB
Plaintext
/**
|
|
* 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.
|
|
*
|
|
* @flow strict
|
|
* @format
|
|
*/
|
|
|
|
const APPLE_PLATFORMS_MACRO_MAP = {
|
|
ios: 'TARGET_OS_IOS',
|
|
macos: 'TARGET_OS_OSX',
|
|
tvos: 'TARGET_OS_TV',
|
|
visionos: 'TARGET_OS_VISION',
|
|
};
|
|
|
|
/**
|
|
* Adds compiler macros to the file template to exclude unsupported platforms.
|
|
*/
|
|
function generateSupportedApplePlatformsMacro(
|
|
fileTemplate: string,
|
|
supportedPlatformsMap: ?{[string]: boolean},
|
|
): string {
|
|
if (!supportedPlatformsMap) {
|
|
return fileTemplate;
|
|
}
|
|
|
|
// According to Podspec Syntax Reference, when `platform` or `deployment_target` is not specified, it defaults to all platforms.
|
|
// https://guides.cocoapods.org/syntax/podspec.html#platform
|
|
const everyPlatformIsUnsupported = Object.keys(supportedPlatformsMap).every(
|
|
platform => supportedPlatformsMap[platform] === false,
|
|
);
|
|
|
|
if (everyPlatformIsUnsupported) {
|
|
return fileTemplate;
|
|
}
|
|
|
|
const compilerMacroString = Object.keys(supportedPlatformsMap)
|
|
.reduce((acc: string[], platform) => {
|
|
if (!supportedPlatformsMap[platform]) {
|
|
return [...acc, `!${APPLE_PLATFORMS_MACRO_MAP[platform]}`];
|
|
}
|
|
return acc;
|
|
}, [])
|
|
.join(' && ');
|
|
|
|
if (!compilerMacroString) {
|
|
return fileTemplate;
|
|
}
|
|
|
|
return `#if ${compilerMacroString}
|
|
${fileTemplate}
|
|
#endif
|
|
`;
|
|
}
|
|
|
|
module.exports = {
|
|
generateSupportedApplePlatformsMacro,
|
|
};
|