diff options
author | 2023-08-05 19:48:22 +0800 | |
---|---|---|
committer | 2023-08-05 04:48:22 -0700 | |
commit | cf8650937aa03b7410c24675868eec36b7e2f390 (patch) | |
tree | a85f8efbf5e4ecadee7f427219bf1004435f6c93 | |
parent | 3803d398408044b36e1f4cf0db37c490270113f0 (diff) | |
download | bun-cf8650937aa03b7410c24675868eec36b7e2f390.tar.gz bun-cf8650937aa03b7410c24675868eec36b7e2f390.tar.zst bun-cf8650937aa03b7410c24675868eec36b7e2f390.zip |
Fix(cli/init): support subpath entrypoint. (#4002)
-rw-r--r-- | src/cli/init_command.zig | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/cli/init_command.zig b/src/cli/init_command.zig index 9b5ad7144..6f1fced54 100644 --- a/src/cli/init_command.zig +++ b/src/cli/init_command.zig @@ -337,7 +337,14 @@ pub const InitCommand = struct { } if (fields.entry_point.len > 0 and !exists(fields.entry_point)) { - var entry = try std.fs.cwd().createFile(fields.entry_point, .{ .truncate = true }); + const cwd = std.fs.cwd(); + if (std.fs.path.dirname(fields.entry_point)) |dirname| { + if (!strings.eqlComptime(dirname, ".")) { + cwd.makePath(dirname) catch {}; + } + } + + var entry = try cwd.createFile(fields.entry_point, .{ .truncate = true }); entry.writeAll("console.log(\"Hello via Bun!\");") catch {}; entry.close(); Output.prettyln(" + <r><d>{s}<r>", .{fields.entry_point}); |