diff --git a/app/helpers/importmap_tags_helper.rb b/app/helpers/importmap_tags_helper.rb deleted file mode 100644 index 85e3e60..0000000 --- a/app/helpers/importmap_tags_helper.rb +++ /dev/null @@ -1,42 +0,0 @@ -# frozen_string_literal: true - -module ImportmapTagsHelper - # Setup all script tags needed to use an importmap-powered entrypoint (which defaults to application.js) - def javascript_importmap_tags(entry_point = 'application') - safe_join [ - javascript_inline_importmap_tag, - javascript_importmap_module_preload_tags, - javascript_importmap_shim_tag, - javascript_import_module_tag(entry_point) - ], "\n" - end - - # Generate an inline importmap tag using the passed `importmap_json` JSON string. - # By default, `Rails.application.config.importmap.to_json(resolver: self)` is used. - def javascript_inline_importmap_tag(importmap_json = Rails.application.config.importmap.to_json(resolver: self)) - tag.script(importmap_json.html_safe, type: 'importmap', nonce: content_security_policy_nonce, - "data-turbo-track": 'reload') - end - - # Include the es-module-shim needed to make importmaps work in browsers without native support (like Firefox + Safari). - def javascript_importmap_shim_tag - javascript_include_tag 'es-module-shims', async: true, "data-turbo-track": 'reload' - end - - # Import a named JavaScript module using a script-module tag. - def javascript_import_module_tag(module_name) - tag.script %(import "#{module_name}").html_safe, type: 'module', nonce: content_security_policy_nonce - end - - # Link tags for preloading all modules marked as preload: true in the `importmap` - # (defaults to Rails.application.config.importmap), such that they'll be fetched - # in advance by browsers supporting this link type (https://caniuse.com/?search=modulepreload). - def javascript_importmap_module_preload_tags(importmap = Rails.application.config.importmap) - javascript_module_preload_tag(*importmap.preloaded_module_paths(resolver: self)) - end - - # Link tag(s) for preloading the JavaScript module residing in `*paths`. Will return one link tag per path element. - def javascript_module_preload_tag(*paths) - safe_join(Array(paths).collect { |path| tag.link rel: 'modulepreload', href: path }, "\n") - end -end diff --git a/app/javascript/application.js b/app/javascript/application.js index 4e1504a..73fb3ba 100644 --- a/app/javascript/application.js +++ b/app/javascript/application.js @@ -1,4 +1,3 @@ -// Configure your import map in config/importmap.rb. Read more: https://github.com/rails/importmap-rails import "@hotwired/turbo-rails" import "jquery" import "./controllers"