vite_ruby 1.2.17 → 2.0.0.beta.1
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 +17 -2
- data/default.vite.json +1 -0
- data/lib/vite_ruby.rb +2 -2
- data/lib/vite_ruby/builder.rb +1 -0
- data/lib/vite_ruby/dev_server_proxy.rb +8 -4
- data/lib/vite_ruby/manifest.rb +34 -14
- data/lib/vite_ruby/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0c26998dc918c671c6391420dffcf2c2ebf944c4f649b36dd572a042cf3e2e8f
|
4
|
+
data.tar.gz: d222ac8c8acc48ab19102252194321f942a4e014791d735a209c4bf59cc2acf5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 89d0be14f7a230e73bb822d140f0207a21415c76c5e7c44cb496c736c17cf3d704ac5b86f621a23c77b05d0d79c7a1725de27f44e7587f1151da8886a6595b88
|
7
|
+
data.tar.gz: 1c3129ee66e118382b5247d16b863da6c43aee23d0bc8aa987ddb7aaa3b04f0b91c356b9b36358fddbb3e39e7145463471afed210ed8d6e727b5dc1f1fc9251a
|
data/CHANGELOG.md
CHANGED
@@ -1,10 +1,25 @@
|
|
1
|
-
##
|
1
|
+
## [1.2.20](https://github.com/ElMassimo/vite_ruby/compare/vite_ruby@1.2.18...vite_ruby@1.2.20) (2021-07-30)
|
2
|
+
|
3
|
+
|
4
|
+
### Features
|
5
|
+
|
6
|
+
* use `asset_host` for Vite client if set during development ([89a338c](https://github.com/ElMassimo/vite_ruby/commit/89a338c2f23e6b43af9dadfd937fe29c82a08b10))
|
7
|
+
* Watch Windi CSS config file by default if it exists ([842c5eb](https://github.com/ElMassimo/vite_ruby/commit/842c5eb46cd12887f28ed62cb656d81645c7239c))
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
## [1.2.18](https://github.com/ElMassimo/vite_ruby/compare/vite_ruby@1.2.17...vite_ruby@1.2.18) (2021-07-19)
|
12
|
+
|
13
|
+
* fix: Proxy entrypoint HMR requests only after verifying the file exists (close #102) ([67c22ec](https://github.com/ElMassimo/vite_ruby/commit/67c22ec)), closes [#102](https://github.com/ElMassimo/vite_ruby/issues/102)
|
14
|
+
|
15
|
+
|
16
|
+
## [1.2.17](https://github.com/ElMassimo/vite_ruby/compare/vite_ruby@1.2.16...vite_ruby@1.2.17) (2021-07-12)
|
2
17
|
|
3
18
|
* fix: Proxy CSS Modules requests to Vite.js with the correct extension (close #98) ([8976872](https://github.com/ElMassimo/vite_ruby/commit/8976872)), closes [#98](https://github.com/ElMassimo/vite_ruby/issues/98)
|
4
19
|
|
5
20
|
|
6
21
|
|
7
|
-
##
|
22
|
+
## [1.2.16](https://github.com/ElMassimo/vite_ruby/compare/vite_ruby@1.2.15...vite_ruby@1.2.16) (2021-07-07)
|
8
23
|
|
9
24
|
* feat: Enable usage in engines by using `run` from the current instance ([023a61d](https://github.com/ElMassimo/vite_ruby/commit/023a61d))
|
10
25
|
|
data/default.vite.json
CHANGED
data/lib/vite_ruby.rb
CHANGED
@@ -18,8 +18,8 @@ class ViteRuby
|
|
18
18
|
ENV_PREFIX = 'VITE_RUBY'
|
19
19
|
|
20
20
|
# Internal: Versions used by default when running `vite install`.
|
21
|
-
DEFAULT_VITE_VERSION = '^2.
|
22
|
-
DEFAULT_PLUGIN_VERSION = '^
|
21
|
+
DEFAULT_VITE_VERSION = '^2.5.0-beta.2'
|
22
|
+
DEFAULT_PLUGIN_VERSION = '^3.0.0-beta.1'
|
23
23
|
|
24
24
|
# Internal: Companion libraries for Vite Ruby, and their target framework.
|
25
25
|
COMPANION_LIBRARIES = {
|
data/lib/vite_ruby/builder.rb
CHANGED
@@ -49,12 +49,16 @@ private
|
|
49
49
|
end
|
50
50
|
|
51
51
|
def vite_should_handle?(env)
|
52
|
-
path
|
52
|
+
path = env['PATH_INFO']
|
53
53
|
return true if path.start_with?(vite_asset_url_prefix) # Vite asset
|
54
54
|
return true if path.start_with?(VITE_DEPENDENCY_PREFIX) # Packages and imports
|
55
|
-
return true if
|
56
|
-
|
57
|
-
|
55
|
+
return true if vite_entrypoint?(path) # HMR for entrypoint stylesheets and imports does not include the prefix
|
56
|
+
end
|
57
|
+
|
58
|
+
# Internal: We want to avoid checking the filesystem if possible
|
59
|
+
def vite_entrypoint?(path)
|
60
|
+
path.include?('.') &&
|
61
|
+
config.resolved_entrypoints_dir.join(path.start_with?('/') ? path[1..-1] : path).file?
|
58
62
|
end
|
59
63
|
|
60
64
|
def vite_asset_url_prefix
|
data/lib/vite_ruby/manifest.rb
CHANGED
@@ -43,7 +43,7 @@ class ViteRuby::Manifest
|
|
43
43
|
|
44
44
|
# Public: The path from where the browser can download the Vite HMR client.
|
45
45
|
def vite_client_src
|
46
|
-
|
46
|
+
prefix_asset_with_host('@vite/client') if dev_server_running?
|
47
47
|
end
|
48
48
|
|
49
49
|
# Public: The content of the preamble needed by the React Refresh plugin.
|
@@ -51,7 +51,7 @@ class ViteRuby::Manifest
|
|
51
51
|
if dev_server_running?
|
52
52
|
<<~REACT_REFRESH
|
53
53
|
<script type="module">
|
54
|
-
import RefreshRuntime from '#{
|
54
|
+
import RefreshRuntime from '#{ prefix_asset_with_host('@react-refresh') }'
|
55
55
|
RefreshRuntime.injectIntoGlobalHook(window)
|
56
56
|
window.$RefreshReg$ = () => {}
|
57
57
|
window.$RefreshSig$ = () => (type) => type
|
@@ -66,8 +66,8 @@ protected
|
|
66
66
|
# Internal: Strict version of lookup.
|
67
67
|
#
|
68
68
|
# Returns a relative path for the asset, or raises an error if not found.
|
69
|
-
def lookup!(
|
70
|
-
lookup(
|
69
|
+
def lookup!(name, **options)
|
70
|
+
lookup(name, **options) || missing_entry_error(name, **options)
|
71
71
|
end
|
72
72
|
|
73
73
|
# Internal: Computes the path for a given Vite asset using manifest.json.
|
@@ -77,10 +77,10 @@ protected
|
|
77
77
|
# Example:
|
78
78
|
# manifest.lookup('calendar.js')
|
79
79
|
# => { "file" => "/vite/assets/calendar-1016838bab065ae1e122.js", "imports" => [] }
|
80
|
-
def lookup(name,
|
80
|
+
def lookup(name, **options)
|
81
81
|
@build_mutex.synchronize { builder.build } if should_build?
|
82
82
|
|
83
|
-
find_manifest_entry(
|
83
|
+
find_manifest_entry resolve_entry_name(name, **options)
|
84
84
|
end
|
85
85
|
|
86
86
|
private
|
@@ -98,9 +98,9 @@ private
|
|
98
98
|
# Internal: Finds the specified entry in the manifest.
|
99
99
|
def find_manifest_entry(name)
|
100
100
|
if dev_server_running?
|
101
|
-
{ 'file' => prefix_vite_asset(name
|
101
|
+
{ 'file' => prefix_vite_asset(name) }
|
102
102
|
else
|
103
|
-
manifest[name
|
103
|
+
manifest[name]
|
104
104
|
end
|
105
105
|
end
|
106
106
|
|
@@ -125,6 +125,12 @@ private
|
|
125
125
|
File.join("/#{ config.public_output_dir }", path)
|
126
126
|
end
|
127
127
|
|
128
|
+
# Internal: Prefixes an asset with the `asset_host` for tags that do not use
|
129
|
+
# the framework tag helpers.
|
130
|
+
def prefix_asset_with_host(path)
|
131
|
+
File.join(config.asset_host || '/', config.public_output_dir, path)
|
132
|
+
end
|
133
|
+
|
128
134
|
# Internal: Resolves the paths that reference a manifest entry.
|
129
135
|
def resolve_references(manifest)
|
130
136
|
manifest.each_value do |entry|
|
@@ -134,12 +140,26 @@ private
|
|
134
140
|
end
|
135
141
|
end
|
136
142
|
|
143
|
+
# Internal: Resolves the manifest entry name for the specified resource.
|
144
|
+
def resolve_entry_name(name, type: nil)
|
145
|
+
name = with_file_extension(name.to_s, type)
|
146
|
+
name = name[1..-1] if name.start_with?('/')
|
147
|
+
|
148
|
+
# Prefix scripts and stylesheets with the entrypoints dir.
|
149
|
+
if (type || File.dirname(name) == '.') && !name.start_with?(config.entrypoints_dir)
|
150
|
+
File.join(config.entrypoints_dir, name)
|
151
|
+
else
|
152
|
+
name
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
137
156
|
# Internal: Adds a file extension to the file name, unless it already has one.
|
138
157
|
def with_file_extension(name, entry_type)
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
158
|
+
if File.extname(name).empty? && (ext = extension_for_type(entry_type))
|
159
|
+
"#{ name }.#{ ext }"
|
160
|
+
else
|
161
|
+
name
|
162
|
+
end
|
143
163
|
end
|
144
164
|
|
145
165
|
# Internal: Allows to receive :javascript and :stylesheet as :type in helpers.
|
@@ -153,9 +173,9 @@ private
|
|
153
173
|
end
|
154
174
|
|
155
175
|
# Internal: Raises a detailed message when an entry is missing in the manifest.
|
156
|
-
def missing_entry_error(name,
|
176
|
+
def missing_entry_error(name, **options)
|
157
177
|
raise ViteRuby::MissingEntrypointError, OpenStruct.new(
|
158
|
-
file_name:
|
178
|
+
file_name: resolve_entry_name(name, **options),
|
159
179
|
last_build: builder.last_build_metadata,
|
160
180
|
manifest: @manifest,
|
161
181
|
config: config,
|
data/lib/vite_ruby/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vite_ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0.beta.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Máximo Mussini
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-08-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dry-cli
|
@@ -198,8 +198,8 @@ homepage: https://github.com/ElMassimo/vite_ruby
|
|
198
198
|
licenses:
|
199
199
|
- MIT
|
200
200
|
metadata:
|
201
|
-
source_code_uri: https://github.com/ElMassimo/vite_ruby/tree/vite_ruby@
|
202
|
-
changelog_uri: https://github.com/ElMassimo/vite_ruby/blob/vite_ruby@
|
201
|
+
source_code_uri: https://github.com/ElMassimo/vite_ruby/tree/vite_ruby@2.0.0.beta.1/vite_ruby
|
202
|
+
changelog_uri: https://github.com/ElMassimo/vite_ruby/blob/vite_ruby@2.0.0.beta.1/vite_ruby/CHANGELOG.md
|
203
203
|
post_install_message:
|
204
204
|
rdoc_options: []
|
205
205
|
require_paths:
|
@@ -211,9 +211,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
211
211
|
version: '2.4'
|
212
212
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
213
213
|
requirements:
|
214
|
-
- - "
|
214
|
+
- - ">"
|
215
215
|
- !ruby/object:Gem::Version
|
216
|
-
version:
|
216
|
+
version: 1.3.1
|
217
217
|
requirements: []
|
218
218
|
rubygems_version: 3.1.4
|
219
219
|
signing_key:
|