{"id":29161759,"url":"https://github.com/aklinker1/github-better-line-counts","last_synced_at":"2025-07-01T04:08:42.649Z","repository":{"id":65961234,"uuid":"603510052","full_name":"aklinker1/github-better-line-counts","owner":"aklinker1","description":"Chrome extension that removes generated files from GitHub line counts","archived":false,"fork":false,"pushed_at":"2025-05-02T13:30:56.000Z","size":1138,"stargazers_count":50,"open_issues_count":1,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-02T14:54:49.672Z","etag":null,"topics":["chrome-extension","github"],"latest_commit_sha":null,"homepage":"https://chrome.google.com/webstore/detail/ocfdgncpifmegplaglcnglhioflaimkd","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aklinker1.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-02-18T18:22:45.000Z","updated_at":"2025-05-02T13:30:59.000Z","dependencies_parsed_at":"2024-01-19T16:04:03.134Z","dependency_job_id":"c820284d-da1f-4099-b38b-fa2b86b6586f","html_url":"https://github.com/aklinker1/github-better-line-counts","commit_stats":null,"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/aklinker1/github-better-line-counts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aklinker1%2Fgithub-better-line-counts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aklinker1%2Fgithub-better-line-counts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aklinker1%2Fgithub-better-line-counts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aklinker1%2Fgithub-better-line-counts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aklinker1","download_url":"https://codeload.github.com/aklinker1/github-better-line-counts/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aklinker1%2Fgithub-better-line-counts/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262893664,"owners_count":23380712,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chrome-extension","github"],"created_at":"2025-07-01T04:08:41.812Z","updated_at":"2025-07-01T04:08:42.626Z","avatar_url":"https://github.com/aklinker1.png","language":"TypeScript","readme":"![Github: Better Line Counts](./.github/assets/screenshot.png)\n\n[\u003cimg height=\"72\" src=\"./.github/assets/promo-cws.svg\" alt=\"Available in the Chrome Web Store\"\u003e](https://chrome.google.com/webstore/detail/ocfdgncpifmegplaglcnglhioflaimkd) [\u003cimg height=\"72\" src=\"./.github/assets/promo-fas.svg\" alt=\"Available in the Firefox Addon Store\"\u003e](https://addons.mozilla.org/en-US/firefox/addon/github-better-line-counts/)\n\nA chrome extension that removes generated files from GitHub's line counts.\n\n### How does this work?\n\nThe extension uses the Github API to load information about your PR then recalculates the diff, subtracting generated files listed in the repo's `.gitattributes` file.\n\n```\npnpm-lock.yaml  linguist-generated\nvendor/**/*     linguist-generated\n*.gen.html      linguist-generated\n```\n\n## Roadmap\n\n- [x] `v1.0.0` Subtract a hardcoded list of generated files from PR diffs as POC\n- [x] `v1.1.0` Support private repos via GitHub PAT\n- [x] `v1.2.0` Make the list based off your `.gitattributes`\n- [x] `v1.3.0` Show the number of generated lines next to additions and subtractions\n- [ ] Recalculate the 5 diff boxes next to the count\n- [ ] Add a dropdown that lists the files that were counted in the generated line count\n\nThat's it. Very simple, targeted extension for fixing 1 problem with GitHub.\n\n## Development\n\nYou must use [Bun](https://bun.sh/) with this repo.\n\nInstall dependencies:\n\n```sh\nbun i\n```\n\n### Default GitHub Token\n\nYou can provide a default API token for development by creating a `.env.development.local` file:\n\n```sh\nVITE_DEFAULT_TOKEN=\u003cyour-token\u003e\n```\n\n### Scripts\n\nThis extension is bundled via [WXT](https://wxt.dev).\n\n- `bun dev`: Launches Chrome with the dev version of the extension installed.\n- `bun run build`: Builds the extension for production. Outputs to the `dist` directory.\n- `bun run zip`: Zips up the `dist` directory into an installable ZIP file.\n\nAdd `:firefox` suffix to some commands to target firefox instead of Chrome.\n\n- `bun run build:firefox`\n- `bun run dev:firefox`\n\n### Running Tests\n\nUnit tests are written with Vitest.\n\n```ts\nbun run test\n```\n\n## Release an Update\n\nUse the [Submit for Review](https://github.com/aklinker1/github-better-line-counts/actions/workflows/submit.yml) workflow.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faklinker1%2Fgithub-better-line-counts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faklinker1%2Fgithub-better-line-counts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faklinker1%2Fgithub-better-line-counts/lists"}