module LearnTest::JsStrategy

Public Instance Methods

has_js_dependency?(dep) click to toggle source
# File lib/learn_test/js_strategy.rb, line 9
def has_js_dependency?(dep)
  [:dependencies, :devDependencies].any? { |key| js_package[key] && js_package[key][dep] }
end
js_package() click to toggle source
# File lib/learn_test/js_strategy.rb, line 5
def js_package
  @js_package ||= File.exist?('package.json') ? Oj.load(File.read('package.json'), symbol_keys: true) : nil
end
missing_dependencies?() click to toggle source
# File lib/learn_test/js_strategy.rb, line 17
def missing_dependencies?
  return true unless File.exist?('node_modules')
  [:dependencies, :devDependencies, :peerDependencies].any? do |dep_group|
    modules = js_package[dep_group] || {}
    modules_missing?(modules.keys)
  end
end
modules_missing?(module_names) click to toggle source
# File lib/learn_test/js_strategy.rb, line 13
def modules_missing?(module_names)
  module_names.any? { |name| !File.exist?("node_modules/#{name}") }
end
npm_install() click to toggle source
# File lib/learn_test/js_strategy.rb, line 25
def npm_install
  run_install('npm install', npm_install: true) if missing_dependencies?
end