vite_rails 3.0.2 → 4.0.0.alpha1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|