diff options
Diffstat (limited to 'src/javascript/jsc/javascript.zig')
-rw-r--r-- | src/javascript/jsc/javascript.zig | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/javascript/jsc/javascript.zig b/src/javascript/jsc/javascript.zig index d942baeb4..5d445ecc1 100644 --- a/src/javascript/jsc/javascript.zig +++ b/src/javascript/jsc/javascript.zig @@ -602,6 +602,11 @@ pub const Bun = struct { return js.JSObjectMake(ctx, EnvironmentVariables.Class.get().*, null); } + pub const BooleanString = struct { + pub const @"true": string = "true"; + pub const @"false": string = "false"; + }; + pub fn getProperty( ctx: js.JSContextRef, thisObject: js.JSObjectRef, @@ -615,6 +620,13 @@ pub const Bun = struct { return ZigString.toRef(value, VirtualMachine.vm.global); } + if (Output.enable_ansi_colors) { + // https://github.com/chalk/supports-color/blob/main/index.js + if (strings.eqlComptime(name, "FORCE_COLOR")) { + return ZigString.toRef(BooleanString.@"true", VirtualMachine.vm.global); + } + } + return js.JSValueMakeUndefined(ctx); } @@ -626,7 +638,7 @@ pub const Bun = struct { const len = js.JSStringGetLength(propertyName); const ptr = js.JSStringGetCharacters8Ptr(propertyName); const name = ptr[0..len]; - return VirtualMachine.vm.bundler.env.map.get(name) != null; + return VirtualMachine.vm.bundler.env.map.get(name) != null or (Output.enable_ansi_colors and strings.eqlComptime(name, "FORCE_COLOR")); } pub fn getPropertyNames( |