# The vendored upstream source is compared byte-for-byte against the installed # package by `src/lib/tw-merge.test.ts` — that comparison is what proves the # folder has not silently forked from the library it replaces. # # Without this line git rewrites the endings on checkout (CRLF on Windows) while # the copy in node_modules, unpacked from a tarball, keeps LF. The two then # differ in every file, which reads as a forked vendor copy and is nothing of # the sort. The test normalises endings as well, so this is belt and braces: # this keeps the working tree honest, that keeps an already-cloned tree passing. src/lib/tw-merge/** text eol=lf # The git hooks are shell scripts run by `sh`, including on Windows through the # Git Bash that ships with git itself. A CRLF checkout makes every one of them # fail on the first line with an unreadable error, so they are pinned to LF # regardless of the platform or of anyone's core.autocrlf setting. .husky/** text eol=lf # Generated, and re-read as text by the showcase's token table and by the # contrast suite. Keeping them LF means a regenerated file diffs against its # predecessor on content alone. src/styles/tokens.css text eol=lf src/icons/generated/** text eol=lf # Written by the same script, in the same run, as the two lines above — and # read back by `gen-tokens-json.mjs --check`, which compares byte for byte. # Without this, git hands a Windows clone a CRLF copy, the generator emits LF, # and `pnpm verify` fails on a tree nobody has touched. docs/TOKENS.md text eol=lf # The same rule, and the same failure: `gen-consumer-skills.mjs --check` # compares each generated table against the file byte for byte, so a CRLF # checkout reports all five as stale at once — which reads as a source change # that landed without paperwork and is nothing of the sort. consumer-skills/ui-kit-usage/references/** text eol=lf