Skip to content

Commit 5f936d8

Browse files
g-cqdclaude
andcommitted
refactor: deduplicate code, remove unused code, improve CI/CD
Code deduplication: - Create CSVValueParser for shared parsing logic (decoder) - Create CSVValueFormatter for shared encoding logic (encoder) - Create StreamingRowProcessor for streaming decode pattern - Extract adjustedBuffer helper to CSVUtilities - Use encodeValue/processAsyncRow to eliminate duplication Dead code removal: - Remove unused FieldBufferPool class and tests - Mark unused protocol parameters with underscore prefix CI/CD improvements: - Merge release.yml into ci.yml with 4-stage pipeline - Add code quality checks (format, duplicates, unused) - Add CodeQL security analysis - Add test coverage reporting - Add SPM dependency caching - Use .spk.json for version management - Add benchmark results to release notes 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 996b926 commit 5f936d8

52 files changed

Lines changed: 2543 additions & 2436 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.githooks/pre-commit

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/bin/sh
2+
# SwiftProjectKit pre-commit hook
3+
4+
# Use global spk if available, otherwise download latest release
5+
if command -v spk >/dev/null 2>&1; then
6+
exec spk hooks run pre-commit
7+
else
8+
SPK=".build/spk"
9+
if [ ! -x "$SPK" ]; then
10+
echo "Downloading latest spk..."
11+
mkdir -p .build
12+
ARCH=$(uname -m)
13+
case "$ARCH" in
14+
arm64) SUFFIX="macos-arm64" ;;
15+
x86_64) SUFFIX="macos-x86_64" ;;
16+
*) SUFFIX="macos-universal" ;;
17+
esac
18+
LATEST_URL=$(curl -sI "https://github.com/g-cqd/SwiftProjectKit/releases/latest" | grep -i "^location:" | sed 's/.*tag\///' | tr -d '\r\n')
19+
curl -sL "https://github.com/g-cqd/SwiftProjectKit/releases/download/${LATEST_URL}/spk-${LATEST_URL#v}-${SUFFIX}.tar.gz" | tar -xzf - -C .build
20+
chmod +x "$SPK"
21+
fi
22+
exec "$SPK" hooks run pre-commit
23+
fi

.githooks/pre-push

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/bin/sh
2+
# SwiftProjectKit pre-push hook
3+
4+
# Use global spk if available, otherwise download latest release
5+
if command -v spk >/dev/null 2>&1; then
6+
exec spk hooks run pre-push
7+
else
8+
SPK=".build/spk"
9+
if [ ! -x "$SPK" ]; then
10+
echo "Downloading latest spk..."
11+
mkdir -p .build
12+
ARCH=$(uname -m)
13+
case "$ARCH" in
14+
arm64) SUFFIX="macos-arm64" ;;
15+
x86_64) SUFFIX="macos-x86_64" ;;
16+
*) SUFFIX="macos-universal" ;;
17+
esac
18+
LATEST_URL=$(curl -sI "https://github.com/g-cqd/SwiftProjectKit/releases/latest" | grep -i "^location:" | sed 's/.*tag\///' | tr -d '\r\n')
19+
curl -sL "https://github.com/g-cqd/SwiftProjectKit/releases/download/${LATEST_URL}/spk-${LATEST_URL#v}-${SUFFIX}.tar.gz" | tar -xzf - -C .build
20+
chmod +x "$SPK"
21+
fi
22+
exec "$SPK" hooks run pre-push
23+
fi

0 commit comments

Comments
 (0)