lib/vite_ruby/cli/install.rb in vite_ruby-1.2.8 vs lib/vite_ruby/cli/install.rb in vite_ruby-1.2.9
- old
+ new
@@ -1,10 +1,9 @@
# frozen_string_literal: true
require 'dry/cli/utils/files'
require 'stringio'
-require 'open3'
class ViteRuby::CLI::Install < Dry::CLI::Command
desc 'Performs the initial configuration setup to get started with Vite Ruby.'
def call(**)
@@ -71,14 +70,15 @@
# Internal: Installs vite and vite-plugin-ruby at the project level.
def install_js_dependencies
package_json = root.join('package.json')
write(package_json, '{}') unless package_json.exist?
+
Dir.chdir(root) do
deps = "vite@#{ ViteRuby::DEFAULT_VITE_VERSION } vite-plugin-ruby@#{ ViteRuby::DEFAULT_PLUGIN_VERSION }"
- stdout, stderr, status = Open3.capture3({}, "npx --yes --package @antfu/ni -- ni -D #{ deps }")
- stdout, stderr, = Open3.capture3({}, "yarn add -D #{ deps }") unless status.success?
- say(stdout, "\n", stderr)
+ _, stderr, status = ViteRuby::IO.capture("npx --package @antfu/ni -- ni -D #{ deps }", stdin_data: "\n")
+ _, stderr, = ViteRuby::IO.capture("yarn add -D #{ deps }") unless status.success?
+ say("Could not install JS dependencies.\n", stderr) unless stderr.to_s.empty?
end
end
# Internal: Adds compilation output dirs to git ignore.
def install_gitignore