{
  "version": "5.27.0",
  "info": "These non-gem libraries are part of a Ruby installation, can always be require directly, and cannot be removed.",
  "gems": [
    {
      "gem": "cgi-escape",
      "native": true,
      "autoRequire": false,
      "description": "HTML and URI escape utilities",
      "mriSourcePath": ["lib/cgi", "ext/cgi"],
      "jrubySourcePath": false,
      "rdocLink": null,
      "notes": "Only `cgi/escape` is available. [The cgi gem itself was removed with Ruby 4.0.](https://bugs.ruby-lang.org/issues/21258)",
      "maintainer": null,
      "alternatives": {
        "Rack::Utils / URI": "https://github.com/rack/rack/blob/da573f3ffefa47f48dcf8207ee95181c3f9dcd78/lib/rack/utils.rb#L39-L60"
      }
    },
    {
      "gem": "continuation",
      "native": true,
      "autoRequire": false,
      "description": "Adds the [goto](https://idiosyncratic-ruby.com/24-goto-fail.html)-like [Kernel#callcc](https://ruby-doc.org/core/Kernel.html#method-i-callcc)",
      "mriSourcePath": "ext/continuation",
      "jrubySourcePath": "lib/ruby/stdlib/continuation.rb",
      "rdocLink": "https://ruby-doc.org/core/Continuation.html",
      "maintainer": "Koichi Sasada (ko1)",
      "alternatives": {
        "Concurrent Ruby": "https://github.com/ruby-concurrency/concurrent-ruby",
        "Fiber": "https://ruby-doc.org/core/Fiber.html"
      }
    },
    {
      "gem": "coverage",
      "native": true,
      "autoRequire": false,
      "description": "Measures [code coverage](https://en.wikipedia.org/wiki/Code_coverage)",
      "mriSourcePath": "ext/coverage",
      "jrubySourcePath": [
        "lib/ruby/stdlib/coverage.rb",
        "core/src/main/java/org/jruby/ext/coverage"
      ],
      "rdocLink": "https://rubyapi.org/o/coverage",
      "maintainer": "Yusuke Endoh (mame)"
    },
    {
      "gem": "mkmf",
      "native": false,
      "autoRequire": false,
      "description": "Generates [Makefiles](https://en.wikipedia.org/wiki/Makefile) for native [C extensions](https://github.com/ruby/ruby/blob/master/doc/extension.rdoc)",
      "mriSourcePath": "lib/mkmf.rb",
      "jrubySourcePath": false,
      "rdocLink": "https://rubyapi.org/o/makemakefile",
      "maintainer": null
    },
    {
      "gem": "monitor",
      "native": true,
      "autoRequire": false,
      "description": "[Monitors](https://en.wikipedia.org/wiki/Monitor_%28synchronization%29) for multi-threaded code",
      "mriSourcePath": "ext/monitor",
      "jrubySourcePath": [
        "lib/ruby/stdlib/monitor.rb",
        "core/src/main/java/org/jruby/ext/monitor"
      ],
      "rdocLink": "https://rubyapi.org/o/monitor",
      "maintainer": "Koichi Sasada (ko1)"
    },
    {
      "gem": "objspace",
      "native": true,
      "autoRequire": false,
      "description": "Adds more statistics methods to `ObjectSpace`. Since Ruby 3.1, it also includes the `objspace/trace` debug utility.",
      "mriSourcePath": "ext/objspace",
      "jrubySourcePath": "lib/ruby/stdlib/objspace.rb",
      "rdocLink": "https://www.rubydoc.info/stdlib/objspace/ObjectSpace",
      "maintainer": null
    },
    {
      "gem": "pathname",
      "native": false,
      "autoRequire": false,
      "description": "Provides extra methods for the `Pathname` class: [`#find`](https://stdgems.org/find), [`#rmtree`](https://stdgems.org/fileutils), and [`#mktmpdir`](https://stdgems.org/tmpdir)",
      "mriSourcePath": "lib/pathname.rb",
      "jrubySourcePath": false,
      "rdocLink": "https://rubyapi.org/o/pathname",
      "notes": "In Ruby 4.0 [pathname was made part of core Ruby](https://bugs.ruby-lang.org/issues/17473). This non-gem library adds a few methods to the **Pathname** class.",
      "maintainer": null,
      "alternatives": {
        "path": "https://github.com/eregon/path"
      }
    },
    {
      "gem": "pty",
      "native": true,
      "autoRequire": false,
      "description": "Manages [pseudo terminals](https://en.wikipedia.org/wiki/Pseudo_terminal). Also includes the [IO#expect method](https://ruby-doc.org/stdlib-3.0.2/libdoc/pty/rdoc/IO.html#method-i-expect) via `require 'expect'`, which can be used to wait for a specific pattern to be read.",
      "mriSourcePath": "ext/pty",
      "jrubySourcePath": [
        "lib/ruby/stdlib/pty.rb",
        "lib/ruby/stdlib/expect.rb"
      ],
      "rdocLink": "https://rubyapi.org/o/pty",
      "maintainer": null
    },
    {
      "gem": "rbconfig",
      "native": true,
      "autoRequire": false,
      "description": "`RbConfig` is a [Ruby constant that contains compile time information](https://idiosyncratic-ruby.com/42-ruby-config.html)",
      "mriSourcePath": [
        "tool/mkconfig.rb",
        "template/Makefile.in",
        "ext/rbconfig/sizeof"
      ],
      "jrubySourcePath": [
        "lib/ruby/stdlib/rbconfig.rb",
        "lib/ruby/stdlib/rbconfig",
        "core/src/main/java/org/jruby/ext/rbconfig"
      ],
      "rdocLink": null,
      "maintainer": null
    },
    {
      "gem": "ripper",
      "native": true,
      "autoRequire": false,
      "description": "Ruby parser that creates a [symbolic expression tree](https://en.wikipedia.org/wiki/S-expression)",
      "mriSourcePath": "ext/ripper",
      "jrubySourcePath": [
        "lib/ruby/stdlib/ripper.rb",
        "lib/ruby/stdlib/ripper",
        "core/src/main/java/org/jruby/ext/ripper"
      ],
      "rdocLink": "https://rubyapi.org/o/ripper",
      "maintainer": null,
      "alternatives": {
        "parser": "https://github.com/whitequark/parser",
        "ruby_parser": "https://github.com/seattlerb/ruby_parser"
      }
    },
    {
      "gem": "set-subclass_compatible",
      "native": false,
      "autoRequire": false,
      "description": "Ruby-only implementation of Set used in sub-classes of Set for backwards compatibility",
      "mriSourcePath": "lib/set",
      "jrubySourcePath": false,
      "rdocLink": null,
      "notes": "- Since Ruby 4.0, [`Set` is implemented in core Ruby](https://bugs.ruby-lang.org/issues/21216). For the previous default gem, see [set](https://stdgems.org/set).",
      "maintainer": "Akinori MUSHA (knu)"
    },
    {
      "gem": "socket",
      "native": true,
      "autoRequire": false,
      "description": "Support for [unix-](https://en.wikipedia.org/wiki/Unix_domain_socket) and [network sockets](https://en.wikipedia.org/wiki/Network_socket)",
      "mriSourcePath": "ext/socket",
      "jrubySourcePath": [
        "lib/ruby/stdlib/socket.rb",
        "core/src/main/java/org/jruby/ext/socket"
      ],
      "rdocLink": "https://rubyapi.org/o/socket",
      "maintainer": ["Tanaka Akira (akr)", "API change needs matz's approval"]
    },
    {
      "gem": "unicode_normalize",
      "native": false,
      "autoRequire": true,
      "description": "Adds a [String#unicode_normalize](https://rubyapi.org/o/string#method-i-unicode_normalize) method which [normalizes unicode strings](https://unicode.org/reports/tr15/)",
      "mriSourcePath": ["lib/unicode_normalize"],
      "jrubySourcePath": [
        "lib/ruby/stdlib/unicode_normalize.rb",
        "lib/ruby/stdlib/unicode_normalize"
      ],
      "rdocLink": [
        "https://www.rubydoc.info/stdlib/unicode_normalize/UnicodeNormalize",
        "https://rubyapi.org/o/string#method-i-unicode_normalize"
      ],
      "maintainer": "Martin J. Dürst",
      "alternatives": {
        "unf": "https://github.com/knu/ruby-unf"
      }
    }
  ]
}
