vite_rails 1.0.9 → 2.0.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.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +57 -32
  4. data/lib/tasks/vite.rake +17 -0
  5. data/lib/vite_rails.rb +5 -82
  6. data/lib/vite_rails/config.rb +11 -112
  7. data/lib/vite_rails/engine.rb +7 -11
  8. data/lib/vite_rails/installation.rb +47 -0
  9. data/lib/vite_rails/tag_helpers.rb +61 -0
  10. data/lib/vite_rails/version.rb +2 -2
  11. data/{test/mounted_app/test/dummy/config/vite.json → templates/config/rails-vite.json} +1 -0
  12. data/{lib/install/javascript → templates}/entrypoints/application.js +0 -0
  13. metadata +25 -127
  14. data/lib/install/bin/vite +0 -17
  15. data/lib/install/binstubs.rb +0 -6
  16. data/lib/install/config/vite.config.ts +0 -11
  17. data/lib/install/config/vite.json +0 -14
  18. data/lib/install/template.rb +0 -40
  19. data/lib/tasks/vite/binstubs.rake +0 -12
  20. data/lib/tasks/vite/build.rake +0 -29
  21. data/lib/tasks/vite/clean.rake +0 -23
  22. data/lib/tasks/vite/clobber.rake +0 -20
  23. data/lib/tasks/vite/info.rake +0 -20
  24. data/lib/tasks/vite/install.rake +0 -12
  25. data/lib/tasks/vite/install_dependencies.rake +0 -20
  26. data/lib/tasks/vite/verify_install.rake +0 -23
  27. data/lib/vite_rails/builder.rb +0 -120
  28. data/lib/vite_rails/commands.rb +0 -108
  29. data/lib/vite_rails/dev_server.rb +0 -23
  30. data/lib/vite_rails/dev_server_proxy.rb +0 -58
  31. data/lib/vite_rails/helper.rb +0 -69
  32. data/lib/vite_rails/manifest.rb +0 -139
  33. data/lib/vite_rails/runner.rb +0 -53
  34. data/package.json +0 -16
  35. data/package/default.vite.json +0 -15
  36. data/test/builder_test.rb +0 -77
  37. data/test/commands_test.rb +0 -67
  38. data/test/configuration_test.rb +0 -122
  39. data/test/dev_server_proxy_test.rb +0 -101
  40. data/test/dev_server_test.rb +0 -9
  41. data/test/engine_rake_tasks_test.rb +0 -80
  42. data/test/helper_test.rb +0 -70
  43. data/test/manifest_test.rb +0 -79
  44. data/test/mode_test.rb +0 -16
  45. data/test/mounted_app/Rakefile +0 -6
  46. data/test/mounted_app/test/dummy/Rakefile +0 -5
  47. data/test/mounted_app/test/dummy/bin/rails +0 -5
  48. data/test/mounted_app/test/dummy/bin/rake +0 -5
  49. data/test/mounted_app/test/dummy/config.ru +0 -7
  50. data/test/mounted_app/test/dummy/config/application.rb +0 -12
  51. data/test/mounted_app/test/dummy/config/environment.rb +0 -5
  52. data/test/mounted_app/test/dummy/package.json +0 -8
  53. data/test/mounted_app/test/dummy/yarn.lock +0 -208
  54. data/test/rake_tasks_test.rb +0 -60
  55. data/test/runner_test.rb +0 -31
  56. data/test/test_app/Rakefile +0 -5
  57. data/test/test_app/app/frontend/entrypoints/application.js +0 -2
  58. data/test/test_app/bin/vite +0 -17
  59. data/test/test_app/config.ru +0 -7
  60. data/test/test_app/config/application.rb +0 -13
  61. data/test/test_app/config/environment.rb +0 -6
  62. data/test/test_app/config/vite.json +0 -18
  63. data/test/test_app/config/vite_additional_paths.json +0 -5
  64. data/test/test_app/config/vite_public_dir.json +0 -5
  65. data/test/test_app/package.json +0 -13
  66. data/test/test_app/public/vite-production/manifest.json +0 -22
  67. data/test/test_app/some.config.js +0 -0
  68. data/test/test_app/yarn.lock +0 -11
  69. data/test/test_helper.rb +0 -68
@@ -1,101 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'test_helper'
4
-
5
- class DevServerProxyTest < ViteRails::Test
6
- include Rack::Test::Methods
7
-
8
- def app
9
- # Capture all changes to the env made by the proxy.
10
- capture_app = Rack::Builder.new.run(->(env) {
11
- [200, { 'Content-Type' => 'application/json' }, env.to_json]
12
- })
13
- # Avoid actually using the proxy.
14
- Rack::Proxy.define_method(:perform_request) { |env| capture_app.call(env) }
15
-
16
- ViteRails::DevServerProxy.new(capture_app)
17
- end
18
-
19
- def test_non_asset
20
- get_with_dev_server_running '/'
21
- assert_not_forwarded
22
- end
23
-
24
- def test_non_vite_asset
25
- get_with_dev_server_running '/example_import.js'
26
- assert_not_forwarded
27
- end
28
-
29
- def test_vite_asset
30
- get_with_dev_server_running '/vite-production/application.js'
31
- assert_forwarded to: '/application.js'
32
- end
33
-
34
- def test_vite_client
35
- get_with_dev_server_running '/@vite/client'
36
- assert_forwarded to: '/@vite/client'
37
- end
38
-
39
- def test_vite_import
40
- get_with_dev_server_running '/@fs//package/example/app/frontend/App.vue?import&t=1611322300214&vue&type=style&index=0&lang.css'
41
- assert_forwarded to: '/@fs//package/example/app/frontend/App.vue?import&t=1611322300214&vue&type=style&index=0&lang.css'
42
- end
43
-
44
- def test_hmr_for_stylesheet
45
- get_with_dev_server_running '/colored.css?t=1611322562923'
46
- assert_forwarded to: '/colored.css?t=1611322562923'
47
- end
48
-
49
- def test_hmr_for_imported_entrypoint
50
- get_with_dev_server_running '/colored.css?import&t=1611322562923'
51
- assert_forwarded to: '/colored.css?import&t=1611322562923'
52
- end
53
-
54
- def test_entrypoint_imported_from_entrypoint
55
- header 'Referer', 'http://localhost:3000/vite-production/application.js'
56
- get_with_dev_server_running '/example_import.js'
57
- assert_forwarded to: '/example_import.js'
58
- end
59
-
60
- def test_without_dev_server_running
61
- get '/vite-production/application.js'
62
- assert_not_forwarded
63
-
64
- get '/colored.css?import&t=1611322562923'
65
- assert_not_forwarded
66
-
67
- header 'Referer', 'http://localhost:3000/vite-production/application.js'
68
- get '/example_import.js'
69
- assert_not_forwarded
70
- end
71
-
72
- private
73
-
74
- def get_with_dev_server_running(*args)
75
- with_dev_server_running {
76
- get(*args)
77
- }
78
- end
79
-
80
- def assert_not_forwarded
81
- assert last_response.ok?
82
- env = JSON.parse(last_response.body)
83
- assert_nil env['HTTP_X_FORWARDED_HOST']
84
- assert_nil env['HTTP_X_FORWARDED_PORT']
85
- end
86
-
87
- def assert_forwarded(to: nil)
88
- assert last_response.ok?
89
- env = JSON.parse(last_response.body)
90
-
91
- assert_equal ViteRails.config.host, env['HTTP_X_FORWARDED_HOST']
92
- assert_equal ViteRails.config.port, Integer(env['HTTP_X_FORWARDED_PORT'])
93
-
94
- return unless to
95
-
96
- path, query = to.split('?')
97
- assert_equal path, env['PATH_INFO']
98
- assert_equal query, env['QUERY_STRING']
99
- assert_equal to, env['REQUEST_URI']
100
- end
101
- end
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'test_helper'
4
-
5
- class DevServerTest < ViteRails::Test
6
- def test_running?
7
- refute ViteRails.dev_server.running?
8
- end
9
- end
@@ -1,80 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'test_helper'
4
-
5
- class EngineRakeTasksTest < Minitest::Test
6
- def setup
7
- remove_vite_files
8
- end
9
-
10
- def teardown
11
- remove_vite_files
12
- end
13
-
14
- def test_tasks_mounted
15
- output = within_mounted_app { `bundle exec rake -T` }
16
- assert_includes output, 'app:vite'
17
- end
18
-
19
- def test_rake_tasks
20
- within_mounted_app { `bundle exec rake app:vite:binstubs` }
21
- assert vite_binstub_path.exist?
22
-
23
- within_mounted_app { `bundle exec rake app:vite:install` }
24
- assert vite_config_ts_path.exist?
25
- assert app_frontend_dir.exist?
26
-
27
- within_mounted_app { `bundle exec rake app:vite:build` }
28
- assert app_public_dir.exist?
29
- assert app_public_dir.join('manifest.json').exist?
30
- assert app_public_dir.join('assets').exist?
31
-
32
- within_mounted_app { `bundle exec rake app:vite:clean` }
33
- assert app_public_dir.join('manifest.json').exist? # Still fresh
34
-
35
- within_mounted_app { `bundle exec rake app:vite:clean[0,0]` }
36
- refute app_public_dir.join('manifest.json').exist?
37
-
38
- within_mounted_app { `bundle exec rake app:vite:clobber` }
39
- refute app_public_dir.exist?
40
- rescue Minitest::Assertion => error
41
- raise error unless Rails.gem_version >= Gem::Version.new('6.1.0')
42
- end
43
-
44
- private
45
-
46
- def within_mounted_app
47
- Dir.chdir(mounted_app_path) { yield }
48
- end
49
-
50
- def mounted_app_path
51
- Pathname.new(File.expand_path(__dir__)).join('mounted_app')
52
- end
53
-
54
- def root_dir
55
- mounted_app_path.join('test/dummy')
56
- end
57
-
58
- def vite_binstub_path
59
- root_dir.join('bin/vite')
60
- end
61
-
62
- def vite_config_ts_path
63
- root_dir.join('vite.config.ts')
64
- end
65
-
66
- def app_frontend_dir
67
- root_dir.join('app/frontend')
68
- end
69
-
70
- def app_public_dir
71
- root_dir.join('public/vite-dev')
72
- end
73
-
74
- def remove_vite_files
75
- vite_binstub_path.delete if vite_binstub_path.exist?
76
- vite_config_ts_path.delete if vite_config_ts_path.exist?
77
- app_frontend_dir.rmtree if app_frontend_dir.exist?
78
- app_public_dir.rmtree if app_public_dir.exist?
79
- end
80
- end
data/test/helper_test.rb DELETED
@@ -1,70 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'test_helper'
4
-
5
- class HelperTest < ActionView::TestCase
6
- include ViteRailsTestHelpers
7
-
8
- tests ViteRails::Helper
9
-
10
- attr_reader :request
11
-
12
- def setup
13
- @request = Class.new do
14
- def send_early_hints(links) end
15
-
16
- def base_url
17
- 'https://example.com'
18
- end
19
- end.new
20
- end
21
-
22
- def test_vite_client_tag
23
- assert_nil vite_client_tag
24
- with_dev_server_running {
25
- assert_equal '<script src="/@vite/client" type="module"></script>', vite_client_tag
26
- }
27
- end
28
-
29
- def test_vite_asset_path
30
- assert_equal '/vite-production/assets/colored.1173bfe0.js', vite_asset_path('colored.js')
31
- assert_equal '/vite-production/assets/colored.84277fd6.css', vite_asset_path('colored.css')
32
- with_dev_server_running {
33
- assert_equal '/vite-production/colored.js', vite_asset_path('colored.js')
34
- assert_equal '/vite-production/colored.css', vite_asset_path('colored.css')
35
- }
36
- end
37
-
38
- def test_vite_stylesheet_tag
39
- assert_equal %(<link rel="stylesheet" media="screen" href="/vite-production/assets/colored.84277fd6.css" />),
40
- vite_stylesheet_tag('colored')
41
-
42
- assert_equal vite_stylesheet_tag('colored'), vite_stylesheet_tag('colored.css')
43
-
44
- with_dev_server_running {
45
- assert_equal %(<link rel="stylesheet" media="screen" href="/vite-production/colored.css" />),
46
- vite_stylesheet_tag('colored')
47
-
48
- assert_equal vite_stylesheet_tag('colored'), vite_stylesheet_tag('colored.css')
49
- }
50
- end
51
-
52
- def test_vite_javascript_tag
53
- assert_equal [
54
- %(<script src="/vite-production/assets/application.a0ba047e.js" crossorigin="anonymous" type="module"></script>),
55
- %(<link rel="preload" href="/vite-production/assets/example_import.8e1fddc0.js" as="script" type="text/javascript" crossorigin="anonymous">),
56
- %(<link rel="stylesheet" media="screen" href="/vite-production/assets/application.cccfef34.css" />),
57
- ].join, vite_javascript_tag('application')
58
-
59
- assert_equal vite_javascript_tag('application'), vite_javascript_tag('application.js')
60
- assert_equal vite_javascript_tag('application'), vite_typescript_tag('application')
61
-
62
- with_dev_server_running {
63
- assert_equal %(<script src="/vite-production/application.js" crossorigin="anonymous" type="module"></script>),
64
- vite_javascript_tag('application')
65
-
66
- assert_equal %(<script src="/vite-production/application.ts.js" crossorigin="anonymous" type="module"></script>),
67
- vite_typescript_tag('application')
68
- }
69
- end
70
- end
@@ -1,79 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'test_helper'
4
-
5
- class ManifestTest < ViteRails::Test
6
- def test_lookup_exception!
7
- asset_file = 'calendar.js'
8
-
9
- error = assert_raises_manifest_missing_entry_error do
10
- ViteRails.manifest.lookup!(asset_file)
11
- end
12
-
13
- assert_match "Vite Rails can't find #{ asset_file } in #{ manifest_path }", error.message
14
- end
15
-
16
- def test_lookup_with_type_exception!
17
- asset_file = 'calendar'
18
-
19
- error = assert_raises_manifest_missing_entry_error do
20
- ViteRails.manifest.lookup!(asset_file, type: :javascript)
21
- end
22
-
23
- assert_match "Vite Rails can't find #{ asset_file }.js in #{ manifest_path }", error.message
24
- end
25
-
26
- def test_lookup_success!
27
- entry = {
28
- 'file' => '/vite-production/assets/application.a0ba047e.js',
29
- 'imports' => [
30
- '/vite-production/assets/example_import.8e1fddc0.js',
31
- ],
32
- }
33
- assert_equal entry, ViteRails.manifest.lookup!('application.js', type: :javascript)
34
- assert_equal entry, ViteRails.manifest.lookup!('application', type: :typescript)
35
- end
36
-
37
- def test_lookup_success_with_dev_server_running!
38
- entry = { 'file' => '/vite-production/application.js' }
39
- with_dev_server_running {
40
- assert_equal entry, ViteRails.manifest.lookup!('application.js')
41
- }
42
- entry = { 'file' => '/vite-production/application.ts' }
43
- with_dev_server_running {
44
- assert_equal entry, ViteRails.manifest.lookup!('application', type: :typescript)
45
- }
46
- end
47
-
48
- def test_lookup_nil
49
- assert_nil ViteRails.manifest.lookup('foo.js')
50
- end
51
-
52
- def test_lookup_success
53
- entry = { 'file' => '/vite-production/assets/application.cccfef34.css', 'imports' => nil }
54
- assert_equal entry, ViteRails.manifest.lookup('application.css')
55
- assert_equal entry, ViteRails.manifest.lookup('application.css', type: :stylesheet)
56
- assert_equal entry, ViteRails.manifest.lookup('application', type: :stylesheet)
57
- end
58
-
59
- def test_lookup_success_with_dev_server_running
60
- entry = { 'file' => '/vite-production/application.css' }
61
- with_dev_server_running {
62
- assert_equal entry, ViteRails.manifest.lookup('application', type: :stylesheet)
63
- }
64
- end
65
-
66
- private
67
-
68
- def assert_raises_manifest_missing_entry_error(&block)
69
- error = nil
70
- ViteRails.config.stub :auto_build, false do
71
- error = assert_raises ViteRails::Manifest::MissingEntryError, &block
72
- end
73
- error
74
- end
75
-
76
- def manifest_path
77
- File.expand_path File.join(File.dirname(__FILE__), 'test_app/public/vite-production', 'manifest.json').to_s
78
- end
79
- end
data/test/mode_test.rb DELETED
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'test_helper'
4
-
5
- class ModeTest < ViteRails::Test
6
- def test_mode
7
- assert_equal Rails.env, ViteRails.config.mode
8
- assert_equal ViteRails.config.mode, ViteRails.mode
9
- end
10
-
11
- def test_mode_with_rails_env
12
- with_rails_env('staging') do |config|
13
- assert_equal 'staging', config.mode
14
- end
15
- end
16
- end
@@ -1,6 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'bundler/setup'
4
-
5
- APP_RAKEFILE = File.expand_path('test/dummy/Rakefile', __dir__)
6
- load 'rails/tasks/engine.rake'
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative 'config/application'
4
-
5
- Rails.application.load_tasks
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- APP_PATH = File.expand_path('../config/application', __dir__)
5
- require 'rails/commands'
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- require 'rake'
5
- Rake.application.run
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # This file allows the `Rails.root` to be correctly determined.
4
-
5
- require_relative 'config/environment'
6
-
7
- run Rails.application
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'action_controller/railtie'
4
- require 'action_view/railtie'
5
- require 'vite_rails'
6
-
7
- module TestDummyApp
8
- class Application < Rails::Application
9
- config.secret_key_base = 'abcdef'
10
- config.eager_load = true
11
- end
12
- end
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative 'application'
4
-
5
- Rails.application.initialize!
@@ -1,8 +0,0 @@
1
- {
2
- "private": true,
3
- "dependencies": {
4
- "vite": "^2.0.0-beta.34",
5
- "vite-plugin-ruby": "^1.0.2"
6
- },
7
- "license": "MIT"
8
- }
@@ -1,208 +0,0 @@
1
- # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
- # yarn lockfile v1
3
-
4
-
5
- "@nodelib/fs.scandir@2.1.4":
6
- version "2.1.4"
7
- resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69"
8
- integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==
9
- dependencies:
10
- "@nodelib/fs.stat" "2.0.4"
11
- run-parallel "^1.1.9"
12
-
13
- "@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2":
14
- version "2.0.4"
15
- resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655"
16
- integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==
17
-
18
- "@nodelib/fs.walk@^1.2.3":
19
- version "1.2.6"
20
- resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063"
21
- integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==
22
- dependencies:
23
- "@nodelib/fs.scandir" "2.1.4"
24
- fastq "^1.6.0"
25
-
26
- braces@^3.0.1:
27
- version "3.0.2"
28
- resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
29
- integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
30
- dependencies:
31
- fill-range "^7.0.1"
32
-
33
- colorette@^1.2.1:
34
- version "1.2.1"
35
- resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b"
36
- integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==
37
-
38
- esbuild@^0.8.26:
39
- version "0.8.34"
40
- resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.8.34.tgz#16b4ac58f74c821d2c5a8c2f0585ca96a38ab4e6"
41
- integrity sha512-tnr0V1ooakYr1aRLXQLzCn2GVG1kBTW3FWpRyC+NgrR3ntsouVpJOlTOV0BS4YLATx3/c+x3h/uBq9lWJlUAtQ==
42
-
43
- fast-glob@^3.2.4:
44
- version "3.2.5"
45
- resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661"
46
- integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==
47
- dependencies:
48
- "@nodelib/fs.stat" "^2.0.2"
49
- "@nodelib/fs.walk" "^1.2.3"
50
- glob-parent "^5.1.0"
51
- merge2 "^1.3.0"
52
- micromatch "^4.0.2"
53
- picomatch "^2.2.1"
54
-
55
- fastq@^1.6.0:
56
- version "1.10.0"
57
- resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.10.0.tgz#74dbefccade964932cdf500473ef302719c652bb"
58
- integrity sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==
59
- dependencies:
60
- reusify "^1.0.4"
61
-
62
- fill-range@^7.0.1:
63
- version "7.0.1"
64
- resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
65
- integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
66
- dependencies:
67
- to-regex-range "^5.0.1"
68
-
69
- fsevents@~2.1.2:
70
- version "2.1.3"
71
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
72
- integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
73
-
74
- function-bind@^1.1.1:
75
- version "1.1.1"
76
- resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
77
- integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
78
-
79
- glob-parent@^5.1.0:
80
- version "5.1.1"
81
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229"
82
- integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==
83
- dependencies:
84
- is-glob "^4.0.1"
85
-
86
- has@^1.0.3:
87
- version "1.0.3"
88
- resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
89
- integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
90
- dependencies:
91
- function-bind "^1.1.1"
92
-
93
- is-core-module@^2.1.0:
94
- version "2.2.0"
95
- resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a"
96
- integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==
97
- dependencies:
98
- has "^1.0.3"
99
-
100
- is-extglob@^2.1.1:
101
- version "2.1.1"
102
- resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
103
- integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
104
-
105
- is-glob@^4.0.1:
106
- version "4.0.1"
107
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
108
- integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
109
- dependencies:
110
- is-extglob "^2.1.1"
111
-
112
- is-number@^7.0.0:
113
- version "7.0.0"
114
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
115
- integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
116
-
117
- merge2@^1.3.0:
118
- version "1.4.1"
119
- resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
120
- integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
121
-
122
- micromatch@^4.0.2:
123
- version "4.0.2"
124
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259"
125
- integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==
126
- dependencies:
127
- braces "^3.0.1"
128
- picomatch "^2.0.5"
129
-
130
- nanoid@^3.1.20:
131
- version "3.1.20"
132
- resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788"
133
- integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==
134
-
135
- path-parse@^1.0.6:
136
- version "1.0.6"
137
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
138
- integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
139
-
140
- picomatch@^2.0.5, picomatch@^2.2.1:
141
- version "2.2.2"
142
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
143
- integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
144
-
145
- postcss@^8.2.1:
146
- version "8.2.4"
147
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.4.tgz#20a98a39cf303d15129c2865a9ec37eda0031d04"
148
- integrity sha512-kRFftRoExRVXZlwUuay9iC824qmXPcQQVzAjbCCgjpXnkdMCJYBu2gTwAaFBzv8ewND6O8xFb3aELmEkh9zTzg==
149
- dependencies:
150
- colorette "^1.2.1"
151
- nanoid "^3.1.20"
152
- source-map "^0.6.1"
153
-
154
- resolve@^1.19.0:
155
- version "1.19.0"
156
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c"
157
- integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==
158
- dependencies:
159
- is-core-module "^2.1.0"
160
- path-parse "^1.0.6"
161
-
162
- reusify@^1.0.4:
163
- version "1.0.4"
164
- resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
165
- integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
166
-
167
- rollup@^2.35.1:
168
- version "2.37.1"
169
- resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.37.1.tgz#aa7aadffd75c80393f9314f9857e851b0ffd34e7"
170
- integrity sha512-V3ojEeyGeSdrMSuhP3diBb06P+qV4gKQeanbDv+Qh/BZbhdZ7kHV0xAt8Yjk4GFshq/WjO7R4c7DFM20AwTFVQ==
171
- optionalDependencies:
172
- fsevents "~2.1.2"
173
-
174
- run-parallel@^1.1.9:
175
- version "1.1.10"
176
- resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.10.tgz#60a51b2ae836636c81377df16cb107351bcd13ef"
177
- integrity sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==
178
-
179
- source-map@^0.6.1:
180
- version "0.6.1"
181
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
182
- integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
183
-
184
- to-regex-range@^5.0.1:
185
- version "5.0.1"
186
- resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
187
- integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
188
- dependencies:
189
- is-number "^7.0.0"
190
-
191
- vite-plugin-ruby@^1.0.2:
192
- version "1.0.2"
193
- resolved "https://registry.yarnpkg.com/vite-plugin-ruby/-/vite-plugin-ruby-1.0.2.tgz#9c193982c912b6399d9b269136e533201b445fb1"
194
- integrity sha512-m+CIyHiZElaW4TpdtyVQXnvLbz5ovYSwo5bTgr/ODLPMgmAqTaZu9GImPkIMZwp8PmBWnHT8h6vUtnIq0yFLOg==
195
- dependencies:
196
- fast-glob "^3.2.4"
197
-
198
- vite@^2.0.0-beta.34:
199
- version "2.0.0-beta.36"
200
- resolved "https://registry.yarnpkg.com/vite/-/vite-2.0.0-beta.36.tgz#ccecac854ded0b7c0fe14c52c0460e1c23a9c70b"
201
- integrity sha512-+Q/Twq1/tpNQIZl0HSFTqiEuP7lXj+6H/f9q63+s5I2K/sqgSUajL3PL7W9uUUIv9dYpJ1eLqkO42ppH9w9Ldw==
202
- dependencies:
203
- esbuild "^0.8.26"
204
- postcss "^8.2.1"
205
- resolve "^1.19.0"
206
- rollup "^2.35.1"
207
- optionalDependencies:
208
- fsevents "~2.1.2"