diff options
author | 2021-12-16 17:57:03 -0800 | |
---|---|---|
committer | 2021-12-16 17:57:03 -0800 | |
commit | b6e164355b8da969abbcf166e5defea705fdb067 (patch) | |
tree | c5b9003272ce32b5f78fde25e80ae9763a89b3c0 | |
parent | 2e9af40bcaeaddc17ba6959ec46a1f92e56e1b94 (diff) | |
download | bun-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.zig | 14 |
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| { |