diff options
Diffstat (limited to 'src/cli.zig')
-rw-r--r-- | src/cli.zig | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/cli.zig b/src/cli.zig index 04f01053a..3400a70f4 100644 --- a/src/cli.zig +++ b/src/cli.zig @@ -148,6 +148,7 @@ pub const Arguments = struct { clap.parseParam("--main-fields <STR>... Main fields to lookup in package.json. Defaults to --target dependent") catch unreachable, clap.parseParam("--no-summary Don't print a summary (when generating .bun)") catch unreachable, clap.parseParam("-v, --version Print version and exit") catch unreachable, + clap.parseParam("--revision Print version with revision and exit") catch unreachable, clap.parseParam("--tsconfig-override <STR> Load tsconfig from path instead of cwd/tsconfig.json") catch unreachable, clap.parseParam("-d, --define <STR>... Substitute K:V while parsing, e.g. --define process.env.NODE_ENV:\"development\". Values are parsed as JSON.") catch unreachable, clap.parseParam("-e, --external <STR>... Exclude module from transpilation (can use * wildcards). ex: -e react") catch unreachable, @@ -234,6 +235,12 @@ pub const Arguments = struct { Global.exit(0); } + fn printRevisionAndExit() noreturn { + @setCold(true); + Output.writer().writeAll(Global.package_json_version_with_revision ++ "\n") catch {}; + Global.exit(0); + } + pub fn loadConfigPath(allocator: std.mem.Allocator, auto_loaded: bool, config_path: [:0]const u8, ctx: *Command.Context, comptime cmd: Command.Tag) !void { var config_file = std.fs.File{ .handle = std.os.openZ(config_path, std.os.O.RDONLY, 0) catch |err| { @@ -365,6 +372,10 @@ pub const Arguments = struct { printVersionAndExit(); } + if (args.flag("--revision")) { + printRevisionAndExit(); + } + var cwd: []u8 = undefined; if (args.option("--cwd")) |cwd_| { cwd = brk: { |