vite_rails 3.0.15 → 4.0.0.alpha1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d0826edafe9697708d9878f604b86a8abccabfcc3dfa0081cd2b0cc63c78bc83
4
- data.tar.gz: 74678206866f8d760ee7e3f3058f32ffa084b3bbfb090c0109ffa0420c225340
3
+ metadata.gz: b468faa93a51c963d70a987a45f6dbb605c3854dd9ec188d40f0a93c085508d5
4
+ data.tar.gz: a04b6b5f89227b70c1d82e3a649ee1b6d423beedc1e1408126528962ba2962a0
5
5
  SHA512:
6
- metadata.gz: 5c15982cec0cf83a71f481fe4a7c3d3d5b461216c2daa32409f9e3e2b09c20df6ee9f7952b9912aa251c65741c1593d1d98184059bccc3b87a8d42424ca482b7
7
- data.tar.gz: d30bf47565e7fa8d7fd035072fc7315b3f1d668e3cbe3ff072b1de00a47b22885a931b0ad33ef15bf8a2b4c225c290d1cdd8a65e0484a42ccd2d012fe53bda07
6
+ metadata.gz: 5d5d14601db1a186747566549bd620c1d6c534fe111a2dd9712694743ae3ba691200c56628f1a9fd08c0edbbce68da81ecd28d7e338b8fac215f2bf4b1c99373
7
+ data.tar.gz: 305be4fa2c036e0b8ef509b38fb50985f7c3a8ff8caedc608b919b436a048ffe1d06c5a136a0183ebd80faf5946882ae0a76814eac809e017477c22f7bcbbe24
data/CHANGELOG.md CHANGED
@@ -1,97 +1,9 @@
1
- ## [3.0.15](https://github.com/ElMassimo/vite_ruby/compare/vite_rails@3.0.14...vite_rails@3.0.15) (2023-06-19)
1
+ # [](https://github.com/ElMassimo/vite_ruby/compare/vite_rails@3.0.5...vite_rails@) (2022-01-18)
2
2
 
3
3
 
4
4
  ### Features
5
5
 
6
- * add nonce by default to react refresh tag (close [#249](https://github.com/ElMassimo/vite_ruby/issues/249)) ([a31f0a9](https://github.com/ElMassimo/vite_ruby/commit/a31f0a97588568a964b52005beee63217c7bcfa9))
7
- * Use javascript_tag helper for vite_react_refresh_tag ([#372](https://github.com/ElMassimo/vite_ruby/issues/372)) ([238c6bd](https://github.com/ElMassimo/vite_ruby/commit/238c6bd211c0fafaa6170f0bdd631a0f6e41d992)), closes [#249](https://github.com/ElMassimo/vite_ruby/issues/249)
8
-
9
-
10
-
11
- ## [3.0.14](https://github.com/ElMassimo/vite_ruby/compare/vite_rails@3.0.13...vite_rails@3.0.14) (2023-02-08)
12
-
13
-
14
- ### Features
15
-
16
- * allow javascript_include_tag options to vite_client_tag ([#337](https://github.com/ElMassimo/vite_ruby/issues/337)) ([417bcf3](https://github.com/ElMassimo/vite_ruby/commit/417bcf38366dd26901eb87cedd80d01118d7936f))
17
- * make vite_client_tag crossorigin: "anonymous" by default ([404a15a](https://github.com/ElMassimo/vite_ruby/commit/404a15a70c9d4fcd774735045c0d58d3e2aa37f2))
18
-
19
-
20
-
21
- ## [3.0.13](https://github.com/ElMassimo/vite_ruby/compare/vite_rails@3.0.12...vite_rails@3.0.13) (2022-11-13)
22
-
23
-
24
- ### Bug Fixes
25
-
26
- * avoid removing double extension for non-preprocessor assets ([#301](https://github.com/ElMassimo/vite_ruby/issues/301)) ([2024f62](https://github.com/ElMassimo/vite_ruby/commit/2024f62af917cabcb817c32a5fbbe709d477c19f))
27
-
28
-
29
-
30
- ## [3.0.12](https://github.com/ElMassimo/vite_ruby/compare/vite_rails@3.0.11...vite_rails@3.0.12) (2022-08-12)
31
-
32
-
33
- ### Bug Fixes
34
-
35
- * ensure rails app is initialized before inferring config ([#240](https://github.com/ElMassimo/vite_ruby/issues/240)) ([3ddc2bc](https://github.com/ElMassimo/vite_ruby/commit/3ddc2bc7873f06b6dd8e58e7c6b4e8a7fd8833f1))
36
-
37
-
38
- ### Features
39
-
40
- * allow framework-specific libraries to extend the CLI ([a0ed66f](https://github.com/ElMassimo/vite_ruby/commit/a0ed66fe64fb2549cecc358ccd60c82be44255aa))
41
-
42
-
43
-
44
- ## [3.0.11](https://github.com/ElMassimo/vite_ruby/compare/vite_rails@3.0.10...vite_rails@3.0.11) (2022-08-11)
45
-
46
-
47
- ### Bug Fixes
48
-
49
- * use javascript_include_tag in vite_client_tag ([#238](https://github.com/ElMassimo/vite_ruby/issues/238)) ([3d8b366](https://github.com/ElMassimo/vite_ruby/commit/3d8b3668b2f43dacbaf09127fa67a27767e03ffe))
50
-
51
-
52
-
53
- ## [3.0.10](https://github.com/ElMassimo/vite_ruby/compare/vite_rails@3.0.9...vite_rails@3.0.10) (2022-06-15)
54
-
55
-
56
- ### Bug Fixes
57
-
58
- * symbol error on rake enhance call ([#218](https://github.com/ElMassimo/vite_ruby/issues/218)) ([5507156](https://github.com/ElMassimo/vite_ruby/commit/550715624ceb39e1ea5e845e73dcaf5557caa66f))
59
-
60
-
61
-
62
- ## [3.0.9](https://github.com/ElMassimo/vite_ruby/compare/vite_rails@3.0.8...vite_rails@3.0.9) (2022-04-29)
63
-
64
-
65
- ### Features
66
-
67
- * add vite_asset_url helper ([#208](https://github.com/ElMassimo/vite_ruby/issues/208)) ([d269793](https://github.com/ElMassimo/vite_ruby/commit/d2697934b5a866ea5b14588b650a00dfe88454a3))
68
-
69
-
70
-
71
- ## [3.0.8](https://github.com/ElMassimo/vite_ruby/compare/vite_rails@3.0.7...vite_rails@3.0.8) (2022-04-14)
72
-
73
-
74
- ### Bug Fixes
75
-
76
- * prevent error when using a proc in asset_host (close [#202](https://github.com/ElMassimo/vite_ruby/issues/202)) ([#203](https://github.com/ElMassimo/vite_ruby/issues/203)) ([cb23a81](https://github.com/ElMassimo/vite_ruby/commit/cb23a81037651ac01d993935f68cc526ec2c844d))
77
-
78
-
79
-
80
- ## [3.0.7](https://github.com/ElMassimo/vite_ruby/compare/vite_rails@3.0.6...vite_rails@3.0.7) (2022-03-17)
81
-
82
-
83
- ### Bug Fixes
84
-
85
- * load rails environment before rake tasks (close [#193](https://github.com/ElMassimo/vite_ruby/issues/193)) ([72afbc7](https://github.com/ElMassimo/vite_ruby/commit/72afbc7ab5ca33833e9330954499bcf460fd7669))
86
-
87
-
88
-
89
- ## [3.0.6](https://github.com/ElMassimo/vite_ruby/compare/vite_rails@3.0.5...vite_rails@3.0.6) (2022-02-04)
90
-
91
-
92
- ### Bug Fixes
93
-
94
- * don't add crossorigin to included stylesheet tags (close [#189](https://github.com/ElMassimo/vite_ruby/issues/189)) ([#190](https://github.com/ElMassimo/vite_ruby/issues/190)) ([575c731](https://github.com/ElMassimo/vite_ruby/commit/575c73192fb485e8844f67b821c856d1a09db8f5))
6
+ * **experimental:** add support for Subresource Integrity via vite-plugin-manifest-sri ([0b3142c](https://github.com/ElMassimo/vite_ruby/commit/0b3142cd9d569a5f56821f53cdade337779bb0c1))
95
7
 
96
8
 
97
9
 
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  <h1 align="center">
2
2
  <a href="https://vite-ruby.netlify.app/">
3
- <img src="https://raw.githubusercontent.com/ElMassimo/vite_ruby/main/logo.svg" width="120px"/>
3
+ <img src="https://raw.githubusercontent.com/ElMassimo/vite_ruby/main/docs/public/logo.svg" width="120px"/>
4
4
  </a>
5
5
 
6
6
  <br>
data/lib/tasks/vite.rake CHANGED
@@ -2,4 +2,3 @@
2
2
 
3
3
  require 'vite_ruby'
4
4
  ViteRuby.install_tasks
5
- Rake::Task['vite:verify_install'].enhance([:environment]) if Gem.loaded_specs['rails']
@@ -1,14 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ViteRails::Config
4
- private
5
-
6
4
  # Override: Default values for a Rails application.
7
5
  def config_defaults
8
6
  require 'rails'
9
- asset_host = Rails.application&.config&.action_controller&.asset_host
10
7
  super(
11
- asset_host: asset_host.is_a?(Proc) ? nil : asset_host,
8
+ asset_host: Rails.application&.config&.action_controller&.asset_host,
12
9
  mode: Rails.env.to_s,
13
10
  root: Rails.root || Dir.pwd,
14
11
  )
@@ -2,26 +2,9 @@
2
2
 
3
3
  require 'vite_rails'
4
4
 
5
- module ViteRails::CLI
6
- end
7
-
8
- module ViteRails::CLI::Build
9
- def call(**options)
10
- ensure_rails_init
11
- super
12
- end
13
-
14
- # Internal: Attempts to initialize the Rails application.
15
- def ensure_rails_init
16
- require File.expand_path('config/environment', Dir.pwd)
17
- rescue StandardError, LoadError => error
18
- $stderr << "Unable to initialize Rails application before Vite build:\n\n\t#{ error.message }\n\n"
19
- end
20
- end
21
-
22
5
  # Internal: Extends the base installation script from Vite Ruby to work for a
23
6
  # typical Rails app.
24
- module ViteRails::CLI::Install
7
+ module ViteRails::Installation
25
8
  RAILS_TEMPLATES = Pathname.new(File.expand_path('../../templates', __dir__))
26
9
 
27
10
  # Override: Setup a typical apps/web Hanami app to use Vite.
@@ -80,5 +63,4 @@ module ViteRails::CLI::Install
80
63
  end
81
64
  end
82
65
 
83
- ViteRuby::CLI::Build.prepend(ViteRails::CLI::Build)
84
- ViteRuby::CLI::Install.prepend(ViteRails::CLI::Install)
66
+ ViteRuby::CLI::Install.prepend(ViteRails::Installation)
@@ -3,19 +3,15 @@
3
3
  # Public: Allows to render HTML tags for scripts and styles processed by Vite.
4
4
  module ViteRails::TagHelpers
5
5
  # Public: Renders a script tag for vite/client to enable HMR in development.
6
- def vite_client_tag(crossorigin: 'anonymous', **options)
6
+ def vite_client_tag
7
7
  return unless src = vite_manifest.vite_client_src
8
8
 
9
- javascript_include_tag(src, type: 'module', extname: false, crossorigin: crossorigin, **options)
9
+ tag.script(src: src, type: 'module')
10
10
  end
11
11
 
12
12
  # Public: Renders a script tag to enable HMR with React Refresh.
13
- def vite_react_refresh_tag(**options)
14
- return unless react_preamble_code = vite_manifest.react_preamble_code
15
-
16
- options[:nonce] = true if Rails::VERSION::MAJOR >= 6 && !options.key?(:nonce)
17
-
18
- javascript_tag(react_preamble_code.html_safe, type: :module, **options)
13
+ def vite_react_refresh_tag
14
+ vite_manifest.react_refresh_preamble&.html_safe
19
15
  end
20
16
 
21
17
  # Public: Resolves the path for the specified Vite asset.
@@ -26,30 +22,30 @@ module ViteRails::TagHelpers
26
22
  path_to_asset vite_manifest.path_for(name, **options)
27
23
  end
28
24
 
29
- # Public: Resolves the url for the specified Vite asset.
30
- #
31
- # Example:
32
- # <%= vite_asset_url 'calendar.css' %> # => "https://example.com/vite/assets/calendar-1016838bab065ae1e122.css"
33
- def vite_asset_url(name, **options)
34
- url_to_asset vite_manifest.path_for(name, **options)
35
- end
36
-
37
25
  # Public: Renders a <script> tag for the specified Vite entrypoints.
38
26
  def vite_javascript_tag(*names,
39
27
  type: 'module',
40
28
  asset_type: :javascript,
29
+ integrity: false,
41
30
  skip_preload_tags: false,
42
31
  skip_style_tags: false,
43
32
  crossorigin: 'anonymous',
44
33
  media: 'screen',
45
34
  **options)
46
35
  entries = vite_manifest.resolve_entries(*names, type: asset_type)
47
- tags = javascript_include_tag(*entries.fetch(:scripts), crossorigin: crossorigin, type: type, extname: false, **options)
48
- tags << vite_preload_tag(*entries.fetch(:imports), crossorigin: crossorigin, **options) unless skip_preload_tags
36
+ tags = ''.html_safe
49
37
 
50
- options[:extname] = false if Rails::VERSION::MAJOR >= 7
38
+ entries.fetch(:main).each do |src, attrs|
39
+ tags << javascript_include_tag(src, crossorigin: crossorigin, type: type, extname: false, **attrs, **options)
40
+ end
41
+
42
+ unless skip_preload_tags
43
+ entries.fetch(:imports).each do |href, attrs|
44
+ tags << vite_preload_tag(href, crossorigin: crossorigin, **attrs, **options)
45
+ end
46
+ end
51
47
 
52
- tags << stylesheet_link_tag(*entries.fetch(:stylesheets), media: media, **options) unless skip_style_tags
48
+ tags << stylesheet_link_tag(*entries.fetch(:stylesheets), media: media, crossorigin: crossorigin, **options) unless skip_style_tags
53
49
 
54
50
  tags
55
51
  end
@@ -60,12 +56,12 @@ module ViteRails::TagHelpers
60
56
  end
61
57
 
62
58
  # Public: Renders a <link> tag for the specified Vite entrypoints.
63
- def vite_stylesheet_tag(*names, **options)
64
- style_paths = names.map { |name| vite_asset_path(name, type: :stylesheet) }
65
-
66
- options[:extname] = false if Rails::VERSION::MAJOR >= 7
67
-
68
- stylesheet_link_tag(*style_paths, **options)
59
+ def vite_stylesheet_tag(*names, integrity: false, **options)
60
+ ''.html_safe.tap do |tags|
61
+ vite_manifest.resolve_entries(*names, type: :stylesheet).fetch(:main).each do |href, attrs|
62
+ tags << stylesheet_link_tag(href, **attrs, **options)
63
+ end
64
+ end
69
65
  end
70
66
 
71
67
  # Public: Renders an <img> tag for the specified Vite asset.
@@ -87,11 +83,13 @@ private
87
83
  end
88
84
 
89
85
  # Internal: Renders a modulepreload link tag.
90
- def vite_preload_tag(*sources, crossorigin:, **options)
91
- sources.map { |source|
92
- href = path_to_asset(source)
93
- try(:request).try(:send_early_hints, 'Link' => %(<#{ href }>; rel=modulepreload; as=script; crossorigin=#{ crossorigin }))
94
- tag.link(rel: 'modulepreload', href: href, as: 'script', crossorigin: crossorigin, **options)
95
- }.join("\n").html_safe
86
+ def vite_preload_tag(source, crossorigin:, **options)
87
+ href = path_to_asset(source)
88
+ try(:request).try(:send_early_hints, 'Link' => %(<#{ href }>; rel=modulepreload; as=script; crossorigin=#{ crossorigin }).tap { |hint|
89
+ if integrity = options[:integrity]
90
+ hint << "; integrity: #{ integrity }"
91
+ end
92
+ })
93
+ tag.link(rel: 'modulepreload', href: href, as: 'script', type: 'module', crossorigin: crossorigin, **options)
96
94
  end
97
95
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ViteRails
4
- VERSION = '3.0.15'
4
+ VERSION = '4.0.0.alpha1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vite_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.15
4
+ version: 4.0.0.alpha1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Máximo Mussini
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-19 00:00:00.000000000 Z
11
+ date: 2022-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -34,22 +34,16 @@ dependencies:
34
34
  name: vite_ruby
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- version: 3.2.2
40
37
  - - "~>"
41
38
  - !ruby/object:Gem::Version
42
- version: '3.0'
39
+ version: 4.0.0.alpha1
43
40
  type: :runtime
44
41
  prerelease: false
45
42
  version_requirements: !ruby/object:Gem::Requirement
46
43
  requirements:
47
- - - ">="
48
- - !ruby/object:Gem::Version
49
- version: 3.2.2
50
44
  - - "~>"
51
45
  - !ruby/object:Gem::Version
52
- version: '3.0'
46
+ version: 4.0.0.alpha1
53
47
  - !ruby/object:Gem::Dependency
54
48
  name: spring
55
49
  requirement: !ruby/object:Gem::Requirement
@@ -76,9 +70,9 @@ files:
76
70
  - README.md
77
71
  - lib/tasks/vite.rake
78
72
  - lib/vite_rails.rb
79
- - lib/vite_rails/cli.rb
80
73
  - lib/vite_rails/config.rb
81
74
  - lib/vite_rails/engine.rb
75
+ - lib/vite_rails/installation.rb
82
76
  - lib/vite_rails/tag_helpers.rb
83
77
  - lib/vite_rails/version.rb
84
78
  - templates/Procfile.dev
@@ -88,8 +82,8 @@ homepage: https://github.com/ElMassimo/vite_ruby
88
82
  licenses:
89
83
  - MIT
90
84
  metadata:
91
- source_code_uri: https://github.com/ElMassimo/vite_ruby/tree/vite_rails@3.0.15/vite_rails
92
- changelog_uri: https://github.com/ElMassimo/vite_ruby/blob/vite_rails@3.0.15/vite_rails/CHANGELOG.md
85
+ source_code_uri: https://github.com/ElMassimo/vite_ruby/tree/vite_rails@4.0.0.alpha1/vite_rails
86
+ changelog_uri: https://github.com/ElMassimo/vite_ruby/blob/vite_rails@4.0.0.alpha1/vite_rails/CHANGELOG.md
93
87
  post_install_message:
94
88
  rdoc_options: []
95
89
  require_paths:
@@ -101,11 +95,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
101
95
  version: '2.5'
102
96
  required_rubygems_version: !ruby/object:Gem::Requirement
103
97
  requirements:
104
- - - ">="
98
+ - - ">"
105
99
  - !ruby/object:Gem::Version
106
- version: '0'
100
+ version: 1.3.1
107
101
  requirements: []
108
- rubygems_version: 3.3.7
102
+ rubygems_version: 3.2.32
109
103
  signing_key:
110
104
  specification_version: 4
111
105
  summary: Use Vite in Rails and bring joy to your JavaScript experience