Sha256: 879309ca464b68eb78b13a0571d4753759bb300ab53af46fa8f9bfdacc725cfd

Contents?: true

Size: 679 Bytes

Versions: 9

Compression:

Stored size: 679 Bytes

Contents

module LearnTest
  module JsStrategy
    def js_package
      @js_package ||= File.exist?('package.json') ? Oj.load(File.read('package.json'), symbol_keys: true) : nil
    end

    def has_js_dependency?(dep)
      [:dependencies, :devDependencies].any? { |key| js_package[key] && js_package[key][dep] }
    end

    def missing_dependencies?
      return true if !File.exist?("node_modules")

      [:dependencies, :devDependencies, :peerDependencies].any? do |d|
        (js_package[d] || {}).any? { |p, v| !File.exist?("node_modules/#{p}") }
      end
    end

    def npm_install
      run_install('npm install', npm_install: true) if missing_dependencies?
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
learn-test-2.5.6 lib/learn_test/js_strategy.rb
learn-test-2.5.5 lib/learn_test/js_strategy.rb
learn-test-2.5.4 lib/learn_test/js_strategy.rb
learn-test-2.5.3 lib/learn_test/js_strategy.rb
learn-test-2.5.2 lib/learn_test/js_strategy.rb
learn-test-2.5.1 lib/learn_test/js_strategy.rb
learn-test-2.5.0 lib/learn_test/js_strategy.rb
learn-test-2.5.0.rc2 lib/learn_test/js_strategy.rb
learn-test-2.5.0.rc1 lib/learn_test/js_strategy.rb