# HG changeset patch # User June Park # Date 1760017262 25200 # Node ID 342726584be24c5cb8cde96ebce3c483417a6573 # Parent 7d3fa1a7a8544429bb486655da25ff37d95a0253 [Bun] Fixed how bun would be ran within bazel. diff -r 7d3fa1a7a854 -r 342726584be2 gui_ze/gui_ze.bzl --- a/gui_ze/gui_ze.bzl Tue Oct 07 09:13:29 2025 -0700 +++ b/gui_ze/gui_ze.bzl Thu Oct 09 06:41:02 2025 -0700 @@ -75,7 +75,6 @@ mkdir -p {outdir} unzip -j {src} {inner} -d {outdir} chmod +x {outdir}/bun - mv {outdir}/bun {out} """.format( outdir = out.dirname, src = ctx.files.srcs[0].path, @@ -91,8 +90,8 @@ bun_binary = rule( implementation = _bun_binary_impl, attrs = { - "srcs": attr.label_list(allow_files=True), - "src_folder": attr.string(), + "srcs": attr.label_list(allow_files=True), + "src_folder": attr.string(), }, executable = True, ) @@ -104,8 +103,8 @@ This sucks because you need to either copy node module into the root folder where main.ts file exists or copy everything outwards. I chose to do it in this way. - TODO: If possible, maybe create a node_module inside of the main target path and create a symlink, - but I couldn't get it to work lol. + TODO: If possible, maybe create a node_module inside of the main target path and create a symlink + TODO: Add a specific path for node_modules """ out = ctx.actions.declare_file(ctx.label.name + ".js") inputs = [ctx.file.src] + ctx.files.data @@ -116,12 +115,13 @@ tools = [ctx.executable._bun] + inputs, command = """ cp -r third_party/bun/** . \ - && cp -r playground/** . \ - && {} build {} --outfile {} + && cp -r {src_folder}/** . \ + && export NODE_PATH=./node_modules && {bun_path} build {input_path} --outfile {output_path} """.format( - ctx.executable._bun.path, - ctx.file.src.path.split("/")[-1], - out.path, + bun_path = ctx.executable._bun.path, + src_folder = ctx.attr.src_folder, + input_path = ctx.file.src.path.split("/")[-1], + output_path = out.path, ), progress_message = "Bundling {} with Bun!\n\n".format(ctx.file.src.path), ) @@ -138,6 +138,7 @@ cfg = "exec", ), "data": attr.label_list(allow_files=True), + "src_folder": attr.string(), }, ) diff -r 7d3fa1a7a854 -r 342726584be2 playground/BUILD --- a/playground/BUILD Tue Oct 07 09:13:29 2025 -0700 +++ b/playground/BUILD Thu Oct 09 06:41:02 2025 -0700 @@ -29,6 +29,7 @@ bun_build( name = "hello", src = "main.ts", + src_folder = "playground", data = ["//third_party/bun:node_modules", ":all_ts_files"], visibility = ["//visibility:public"], ) diff -r 7d3fa1a7a854 -r 342726584be2 playground/june.tsx --- a/playground/june.tsx Tue Oct 07 09:13:29 2025 -0700 +++ b/playground/june.tsx Thu Oct 09 06:41:02 2025 -0700 @@ -2,7 +2,7 @@ const Foo = () => { return ( - <> Test + <> hehexd ); } diff -r 7d3fa1a7a854 -r 342726584be2 playground/main.c --- a/playground/main.c Tue Oct 07 09:13:29 2025 -0700 +++ b/playground/main.c Thu Oct 09 06:41:02 2025 -0700 @@ -1,94 +1,20 @@ #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#define INITIAL_BUFFER_CAPACITY 8192 +struct Node { + char *value; + struct Node *left; + struct Node *right; +}; -void init_openssl() +void *recurr(struct Node *root, int depth) { - SSL_load_error_strings(); - OpenSSL_add_ssl_algorithms(); + if (depth) + return; + root.left = } -int main(void) +int main() { - const char *host = "www.google.com"; - const char *port = "443"; - - struct addrinfo hints = {0}, *res; - hints.ai_family = AF_UNSPEC; - hints.ai_socktype = SOCK_STREAM; - - if (getaddrinfo(host, port, &hints, &res) != 0) - { - perror("getaddrinfo"); - return 1; - } - - int sockfd = socket(res->ai_family, res->ai_socktype, res->ai_protocol); - if (sockfd < 0) - { - perror("socket"); - return 1; - } - - if (connect(sockfd, res->ai_addr, res->ai_addrlen) != 0) - { - perror("connect"); - return 1; - } - - freeaddrinfo(res); - - init_openssl(); - SSL_CTX *ctx = SSL_CTX_new(TLS_client_method()); - SSL_CTX_set_default_verify_paths(ctx); - - SSL *ssl = SSL_new(ctx); - SSL_set_fd(ssl, sockfd); - - // ✅ use real hostname for SNI - SSL_set_tlsext_host_name(ssl, host); - - // ✅ perform blocking handshake for simplicity - fcntl(sockfd, F_SETFL, 0); - - if (SSL_connect(ssl) != 1) - { - fprintf(stderr, "SSL_connect failed\n"); - ERR_print_errors_fp(stderr); - return 1; - } - - printf("✅ SSL handshake successful!\n"); - - // send a basic HTTP request - const char *req = - "GET / HTTP/1.1\r\n" - "Host: www.google.com\r\n" - "Connection: close\r\n\r\n"; - SSL_write(ssl, req, strlen(req)); - - char buf[INITIAL_BUFFER_CAPACITY]; - int bytes; - - while ((bytes = SSL_read(ssl, buf, sizeof(buf) - 1)) > 0) - { - buf[bytes] = '\0'; - printf("%s", buf); - } - - SSL_shutdown(ssl); - SSL_free(ssl); - SSL_CTX_free(ctx); - close(sockfd); - EVP_cleanup(); - return 0; + struct Node root = {} + struct Node **queue = {} }