aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-12-26 17:04:26 -0800
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-12-26 17:04:26 -0800
commitb455bc467da824d9e4789b0397d2480fdae95994 (patch)
treed5b93978d116543484912bb9c953ddde4260dae9 /src
parentd1df057d08ca0aae08ec8a16250ef0f4aa1588d2 (diff)
downloadbun-b455bc467da824d9e4789b0397d2480fdae95994.tar.gz
bun-b455bc467da824d9e4789b0397d2480fdae95994.tar.zst
bun-b455bc467da824d9e4789b0397d2480fdae95994.zip
Fixes #90
Diffstat (limited to 'src')
-rw-r--r--src/bundler.zig33
1 files changed, 23 insertions, 10 deletions
diff --git a/src/bundler.zig b/src/bundler.zig
index 898218e8b..905eafc81 100644
--- a/src/bundler.zig
+++ b/src/bundler.zig
@@ -149,6 +149,27 @@ pub const Bundler = struct {
this.resolver.allocator = allocator;
}
+ pub inline fn resolveEntryPoint(bundler: *ThisBundler, entry_point: string) !_resolver.Result {
+ return bundler.resolver.resolve(bundler.fs.top_level_dir, entry_point, .entry_point) catch |err| {
+ const has_dot_slash_form = !strings.hasPrefix(entry_point, "./") and brk: {
+ _ = bundler.resolver.resolve(bundler.fs.top_level_dir, try strings.append(bundler.allocator, "./", entry_point), .entry_point) catch break :brk false;
+ break :brk true;
+ };
+
+ if (has_dot_slash_form) {
+ bundler.log.addErrorFmt(null, logger.Loc.Empty, bundler.allocator, "{s} resolving \"{s}\". Did you mean: \"./{s}\"", .{
+ @errorName(err),
+ entry_point,
+ entry_point,
+ }) catch unreachable;
+ } else {
+ bundler.log.addErrorFmt(null, logger.Loc.Empty, bundler.allocator, "{s} resolving \"{s}\" (entry point)", .{ @errorName(err), entry_point }) catch unreachable;
+ }
+
+ return err;
+ };
+ }
+
// to_bundle:
// thread_pool: *ThreadPool,
@@ -891,11 +912,7 @@ pub const Bundler = struct {
const entry_points = try router.getEntryPoints();
for (entry_points) |entry_point| {
- const source_dir = bundler.fs.top_level_dir;
- const resolved = bundler.resolver.resolve(source_dir, entry_point, .entry_point) catch |err| {
- bundler.log.addErrorFmt(null, logger.Loc.Empty, bundler.allocator, "{s} resolving \"{s}\" (entry point)", .{ @errorName(err), entry_point }) catch unreachable;
- continue;
- };
+ const resolved = bundler.resolveEntryPoint(entry_point) catch continue;
try this.enqueueItem(resolved);
}
this.bundler.resetStore();
@@ -906,11 +923,7 @@ pub const Bundler = struct {
defer this.bundler.resetStore();
const entry_point_path = bundler.normalizeEntryPointPath(entry_point);
- const source_dir = bundler.fs.top_level_dir;
- const resolved = bundler.resolver.resolve(source_dir, entry_point, .entry_point) catch |err| {
- bundler.log.addErrorFmt(null, logger.Loc.Empty, bundler.allocator, "{s} resolving \"{s}\" (entry point)", .{ @errorName(err), entry_point }) catch unreachable;
- continue;
- };
+ const resolved = bundler.resolveEntryPoint(entry_point_path) catch continue;
try this.enqueueItem(resolved);
}