vb6parse 1.0.1

vb6parse is a library for parsing and analyzing VB6 code, from projects, to controls, to modules, and forms.
Documentation
name: Build WASM for Playground

on:
  # Run on pushes to master that change source code or build configuration
  push:
    branches: [ master ]
    paths-ignore:
      - '**.md'
      - 'docs/**'
      - 'tests/**'
      - 'scripts/build-wasm.py'
      - 'benches/**'
      - 'examples/**'
  
  # Allow manual trigger
  workflow_dispatch:

jobs:
  wasm:
    runs-on: ubuntu-latest
    
    steps:
    - name: Checkout repository
      uses: actions/checkout@v4
    
    - name: Install Rust toolchain
      uses: actions-rust-lang/setup-rust-toolchain@v1
      with:
        toolchain: stable
        target: wasm32-unknown-unknown
    
    - name: Install wasm-pack
      run: cargo install wasm-pack
    
    - name: Install wasm-opt
      run: cargo install wasm-opt
    
    - name: Install Python
      uses: actions/setup-python@v4
      with:
        python-version: '3.x'
    
    - name: Build WASM module
      run: |
        chmod +x ./scripts/build-wasm.py
        python3 ./scripts/build-wasm.py --optimize --no-typescript
    
    - name: Commit and push if changed
      run: |
        git pull
        git config --global user.name 'github-actions[bot]'
        git config --global user.email 'github-actions[bot]@users.noreply.github.com'

        git add -f docs/assets/wasm/
        if git diff --staged --quiet; then
          echo "No changes to commit"
        else
          git commit -m "Update WASM files for playground [skip ci]"
          git push
        fi