Files
i098andRobin Malfait d580998627 Bump Bun to 1.4 so macOS standalone binaries get a valid code signature (#20578)
## Summary

Fixes #20544.

`bun build --compile` in Bun 1.3.14 writes the ad-hoc Mach-O signature
with the hash of the last 4 KiB page taken over a zero-padded page, not
the real bytes. `codesign --verify` reports an invalid signature, and
macOS 27 checks that page at launch and kills `tailwindcss-macos-arm64`.
Bun 1.4.1 and later sign the real bytes.

This bumps `bun` and `@types/bun` in `@tailwindcss/standalone` from
`^1.3.14` to `^1.4.1`. The lockfile now resolves Bun 1.4.3. The fix
reaches users with the next release, because the binaries are built at
release time.

## Test plan

I built the standalone binaries before and after the bump on Linux (`cd
packages/@tailwindcss-standalone && pnpm build`) and hashed every
4096-byte page of `dist/tailwindcss-macos-arm64` against its
`LC_CODE_SIGNATURE` CodeDirectory:

| | Bun | bad pages | last page hash matches the zero-padded page |
|---|---|---|---|
| `main` | 1.3.14 | `[(17905, 2736)]` | yes |
| this PR | 1.4.3 | none | no |

I could not run the binary on macOS 27, so the launch kill itself is not
tested here.

Also checked with the bump: `pnpm install --frozen-lockfile` passes, the
build finishes for all 7 targets, and the `tailwindcss-linux-x64` binary
builds `@import "tailwindcss"` and generates `.flex`, `.p-4` and
`hover:underline` for a small HTML file.

`dist/tailwindcss-macos-arm64` grows from 73.9 MB to 81.3 MB.

I did not run `integrations/cli/standalone.test.ts`, because it needs
`pnpm pack` tarballs of every package, including the WASM build.

I am new to open source, and this pull request was made with AI
assistance.

---------

Co-authored-by: Robin Malfait <robin.malfait@shopify.com>
2026-10-15 23:18:06 +02:00

56 lines
1.8 KiB
JSON

{
"name": "@tailwindcss/standalone",
"version": "4.3.3",
"private": true,
"description": "Standalone CLI for Tailwind CSS",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/tailwindlabs/tailwindcss.git",
"directory": "packages/@tailwindcss-standalone"
},
"bugs": "https://github.com/tailwindlabs/tailwindcss/issues",
"homepage": "https://tailwindcss.com",
"scripts": {
"lint": "tsc --noEmit",
"build": "bun ./scripts/build.ts"
},
"bin": {
"tailwindcss": "./dist/index.mjs"
},
"exports": {
"./package.json": "./package.json"
},
"files": [
"dist"
],
"dependencies": {
"@tailwindcss/aspect-ratio": "^0.4.2",
"@tailwindcss/cli": "workspace:*",
"@tailwindcss/forms": "^0.5.11",
"@tailwindcss/typography": "^0.5.20",
"detect-libc": "1.0.3",
"enhanced-resolve": "catalog:",
"tailwindcss": "workspace:*"
},
"__notes": "These binary packages must be included so Bun can build the CLI for all supported platforms. We also rely on Lightning CSS and Parcel being patched so Bun can statically analyze the executables.",
"devDependencies": {
"@parcel/watcher-darwin-arm64": "catalog:",
"@parcel/watcher-darwin-x64": "catalog:",
"@parcel/watcher-linux-arm64-glibc": "catalog:",
"@parcel/watcher-linux-arm64-musl": "catalog:",
"@parcel/watcher-linux-x64-glibc": "catalog:",
"@parcel/watcher-linux-x64-musl": "catalog:",
"@parcel/watcher-win32-x64": "catalog:",
"@types/bun": "^1.4.1",
"bun": "^1.4.1",
"lightningcss-darwin-arm64": "catalog:",
"lightningcss-darwin-x64": "catalog:",
"lightningcss-linux-arm64-gnu": "catalog:",
"lightningcss-linux-arm64-musl": "catalog:",
"lightningcss-linux-x64-gnu": "catalog:",
"lightningcss-linux-x64-musl": "catalog:",
"lightningcss-win32-x64-msvc": "catalog:"
}
}