aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/bun.js')
-rw-r--r--src/bun.js/api/JSBundler.zig12
-rw-r--r--src/bun.js/api/JSTranspiler.zig2
-rw-r--r--src/bun.js/base.zig8
-rw-r--r--src/bun.js/bindings/exports.zig14
-rw-r--r--src/bun.js/javascript.zig135
-rw-r--r--src/bun.js/test/pretty_format.zig12
6 files changed, 111 insertions, 72 deletions
diff --git a/src/bun.js/api/JSBundler.zig b/src/bun.js/api/JSBundler.zig
index 80f776fca..16a540212 100644
--- a/src/bun.js/api/JSBundler.zig
+++ b/src/bun.js/api/JSBundler.zig
@@ -179,24 +179,36 @@ pub const JSBundler = struct {
if (naming.isString()) {
if (try config.getOptional(globalThis, "naming", ZigString.Slice)) |slice| {
defer slice.deinit();
+ if (!strings.hasPrefixComptime(slice.slice(), "./")) {
+ this.names.owned_entry_point.appendSliceExact("./") catch unreachable;
+ }
this.names.owned_entry_point.appendSliceExact(slice.slice()) catch unreachable;
this.names.entry_point.data = this.names.owned_entry_point.list.items;
}
} else if (naming.isObject()) {
if (try naming.getOptional(globalThis, "entry", ZigString.Slice)) |slice| {
defer slice.deinit();
+ if (!strings.hasPrefixComptime(slice.slice(), "./")) {
+ this.names.owned_entry_point.appendSliceExact("./") catch unreachable;
+ }
this.names.owned_entry_point.appendSliceExact(slice.slice()) catch unreachable;
this.names.entry_point.data = this.names.owned_entry_point.list.items;
}
if (try naming.getOptional(globalThis, "chunk", ZigString.Slice)) |slice| {
defer slice.deinit();
+ if (!strings.hasPrefixComptime(slice.slice(), "./")) {
+ this.names.owned_chunk.appendSliceExact("./") catch unreachable;
+ }
this.names.owned_chunk.appendSliceExact(slice.slice()) catch unreachable;
this.names.chunk.data = this.names.owned_chunk.list.items;
}
if (try naming.getOptional(globalThis, "asset", ZigString.Slice)) |slice| {
defer slice.deinit();
+ if (!strings.hasPrefixComptime(slice.slice(), "./")) {
+ this.names.owned_asset.appendSliceExact("./") catch unreachable;
+ }
this.names.owned_asset.appendSliceExact(slice.slice()) catch unreachable;
this.names.asset.data = this.names.owned_asset.list.items;
}
diff --git a/src/bun.js/api/JSTranspiler.zig b/src/bun.js/api/JSTranspiler.zig
index 2ac6948d1..a6d23dbd0 100644
--- a/src/bun.js/api/JSTranspiler.zig
+++ b/src/bun.js/api/JSTranspiler.zig
@@ -200,7 +200,7 @@ pub const TransformTask = struct {
const error_value: JSValue = brk: {
if (this.err) |err| {
if (!this.log.hasAny()) {
- break :brk JSC.JSValue.fromRef(JSC.BuildError.create(
+ break :brk JSC.JSValue.fromRef(JSC.BuildMessage.create(
this.global,
bun.default_allocator,
logger.Msg{
diff --git a/src/bun.js/base.zig b/src/bun.js/base.zig
index 9ebc7f594..aab880453 100644
--- a/src/bun.js/base.zig
+++ b/src/bun.js/base.zig
@@ -11,8 +11,8 @@ const stringZ = bun.stringZ;
const default_allocator = bun.default_allocator;
const C = bun.C;
const JavaScript = @import("./javascript.zig");
-const ResolveError = JavaScript.ResolveError;
-const BuildError = JavaScript.BuildError;
+const ResolveMessage = JavaScript.ResolveMessage;
+const BuildMessage = JavaScript.BuildMessage;
const JSC = @import("root").bun.JSC;
const WebCore = @import("./webcore.zig");
const Test = @import("./test/jest.zig");
@@ -2200,7 +2200,7 @@ const MD5_SHA1 = JSC.API.Bun.Crypto.MD5_SHA1;
const FFI = JSC.FFI;
pub const JSPrivateDataPtr = TaggedPointerUnion(.{
AttributeIterator,
- BuildError,
+ BuildMessage,
Comment,
DebugServer,
DebugSSLServer,
@@ -2215,7 +2215,7 @@ pub const JSPrivateDataPtr = TaggedPointerUnion(.{
LazyPropertiesObject,
ModuleNamespace,
- ResolveError,
+ ResolveMessage,
Router,
Server,
diff --git a/src/bun.js/bindings/exports.zig b/src/bun.js/bindings/exports.zig
index 66b63f6ca..6ed97f4b9 100644
--- a/src/bun.js/bindings/exports.zig
+++ b/src/bun.js/bindings/exports.zig
@@ -2163,14 +2163,14 @@ pub const ZigConsoleClient = struct {
if (CAPI.JSObjectGetPrivate(value.asRef())) |private_data_ptr| {
const priv_data = JSPrivateDataPtr.from(private_data_ptr);
switch (priv_data.tag()) {
- .BuildError => {
- const build_error = priv_data.as(JS.BuildError);
- build_error.msg.writeFormat(writer_, enable_ansi_colors) catch {};
+ .BuildMessage => {
+ const build_log = priv_data.as(JS.BuildMessage);
+ build_log.msg.writeFormat(writer_, enable_ansi_colors) catch {};
return;
},
- .ResolveError => {
- const resolve_error = priv_data.as(JS.ResolveError);
- resolve_error.msg.writeFormat(writer_, enable_ansi_colors) catch {};
+ .ResolveMessage => {
+ const resolve_log = priv_data.as(JS.ResolveMessage);
+ resolve_log.msg.writeFormat(writer_, enable_ansi_colors) catch {};
return;
},
else => {},
@@ -3108,7 +3108,7 @@ pub const ZigConsoleClient = struct {
// const resolve = ModuleLoader.resolve(global, input, module) catch |err| {
// return ErrorableJSValue.errFmt(
// err,
-// "ResolveError: {s} while resolving \"{s}\"\nfrom \"{s}\"",
+// "ResolveMessage: {s} while resolving \"{s}\"\nfrom \"{s}\"",
// .{
// @errorName(err),
// input,
diff --git a/src/bun.js/javascript.zig b/src/bun.js/javascript.zig
index 67f016ad2..8bf13314b 100644
--- a/src/bun.js/javascript.zig
+++ b/src/bun.js/javascript.zig
@@ -95,8 +95,8 @@ pub const GlobalClasses = [_]type{
Bun.Class,
WebCore.Crypto.Class,
EventListenerMixin.addEventListener(VirtualMachine),
- BuildError.Class,
- ResolveError.Class,
+ BuildMessage.Class,
+ ResolveMessage.Class,
// Fetch.Class,
js_ast.Macro.JSNode.BunJSXCallbackFunction,
@@ -1219,7 +1219,7 @@ pub const VirtualMachine = struct {
}
}
- const printed = ResolveError.fmt(
+ const printed = ResolveMessage.fmt(
jsc_vm.allocator,
specifier.slice(),
source.slice(),
@@ -1239,7 +1239,7 @@ pub const VirtualMachine = struct {
};
{
- res.* = ErrorableZigString.err(err, @ptrCast(*anyopaque, ResolveError.create(global, VirtualMachine.get().allocator, msg, source.slice())));
+ res.* = ErrorableZigString.err(err, @ptrCast(*anyopaque, ResolveMessage.create(global, VirtualMachine.get().allocator, msg, source.slice())));
}
return;
@@ -1349,7 +1349,7 @@ pub const VirtualMachine = struct {
};
};
{
- ret.* = ErrorableResolvedSource.err(err, @ptrCast(*anyopaque, BuildError.create(globalThis, globalThis.allocator(), msg)));
+ ret.* = ErrorableResolvedSource.err(err, @ptrCast(*anyopaque, BuildMessage.create(globalThis, globalThis.allocator(), msg)));
}
return;
},
@@ -1357,8 +1357,8 @@ pub const VirtualMachine = struct {
1 => {
const msg = log.msgs.items[0];
ret.* = ErrorableResolvedSource.err(err, switch (msg.metadata) {
- .build => BuildError.create(globalThis, globalThis.allocator(), msg).?,
- .resolve => ResolveError.create(
+ .build => BuildMessage.create(globalThis, globalThis.allocator(), msg).?,
+ .resolve => ResolveMessage.create(
globalThis,
globalThis.allocator(),
msg,
@@ -1374,8 +1374,8 @@ pub const VirtualMachine = struct {
for (log.msgs.items, 0..) |msg, i| {
errors[i] = switch (msg.metadata) {
- .build => BuildError.create(globalThis, globalThis.allocator(), msg).?,
- .resolve => ResolveError.create(
+ .build => BuildMessage.create(globalThis, globalThis.allocator(), msg).?,
+ .resolve => ResolveMessage.create(
globalThis,
globalThis.allocator(),
msg,
@@ -1638,8 +1638,8 @@ pub const VirtualMachine = struct {
// When the Error-like object is one of our own, it's best to rely on the object directly instead of serializing it to a ZigException.
// This is for:
- // - BuildError
- // - ResolveError
+ // - BuildMessage
+ // - ResolveMessage
// If there were multiple errors, it could be contained in an AggregateError.
// In that case, this function becomes recursive.
// In all other cases, we will convert it to a ZigException.
@@ -1737,9 +1737,9 @@ pub const VirtualMachine = struct {
const private_data_ptr = JSPrivateDataPtr.from(value);
switch (private_data_ptr.tag()) {
- .BuildError => {
+ .BuildMessage => {
defer Output.flush();
- var build_error = private_data_ptr.as(BuildError);
+ var build_error = private_data_ptr.as(BuildMessage);
if (!build_error.logged) {
build_error.msg.writeFormat(writer, allow_ansi_color) catch {};
writer.writeAll("\n") catch {};
@@ -1753,9 +1753,9 @@ pub const VirtualMachine = struct {
}
return true;
},
- .ResolveError => {
+ .ResolveMessage => {
defer Output.flush();
- var resolve_error = private_data_ptr.as(ResolveError);
+ var resolve_error = private_data_ptr.as(ResolveMessage);
if (!resolve_error.logged) {
resolve_error.msg.writeFormat(writer, allow_ansi_color) catch {};
resolve_error.logged = true;
@@ -2350,7 +2350,7 @@ pub const EventListenerMixin = struct {
}
};
-pub const ResolveError = struct {
+pub const ResolveMessage = struct {
msg: logger.Msg,
allocator: std.mem.Allocator,
referrer: ?Fs.Path = null,
@@ -2375,8 +2375,8 @@ pub const ResolveError = struct {
}
}
- pub fn toStringFn(this: *ResolveError, ctx: js.JSContextRef) js.JSValueRef {
- var text = std.fmt.allocPrint(default_allocator, "ResolveError: {s}", .{this.msg.data.text}) catch return null;
+ pub fn toStringFn(this: *ResolveMessage, ctx: js.JSContextRef) js.JSValueRef {
+ var text = std.fmt.allocPrint(default_allocator, "ResolveMessage: {s}", .{this.msg.data.text}) catch return null;
var str = ZigString.init(text);
str.setOutputEncoding();
if (str.isUTF8()) {
@@ -2390,7 +2390,7 @@ pub const ResolveError = struct {
pub fn toString(
// this
- this: *ResolveError,
+ this: *ResolveMessage,
ctx: js.JSContextRef,
// function
_: js.JSObjectRef,
@@ -2406,8 +2406,8 @@ pub const ResolveError = struct {
switch (kind) {
js.JSType.kJSTypeString => {
if (js.JSObjectGetPrivate(obj)) |priv| {
- if (JSPrivateDataPtr.from(priv).is(ResolveError)) {
- var this = JSPrivateDataPtr.from(priv).as(ResolveError);
+ if (JSPrivateDataPtr.from(priv).is(ResolveMessage)) {
+ var this = JSPrivateDataPtr.from(priv).as(ResolveMessage);
return this.toStringFn(ctx);
}
}
@@ -2419,9 +2419,9 @@ pub const ResolveError = struct {
}
pub const Class = NewClass(
- ResolveError,
+ ResolveMessage,
.{
- .name = "ResolveError",
+ .name = "ResolveMessage",
.read_only = true,
},
.{
@@ -2457,6 +2457,10 @@ pub const ResolveError = struct {
.get = getPosition,
.ro = true,
},
+ .level = .{
+ .get = getLevel,
+ .ro = true,
+ },
},
);
@@ -2466,8 +2470,8 @@ pub const ResolveError = struct {
msg: logger.Msg,
referrer: string,
) js.JSObjectRef {
- var resolve_error = allocator.create(ResolveError) catch unreachable;
- resolve_error.* = ResolveError{
+ var resolve_error = allocator.create(ResolveMessage) catch unreachable;
+ resolve_error.* = ResolveMessage{
.msg = msg.clone(allocator) catch unreachable,
.allocator = allocator,
.referrer = Fs.Path.init(referrer),
@@ -2478,27 +2482,27 @@ pub const ResolveError = struct {
}
pub fn getCode(
- _: *ResolveError,
+ _: *ResolveMessage,
ctx: js.JSContextRef,
_: js.JSObjectRef,
_: js.JSStringRef,
_: js.ExceptionRef,
) js.JSValueRef {
- return ZigString.static(comptime @as(string, @tagName(JSC.Node.ErrorCode.ERR_MODULE_NOT_FOUND))).toValue(ctx).asObjectRef();
+ return ZigString.static(comptime @as(string, @tagName(JSC.Node.ErrorCode.ERR_MODULE_NOT_FOUND))).toValueGC(ctx).asObjectRef();
}
pub fn getPosition(
- this: *ResolveError,
+ this: *ResolveMessage,
ctx: js.JSContextRef,
_: js.JSObjectRef,
_: js.JSStringRef,
_: js.ExceptionRef,
) js.JSValueRef {
- return BuildError.generatePositionObject(this.msg, ctx);
+ return BuildMessage.generatePositionObject(this.msg, ctx);
}
pub fn getMessage(
- this: *ResolveError,
+ this: *ResolveMessage,
ctx: js.JSContextRef,
_: js.JSObjectRef,
_: js.JSStringRef,
@@ -2508,7 +2512,7 @@ pub const ResolveError = struct {
}
pub fn getSpecifier(
- this: *ResolveError,
+ this: *ResolveMessage,
ctx: js.JSContextRef,
_: js.JSObjectRef,
_: js.JSStringRef,
@@ -2518,17 +2522,17 @@ pub const ResolveError = struct {
}
pub fn getImportKind(
- this: *ResolveError,
+ this: *ResolveMessage,
ctx: js.JSContextRef,
_: js.JSObjectRef,
_: js.JSStringRef,
_: js.ExceptionRef,
) js.JSValueRef {
- return ZigString.init(@tagName(this.msg.metadata.resolve.import_kind)).toValue(ctx.ptr()).asRef();
+ return ZigString.init(this.msg.metadata.resolve.import_kind.label()).toValueGC(ctx.ptr()).asRef();
}
pub fn getReferrer(
- this: *ResolveError,
+ this: *ResolveMessage,
ctx: js.JSContextRef,
_: js.JSObjectRef,
_: js.JSStringRef,
@@ -2542,31 +2546,41 @@ pub const ResolveError = struct {
}
pub fn getName(
- _: *ResolveError,
+ _: *ResolveMessage,
+ ctx: js.JSContextRef,
+ _: js.JSObjectRef,
+ _: js.JSStringRef,
+ _: js.ExceptionRef,
+ ) js.JSValueRef {
+ return ZigString.static("ResolveMessage").toValueGC(ctx.ptr()).asRef();
+ }
+
+ pub fn getLevel(
+ this: *ResolveMessage,
ctx: js.JSContextRef,
_: js.JSObjectRef,
_: js.JSStringRef,
_: js.ExceptionRef,
) js.JSValueRef {
- return ZigString.static("ResolveError").toValue(ctx.ptr()).asRef();
+ return ZigString.init(this.msg.kind.string()).toValueGC(ctx.ptr()).asRef();
}
- pub fn finalize(this: *ResolveError) void {
+ pub fn finalize(this: *ResolveMessage) void {
this.msg.deinit(bun.default_allocator);
}
};
-pub const BuildError = struct {
+pub const BuildMessage = struct {
msg: logger.Msg,
// resolve_result: Resolver.Result,
allocator: std.mem.Allocator,
logged: bool = false,
pub const Class = NewClass(
- BuildError,
- .{ .name = "BuildError", .read_only = true, .ts = .{
+ BuildMessage,
+ .{ .name = "BuildMessage", .read_only = true, .ts = .{
.class = .{
- .name = "BuildError",
+ .name = "BuildMessage",
},
} },
.{
@@ -2587,11 +2601,15 @@ pub const BuildError = struct {
.get = getPosition,
.ro = true,
},
+ .level = .{
+ .get = getLevel,
+ .ro = true,
+ },
},
);
- pub fn toStringFn(this: *BuildError, ctx: js.JSContextRef) js.JSValueRef {
- var text = std.fmt.allocPrint(default_allocator, "BuildError: {s}", .{this.msg.data.text}) catch return null;
+ pub fn toStringFn(this: *BuildMessage, ctx: js.JSContextRef) js.JSValueRef {
+ var text = std.fmt.allocPrint(default_allocator, "BuildMessage: {s}", .{this.msg.data.text}) catch return null;
var str = ZigString.init(text);
str.setOutputEncoding();
if (str.isUTF8()) {
@@ -2605,7 +2623,7 @@ pub const BuildError = struct {
pub fn toString(
// this
- this: *BuildError,
+ this: *BuildMessage,
ctx: js.JSContextRef,
// function
_: js.JSObjectRef,
@@ -2621,8 +2639,8 @@ pub const BuildError = struct {
switch (kind) {
js.JSType.kJSTypeString => {
if (js.JSObjectGetPrivate(obj)) |priv| {
- if (JSPrivateDataPtr.from(priv).is(BuildError)) {
- var this = JSPrivateDataPtr.from(priv).as(BuildError);
+ if (JSPrivateDataPtr.from(priv).is(BuildMessage)) {
+ var this = JSPrivateDataPtr.from(priv).as(BuildMessage);
return this.toStringFn(ctx);
}
}
@@ -2639,8 +2657,8 @@ pub const BuildError = struct {
msg: logger.Msg,
// resolve_result: *const Resolver.Result,
) js.JSObjectRef {
- var build_error = allocator.create(BuildError) catch unreachable;
- build_error.* = BuildError{
+ var build_error = allocator.create(BuildMessage) catch unreachable;
+ build_error.* = BuildMessage{
.msg = msg.clone(allocator) catch unreachable,
// .resolve_result = resolve_result.*,
.allocator = allocator,
@@ -2652,7 +2670,7 @@ pub const BuildError = struct {
}
pub fn getPosition(
- this: *BuildError,
+ this: *BuildMessage,
ctx: js.JSContextRef,
_: js.JSObjectRef,
_: js.JSStringRef,
@@ -2707,24 +2725,33 @@ pub const BuildError = struct {
}
pub fn getMessage(
- this: *BuildError,
+ this: *BuildMessage,
ctx: js.JSContextRef,
_: js.JSObjectRef,
_: js.JSStringRef,
_: js.ExceptionRef,
) js.JSValueRef {
- return ZigString.init(this.msg.data.text).toValue(ctx.ptr()).asRef();
+ return ZigString.init(this.msg.data.text).toValueGC(ctx.ptr()).asRef();
}
- const BuildErrorName = "BuildError";
pub fn getName(
- _: *BuildError,
+ _: *BuildMessage,
+ ctx: js.JSContextRef,
+ _: js.JSObjectRef,
+ _: js.JSStringRef,
+ _: js.ExceptionRef,
+ ) js.JSValueRef {
+ return ZigString.static("BuildMessage").toValueGC(ctx.ptr()).asRef();
+ }
+
+ pub fn getLevel(
+ this: *BuildMessage,
ctx: js.JSContextRef,
_: js.JSObjectRef,
_: js.JSStringRef,
_: js.ExceptionRef,
) js.JSValueRef {
- return ZigString.init(BuildErrorName).toValue(ctx.ptr()).asRef();
+ return ZigString.init(this.msg.kind.string()).toValueGC(ctx.ptr()).asRef();
}
};
diff --git a/src/bun.js/test/pretty_format.zig b/src/bun.js/test/pretty_format.zig
index acd591089..2f48570c4 100644
--- a/src/bun.js/test/pretty_format.zig
+++ b/src/bun.js/test/pretty_format.zig
@@ -1265,14 +1265,14 @@ pub const JestPrettyFormat = struct {
if (CAPI.JSObjectGetPrivate(value.asRef())) |private_data_ptr| {
const priv_data = JSPrivateDataPtr.from(private_data_ptr);
switch (priv_data.tag()) {
- .BuildError => {
- const build_error = priv_data.as(JS.BuildError);
- build_error.msg.writeFormat(writer_, enable_ansi_colors) catch {};
+ .BuildMessage => {
+ const build_log = priv_data.as(JS.BuildMessage);
+ build_log.msg.writeFormat(writer_, enable_ansi_colors) catch {};
return;
},
- .ResolveError => {
- const resolve_error = priv_data.as(JS.ResolveError);
- resolve_error.msg.writeFormat(writer_, enable_ansi_colors) catch {};
+ .ResolveMessage => {
+ const resolve_log = priv_data.as(JS.ResolveMessage);
+ resolve_log.msg.writeFormat(writer_, enable_ansi_colors) catch {};
return;
},
else => {},