# This repo is browser-only static files, generated by Node and served from
# Cloudflare (Linux). Line endings are LF everywhere - never CRLF. Pinning this
# stops Windows checkouts from introducing CRLF and prevents the mixed-ending
# files that used to trip core.safecrlf and abort commits.
* text=auto eol=lf

# Wrangler parses .assetsignore one line at a time; a CRLF would leave a stray
# \r on every pattern (so ".git/" never matches) and silently break the asset
# exclusions, letting the 32 MiB .git pack get uploaded and fail the deploy.
# Force LF so a Windows checkout can't reintroduce the carriage returns.
.assetsignore text eol=lf

# The one exception: Windows batch files are checked out CRLF. cmd's goto and
# call :label scan the file by byte offset, and on an LF file that scan can land
# mid-line - save.bat's `goto save` did, and ran "save.bat again." out of an echo.
# The repo still stores them LF; only the working copy differs.
*.bat text eol=crlf
*.cmd text eol=crlf

# Known-binary assets: never apply text/eol conversion. Belt-and-braces on top
# of text=auto's own binary detection so nothing here is ever mangled.
*.woff2 binary
*.woff  binary
*.ttf   binary
*.otf   binary
*.eot   binary
*.wasm  binary
*.png   binary
*.jpg   binary
*.jpeg  binary
*.gif   binary
*.webp  binary
*.avif  binary
*.ico   binary
*.bmp   binary
*.pdf   binary
*.mp3   binary
*.mp4   binary
*.wav   binary
*.flac  binary
*.ogg   binary
*.webm  binary
*.zip   binary
*.gz    binary

# TypeScript sources (src/) - LF like everything else.
*.ts text eol=lf
*.d.ts text eol=lf
