vite_rails 1.0.5 → 1.0.10
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 +22 -0
- data/CONTRIBUTING.md +0 -1
- data/README.md +31 -69
- data/lib/install/javascript/entrypoints/application.js +8 -4
- data/lib/install/template.rb +1 -1
- data/lib/tasks/vite/build.rake +2 -6
- data/lib/tasks/vite/clean.rake +1 -3
- data/lib/tasks/vite/info.rake +0 -1
- data/lib/tasks/vite/verify_install.rake +3 -3
- data/lib/vite_rails.rb +14 -25
- data/lib/vite_rails/builder.rb +11 -13
- data/lib/vite_rails/commands.rb +51 -10
- data/lib/vite_rails/config.rb +65 -30
- data/lib/vite_rails/dev_server_proxy.rb +26 -18
- data/lib/vite_rails/helper.rb +15 -8
- data/lib/vite_rails/manifest.rb +6 -4
- data/lib/vite_rails/runner.rb +3 -6
- data/lib/vite_rails/version.rb +1 -1
- data/package.json +5 -1
- data/package/default.vite.json +2 -1
- data/test/builder_test.rb +27 -22
- data/test/commands_test.rb +67 -0
- data/test/config_test.rb +133 -0
- 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/frontend/entrypoints/application.js +2 -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 +23 -25
- data/test/command_test.rb +0 -35
- data/test/configuration_test.rb +0 -80
- data/test/dev_server_runner_test.rb +0 -83
- data/test/test_app/app/javascript/entrypoints/application.js +0 -10
- 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
data/test/manifest_test.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
require 'test_helper'
|
4
4
|
|
5
|
-
class ManifestTest <
|
5
|
+
class ManifestTest < ViteRails::Test
|
6
6
|
def test_lookup_exception!
|
7
7
|
asset_file = 'calendar.js'
|
8
8
|
|
@@ -10,7 +10,7 @@ class ManifestTest < Minitest::Test
|
|
10
10
|
ViteRails.manifest.lookup!(asset_file)
|
11
11
|
end
|
12
12
|
|
13
|
-
assert_match "
|
13
|
+
assert_match "Vite Rails can't find #{ asset_file } in #{ manifest_path }", error.message
|
14
14
|
end
|
15
15
|
|
16
16
|
def test_lookup_with_type_exception!
|
@@ -20,56 +20,60 @@ class ManifestTest < Minitest::Test
|
|
20
20
|
ViteRails.manifest.lookup!(asset_file, type: :javascript)
|
21
21
|
end
|
22
22
|
|
23
|
-
assert_match "
|
23
|
+
assert_match "Vite Rails can't find #{ asset_file }.js in #{ manifest_path }", error.message
|
24
24
|
end
|
25
25
|
|
26
26
|
def test_lookup_success!
|
27
|
-
|
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)
|
28
35
|
end
|
29
36
|
|
30
|
-
def
|
31
|
-
|
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
|
+
}
|
32
46
|
end
|
33
47
|
|
34
|
-
def
|
35
|
-
assert_nil ViteRails.manifest.
|
48
|
+
def test_lookup_nil
|
49
|
+
assert_nil ViteRails.manifest.lookup('foo.js')
|
36
50
|
end
|
37
51
|
|
38
52
|
def test_lookup_success
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
asset_file = 'calendar'
|
44
|
-
|
45
|
-
error = assert_raises_manifest_missing_entry_error do
|
46
|
-
ViteRails.manifest.lookup_pack_with_chunks!(asset_file, type: :javascript)
|
47
|
-
end
|
48
|
-
|
49
|
-
assert_match "ViteRails can't find #{ asset_file }.js in #{ manifest_path }", error.message
|
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)
|
50
57
|
end
|
51
58
|
|
52
|
-
def
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
]
|
58
|
-
|
59
|
-
assert_equal ViteRails.manifest.lookup_pack_with_chunks!('application', type: :javascript), application_entrypoints
|
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
|
+
}
|
60
64
|
end
|
61
65
|
|
62
66
|
private
|
63
67
|
|
64
68
|
def assert_raises_manifest_missing_entry_error(&block)
|
65
69
|
error = nil
|
66
|
-
ViteRails.config.stub :
|
70
|
+
ViteRails.config.stub :auto_build, false do
|
67
71
|
error = assert_raises ViteRails::Manifest::MissingEntryError, &block
|
68
72
|
end
|
69
73
|
error
|
70
74
|
end
|
71
75
|
|
72
76
|
def manifest_path
|
73
|
-
File.expand_path File.join(File.dirname(__FILE__), 'test_app/public/
|
77
|
+
File.expand_path File.join(File.dirname(__FILE__), 'test_app/public/vite-production', 'manifest.json').to_s
|
74
78
|
end
|
75
79
|
end
|
data/test/mode_test.rb
CHANGED
@@ -3,19 +3,14 @@
|
|
3
3
|
require 'test_helper'
|
4
4
|
|
5
5
|
class ModeTest < ViteRails::Test
|
6
|
-
def
|
7
|
-
assert_equal ViteRails.config.mode
|
6
|
+
def test_mode
|
7
|
+
assert_equal Rails.env, ViteRails.config.mode
|
8
|
+
assert_equal ViteRails.config.mode, ViteRails.mode
|
8
9
|
end
|
9
10
|
|
10
|
-
def
|
11
|
-
with_rails_env('
|
12
|
-
assert_equal
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
def test_custom_with_config
|
17
|
-
with_rails_env('staging') do
|
18
|
-
assert_equal ViteRails.config.mode, 'staging'
|
11
|
+
def test_mode_with_rails_env
|
12
|
+
with_rails_env('staging') do |config|
|
13
|
+
assert_equal 'staging', config.mode
|
19
14
|
end
|
20
15
|
end
|
21
16
|
end
|
@@ -1,20 +1,14 @@
|
|
1
1
|
{
|
2
|
+
"all": {
|
3
|
+
"watchAdditionalPaths": []
|
4
|
+
},
|
2
5
|
"development": {
|
3
6
|
"autoBuild": true,
|
4
|
-
"
|
5
|
-
"
|
6
|
-
"publicOutputDir": "vite-development"
|
7
|
+
"publicOutputDir": "vite-dev",
|
8
|
+
"port": 3036
|
7
9
|
},
|
8
10
|
"test": {
|
9
11
|
"autoBuild": true,
|
10
12
|
"publicOutputDir": "vite-test"
|
11
|
-
},
|
12
|
-
"production": {
|
13
|
-
"autoBuild": false,
|
14
|
-
"publicOutputDir": "vite-production"
|
15
|
-
},
|
16
|
-
"staging": {
|
17
|
-
"autoBuild": false,
|
18
|
-
"publicOutputDir": "vite-staging"
|
19
13
|
}
|
20
14
|
}
|
@@ -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
|