mirror of
https://github.com/react/react-native.git
synced 2026-09-28 21:33:11 +08:00
Summary: Pull Request resolved: https://github.com/react/react-native/pull/57611 Directly follows D112733139 (Metro). **Motivation** - New Node builtins are *only* available under the prefix (e.g. `node:sqlite`), as this allows Node to introduce them without ecosystem-breaking changes, so this is the direction of travel and the only choice that'll allow consistency. - Encouraging them and grouping them separately makes it easier to reason about a module's 3rd party dependencies. Changelog: [Internal] Reviewed By: robhogan Differential Revision: D112803684 fbshipit-source-id: 40668d746a7151b3aa4800ff8af997902a18d198
102 lines
2.6 KiB
JavaScript
102 lines
2.6 KiB
JavaScript
/**
|
|
* 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-local
|
|
* @format
|
|
*/
|
|
|
|
import type {FantomTestConfig} from './getFantomTestConfigs';
|
|
|
|
import formatFantomConfig from './formatFantomConfig';
|
|
import path from 'node:path';
|
|
|
|
export const PROJECT_ROOT: string = path.resolve(__dirname, '..', '..', '..');
|
|
|
|
export const OUTPUT_PATH: string = path.resolve(__dirname, '..', '.out');
|
|
export const JS_BUILD_OUTPUT_PATH: string = path.join(OUTPUT_PATH, 'js-builds');
|
|
export const NATIVE_BUILD_OUTPUT_PATH: string = path.join(
|
|
OUTPUT_PATH,
|
|
'native-builds',
|
|
);
|
|
export const JS_TRACES_OUTPUT_PATH: string = path.join(
|
|
OUTPUT_PATH,
|
|
'js-traces',
|
|
);
|
|
export const CPP_TRACES_OUTPUT_PATH: string = path.join(
|
|
OUTPUT_PATH,
|
|
'cpp-traces',
|
|
);
|
|
export const JS_HEAP_SNAPSHOTS_OUTPUT_PATH: string = path.join(
|
|
OUTPUT_PATH,
|
|
'js-heap-snapshots',
|
|
);
|
|
|
|
export function getTestBuildOutputPath(): string {
|
|
const fantomRunID = process.env.__FANTOM_RUN_ID__;
|
|
if (fantomRunID == null) {
|
|
throw new Error(
|
|
'Expected Fantom run ID to be set by global setup, but it was not (process.env.__FANTOM_RUN_ID__ is null)',
|
|
);
|
|
}
|
|
|
|
return path.join(JS_BUILD_OUTPUT_PATH, fantomRunID);
|
|
}
|
|
|
|
export function buildJSTracesOutputPath({
|
|
testPath,
|
|
testConfig,
|
|
isMultiConfigTest,
|
|
}: {
|
|
testPath: string,
|
|
testConfig: FantomTestConfig,
|
|
isMultiConfigTest: boolean,
|
|
}): string {
|
|
const fileNameParts = [path.basename(testPath)];
|
|
|
|
if (isMultiConfigTest) {
|
|
const configSummary = formatFantomConfig(testConfig, {style: 'short'});
|
|
if (configSummary !== '') {
|
|
fileNameParts.push(configSummary);
|
|
}
|
|
}
|
|
|
|
fileNameParts.push(new Date().toISOString());
|
|
|
|
const fileName = fileNameParts.join('-') + '.cpuprofile';
|
|
|
|
return path.join(JS_TRACES_OUTPUT_PATH, fileName);
|
|
}
|
|
|
|
const JS_HEAP_SNAPSHOT_OUTPUT_PATH_TOKEN = '${timestamp}';
|
|
|
|
export function buildJSHeapSnapshotsOutputPathTemplate({
|
|
testPath,
|
|
testConfig,
|
|
isMultiConfigTest,
|
|
}: {
|
|
testPath: string,
|
|
testConfig: FantomTestConfig,
|
|
isMultiConfigTest: boolean,
|
|
}): [string, string] {
|
|
const fileNameParts = [path.basename(testPath)];
|
|
|
|
if (isMultiConfigTest) {
|
|
const configSummary = formatFantomConfig(testConfig, {style: 'short'});
|
|
if (configSummary !== '') {
|
|
fileNameParts.push(configSummary);
|
|
}
|
|
}
|
|
|
|
fileNameParts.push(JS_HEAP_SNAPSHOT_OUTPUT_PATH_TOKEN);
|
|
|
|
const fileName = fileNameParts.join('-') + '.heapsnapshot';
|
|
|
|
return [
|
|
path.join(JS_HEAP_SNAPSHOTS_OUTPUT_PATH, fileName),
|
|
JS_HEAP_SNAPSHOT_OUTPUT_PATH_TOKEN,
|
|
];
|
|
}
|