Compare commits

...

7 commits

Author SHA1 Message Date
0006f2854e docs: Fix badge type parameter in README
Some checks failed
CI / Test on Linux (push) Has been cancelled
CI / Test on Linux-1 (push) Has been cancelled
CI / Test on macOS (push) Has been cancelled
CI / Test on macOS-1 (push) Has been cancelled
The second badge was incorrectly using `type=swift-versions`
instead of `type=platforms`.
2026-02-08 20:43:44 +08:00
ddf4b9df81 docs: Update README with badges and version info
Update the package dependency version from 1.0.0+tw.4.1.12 to
1.1.1+tw.4.1.18 and add Swift Package Index badges. Clarify that the
artifact bundle is now built using a custom Swift CLI tool with GitHub
Actions automation instead of a shell script.
2026-02-08 20:40:58 +08:00
df3d60940b chore: Update TailwindCSSCLI binary URL and checksum
Some checks failed
CI / Test on Linux (push) Has been cancelled
CI / Test on Linux-1 (push) Has been cancelled
CI / Test on macOS (push) Has been cancelled
CI / Test on macOS-1 (push) Has been cancelled
2026-01-21 13:56:26 +08:00
6211adec8e fix: Add macOS arm64 'arm64-apple-macosx' triple
Support new Apple Silicon triple used by the Swift 6.3 toolchain.
2026-01-21 13:51:36 +08:00
c9cbf7f133 chore: Update TailwindCSSCLI to v4.1.18 2026-01-21 09:07:10 +08:00
8032cfa0b2 fix: Zip bundle directory instead of parent dir
Some checks are pending
CI / Test on Linux (push) Waiting to run
CI / Test on Linux-1 (push) Waiting to run
CI / Test on macOS (push) Waiting to run
CI / Test on macOS-1 (push) Waiting to run
2026-01-20 23:51:23 +08:00
f9024a8cd7 fix: Add checksum to release tag and fix zip invocation
Fix zip creation so the bundle is archived with the bundle root rather
than its full path. Use a standardized zip path, set
Process.currentDirectoryURL
to the bundle's parent, and pass the bundle basename to /usr/bin/zip.
2026-01-20 23:15:34 +08:00
5 changed files with 17 additions and 14 deletions

View file

@ -70,7 +70,7 @@ jobs:
- name: Create release
uses: softprops/action-gh-release@6da8fa9354ddfdc4aeace5fc48d7f679b5214090 # v2.4.1
with:
tag_name: TailwindCSSCLI-${{ inputs.tailwind_version }}
tag_name: TailwindCSSCLI-${{ inputs.tailwind_version }}-${{ steps.checksum.outputs.checksum }}
name: TailwindCSS CLI ${{ inputs.tailwind_version }}
body: |
## TailwindCSS CLI Artifact Bundles
@ -82,20 +82,14 @@ jobs:
- macOS x64 (`x86_64-apple-darwin`)
- macOS ARM64 (`aarch64-apple-darwin`)
### Usage
Add the artifact bundle to your `Package.swift`:
### Binary Target Definition
```swift
.binaryTarget(
name: "TailwindCSSCLI",
url: "https://github.com/${{ github.repository }}/releases/download/TailwindCSSCLI@${{ inputs.tailwind_version }}/tailwindcss.artifactbundleindex",
url: "https://github.com/${{ github.repository }}/releases/download/TailwindCSSCLI-${{ inputs.tailwind_version }}-${{ steps.checksum.outputs.checksum }}/tailwindcss.artifactbundleindex",
checksum: "${{ steps.checksum.outputs.checksum }}"
)
```
### Checksum
```
${{ steps.checksum.outputs.checksum }}
```
draft: false
prerelease: false
make_latest: false

View file

@ -25,8 +25,8 @@ let package = Package(
.binaryTarget(
name: "TailwindCSSCLI",
url:
"https://github.com/laosb/SwiftTailwind/releases/download/1.1.0-test.4+tw.4.1.14/tailwindcss.artifactbundleindex",
checksum: "ec4df49e361db5fc3159c431e5661af2e1b22d8575c64ce0482a8e84cfd93d04"
"https://github.com/laosb/SwiftTailwind/releases/download/TailwindCSSCLI-v4.1.18-1e1d57de8a8984c528a106f038fb432b3965b1873c8603ee6bd661f935a77f4a/tailwindcss.artifactbundleindex",
checksum: "1e1d57de8a8984c528a106f038fb432b3965b1873c8603ee6bd661f935a77f4a"
),
.target(
name: "SwiftTailwindExample",

View file

@ -1,5 +1,8 @@
# SwiftTailwind
[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Flaosb%2FSwiftTailwind%2Fbadge%3Ftype%3Dswift-versions)](https://swiftpackageindex.com/laosb/SwiftTailwind)
[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Flaosb%2FSwiftTailwind%2Fbadge%3Ftype%3Dplatforms)](https://swiftpackageindex.com/laosb/SwiftTailwind)
Use Tailwind CSS in your Swift projects, seemlessly integrated as a Build Tool Plugin.
## Usage
@ -8,7 +11,7 @@ Add this package to your Swift project as a dependency using the Swift Package M
```swift
dependencies: [
.package(url: "https://github.com/laosb/SwiftTailwind.git", from: "1.0.0+tw.4.1.12"),
.package(url: "https://github.com/laosb/SwiftTailwind.git", from: "1.1.1+tw.4.1.18"),
],
```
@ -49,7 +52,7 @@ let cssFileURL = Bundle.module
A binary artifact bundle will be downloaded from this repo's GitHub Releases. It contains the standalone version of Tailwind CSS CLI, which is used to process your Tailwind CSS files. This allows you to use Tailwind CSS without needing to install Node.js or npm in your Swift project.
It is built using [`Scripts/buildArtifactBundle.sh`](Scripts/buildArtifactBundle.sh), which pulls the specified version of Tailwind CSS CLI from their GitHub Releases and packages it into a Swift Package compatible format. It is then manually uploaded to this repository's GitHub Releases.
It is built using a custom Swift CLI at [`Sources/TailwindCSSCLIArtifactBundler`](Sources/TailwindCSSCLIArtifactBundler), which pulls the specified version of Tailwind CSS CLI from their GitHub Releases and packages it into a Swift Package compatible format. When a new Tailwind CSS version is release upstream, a GitHub Actions [workflow](.github/workflows/release-tailwindcss-cli.yml) is usually triggered manually with the new version number to create a new Tailwind CSS CLI release in this repo. After that, the [`Package.swift`](Package.swift) file should be updated to point to the new CLI version, and a new SwiftTailwind release should be created.
Any contributions to automate the artifact generation are welcome!

View file

@ -21,9 +21,13 @@ extension ArtifactBundleBuilder {
try fileManager.removeItem(atPath: zipPath)
}
let bundleDirURL = URL(fileURLWithPath: bundleDir)
let process = Process()
process.executableURL = URL(fileURLWithPath: "/usr/bin/zip")
process.arguments = ["-r", zipPath, bundleDir]
let zipPathURL = URL(fileURLWithPath: zipPath).standardizedFileURL
process.arguments = ["-r", zipPathURL.path, "."]
process.currentDirectoryURL = bundleDirURL
try process.run()
process.waitUntilExit()

View file

@ -10,6 +10,8 @@ class ArtifactBundleBuilder {
BinaryConfiguration(binaryName: "tailwindcss-linux-x64", triple: "x86_64-unknown-linux-gnu"),
BinaryConfiguration(binaryName: "tailwindcss-macos-x64", triple: "x86_64-apple-darwin"),
BinaryConfiguration(binaryName: "tailwindcss-macos-arm64", triple: "aarch64-apple-darwin"),
// Since Swift 6.3 toolchain, the Apple Silicon triple changed from aarch64 to arm64.
BinaryConfiguration(binaryName: "tailwindcss-macos-arm64", triple: "arm64-apple-macosx"),
]
init(version: String, workDir: String, outputDir: String) {