aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-09-11 15:30:21 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-09-11 15:30:21 -0700
commit71e2c26577289763a518cf8fc7ed8c8ef3cb7e60 (patch)
tree378b7248ca949269b0c0246cb476615a99e07ea7 /src
parentb78b36ce331f9d7c5c9a2398388ce2b0468d95ce (diff)
downloadbun-71e2c26577289763a518cf8fc7ed8c8ef3cb7e60.tar.gz
bun-71e2c26577289763a518cf8fc7ed8c8ef3cb7e60.tar.zst
bun-71e2c26577289763a518cf8fc7ed8c8ef3cb7e60.zip
Resolve rope strings in dynamic import paths
Fixes https://github.com/oven-sh/bun/issues/1230
Diffstat (limited to 'src')
-rw-r--r--src/js_ast.zig2
-rw-r--r--src/js_parser.zig2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/js_ast.zig b/src/js_ast.zig
index 30ebffaea..5ea5ba6a5 100644
--- a/src/js_ast.zig
+++ b/src/js_ast.zig
@@ -1696,7 +1696,7 @@ pub const E = struct {
pub fn slice(this: *String, allocator: std.mem.Allocator) []const u8 {
this.resovleRopeIfNeeded(allocator);
- return @ptrCast([*]const u8, @alignCast(@alignOf(u8), this.data.ptr))[0..this.data.len];
+ return this.string(allocator) catch unreachable;
}
pub var empty = String{};
diff --git a/src/js_parser.zig b/src/js_parser.zig
index eda109540..f7e4b06ff 100644
--- a/src/js_parser.zig
+++ b/src/js_parser.zig
@@ -4134,7 +4134,7 @@ fn NewParser_(
return p.e(E.Null{}, arg.loc);
}
- const import_record_index = p.addImportRecord(.dynamic, arg.loc, arg.data.e_string.string(p.allocator) catch unreachable);
+ const import_record_index = p.addImportRecord(.dynamic, arg.loc, arg.data.e_string.slice(p.allocator));
p.import_records.items[import_record_index].handles_import_errors = (state.is_await_target and p.fn_or_arrow_data_visit.try_body_count != 0) or state.is_then_catch_target;
p.import_records_for_current_part.append(p.allocator, import_record_index) catch unreachable;
return p.e(E.Import{