Separate Node and Web Binaries (#1325)

Summary:
Pull Request resolved: https://github.com/facebook/yoga/pull/1325

Fixes https://github.com/facebook/yoga/issues/1321

Reviewed By: cortinico

Differential Revision: D47368830

fbshipit-source-id: 570a45ad7fd182ef82e6edda4037ae2f6faa0c75
This commit is contained in:
Nick Gerleman
2023-07-12 15:43:10 -07:00
committed by Facebook GitHub Bot
parent 7097b12b92
commit 5310eb3cf7
11 changed files with 193 additions and 47 deletions

View File

@@ -0,0 +1,26 @@
/**
* 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 wrapAssembly from '../wrapAssembly';
import type {Yoga} from '../wrapAssembly';
export * from '../generated/YGEnums';
export type {
Config,
DirtiedFunction,
MeasureFunction,
Node,
Yoga,
} from '../wrapAssembly';
const loadAssembly = require('../../binaries/asmjs-async-node');
export async function loadYoga(): Promise<Yoga> {
return wrapAssembly(await loadAssembly());
}

View File

@@ -19,7 +19,7 @@ export type {
Yoga,
} from '../wrapAssembly';
const loadAssembly = require('../../binaries/wasm-async');
const loadAssembly = require('../../binaries/asmjs-async-web');
export async function loadYoga(): Promise<Yoga> {
return wrapAssembly(await loadAssembly());

View File

@@ -0,0 +1,23 @@
/**
* 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 wrapAssembly from '../wrapAssembly';
export * from '../generated/YGEnums';
export type {
Config,
DirtiedFunction,
MeasureFunction,
Node,
Yoga,
} from '../wrapAssembly';
const loadAssembly = require('../../binaries/asmjs-sync-node');
const Yoga = wrapAssembly(loadAssembly());
export default Yoga;

View File

@@ -18,6 +18,6 @@ export type {
Yoga,
} from '../wrapAssembly';
const loadAssembly = require('../../binaries/wasm-sync');
const loadAssembly = require('../../binaries/asmjs-sync-web');
const Yoga = wrapAssembly(loadAssembly());
export default Yoga;

View File

@@ -0,0 +1,26 @@
/**
* 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 wrapAssembly from '../wrapAssembly';
import type {Yoga} from '../wrapAssembly';
export * from '../generated/YGEnums';
export type {
Config,
DirtiedFunction,
MeasureFunction,
Node,
Yoga,
} from '../wrapAssembly';
const loadAssembly = require('../../binaries/wasm-async-node');
export async function loadYoga(): Promise<Yoga> {
return wrapAssembly(await loadAssembly());
}

View File

@@ -19,7 +19,7 @@ export type {
Yoga,
} from '../wrapAssembly';
const loadAssembly = require('../../binaries/asmjs-async');
const loadAssembly = require('../../binaries/wasm-async-web');
export async function loadYoga(): Promise<Yoga> {
return wrapAssembly(await loadAssembly());

View File

@@ -0,0 +1,23 @@
/**
* 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 wrapAssembly from '../wrapAssembly';
export * from '../generated/YGEnums';
export type {
Config,
DirtiedFunction,
MeasureFunction,
Node,
Yoga,
} from '../wrapAssembly';
const loadAssembly = require('../../binaries/wasm-sync-node');
const Yoga = wrapAssembly(loadAssembly());
export default Yoga;

View File

@@ -18,6 +18,6 @@ export type {
Yoga,
} from '../wrapAssembly';
const loadAssembly = require('../../binaries/asmjs-sync');
const loadAssembly = require('../../binaries/wasm-sync-web');
const Yoga = wrapAssembly(loadAssembly());
export default Yoga;