introduce importmaps (#983)
* introduce importmaps This commit introduces importmaps. They allow to use modern javacript ESM within rails without webpack, yarn etc. see https://github.com/rails/importmap-rails for more details. Co-authored-by: Philipp Rothmann <philipprothmann@posteo.de> Co-authored-by: FGU <fgu@pragma-shift.net> * fix: rubocop violations --------- Co-authored-by: FGU <fgu@pragma-shift.net>
This commit is contained in:
parent
a8b2f387db
commit
026c3a6285
9 changed files with 17 additions and 3 deletions
1
Gemfile
1
Gemfile
|
@ -124,4 +124,5 @@ group :test do
|
|||
gem 'rswag-specs'
|
||||
end
|
||||
|
||||
gem "importmap-rails", "~> 1.1"
|
||||
gem "terser", "~> 1.1"
|
||||
|
|
|
@ -254,6 +254,9 @@ GEM
|
|||
i18n-spec (0.6.0)
|
||||
iso
|
||||
ice_cube (0.16.4)
|
||||
importmap-rails (1.1.5)
|
||||
actionpack (>= 6.0.0)
|
||||
railties (>= 6.0.0)
|
||||
inherited_resources (1.13.1)
|
||||
actionpack (>= 5.2, < 7.1)
|
||||
has_scope (~> 0.6)
|
||||
|
@ -624,6 +627,7 @@ DEPENDENCIES
|
|||
i18n-js (~> 3.0.0.rc8)
|
||||
i18n-spec
|
||||
ice_cube
|
||||
importmap-rails (~> 1.1)
|
||||
inherited_resources
|
||||
jquery-rails
|
||||
kaminari
|
||||
|
|
1
app/javascript/application.js
Normal file
1
app/javascript/application.js
Normal file
|
@ -0,0 +1 @@
|
|||
// Configure your import map in config/importmap.rb. Read more: https://github.com/rails/importmap-rails
|
|
@ -8,10 +8,10 @@
|
|||
= csrf_meta_tags
|
||||
= stylesheet_link_tag "application", :media => "all"
|
||||
//%link(href="images/favicon.ico" rel="shortcut icon")
|
||||
|
||||
= yield(:head)
|
||||
= foodcoop_css_tag
|
||||
|
||||
|
||||
%body
|
||||
= yield
|
||||
|
||||
|
@ -19,7 +19,9 @@
|
|||
Javascripts
|
||||
\==================================================
|
||||
/ Placed at the end of the document so the pages load faster
|
||||
= javascript_include_tag "application"
|
||||
= javascript_importmap_tags
|
||||
= javascript_include_tag "application_legacy"
|
||||
|
||||
:javascript
|
||||
I18n.defaultLocale = "#{I18n.default_locale}";
|
||||
I18n.locale = "#{I18n.locale}";
|
||||
|
|
4
bin/importmap
Executable file
4
bin/importmap
Executable file
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env ruby
|
||||
|
||||
require_relative "../config/application"
|
||||
require "importmap/commands"
|
2
config/importmap.rb
Normal file
2
config/importmap.rb
Normal file
|
@ -0,0 +1,2 @@
|
|||
# Pin npm packages by running ./bin/importmap
|
||||
pin "application", preload: true
|
|
@ -9,4 +9,4 @@ Rails.application.config.assets.version = '1.0'
|
|||
# Precompile additional assets.
|
||||
# application.js, application.css, and all non-JS/CSS in the app/assets
|
||||
# folder are already added.
|
||||
# Rails.application.config.assets.precompile += %w( admin.js admin.css )
|
||||
Rails.application.config.assets.precompile += %w[application_legacy.js jquery.min.js]
|
||||
|
|
0
vendor/javascript/.keep
vendored
Normal file
0
vendor/javascript/.keep
vendored
Normal file
Loading…
Reference in a new issue