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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7e80047ce42401b79a4aff5e69073a89673df7204100e0ce27f618fe26c5ef69
4
- data.tar.gz: 1acdf0bce6287c9736e45439e53ee714fd3cd0f7d26c287f732595f33f21982f
3
+ metadata.gz: bf73135bcdc5fca1765711184c1c25f6d9605e99659b963f832eada7a14f3000
4
+ data.tar.gz: 9d231937d47c050a96be530d99cb80c4568b196f8242f0c52e803cf55f8bfb52
5
5
  SHA512:
6
- metadata.gz: dcafb3d610855ecdc44c0a0d85fb48af5ced7c302b95f596094e75346b4cc78746a43bcfd539575e3a392e87bd2dbc55d34a26844886e9846e8491e1e8d28298
7
- data.tar.gz: 2a40d1769bb463fca1274ab1cc4cce3ebe1cdcc96c172a1eeebdbcab5a6fc40fb19cd45dc959ad4079f82b23d3fbb0909ec126f85be3a3f11a04c109ca2d3b19
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.2.3'
22
- DEFAULT_PLUGIN_VERSION = '^2.0.2'
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 ||= ViteRuby.new
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: Executes the vite binary.
64
- def run(argv, **options)
65
- ViteRuby::Runner.new(instance).run(argv, **options)
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.
@@ -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 = ViteRuby.run(['build', *args])
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('VITE_RUBY_CONFIG_PATH' => config.config_path)
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, query, referer = env['PATH_INFO'], env['QUERY_STRING'], env['HTTP_REFERER']
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 query&.start_with?('t=') # Hot Reload for a stylesheet
56
- return true if query&.start_with?('import&') # Hot Reload for an imported entrypoint
57
- return true if referer && URI.parse(referer).path.start_with?(vite_asset_url_prefix) # Entry imported from another entry.
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class ViteRuby
4
- VERSION = '1.2.14'
4
+ VERSION = '1.2.18-rc1'
5
5
  end
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.14
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-01 00:00:00.000000000 Z
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.14/vite_ruby
202
- changelog_uri: https://github.com/ElMassimo/vite_ruby/blob/vite_ruby@1.2.14/vite_ruby/CHANGELOG.md
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: '0'
216
+ version: 1.3.1
217
217
  requirements: []
218
218
  rubygems_version: 3.1.4
219
219
  signing_key: