vite_rails 3.0.2 → 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 +4 -4
- data/CHANGELOG.md +31 -0
- data/lib/vite_rails/installation.rb +5 -1
- data/lib/vite_rails/tag_helpers.rb +39 -11
- data/lib/vite_rails/version.rb +1 -1
- data/templates/entrypoints/application.js +3 -5
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b468faa93a51c963d70a987a45f6dbb605c3854dd9ec188d40f0a93c085508d5
|
4
|
+
data.tar.gz: a04b6b5f89227b70c1d82e3a649ee1b6d423beedc1e1408126528962ba2962a0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5d5d14601db1a186747566549bd620c1d6c534fe111a2dd9712694743ae3ba691200c56628f1a9fd08c0edbbce68da81ecd28d7e338b8fac215f2bf4b1c99373
|
7
|
+
data.tar.gz: 305be4fa2c036e0b8ef509b38fb50985f7c3a8ff8caedc608b919b436a048ffe1d06c5a136a0183ebd80faf5946882ae0a76814eac809e017477c22f7bcbbe24
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,34 @@
|
|
1
|
+
# [](https://github.com/ElMassimo/vite_ruby/compare/vite_rails@3.0.5...vite_rails@) (2022-01-18)
|
2
|
+
|
3
|
+
|
4
|
+
### Features
|
5
|
+
|
6
|
+
* **experimental:** add support for Subresource Integrity via vite-plugin-manifest-sri ([0b3142c](https://github.com/ElMassimo/vite_ruby/commit/0b3142cd9d569a5f56821f53cdade337779bb0c1))
|
7
|
+
|
8
|
+
|
9
|
+
|
10
|
+
## [3.0.5](https://github.com/ElMassimo/vite_ruby/compare/vite_rails@3.0.4...vite_rails@3.0.5) (2022-01-18)
|
11
|
+
|
12
|
+
|
13
|
+
### Bug Fixes
|
14
|
+
|
15
|
+
* update example setup from turbolinks to @hotwired/turbo ([e1750bf](https://github.com/ElMassimo/vite_ruby/commit/e1750bfb4b22a9a73a2b86950fb203d3e489ced6))
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
## [3.0.4](https://github.com/ElMassimo/vite_ruby/compare/vite_rails@3.0.3...vite_rails@3.0.4) (2022-01-02)
|
20
|
+
|
21
|
+
|
22
|
+
### Features
|
23
|
+
|
24
|
+
* add style-src to suggestion Content Security Policy changes ([#169](https://github.com/ElMassimo/vite_ruby/issues/169)) ([ec7f4f7](https://github.com/ElMassimo/vite_ruby/commit/ec7f4f7a030a852115b38748dd3cdb22ec3b7e47))
|
25
|
+
|
26
|
+
|
27
|
+
|
28
|
+
## [3.0.3](https://github.com/ElMassimo/vite_ruby/compare/vite_rails@3.0.2...vite_rails@3.0.3) (2021-12-22)
|
29
|
+
|
30
|
+
|
31
|
+
|
1
32
|
## [3.0.2](https://github.com/ElMassimo/vite_ruby/compare/vite_rails@3.0.1...vite_rails@3.0.2) (2021-12-12)
|
2
33
|
|
3
34
|
|
@@ -30,9 +30,13 @@ module ViteRails::Installation
|
|
30
30
|
# policy.connect_src *policy.connect_src, "ws://\#{ ViteRuby.config.host_with_port }" if Rails.env.development?
|
31
31
|
CSP
|
32
32
|
inject_line_after csp_file, 'policy.script_src', <<~CSP
|
33
|
-
# Allow @vite/client to hot reload changes in development
|
33
|
+
# Allow @vite/client to hot reload javascript changes in development
|
34
34
|
# policy.script_src *policy.script_src, :unsafe_eval, "http://\#{ ViteRuby.config.host_with_port }" if Rails.env.development?
|
35
35
|
CSP
|
36
|
+
inject_line_after csp_file, 'policy.style_src', <<~CSP
|
37
|
+
# Allow @vite/client to hot reload style changes in development
|
38
|
+
# policy.style_src *policy.style_src, :unsafe_inline if Rails.env.development?
|
39
|
+
CSP
|
36
40
|
end
|
37
41
|
|
38
42
|
# Override: Create a sample JS file and attempt to inject it in an HTML template.
|
@@ -26,15 +26,27 @@ module ViteRails::TagHelpers
|
|
26
26
|
def vite_javascript_tag(*names,
|
27
27
|
type: 'module',
|
28
28
|
asset_type: :javascript,
|
29
|
+
integrity: false,
|
29
30
|
skip_preload_tags: false,
|
30
31
|
skip_style_tags: false,
|
31
32
|
crossorigin: 'anonymous',
|
32
33
|
media: 'screen',
|
33
34
|
**options)
|
34
35
|
entries = vite_manifest.resolve_entries(*names, type: asset_type)
|
35
|
-
tags =
|
36
|
-
|
36
|
+
tags = ''.html_safe
|
37
|
+
|
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
|
47
|
+
|
37
48
|
tags << stylesheet_link_tag(*entries.fetch(:stylesheets), media: media, crossorigin: crossorigin, **options) unless skip_style_tags
|
49
|
+
|
38
50
|
tags
|
39
51
|
end
|
40
52
|
|
@@ -44,9 +56,23 @@ module ViteRails::TagHelpers
|
|
44
56
|
end
|
45
57
|
|
46
58
|
# Public: Renders a <link> tag for the specified Vite entrypoints.
|
47
|
-
def vite_stylesheet_tag(*names, **options)
|
48
|
-
|
49
|
-
|
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
|
65
|
+
end
|
66
|
+
|
67
|
+
# Public: Renders an <img> tag for the specified Vite asset.
|
68
|
+
def vite_image_tag(name, **options)
|
69
|
+
if options[:srcset] && !options[:srcset].is_a?(String)
|
70
|
+
options[:srcset] = options[:srcset].map do |src_name, size|
|
71
|
+
"#{ vite_asset_path(src_name) } #{ size }"
|
72
|
+
end.join(', ')
|
73
|
+
end
|
74
|
+
|
75
|
+
image_tag(vite_asset_path(name), options)
|
50
76
|
end
|
51
77
|
|
52
78
|
private
|
@@ -57,11 +83,13 @@ private
|
|
57
83
|
end
|
58
84
|
|
59
85
|
# Internal: Renders a modulepreload link tag.
|
60
|
-
def vite_preload_tag(
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
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)
|
66
94
|
end
|
67
95
|
end
|
data/lib/vite_rails/version.rb
CHANGED
@@ -15,16 +15,14 @@ console.log('Visit the guide for more information: ', 'https://vite-ruby.netlify
|
|
15
15
|
|
16
16
|
// Example: Load Rails libraries in Vite.
|
17
17
|
//
|
18
|
-
// import '@
|
18
|
+
// import * as Turbo from '@hotwired/turbo'
|
19
|
+
// Turbo.start()
|
19
20
|
//
|
20
|
-
// import Turbolinks from 'turbolinks'
|
21
21
|
// import ActiveStorage from '@rails/activestorage'
|
22
|
+
// ActiveStorage.start()
|
22
23
|
//
|
23
24
|
// // Import all channels.
|
24
25
|
// const channels = import.meta.globEager('./**/*_channel.js')
|
25
|
-
//
|
26
|
-
// Turbolinks.start()
|
27
|
-
// ActiveStorage.start()
|
28
26
|
|
29
27
|
// Example: Import a stylesheet in app/frontend/index.css
|
30
28
|
// import '~/index.css'
|
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:
|
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:
|
11
|
+
date: 2022-01-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -36,14 +36,14 @@ dependencies:
|
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
39
|
+
version: 4.0.0.alpha1
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
46
|
+
version: 4.0.0.alpha1
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: spring
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -82,8 +82,8 @@ homepage: https://github.com/ElMassimo/vite_ruby
|
|
82
82
|
licenses:
|
83
83
|
- MIT
|
84
84
|
metadata:
|
85
|
-
source_code_uri: https://github.com/ElMassimo/vite_ruby/tree/vite_rails@
|
86
|
-
changelog_uri: https://github.com/ElMassimo/vite_ruby/blob/vite_rails@
|
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
|
87
87
|
post_install_message:
|
88
88
|
rdoc_options: []
|
89
89
|
require_paths:
|
@@ -95,11 +95,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
95
95
|
version: '2.5'
|
96
96
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
97
97
|
requirements:
|
98
|
-
- - "
|
98
|
+
- - ">"
|
99
99
|
- !ruby/object:Gem::Version
|
100
|
-
version:
|
100
|
+
version: 1.3.1
|
101
101
|
requirements: []
|
102
|
-
rubygems_version: 3.
|
102
|
+
rubygems_version: 3.2.32
|
103
103
|
signing_key:
|
104
104
|
specification_version: 4
|
105
105
|
summary: Use Vite in Rails and bring joy to your JavaScript experience
|