From 13eacf88588694eca86647a8e55389f416396d89 Mon Sep 17 00:00:00 2001 From: Dmitry Ivakhnenko Date: Mon, 20 Feb 2023 19:54:03 -0800 Subject: [PATCH 1/2] es6 compatable enums (#1229) Summary: I wanna repeat the constants export in `yoga-wasm-web`, to achieve ```js import { ALIGN_CENTER } from "yoga-layout"; ``` And I failed. it is impossible because `rollup` and other tools can't transform commonjs `module.exports = { WHATEVER: 1 }` into ECMAScript modules. however, they can work with separate exports like `exports.WHATEVER = 1` and this PR transforms yoga constants into this convertible format This doesn't change anything for the yoga package, but it makes it possible to reexport constants without any modification and hacks, like this ```js export * from "./javascript/src_js/generated/YGEnums.js"; ``` [discussion in yoga-layout-wasm](https://github.com/shuding/yoga-wasm-web/pull/15) Pull Request resolved: https://github.com/facebook/yoga/pull/1229 Reviewed By: NickGerleman Differential Revision: D43437177 Pulled By: rshest fbshipit-source-id: bfe1404d1b48779f404e6510f2aafadd7fd4e774 --- enums.py | 4 +- javascript/.prettierignore | 1 + javascript/src_js/generated/YGEnums.js | 136 ++++++++++++------------- 3 files changed, 69 insertions(+), 72 deletions(-) diff --git a/enums.py b/enums.py index e87f6f79..d836ff5e 100644 --- a/enums.py +++ b/enums.py @@ -228,7 +228,6 @@ for name, values in sorted(ENUMS.items()): # write out javascript file with open(root + "/javascript/src_js/generated/YGEnums.js", "w") as f: f.write(get_license("js")) - f.write("module.exports = {\n") items = sorted(ENUMS.items()) for name, values in items: base = 0 @@ -237,14 +236,13 @@ with open(root + "/javascript/src_js/generated/YGEnums.js", "w") as f: ordinal_arg = value[1] if isinstance(value, tuple) else base f.write( - " %s_%s: %d,\n" + "exports.%s_%s = %d;\n" % (to_java_upper(name), to_java_upper(value_arg), ordinal_arg) ) base = ordinal_arg + 1 if name != items[-1][0]: f.write("\n") - f.write("};\n") with open(root + "/javascript/src_js/generated/YGEnums.d.ts", "w") as f: f.write(get_license("js")) diff --git a/javascript/.prettierignore b/javascript/.prettierignore index a70ec0e5..81f49fc9 100644 --- a/javascript/.prettierignore +++ b/javascript/.prettierignore @@ -1 +1,2 @@ tests/generated/ +src_js/generated/ diff --git a/javascript/src_js/generated/YGEnums.js b/javascript/src_js/generated/YGEnums.js index ac93434e..0caa931d 100644 --- a/javascript/src_js/generated/YGEnums.js +++ b/javascript/src_js/generated/YGEnums.js @@ -7,88 +7,86 @@ // @generated by enums.py -module.exports = { - ALIGN_AUTO: 0, - ALIGN_FLEX_START: 1, - ALIGN_CENTER: 2, - ALIGN_FLEX_END: 3, - ALIGN_STRETCH: 4, - ALIGN_BASELINE: 5, - ALIGN_SPACE_BETWEEN: 6, - ALIGN_SPACE_AROUND: 7, +exports.ALIGN_AUTO = 0; +exports.ALIGN_FLEX_START = 1; +exports.ALIGN_CENTER = 2; +exports.ALIGN_FLEX_END = 3; +exports.ALIGN_STRETCH = 4; +exports.ALIGN_BASELINE = 5; +exports.ALIGN_SPACE_BETWEEN = 6; +exports.ALIGN_SPACE_AROUND = 7; - DIMENSION_WIDTH: 0, - DIMENSION_HEIGHT: 1, +exports.DIMENSION_WIDTH = 0; +exports.DIMENSION_HEIGHT = 1; - DIRECTION_INHERIT: 0, - DIRECTION_LTR: 1, - DIRECTION_RTL: 2, +exports.DIRECTION_INHERIT = 0; +exports.DIRECTION_LTR = 1; +exports.DIRECTION_RTL = 2; - DISPLAY_FLEX: 0, - DISPLAY_NONE: 1, +exports.DISPLAY_FLEX = 0; +exports.DISPLAY_NONE = 1; - EDGE_LEFT: 0, - EDGE_TOP: 1, - EDGE_RIGHT: 2, - EDGE_BOTTOM: 3, - EDGE_START: 4, - EDGE_END: 5, - EDGE_HORIZONTAL: 6, - EDGE_VERTICAL: 7, - EDGE_ALL: 8, +exports.EDGE_LEFT = 0; +exports.EDGE_TOP = 1; +exports.EDGE_RIGHT = 2; +exports.EDGE_BOTTOM = 3; +exports.EDGE_START = 4; +exports.EDGE_END = 5; +exports.EDGE_HORIZONTAL = 6; +exports.EDGE_VERTICAL = 7; +exports.EDGE_ALL = 8; - EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS: 0, - EXPERIMENTAL_FEATURE_ABSOLUTE_PERCENTAGE_AGAINST_PADDING_EDGE: 1, - EXPERIMENTAL_FEATURE_FIX_ABSOLUTE_TRAILING_COLUMN_MARGIN: 2, +exports.EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS = 0; +exports.EXPERIMENTAL_FEATURE_ABSOLUTE_PERCENTAGE_AGAINST_PADDING_EDGE = 1; +exports.EXPERIMENTAL_FEATURE_FIX_ABSOLUTE_TRAILING_COLUMN_MARGIN = 2; - FLEX_DIRECTION_COLUMN: 0, - FLEX_DIRECTION_COLUMN_REVERSE: 1, - FLEX_DIRECTION_ROW: 2, - FLEX_DIRECTION_ROW_REVERSE: 3, +exports.FLEX_DIRECTION_COLUMN = 0; +exports.FLEX_DIRECTION_COLUMN_REVERSE = 1; +exports.FLEX_DIRECTION_ROW = 2; +exports.FLEX_DIRECTION_ROW_REVERSE = 3; - GUTTER_COLUMN: 0, - GUTTER_ROW: 1, - GUTTER_ALL: 2, +exports.GUTTER_COLUMN = 0; +exports.GUTTER_ROW = 1; +exports.GUTTER_ALL = 2; - JUSTIFY_FLEX_START: 0, - JUSTIFY_CENTER: 1, - JUSTIFY_FLEX_END: 2, - JUSTIFY_SPACE_BETWEEN: 3, - JUSTIFY_SPACE_AROUND: 4, - JUSTIFY_SPACE_EVENLY: 5, +exports.JUSTIFY_FLEX_START = 0; +exports.JUSTIFY_CENTER = 1; +exports.JUSTIFY_FLEX_END = 2; +exports.JUSTIFY_SPACE_BETWEEN = 3; +exports.JUSTIFY_SPACE_AROUND = 4; +exports.JUSTIFY_SPACE_EVENLY = 5; - LOG_LEVEL_ERROR: 0, - LOG_LEVEL_WARN: 1, - LOG_LEVEL_INFO: 2, - LOG_LEVEL_DEBUG: 3, - LOG_LEVEL_VERBOSE: 4, - LOG_LEVEL_FATAL: 5, +exports.LOG_LEVEL_ERROR = 0; +exports.LOG_LEVEL_WARN = 1; +exports.LOG_LEVEL_INFO = 2; +exports.LOG_LEVEL_DEBUG = 3; +exports.LOG_LEVEL_VERBOSE = 4; +exports.LOG_LEVEL_FATAL = 5; - MEASURE_MODE_UNDEFINED: 0, - MEASURE_MODE_EXACTLY: 1, - MEASURE_MODE_AT_MOST: 2, +exports.MEASURE_MODE_UNDEFINED = 0; +exports.MEASURE_MODE_EXACTLY = 1; +exports.MEASURE_MODE_AT_MOST = 2; - NODE_TYPE_DEFAULT: 0, - NODE_TYPE_TEXT: 1, +exports.NODE_TYPE_DEFAULT = 0; +exports.NODE_TYPE_TEXT = 1; - OVERFLOW_VISIBLE: 0, - OVERFLOW_HIDDEN: 1, - OVERFLOW_SCROLL: 2, +exports.OVERFLOW_VISIBLE = 0; +exports.OVERFLOW_HIDDEN = 1; +exports.OVERFLOW_SCROLL = 2; - POSITION_TYPE_STATIC: 0, - POSITION_TYPE_RELATIVE: 1, - POSITION_TYPE_ABSOLUTE: 2, +exports.POSITION_TYPE_STATIC = 0; +exports.POSITION_TYPE_RELATIVE = 1; +exports.POSITION_TYPE_ABSOLUTE = 2; - PRINT_OPTIONS_LAYOUT: 1, - PRINT_OPTIONS_STYLE: 2, - PRINT_OPTIONS_CHILDREN: 4, +exports.PRINT_OPTIONS_LAYOUT = 1; +exports.PRINT_OPTIONS_STYLE = 2; +exports.PRINT_OPTIONS_CHILDREN = 4; - UNIT_UNDEFINED: 0, - UNIT_POINT: 1, - UNIT_PERCENT: 2, - UNIT_AUTO: 3, +exports.UNIT_UNDEFINED = 0; +exports.UNIT_POINT = 1; +exports.UNIT_PERCENT = 2; +exports.UNIT_AUTO = 3; - WRAP_NO_WRAP: 0, - WRAP_WRAP: 1, - WRAP_WRAP_REVERSE: 2, -}; +exports.WRAP_NO_WRAP = 0; +exports.WRAP_WRAP = 1; +exports.WRAP_WRAP_REVERSE = 2; From 92e83193c4f553b443d8b98bff135a4ced662c05 Mon Sep 17 00:00:00 2001 From: Bela Bohlender Date: Wed, 22 Feb 2023 13:09:05 -0800 Subject: [PATCH 2/2] Typescript: Fix typo in type defintions (#1231) Summary: Extracted the typo fix from https://github.com/facebook/yoga/pull/1228 Pull Request resolved: https://github.com/facebook/yoga/pull/1231 Reviewed By: NickGerleman Differential Revision: D43495158 Pulled By: cortinico fbshipit-source-id: a455eb231169d53b8d4ced9a783b94d2ee46ca0c --- javascript/src_js/wrapAsm.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/javascript/src_js/wrapAsm.d.ts b/javascript/src_js/wrapAsm.d.ts index 83bee609..a847e4a8 100644 --- a/javascript/src_js/wrapAsm.d.ts +++ b/javascript/src_js/wrapAsm.d.ts @@ -156,7 +156,7 @@ export type Node = { setWidth(width: number | string): void, setWidthAuto(): void, setWidthPercent(width: number): void, - unsetMeasureFun(): void, + unsetMeasureFunc(): void, }; export type Yoga = {