In-place JS environment

Summary:
This change restructures the package to try to remove the JS build step from the inner loop. Instead, we have a single `src` directory that we babel transform when using, then apply the same transform inline during prepublish.

At the end, we will be publishing a source directory with Babel transformed TS, JS, and TS declarations.

We do a little spring cleaning when doing this. Fixing up some of the folder/file conventions, and removing the non-export-map fallbacks.

We cannot remove the need for a native build.

Reviewed By: yungsters

Differential Revision: D45682153

fbshipit-source-id: ea2dd75c2dd6e3529b1ef6cf6ac6a64a270049a4
This commit is contained in:
Nick Gerleman
2023-05-09 15:35:42 -07:00
committed by Facebook GitHub Bot
parent 0a6a581936
commit aa812d0e48
28 changed files with 130 additions and 124 deletions

View File

@@ -247,7 +247,7 @@ for name, values in sorted(ENUMS.items()):
f.write("}\n")
# write out javascript file
with open(root + "/javascript/src_js/generated/YGEnums.js", "w") as f:
with open(root + "/javascript/src/generated/YGEnums.js", "w") as f:
f.write(get_license("js"))
items = sorted(ENUMS.items())
for name, values in items:
@@ -265,7 +265,7 @@ with open(root + "/javascript/src_js/generated/YGEnums.js", "w") as f:
if name != items[-1][0]:
f.write("\n")
with open(root + "/javascript/src_js/generated/YGEnums.d.ts", "w") as f:
with open(root + "/javascript/src/generated/YGEnums.d.ts", "w") as f:
f.write(get_license("js"))
for name, values in sorted(ENUMS.items()):
@@ -277,7 +277,7 @@ with open(root + "/javascript/src_js/generated/YGEnums.d.ts", "w") as f:
f.write(
(
"type {name}_{value} = {ordinal} & ['{name}']\n"
+ "export const {name}_{value}: {name}_{value};\n\n"
+ "export declare const {name}_{value}: {name}_{value};\n\n"
).format(
name=to_java_upper(name),
value=to_java_upper(value_arg),