Sha256: b7876b703b0b609a76595a223da043db4cbf079860885aa7cc3e2e84f28e6aa1

Contents?: true

Size: 703 Bytes

Versions: 3

Compression:

Stored size: 703 Bytes

Contents

require 'pre-commit/checks/js'

module PreCommit
  module Checks
    class Jshint < Js

      def config
        if config_file = [ENV['JSHINT_CONFIG'], ".jshintrc"].compact.detect { |f| File.exist?(f) }
          ExecJS.exec("return (#{File.read(config_file)});")
        else
          {}
        end
      end

      def run_check(file)
        context = ExecJS.compile(File.read(linter_src))
        context.call("JSHINT", File.read(file), config, config["globals"])
      end

      def linter_src
        File.expand_path("../../../../pre-commit/support/jshint/jshint.js", __FILE__)
      end

      def self.description
        "Checks javascript files with JSHint."
      end

    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pre-commit-0.14.1 lib/plugins/pre_commit/checks/jshint.rb
pre-commit-0.14.0 lib/plugins/pre_commit/checks/jshint.rb
pre-commit-0.13.0 lib/plugins/pre_commit/checks/jshint.rb