www/rubygem-importmap-rails-rails72: Add rubygem-importmap-rails-rails72 2.1.0 (copied from rubygem-importmap-rails)

This commit is contained in:
Po-Chuan Hsieh 2025-01-03 00:28:51 +08:00
parent 5c55f385fe
commit 80a89eea52
No known key found for this signature in database
GPG key ID: 9A4BD10F002DD04B
4 changed files with 43 additions and 0 deletions

View file

@ -2127,6 +2127,7 @@
SUBDIR += rubygem-importmap-rails
SUBDIR += rubygem-importmap-rails-rails70
SUBDIR += rubygem-importmap-rails-rails71
SUBDIR += rubygem-importmap-rails-rails72
SUBDIR += rubygem-innate
SUBDIR += rubygem-jekyll
SUBDIR += rubygem-jekyll-sanity

View file

@ -0,0 +1,22 @@
PORTNAME= importmap-rails
PORTVERSION= 2.1.0
CATEGORIES= www rubygems
MASTER_SITES= RG
PKGNAMESUFFIX= -rails72
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Use ESM with importmap to manage modern JavaScript in Rails without transpiling or bundling
WWW= https://github.com/rails/importmap-rails
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/MIT-LICENSE
RUN_DEPENDS= rubygem-actionpack72>=6.0.0:www/rubygem-actionpack72 \
rubygem-activesupport72>=6.0.0:devel/rubygem-activesupport72 \
rubygem-railties72>=6.0.0:www/rubygem-railties72
USES= gem
NO_ARCH= yes
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1735228188
SHA256 (rubygem/importmap-rails-2.1.0.gem) = 9f10c67d60651a547579f448100d033df311c5d5db578301374aeb774faae741
SIZE (rubygem/importmap-rails-2.1.0.gem) = 17408

View file

@ -0,0 +1,17 @@
Import maps let you import JavaScript modules using logical names that map to
versioned/digested files -- directly from the browser. So you can build modern
JavaScript applications using JavaScript libraries made for ESM without the need
for transpiling or bundling.This frees you from needing Webpack, Yarn, npm, or
any other part of the JavaScript toolchain. All you need is the asset pipeline
that's already included in Rails.
With this approach you'll ship many small JavaScript files instead of one big
JavaScript file. Thanks to HTTP/2 that no longer carries a material performance
penalty during the initial transport, and in fact offers substantial benefits
over the long run due to better caching dynamics. Whereas before any change to
any JavaScript file included in your big bundle would invalidate the cache for
the the whole bundle, now only the cache for that single file is invalidated.
There's native support for import maps in Chrome/Edge 89+, and a shim available
for any browser with basic ESM support. So your app will be able to work with
all the evergreen browsers.