vite_rails 1.0.8 → 1.0.9
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 +5 -1
- data/CONTRIBUTING.md +0 -1
- data/lib/install/template.rb +1 -1
- data/lib/tasks/vite/build.rake +1 -5
- data/lib/tasks/vite/clean.rake +1 -3
- data/lib/tasks/vite/verify_install.rake +3 -3
- data/lib/vite_rails.rb +14 -25
- data/lib/vite_rails/builder.rb +11 -4
- data/lib/vite_rails/commands.rb +50 -10
- data/lib/vite_rails/config.rb +35 -23
- data/lib/vite_rails/dev_server_proxy.rb +27 -18
- data/lib/vite_rails/helper.rb +4 -2
- data/lib/vite_rails/manifest.rb +4 -3
- data/lib/vite_rails/runner.rb +2 -5
- data/lib/vite_rails/version.rb +1 -1
- data/package.json +1 -1
- data/test/builder_test.rb +27 -22
- data/test/commands_test.rb +67 -0
- data/test/configuration_test.rb +88 -46
- data/test/dev_server_proxy_test.rb +101 -0
- data/test/dev_server_test.rb +0 -30
- data/test/engine_rake_tasks_test.rb +55 -17
- data/test/helper_test.rb +37 -105
- data/test/manifest_test.rb +33 -29
- data/test/mode_test.rb +6 -11
- data/test/mounted_app/test/dummy/config/vite.json +5 -11
- data/test/mounted_app/test/dummy/package.json +2 -1
- data/test/mounted_app/test/dummy/yarn.lock +208 -0
- data/test/rake_tasks_test.rb +5 -19
- data/test/runner_test.rb +31 -0
- data/test/test_app/app/{javascript → frontend}/entrypoints/application.js +0 -0
- data/test/test_app/config/vite.json +0 -2
- data/test/test_app/config/vite_additional_paths.json +5 -0
- data/test/test_app/config/vite_public_dir.json +5 -0
- data/test/test_app/public/vite-production/manifest.json +22 -0
- data/test/test_helper.rb +48 -14
- metadata +21 -23
- data/test/command_test.rb +0 -35
- data/test/dev_server_runner_test.rb +0 -83
- data/test/test_app/app/javascript/entrypoints/multi_entry.css +0 -4
- data/test/test_app/app/javascript/entrypoints/multi_entry.js +0 -4
- data/test/test_app/config/vite_public_root.yml +0 -20
- data/test/test_app/public/vite/manifest.json +0 -36
- data/test/vite_runner_test.rb +0 -59
- data/test/webpacker_test.rb +0 -15
@@ -0,0 +1,208 @@
|
|
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"
|
data/test/rake_tasks_test.rb
CHANGED
@@ -5,37 +5,23 @@ require 'test_helper'
|
|
5
5
|
class RakeTasksTest < Minitest::Test
|
6
6
|
def test_rake_tasks
|
7
7
|
output = Dir.chdir(test_app_path) { `rake -T` }
|
8
|
-
assert_includes output, '
|
9
|
-
assert_includes output, 'vite:check_binstubs'
|
10
|
-
assert_includes output, 'vite:check_node'
|
11
|
-
assert_includes output, 'vite:check_yarn'
|
8
|
+
assert_includes output, 'vite:build'
|
12
9
|
assert_includes output, 'vite:clean'
|
13
10
|
assert_includes output, 'vite:clobber'
|
14
|
-
assert_includes output, 'vite:compile'
|
15
11
|
assert_includes output, 'vite:install'
|
12
|
+
assert_includes output, 'vite:install_dependencies'
|
16
13
|
assert_includes output, 'vite:verify_install'
|
17
14
|
end
|
18
15
|
|
19
16
|
def test_rake_task_vite_check_binstubs
|
20
|
-
output = Dir.chdir(test_app_path) { `rake vite:
|
17
|
+
output = Dir.chdir(test_app_path) { `rake vite:verify_install 2>&1` }
|
21
18
|
refute_includes output, 'vite binstub not found.'
|
22
19
|
end
|
23
20
|
|
24
|
-
def test_check_node_version
|
25
|
-
output = Dir.chdir(test_app_path) { `rake vite:check_node 2>&1` }
|
26
|
-
refute_includes output, 'ViteRails requires Node.js'
|
27
|
-
end
|
28
|
-
|
29
|
-
def test_check_yarn_version
|
30
|
-
output = Dir.chdir(test_app_path) { `rake vite:check_yarn 2>&1` }
|
31
|
-
refute_includes output, 'Yarn not installed'
|
32
|
-
refute_includes output, 'ViteRails requires Yarn'
|
33
|
-
end
|
34
|
-
|
35
21
|
def test_rake_vite_install_dependencies_in_non_production_environments
|
36
22
|
assert_includes test_app_dev_dependencies, 'right-pad'
|
37
23
|
|
38
|
-
ViteRails.with_node_env
|
24
|
+
ViteRails.commands.send(:with_node_env, 'test') do
|
39
25
|
Dir.chdir(test_app_path) do
|
40
26
|
`bundle exec rake vite:install_dependencies`
|
41
27
|
end
|
@@ -46,7 +32,7 @@ class RakeTasksTest < Minitest::Test
|
|
46
32
|
end
|
47
33
|
|
48
34
|
def test_rake_vite_install_dependencies_in_production_environment
|
49
|
-
ViteRails.with_node_env
|
35
|
+
ViteRails.commands.send(:with_node_env, 'production') do
|
50
36
|
Dir.chdir(test_app_path) do
|
51
37
|
`bundle exec rake vite:install_dependencies`
|
52
38
|
end
|
data/test/runner_test.rb
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_helper'
|
4
|
+
|
5
|
+
class RunnerTest < ViteRails::Test
|
6
|
+
def test_dev_server_command
|
7
|
+
assert_run_command(flags: ['--mode', 'production'])
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_dev_server_command_via_yarn
|
11
|
+
assert_run_command(flags: ['--mode', 'production'], use_yarn: true)
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_dev_server_command_with_argument
|
15
|
+
assert_run_command('--quiet', flags: ['--mode', 'production'])
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_build_command
|
19
|
+
assert_run_command('build', flags: ['--mode', 'production'])
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_build_command_via_yarn
|
23
|
+
assert_run_command('build', flags: ['--mode', 'production'], use_yarn: true)
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_build_command_with_argument
|
27
|
+
with_rails_env('development') do
|
28
|
+
assert_run_command('build', '--emptyOutDir', flags: ['--mode', 'development'])
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
File without changes
|
@@ -0,0 +1,22 @@
|
|
1
|
+
{
|
2
|
+
"application.js": {
|
3
|
+
"file": "assets/application.a0ba047e.js",
|
4
|
+
"imports": [
|
5
|
+
"assets/example_import.8e1fddc0.js"
|
6
|
+
]
|
7
|
+
},
|
8
|
+
"example_import.js": {
|
9
|
+
"file": "assets/example_import.8e1fddc0.js",
|
10
|
+
"imports": []
|
11
|
+
},
|
12
|
+
"colored.js": {
|
13
|
+
"file": "assets/colored.1173bfe0.js",
|
14
|
+
"imports": []
|
15
|
+
},
|
16
|
+
"application.css": {
|
17
|
+
"file": "assets/application.cccfef34.css"
|
18
|
+
},
|
19
|
+
"colored.css": {
|
20
|
+
"file": "assets/colored.84277fd6.css"
|
21
|
+
}
|
22
|
+
}
|
data/test/test_helper.rb
CHANGED
@@ -1,34 +1,68 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'simplecov'
|
4
|
+
SimpleCov.start {
|
5
|
+
add_filter '/test/'
|
6
|
+
}
|
7
|
+
|
3
8
|
require 'minitest/autorun'
|
4
9
|
require 'rails'
|
5
10
|
require 'rails/test_help'
|
6
|
-
require 'byebug'
|
11
|
+
require 'pry-byebug'
|
7
12
|
|
8
13
|
require_relative 'test_app/config/environment'
|
9
14
|
|
10
15
|
Rails.env = 'production'
|
11
16
|
|
12
|
-
ViteRails.instance =
|
17
|
+
ViteRails.instance = ViteRails.new
|
13
18
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
ViteRails.instance.instance_variable_set(:@config, nil)
|
19
|
-
ViteRails.instance.instance_variable_set(:@dev_server, nil)
|
20
|
-
ViteRails.env = {}
|
21
|
-
ViteRails.config
|
22
|
-
ViteRails.dev_server
|
19
|
+
module ViteRailsTestHelpers
|
20
|
+
def refresh_config(env_variables = ViteRails.load_env_variables)
|
21
|
+
ViteRails.env = env_variables
|
22
|
+
(ViteRails.instance = ViteRails.new).config
|
23
23
|
end
|
24
24
|
|
25
25
|
def with_rails_env(env)
|
26
26
|
original = Rails.env
|
27
27
|
Rails.env = ActiveSupport::StringInquirer.new(env)
|
28
|
-
|
29
|
-
yield
|
28
|
+
yield(refresh_config)
|
30
29
|
ensure
|
31
30
|
Rails.env = ActiveSupport::StringInquirer.new(original)
|
32
|
-
|
31
|
+
refresh_config
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_app_path
|
35
|
+
File.expand_path('test_app', __dir__)
|
36
|
+
end
|
37
|
+
|
38
|
+
def with_dev_server_running(&block)
|
39
|
+
ViteRails.instance.stub(:dev_server_running?, true, &block)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
class ViteRails::Test < Minitest::Test
|
44
|
+
include ViteRailsTestHelpers
|
45
|
+
|
46
|
+
private
|
47
|
+
|
48
|
+
def assert_run_command(*argv, use_yarn: false, flags: [])
|
49
|
+
command = use_yarn ? %w[yarn vite] : ["#{ test_app_path }/node_modules/.bin/vite"]
|
50
|
+
cwd = Dir.pwd
|
51
|
+
Dir.chdir(test_app_path)
|
52
|
+
|
53
|
+
klass = ViteRails::Runner
|
54
|
+
instance = klass.new(argv)
|
55
|
+
mock = Minitest::Mock.new
|
56
|
+
mock.expect(:call, nil, [ViteRails.env, *command, *argv, *flags])
|
57
|
+
|
58
|
+
klass.stub(:new, instance) do
|
59
|
+
instance.stub(:executable_exists?, !use_yarn) do
|
60
|
+
Kernel.stub(:exec, mock) { ViteRails.run(argv) }
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
mock.verify
|
65
|
+
ensure
|
66
|
+
Dir.chdir(cwd)
|
33
67
|
end
|
34
68
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vite_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Máximo Mussini
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-01-
|
11
|
+
date: 2021-01-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -147,9 +147,9 @@ files:
|
|
147
147
|
- package.json
|
148
148
|
- package/default.vite.json
|
149
149
|
- test/builder_test.rb
|
150
|
-
- test/
|
150
|
+
- test/commands_test.rb
|
151
151
|
- test/configuration_test.rb
|
152
|
-
- test/
|
152
|
+
- test/dev_server_proxy_test.rb
|
153
153
|
- test/dev_server_test.rb
|
154
154
|
- test/engine_rake_tasks_test.rb
|
155
155
|
- test/helper_test.rb
|
@@ -164,30 +164,29 @@ files:
|
|
164
164
|
- test/mounted_app/test/dummy/config/environment.rb
|
165
165
|
- test/mounted_app/test/dummy/config/vite.json
|
166
166
|
- test/mounted_app/test/dummy/package.json
|
167
|
+
- test/mounted_app/test/dummy/yarn.lock
|
167
168
|
- test/rake_tasks_test.rb
|
169
|
+
- test/runner_test.rb
|
168
170
|
- test/test_app/Rakefile
|
169
|
-
- test/test_app/app/
|
170
|
-
- test/test_app/app/javascript/entrypoints/multi_entry.css
|
171
|
-
- test/test_app/app/javascript/entrypoints/multi_entry.js
|
171
|
+
- test/test_app/app/frontend/entrypoints/application.js
|
172
172
|
- test/test_app/bin/vite
|
173
173
|
- test/test_app/config.ru
|
174
174
|
- test/test_app/config/application.rb
|
175
175
|
- test/test_app/config/environment.rb
|
176
176
|
- test/test_app/config/vite.json
|
177
|
-
- test/test_app/config/
|
177
|
+
- test/test_app/config/vite_additional_paths.json
|
178
|
+
- test/test_app/config/vite_public_dir.json
|
178
179
|
- test/test_app/package.json
|
179
|
-
- test/test_app/public/vite/manifest.json
|
180
|
+
- test/test_app/public/vite-production/manifest.json
|
180
181
|
- test/test_app/some.config.js
|
181
182
|
- test/test_app/yarn.lock
|
182
183
|
- test/test_helper.rb
|
183
|
-
- test/vite_runner_test.rb
|
184
|
-
- test/webpacker_test.rb
|
185
184
|
homepage: https://github.com/ElMassimo/vite_rails
|
186
185
|
licenses:
|
187
186
|
- MIT
|
188
187
|
metadata:
|
189
|
-
source_code_uri: https://github.com/ElMassimo/vite_rails/tree/v1.0.
|
190
|
-
changelog_uri: https://github.com/ElMassimo/vite_rails/blob/v1.0.
|
188
|
+
source_code_uri: https://github.com/ElMassimo/vite_rails/tree/v1.0.9
|
189
|
+
changelog_uri: https://github.com/ElMassimo/vite_rails/blob/v1.0.9/CHANGELOG.md
|
191
190
|
post_install_message:
|
192
191
|
rdoc_options: []
|
193
192
|
require_paths:
|
@@ -196,7 +195,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
196
195
|
requirements:
|
197
196
|
- - ">="
|
198
197
|
- !ruby/object:Gem::Version
|
199
|
-
version: 2.
|
198
|
+
version: 2.5.0
|
200
199
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
201
200
|
requirements:
|
202
201
|
- - ">="
|
@@ -209,9 +208,9 @@ specification_version: 4
|
|
209
208
|
summary: Use Vite in Rails and bring joy to your JavaScript experience
|
210
209
|
test_files:
|
211
210
|
- test/builder_test.rb
|
212
|
-
- test/
|
211
|
+
- test/commands_test.rb
|
213
212
|
- test/configuration_test.rb
|
214
|
-
- test/
|
213
|
+
- test/dev_server_proxy_test.rb
|
215
214
|
- test/dev_server_test.rb
|
216
215
|
- test/engine_rake_tasks_test.rb
|
217
216
|
- test/helper_test.rb
|
@@ -226,21 +225,20 @@ test_files:
|
|
226
225
|
- test/mounted_app/test/dummy/config/environment.rb
|
227
226
|
- test/mounted_app/test/dummy/config/vite.json
|
228
227
|
- test/mounted_app/test/dummy/package.json
|
228
|
+
- test/mounted_app/test/dummy/yarn.lock
|
229
229
|
- test/rake_tasks_test.rb
|
230
|
+
- test/runner_test.rb
|
230
231
|
- test/test_app/Rakefile
|
231
|
-
- test/test_app/app/
|
232
|
-
- test/test_app/app/javascript/entrypoints/multi_entry.css
|
233
|
-
- test/test_app/app/javascript/entrypoints/multi_entry.js
|
232
|
+
- test/test_app/app/frontend/entrypoints/application.js
|
234
233
|
- test/test_app/bin/vite
|
235
234
|
- test/test_app/config.ru
|
236
235
|
- test/test_app/config/application.rb
|
237
236
|
- test/test_app/config/environment.rb
|
238
237
|
- test/test_app/config/vite.json
|
239
|
-
- test/test_app/config/
|
238
|
+
- test/test_app/config/vite_additional_paths.json
|
239
|
+
- test/test_app/config/vite_public_dir.json
|
240
240
|
- test/test_app/package.json
|
241
|
-
- test/test_app/public/vite/manifest.json
|
241
|
+
- test/test_app/public/vite-production/manifest.json
|
242
242
|
- test/test_app/some.config.js
|
243
243
|
- test/test_app/yarn.lock
|
244
244
|
- test/test_helper.rb
|
245
|
-
- test/vite_runner_test.rb
|
246
|
-
- test/webpacker_test.rb
|