vite_rails 1.0.11 → 2.0.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.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +23 -0
  3. data/README.md +52 -34
  4. data/lib/tasks/vite.rake +17 -0
  5. data/lib/vite_rails.rb +5 -82
  6. data/lib/vite_rails/config.rb +11 -130
  7. data/lib/vite_rails/engine.rb +7 -11
  8. data/lib/vite_rails/installation.rb +52 -0
  9. data/lib/vite_rails/tag_helpers.rb +61 -0
  10. data/lib/vite_rails/version.rb +2 -2
  11. data/{lib/install/config/vite.json → templates/config/rails-vite.json} +1 -0
  12. data/{lib/install/javascript → templates}/entrypoints/application.js +0 -0
  13. metadata +27 -166
  14. data/CONTRIBUTING.md +0 -33
  15. data/lib/install/bin/vite +0 -17
  16. data/lib/install/binstubs.rb +0 -6
  17. data/lib/install/config/vite.config.ts +0 -11
  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 -39
  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 -14
  26. data/lib/tasks/vite/verify_install.rake +0 -23
  27. data/lib/vite_rails/builder.rb +0 -111
  28. data/lib/vite_rails/commands.rb +0 -109
  29. data/lib/vite_rails/dev_server.rb +0 -23
  30. data/lib/vite_rails/dev_server_proxy.rb +0 -57
  31. data/lib/vite_rails/helper.rb +0 -71
  32. data/lib/vite_rails/manifest.rb +0 -140
  33. data/lib/vite_rails/runner.rb +0 -53
  34. data/package.json +0 -19
  35. data/package/default.vite.json +0 -16
  36. data/test/builder_test.rb +0 -77
  37. data/test/commands_test.rb +0 -67
  38. data/test/config_test.rb +0 -133
  39. data/test/dev_server_proxy_test.rb +0 -102
  40. data/test/dev_server_test.rb +0 -9
  41. data/test/engine_rake_tasks_test.rb +0 -81
  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/config/vite.json +0 -14
  53. data/test/mounted_app/test/dummy/package.json +0 -8
  54. data/test/mounted_app/test/dummy/yarn.lock +0 -208
  55. data/test/rake_tasks_test.rb +0 -60
  56. data/test/runner_test.rb +0 -31
  57. data/test/test_app/Rakefile +0 -5
  58. data/test/test_app/app/frontend/entrypoints/application.js +0 -2
  59. data/test/test_app/bin/vite +0 -17
  60. data/test/test_app/config.ru +0 -7
  61. data/test/test_app/config/application.rb +0 -13
  62. data/test/test_app/config/environment.rb +0 -6
  63. data/test/test_app/config/vite.json +0 -18
  64. data/test/test_app/config/vite_additional_paths.json +0 -5
  65. data/test/test_app/config/vite_public_dir.json +0 -5
  66. data/test/test_app/package.json +0 -13
  67. data/test/test_app/public/vite-production/manifest.json +0 -22
  68. data/test/test_app/some.config.js +0 -0
  69. data/test/test_app/yarn.lock +0 -11
  70. data/test/test_helper.rb +0 -68
@@ -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,14 +0,0 @@
1
- {
2
- "all": {
3
- "watchAdditionalPaths": []
4
- },
5
- "development": {
6
- "autoBuild": true,
7
- "publicOutputDir": "vite-dev",
8
- "port": 3036
9
- },
10
- "test": {
11
- "autoBuild": true,
12
- "publicOutputDir": "vite-test"
13
- }
14
- }
@@ -1,8 +0,0 @@
1
- {
2
- "private": true,
3
- "license": "MIT",
4
- "devDependencies": {
5
- "vite": "^2.0.0-beta.46",
6
- "vite-plugin-ruby": "^1.0.5"
7
- }
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.34:
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.4:
192
- version "1.0.4"
193
- resolved "https://registry.yarnpkg.com/vite-plugin-ruby/-/vite-plugin-ruby-1.0.4.tgz#0f4a263fd79a082a84917a54b0881f02a3bbfa61"
194
- integrity sha512-WJE+c2TGLwcbSHzkqcwCmPcHxasUnXmx5Bi1HPO89Yo+Mggi8t/fO/WIPUF7NxSlp9q2lq5/L3Vnkt3R/tolPg==
195
- dependencies:
196
- fast-glob "^3.2.4"
197
-
198
- vite@^2.0.0-beta.46:
199
- version "2.0.0-beta.46"
200
- resolved "https://registry.yarnpkg.com/vite/-/vite-2.0.0-beta.46.tgz#9c0d35019c350fbebd17f84c4e7243fffccd1819"
201
- integrity sha512-RiiJdjiFDaM9youfcTFnCztstwBXHHSdsSATZVD5A4QSb39KJRTpSKoveFo0PT7VJM5HjOP7QC/sVOqX011F6Q==
202
- dependencies:
203
- esbuild "^0.8.34"
204
- postcss "^8.2.1"
205
- resolve "^1.19.0"
206
- rollup "^2.35.1"
207
- optionalDependencies:
208
- fsevents "~2.1.2"
@@ -1,60 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'test_helper'
4
-
5
- class RakeTasksTest < Minitest::Test
6
- def test_rake_tasks
7
- output = Dir.chdir(test_app_path) { `rake -T` }
8
- assert_includes output, 'vite:build'
9
- assert_includes output, 'vite:clean'
10
- assert_includes output, 'vite:clobber'
11
- assert_includes output, 'vite:install'
12
- assert_includes output, 'vite:install_dependencies'
13
- assert_includes output, 'vite:verify_install'
14
- end
15
-
16
- def test_rake_task_vite_check_binstubs
17
- output = Dir.chdir(test_app_path) { `rake vite:verify_install 2>&1` }
18
- refute_includes output, 'vite binstub not found.'
19
- end
20
-
21
- def test_rake_vite_install_dependencies_in_non_production_environments
22
- assert_includes test_app_dev_dependencies, 'right-pad'
23
-
24
- ViteRails.commands.send(:with_node_env, 'test') do
25
- Dir.chdir(test_app_path) do
26
- `bundle exec rake vite:install_dependencies`
27
- end
28
- end
29
-
30
- assert_includes installed_node_module_names, 'right-pad',
31
- 'Expected dev dependencies to be installed'
32
- end
33
-
34
- def test_rake_vite_install_dependencies_in_production_environment
35
- ViteRails.commands.send(:with_node_env, 'production') do
36
- Dir.chdir(test_app_path) do
37
- `bundle exec rake vite:install_dependencies`
38
- end
39
- end
40
-
41
- assert_includes installed_node_module_names, 'right-pad',
42
- 'Expected development dependencies to be installed as well'
43
- end
44
-
45
- private
46
-
47
- def test_app_path
48
- File.expand_path('test_app', __dir__)
49
- end
50
-
51
- def test_app_dev_dependencies
52
- package_json = File.expand_path('package.json', test_app_path)
53
- JSON.parse(File.read(package_json))['devDependencies']
54
- end
55
-
56
- def installed_node_module_names
57
- node_modules_path = File.expand_path('node_modules', test_app_path)
58
- Dir.chdir(node_modules_path) { Dir.glob('*') }
59
- end
60
- end