vite_ruby 1.2.18 → 2.0.0.beta.3
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 +11 -5
- 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/config.rb +7 -2
- data/lib/vite_ruby/dev_server_proxy.rb +4 -5
- 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: db7a467c6b97a89c6704a7f94ff6c20b4b1bb39bd49fbb5d5f0fd67ea754fbdb
|
4
|
+
data.tar.gz: edffb992d9fda5dc7993d620037ba2866b3f1ec8bf1561b4ed4e0a420646c6fb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f2d8967f4ec47d49e4e829dfdf8aa8a087e576852fbdbe1343e1117f5397348ac40220bed5071715619a4395ea8bfc5521df58000d187e68eee69e021ddb23c5
|
7
|
+
data.tar.gz: f08b6882162c082006f4de9a3e105de5ffe9a2c55a53ffb9ec8c1659963c135c4657d7acf964df6a1e2bf521af6a2bfabbfbbde1e53d579f0620b418813eae9f
|
data/CHANGELOG.md
CHANGED
@@ -1,10 +1,16 @@
|
|
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
2
|
|
3
|
-
* chore: Avoid inline regex in dev server proxy ([77728aa](https://github.com/ElMassimo/vite_ruby/commit/77728aa))
|
4
|
-
* test: Update after experimental proxy changes ([1d2e3c7](https://github.com/ElMassimo/vite_ruby/commit/1d2e3c7))
|
5
|
-
* release: vite_ruby@1.2.18-rc1 ([be92933](https://github.com/ElMassimo/vite_ruby/commit/be92933))
|
6
|
-
* 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)
|
7
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)
|
8
14
|
|
9
15
|
|
10
16
|
## [1.2.17](https://github.com/ElMassimo/vite_ruby/compare/vite_ruby@1.2.16...vite_ruby@1.2.17) (2021-07-12)
|
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.3'
|
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
data/lib/vite_ruby/config.rb
CHANGED
@@ -30,7 +30,7 @@ class ViteRuby::Config
|
|
30
30
|
|
31
31
|
# Public: The directory where the entries are located.
|
32
32
|
def resolved_entrypoints_dir
|
33
|
-
|
33
|
+
vite_root_dir.join(entrypoints_dir)
|
34
34
|
end
|
35
35
|
|
36
36
|
# Internal: The directory where Vite stores its processing cache.
|
@@ -38,6 +38,11 @@ class ViteRuby::Config
|
|
38
38
|
root.join('node_modules/.vite')
|
39
39
|
end
|
40
40
|
|
41
|
+
# Public: The directory that Vite uses as root.
|
42
|
+
def vite_root_dir
|
43
|
+
root.join(source_code_dir)
|
44
|
+
end
|
45
|
+
|
41
46
|
# Public: Sets additional environment variables for vite-plugin-ruby.
|
42
47
|
def to_env
|
43
48
|
CONFIGURABLE_WITH_ENV.each_with_object({}) do |option, env|
|
@@ -138,7 +143,7 @@ private
|
|
138
143
|
DEFAULT_CONFIG = load_json("#{ __dir__ }/../../default.vite.json").freeze
|
139
144
|
|
140
145
|
# Internal: Configuration options that can not be provided as env vars.
|
141
|
-
NOT_CONFIGURABLE_WITH_ENV = %w[watch_additional_paths].freeze
|
146
|
+
NOT_CONFIGURABLE_WITH_ENV = %w[additional_input_globs watch_additional_paths].freeze
|
142
147
|
|
143
148
|
# Internal: Configuration options that can be provided as env vars.
|
144
149
|
CONFIGURABLE_WITH_ENV = (DEFAULT_CONFIG.keys + %w[mode root] - NOT_CONFIGURABLE_WITH_ENV).freeze
|
@@ -52,13 +52,12 @@ private
|
|
52
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
|
55
|
+
return true if file_in_vite_root?(path) # Fallback if Vite can serve the file
|
56
56
|
end
|
57
57
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
config.resolved_entrypoints_dir.join(path.start_with?('/') ? path[1..-1] : path).file?
|
58
|
+
def file_in_vite_root?(path)
|
59
|
+
path.include?('.') && # Check for extension, avoid filesystem if possible.
|
60
|
+
config.vite_root_dir.join(path.start_with?('/') ? path[1..-1] : path).file?
|
62
61
|
end
|
63
62
|
|
64
63
|
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.3
|
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-12 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.3/vite_ruby
|
202
|
+
changelog_uri: https://github.com/ElMassimo/vite_ruby/blob/vite_ruby@2.0.0.beta.3/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:
|