Compare commits
12 Commits
dependabot
...
v2.0.0
Author | SHA1 | Date | |
---|---|---|---|
|
83a58bb9d6 | ||
|
30b697d3fe | ||
|
11721f487d | ||
|
6570e43a83 | ||
|
6628873c2a | ||
|
edf91b245d | ||
|
a4c339264a | ||
|
9a50bd7d61 | ||
|
1b3ddbbf4a | ||
|
24d2782ad3 | ||
|
f216c84175 | ||
|
b5d105132e |
@@ -3,7 +3,7 @@ name: Publish Android Release
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- *
|
- '*'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@@ -20,7 +20,6 @@ jobs:
|
|||||||
- name: Publish to Maven Local
|
- name: Publish to Maven Local
|
||||||
run: ./gradlew publishToMavenLocal
|
run: ./gradlew publishToMavenLocal
|
||||||
env:
|
env:
|
||||||
ORG_GRADLE_PROJECT_USE_SNAPSHOT: true
|
|
||||||
ORG_GRADLE_PROJECT_SIGNING_KEY: ${{ secrets.ORG_GRADLE_PROJECT_SIGNING_KEY }}
|
ORG_GRADLE_PROJECT_SIGNING_KEY: ${{ secrets.ORG_GRADLE_PROJECT_SIGNING_KEY }}
|
||||||
ORG_GRADLE_PROJECT_SIGNING_PWD: ${{ secrets.ORG_GRADLE_PROJECT_SIGNING_PWD }}
|
ORG_GRADLE_PROJECT_SIGNING_PWD: ${{ secrets.ORG_GRADLE_PROJECT_SIGNING_PWD }}
|
||||||
|
|
||||||
@@ -30,11 +29,10 @@ jobs:
|
|||||||
name: 'snapshot-artifacts'
|
name: 'snapshot-artifacts'
|
||||||
path: '~/.m2/repository/'
|
path: '~/.m2/repository/'
|
||||||
|
|
||||||
- name: Publish to the Snapshot Repository
|
- name: Publish to the Maven Central
|
||||||
run: ./gradlew publishToSonatype
|
run: ./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository
|
||||||
env:
|
env:
|
||||||
ORG_GRADLE_PROJECT_SONATYPE_USERNAME: ${{ secrets.ORG_GRADLE_PROJECT_SONATYPE_USERNAME }}
|
ORG_GRADLE_PROJECT_SONATYPE_USERNAME: ${{ secrets.ORG_GRADLE_PROJECT_SONATYPE_USERNAME }}
|
||||||
ORG_GRADLE_PROJECT_SONATYPE_PASSWORD: ${{ secrets.ORG_GRADLE_PROJECT_SONATYPE_PASSWORD }}
|
ORG_GRADLE_PROJECT_SONATYPE_PASSWORD: ${{ secrets.ORG_GRADLE_PROJECT_SONATYPE_PASSWORD }}
|
||||||
ORG_GRADLE_PROJECT_SIGNING_KEY: ${{ secrets.ORG_GRADLE_PROJECT_SIGNING_KEY }}
|
ORG_GRADLE_PROJECT_SIGNING_KEY: ${{ secrets.ORG_GRADLE_PROJECT_SIGNING_KEY }}
|
||||||
ORG_GRADLE_PROJECT_SIGNING_PWD: ${{ secrets.ORG_GRADLE_PROJECT_SIGNING_PWD }}
|
ORG_GRADLE_PROJECT_SIGNING_PWD: ${{ secrets.ORG_GRADLE_PROJECT_SIGNING_PWD }}
|
||||||
ORG_GRADLE_PROJECT_USE_SNAPSHOT: true
|
|
||||||
|
@@ -3,7 +3,7 @@ name: Publish CocoaPods Release
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- *
|
- '*'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@@ -23,6 +23,7 @@ jobs:
|
|||||||
COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }}
|
COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }}
|
||||||
|
|
||||||
- name: Publish YogaKit
|
- name: Publish YogaKit
|
||||||
run: pod trunk push YogaKit.podspec
|
# Must run with --synchronous since YogaKit may depend on the just published version of Yoga
|
||||||
|
run: pod trunk push YogaKit.podspec --synchronous
|
||||||
env:
|
env:
|
||||||
COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }}
|
COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }}
|
||||||
|
7
.github/workflows/publish-npm-release.yml
vendored
7
.github/workflows/publish-npm-release.yml
vendored
@@ -3,7 +3,7 @@ name: Publish NPM Release
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- *
|
- '*'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@@ -17,8 +17,9 @@ jobs:
|
|||||||
- name: Setup
|
- name: Setup
|
||||||
uses: ./.github/actions/setup-js
|
uses: ./.github/actions/setup-js
|
||||||
|
|
||||||
|
- name: Store auth token in config file
|
||||||
|
run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
|
||||||
|
|
||||||
- name: yarn publish
|
- name: yarn publish
|
||||||
run: yarn publish
|
run: yarn publish
|
||||||
working-directory: javascript
|
working-directory: javascript
|
||||||
env:
|
|
||||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
||||||
|
@@ -37,13 +37,13 @@ add_link_options(
|
|||||||
"SHELL:-s ALLOW_MEMORY_GROWTH=1"
|
"SHELL:-s ALLOW_MEMORY_GROWTH=1"
|
||||||
"SHELL:-s ASSERTIONS=0"
|
"SHELL:-s ASSERTIONS=0"
|
||||||
"SHELL:-s DYNAMIC_EXECUTION=0"
|
"SHELL:-s DYNAMIC_EXECUTION=0"
|
||||||
"SHELL:-s ENVIRONMENT='web,node'"
|
|
||||||
"SHELL:-s EXPORT_NAME='loadYoga'"
|
"SHELL:-s EXPORT_NAME='loadYoga'"
|
||||||
"SHELL:-s FETCH_SUPPORT_INDEXEDDB=0"
|
"SHELL:-s FETCH_SUPPORT_INDEXEDDB=0"
|
||||||
"SHELL:-s FILESYSTEM=0"
|
"SHELL:-s FILESYSTEM=0"
|
||||||
"SHELL:-s MALLOC='emmalloc'"
|
"SHELL:-s MALLOC='emmalloc'"
|
||||||
"SHELL:-s MODULARIZE=1"
|
"SHELL:-s MODULARIZE=1"
|
||||||
"SHELL:-s TEXTDECODER=0")
|
"SHELL:-s TEXTDECODER=0"
|
||||||
|
"SHELL:-s SINGLE_FILE=1")
|
||||||
|
|
||||||
link_libraries(embind)
|
link_libraries(embind)
|
||||||
|
|
||||||
@@ -51,24 +51,62 @@ add_library(yogaObjLib OBJECT ${SOURCES})
|
|||||||
|
|
||||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/binaries)
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/binaries)
|
||||||
|
|
||||||
|
add_executable(asmjs-sync-node $<TARGET_OBJECTS:yogaObjLib>)
|
||||||
|
target_link_options(asmjs-sync-node PUBLIC
|
||||||
|
"SHELL:-s ENVIRONMENT='node'"
|
||||||
|
"SHELL:-s WASM=0"
|
||||||
|
"SHELL:-s WASM_ASYNC_COMPILATION=0")
|
||||||
|
|
||||||
|
add_executable(asmjs-async-node $<TARGET_OBJECTS:yogaObjLib>)
|
||||||
|
target_link_options(asmjs-async-node PUBLIC
|
||||||
|
"SHELL:-s ENVIRONMENT='node'"
|
||||||
|
"SHELL:-s WASM=0"
|
||||||
|
"SHELL:-s WASM_ASYNC_COMPILATION=1")
|
||||||
|
|
||||||
|
add_executable(asmjs-sync-web $<TARGET_OBJECTS:yogaObjLib>)
|
||||||
|
target_link_options(asmjs-sync-web PUBLIC
|
||||||
|
"SHELL:-s ENVIRONMENT='web'"
|
||||||
|
"SHELL:-s WASM=0"
|
||||||
|
"SHELL:-s WASM_ASYNC_COMPILATION=0")
|
||||||
|
|
||||||
|
add_executable(asmjs-async-web $<TARGET_OBJECTS:yogaObjLib>)
|
||||||
|
target_link_options(asmjs-async-web PUBLIC
|
||||||
|
"SHELL:-s ENVIRONMENT='web'"
|
||||||
|
"SHELL:-s WASM=0"
|
||||||
|
"SHELL:-s WASM_ASYNC_COMPILATION=1")
|
||||||
|
|
||||||
add_executable(asmjs-sync $<TARGET_OBJECTS:yogaObjLib>)
|
add_executable(asmjs-sync $<TARGET_OBJECTS:yogaObjLib>)
|
||||||
target_link_options(asmjs-sync PUBLIC
|
target_link_options(asmjs-sync PUBLIC
|
||||||
|
"SHELL:-s ENVIRONMENT='web,node'"
|
||||||
"SHELL:-s WASM=0"
|
"SHELL:-s WASM=0"
|
||||||
"SHELL:-s WASM_ASYNC_COMPILATION=0")
|
"SHELL:-s WASM_ASYNC_COMPILATION=0")
|
||||||
|
|
||||||
add_executable(asmjs-async $<TARGET_OBJECTS:yogaObjLib>)
|
add_executable(asmjs-async $<TARGET_OBJECTS:yogaObjLib>)
|
||||||
target_link_options(asmjs-async PUBLIC
|
target_link_options(asmjs-async PUBLIC
|
||||||
|
"SHELL:-s ENVIRONMENT='web,node'"
|
||||||
"SHELL:-s WASM=0"
|
"SHELL:-s WASM=0"
|
||||||
"SHELL:-s WASM_ASYNC_COMPILATION=1")
|
"SHELL:-s WASM_ASYNC_COMPILATION=1")
|
||||||
|
|
||||||
add_executable(wasm-sync $<TARGET_OBJECTS:yogaObjLib>)
|
add_executable(wasm-sync-node $<TARGET_OBJECTS:yogaObjLib>)
|
||||||
target_link_options(wasm-sync PUBLIC
|
target_link_options(wasm-sync-node PUBLIC
|
||||||
|
"SHELL:-s ENVIRONMENT='node'"
|
||||||
"SHELL:-s WASM=1"
|
"SHELL:-s WASM=1"
|
||||||
"SHELL:-s SINGLE_FILE=1"
|
|
||||||
"SHELL:-s WASM_ASYNC_COMPILATION=0")
|
"SHELL:-s WASM_ASYNC_COMPILATION=0")
|
||||||
|
|
||||||
add_executable(wasm-async $<TARGET_OBJECTS:yogaObjLib>)
|
add_executable(wasm-async-node $<TARGET_OBJECTS:yogaObjLib>)
|
||||||
target_link_options(wasm-async PUBLIC
|
target_link_options(wasm-async-node PUBLIC
|
||||||
|
"SHELL:-s ENVIRONMENT='node'"
|
||||||
|
"SHELL:-s WASM=1"
|
||||||
|
"SHELL:-s WASM_ASYNC_COMPILATION=1")
|
||||||
|
|
||||||
|
add_executable(wasm-sync-web $<TARGET_OBJECTS:yogaObjLib>)
|
||||||
|
target_link_options(wasm-sync-web PUBLIC
|
||||||
|
"SHELL:-s ENVIRONMENT='web'"
|
||||||
|
"SHELL:-s WASM=1"
|
||||||
|
"SHELL:-s WASM_ASYNC_COMPILATION=0")
|
||||||
|
|
||||||
|
add_executable(wasm-async-web $<TARGET_OBJECTS:yogaObjLib>)
|
||||||
|
target_link_options(wasm-async-web PUBLIC
|
||||||
|
"SHELL:-s ENVIRONMENT='web'"
|
||||||
"SHELL:-s WASM=1"
|
"SHELL:-s WASM=1"
|
||||||
"SHELL:-s SINGLE_FILE=1"
|
|
||||||
"SHELL:-s WASM_ASYNC_COMPILATION=1")
|
"SHELL:-s WASM_ASYNC_COMPILATION=1")
|
||||||
|
@@ -41,12 +41,15 @@ node.free();
|
|||||||
|
|
||||||
For better performance and smaller packages, WebAssembly is preferred to asm.js where available. `yoga-layout` tries to provide the right default using [export maps](https://webpack.js.org/guides/package-exports/#conditional-syntax) so that platforms which can take advantage of WebAssembly use it by default.
|
For better performance and smaller packages, WebAssembly is preferred to asm.js where available. `yoga-layout` tries to provide the right default using [export maps](https://webpack.js.org/guides/package-exports/#conditional-syntax) so that platforms which can take advantage of WebAssembly use it by default.
|
||||||
|
|
||||||
A specific entrypoint may be specified on platforms which do not understand export conditions.
|
Different entrypoints are exposed to choose a flavor explicitly.
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
import {loadYoga} from 'yoga-layout/wasm-async';
|
import {loadYoga} from 'yoga-layout/wasm-async';
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Using TypeScript
|
||||||
|
|
||||||
|
This package provides out-of-the-box TypeScript typings so long as `tsc` is configured to support ESM resolution. It is recommended to set `moduleResolution: 'bundler'` or `moduleResolution: node16` in your `tsconfig.json` according to your environment.
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
|
@@ -45,37 +45,35 @@ function defineFlavor(flavor: string, env: NodeJS.ProcessEnv) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
defineFlavor('asmjs-async', {WASM: '0', SYNC: '0'});
|
defineFlavor('asmjs-async-node', {WASM: '0', SYNC: '0'});
|
||||||
defineFlavor('asmjs-sync', {WASM: '0', SYNC: '1'});
|
defineFlavor('asmjs-sync-node', {WASM: '0', SYNC: '1'});
|
||||||
defineFlavor('wasm-async', {WASM: '1', SYNC: '0'});
|
defineFlavor('asmjs-async-web', {WASM: '0', SYNC: '0'});
|
||||||
defineFlavor('wasm-sync', {WASM: '1', SYNC: '1'});
|
defineFlavor('asmjs-sync-web', {WASM: '0', SYNC: '1'});
|
||||||
|
defineFlavor('wasm-async-node', {WASM: '1', SYNC: '0'});
|
||||||
|
defineFlavor('wasm-sync-node', {WASM: '1', SYNC: '1'});
|
||||||
|
defineFlavor('wasm-async-web', {WASM: '1', SYNC: '0'});
|
||||||
|
defineFlavor('wasm-sync-web', {WASM: '1', SYNC: '1'});
|
||||||
|
|
||||||
task('cmake-build:all', cmakeBuildTask());
|
task('build', series(emcmakeGenerateTask(), cmakeBuildTask()));
|
||||||
task(
|
|
||||||
'cmake-build:async',
|
|
||||||
cmakeBuildTask({targets: ['asmjs-async', 'wasm-async']}),
|
|
||||||
);
|
|
||||||
task(
|
|
||||||
'cmake-build:sync',
|
|
||||||
cmakeBuildTask({targets: ['asmjs-sync', 'wasm-sync']}),
|
|
||||||
);
|
|
||||||
|
|
||||||
task('build', series(emcmakeGenerateTask(), 'cmake-build:all'));
|
|
||||||
|
|
||||||
task(
|
task(
|
||||||
'test',
|
'test',
|
||||||
series(
|
series(
|
||||||
emcmakeGenerateTask(),
|
emcmakeGenerateTask(),
|
||||||
series('cmake-build:asmjs-async', 'jest:asmjs-async'),
|
series('cmake-build:asmjs-async-node', 'jest:asmjs-async-node'),
|
||||||
series('cmake-build:asmjs-sync', 'jest:asmjs-sync'),
|
series('cmake-build:asmjs-sync-node', 'jest:asmjs-sync-node'),
|
||||||
series('cmake-build:wasm-async', 'jest:wasm-async'),
|
series('cmake-build:wasm-async-node', 'jest:wasm-async-node'),
|
||||||
series('cmake-build:wasm-sync', 'jest:wasm-sync'),
|
series('cmake-build:wasm-sync-node', 'jest:wasm-sync-node'),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
task(
|
task(
|
||||||
'benchmark',
|
'benchmark',
|
||||||
series(emcmakeGenerateTask(), 'cmake-build:sync', runBenchTask()),
|
series(
|
||||||
|
emcmakeGenerateTask(),
|
||||||
|
cmakeBuildTask({targets: ['asmjs-sync-node', 'wasm-sync-node']}),
|
||||||
|
runBenchTask(),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
task(
|
task(
|
||||||
|
@@ -11,19 +11,35 @@
|
|||||||
},
|
},
|
||||||
"exports": {
|
"exports": {
|
||||||
".": {
|
".": {
|
||||||
"browser": "./src/entrypoint/wasm-async.ts",
|
"browser": "./src/entrypoint/wasm-async-web.ts",
|
||||||
"node": "./src/entrypoint/wasm-async.ts",
|
"node": "./src/entrypoint/wasm-async-node.ts",
|
||||||
"default": "./src/entrypoint/asmjs-async.ts"
|
"default": "./src/entrypoint/asmjs-async-web.ts"
|
||||||
},
|
},
|
||||||
"./sync": {
|
"./sync": {
|
||||||
"browser": "./src/entrypoint/asmjs-sync.ts",
|
"browser": "./src/entrypoint/asmjs-sync-web.ts",
|
||||||
"node": "./src/entrypoint/wasm-sync.ts",
|
"node": "./src/entrypoint/wasm-sync-node.ts",
|
||||||
"default": "./src/entrypoint/asmjs-sync.ts"
|
"default": "./src/entrypoint/asmjs-sync-web.ts"
|
||||||
},
|
},
|
||||||
"./asmjs-async": "./src/entrypoint/asmjs-async.ts",
|
"./asmjs-async": {
|
||||||
"./asmjs-sync": "./src/entrypoint/asmjs-sync.ts",
|
"browser": "./src/entrypoint/asmjs-async-web.ts",
|
||||||
"./wasm-async": "./src/entrypoint/wasm-async.ts",
|
"node": "./src/entrypoint/asmjs-async-node.ts",
|
||||||
"./wasm-sync": "./src/entrypoint/wasm-sync.ts"
|
"default": "./src/entrypoint/asmjs-async-web.ts"
|
||||||
|
},
|
||||||
|
"./asmjs-sync": {
|
||||||
|
"browser": "./src/entrypoint/asmjs-sync-web.ts",
|
||||||
|
"node": "./src/entrypoint/asmjs-sync-node.ts",
|
||||||
|
"default": "./src/entrypoint/asmjs-sync-web.ts"
|
||||||
|
},
|
||||||
|
"./wasm-async": {
|
||||||
|
"browser": "./src/entrypoint/wasm-async-web.ts",
|
||||||
|
"node": "./src/entrypoint/wasm-async-node.ts",
|
||||||
|
"default": "./src/entrypoint/wasm-async-web.ts"
|
||||||
|
},
|
||||||
|
"./wasm-sync": {
|
||||||
|
"browser": "./src/entrypoint/wasm-sync-web.ts",
|
||||||
|
"node": "./src/entrypoint/wasm-sync-node.ts",
|
||||||
|
"default": "./src/entrypoint/wasm-async-web.ts"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"binaries/**",
|
"binaries/**",
|
||||||
@@ -36,11 +52,7 @@
|
|||||||
"lint": "just lint",
|
"lint": "just lint",
|
||||||
"lint:fix": "just lint --fix",
|
"lint:fix": "just lint --fix",
|
||||||
"prepack": "just prepack",
|
"prepack": "just prepack",
|
||||||
"test": "just test",
|
"test": "just test"
|
||||||
"test:asmjs-async": "just test:asmjs-async",
|
|
||||||
"test:asmjs-sync": "just test:asmjs-sync",
|
|
||||||
"test:wasm-async": "just test:wasm-async",
|
|
||||||
"test:wasm-sync": "just test:wasm-sync"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/cli": "^7.20.7",
|
"@babel/cli": "^7.20.7",
|
||||||
|
26
javascript/src/entrypoint/asmjs-async-node.ts
Normal file
26
javascript/src/entrypoint/asmjs-async-node.ts
Normal 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());
|
||||||
|
}
|
@@ -19,7 +19,7 @@ export type {
|
|||||||
Yoga,
|
Yoga,
|
||||||
} from '../wrapAssembly';
|
} from '../wrapAssembly';
|
||||||
|
|
||||||
const loadAssembly = require('../../binaries/wasm-async');
|
const loadAssembly = require('../../binaries/asmjs-async-web');
|
||||||
|
|
||||||
export async function loadYoga(): Promise<Yoga> {
|
export async function loadYoga(): Promise<Yoga> {
|
||||||
return wrapAssembly(await loadAssembly());
|
return wrapAssembly(await loadAssembly());
|
23
javascript/src/entrypoint/asmjs-sync-node.ts
Normal file
23
javascript/src/entrypoint/asmjs-sync-node.ts
Normal 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;
|
@@ -18,6 +18,6 @@ export type {
|
|||||||
Yoga,
|
Yoga,
|
||||||
} from '../wrapAssembly';
|
} from '../wrapAssembly';
|
||||||
|
|
||||||
const loadAssembly = require('../../binaries/wasm-sync');
|
const loadAssembly = require('../../binaries/asmjs-sync-web');
|
||||||
const Yoga = wrapAssembly(loadAssembly());
|
const Yoga = wrapAssembly(loadAssembly());
|
||||||
export default Yoga;
|
export default Yoga;
|
26
javascript/src/entrypoint/wasm-async-node.ts
Normal file
26
javascript/src/entrypoint/wasm-async-node.ts
Normal 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());
|
||||||
|
}
|
@@ -19,7 +19,7 @@ export type {
|
|||||||
Yoga,
|
Yoga,
|
||||||
} from '../wrapAssembly';
|
} from '../wrapAssembly';
|
||||||
|
|
||||||
const loadAssembly = require('../../binaries/asmjs-async');
|
const loadAssembly = require('../../binaries/wasm-async-web');
|
||||||
|
|
||||||
export async function loadYoga(): Promise<Yoga> {
|
export async function loadYoga(): Promise<Yoga> {
|
||||||
return wrapAssembly(await loadAssembly());
|
return wrapAssembly(await loadAssembly());
|
23
javascript/src/entrypoint/wasm-sync-node.ts
Normal file
23
javascript/src/entrypoint/wasm-sync-node.ts
Normal 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;
|
@@ -18,6 +18,6 @@ export type {
|
|||||||
Yoga,
|
Yoga,
|
||||||
} from '../wrapAssembly';
|
} from '../wrapAssembly';
|
||||||
|
|
||||||
const loadAssembly = require('../../binaries/asmjs-sync');
|
const loadAssembly = require('../../binaries/wasm-sync-web');
|
||||||
const Yoga = wrapAssembly(loadAssembly());
|
const Yoga = wrapAssembly(loadAssembly());
|
||||||
export default Yoga;
|
export default Yoga;
|
Reference in New Issue
Block a user