aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/env_loader.zig12
-rw-r--r--test/cli/run/env.test.ts10
2 files changed, 13 insertions, 9 deletions
diff --git a/src/env_loader.zig b/src/env_loader.zig
index b8fa90d45..6957a1a26 100644
--- a/src/env_loader.zig
+++ b/src/env_loader.zig
@@ -35,8 +35,6 @@ pub const Loader = struct {
did_load_process: bool = false,
- const empty_string_value: string = "\"\"";
-
pub fn has(this: *const Loader, input: []const u8) bool {
const value = this.map.get(input) orelse return false;
if (value.len == 0) return false;
@@ -304,7 +302,7 @@ pub const Loader = struct {
}
} else {
while (iter.next()) |entry| {
- const value: string = if (entry.value_ptr.value.len == 0) empty_string_value else entry.value_ptr.value;
+ const value: string = entry.value_ptr.value;
const key = std.fmt.allocPrint(key_allocator, "process.env.{s}", .{entry.key_ptr.*}) catch unreachable;
e_strings[0] = js_ast.E.String{
@@ -358,15 +356,11 @@ pub const Loader = struct {
var key = env[0..i];
var value = env[i + 1 ..];
if (key.len > 0) {
- if (value.len > 0) {
- this.map.put(key, value) catch unreachable;
- } else {
- this.map.put(key, empty_string_value) catch unreachable;
- }
+ this.map.put(key, value) catch unreachable;
}
} else {
if (env.len > 0) {
- this.map.put(env, empty_string_value) catch unreachable;
+ this.map.put(env, "") catch unreachable;
}
}
}
diff --git a/test/cli/run/env.test.ts b/test/cli/run/env.test.ts
index 3ed300477..1c2d51e8e 100644
--- a/test/cli/run/env.test.ts
+++ b/test/cli/run/env.test.ts
@@ -385,6 +385,16 @@ test(".env with zero length strings", () => {
expect(stdout).toBe("||0|0");
});
+test("process with zero length environment variable", () => {
+ const dir = tempDirWithFiles("process-issue-zerolength", {
+ "index.ts": "console.log(`'${process.env.TEST_ENV_VAR}'`);",
+ });
+ const { stdout } = bunRun(`${dir}/index.ts`, {
+ TEST_ENV_VAR: "",
+ });
+ expect(stdout).toBe("''");
+});
+
test(".env in a folder doesn't throw an error", () => {
const dir = tempDirWithFiles("dotenv-issue-3670", {
".env": {