vite_ruby 1.2.14 → 1.2.18.pre.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -0
- data/lib/vite_ruby.rb +25 -28
- data/lib/vite_ruby/builder.rb +2 -2
- data/lib/vite_ruby/cli/install.rb +1 -1
- data/lib/vite_ruby/dev_server_proxy.rb +9 -5
- 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: bf73135bcdc5fca1765711184c1c25f6d9605e99659b963f832eada7a14f3000
|
4
|
+
data.tar.gz: 9d231937d47c050a96be530d99cb80c4568b196f8242f0c52e803cf55f8bfb52
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 92062092819c7df51342d4d3fa9ac345e89c151553e2c7c0a3193a957f53964aef9c84f4dd837abea9b7b805bd65c26a28f0b4a2fc464ff99b75601845263271
|
7
|
+
data.tar.gz: 1ede81f69afd524fa0f9fe03b944427b92ed93b111bac5a0d0b953dc630e8c9b6a74c85b4e0d1a6119275a9088b79bc38dd35608d79ed5a938f2d9bf2173c3f6
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,19 @@
|
|
1
|
+
## [1.2.17](https://github.com/ElMassimo/vite_ruby/compare/vite_ruby@1.2.16...vite_ruby@1.2.17) (2021-07-12)
|
2
|
+
|
3
|
+
* 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
|
+
|
5
|
+
|
6
|
+
|
7
|
+
## [1.2.16](https://github.com/ElMassimo/vite_ruby/compare/vite_ruby@1.2.15...vite_ruby@1.2.16) (2021-07-07)
|
8
|
+
|
9
|
+
* feat: Enable usage in engines by using `run` from the current instance ([023a61d](https://github.com/ElMassimo/vite_ruby/commit/023a61d))
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
## [1.2.15](https://github.com/ElMassimo/vite_ruby/compare/vite_ruby@1.2.14...vite_ruby@1.2.15) (2021-07-01)
|
14
|
+
|
15
|
+
|
16
|
+
|
1
17
|
## [1.2.14](https://github.com/ElMassimo/vite_ruby/compare/vite_ruby@1.2.13...vite_ruby@1.2.14) (2021-07-01)
|
2
18
|
|
3
19
|
|
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 = '^2.0.
|
21
|
+
DEFAULT_VITE_VERSION = '^2.3.8'
|
22
|
+
DEFAULT_PLUGIN_VERSION = '^2.0.4'
|
23
23
|
|
24
24
|
# Internal: Companion libraries for Vite Ruby, and their target framework.
|
25
25
|
COMPANION_LIBRARIES = {
|
@@ -35,19 +35,11 @@ class ViteRuby
|
|
35
35
|
class << self
|
36
36
|
extend Forwardable
|
37
37
|
|
38
|
-
def_delegators :instance, :config, :commands, :run_proxy?
|
38
|
+
def_delegators :instance, :config, :commands, :env, :run, :run_proxy?
|
39
39
|
def_delegators :config, :mode
|
40
40
|
|
41
41
|
def instance
|
42
|
-
@instance ||=
|
43
|
-
end
|
44
|
-
|
45
|
-
# Public: Additional environment variables to pass to Vite.
|
46
|
-
#
|
47
|
-
# Example:
|
48
|
-
# ViteRuby.env['VITE_RUBY_CONFIG_PATH'] = 'config/alternate_vite.json'
|
49
|
-
def env
|
50
|
-
@env ||= load_env_variables
|
42
|
+
@instance ||= new
|
51
43
|
end
|
52
44
|
|
53
45
|
# Internal: Refreshes the manifest.
|
@@ -60,21 +52,9 @@ class ViteRuby
|
|
60
52
|
load File.expand_path('tasks/vite.rake', __dir__)
|
61
53
|
end
|
62
54
|
|
63
|
-
# Internal:
|
64
|
-
def
|
65
|
-
|
66
|
-
end
|
67
|
-
|
68
|
-
# Internal: Refreshes the config after setting the env vars.
|
69
|
-
def reload_with(env_vars)
|
70
|
-
env.update(env_vars)
|
71
|
-
@instance = nil
|
72
|
-
config
|
73
|
-
end
|
74
|
-
|
75
|
-
# Internal: Allows to obtain any env variables for configuration options.
|
76
|
-
def load_env_variables
|
77
|
-
ENV.select { |key, _| key.start_with?(ENV_PREFIX) }
|
55
|
+
# Internal: Creates a new instance with the specified options.
|
56
|
+
def reload_with(**config_options)
|
57
|
+
@instance = new(**config_options)
|
78
58
|
end
|
79
59
|
|
80
60
|
# Internal: Detects if the application has installed a framework-specific
|
@@ -90,6 +70,10 @@ class ViteRuby
|
|
90
70
|
|
91
71
|
attr_writer :logger
|
92
72
|
|
73
|
+
def initialize(**config_options)
|
74
|
+
@config_options = config_options
|
75
|
+
end
|
76
|
+
|
93
77
|
def logger
|
94
78
|
@logger ||= Logger.new($stdout)
|
95
79
|
end
|
@@ -107,6 +91,14 @@ class ViteRuby
|
|
107
91
|
@running_at = false
|
108
92
|
end
|
109
93
|
|
94
|
+
# Public: Additional environment variables to pass to Vite.
|
95
|
+
#
|
96
|
+
# Example:
|
97
|
+
# ViteRuby.env['VITE_RUBY_CONFIG_PATH'] = 'config/alternate_vite.json'
|
98
|
+
def env
|
99
|
+
@env ||= ENV.select { |key, _| key.start_with?(ENV_PREFIX) }
|
100
|
+
end
|
101
|
+
|
110
102
|
# Public: The proxy for assets should only run in development mode.
|
111
103
|
def run_proxy?
|
112
104
|
config.mode == 'development'
|
@@ -115,6 +107,11 @@ class ViteRuby
|
|
115
107
|
false
|
116
108
|
end
|
117
109
|
|
110
|
+
# Internal: Executes the vite binary.
|
111
|
+
def run(argv, **options)
|
112
|
+
(@runner ||= ViteRuby::Runner.new(self)).run(argv, **options)
|
113
|
+
end
|
114
|
+
|
118
115
|
# Public: Keeps track of watched files and triggers builds as needed.
|
119
116
|
def builder
|
120
117
|
@builder ||= ViteRuby::Builder.new(self)
|
@@ -127,7 +124,7 @@ class ViteRuby
|
|
127
124
|
|
128
125
|
# Public: Current instance configuration for Vite.
|
129
126
|
def config
|
130
|
-
@config ||= ViteRuby::Config.resolve_config
|
127
|
+
@config ||= ViteRuby::Config.resolve_config(**@config_options)
|
131
128
|
end
|
132
129
|
|
133
130
|
# Public: Enables looking up assets managed by Vite using name and type.
|
data/lib/vite_ruby/builder.rb
CHANGED
@@ -33,7 +33,7 @@ private
|
|
33
33
|
|
34
34
|
extend Forwardable
|
35
35
|
|
36
|
-
def_delegators :@vite_ruby, :config, :logger
|
36
|
+
def_delegators :@vite_ruby, :config, :logger, :run
|
37
37
|
|
38
38
|
# Internal: Reads metadata recorded on the last build, if it exists.
|
39
39
|
def last_build_attrs
|
@@ -69,7 +69,7 @@ private
|
|
69
69
|
def build_with_vite(*args)
|
70
70
|
logger.info 'Building with Vite ⚡️'
|
71
71
|
|
72
|
-
stdout, stderr, status =
|
72
|
+
stdout, stderr, status = run(['build', *args])
|
73
73
|
log_build_result(stdout, stderr.to_s, status)
|
74
74
|
|
75
75
|
status.success?
|
@@ -72,7 +72,7 @@ private
|
|
72
72
|
def create_configuration_files
|
73
73
|
copy_template 'config/vite.config.ts', to: root.join('vite.config.ts')
|
74
74
|
setup_app_files
|
75
|
-
ViteRuby.reload_with(
|
75
|
+
ViteRuby.reload_with(config_path: config.config_path)
|
76
76
|
end
|
77
77
|
|
78
78
|
# Internal: Installs vite and vite-plugin-ruby at the project level.
|
@@ -33,7 +33,7 @@ private
|
|
33
33
|
uri = env.fetch('REQUEST_URI') { [env['PATH_INFO'], env['QUERY_STRING']].reject { |str| str.to_s.strip.empty? }.join('?') }
|
34
34
|
.sub(HOST_WITH_PORT_REGEX, '/') # Hanami adds the host and port.
|
35
35
|
.sub('.ts.js', '.ts') # Hanami's javascript helper always adds the extension.
|
36
|
-
.sub(/(\.(?!min)\w+)\.css$/, '\1') # Rails' stylesheet_link_tag always adds the extension.
|
36
|
+
.sub(/(\.(?!min|module)\w+)\.css$/, '\1') # Rails' stylesheet_link_tag always adds the extension.
|
37
37
|
env['PATH_INFO'], env['QUERY_STRING'] = (env['REQUEST_URI'] = uri).split('?')
|
38
38
|
end
|
39
39
|
|
@@ -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.delete_prefix('/')).file?
|
58
62
|
end
|
59
63
|
|
60
64
|
def vite_asset_url_prefix
|
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: 1.2.
|
4
|
+
version: 1.2.18.pre.rc1
|
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-07-
|
11
|
+
date: 2021-07-16 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@1.2.
|
202
|
-
changelog_uri: https://github.com/ElMassimo/vite_ruby/blob/vite_ruby@1.2.
|
201
|
+
source_code_uri: https://github.com/ElMassimo/vite_ruby/tree/vite_ruby@1.2.18-rc1/vite_ruby
|
202
|
+
changelog_uri: https://github.com/ElMassimo/vite_ruby/blob/vite_ruby@1.2.18-rc1/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:
|