{"id":15412550,"url":"https://github.com/elmassimo/elmassimo","last_synced_at":"2025-08-03T11:33:25.336Z","repository":{"id":66231984,"uuid":"365093663","full_name":"ElMassimo/ElMassimo","owner":"ElMassimo","description":null,"archived":false,"fork":false,"pushed_at":"2023-02-07T18:22:22.000Z","size":40,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-12-05T15:49:55.528Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ElMassimo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2021-05-07T02:36:22.000Z","updated_at":"2023-02-22T17:28:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"6b771d46-cdab-4799-b889-387810aefda1","html_url":"https://github.com/ElMassimo/ElMassimo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElMassimo%2FElMassimo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElMassimo%2FElMassimo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElMassimo%2FElMassimo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElMassimo%2FElMassimo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ElMassimo","download_url":"https://codeload.github.com/ElMassimo/ElMassimo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228542292,"owners_count":17934264,"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":[],"created_at":"2024-10-01T16:53:42.146Z","updated_at":"2024-12-07T00:28:39.073Z","avatar_url":"https://github.com/ElMassimo.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"[blog]: https://maximomussini.com/posts/\n[resume]: https://maximomussini.com/resume\n[little gems]: https://maximomussini.com/projects\n[maps]: https://www.google.com/maps/place/Colonia+del+Sacramento,+Uruguay\n[twitter]: https://twitter.com/MaximoMussini\n[SoundCloud]: https://soundcloud.com/maximomussini\n[my YouTube channel]: https://www.youtube.com/c/maximomussini\n[Vite Ruby]: https://github.com/ElMassimo/vite_ruby\n\n\u003ch1\u003e\n  \u003csamp\u003e\n    \u003ca href=\"https://maximomussini.com\"\u003eblog\u003c/a\u003e .\n    \u003ca href=\"https://twitter.com/MaximoMussini\"\u003etwitter\u003c/a\u003e .\n    \u003ca href=\"https://maximomussini.com/about\"\u003eabout\u003c/a\u003e \n  \u003c/samp\u003e\n\u003c/h1\u003e\n\n### Projects 🛠\n\nMy current focus is development experience, and how it can help us achieve increased productivity.\n\n#### Vite.js\n- [îles](https://github.com/ElMassimo/iles): 🏝 The joyful site generator! Islands of interactivity with Vue in Vite.js\n- [vite-plugin-image-presets](https://github.com/ElMassimo/vite-plugin-image-presets): 🖼 Image presets for Vite.js apps\n- [vite-plugin-environment](https://github.com/ElMassimo/vite-plugin-environment): Easily expose environment variables in Vite.js\n- [vite-plugin-full-reload](https://github.com/ElMassimo/vite-plugin-full-reload): ♻️ Automatically reload the page when files are modified\n- [vite-plugin-bugsnag](https://github.com/ElMassimo/vite-plugin-bugsnag): Report builds and upload source maps to Bugsnag\n\n#### Vite.js with Ruby\n\n- [vite_ruby](https://github.com/ElMassimo/vite_ruby): ⚡️♦️ Vite.js in Ruby - bringing joy to your JavaScript experience\n- [jekyll-vite](https://github.com/ElMassimo/jekyll-vite): ⚡️🩸 Use Vite.js in Jekyll as your assets pipeline\n- [vite-plugin-erb](https://github.com/ElMassimo/vite-plugin-erb): Use ERB files in Vite.js projects with a Ruby backend\n- [vite-plugin-stimulus-hmr](https://github.com/ElMassimo/vite-plugin-stimulus-hmr): HMR for Stimulus controllers in Vite.js\n- [stimulus-vite-helpers](https://github.com/ElMassimo/stimulus-vite-helpers): Helpers to easily load all your Stimulus - controllers when using Vite.js\n\n#### Vue.js\n\n- [vuex-stores](https://github.com/ElMassimo/vuex-stores): 🗄 Store objects for Vuex, a simple and more fluid API for state-management.\n\n#### Rails\n\n- [js_from_routes](https://github.com/ElMassimo/js_from_routes): 🛣️ Generate path helpers and API methods from your Rails routes\n- [oj_serializers](https://github.com/ElMassimo/oj_serializers): ⚡️ Faster JSON serialization for Ruby on Rails. Easily migrate away from Active Model Serializers\n- [types_from_serializers](https://github.com/ElMassimo/types_from_serializers): ✅ Generate TypeScript interfaces from your JSON serializers\n- [presenter_rails](https://github.com/ElMassimo/presenter_rails): 🔭 Expose your view models in a convenient way\n- [queryable](https://github.com/ElMassimo/queryable): ❔ Gives your queries a home and avoid tucking scopes inside your models\n- [resourcerer](https://github.com/ElMassimo/resourcerer): ✨ Works like magic to dry up your controllers\n- [request_store_rails](https://github.com/ElMassimo/request_store_rails): 📦 Per-request global storage for Rails prepared for multi-threaded apps\n\n#### Ruby\n\n- [better_settings](https://github.com/ElMassimo/better_settings): ⚙ Settings for Ruby apps – fast, immutable, better\n- [capybara-compose](https://github.com/ElMassimo/capybara-compose): ✅ Easily write fluent integration tests with Capybara\n- [i18n_multitenant](https://github.com/ElMassimo/i18n_multitenant): 🌎 Provides a convenient way to use tenant-specific translations\n- [pakiderm](https://github.com/ElMassimo/pakiderm): 🐘 Pakiderm will never forget the return value\n\n\n#### Demos / Templates / App Starters\n\n- [pingcrm-vite](https://github.com/ElMassimo/pingcrm-vite): PingCRM on Vite Rails - A Vite.js + Inertia.js + Rails demo\n- [jumpstart-vite](https://github.com/ElMassimo/jumpstart-vite): Jumpstart a new Rails app with Vite.js + Turbo + Stimulus, and more\n- [vite_rails_docker_example](https://github.com/ElMassimo/vite_rails_docker_example): An example of how to run Vite Rails in Docker\n\n### Podcasts \u0026 Talks 📣\n\n- [Frontend Joy in Ruby on Rails](https://www.youtube.com/watch?v=SpeKA9fA6gg)\n- [Islands Architecture in Vue](https://dev.to/viewsonvue/islands-architecture-in-vue-with-maximo-mussini-vue-170)\n- [Using Vite.js with Ruby Apps](https://dev.to/rubyrogues/how-vite-js-is-changing-the-game-with-maximo-mussini-ruby-528)\n- [TypeScript from Ruby Serializers](https://topenddevs.com/podcasts/ruby-rogues/episodes/how-to-get-your-rails-models-and-routes-into-your-front-end-framework-ruby-559)\n\n### Writing ✍️\n\nHere are some [articles I've written][blog]:\n\n- [A Rubyist's Guide to Vite.js](https://maximomussini.com/posts/a-rubyist-guide-to-vite-js)\n- [Vue Components as Custom Elements](https://maximomussini.com/posts/vue-custom-elements/)\n- [Debugging Libraries: Ruby Edition](https://maximomussini.com/posts/debugging-ruby-libraries/)\n- [Debugging Libraries: Node.js Edition](https://maximomussini.com/posts/debugging-javascript-libraries/)\n- [Documentation is a Great Investment](https://maximomussini.com/posts/documentation-is-a-great-investment/)\n- [Generating a JS API from Rails Routes](https://maximomussini.com/posts/js-from-routes/)\n- [Practical Applications of the Singleton Class in Ruby](https://maximomussini.com/posts/practical-applications-of-the-singleton-class/)\n- [Avoiding the N+1 problem in Mongoid](https://maximomussini.com/posts/mongoid-n+1/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felmassimo%2Felmassimo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felmassimo%2Felmassimo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felmassimo%2Felmassimo/lists"}