This Week in Open Source

Sara Jackson

Your humble author knows these editions fly off the shelves like hot cakes. So while you keep updating, I’ll keep posting! Enjoy these not-so-fresh-off-the-presses updates to thoughtbot open source projects from February 2nd through February 16th.

We saw updates to the following projects (with handy links to jump to their section):

Administrate

Administrate is a framework for creating flexible, powerful admin dashboards in Rails.

dependabot[bot] bumped the versions of nokogiri (ea28c1a), webmock (b0ff4df), dotenv-rails (07d5486), standard (682471a), and pg (9e364f5).

Sean Doyle (seanpdoyle) implemented the client-side with Stimulus (9547d64), replaced jquery-ujs with @hotwired/turbo (21602c3), and replaced link_to calls with button_to (074cb1a).

Trevor (trevorrjohn) fixed a bug where the layout generator ignored namespace (a742521).

Jason Gorst (jasongorst) fixed a hidden checkbox regression for Field::Boolean (bd5bb08).

Nick Charlton (nickcharlton) switched to using @thoughtbot/stylelint-config for linting (fad9c40), added .node-version to test against Node v20.11.0 (cc9b13b), added linting for Ruby with standardrb (3ff3b7d), and released v1.0.0.beta1 🎉 (45c0884).

Elias Rodrigues (elias19r) and Pablo Brasero (pablobm) updated Administrate to bundle compiled assets in the Gem. A great quality of life improvement for this gem, if this author can say so! (2a1bf79).

Appraisal

Appraisal is a Ruby library for testing your library against different versions of dependencies.

Sebastian Cohnen (tisba) added support for ruby file: Gemfile syntax (08247f8).

Yevhenii Ponomarenko (yevhenii-ponomarenko) fixed customize_gemfiles for Ruby 3 (830d47e) and made tests more resilient in different git environments (7d26791).

Joakim Antman (anakinj) fixed the remove_gem example (2b44b44).

Design Sprint Guide

The Design Sprint Guide is a static website built using Eleventy.

Danny Garcia (garciadanny) fixed a typo (60e27a3).

thoughtbot design system

thoughtbot design system (tbds) is the design system for thoughtbot websites.

dependabot[bot] bumped the version of stylelint (b0378f3).

factory_bot

factory_bot is a library for setting up Ruby objects as test data.

YuriBocharov (elasticspoon) fixed broken links in ref/factory.md (cf3f21f).

Flightdeck

Flightdeck provides Terraform modules for rapidly building production-grade Kubernetes clusters following SRE practices.

Akshith Yellapragada (ayellapragada) added a link to the platform guide to README.md (6b035e5).

Form Props

Form Props is a Rails form builder that outputs input attributes (in JSON) instead of tags. Now you can enjoy the conveniences of Rails helpers in other view libraries like React and React Native.

Johny Ho (jho406) updated for consistent naming in the docs (073af4e).

Shoulda Matchers

Shoulda Matchers provides simple one-liner tests for common Rails functionality.

Matheus Sales (matsales28) updated dependencies (cbff141).

Matheus Sales and Stef Schenkelaars (StefSchenkelaars) ensured the uniqueness validation matcher works with STI (5781741).

Eduardo Souza Costa Araújo (EduardoSCosta) added against method in the allow value matcher (4d84359).

thoughtbot stylelint Config

thoughtbot stylelint Config is a shareable stylelint configuration that enforces thoughtbot’s Sass guides.

Nick Charlton (nickcharlton) allowed for !default annotations (fb14d2c), added a script to automate building the CHANGELOG (747e173), and released version 4.0.0 🎉 (6d3c2f7).

Templates

thoughtbot’s documentation templates for open source projects.

Stefanni Brasil (stefannibrasil) and Akshith Yellapragada (ayellapragada) worked together on adding a reusable GitHub workflow to generate a section of the README in our OSS dynamically (1555ffa), (04355c3).

You can read more about reusable GitHub workflows and the dynamic README work in this blog post.

Stefanni also removed the README.template (3c0a048).

Terraform Modules AWS IAM Identity Center Permission Sets

Terraform Modules AWS IAM Identity Center Permission Sets is a terraform module to provision and assign permission sets for an AWS landing zone.

Gavin Williams (fatmcgav) added support for customer managed policy attachment (91fe8a5)


✨Have you considered contributing to open source? There’s a project out there for you! Visit our Open Source page to learn more about our team’s projects and contributions. While you’re there, consider contributing to one of our projects.