aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-12-16 17:57:03 -0800
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-12-16 17:57:03 -0800
commitb6e164355b8da969abbcf166e5defea705fdb067 (patch)
treec5b9003272ce32b5f78fde25e80ae9763a89b3c0
parent2e9af40bcaeaddc17ba6959ec46a1f92e56e1b94 (diff)
downloadbun-b6e164355b8da969abbcf166e5defea705fdb067.tar.gz
bun-b6e164355b8da969abbcf166e5defea705fdb067.tar.zst
bun-b6e164355b8da969abbcf166e5defea705fdb067.zip
[JS parser] Track import records that were converted to star imports due to `require`
-rw-r--r--src/js_parser/js_parser.zig14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/js_parser/js_parser.zig b/src/js_parser/js_parser.zig
index 33b999e4f..809a97e26 100644
--- a/src/js_parser/js_parser.zig
+++ b/src/js_parser/js_parser.zig
@@ -467,7 +467,7 @@ pub const ImportScanner = struct {
try p.named_imports.put(name_ref, js_ast.NamedImport{
.alias = item.alias,
.alias_loc = name.loc,
- .namespace_ref = st.namespace_ref,
+ .namespace_ref = namespace_ref,
.import_record_index = st.import_record_index,
});
@@ -475,7 +475,7 @@ pub const ImportScanner = struct {
var symbol: *Symbol = &p.symbols.items[name_ref.inner_index];
symbol.namespace_alias = G.NamespaceAlias{
- .namespace_ref = st.namespace_ref,
+ .namespace_ref = namespace_ref,
.alias = item.alias,
.import_record_index = st.import_record_index,
.was_originally_property_access = st.star_name_loc != null and existing_items.contains(symbol.original_name),
@@ -487,6 +487,16 @@ pub const ImportScanner = struct {
if (st.star_name_loc != null) {
record.contains_import_star = true;
}
+
+ if (record.was_originally_require) {
+ var symbol = &p.symbols.items[namespace_ref.inner_index];
+ symbol.namespace_alias = G.NamespaceAlias{
+ .namespace_ref = namespace_ref,
+ .alias = "",
+ .import_record_index = st.import_record_index,
+ .was_originally_property_access = false,
+ };
+ }
},
.s_function => |st| {