{"id":13679611,"url":"https://github.com/Kikobeats/untracked","last_synced_at":"2025-04-29T19:31:27.746Z","repository":{"id":40277099,"uuid":"115228080","full_name":"Kikobeats/untracked","owner":"Kikobeats","description":"Universal way for ignoring unnecessary common files to fit your bundle","archived":false,"fork":false,"pushed_at":"2025-04-28T07:10:52.000Z","size":373,"stargazers_count":31,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-28T08:25:06.131Z","etag":null,"topics":["gitignore","prune"],"latest_commit_sha":null,"homepage":"https://nicedoc.io/kikobeats/untracked","language":"JavaScript","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/Kikobeats.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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}},"created_at":"2017-12-23T23:32:36.000Z","updated_at":"2025-04-28T07:10:57.000Z","dependencies_parsed_at":"2025-03-02T13:11:00.354Z","dependency_job_id":"55b5ce99-acb7-4fd4-bc8b-74d84335ec43","html_url":"https://github.com/Kikobeats/untracked","commit_stats":null,"previous_names":[],"tags_count":47,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kikobeats%2Funtracked","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kikobeats%2Funtracked/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kikobeats%2Funtracked/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kikobeats%2Funtracked/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kikobeats","download_url":"https://codeload.github.com/Kikobeats/untracked/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251279150,"owners_count":21563918,"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":["gitignore","prune"],"created_at":"2024-08-02T13:01:07.454Z","updated_at":"2025-04-29T19:31:27.740Z","avatar_url":"https://github.com/Kikobeats.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# untracked\n\n![Last version](https://img.shields.io/github/tag/Kikobeats/untracked.svg?style=flat-square)\n[![NPM Status](https://img.shields.io/npm/dm/untracked.svg?style=flat-square)](https://www.npmjs.org/package/untracked)\n\n\u003cdiv align=\"center\"\u003e\n\t\u003cbr\u003e\n\t\u003cbr\u003e\n\t\u003cimg width=\"1200\" src=\"/demo.png\"\u003e\n\t\u003cbr\u003e\n\t\u003cbr\u003e\n\t\u003cbr\u003e\n\u003c/div\u003e\n\n**untracked** is a universal way for ingnoring unnecessary common files (such as `README.md`, `LICENSE.md`, `Makefile`, `Gruntfile`, `Gulpfile`, `karma.conf.js`, etc) to fit your bundle and create **smallest production ready bunddle** possible.\n\n## Usage\n\nJust run the command\n\n```\nnpx untracked\n```\n\nThe files to ignore will be detected automagically ✨.\n\n### Using with Heroku\n\nYou need to write the output as [`.slugignore`](https://devcenter.heroku.com/articles/slug-compiler#ignoring-files-with-slugignore).\n\nFor doing that you can run the command directly\n\n```\nnpx untracked \u003e .slugignore\n```\n\nAlso, you can declare it as [`heroku-prebuild`](https://devcenter.heroku.com/articles/nodejs-support#heroku-specific-build-steps) at `scripts` in your `package.json`:\n\n```json\n{\n  \"scripts\": {\n    \"heroku-prebuild\": \"npx untracked \u003e .slugignore\"\n  }\n}\n```\n\n### Using with Vercel\n\nJust you need to write the output at [`.vercelignore`](https://vercel.com/docs/concepts/deployments/vercel-ignore) file.\n\n```\nnpx untracked \u003e .vercelignore\n```\n\n### Using with Yarn\n\n[Yarn](https://yarnpkg.com) supports remove unnecessary files via [`.yarnclean`](https://yarnpkg.com/en/docs/cli/autoclean).\n\n```bash\nyarn install --production\nnpx untracked \u003e .yarnclean\nyarn autoclean --force\n```\n\n### Using with Docker\n\nJust you need to write the output at [`.dockerignore`](https://docs.docker.com/engine/reference/builder/#dockerignore-file) file.\n\n```\nnpx untracked \u003e .dockerignore\n```\n\n\n## Additional Files\n\nSometimes you need to declare an extra file to include/ignore in the bundle.\n\nThat's could be achieve just declaring a `untracked` field into your `package.json`:\n\n```json\n{\n  \"untracked\": {\n    \"whitelist\": [\n      \"bin\"\n    ],\n    \"blacklist\": [\n      \"bench\",\n      \"node_modules/@ffprobe-installer/darwin-x64\",\n      \"node_modules/@ffprobe-installer/linux-ia32\",\n      \"node_modules/@ffprobe-installer/win32-ia32\",\n      \"node_modules/@ffprobe-installer/win32-x64\",\n      \"node_modules/puppeteer/.local-chromium\",\n      \"scripts\"\n    ]\n  }\n}\n```\n\n\nIf you need to declare this files programatically, you can use any of the [cosmiconfig](https://github.com/davidtheclark/cosmiconfig) supported ways for loading the configuration.\n\n## How It Works™\n\n**untracked** create a list of common files to ignore using [gitignore pattern format](https://git-scm.com/docs/gitignore#_pattern_format). \n\nThis makes it compatible with any builder process that supports ignore files based on this pattern declaration.\n\nUnder the hood, **untracked** supports file name variations for files such as\n\n- Documentation (`docs`, `LICENSE`, `README`, etc).\n- Toolings configuration (`Makefile`, `Gruntfile`, `Gulpfile`, `karma.conf.js`,etc).\n- Assets (`*.map`, `*.d.ts`, `*.flow`, etc).\n\nIt creates the properly gitpattern for ignoring any of these files.\n\n## Related\n\n- [lambda-prune](https://github.com/Kikobeats/lambda-prune) – Cleanup old AWS Lambda functions.\n- [node-prune](https://github.com/tj/node-prune) – Remove unnecessary files from node_modules (.md, .ts, ...).\n- [lambdapack](https://github.com/toriihq/lambdapack) – Package your AWS Lambda efficiently.\n\n\n## License\n\n**untracked** © [Kiko Beats](https://kikobeats.com), released under the [MIT](https://github.com/Kikobeats/untracked/blob/master/LICENSE.md) License.\u003cbr\u003e\nAuthored and maintained by Kiko Beats with help from [contributors](https://github.com/Kikobeats/untracked/contributors).\n\n\u003e [kikobeats.com](https://kikobeats.com) · GitHub [@Kiko Beats](https://github.com/Kikobeats) · X [@Kikobeats](https://x.com/Kikobeats)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKikobeats%2Funtracked","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FKikobeats%2Funtracked","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKikobeats%2Funtracked/lists"}