Add types to scripts and config files

Summary:
Now that we have some TypeScript infra set up, move scripts (mainly the benchmarking one) and config files to TypeScript.

Starts to move away a bit from the magic globals used in the JS environment.

Differential Revision: D45511176

fbshipit-source-id: 541b967a276d2894e68b505169fc69096589d8c4
This commit is contained in:
Nick Gerleman
2023-05-02 17:56:33 -07:00
committed by Facebook GitHub Bot
parent 940ac559b4
commit 66225e7f80
13 changed files with 438 additions and 137 deletions

View File

@@ -0,0 +1,27 @@
/**
* 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 type { Yoga } from "yoga-layout";
declare global {
// eslint-disable-next-line no-var
var Yoga: Yoga | undefined;
// eslint-disable-next-line no-var
var YGBENCHMARK: (title: string, fn: () => void) => void;
}
if (globalThis.Yoga === undefined) {
throw new Error('Expected "Yoga" global to be set');
}
if (globalThis.YGBENCHMARK === undefined) {
throw new Error('Expected "YGBENCHMARK" global to be set');
}
const yoga = globalThis.Yoga;
const benchmark = globalThis.YGBENCHMARK;
export { yoga as Yoga, benchmark as YGBENCHMARK };