class Gergich::Capture::EslintCapture
Constants
- SEVERITY_MAP
Public Instance Methods
run(output)
click to toggle source
# File lib/gergich/capture/eslint_capture.rb, line 8 def run(output) # e.g. " 4:21 error Missing semicolon semi" error_pattern = %r{\s\s+(\d+):\d+\s+(\w+)\s+(.*?)\s+[\w/-]+\n} pattern = %r{ # Example: ^([^\n]+)\n # jsapp/models/user.js ((#{error_pattern})+) # 4:21 error Missing semicolon semi }mx output.scan(pattern).map { |file, errors| errors.scan(error_pattern).map { |line, severity, error| severity = SEVERITY_MAP[severity] { path: file, message: error, source: "eslint", position: line.to_i, severity: severity } } }.compact.flatten end