aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-11-11 00:20:17 -0800
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-11-11 00:20:42 -0800
commit24a85f8de6430620a493ee784a7617292b4c598f (patch)
tree925f8ad6efe2aac74f26af7c15785b52eb15b96e /src/bun.js
parent2432150321d94eae21013d2175a96e557fd207e5 (diff)
downloadbun-24a85f8de6430620a493ee784a7617292b4c598f.tar.gz
bun-24a85f8de6430620a493ee784a7617292b4c598f.tar.zst
bun-24a85f8de6430620a493ee784a7617292b4c598f.zip
Improve error message
Diffstat (limited to 'src/bun.js')
-rw-r--r--src/bun.js/javascript.zig16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/bun.js/javascript.zig b/src/bun.js/javascript.zig
index 8a9483736..82d34a986 100644
--- a/src/bun.js/javascript.zig
+++ b/src/bun.js/javascript.zig
@@ -1131,8 +1131,20 @@ pub const VirtualMachine = struct {
pub fn processFetchLog(globalThis: *JSGlobalObject, specifier: ZigString, referrer: ZigString, log: *logger.Log, ret: *ErrorableResolvedSource, err: anyerror) void {
switch (log.msgs.items.len) {
0 => {
- const msg = logger.Msg{
- .data = logger.rangeData(null, logger.Range.None, std.fmt.allocPrint(vm.allocator, "{s} while building {s}", .{ @errorName(err), specifier.slice() }) catch unreachable),
+ const msg: logger.Msg = brk: {
+ if (err == error.UnexpectedPendingResolution) {
+ break :brk logger.Msg{
+ .data = logger.rangeData(
+ null,
+ logger.Range.None,
+ std.fmt.allocPrint(vm.allocator, "Unexpected pending import in \"{s}\". To automatically install npm packages with Bun, please use an import statement instead of require() or dynamic import().\nThis error can also happen if dependencies import packages which are not referenced anywhere. Worst case, run `bun install` and opt-out of the node_modules folder until we come up with a better way to handle this error.", .{specifier.slice()}) catch unreachable,
+ ),
+ };
+ }
+
+ break :brk logger.Msg{
+ .data = logger.rangeData(null, logger.Range.None, std.fmt.allocPrint(vm.allocator, "{s} while building {s}", .{ @errorName(err), specifier.slice() }) catch unreachable),
+ };
};
{
ret.* = ErrorableResolvedSource.err(err, @ptrCast(*anyopaque, BuildError.create(globalThis, vm.bundler.allocator, msg)));