Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .claude/rules/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,3 +60,6 @@ Common problems and solutions when working with ExFig.
| DocC icon invisible dark mode | `currentColor` in SVG doesn't work in `<img>` — use `~dark.svg` with `#ffffff` stroke |
| hk newlines hook fails on commit | `codegen:pkl` strips trailing newline from `Generated/*.pkl.swift`. Fix: `hk util end-of-file-fixer --fix <file>`; verify with `hk check --all` (exit 0). Hooks run via `bin/mise x -- hk run pre-commit` |
| `Document`/`Paint` has no `visible` | swift-figma-api `Document`/`Paint` expose only `opacity` (not `visible`); only `Effect` has `visible`. Detect hidden layers via `opacity == 0` |
| SwiftLint ignores `excluded:` | SwiftLint >= 0.64.0 drops `excluded:` when given explicit file paths, so hk's batched `swiftlint lint --strict {{files}}` flags `Generated/*.pkl.swift`. Pinned to 0.63.3 -- re-test before bumping |
| hk `undefined variable: extra_files` | hk >= 1.47 evaluates `hk.pkl` with the built-in pklr, which rejects the old package schema. Bump the `hk@X.Y.Z` package URI in `hk.pkl` in the same commit as the binary |
| pkl `Module version conflict` | pkl 0.32+ treats `package://` and `projectpackage://` as distinct modules. `Schemas/generator-settings.pkl` must amend `@pkl.swift/GeneratorSettings.pkl` (project dep), not the raw `package://` URI |
20 changes: 10 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
name: Lint
runs-on: macos-15
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
with:
lfs: true

Expand All @@ -46,7 +46,7 @@ jobs:
DEVELOPER_DIR: "/Applications/Xcode_26.2.app/Contents/Developer"

steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
with:
lfs: true

Expand All @@ -58,7 +58,7 @@ jobs:
echo "TOOLCHAINS=$TOOLCHAINS" >> "$GITHUB_ENV"

- name: Cache SPM dependencies
uses: actions/cache@v5
uses: actions/cache@v6
with:
path: .build
key: ${{ runner.os }}-swift-6.3-spm-${{ hashFiles('Package.swift', 'Package.resolved') }}
Expand Down Expand Up @@ -96,12 +96,12 @@ jobs:
apt-get install -y git-lfs curl
git lfs install

- uses: actions/checkout@v6
- uses: actions/checkout@v7
with:
lfs: true

- name: Cache SPM dependencies
uses: actions/cache@v5
uses: actions/cache@v6
with:
path: .build
key: ${{ runner.os }}-swift-6.3-spm-${{ hashFiles('Package.swift', 'Package.resolved') }}
Expand Down Expand Up @@ -137,16 +137,16 @@ jobs:
runs-on: windows-latest
needs: lint
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7

- name: Install Swift
uses: compnerd/gha-setup-swift@v0.3.0
uses: compnerd/gha-setup-swift@v0.4.0
with:
branch: swift-6.3-release
tag: 6.3-RELEASE
swift-version: swift-6.3-release
swift-build: 6.3-RELEASE

- name: Cache SPM dependencies
uses: actions/cache@v5
uses: actions/cache@v6
with:
path: .build
key: ${{ runner.os }}-swift-6.3-spm-${{ hashFiles('Package.swift', 'Package.resolved') }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/deploy-docc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
env:
DEVELOPER_DIR: "/Applications/Xcode_26.2.app/Contents/Developer"
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7

- name: Install Swift 6.3 toolchain
run: |
Expand All @@ -45,7 +45,7 @@ jobs:
--output-path docs
echo '<script>window.location.href += "/documentation/exfigcli"</script>' > docs/index.html

- uses: actions/upload-pages-artifact@v4
- uses: actions/upload-pages-artifact@v5
with:
path: docs

Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,16 +45,16 @@ jobs:
apt-get install -y git-lfs
git lfs install

- uses: actions/checkout@v6
- uses: actions/checkout@v7
with:
lfs: true

- name: Install Swift (Windows)
if: matrix.platform == 'windows-x64'
uses: compnerd/gha-setup-swift@v0.3.0
uses: compnerd/gha-setup-swift@v0.4.0
with:
branch: swift-6.3-release
tag: 6.3-RELEASE
swift-version: swift-6.3-release
swift-build: 6.3-RELEASE

- name: Install Swift 6.3 toolchain (macOS)
if: matrix.platform == 'macos'
Expand Down Expand Up @@ -167,7 +167,7 @@ jobs:
if: ${{ !contains(github.ref, '-') }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
with:
ref: main
fetch-depth: 0
Expand Down Expand Up @@ -201,7 +201,7 @@ jobs:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
with:
fetch-depth: 0

Expand Down Expand Up @@ -254,7 +254,7 @@ jobs:
done

- name: Create GitHub Release
uses: softprops/action-gh-release@v2
uses: softprops/action-gh-release@v3
with:
body: ${{ steps.changelog.outputs.content }}
prerelease: ${{ contains(github.ref, '-') }}
Expand Down Expand Up @@ -291,7 +291,7 @@ jobs:
echo "linux=${LINUX_SHA}" >> "$GITHUB_OUTPUT"

- name: Checkout Homebrew tap
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
repository: DesignPipe/homebrew-tap
token: ${{ secrets.HOMEBREW_TAP_TOKEN }}
Expand Down
3 changes: 3 additions & 0 deletions .swiftformat
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,6 @@
--wraparguments before-first
--wrapcollections before-first
--exclude .build,Packages,Sources/ExFigConfig/Generated
# 0.62.0 split the opt-in wrapConditionalBodies rule into wrapIf*/wrapGuard* rules and
# turned the two wrapIf* halves on by default; keep single-line if bodies as they are.
--disable wrapIfStatementBodies,wrapIfExpressionBodies
2 changes: 1 addition & 1 deletion Sources/ExFigCLI/Resources/Schemas/generator-settings.pkl
Original file line number Diff line number Diff line change
@@ -1 +1 @@
amends "package://pkg.pkl-lang.org/pkl-swift/pkl.swift@0.8.0#/GeneratorSettings.pkl"
amends "@pkl.swift/GeneratorSettings.pkl"
4 changes: 2 additions & 2 deletions hk.pkl
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
amends "package://github.com/jdx/hk/releases/download/v1.28.0/hk@1.28.0#/Config.pkl"
import "package://github.com/jdx/hk/releases/download/v1.28.0/hk@1.28.0#/Builtins.pkl"
amends "package://github.com/jdx/hk/releases/download/v1.53.0/hk@1.53.0#/Config.pkl"
import "package://github.com/jdx/hk/releases/download/v1.53.0/hk@1.53.0#/Builtins.pkl"

// =============================================================================
// hk Configuration for ExFig
Expand Down
Loading
Loading