steep
tapioca
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
steep
-
A decent VS Code and Ruby on Rails setup
I saw no mention of RBS+Steep, the latter providing a LSP. I use it a lot and very much like it, although it's still young and needs love, but it's making good, steady progress! I've been very pleasantly surprised by some of the crazy things Steep can catch, completely statically!
You appear to be working on projects with Sorbet (which I tried to like but found it fell short in practice, notably outside of the app use case i.e it's mostly useless for gems) so it may be a tall order to try on those. Maybe you can give RBS+Steep a shot on some small project?
RBS: https://github.com/ruby/rbs
RBS collection (for those gems that don't ship RBS signatures in `sig`, integrates with bundler): https://github.com/ruby/gem_rbs_collection
Steep: https://github.com/soutaro/steep
VS Code: https://github.com/soutaro/steep-vscode
Sublime Text: https://github.com/sublimelsp/LSP
Vim (I'm working on it): https://github.com/dense-analysis/ale/pull/4671
-
Bringing more sweetness to ruby with sorbet types 🍦
1. Lack of LSP: Since this new type check solution is quite new (at the time of writing), we don't have nice editor support via LSP. Things like steep will probably solve this in the future, but it's not a reliable solution now. On the other hand, Sorbet has existed for many years on the market and already provides a lot of tools for code intelligence, you can see more in this blog post.
-
State of the Ruby language server (LSP) ecosystem / looking for suggestions
https://github.com/soutaro/steep Also a type checker. This one uses rbs files. Not sure what subset of LSP features it supports either.
-
steep VS sorbet - a user suggested alternative
2 projects | 17 Apr 2022
-
Open-sourcing the Sorbet VS Code Extension
What type-checkers can use RBS? I find steep? Any others? Does anyone have a sense of how much use RBS is getting (and compared to Sorbet?) in the wild?
-
rbs collection was released!
rbs collection feature integrates this repository and tools use RBS, such as rbs command, Steep, and TypeProf.
-
Which one is a better VS Code language server for Ruby?
steep also can be run as a langserver, which is then used in the vscode plugin for type checking.
-
Static Typing in Ruby 3 Gives Me a Headache (But I Could Grow to Like It)
Once you have those in place, you use a tool called Steep, which is the official type checker "blessed" by the Ruby core team. Steep evaluates your code against your signature files and provides a printout of all the errors and warnings (similar to any other type checker, TypeScript and beyond).
-
15 Resources I Learned Something From This Weekend
soutaro / steep
tapioca
- Should You Use Ruby on Rails or Hanami?
-
Bringing more sweetness to ruby with sorbet types 🍦
First let's introduce the tool: Sorbet is a gem developed by Stripe that aims to bring type notation syntax and type checking support for the Ruby ecosystem by utilizing the "Gradual typing" philosophy, it also provide type generation from YARD comments via the tapioca gem, allowing to grow alongside the already built Ruby codebase.
-
Building GitHub with Ruby on Rails
Have you tried https://github.com/Shopify/tapioca with Sorbet? Typing in general has ways to go sure, but I find this combination quite usable in my day to day.
-
Can text editors detect undefined variables in Ruby?
Sorbet can do this, as long as you have type signatures for your code. Given Ruby's highly dynamic nature that's where tools like Tapioca come in to generate these, for example for Active Record models where instance methods are generated based on the database schema. But the moment when something returns T.untyped you're back where you were before - it helps but isn't perfect.
-
Open-Sourcing the Sorbet (Ruby) VS Code Extension
Regarding Sorbet and Rails, I recommend Tapioca [1].
The Rails app that I worked on had a few edge cases Tapioca didn't cover so I wrote a simple script to load the Rails app and generate RBI files (e.g. generate RBI definitions for fixture methods in ApplicationTestCase). The Tapioca codebase helped provide a path for that [2]. Tapioca also continues to add to their DSL compilers. The work to integrate Sorbet paid off very quickly.
Also, T::Enum and T::Struct are handy in any Ruby codebase.
[1] https://github.com/Shopify/tapioca
- Ruby 3.1 Released, Featuring In-Process JIT Compiler
-
New with Sorbet
I'm pretty sure sorbet-rails is just a rails-wrapper gem for the sorbet gem :-) (HAML does exactly same thing) and tapioca seems to be some convenience library to generate RBI (https://github.com/Shopify/tapioca)
What are some alternatives?
solargraph - A Ruby language server.
sorbet - A fast, powerful type checker designed for Ruby
typeprof - An experimental type-level Ruby interpreter for testing and understanding Ruby code
rbs_parser - Ruby RBS parsing and translation to Sorbet RBI
vscode-solargraph - A Visual Studio Code extension for Solargraph.
sord - Convert YARD docs to Sorbet RBI and Ruby 3/Steep RBS files
rbs - Type Signature for Ruby
sorbet-typed - A central repository for sharing type definitions for Ruby gems
YARD - YARD is a Ruby Documentation tool. The Y stands for "Yay!"
Stripe - PHP library for the Stripe API.
vscode-ruby - Provides Ruby language and debugging support for Visual Studio Code
Packagist - Package Repository Website - try https://packagist.com if you need your own -