From 3a07d02c0dbb945a67b20593ae948cb18fa3e198 Mon Sep 17 00:00:00 2001 From: eric Date: Fri, 6 Mar 2026 20:34:11 +0100 Subject: [PATCH] fix: tests pass --- ...e-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa | 2 +- ...5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa.rc | 10 +- .gitignore | 5 +- .pre-commit-config.yaml | 2 +- MODULE.bazel | 8 ++ MODULE.bazel.lock | 22 ++- WORKSPACE | 7 + flake.nix | 12 +- internal/bun_install.bzl | 16 ++- internal/bun_script.bzl | 9 ++ tests/bun_test_test/cache_hit_shape.sh | 2 +- tests/bun_test_test/junit_shape.sh | 2 +- tests/install_test/determinism.sh | 4 +- tests/script_test/BUILD.bazel | 18 +++ tests/script_test/env.ts | 2 +- tests/script_test/package.json | 3 + tests/script_test/run_vite_app.sh | 54 ++++++++ tests/script_test/vite_app/bun.lock | 127 ++++++++++++++++++ tests/script_test/vite_app/index.html | 12 ++ tests/script_test/vite_app/main.js | 7 + tests/script_test/vite_app/package.json | 11 ++ 21 files changed, 313 insertions(+), 22 deletions(-) create mode 100755 tests/script_test/run_vite_app.sh create mode 100644 tests/script_test/vite_app/bun.lock create mode 100644 tests/script_test/vite_app/index.html create mode 100644 tests/script_test/vite_app/main.js create mode 100644 tests/script_test/vite_app/package.json diff --git a/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa b/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa index 55fd219..bb45791 120000 --- a/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa +++ b/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa @@ -1 +1 @@ -/nix/store/wmfpcy0yqb4igdizfrdcy5i3a9b3yjlg-nix-shell-env \ No newline at end of file +/nix/store/k647bkhh6fv8rw9pnxgzyyv3r4y8fsin-nix-shell-env \ No newline at end of file diff --git a/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa.rc b/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa.rc index 7a0f2ce..6d95129 100644 --- a/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa.rc +++ b/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa.rc @@ -46,7 +46,7 @@ NIX_CC='/nix/store/vl936sd1vj8s008akm3gibkgyqk30qhz-clang-wrapper-21.1.8' export NIX_CC NIX_CC_WRAPPER_TARGET_HOST_arm64_apple_darwin='1' export NIX_CC_WRAPPER_TARGET_HOST_arm64_apple_darwin -NIX_CFLAGS_COMPILE=' -frandom-seed=wmfpcy0yqb -isystem /nix/store/h2y0a3x6hgznqq54rjszbi2x0rdnlgvb-python3-3.13.12/include -fmacro-prefix-map=/nix/store/h2y0a3x6hgznqq54rjszbi2x0rdnlgvb-python3-3.13.12=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-python3-3.13.12 -isystem /nix/store/g0r7lnyajlqwkkshzwcasa1swnqlr6fs-libcxx-20.1.0+apple-sdk-26.0/include -fmacro-prefix-map=/nix/store/g0r7lnyajlqwkkshzwcasa1swnqlr6fs-libcxx-20.1.0+apple-sdk-26.0=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-libcxx-20.1.0+apple-sdk-26.0 -isystem /nix/store/2adqlqhmwxglc2f0r7fxa5wdlavjn21r-compiler-rt-libc-21.1.8-dev/include -fmacro-prefix-map=/nix/store/2adqlqhmwxglc2f0r7fxa5wdlavjn21r-compiler-rt-libc-21.1.8-dev=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-compiler-rt-libc-21.1.8-dev -isystem /nix/store/qzgxkh5rnlswnj5ywhag0djwvn83kr3r-python3-3.13.11/include -fmacro-prefix-map=/nix/store/qzgxkh5rnlswnj5ywhag0djwvn83kr3r-python3-3.13.11=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-python3-3.13.11 -isystem /nix/store/gkyk559bh4zzxh0wfvzqi6zj3rdn0d9q-libiconv-109.100.2-dev/include -fmacro-prefix-map=/nix/store/gkyk559bh4zzxh0wfvzqi6zj3rdn0d9q-libiconv-109.100.2-dev=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-libiconv-109.100.2-dev -isystem /nix/store/y02fcdl0bx02pkmbsbxks8nmy7yxvanf-libresolv-91-dev/include -fmacro-prefix-map=/nix/store/y02fcdl0bx02pkmbsbxks8nmy7yxvanf-libresolv-91-dev=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-libresolv-91-dev -isystem /nix/store/w1q5dsq93j18clmn9pzqgl88n7v5j2v9-libsbuf-14.1.0-dev/include -fmacro-prefix-map=/nix/store/w1q5dsq93j18clmn9pzqgl88n7v5j2v9-libsbuf-14.1.0-dev=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-libsbuf-14.1.0-dev -isystem /nix/store/h2y0a3x6hgznqq54rjszbi2x0rdnlgvb-python3-3.13.12/include -fmacro-prefix-map=/nix/store/h2y0a3x6hgznqq54rjszbi2x0rdnlgvb-python3-3.13.12=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-python3-3.13.12 -isystem /nix/store/g0r7lnyajlqwkkshzwcasa1swnqlr6fs-libcxx-20.1.0+apple-sdk-26.0/include -fmacro-prefix-map=/nix/store/g0r7lnyajlqwkkshzwcasa1swnqlr6fs-libcxx-20.1.0+apple-sdk-26.0=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-libcxx-20.1.0+apple-sdk-26.0 -isystem /nix/store/2adqlqhmwxglc2f0r7fxa5wdlavjn21r-compiler-rt-libc-21.1.8-dev/include -fmacro-prefix-map=/nix/store/2adqlqhmwxglc2f0r7fxa5wdlavjn21r-compiler-rt-libc-21.1.8-dev=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-compiler-rt-libc-21.1.8-dev -isystem /nix/store/qzgxkh5rnlswnj5ywhag0djwvn83kr3r-python3-3.13.11/include -fmacro-prefix-map=/nix/store/qzgxkh5rnlswnj5ywhag0djwvn83kr3r-python3-3.13.11=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-python3-3.13.11 -isystem /nix/store/gkyk559bh4zzxh0wfvzqi6zj3rdn0d9q-libiconv-109.100.2-dev/include -fmacro-prefix-map=/nix/store/gkyk559bh4zzxh0wfvzqi6zj3rdn0d9q-libiconv-109.100.2-dev=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-libiconv-109.100.2-dev -isystem /nix/store/y02fcdl0bx02pkmbsbxks8nmy7yxvanf-libresolv-91-dev/include -fmacro-prefix-map=/nix/store/y02fcdl0bx02pkmbsbxks8nmy7yxvanf-libresolv-91-dev=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-libresolv-91-dev -isystem /nix/store/w1q5dsq93j18clmn9pzqgl88n7v5j2v9-libsbuf-14.1.0-dev/include -fmacro-prefix-map=/nix/store/w1q5dsq93j18clmn9pzqgl88n7v5j2v9-libsbuf-14.1.0-dev=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-libsbuf-14.1.0-dev' +NIX_CFLAGS_COMPILE=' -frandom-seed=k647bkhh6f -isystem /nix/store/h2y0a3x6hgznqq54rjszbi2x0rdnlgvb-python3-3.13.12/include -fmacro-prefix-map=/nix/store/h2y0a3x6hgznqq54rjszbi2x0rdnlgvb-python3-3.13.12=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-python3-3.13.12 -isystem /nix/store/g0r7lnyajlqwkkshzwcasa1swnqlr6fs-libcxx-20.1.0+apple-sdk-26.0/include -fmacro-prefix-map=/nix/store/g0r7lnyajlqwkkshzwcasa1swnqlr6fs-libcxx-20.1.0+apple-sdk-26.0=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-libcxx-20.1.0+apple-sdk-26.0 -isystem /nix/store/2adqlqhmwxglc2f0r7fxa5wdlavjn21r-compiler-rt-libc-21.1.8-dev/include -fmacro-prefix-map=/nix/store/2adqlqhmwxglc2f0r7fxa5wdlavjn21r-compiler-rt-libc-21.1.8-dev=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-compiler-rt-libc-21.1.8-dev -isystem /nix/store/qzgxkh5rnlswnj5ywhag0djwvn83kr3r-python3-3.13.11/include -fmacro-prefix-map=/nix/store/qzgxkh5rnlswnj5ywhag0djwvn83kr3r-python3-3.13.11=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-python3-3.13.11 -isystem /nix/store/gkyk559bh4zzxh0wfvzqi6zj3rdn0d9q-libiconv-109.100.2-dev/include -fmacro-prefix-map=/nix/store/gkyk559bh4zzxh0wfvzqi6zj3rdn0d9q-libiconv-109.100.2-dev=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-libiconv-109.100.2-dev -isystem /nix/store/y02fcdl0bx02pkmbsbxks8nmy7yxvanf-libresolv-91-dev/include -fmacro-prefix-map=/nix/store/y02fcdl0bx02pkmbsbxks8nmy7yxvanf-libresolv-91-dev=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-libresolv-91-dev -isystem /nix/store/w1q5dsq93j18clmn9pzqgl88n7v5j2v9-libsbuf-14.1.0-dev/include -fmacro-prefix-map=/nix/store/w1q5dsq93j18clmn9pzqgl88n7v5j2v9-libsbuf-14.1.0-dev=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-libsbuf-14.1.0-dev -isystem /nix/store/h2y0a3x6hgznqq54rjszbi2x0rdnlgvb-python3-3.13.12/include -fmacro-prefix-map=/nix/store/h2y0a3x6hgznqq54rjszbi2x0rdnlgvb-python3-3.13.12=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-python3-3.13.12 -isystem /nix/store/g0r7lnyajlqwkkshzwcasa1swnqlr6fs-libcxx-20.1.0+apple-sdk-26.0/include -fmacro-prefix-map=/nix/store/g0r7lnyajlqwkkshzwcasa1swnqlr6fs-libcxx-20.1.0+apple-sdk-26.0=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-libcxx-20.1.0+apple-sdk-26.0 -isystem /nix/store/2adqlqhmwxglc2f0r7fxa5wdlavjn21r-compiler-rt-libc-21.1.8-dev/include -fmacro-prefix-map=/nix/store/2adqlqhmwxglc2f0r7fxa5wdlavjn21r-compiler-rt-libc-21.1.8-dev=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-compiler-rt-libc-21.1.8-dev -isystem /nix/store/qzgxkh5rnlswnj5ywhag0djwvn83kr3r-python3-3.13.11/include -fmacro-prefix-map=/nix/store/qzgxkh5rnlswnj5ywhag0djwvn83kr3r-python3-3.13.11=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-python3-3.13.11 -isystem /nix/store/gkyk559bh4zzxh0wfvzqi6zj3rdn0d9q-libiconv-109.100.2-dev/include -fmacro-prefix-map=/nix/store/gkyk559bh4zzxh0wfvzqi6zj3rdn0d9q-libiconv-109.100.2-dev=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-libiconv-109.100.2-dev -isystem /nix/store/y02fcdl0bx02pkmbsbxks8nmy7yxvanf-libresolv-91-dev/include -fmacro-prefix-map=/nix/store/y02fcdl0bx02pkmbsbxks8nmy7yxvanf-libresolv-91-dev=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-libresolv-91-dev -isystem /nix/store/w1q5dsq93j18clmn9pzqgl88n7v5j2v9-libsbuf-14.1.0-dev/include -fmacro-prefix-map=/nix/store/w1q5dsq93j18clmn9pzqgl88n7v5j2v9-libsbuf-14.1.0-dev=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-libsbuf-14.1.0-dev' export NIX_CFLAGS_COMPILE NIX_DONT_SET_RPATH='1' export NIX_DONT_SET_RPATH @@ -74,7 +74,7 @@ OLDPWD='' export OLDPWD OPTERR='1' OSTYPE='darwin25.2.0' -PATH='/nix/store/igl44md7ljf5c3hx6s6ys6325fkpldny-nixfmt-1.2.0/bin:/nix/store/4ygyyjm4ad5q9382wiik7nn59b60rk63-gitlint-0.19.1/bin:/nix/store/h2y0a3x6hgznqq54rjszbi2x0rdnlgvb-python3-3.13.12/bin:/nix/store/r0xwfwva8p84gqlv5jp8icl26mk0zw76-gitleaks-8.30.0/bin:/nix/store/sc8kb91395fw69qcmij89m3bxdmj8gwb-shfmt-3.12.0/bin:/nix/store/hj3rkkp4azj65qvalnbl6ax0sgrfgmgh-go-1.25.7/bin:/nix/store/5498nh3pn799k53gwqlpmzwhvapj7qn6-gopls-0.21.1/bin:/nix/store/vlqqxb8xci50ck2f0dw8rh4mf8mwqyg5-gotools-0.34.0/bin:/nix/store/7x4dmbrjq24hgpzs1g6jxi3gm207ypkd-bun-1.3.10/bin:/nix/store/xdyrcv7zr12n61nz4fzjf5knix0nj0xx-bazel/bin:/nix/store/62jd6i5pz1rc4ilnbgsk6ialpbm3xm8j-bazel-buildtools-8.5.1/bin:/nix/store/kx3g9mlnlx8bafb9cwmnmvv7q8b76lsk-release/bin:/nix/store/59rqcmzdr53ay0pfgqc3mpa9l9lr1wx6-oxfmt-0.27.0/bin:/nix/store/vv99xympv0hjcqiky7sjni5mgrb6yp69-oxlint-1.50.0/bin:/nix/store/vl936sd1vj8s008akm3gibkgyqk30qhz-clang-wrapper-21.1.8/bin:/nix/store/rr64nnycczvx7s1b110qmvqrlfcb6lsm-clang-21.1.8/bin:/nix/store/chdj76m79c3lbwdn6bflwlqa2n2igx02-coreutils-9.10/bin:/nix/store/qkqww6ccw4n4px5jzs1fkcg9yh1jnbxl-cctools-binutils-darwin-wrapper-1010.6/bin:/nix/store/020z53qny5xbgxi1r5j3l27r135zmrjy-cctools-binutils-darwin-1010.6/bin:/nix/store/4wy2b9dipk7h7c6i444ipys9kq00f4qc-xcbuild-0.1.1-unstable-2019-11-20-xcrun/bin:/nix/store/hhdx8wizaynj5203x02wyj7srqyig87r-gitlint-0.19.1/bin:/nix/store/qzgxkh5rnlswnj5ywhag0djwvn83kr3r-python3-3.13.11/bin:/nix/store/d8p3k8wlvbxv4cdpgs0vqv3rr2ck0fqv-treefmt/bin:/nix/store/ik1b3z19bgk8lagf461zq222kxrpdynb-libiconv-109.100.2/bin:/nix/store/chdj76m79c3lbwdn6bflwlqa2n2igx02-coreutils-9.10/bin:/nix/store/laagkkm7lnm746374c4cii932b77pmaw-findutils-4.10.0/bin:/nix/store/0xkxjb418kdssdxx3c8filikjqhzxwcx-diffutils-3.12/bin:/nix/store/xzsihjm86aqgqarrzifrzr4sfchw4225-gnused-4.9/bin:/nix/store/5f96fidrw1fhyv8kxmx1d31m7qymlqdd-gnugrep-3.12/bin:/nix/store/i45ysli6zxj414lyyyhrl19ir3jkfdna-gawk-5.3.2/bin:/nix/store/2q9piicbr4dws7xi4xggb1nqs08k541h-gnutar-1.35/bin:/nix/store/ayfjrsaf6firgmr4h0a2v3g61yl07a6n-gzip-1.14/bin:/nix/store/7bp4xz524b106ay6hxp27k83p50ziv4w-bzip2-1.0.8-bin/bin:/nix/store/l8jkq4dnsknlxz436w6gw5rcm09mvq6p-gnumake-4.4.1/bin:/nix/store/3zrx6av2d1141igkcn8477cvbfqpcmcf-bash-5.3p9/bin:/nix/store/67a37s907bmcms143slallmjnsh2s7w8-patch-2.8/bin:/nix/store/61cj6q1qv2dibpmryaccn4drwc55ysv8-xz-5.8.2-bin/bin:/nix/store/z4nj80nfcllba9n6drf4axylzb24s15k-file-5.45/bin' +PATH='/nix/store/igl44md7ljf5c3hx6s6ys6325fkpldny-nixfmt-1.2.0/bin:/nix/store/4ygyyjm4ad5q9382wiik7nn59b60rk63-gitlint-0.19.1/bin:/nix/store/h2y0a3x6hgznqq54rjszbi2x0rdnlgvb-python3-3.13.12/bin:/nix/store/r0xwfwva8p84gqlv5jp8icl26mk0zw76-gitleaks-8.30.0/bin:/nix/store/sc8kb91395fw69qcmij89m3bxdmj8gwb-shfmt-3.12.0/bin:/nix/store/hj3rkkp4azj65qvalnbl6ax0sgrfgmgh-go-1.25.7/bin:/nix/store/5498nh3pn799k53gwqlpmzwhvapj7qn6-gopls-0.21.1/bin:/nix/store/vlqqxb8xci50ck2f0dw8rh4mf8mwqyg5-gotools-0.34.0/bin:/nix/store/7x4dmbrjq24hgpzs1g6jxi3gm207ypkd-bun-1.3.10/bin:/nix/store/cqqzfs4sfs4g35xnw2fxkmh8gx61df58-bazel/bin:/nix/store/62jd6i5pz1rc4ilnbgsk6ialpbm3xm8j-bazel-buildtools-8.5.1/bin:/nix/store/kx3g9mlnlx8bafb9cwmnmvv7q8b76lsk-release/bin:/nix/store/vl936sd1vj8s008akm3gibkgyqk30qhz-clang-wrapper-21.1.8/bin:/nix/store/rr64nnycczvx7s1b110qmvqrlfcb6lsm-clang-21.1.8/bin:/nix/store/chdj76m79c3lbwdn6bflwlqa2n2igx02-coreutils-9.10/bin:/nix/store/qkqww6ccw4n4px5jzs1fkcg9yh1jnbxl-cctools-binutils-darwin-wrapper-1010.6/bin:/nix/store/020z53qny5xbgxi1r5j3l27r135zmrjy-cctools-binutils-darwin-1010.6/bin:/nix/store/4wy2b9dipk7h7c6i444ipys9kq00f4qc-xcbuild-0.1.1-unstable-2019-11-20-xcrun/bin:/nix/store/hhdx8wizaynj5203x02wyj7srqyig87r-gitlint-0.19.1/bin:/nix/store/qzgxkh5rnlswnj5ywhag0djwvn83kr3r-python3-3.13.11/bin:/nix/store/d8p3k8wlvbxv4cdpgs0vqv3rr2ck0fqv-treefmt/bin:/nix/store/ik1b3z19bgk8lagf461zq222kxrpdynb-libiconv-109.100.2/bin:/nix/store/chdj76m79c3lbwdn6bflwlqa2n2igx02-coreutils-9.10/bin:/nix/store/laagkkm7lnm746374c4cii932b77pmaw-findutils-4.10.0/bin:/nix/store/0xkxjb418kdssdxx3c8filikjqhzxwcx-diffutils-3.12/bin:/nix/store/xzsihjm86aqgqarrzifrzr4sfchw4225-gnused-4.9/bin:/nix/store/5f96fidrw1fhyv8kxmx1d31m7qymlqdd-gnugrep-3.12/bin:/nix/store/i45ysli6zxj414lyyyhrl19ir3jkfdna-gawk-5.3.2/bin:/nix/store/2q9piicbr4dws7xi4xggb1nqs08k541h-gnutar-1.35/bin:/nix/store/ayfjrsaf6firgmr4h0a2v3g61yl07a6n-gzip-1.14/bin:/nix/store/7bp4xz524b106ay6hxp27k83p50ziv4w-bzip2-1.0.8-bin/bin:/nix/store/l8jkq4dnsknlxz436w6gw5rcm09mvq6p-gnumake-4.4.1/bin:/nix/store/3zrx6av2d1141igkcn8477cvbfqpcmcf-bash-5.3p9/bin:/nix/store/67a37s907bmcms143slallmjnsh2s7w8-patch-2.8/bin:/nix/store/61cj6q1qv2dibpmryaccn4drwc55ysv8-xz-5.8.2-bin/bin:/nix/store/z4nj80nfcllba9n6drf4axylzb24s15k-file-5.45/bin' export PATH PATH_LOCALE='/nix/store/njmig5gp6llav5ds1yhvi7r0l38ihds3-locale-118/share/locale' export PATH_LOCALE @@ -162,7 +162,7 @@ mesonFlags='' export mesonFlags name='nix-shell-env' export name -nativeBuildInputs='/nix/store/igl44md7ljf5c3hx6s6ys6325fkpldny-nixfmt-1.2.0 /nix/store/4ygyyjm4ad5q9382wiik7nn59b60rk63-gitlint-0.19.1 /nix/store/r0xwfwva8p84gqlv5jp8icl26mk0zw76-gitleaks-8.30.0 /nix/store/sc8kb91395fw69qcmij89m3bxdmj8gwb-shfmt-3.12.0 /nix/store/hj3rkkp4azj65qvalnbl6ax0sgrfgmgh-go-1.25.7 /nix/store/5498nh3pn799k53gwqlpmzwhvapj7qn6-gopls-0.21.1 /nix/store/vlqqxb8xci50ck2f0dw8rh4mf8mwqyg5-gotools-0.34.0 /nix/store/7x4dmbrjq24hgpzs1g6jxi3gm207ypkd-bun-1.3.10 /nix/store/xdyrcv7zr12n61nz4fzjf5knix0nj0xx-bazel /nix/store/62jd6i5pz1rc4ilnbgsk6ialpbm3xm8j-bazel-buildtools-8.5.1 /nix/store/kx3g9mlnlx8bafb9cwmnmvv7q8b76lsk-release /nix/store/59rqcmzdr53ay0pfgqc3mpa9l9lr1wx6-oxfmt-0.27.0 /nix/store/vv99xympv0hjcqiky7sjni5mgrb6yp69-oxlint-1.50.0' +nativeBuildInputs='/nix/store/igl44md7ljf5c3hx6s6ys6325fkpldny-nixfmt-1.2.0 /nix/store/4ygyyjm4ad5q9382wiik7nn59b60rk63-gitlint-0.19.1 /nix/store/r0xwfwva8p84gqlv5jp8icl26mk0zw76-gitleaks-8.30.0 /nix/store/sc8kb91395fw69qcmij89m3bxdmj8gwb-shfmt-3.12.0 /nix/store/hj3rkkp4azj65qvalnbl6ax0sgrfgmgh-go-1.25.7 /nix/store/5498nh3pn799k53gwqlpmzwhvapj7qn6-gopls-0.21.1 /nix/store/vlqqxb8xci50ck2f0dw8rh4mf8mwqyg5-gotools-0.34.0 /nix/store/7x4dmbrjq24hgpzs1g6jxi3gm207ypkd-bun-1.3.10 /nix/store/cqqzfs4sfs4g35xnw2fxkmh8gx61df58-bazel /nix/store/62jd6i5pz1rc4ilnbgsk6ialpbm3xm8j-bazel-buildtools-8.5.1 /nix/store/kx3g9mlnlx8bafb9cwmnmvv7q8b76lsk-release' export nativeBuildInputs out='/Users/eric/Projects/rules_bun/outputs/out' export out @@ -183,7 +183,7 @@ phases='buildPhase' export phases pkg='/nix/store/49rnbvkp4nywgr2pqcmii0dr4sbj9zs7-apple-sdk-14.4' declare -a pkgsBuildBuild=() -declare -a pkgsBuildHost=('/nix/store/igl44md7ljf5c3hx6s6ys6325fkpldny-nixfmt-1.2.0' '/nix/store/4ygyyjm4ad5q9382wiik7nn59b60rk63-gitlint-0.19.1' '/nix/store/3xza1grhkwh3mnwd0j29a9hsbbgxhdak-python3.13-arrow-1.4.0' '/nix/store/qflvkqlgrxij13pljw5bfjjy8293423y-python3.13-python-dateutil-2.9.0.post0' '/nix/store/3fklla4b6nagqd4f0khfnbzc9fq0ff5a-python3.13-six-1.17.0' '/nix/store/h2y0a3x6hgznqq54rjszbi2x0rdnlgvb-python3-3.13.12' '/nix/store/8ilq4kw137gpq10qibiv6rz2xkwq56d8-python3.13-types-python-dateutil-2.9.0.20251115' '/nix/store/pqb998q9642lgg0fb1r8msr0hkzdyg14-python3.13-tzdata-2025.3' '/nix/store/h7wda1dhw18x43b6g4px3kk18m542qaq-python3.13-click-8.3.1' '/nix/store/n8qcvx32nlj1g10py7fg1js051vp7pfd-python3.13-sh-2.2.2' '/nix/store/r0xwfwva8p84gqlv5jp8icl26mk0zw76-gitleaks-8.30.0' '/nix/store/sc8kb91395fw69qcmij89m3bxdmj8gwb-shfmt-3.12.0' '/nix/store/hj3rkkp4azj65qvalnbl6ax0sgrfgmgh-go-1.25.7' '/nix/store/5498nh3pn799k53gwqlpmzwhvapj7qn6-gopls-0.21.1' '/nix/store/vlqqxb8xci50ck2f0dw8rh4mf8mwqyg5-gotools-0.34.0' '/nix/store/7x4dmbrjq24hgpzs1g6jxi3gm207ypkd-bun-1.3.10' '/nix/store/xdyrcv7zr12n61nz4fzjf5knix0nj0xx-bazel' '/nix/store/62jd6i5pz1rc4ilnbgsk6ialpbm3xm8j-bazel-buildtools-8.5.1' '/nix/store/kx3g9mlnlx8bafb9cwmnmvv7q8b76lsk-release' '/nix/store/59rqcmzdr53ay0pfgqc3mpa9l9lr1wx6-oxfmt-0.27.0' '/nix/store/vv99xympv0hjcqiky7sjni5mgrb6yp69-oxlint-1.50.0' '/nix/store/23c6sxdfaa5r38ihc7y575vv7j4qs4sk-update-autotools-gnu-config-scripts-hook' '/nix/store/0y5xmdb7qfvimjwbq7ibg1xdgkgjwqng-no-broken-symlinks.sh' '/nix/store/cv1d7p48379km6a85h4zp6kr86brh32q-audit-tmpdir.sh' '/nix/store/85clx3b0xkdf58jn161iy80y5223ilbi-compress-man-pages.sh' '/nix/store/p3l1a5y7nllfyrjn2krlwgcc3z0cd3fq-make-symlinks-relative.sh' '/nix/store/5yzw0vhkyszf2d179m0qfkgxmp5wjjx4-move-docs.sh' '/nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh' '/nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh' '/nix/store/pag6l61paj1dc9sv15l7bm5c17xn5kyk-move-systemd-user-units.sh' '/nix/store/cmzya9irvxzlkh7lfy6i82gbp0saxqj3-multiple-outputs.sh' '/nix/store/x8c40nfigps493a07sdr2pm5s9j1cdc0-patch-shebangs.sh' '/nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh' '/nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh' '/nix/store/z7k98578dfzi6l3hsvbivzm7hfqlk0zc-set-source-date-epoch-to-latest.sh' '/nix/store/pilsssjjdxvdphlg2h19p0bfx5q0jzkn-strip.sh' '/nix/store/vl936sd1vj8s008akm3gibkgyqk30qhz-clang-wrapper-21.1.8' '/nix/store/qkqww6ccw4n4px5jzs1fkcg9yh1jnbxl-cctools-binutils-darwin-wrapper-1010.6' '/nix/store/4wy2b9dipk7h7c6i444ipys9kq00f4qc-xcbuild-0.1.1-unstable-2019-11-20-xcrun' ) +declare -a pkgsBuildHost=('/nix/store/igl44md7ljf5c3hx6s6ys6325fkpldny-nixfmt-1.2.0' '/nix/store/4ygyyjm4ad5q9382wiik7nn59b60rk63-gitlint-0.19.1' '/nix/store/3xza1grhkwh3mnwd0j29a9hsbbgxhdak-python3.13-arrow-1.4.0' '/nix/store/qflvkqlgrxij13pljw5bfjjy8293423y-python3.13-python-dateutil-2.9.0.post0' '/nix/store/3fklla4b6nagqd4f0khfnbzc9fq0ff5a-python3.13-six-1.17.0' '/nix/store/h2y0a3x6hgznqq54rjszbi2x0rdnlgvb-python3-3.13.12' '/nix/store/8ilq4kw137gpq10qibiv6rz2xkwq56d8-python3.13-types-python-dateutil-2.9.0.20251115' '/nix/store/pqb998q9642lgg0fb1r8msr0hkzdyg14-python3.13-tzdata-2025.3' '/nix/store/h7wda1dhw18x43b6g4px3kk18m542qaq-python3.13-click-8.3.1' '/nix/store/n8qcvx32nlj1g10py7fg1js051vp7pfd-python3.13-sh-2.2.2' '/nix/store/r0xwfwva8p84gqlv5jp8icl26mk0zw76-gitleaks-8.30.0' '/nix/store/sc8kb91395fw69qcmij89m3bxdmj8gwb-shfmt-3.12.0' '/nix/store/hj3rkkp4azj65qvalnbl6ax0sgrfgmgh-go-1.25.7' '/nix/store/5498nh3pn799k53gwqlpmzwhvapj7qn6-gopls-0.21.1' '/nix/store/vlqqxb8xci50ck2f0dw8rh4mf8mwqyg5-gotools-0.34.0' '/nix/store/7x4dmbrjq24hgpzs1g6jxi3gm207ypkd-bun-1.3.10' '/nix/store/cqqzfs4sfs4g35xnw2fxkmh8gx61df58-bazel' '/nix/store/62jd6i5pz1rc4ilnbgsk6ialpbm3xm8j-bazel-buildtools-8.5.1' '/nix/store/kx3g9mlnlx8bafb9cwmnmvv7q8b76lsk-release' '/nix/store/23c6sxdfaa5r38ihc7y575vv7j4qs4sk-update-autotools-gnu-config-scripts-hook' '/nix/store/0y5xmdb7qfvimjwbq7ibg1xdgkgjwqng-no-broken-symlinks.sh' '/nix/store/cv1d7p48379km6a85h4zp6kr86brh32q-audit-tmpdir.sh' '/nix/store/85clx3b0xkdf58jn161iy80y5223ilbi-compress-man-pages.sh' '/nix/store/p3l1a5y7nllfyrjn2krlwgcc3z0cd3fq-make-symlinks-relative.sh' '/nix/store/5yzw0vhkyszf2d179m0qfkgxmp5wjjx4-move-docs.sh' '/nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh' '/nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh' '/nix/store/pag6l61paj1dc9sv15l7bm5c17xn5kyk-move-systemd-user-units.sh' '/nix/store/cmzya9irvxzlkh7lfy6i82gbp0saxqj3-multiple-outputs.sh' '/nix/store/x8c40nfigps493a07sdr2pm5s9j1cdc0-patch-shebangs.sh' '/nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh' '/nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh' '/nix/store/z7k98578dfzi6l3hsvbivzm7hfqlk0zc-set-source-date-epoch-to-latest.sh' '/nix/store/pilsssjjdxvdphlg2h19p0bfx5q0jzkn-strip.sh' '/nix/store/vl936sd1vj8s008akm3gibkgyqk30qhz-clang-wrapper-21.1.8' '/nix/store/qkqww6ccw4n4px5jzs1fkcg9yh1jnbxl-cctools-binutils-darwin-wrapper-1010.6' '/nix/store/4wy2b9dipk7h7c6i444ipys9kq00f4qc-xcbuild-0.1.1-unstable-2019-11-20-xcrun' ) declare -a pkgsBuildTarget=() declare -a pkgsHostHost=('/nix/store/g0r7lnyajlqwkkshzwcasa1swnqlr6fs-libcxx-20.1.0+apple-sdk-26.0' '/nix/store/2adqlqhmwxglc2f0r7fxa5wdlavjn21r-compiler-rt-libc-21.1.8-dev' '/nix/store/16j7rnr03s8ssn0q9nwf3ncj7aj2pqd3-compiler-rt-libc-21.1.8' ) declare -a pkgsHostTarget=('/nix/store/hhdx8wizaynj5203x02wyj7srqyig87r-gitlint-0.19.1' '/nix/store/yvgibssnyvi4jfcqw3zs8hx07cih80ay-python3.13-arrow-1.3.0' '/nix/store/bdbzfjw1gvyk6lziqxkv7kiwddqk3ncg-python3.13-python-dateutil-2.9.0.post0' '/nix/store/kgkc9bbp2s5k30ryd8pgv7gcbh30cm3f-python3.13-six-1.17.0' '/nix/store/qzgxkh5rnlswnj5ywhag0djwvn83kr3r-python3-3.13.11' '/nix/store/kbhcff5i9v3svjahb5wwjcyc0im5rr98-python3.13-types-python-dateutil-2.9.0.20250708' '/nix/store/nlvajmiq1nwji4bzcz6r5q7y571khj05-python3.13-click-8.3.1' '/nix/store/p030824m0k4zwkicdm1cgz9khvfapbr1-python3.13-sh-2.2.2' '/nix/store/d8p3k8wlvbxv4cdpgs0vqv3rr2ck0fqv-treefmt' '/nix/store/49rnbvkp4nywgr2pqcmii0dr4sbj9zs7-apple-sdk-14.4' '/nix/store/gkyk559bh4zzxh0wfvzqi6zj3rdn0d9q-libiconv-109.100.2-dev' '/nix/store/ik1b3z19bgk8lagf461zq222kxrpdynb-libiconv-109.100.2' '/nix/store/y02fcdl0bx02pkmbsbxks8nmy7yxvanf-libresolv-91-dev' '/nix/store/r0vyrwqczqhfa64ybmz1ag57ssvbxakh-libresolv-91' '/nix/store/w1q5dsq93j18clmn9pzqgl88n7v5j2v9-libsbuf-14.1.0-dev' '/nix/store/q0l5wfnkkhynp14mpl1pk33xhzsaif38-libsbuf-14.1.0' '/nix/store/0zwkfp018d8qpx2lyppvn07rbgvblps4-libutil-72' ) @@ -205,7 +205,7 @@ export propagatedNativeBuildInputs declare -a propagatedTargetDepFiles=('propagated-target-target-deps' ) shell='/nix/store/3zrx6av2d1141igkcn8477cvbfqpcmcf-bash-5.3p9/bin/bash' export shell -shellHook='if true; then'$'\x0a'' if ! /nix/store/dbd3ngiax26c6grkriygc14vdwfqwlvv-git-minimal-2.52.0/bin/git rev-parse --git-dir &> /dev/null; then'$'\x0a'' echo 1>&2 "WARNING: git-hooks.nix: .git not found; skipping installation."'$'\x0a'' else'$'\x0a'' GIT_WC=`/nix/store/dbd3ngiax26c6grkriygc14vdwfqwlvv-git-minimal-2.52.0/bin/git rev-parse --show-toplevel`'$'\x0a'''$'\x0a'' # These update procedures compare before they write, to avoid'$'\x0a'' # filesystem churn. This improves performance with watch tools like lorri'$'\x0a'' # and prevents installation loops by lorri.'$'\x0a'''$'\x0a'' if ! readlink "${GIT_WC}/.pre-commit-config.yaml" >/dev/null \'$'\x0a'' || [[ $(readlink "${GIT_WC}/.pre-commit-config.yaml") != /nix/store/wrsbzz8sgxnp8xawaxy8nvc3sdwfl5s6-pre-commit-config.json ]]; then'$'\x0a'' echo 1>&2 "git-hooks.nix: updating $PWD repo"'$'\x0a'' [ -L "${GIT_WC}/.pre-commit-config.yaml" ] && unlink "${GIT_WC}/.pre-commit-config.yaml"'$'\x0a'''$'\x0a'' if [ -e "${GIT_WC}/.pre-commit-config.yaml" ]; then'$'\x0a'' echo 1>&2 "git-hooks.nix: WARNING: Refusing to install because of an existing config at .pre-commit-config.yaml"'$'\x0a'' echo 1>&2 ""'$'\x0a'' echo 1>&2 " To migrate the existing config to a Nix configuration:"'$'\x0a'' echo 1>&2 " 1. Translate the contents of .pre-commit-config.yaml into a Nix configuration."'$'\x0a'' echo 1>&2 " See https://github.com/cachix/git-hooks.nix#getting-started"'$'\x0a'' echo 1>&2 " 2. Remove .pre-commit-config.yaml"'$'\x0a'' echo 1>&2 " 3. Add .pre-commit-config.yaml to .gitignore"'$'\x0a'' else'$'\x0a'' if true; then'$'\x0a'' nix-store --add-root "${GIT_WC}/.pre-commit-config.yaml" --indirect --realise /nix/store/wrsbzz8sgxnp8xawaxy8nvc3sdwfl5s6-pre-commit-config.json'$'\x0a'' else'$'\x0a'' ln -fs /nix/store/wrsbzz8sgxnp8xawaxy8nvc3sdwfl5s6-pre-commit-config.json "${GIT_WC}/.pre-commit-config.yaml"'$'\x0a'' fi'$'\x0a'' # Remove any previously installed hooks (since pre-commit itself has no convergent design)'$'\x0a'' hooks="commit-msg post-checkout post-commit post-merge post-rewrite pre-commit pre-merge-commit pre-push pre-rebase prepare-commit-msg"'$'\x0a'' for hook in $hooks; do'$'\x0a'' /nix/store/j5pi70fd5x4qjcvdvk2bac03zl9wwims-pre-commit-4.5.1/bin/pre-commit uninstall -t $hook'$'\x0a'' done'$'\x0a'' /nix/store/dbd3ngiax26c6grkriygc14vdwfqwlvv-git-minimal-2.52.0/bin/git config --local core.hooksPath ""'$'\x0a'' # Add hooks for configured stages (only) ...'$'\x0a'' if [ ! -z "pre-commit commit-msg pre-push" ]; then'$'\x0a'' for stage in pre-commit commit-msg pre-push; do'$'\x0a'' case $stage in'$'\x0a'' manual)'$'\x0a'' ;;'$'\x0a'' # if you amend these switches please also review $hooks above'$'\x0a'' commit | merge-commit | push)'$'\x0a'' stage="pre-"$stage'$'\x0a'' /nix/store/j5pi70fd5x4qjcvdvk2bac03zl9wwims-pre-commit-4.5.1/bin/pre-commit install -c .pre-commit-config.yaml -t $stage'$'\x0a'' ;;'$'\x0a'' commit-msg|post-checkout|post-commit|post-merge|post-rewrite|pre-commit|pre-merge-commit|pre-push|pre-rebase|prepare-commit-msg|manual)'$'\x0a'' /nix/store/j5pi70fd5x4qjcvdvk2bac03zl9wwims-pre-commit-4.5.1/bin/pre-commit install -c .pre-commit-config.yaml -t $stage'$'\x0a'' ;;'$'\x0a'' *)'$'\x0a'' echo 1>&2 "ERROR: git-hooks.nix: either $stage is not a valid stage or git-hooks.nix doesn'\''t yet support it."'$'\x0a'' exit 1'$'\x0a'' ;;'$'\x0a'' esac'$'\x0a'' done'$'\x0a'' # ... or default '\''pre-commit'\'' hook'$'\x0a'' else'$'\x0a'' /nix/store/j5pi70fd5x4qjcvdvk2bac03zl9wwims-pre-commit-4.5.1/bin/pre-commit install -c .pre-commit-config.yaml'$'\x0a'' fi'$'\x0a'''$'\x0a'' # Fetch the absolute path to the git common directory. This will normally point to $GIT_WC/.git.'$'\x0a'' common_dir=$(/nix/store/dbd3ngiax26c6grkriygc14vdwfqwlvv-git-minimal-2.52.0/bin/git rev-parse --path-format=absolute --git-common-dir)'$'\x0a'''$'\x0a'' # Convert the absolute path to a path relative to the toplevel working directory.'$'\x0a'' common_dir=${common_dir#$GIT_WC/}'$'\x0a'''$'\x0a'' /nix/store/dbd3ngiax26c6grkriygc14vdwfqwlvv-git-minimal-2.52.0/bin/git config --local core.hooksPath "$common_dir/hooks"'$'\x0a'' fi'$'\x0a'' fi'$'\x0a''fi'$'\x0a''fi'$'\x0a'''$'\x0a''export PATH=/nix/store/j5pi70fd5x4qjcvdvk2bac03zl9wwims-pre-commit-4.5.1/bin:$PATH'$'\x0a'''$'\x0a'''$'\x0a''if [ -t 1 ]; then'$'\x0a'' command -v tput >/dev/null 2>&1 && tput clear || printf '\''\033c'\'''$'\x0a''fi'$'\x0a'''$'\x0a''GREEN='\''\033[1;32m'\'''$'\x0a''CYAN='\''\033[1;36m'\'''$'\x0a''YELLOW='\''\033[1;33m'\'''$'\x0a''BLUE='\''\033[1;34m'\'''$'\x0a''RED='\''\033[1;31m'\'''$'\x0a''MAGENTA='\''\033[1;35m'\'''$'\x0a''WHITE='\''\033[1;37m'\'''$'\x0a''GRAY='\''\033[0;90m'\'''$'\x0a''BOLD='\''\033[1m'\'''$'\x0a''UNDERLINE='\''\033[4m'\'''$'\x0a''RESET='\''\033[0m'\'''$'\x0a'''$'\x0a''printf "\n$GREEN '$'\xf0'''$'\x9f'''$'\x9a'''$'\x80'' Dev shell ready$RESET\n\n"'$'\x0a''if command -v /nix/store/7x4dmbrjq24hgpzs1g6jxi3gm207ypkd-bun-1.3.10/bin/bun >/dev/null 2>&1; then'$'\x0a'' version="$(/nix/store/7x4dmbrjq24hgpzs1g6jxi3gm207ypkd-bun-1.3.10/bin/bun --version 2>/dev/null | head -n 1 | sed -E '\''s/^[[:space:]]+//; s/[[:space:]]+$//'\'')"'$'\x0a'' printf " $CYAN %-6s$RESET $YELLOW%s$RESET\n" "Bun:" "$version"'$'\x0a''fi'$'\x0a''if command -v /nix/store/hj3rkkp4azj65qvalnbl6ax0sgrfgmgh-go-1.25.7/bin/go >/dev/null 2>&1; then'$'\x0a'' version="$(/nix/store/hj3rkkp4azj65qvalnbl6ax0sgrfgmgh-go-1.25.7/bin/go version 2>/dev/null | head -n 1 | sed -E '\''s/^[[:space:]]+//; s/[[:space:]]+$//'\'')"'$'\x0a'' printf " $CYAN %-6s$RESET $CYAN%s$RESET\n" "Go:" "$version"'$'\x0a''fi'$'\x0a''if command -v /nix/store/xdyrcv7zr12n61nz4fzjf5knix0nj0xx-bazel/bin/bazel >/dev/null 2>&1; then'$'\x0a'' version="$(/nix/store/xdyrcv7zr12n61nz4fzjf5knix0nj0xx-bazel/bin/bazel --version 2>/dev/null | head -n 1 | sed -E '\''s/^[[:space:]]+//; s/[[:space:]]+$//'\'')"'$'\x0a'' printf " $CYAN %-6s$RESET $GREEN%s$RESET\n" "Bazel:" "$version"'$'\x0a''fi'$'\x0a'''$'\x0a''printf "\n"'$'\x0a'''$'\x0a''export USE_BAZEL_VERSION="${USE_BAZEL_VERSION:-9.0.0}"'$'\x0a''export BUN_INSTALL="${BUN_INSTALL:-$HOME/.bun}"'$'\x0a''export PATH="$BUN_INSTALL/bin:$PATH"'$'\x0a'''$'\x0a''' +shellHook='if true; then'$'\x0a'' if ! /nix/store/dbd3ngiax26c6grkriygc14vdwfqwlvv-git-minimal-2.52.0/bin/git rev-parse --git-dir &> /dev/null; then'$'\x0a'' echo 1>&2 "WARNING: git-hooks.nix: .git not found; skipping installation."'$'\x0a'' else'$'\x0a'' GIT_WC=`/nix/store/dbd3ngiax26c6grkriygc14vdwfqwlvv-git-minimal-2.52.0/bin/git rev-parse --show-toplevel`'$'\x0a'''$'\x0a'' # These update procedures compare before they write, to avoid'$'\x0a'' # filesystem churn. This improves performance with watch tools like lorri'$'\x0a'' # and prevents installation loops by lorri.'$'\x0a'''$'\x0a'' if ! readlink "${GIT_WC}/.pre-commit-config.yaml" >/dev/null \'$'\x0a'' || [[ $(readlink "${GIT_WC}/.pre-commit-config.yaml") != /nix/store/vq88dl8yys4hbw4gq6kwypah5ykqr8xs-pre-commit-config.json ]]; then'$'\x0a'' echo 1>&2 "git-hooks.nix: updating $PWD repo"'$'\x0a'' [ -L "${GIT_WC}/.pre-commit-config.yaml" ] && unlink "${GIT_WC}/.pre-commit-config.yaml"'$'\x0a'''$'\x0a'' if [ -e "${GIT_WC}/.pre-commit-config.yaml" ]; then'$'\x0a'' echo 1>&2 "git-hooks.nix: WARNING: Refusing to install because of an existing config at .pre-commit-config.yaml"'$'\x0a'' echo 1>&2 ""'$'\x0a'' echo 1>&2 " To migrate the existing config to a Nix configuration:"'$'\x0a'' echo 1>&2 " 1. Translate the contents of .pre-commit-config.yaml into a Nix configuration."'$'\x0a'' echo 1>&2 " See https://github.com/cachix/git-hooks.nix#getting-started"'$'\x0a'' echo 1>&2 " 2. Remove .pre-commit-config.yaml"'$'\x0a'' echo 1>&2 " 3. Add .pre-commit-config.yaml to .gitignore"'$'\x0a'' else'$'\x0a'' if true; then'$'\x0a'' nix-store --add-root "${GIT_WC}/.pre-commit-config.yaml" --indirect --realise /nix/store/vq88dl8yys4hbw4gq6kwypah5ykqr8xs-pre-commit-config.json'$'\x0a'' else'$'\x0a'' ln -fs /nix/store/vq88dl8yys4hbw4gq6kwypah5ykqr8xs-pre-commit-config.json "${GIT_WC}/.pre-commit-config.yaml"'$'\x0a'' fi'$'\x0a'' # Remove any previously installed hooks (since pre-commit itself has no convergent design)'$'\x0a'' hooks="commit-msg post-checkout post-commit post-merge post-rewrite pre-commit pre-merge-commit pre-push pre-rebase prepare-commit-msg"'$'\x0a'' for hook in $hooks; do'$'\x0a'' /nix/store/j5pi70fd5x4qjcvdvk2bac03zl9wwims-pre-commit-4.5.1/bin/pre-commit uninstall -t $hook'$'\x0a'' done'$'\x0a'' /nix/store/dbd3ngiax26c6grkriygc14vdwfqwlvv-git-minimal-2.52.0/bin/git config --local core.hooksPath ""'$'\x0a'' # Add hooks for configured stages (only) ...'$'\x0a'' if [ ! -z "pre-commit commit-msg pre-push" ]; then'$'\x0a'' for stage in pre-commit commit-msg pre-push; do'$'\x0a'' case $stage in'$'\x0a'' manual)'$'\x0a'' ;;'$'\x0a'' # if you amend these switches please also review $hooks above'$'\x0a'' commit | merge-commit | push)'$'\x0a'' stage="pre-"$stage'$'\x0a'' /nix/store/j5pi70fd5x4qjcvdvk2bac03zl9wwims-pre-commit-4.5.1/bin/pre-commit install -c .pre-commit-config.yaml -t $stage'$'\x0a'' ;;'$'\x0a'' commit-msg|post-checkout|post-commit|post-merge|post-rewrite|pre-commit|pre-merge-commit|pre-push|pre-rebase|prepare-commit-msg|manual)'$'\x0a'' /nix/store/j5pi70fd5x4qjcvdvk2bac03zl9wwims-pre-commit-4.5.1/bin/pre-commit install -c .pre-commit-config.yaml -t $stage'$'\x0a'' ;;'$'\x0a'' *)'$'\x0a'' echo 1>&2 "ERROR: git-hooks.nix: either $stage is not a valid stage or git-hooks.nix doesn'\''t yet support it."'$'\x0a'' exit 1'$'\x0a'' ;;'$'\x0a'' esac'$'\x0a'' done'$'\x0a'' # ... or default '\''pre-commit'\'' hook'$'\x0a'' else'$'\x0a'' /nix/store/j5pi70fd5x4qjcvdvk2bac03zl9wwims-pre-commit-4.5.1/bin/pre-commit install -c .pre-commit-config.yaml'$'\x0a'' fi'$'\x0a'''$'\x0a'' # Fetch the absolute path to the git common directory. This will normally point to $GIT_WC/.git.'$'\x0a'' common_dir=$(/nix/store/dbd3ngiax26c6grkriygc14vdwfqwlvv-git-minimal-2.52.0/bin/git rev-parse --path-format=absolute --git-common-dir)'$'\x0a'''$'\x0a'' # Convert the absolute path to a path relative to the toplevel working directory.'$'\x0a'' common_dir=${common_dir#$GIT_WC/}'$'\x0a'''$'\x0a'' /nix/store/dbd3ngiax26c6grkriygc14vdwfqwlvv-git-minimal-2.52.0/bin/git config --local core.hooksPath "$common_dir/hooks"'$'\x0a'' fi'$'\x0a'' fi'$'\x0a''fi'$'\x0a''fi'$'\x0a'''$'\x0a''export PATH=/nix/store/j5pi70fd5x4qjcvdvk2bac03zl9wwims-pre-commit-4.5.1/bin:$PATH'$'\x0a'''$'\x0a'''$'\x0a''if [ -t 1 ]; then'$'\x0a'' command -v tput >/dev/null 2>&1 && tput clear || printf '\''\033c'\'''$'\x0a''fi'$'\x0a'''$'\x0a''GREEN='\''\033[1;32m'\'''$'\x0a''CYAN='\''\033[1;36m'\'''$'\x0a''YELLOW='\''\033[1;33m'\'''$'\x0a''BLUE='\''\033[1;34m'\'''$'\x0a''RED='\''\033[1;31m'\'''$'\x0a''MAGENTA='\''\033[1;35m'\'''$'\x0a''WHITE='\''\033[1;37m'\'''$'\x0a''GRAY='\''\033[0;90m'\'''$'\x0a''BOLD='\''\033[1m'\'''$'\x0a''UNDERLINE='\''\033[4m'\'''$'\x0a''RESET='\''\033[0m'\'''$'\x0a'''$'\x0a''printf "\n$GREEN '$'\xf0'''$'\x9f'''$'\x9a'''$'\x80'' Dev shell ready$RESET\n\n"'$'\x0a''if command -v /nix/store/7x4dmbrjq24hgpzs1g6jxi3gm207ypkd-bun-1.3.10/bin/bun >/dev/null 2>&1; then'$'\x0a'' version="$(/nix/store/7x4dmbrjq24hgpzs1g6jxi3gm207ypkd-bun-1.3.10/bin/bun --version 2>/dev/null | head -n 1 | sed -E '\''s/^[[:space:]]+//; s/[[:space:]]+$//'\'')"'$'\x0a'' printf " $CYAN %-6s$RESET $YELLOW%s$RESET\n" "Bun:" "$version"'$'\x0a''fi'$'\x0a''if command -v /nix/store/hj3rkkp4azj65qvalnbl6ax0sgrfgmgh-go-1.25.7/bin/go >/dev/null 2>&1; then'$'\x0a'' version="$(/nix/store/hj3rkkp4azj65qvalnbl6ax0sgrfgmgh-go-1.25.7/bin/go version 2>/dev/null | head -n 1 | sed -E '\''s/^[[:space:]]+//; s/[[:space:]]+$//'\'')"'$'\x0a'' printf " $CYAN %-6s$RESET $CYAN%s$RESET\n" "Go:" "$version"'$'\x0a''fi'$'\x0a''if command -v /nix/store/cqqzfs4sfs4g35xnw2fxkmh8gx61df58-bazel/bin/bazel >/dev/null 2>&1; then'$'\x0a'' version="$(/nix/store/cqqzfs4sfs4g35xnw2fxkmh8gx61df58-bazel/bin/bazel --version 2>/dev/null | head -n 1 | sed -E '\''s/^[[:space:]]+//; s/[[:space:]]+$//'\'')"'$'\x0a'' printf " $CYAN %-6s$RESET $GREEN%s$RESET\n" "Bazel:" "$version"'$'\x0a''fi'$'\x0a'''$'\x0a''printf "\n"'$'\x0a'''$'\x0a''export USE_BAZEL_VERSION="${USE_BAZEL_VERSION:-9.0.0}"'$'\x0a''export BUN_INSTALL="${BUN_INSTALL:-$HOME/.bun}"'$'\x0a''export PATH="$BUN_INSTALL/bin:$PATH"'$'\x0a'''$'\x0a''' export shellHook stdenv='/nix/store/nssnpv7ghq4f1fdm41q304dmak5aanjv-stdenv-darwin' export stdenv diff --git a/.gitignore b/.gitignore index 00b4e1f..b56ada2 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ build/ dist/ node_modules/ +*/node_modules/ # Directories for the Bazel IntelliJ plugin containing the generated # IntelliJ project files and plugin configuration. Seperate directories are @@ -19,4 +20,6 @@ node_modules/ /.aswb/ /.clwb/ -.env \ No newline at end of file +.env +!tests/.env +!examples/.env diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index dca56f1..6e0f8a3 120000 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1 +1 @@ -/nix/store/wrsbzz8sgxnp8xawaxy8nvc3sdwfl5s6-pre-commit-config.json \ No newline at end of file +/nix/store/vq88dl8yys4hbw4gq6kwypah5ykqr8xs-pre-commit-config.json \ No newline at end of file diff --git a/MODULE.bazel b/MODULE.bazel index 170dffa..2a4a581 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -18,6 +18,14 @@ use_repo( "bun_windows_x64", ) +bun_install_ext = use_extension("//bun:extensions.bzl", "bun_install") +bun_install_ext.install( + name = "script_test_vite_node_modules", + package_json = "//tests/script_test:vite_app/package.json", + bun_lockfile = "//tests/script_test:vite_app/bun.lock", +) +use_repo(bun_install_ext, "script_test_vite_node_modules") + register_toolchains( "//bun:darwin_aarch64_toolchain", "//bun:darwin_x64_toolchain", diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index ffdfddd..0f5f181 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -189,8 +189,8 @@ "moduleExtensions": { "//bun:extensions.bzl%bun": { "general": { - "bzlTransitiveDigest": "oLR98WtKDCc+zh7Tvu9jtakNg8q/T1IPE38QR1FEQtI=", - "usagesDigest": "NfJgMuTjZXXRLr1/kxxFkS1IKV2UyehFyr3fMvAke/k=", + "bzlTransitiveDigest": "83P5DLnVhSu3AwYrHPGqYVY/L6twnM4Jnlhc8uAOOls=", + "usagesDigest": "qk1PDh3WICa0VONYKXJLsmWCesNJxz3Jkb/aH/voIeI=", "recordedInputs": [ "REPO_MAPPING:,bazel_tools bazel_tools" ], @@ -248,6 +248,24 @@ } } }, + "//bun:extensions.bzl%bun_install": { + "general": { + "bzlTransitiveDigest": "83P5DLnVhSu3AwYrHPGqYVY/L6twnM4Jnlhc8uAOOls=", + "usagesDigest": "r8Bik2FdMIUMCNUMdEfwvoy+Yaru70lPjHGWflG1wIc=", + "recordedInputs": [ + "REPO_MAPPING:,bazel_tools bazel_tools" + ], + "generatedRepoSpecs": { + "script_test_vite_node_modules": { + "repoRuleId": "@@//internal:bun_install.bzl%bun_install_repository", + "attributes": { + "package_json": "@@//tests/script_test:vite_app/package.json", + "bun_lockfile": "@@//tests/script_test:vite_app/bun.lock" + } + } + } + } + }, "@@rules_kotlin+//src/main/starlark/core/repositories:bzlmod_setup.bzl%rules_kotlin_extensions": { "general": { "bzlTransitiveDigest": "ABI1D/sbS1ovwaW/kHDoj8nnXjQ0oKU9fzmzEG4iT8o=", diff --git a/WORKSPACE b/WORKSPACE index 2f8ace5..314abae 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -1,5 +1,12 @@ workspace(name = "rules_bun") +load("//internal:bun_install.bzl", "bun_install") load("//bun:repositories.bzl", "bun_register_toolchains") bun_register_toolchains() + +bun_install( + name = "script_test_vite_node_modules", + package_json = "//tests/script_test:vite_app/package.json", + bun_lockfile = "//tests/script_test:vite_app/bun.lock", +) diff --git a/flake.nix b/flake.nix index 4041479..4e2f8c9 100644 --- a/flake.nix +++ b/flake.nix @@ -28,9 +28,17 @@ system: let pkgs = import nixpkgs { inherit system; }; + bazelDefaultArgs = + if pkgs.stdenv.hostPlatform.isDarwin then + [ + "--macos_minimum_os=10.12" + "--host_macos_minimum_os=10.12" + ] + else + [ ]; bazel9 = pkgs.writeShellScriptBin "bazel" '' export USE_BAZEL_VERSION="''${USE_BAZEL_VERSION:-9.0.0}" - exec ${pkgs.bazelisk}/bin/bazelisk "$@" + exec ${pkgs.bazelisk}/bin/bazelisk ${pkgs.lib.escapeShellArgs bazelDefaultArgs} "$@" ''; env = devshell-lib.lib.mkDevShell { inherit system; @@ -46,7 +54,7 @@ ]; features = { - oxfmt = true; + oxfmt = false; }; formatters = { diff --git a/internal/bun_install.bzl b/internal/bun_install.bzl index 4ecc3f5..b8f5826 100644 --- a/internal/bun_install.bzl +++ b/internal/bun_install.bzl @@ -30,9 +30,13 @@ def _bun_install_repository_impl(repository_ctx): fail("bun_install: bun_lockfile not found: {}".format(repository_ctx.attr.bun_lockfile)) bun_bin = _select_bun_binary(repository_ctx) + lockfile_name = bun_lockfile.basename + + if lockfile_name not in ["bun.lock", "bun.lockb"]: + lockfile_name = "bun.lock" repository_ctx.symlink(package_json, "package.json") - repository_ctx.symlink(bun_lockfile, "bun.lockb") + repository_ctx.symlink(bun_lockfile, lockfile_name) result = repository_ctx.execute( [str(bun_bin), "--bun", "install", "--frozen-lockfile", "--no-progress"], @@ -64,11 +68,11 @@ bun_install_repository = repository_rule( attrs = { "package_json": attr.label(mandatory = True, allow_single_file = True), "bun_lockfile": attr.label(mandatory = True, allow_single_file = True), - "bun_linux_x64": attr.label(default = "@bun_linux_x64//:bun", allow_single_file = True), - "bun_linux_aarch64": attr.label(default = "@bun_linux_aarch64//:bun", allow_single_file = True), - "bun_darwin_x64": attr.label(default = "@bun_darwin_x64//:bun", allow_single_file = True), - "bun_darwin_aarch64": attr.label(default = "@bun_darwin_aarch64//:bun", allow_single_file = True), - "bun_windows_x64": attr.label(default = "@bun_windows_x64//:bun", allow_single_file = True), + "bun_linux_x64": attr.label(default = "@bun_linux_x64//:bun-linux-x64/bun", allow_single_file = True), + "bun_linux_aarch64": attr.label(default = "@bun_linux_aarch64//:bun-linux-aarch64/bun", allow_single_file = True), + "bun_darwin_x64": attr.label(default = "@bun_darwin_x64//:bun-darwin-x64/bun", allow_single_file = True), + "bun_darwin_aarch64": attr.label(default = "@bun_darwin_aarch64//:bun-darwin-aarch64/bun", allow_single_file = True), + "bun_windows_x64": attr.label(default = "@bun_windows_x64//:bun-windows-x64/bun.exe", allow_single_file = True), }, ) diff --git a/internal/bun_script.bzl b/internal/bun_script.bzl index c25912f..d9d10a4 100644 --- a/internal/bun_script.bzl +++ b/internal/bun_script.bzl @@ -23,6 +23,15 @@ bun_bin="${{runfiles_dir}}/_main/{bun_short_path}" package_json="${{runfiles_dir}}/_main/{package_json_short_path}" package_dir="$(dirname "${{package_json}}")" +node_modules_bin_dirs=() +while IFS= read -r node_modules_bin; do + node_modules_bin_dirs+=("${{node_modules_bin}}") +done < <(find "${{runfiles_dir}}" -type d -path '*/node_modules/.bin' 2>/dev/null | sort) + +if [[ ${{#node_modules_bin_dirs[@]}} -gt 0 ]]; then + export PATH="$(IFS=:; echo "${{node_modules_bin_dirs[*]}}"):${{PATH}}" +fi + working_dir="{working_dir}" if [[ "${{working_dir}}" == "package" ]]; then cd "${{package_dir}}" diff --git a/tests/bun_test_test/cache_hit_shape.sh b/tests/bun_test_test/cache_hit_shape.sh index 58bc00e..29866a6 100755 --- a/tests/bun_test_test/cache_hit_shape.sh +++ b/tests/bun_test_test/cache_hit_shape.sh @@ -5,4 +5,4 @@ rule_file="$1" grep -Fq 'set -euo pipefail' "${rule_file}" grep -Fq 'src_args = " ".join([_shell_quote(src.short_path) for src in ctx.files.srcs])' "${rule_file}" -grep -Fq 'exec "${{bun_bin}}" test {src_args} "$@"' "${rule_file}" +grep -Fq 'exec "${{bun_bin}}" --bun test {src_args} "$@"' "${rule_file}" diff --git a/tests/bun_test_test/junit_shape.sh b/tests/bun_test_test/junit_shape.sh index e745424..48730c6 100755 --- a/tests/bun_test_test/junit_shape.sh +++ b/tests/bun_test_test/junit_shape.sh @@ -3,5 +3,5 @@ set -euo pipefail rule_file="$1" -grep -Fq 'exec "${{bun_bin}}" test {src_args} --test-name-pattern "${{TESTBRIDGE_TEST_ONLY}}" "$@"' "${rule_file}" +grep -Fq 'exec "${{bun_bin}}" --bun test {src_args} --test-name-pattern "${{TESTBRIDGE_TEST_ONLY}}" "$@"' "${rule_file}" grep -Fq 'if [[ -n "${{TESTBRIDGE_TEST_ONLY:-}}" ]]' "${rule_file}" diff --git a/tests/install_test/determinism.sh b/tests/install_test/determinism.sh index 96f7591..ef8fda2 100755 --- a/tests/install_test/determinism.sh +++ b/tests/install_test/determinism.sh @@ -5,5 +5,7 @@ rule_file="$1" grep -Eq 'install", "--frozen-lockfile", "--no-progress"' "${rule_file}" grep -Eq 'repository_ctx\.symlink\(package_json, "package\.json"\)' "${rule_file}" -grep -Eq 'repository_ctx\.symlink\(bun_lockfile, "bun\.lockb"\)' "${rule_file}" +grep -Eq 'lockfile_name = bun_lockfile\.basename' "${rule_file}" +grep -Eq 'if lockfile_name not in \["bun\.lock", "bun\.lockb"\]:' "${rule_file}" +grep -Eq 'repository_ctx\.symlink\(bun_lockfile, lockfile_name\)' "${rule_file}" grep -Eq 'glob\(\["node_modules/\*\*"\]' "${rule_file}" diff --git a/tests/script_test/BUILD.bazel b/tests/script_test/BUILD.bazel index a52ea98..42e23db 100644 --- a/tests/script_test/BUILD.bazel +++ b/tests/script_test/BUILD.bazel @@ -30,4 +30,22 @@ sh_test( srcs = ["run_env_script.sh"], args = ["$(location :env_script)"], data = [":env_script"], +) + +bun_script( + name = "vite_dev_server", + script = "dev", + package_json = "vite_app/package.json", + node_modules = "@script_test_vite_node_modules//:node_modules", + data = [ + "vite_app/index.html", + "vite_app/main.js", + ], +) + +sh_test( + name = "bun_script_vite_app_test", + srcs = ["run_vite_app.sh"], + args = ["$(location :vite_dev_server)"], + data = [":vite_dev_server"], ) \ No newline at end of file diff --git a/tests/script_test/env.ts b/tests/script_test/env.ts index 8b05335..8ea234d 100644 --- a/tests/script_test/env.ts +++ b/tests/script_test/env.ts @@ -1,2 +1,2 @@ -const value = process.env.BUN_SCRIPT_ENV_TEST ?? "missing"; +const value = import.meta.env.BUN_SCRIPT_ENV_TEST ?? "missing"; console.log(value); diff --git a/tests/script_test/package.json b/tests/script_test/package.json index 01559ed..27a3d9c 100644 --- a/tests/script_test/package.json +++ b/tests/script_test/package.json @@ -5,5 +5,8 @@ "scripts": { "hello": "bun ./hello.ts", "print-env": "bun ./env.ts" + }, + "devDependencies": { + "@types/bun": "^1.3.10" } } diff --git a/tests/script_test/run_vite_app.sh b/tests/script_test/run_vite_app.sh new file mode 100755 index 0000000..2ad2e51 --- /dev/null +++ b/tests/script_test/run_vite_app.sh @@ -0,0 +1,54 @@ +#!/usr/bin/env bash +set -euo pipefail + +binary="$1" +workdir="$(mktemp -d)" +log_file="${workdir}/vite.log" + +cleanup() { + if [[ -n ${server_pid:-} ]] && kill -0 "${server_pid}" 2>/dev/null; then + kill "${server_pid}" 2>/dev/null || true + wait "${server_pid}" 2>/dev/null || true + fi + rm -rf "${workdir}" +} +trap cleanup EXIT + +port="$( + python3 - <<'PY' +import socket +sock = socket.socket() +sock.bind(("127.0.0.1", 0)) +print(sock.getsockname()[1]) +sock.close() +PY +)" + +"${binary}" --host 127.0.0.1 --port "${port}" --strictPort >"${log_file}" 2>&1 & +server_pid=$! + +for _ in {1..60}; do + if ! kill -0 "${server_pid}" 2>/dev/null; then + cat "${log_file}" >&2 + echo "Vite server exited unexpectedly" >&2 + exit 1 + fi + + if curl --fail --silent "http://127.0.0.1:${port}/" | grep -Fq "Vite via bun_script"; then + break + fi + + sleep 0.5 +done + +if ! curl --fail --silent "http://127.0.0.1:${port}/" | grep -Fq "Vite via bun_script"; then + cat "${log_file}" >&2 + echo "Timed out waiting for Vite index page" >&2 + exit 1 +fi + +if ! curl --fail --silent "http://127.0.0.1:${port}/main.js" | grep -Fq "Hello from Vite"; then + cat "${log_file}" >&2 + echo "Expected Vite module output was not served" >&2 + exit 1 +fi diff --git a/tests/script_test/vite_app/bun.lock b/tests/script_test/vite_app/bun.lock new file mode 100644 index 0000000..dd377e6 --- /dev/null +++ b/tests/script_test/vite_app/bun.lock @@ -0,0 +1,127 @@ +{ + "lockfileVersion": 1, + "configVersion": 1, + "workspaces": { + "": { + "name": "vite-app-test", + "devDependencies": { + "vite": "5.4.14", + }, + }, + }, + "packages": { + "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.21.5", "", { "os": "aix", "cpu": "ppc64" }, "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ=="], + + "@esbuild/android-arm": ["@esbuild/android-arm@0.21.5", "", { "os": "android", "cpu": "arm" }, "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg=="], + + "@esbuild/android-arm64": ["@esbuild/android-arm64@0.21.5", "", { "os": "android", "cpu": "arm64" }, "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A=="], + + "@esbuild/android-x64": ["@esbuild/android-x64@0.21.5", "", { "os": "android", "cpu": "x64" }, "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA=="], + + "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.21.5", "", { "os": "darwin", "cpu": "arm64" }, "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ=="], + + "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.21.5", "", { "os": "darwin", "cpu": "x64" }, "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw=="], + + "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.21.5", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g=="], + + "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.21.5", "", { "os": "freebsd", "cpu": "x64" }, "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ=="], + + "@esbuild/linux-arm": ["@esbuild/linux-arm@0.21.5", "", { "os": "linux", "cpu": "arm" }, "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA=="], + + "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.21.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q=="], + + "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.21.5", "", { "os": "linux", "cpu": "ia32" }, "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg=="], + + "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.21.5", "", { "os": "linux", "cpu": "none" }, "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg=="], + + "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.21.5", "", { "os": "linux", "cpu": "none" }, "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg=="], + + "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.21.5", "", { "os": "linux", "cpu": "ppc64" }, "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w=="], + + "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.21.5", "", { "os": "linux", "cpu": "none" }, "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA=="], + + "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.21.5", "", { "os": "linux", "cpu": "s390x" }, "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A=="], + + "@esbuild/linux-x64": ["@esbuild/linux-x64@0.21.5", "", { "os": "linux", "cpu": "x64" }, "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ=="], + + "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.21.5", "", { "os": "none", "cpu": "x64" }, "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg=="], + + "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.21.5", "", { "os": "openbsd", "cpu": "x64" }, "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow=="], + + "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.21.5", "", { "os": "sunos", "cpu": "x64" }, "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg=="], + + "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.21.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A=="], + + "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.21.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA=="], + + "@esbuild/win32-x64": ["@esbuild/win32-x64@0.21.5", "", { "os": "win32", "cpu": "x64" }, "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw=="], + + "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.59.0", "", { "os": "android", "cpu": "arm" }, "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg=="], + + "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.59.0", "", { "os": "android", "cpu": "arm64" }, "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q=="], + + "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.59.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg=="], + + "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.59.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w=="], + + "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.59.0", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA=="], + + "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.59.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg=="], + + "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.59.0", "", { "os": "linux", "cpu": "arm" }, "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw=="], + + "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.59.0", "", { "os": "linux", "cpu": "arm" }, "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA=="], + + "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.59.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA=="], + + "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.59.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA=="], + + "@rollup/rollup-linux-loong64-gnu": ["@rollup/rollup-linux-loong64-gnu@4.59.0", "", { "os": "linux", "cpu": "none" }, "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg=="], + + "@rollup/rollup-linux-loong64-musl": ["@rollup/rollup-linux-loong64-musl@4.59.0", "", { "os": "linux", "cpu": "none" }, "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q=="], + + "@rollup/rollup-linux-ppc64-gnu": ["@rollup/rollup-linux-ppc64-gnu@4.59.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA=="], + + "@rollup/rollup-linux-ppc64-musl": ["@rollup/rollup-linux-ppc64-musl@4.59.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA=="], + + "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.59.0", "", { "os": "linux", "cpu": "none" }, "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg=="], + + "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.59.0", "", { "os": "linux", "cpu": "none" }, "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg=="], + + "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.59.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w=="], + + "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.59.0", "", { "os": "linux", "cpu": "x64" }, "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg=="], + + "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.59.0", "", { "os": "linux", "cpu": "x64" }, "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg=="], + + "@rollup/rollup-openbsd-x64": ["@rollup/rollup-openbsd-x64@4.59.0", "", { "os": "openbsd", "cpu": "x64" }, "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ=="], + + "@rollup/rollup-openharmony-arm64": ["@rollup/rollup-openharmony-arm64@4.59.0", "", { "os": "none", "cpu": "arm64" }, "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA=="], + + "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.59.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A=="], + + "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.59.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA=="], + + "@rollup/rollup-win32-x64-gnu": ["@rollup/rollup-win32-x64-gnu@4.59.0", "", { "os": "win32", "cpu": "x64" }, "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA=="], + + "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.59.0", "", { "os": "win32", "cpu": "x64" }, "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA=="], + + "@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "esbuild": ["esbuild@0.21.5", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.21.5", "@esbuild/android-arm": "0.21.5", "@esbuild/android-arm64": "0.21.5", "@esbuild/android-x64": "0.21.5", "@esbuild/darwin-arm64": "0.21.5", "@esbuild/darwin-x64": "0.21.5", "@esbuild/freebsd-arm64": "0.21.5", "@esbuild/freebsd-x64": "0.21.5", "@esbuild/linux-arm": "0.21.5", "@esbuild/linux-arm64": "0.21.5", "@esbuild/linux-ia32": "0.21.5", "@esbuild/linux-loong64": "0.21.5", "@esbuild/linux-mips64el": "0.21.5", "@esbuild/linux-ppc64": "0.21.5", "@esbuild/linux-riscv64": "0.21.5", "@esbuild/linux-s390x": "0.21.5", "@esbuild/linux-x64": "0.21.5", "@esbuild/netbsd-x64": "0.21.5", "@esbuild/openbsd-x64": "0.21.5", "@esbuild/sunos-x64": "0.21.5", "@esbuild/win32-arm64": "0.21.5", "@esbuild/win32-ia32": "0.21.5", "@esbuild/win32-x64": "0.21.5" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw=="], + + "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], + + "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], + + "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], + + "postcss": ["postcss@8.5.8", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg=="], + + "rollup": ["rollup@4.59.0", "", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.59.0", "@rollup/rollup-android-arm64": "4.59.0", "@rollup/rollup-darwin-arm64": "4.59.0", "@rollup/rollup-darwin-x64": "4.59.0", "@rollup/rollup-freebsd-arm64": "4.59.0", "@rollup/rollup-freebsd-x64": "4.59.0", "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", "@rollup/rollup-linux-arm-musleabihf": "4.59.0", "@rollup/rollup-linux-arm64-gnu": "4.59.0", "@rollup/rollup-linux-arm64-musl": "4.59.0", "@rollup/rollup-linux-loong64-gnu": "4.59.0", "@rollup/rollup-linux-loong64-musl": "4.59.0", "@rollup/rollup-linux-ppc64-gnu": "4.59.0", "@rollup/rollup-linux-ppc64-musl": "4.59.0", "@rollup/rollup-linux-riscv64-gnu": "4.59.0", "@rollup/rollup-linux-riscv64-musl": "4.59.0", "@rollup/rollup-linux-s390x-gnu": "4.59.0", "@rollup/rollup-linux-x64-gnu": "4.59.0", "@rollup/rollup-linux-x64-musl": "4.59.0", "@rollup/rollup-openbsd-x64": "4.59.0", "@rollup/rollup-openharmony-arm64": "4.59.0", "@rollup/rollup-win32-arm64-msvc": "4.59.0", "@rollup/rollup-win32-ia32-msvc": "4.59.0", "@rollup/rollup-win32-x64-gnu": "4.59.0", "@rollup/rollup-win32-x64-msvc": "4.59.0", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg=="], + + "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], + + "vite": ["vite@5.4.14", "", { "dependencies": { "esbuild": "^0.21.3", "postcss": "^8.4.43", "rollup": "^4.20.0" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || >=20.0.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.4.0" }, "optionalPeers": ["@types/node", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser"], "bin": { "vite": "bin/vite.js" } }, "sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA=="], + } +} diff --git a/tests/script_test/vite_app/index.html b/tests/script_test/vite_app/index.html new file mode 100644 index 0000000..03b1e4c --- /dev/null +++ b/tests/script_test/vite_app/index.html @@ -0,0 +1,12 @@ + + + + + + Vite via bun_script + + +
+ + + diff --git a/tests/script_test/vite_app/main.js b/tests/script_test/vite_app/main.js new file mode 100644 index 0000000..6e115ac --- /dev/null +++ b/tests/script_test/vite_app/main.js @@ -0,0 +1,7 @@ +const app = document.querySelector("#app"); + +if (app) { + app.textContent = "Hello from Vite"; +} + +console.log("Hello from Vite"); diff --git a/tests/script_test/vite_app/package.json b/tests/script_test/vite_app/package.json new file mode 100644 index 0000000..fb33c98 --- /dev/null +++ b/tests/script_test/vite_app/package.json @@ -0,0 +1,11 @@ +{ + "name": "vite-app-test", + "private": true, + "type": "module", + "scripts": { + "dev": "vite" + }, + "devDependencies": { + "vite": "5.4.14" + } +}