{"id":20851650,"url":"https://github.com/emsk/bundle_outdated_formatter","last_synced_at":"2025-05-12T04:32:13.431Z","repository":{"id":48884465,"uuid":"93923946","full_name":"emsk/bundle_outdated_formatter","owner":"emsk","description":"Formatter for `bundle outdated` command","archived":false,"fork":false,"pushed_at":"2021-07-09T02:28:56.000Z","size":175,"stargazers_count":19,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-27T23:19:48.987Z","etag":null,"topics":["bundler","cli","formatter","gem","ruby"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","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/emsk.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-06-10T07:42:42.000Z","updated_at":"2025-03-10T12:53:57.000Z","dependencies_parsed_at":"2022-09-01T06:31:37.996Z","dependency_job_id":null,"html_url":"https://github.com/emsk/bundle_outdated_formatter","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emsk%2Fbundle_outdated_formatter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emsk%2Fbundle_outdated_formatter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emsk%2Fbundle_outdated_formatter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emsk%2Fbundle_outdated_formatter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emsk","download_url":"https://codeload.github.com/emsk/bundle_outdated_formatter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253675614,"owners_count":21945945,"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":["bundler","cli","formatter","gem","ruby"],"created_at":"2024-11-18T03:14:27.221Z","updated_at":"2025-05-12T04:32:13.153Z","avatar_url":"https://github.com/emsk.png","language":"Ruby","readme":"# BundleOutdatedFormatter\n\n[![Gem Version](https://badge.fury.io/rb/bundle_outdated_formatter.svg)](https://badge.fury.io/rb/bundle_outdated_formatter)\n[![Build Status](https://github.com/emsk/bundle_outdated_formatter/actions/workflows/build.yml/badge.svg)](https://github.com/emsk/bundle_outdated_formatter/actions/workflows/build.yml)\n[![Build Status](https://travis-ci.org/emsk/bundle_outdated_formatter.svg?branch=main)](https://travis-ci.org/emsk/bundle_outdated_formatter)\n[![Build status](https://ci.appveyor.com/api/projects/status/w2qfj0a4iicqhmhq?svg=true)](https://ci.appveyor.com/project/emsk/bundle-outdated-formatter)\n[![Build Status](https://dev.azure.com/emsk/bundle_outdated_formatter/_apis/build/status/emsk.bundle_outdated_formatter?branchName=main)](https://dev.azure.com/emsk/bundle_outdated_formatter/_build/latest?definitionId=3\u0026branchName=main)\n[![Codecov](https://codecov.io/gh/emsk/bundle_outdated_formatter/branch/main/graph/badge.svg)](https://codecov.io/gh/emsk/bundle_outdated_formatter)\n[![Code Climate](https://codeclimate.com/github/emsk/bundle_outdated_formatter/badges/gpa.svg)](https://codeclimate.com/github/emsk/bundle_outdated_formatter)\n[![Inline docs](http://inch-ci.org/github/emsk/bundle_outdated_formatter.svg?branch=main)](http://inch-ci.org/github/emsk/bundle_outdated_formatter)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE.txt)\n\nBundleOutdatedFormatter is a command-line tool to format output of `bundle outdated`.\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n```ruby\ngem 'bundle_outdated_formatter'\n```\n\nAnd then execute:\n\n```sh\n$ bundle\n```\n\nOr install it yourself as:\n\n```sh\n$ gem install bundle_outdated_formatter\n```\n\n## Usage\n\n```sh\n$ bundle outdated | bof\n```\n\n## Command Options\n\n| Option | Alias | Description | Default |\n| :----- | :---- | :---------- | :------ |\n| `--format` | `-f` | Format. `terminal`, `markdown`, `json`, `yaml`, `csv`, `tsv`, `xml`, or `html`. | `terminal` |\n| `--pretty` | `-p` | `true` if pretty output.\u003cbr\u003eThis option is available in `json`, `xml`, or `html` formats. | `false` |\n| `--style` | `-s` | Terminal table style. `unicode` or `ascii`.\u003cbr\u003eThis option is available in `terminal` format. | `unicode` |\n| `--column` | `-c` | Output columns. The columns are sorted in specified order. | `gem newest installed requested groups` |\n\n## Examples\n\nOutput of `bundle outdated`:\n\n```\nFetching gem metadata from https://rubygems.org/..........\nFetching version metadata from https://rubygems.org/...\nFetching dependency metadata from https://rubygems.org/..\nResolving dependencies...\n\nOutdated gems included in the bundle:\n  * faker (newest 1.6.6, installed 1.6.5, requested ~\u003e 1.4) in groups \"development, test\"\n  * hashie (newest 3.4.6, installed 1.2.0, requested = 1.2.0) in group \"default\"\n  * headless (newest 2.3.1, installed 2.2.3)\n```\n\n### Convert to Terminal\n\nUnicode style:\n\n```\n┌──────────┬────────┬───────────┬───────────┬───────────────────┐\n│ gem      │ newest │ installed │ requested │ groups            │\n├──────────┼────────┼───────────┼───────────┼───────────────────┤\n│ faker    │ 1.6.6  │ 1.6.5     │ ~\u003e 1.4    │ development, test │\n│ hashie   │ 3.4.6  │ 1.2.0     │ = 1.2.0   │ default           │\n│ headless │ 2.3.1  │ 2.2.3     │           │                   │\n└──────────┴────────┴───────────┴───────────┴───────────────────┘\n```\n\nASCII style:\n\n```\n+----------+--------+-----------+-----------+-------------------+\n| gem      | newest | installed | requested | groups            |\n+----------+--------+-----------+-----------+-------------------+\n| faker    | 1.6.6  | 1.6.5     | ~\u003e 1.4    | development, test |\n| hashie   | 3.4.6  | 1.2.0     | = 1.2.0   | default           |\n| headless | 2.3.1  | 2.2.3     |           |                   |\n+----------+--------+-----------+-----------+-------------------+\n```\n\n### Convert to Markdown\n\n```\n| gem | newest | installed | requested | groups |\n| --- | --- | --- | --- | --- |\n| faker | 1.6.6 | 1.6.5 | ~\u003e 1.4 | development, test |\n| hashie | 3.4.6 | 1.2.0 | = 1.2.0 | default |\n| headless | 2.3.1 | 2.2.3 | | |\n```\n\n### Convert to JSON\n\nNormal output:\n\n```\n[{\"gem\":\"faker\",\"newest\":\"1.6.6\",\"installed\":\"1.6.5\",\"requested\":\"~\u003e 1.4\",\"groups\":\"development, test\"},{\"gem\":\"hashie\",\"newest\":\"3.4.6\",\"installed\":\"1.2.0\",\"requested\":\"= 1.2.0\",\"groups\":\"default\"},{\"gem\":\"headless\",\"newest\":\"2.3.1\",\"installed\":\"2.2.3\",\"requested\":\"\",\"groups\":\"\"}]\n```\n\nPretty output:\n\n```\n[\n  {\n    \"gem\": \"faker\",\n    \"newest\": \"1.6.6\",\n    \"installed\": \"1.6.5\",\n    \"requested\": \"~\u003e 1.4\",\n    \"groups\": \"development, test\"\n  },\n  {\n    \"gem\": \"hashie\",\n    \"newest\": \"3.4.6\",\n    \"installed\": \"1.2.0\",\n    \"requested\": \"= 1.2.0\",\n    \"groups\": \"default\"\n  },\n  {\n    \"gem\": \"headless\",\n    \"newest\": \"2.3.1\",\n    \"installed\": \"2.2.3\",\n    \"requested\": \"\",\n    \"groups\": \"\"\n  }\n]\n```\n\n### Convert to YAML\n\n```\n---\n- gem: faker\n  newest: 1.6.6\n  installed: 1.6.5\n  requested: \"~\u003e 1.4\"\n  groups: development, test\n- gem: hashie\n  newest: 3.4.6\n  installed: 1.2.0\n  requested: \"= 1.2.0\"\n  groups: default\n- gem: headless\n  newest: 2.3.1\n  installed: 2.2.3\n  requested: ''\n  groups: ''\n```\n\n### Convert to CSV\n\n```\n\"gem\",\"newest\",\"installed\",\"requested\",\"groups\"\n\"faker\",\"1.6.6\",\"1.6.5\",\"~\u003e 1.4\",\"development, test\"\n\"hashie\",\"3.4.6\",\"1.2.0\",\"= 1.2.0\",\"default\"\n\"headless\",\"2.3.1\",\"2.2.3\",\"\",\"\"\n```\n\n### Convert to TSV\n\n```\n\"gem\"\t\"newest\"\t\"installed\"\t\"requested\"\t\"groups\"\n\"faker\"\t\"1.6.6\"\t\"1.6.5\"\t\"~\u003e 1.4\"\t\"development, test\"\n\"hashie\"\t\"3.4.6\"\t\"1.2.0\"\t\"= 1.2.0\"\t\"default\"\n\"headless\"\t\"2.3.1\"\t\"2.2.3\"\t\"\"\t\"\"\n```\n\n### Convert to XML\n\nNormal output:\n\n```\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\u003cgems\u003e\u003coutdated\u003e\u003cgem\u003efaker\u003c/gem\u003e\u003cnewest\u003e1.6.6\u003c/newest\u003e\u003cinstalled\u003e1.6.5\u003c/installed\u003e\u003crequested\u003e~\u0026gt; 1.4\u003c/requested\u003e\u003cgroups\u003edevelopment, test\u003c/groups\u003e\u003c/outdated\u003e\u003coutdated\u003e\u003cgem\u003ehashie\u003c/gem\u003e\u003cnewest\u003e3.4.6\u003c/newest\u003e\u003cinstalled\u003e1.2.0\u003c/installed\u003e\u003crequested\u003e= 1.2.0\u003c/requested\u003e\u003cgroups\u003edefault\u003c/groups\u003e\u003c/outdated\u003e\u003coutdated\u003e\u003cgem\u003eheadless\u003c/gem\u003e\u003cnewest\u003e2.3.1\u003c/newest\u003e\u003cinstalled\u003e2.2.3\u003c/installed\u003e\u003crequested\u003e\u003c/requested\u003e\u003cgroups\u003e\u003c/groups\u003e\u003c/outdated\u003e\u003c/gems\u003e\n```\n\nPretty output:\n\n```\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003cgems\u003e\n  \u003coutdated\u003e\n    \u003cgem\u003efaker\u003c/gem\u003e\n    \u003cnewest\u003e1.6.6\u003c/newest\u003e\n    \u003cinstalled\u003e1.6.5\u003c/installed\u003e\n    \u003crequested\u003e~\u0026gt; 1.4\u003c/requested\u003e\n    \u003cgroups\u003edevelopment, test\u003c/groups\u003e\n  \u003c/outdated\u003e\n  \u003coutdated\u003e\n    \u003cgem\u003ehashie\u003c/gem\u003e\n    \u003cnewest\u003e3.4.6\u003c/newest\u003e\n    \u003cinstalled\u003e1.2.0\u003c/installed\u003e\n    \u003crequested\u003e= 1.2.0\u003c/requested\u003e\n    \u003cgroups\u003edefault\u003c/groups\u003e\n  \u003c/outdated\u003e\n  \u003coutdated\u003e\n    \u003cgem\u003eheadless\u003c/gem\u003e\n    \u003cnewest\u003e2.3.1\u003c/newest\u003e\n    \u003cinstalled\u003e2.2.3\u003c/installed\u003e\n    \u003crequested\u003e\u003c/requested\u003e\n    \u003cgroups\u003e\u003c/groups\u003e\n  \u003c/outdated\u003e\n\u003c/gems\u003e\n```\n\n### Convert to HTML\n\nNormal output:\n\n```\n\u003ctable\u003e\u003ctr\u003e\u003cth\u003egem\u003c/th\u003e\u003cth\u003enewest\u003c/th\u003e\u003cth\u003einstalled\u003c/th\u003e\u003cth\u003erequested\u003c/th\u003e\u003cth\u003egroups\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003efaker\u003c/td\u003e\u003ctd\u003e1.6.6\u003c/td\u003e\u003ctd\u003e1.6.5\u003c/td\u003e\u003ctd\u003e~\u0026gt; 1.4\u003c/td\u003e\u003ctd\u003edevelopment, test\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003ehashie\u003c/td\u003e\u003ctd\u003e3.4.6\u003c/td\u003e\u003ctd\u003e1.2.0\u003c/td\u003e\u003ctd\u003e= 1.2.0\u003c/td\u003e\u003ctd\u003edefault\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eheadless\u003c/td\u003e\u003ctd\u003e2.3.1\u003c/td\u003e\u003ctd\u003e2.2.3\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n```\n\nPretty output:\n\n```\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003cth\u003egem\u003c/th\u003e\n    \u003cth\u003enewest\u003c/th\u003e\n    \u003cth\u003einstalled\u003c/th\u003e\n    \u003cth\u003erequested\u003c/th\u003e\n    \u003cth\u003egroups\u003c/th\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003efaker\u003c/td\u003e\n    \u003ctd\u003e1.6.6\u003c/td\u003e\n    \u003ctd\u003e1.6.5\u003c/td\u003e\n    \u003ctd\u003e~\u0026gt; 1.4\u003c/td\u003e\n    \u003ctd\u003edevelopment, test\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003ehashie\u003c/td\u003e\n    \u003ctd\u003e3.4.6\u003c/td\u003e\n    \u003ctd\u003e1.2.0\u003c/td\u003e\n    \u003ctd\u003e= 1.2.0\u003c/td\u003e\n    \u003ctd\u003edefault\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eheadless\u003c/td\u003e\n    \u003ctd\u003e2.3.1\u003c/td\u003e\n    \u003ctd\u003e2.2.3\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n```\n\n## Related\n\n* [bundle-outdated-formatter](https://github.com/emsk/bundle-outdated-formatter) - A Node.js implementation of the bundle_outdated_formatter\n\n## Supported Ruby Versions\n\nRuby 2.0.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 3.0\n\n## Contributing\n\nBug reports and pull requests are welcome.\n\n## License\n\n[MIT](LICENSE.txt)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femsk%2Fbundle_outdated_formatter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femsk%2Fbundle_outdated_formatter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femsk%2Fbundle_outdated_formatter/lists"}