🎨 WebAssembly color manipulation library Features: - ✨ Color parsing (hex, rgb, hsl, named colors) - 🎨 Color manipulation (lighten, darken, saturate, desaturate) - 🌈 Color generation (random, gradients, palettes) - ♿ Accessibility (colorblind simulation, contrast, WCAG) - 📏 Color distance (CIE76, CIEDE2000) - 🎯 Color spaces (RGB, HSL, HSV, Lab, LCH) - 🏷️ 148 CSS/X11 named colors Bundle size: 132KB Performance: ~0.1ms per operation 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
56 lines
1.3 KiB
YAML
56 lines
1.3 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- develop
|
|
pull_request:
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Rust
|
|
uses: actions-rust-lang/setup-rust-toolchain@v1
|
|
with:
|
|
toolchain: stable
|
|
target: wasm32-unknown-unknown
|
|
components: clippy, rustfmt
|
|
|
|
- name: Install wasm-pack
|
|
run: |
|
|
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
|
|
|
|
- name: Check formatting
|
|
run: cargo fmt --all -- --check
|
|
|
|
- name: Run clippy
|
|
run: cargo clippy --all-targets --all-features -- -D warnings
|
|
|
|
- name: Build WASM package
|
|
run: |
|
|
wasm-pack build --target bundler --out-dir pkg
|
|
|
|
- name: Check bundle size
|
|
run: |
|
|
echo "WASM bundle size:"
|
|
du -h pkg/pastel_wasm_bg.wasm
|
|
size=$(du -b pkg/pastel_wasm_bg.wasm | cut -f1)
|
|
echo "Size in bytes: $size"
|
|
# Fail if bundle is larger than 200KB
|
|
if [ $size -gt 204800 ]; then
|
|
echo "Error: WASM bundle is larger than 200KB!"
|
|
exit 1
|
|
fi
|
|
|
|
- name: Upload WASM artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: wasm-package
|
|
path: pkg/
|