Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error while building ugliffier #158

Open
utkarsh2102 opened this issue Jan 13, 2019 · 0 comments
Open

Error while building ugliffier #158

utkarsh2102 opened this issue Jan 13, 2019 · 0 comments

Comments

@utkarsh2102
Copy link

Hey,
There were the following errors while trying to build uglifier:

All examples were filtered out; ignoring {:focus=>true}

Uglifier
  generates source maps (FAILED - 1)
  generates source maps with the correct meta-data (FAILED - 2)
  skips copyright lines in source maps (FAILED - 3)
  proceses an input source map (FAILED - 4)
  handles empty string as input map sourceRoot (FAILED - 5)
  appends source map url to minified JS (FAILED - 6)
  appends source url to minified JS (FAILED - 7)
  inlines source map (FAILED - 8)
  inline source map parsing
    parses inline source maps from line comments (FAILED - 9)
    parses inline source maps with block comments (FAILED - 10)
    parses inline source maps with multi-line block comments (FAILED - 11)
    parses inline source maps from mixed comments (FAILED - 12)
    only parses source maps at end of file (FAILED - 13)
    handles other source map declarations at end of file (FAILED - 14)
    does not explode when data URI is invalid (FAILED - 15)
    works with source_map: true (FAILED - 16)
    works with source_map: false (FAILED - 17)

Uglifier
  minifies JS (FAILED - 18)
  throws an exception when compilation fails (FAILED - 19)
  throws an exception on invalid option
  doesn't omit null character in strings (FAILED - 20)
  adds trailing semicolon to minified source (FAILED - 21)
  honors max line length (FAILED - 22)
  hoists vars to top of the scope (FAILED - 23)
  can be configured to output only ASCII (FAILED - 24)
  escapes </script when asked to (FAILED - 25)
  quotes keys (FAILED - 26)
  quotes unsafe keys by default (FAILED - 27)
  handles constant definitions (FAILED - 28)
  can disable IIFE negation (FAILED - 29)
  can drop console logging (FAILED - 30)
  keeps unused function arguments when keep_fargs option is set (FAILED - 31)
  forwards passes option to compressor (FAILED - 32)
  harmony mode
    minifies JS with Harmony features when harmony option is on (FAILED - 33)
    raises an error when minifying JS with Harmony without harmony option (FAILED - 34)
  property name mangling
    does not mangle property names by default (FAILED - 35)
    can be configured to mangle properties (FAILED - 36)
    can be configured using old mangle_properties (FAILED - 37)
    can configure a regex for mangling (FAILED - 38)
    can be configured to keep quoted properties (FAILED - 39)
    can be configured to include debug in mangled properties (FAILED - 40)
  argument name mangling
    doesn't try to mangle $super by default to avoid breaking PrototypeJS (FAILED - 41)
    allows variables to be excluded from mangling (FAILED - 42)
    skips mangling when set to false (FAILED - 43)
    mangles argument names by default (FAILED - 44)
    mangles top-level names when explicitly instructed (FAILED - 45)
    can be controlled with mangle option (FAILED - 46)
  comment preservation
    :copyright
      preserves comments with string Copyright (FAILED - 47)
      preserves comments that start with a bang (!) (FAILED - 48)
      ignores other comments (FAILED - 49)
    :jsdoc
      preserves jsdoc license/preserve blocks (FAILED - 50)
      ignores other comments (FAILED - 51)
    :all
      preserves all comments (FAILED - 52)
    :none
      omits all comments (FAILED - 53)
    regular expression
      matches comment blocks with regex (FAILED - 54)
      omits other blocks (FAILED - 55)
  reduce_funcs
    inlines function declaration (FAILED - 56)
    defaults to not inlining function declarations (FAILED - 57)
  reduce_vars
    reduces vars when compress option is set (FAILED - 58)
    does not reduce vars when compress option is false (FAILED - 59)
    defaults to variable reducing being disabled (FAILED - 60)
    does not reduce variables that are assigned to (FAILED - 61)
  ie8 option
    defaults to IE8-safe output (FAILED - 62)
    forwards ie8 option to UglifyJS (FAILED - 63)
  collapse_vars option
    collapses vars when collapse_vars is enabled (FAILED - 64)
    does not collapse variables when disable (FAILED - 65)
    defaults to not collapsing variables (FAILED - 66)
  keep_fnames
    keeps function names in output when compressor keep_fnames is set (FAILED - 67)
    does not mangle function names in output when mangler keep_fnames is set (FAILED - 68)
    sets sets both compress and mangle keep_fnames when toplevel keep_fnames is true (FAILED - 69)
  Input Formats
    handles strings (FAILED - 70)
    handles IO objects (FAILED - 71)
  wrap_iife option
    defaults to not wrap IIFEs (FAILED - 72)
    wraps IIFEs (FAILED - 73)
  removing unused top-level functions and variables
    removes unused top-level functions and variables when toplevel is set (FAILED - 74)
    does not unused top-level functions and variables by default (FAILED - 75)
    keeps variables specified in top_retain (FAILED - 76)
  unsafe_comps
    keeps unsafe comparisons by default (FAILED - 77)
    optimises unsafe comparisons when unsafe_comps is enabled (FAILED - 78)
  unsafe_math
    keeps unsafe math by default (FAILED - 79)
    optimises unsafe math when unsafe_math is enabled (FAILED - 80)
  unsafe_proto
    keeps unsafe prototype references by default (FAILED - 81)
    optimises unsafe comparisons when unsafe_comps is enabled (FAILED - 82)
  shebang
    is not removed by default (FAILED - 83)
    is removed when shebang option is set to false (FAILED - 84)
  keep_infinity
    compresses Infinity by default (FAILED - 85)
    can be enabled to preserve Infinity (FAILED - 86)
  quote style
    defaults to auto (FAILED - 87)
    can use numbers for configuration (FAILED - 88)
    uses single quotes when single (FAILED - 89)
    uses double quotes when single (FAILED - 90)
    preserves original quoting when original (FAILED - 91)
  keep quoted props
    defaults to not keeping quotes (FAILED - 92)
    keeps properties when set to true (FAILED - 93)
  side_effects
    defaults to dropping pure function calls (FAILED - 94)
    function call dropping can be disabled (FAILED - 95)
  switches
    drops unreachable switch branches by default (FAILED - 96)
    branch dropping can be disabled (FAILED - 97)

Failures:

  1) Uglifier generates source maps
     Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
     
     ExecJS::ProgramError:
       TypeError: UglifyJS.minify is not a function
     # uglifier ((execjs):4170:19)
     # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
     # (execjs):4173:8
     # (execjs):4179:14
     # (execjs):1:102
     # Object.<anonymous> ((execjs):1:120)
     # Module._compile (module.js:652:30)
     # Object.Module._extensions..js (module.js:663:10)
     # Module.load (module.js:565:32)
     # tryModuleLoad (module.js:505:12)
     # ./lib/uglifier.rb:232:in `run_uglifyjs'
     # ./lib/uglifier.rb:185:in `compile_with_map'
     # ./spec/source_map_spec.rb:27:in `block (2 levels) in <top (required)>'

  2) Uglifier generates source maps with the correct meta-data
     Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
     
     ExecJS::ProgramError:
       TypeError: UglifyJS.minify is not a function
     # uglifier ((execjs):4170:19)
     # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
     # (execjs):4173:8
     # (execjs):4179:14
     # (execjs):1:102
     # Object.<anonymous> ((execjs):1:120)
     # Module._compile (module.js:652:30)
     # Object.Module._extensions..js (module.js:663:10)
     # Module.load (module.js:565:32)
     # tryModuleLoad (module.js:505:12)
     # ./lib/uglifier.rb:232:in `run_uglifyjs'
     # ./lib/uglifier.rb:185:in `compile_with_map'
     # ./lib/uglifier.rb:148:in `compile_with_map'
     # ./spec/source_map_spec.rb:34:in `block (2 levels) in <top (required)>'

  3) Uglifier skips copyright lines in source maps
     Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
     
     ExecJS::ProgramError:
       TypeError: UglifyJS.minify is not a function
     # uglifier ((execjs):4170:19)
     # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
     # (execjs):4173:8
     # (execjs):4179:14
     # (execjs):1:102
     # Object.<anonymous> ((execjs):1:120)
     # Module._compile (module.js:652:30)
     # Object.Module._extensions..js (module.js:663:10)
     # Module.load (module.js:565:32)
     # tryModuleLoad (module.js:505:12)
     # ./lib/uglifier.rb:232:in `run_uglifyjs'
     # ./lib/uglifier.rb:185:in `compile_with_map'
     # ./lib/uglifier.rb:148:in `compile_with_map'
     # ./spec/source_map_spec.rb:63:in `block (2 levels) in <top (required)>'

  4) Uglifier proceses an input source map
     Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
     
     ExecJS::ProgramError:
       TypeError: UglifyJS.minify is not a function
     # uglifier ((execjs):4170:19)
     # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
     # (execjs):4173:8
     # (execjs):4179:14
     # (execjs):1:102
     # Object.<anonymous> ((execjs):1:120)
     # Module._compile (module.js:652:30)
     # Object.Module._extensions..js (module.js:663:10)
     # Module.load (module.js:565:32)
     # tryModuleLoad (module.js:505:12)
     # ./lib/uglifier.rb:232:in `run_uglifyjs'
     # ./lib/uglifier.rb:185:in `compile_with_map'
     # ./lib/uglifier.rb:148:in `compile_with_map'
     # ./spec/source_map_spec.rb:86:in `block (2 levels) in <top (required)>'

  5) Uglifier handles empty string as input map sourceRoot
     Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
     
     ExecJS::ProgramError:
       TypeError: UglifyJS.minify is not a function
     # uglifier ((execjs):4170:19)
     # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
     # (execjs):4173:8
     # (execjs):4179:14
     # (execjs):1:102
     # Object.<anonymous> ((execjs):1:120)
     # Module._compile (module.js:652:30)
     # Object.Module._extensions..js (module.js:663:10)
     # Module.load (module.js:565:32)
     # tryModuleLoad (module.js:505:12)
     # ./lib/uglifier.rb:232:in `run_uglifyjs'
     # ./lib/uglifier.rb:185:in `compile_with_map'
     # ./lib/uglifier.rb:148:in `compile_with_map'
     # ./spec/source_map_spec.rb:112:in `block (2 levels) in <top (required)>'

  6) Uglifier appends source map url to minified JS
     Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
     
     ExecJS::ProgramError:
       TypeError: UglifyJS.minify is not a function
     # uglifier ((execjs):4170:19)
     # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
     # (execjs):4173:8
     # (execjs):4179:14
     # (execjs):1:102
     # Object.<anonymous> ((execjs):1:120)
     # Module._compile (module.js:652:30)
     # Object.Module._extensions..js (module.js:663:10)
     # Module.load (module.js:565:32)
     # tryModuleLoad (module.js:505:12)
     # ./lib/uglifier.rb:232:in `run_uglifyjs'
     # ./lib/uglifier.rb:185:in `compile_with_map'
     # ./lib/uglifier.rb:148:in `compile_with_map'
     # ./spec/source_map_spec.rb:133:in `block (2 levels) in <top (required)>'

  7) Uglifier appends source url to minified JS
     Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
     
     ExecJS::ProgramError:
       TypeError: UglifyJS.minify is not a function
     # uglifier ((execjs):4170:19)
     # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
     # (execjs):4173:8
     # (execjs):4179:14
     # (execjs):1:102
     # Object.<anonymous> ((execjs):1:120)
     # Module._compile (module.js:652:30)
     # Object.Module._extensions..js (module.js:663:10)
     # Module.load (module.js:565:32)
     # tryModuleLoad (module.js:505:12)
     # ./lib/uglifier.rb:232:in `run_uglifyjs'
     # ./lib/uglifier.rb:185:in `compile_with_map'
     # ./lib/uglifier.rb:148:in `compile_with_map'
     # ./spec/source_map_spec.rb:146:in `block (2 levels) in <top (required)>'

  8) Uglifier inlines source map
     Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
     
     ExecJS::ProgramError:
       TypeError: UglifyJS.minify is not a function
     # uglifier ((execjs):4170:19)
     # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
     # (execjs):4173:8
     # (execjs):4179:14
     # (execjs):1:102
     # Object.<anonymous> ((execjs):1:120)
     # Module._compile (module.js:652:30)
     # Object.Module._extensions..js (module.js:663:10)
     # Module.load (module.js:565:32)
     # tryModuleLoad (module.js:505:12)
     # ./lib/uglifier.rb:232:in `run_uglifyjs'
     # ./lib/uglifier.rb:170:in `compile'
     # ./lib/uglifier.rb:139:in `compile'
     # ./spec/source_map_spec.rb:159:in `block (2 levels) in <top (required)>'

  9) Uglifier inline source map parsing parses inline source maps from line comments
     Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
     
     ExecJS::ProgramError:
       TypeError: UglifyJS.minify is not a function
     # uglifier ((execjs):4170:19)
     # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
     # (execjs):4173:8
     # (execjs):4179:14
     # (execjs):1:102
     # Object.<anonymous> ((execjs):1:120)
     # Module._compile (module.js:652:30)
     # Object.Module._extensions..js (module.js:663:10)
     # Module.load (module.js:565:32)
     # tryModuleLoad (module.js:505:12)
     # ./lib/uglifier.rb:232:in `run_uglifyjs'
     # ./lib/uglifier.rb:170:in `compile'
     # ./lib/uglifier.rb:139:in `compile'
     # ./spec/source_map_spec.rb:174:in `block (3 levels) in <top (required)>'
     # ./spec/source_map_spec.rb:183:in `block (3 levels) in <top (required)>'
     # ./spec/source_map_spec.rb:187:in `block (3 levels) in <top (required)>'

  10) Uglifier inline source map parsing parses inline source maps with block comments
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:170:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/source_map_spec.rb:174:in `block (3 levels) in <top (required)>'
      # ./spec/source_map_spec.rb:183:in `block (3 levels) in <top (required)>'
      # ./spec/source_map_spec.rb:192:in `block (3 levels) in <top (required)>'

  11) Uglifier inline source map parsing parses inline source maps with multi-line block comments
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:170:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/source_map_spec.rb:174:in `block (3 levels) in <top (required)>'
      # ./spec/source_map_spec.rb:183:in `block (3 levels) in <top (required)>'
      # ./spec/source_map_spec.rb:197:in `block (3 levels) in <top (required)>'

  12) Uglifier inline source map parsing parses inline source maps from mixed comments
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:170:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/source_map_spec.rb:174:in `block (3 levels) in <top (required)>'
      # ./spec/source_map_spec.rb:183:in `block (3 levels) in <top (required)>'
      # ./spec/source_map_spec.rb:202:in `block (3 levels) in <top (required)>'

  13) Uglifier inline source map parsing only parses source maps at end of file
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:170:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/source_map_spec.rb:174:in `block (3 levels) in <top (required)>'
      # ./spec/source_map_spec.rb:183:in `block (3 levels) in <top (required)>'
      # ./spec/source_map_spec.rb:207:in `block (3 levels) in <top (required)>'

  14) Uglifier inline source map parsing handles other source map declarations at end of file
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:170:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/source_map_spec.rb:174:in `block (3 levels) in <top (required)>'
      # ./spec/source_map_spec.rb:183:in `block (3 levels) in <top (required)>'
      # ./spec/source_map_spec.rb:213:in `block (3 levels) in <top (required)>'

  15) Uglifier inline source map parsing does not explode when data URI is invalid
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:170:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/source_map_spec.rb:174:in `block (3 levels) in <top (required)>'
      # ./spec/source_map_spec.rb:183:in `block (3 levels) in <top (required)>'
      # ./spec/source_map_spec.rb:222:in `block (3 levels) in <top (required)>'

  16) Uglifier inline source map parsing works with source_map: true
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:170:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/source_map_spec.rb:174:in `block (3 levels) in <top (required)>'
      # ./spec/source_map_spec.rb:183:in `block (3 levels) in <top (required)>'
      # ./spec/source_map_spec.rb:229:in `block (3 levels) in <top (required)>'

  17) Uglifier inline source map parsing works with source_map: false
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:170:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/source_map_spec.rb:174:in `block (3 levels) in <top (required)>'
      # ./spec/source_map_spec.rb:183:in `block (3 levels) in <top (required)>'
      # ./spec/source_map_spec.rb:239:in `block (3 levels) in <top (required)>'

  18) Uglifier minifies JS
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./spec/uglifier_spec.rb:9:in `block (2 levels) in <top (required)>'

  19) Uglifier throws an exception when compilation fails
      Failure/Error: expect { Uglifier.new.compile(")(") }.to raise_error(Uglifier::Error)
      
        expected Uglifier::Error, got #<ExecJS::ProgramError: TypeError: UglifyJS.minify is not a function> with backtrace:
          # uglifier ((execjs):4170:19)
          # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
          # (execjs):4173:8
          # (execjs):4179:14
          # (execjs):1:102
          # Object.<anonymous> ((execjs):1:120)
          # Module._compile (module.js:652:30)
          # Object.Module._extensions..js (module.js:663:10)
          # Module.load (module.js:565:32)
          # tryModuleLoad (module.js:505:12)
          # ./lib/uglifier.rb:232:in `run_uglifyjs'
          # ./lib/uglifier.rb:175:in `compile'
          # ./spec/uglifier_spec.rb:30:in `block (3 levels) in <top (required)>'
          # ./spec/uglifier_spec.rb:30:in `block (2 levels) in <top (required)>'
      # ./spec/uglifier_spec.rb:30:in `block (2 levels) in <top (required)>'

  20) Uglifier doesn't omit null character in strings
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./spec/uglifier_spec.rb:38:in `block (2 levels) in <top (required)>'

  21) Uglifier adds trailing semicolon to minified source
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./spec/uglifier_spec.rb:43:in `block (2 levels) in <top (required)>'

  22) Uglifier honors max line length
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./spec/uglifier_spec.rb:200:in `block (2 levels) in <top (required)>'

  23) Uglifier hoists vars to top of the scope
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:213:in `block (2 levels) in <top (required)>'

  24) Uglifier can be configured to output only ASCII
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:309:in `block (2 levels) in <top (required)>'

  25) Uglifier escapes </script when asked to
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:315:in `block (2 levels) in <top (required)>'

  26) Uglifier quotes keys
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:321:in `block (2 levels) in <top (required)>'

  27) Uglifier quotes unsafe keys by default
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:327:in `block (2 levels) in <top (required)>'

  28) Uglifier handles constant definitions
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:337:in `block (2 levels) in <top (required)>'

  29) Uglifier can disable IIFE negation
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:346:in `block (2 levels) in <top (required)>'

  30) Uglifier can drop console logging
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:354:in `block (2 levels) in <top (required)>'

  31) Uglifier keeps unused function arguments when keep_fargs option is set
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:399:in `block (2 levels) in <top (required)>'

  32) Uglifier forwards passes option to compressor
      Failure/Error: code = File.open("lib/uglify.js", "r:UTF-8", &:read)
      
      Errno::ENOENT:
        No such file or directory @ rb_sysopen - lib/uglify.js
      # ./spec/uglifier_spec.rb:584:in `initialize'
      # ./spec/uglifier_spec.rb:584:in `open'
      # ./spec/uglifier_spec.rb:584:in `block (2 levels) in <top (required)>'

  33) Uglifier harmony mode minifies JS with Harmony features when harmony option is on
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./spec/uglifier_spec.rb:18:in `block (3 levels) in <top (required)>'

  34) Uglifier harmony mode raises an error when minifying JS with Harmony without harmony option
      Failure/Error:
        expect { Uglifier.new(:compress => false).compile(source) }
          .to raise_error(Uglifier::Error, /harmony/)
      
        expected Uglifier::Error with message matching /harmony/, got #<ExecJS::ProgramError: TypeError: UglifyJS.minify is not a function> with backtrace:
          # uglifier ((execjs):4170:19)
          # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
          # (execjs):4173:8
          # (execjs):4179:14
          # (execjs):1:102
          # Object.<anonymous> ((execjs):1:120)
          # Module._compile (module.js:652:30)
          # Object.Module._extensions..js (module.js:663:10)
          # Module.load (module.js:565:32)
          # tryModuleLoad (module.js:505:12)
          # ./lib/uglifier.rb:232:in `run_uglifyjs'
          # ./lib/uglifier.rb:175:in `compile'
          # ./spec/uglifier_spec.rb:24:in `block (4 levels) in <top (required)>'
          # ./spec/uglifier_spec.rb:24:in `block (3 levels) in <top (required)>'
      # ./spec/uglifier_spec.rb:24:in `block (3 levels) in <top (required)>'

  35) Uglifier property name mangling does not mangle property names by default
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:59:in `block (3 levels) in <top (required)>'

  36) Uglifier property name mangling can be configured to mangle properties
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:63:in `block (3 levels) in <top (required)>'

  37) Uglifier property name mangling can be configured using old mangle_properties
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:68:in `block (3 levels) in <top (required)>'

  38) Uglifier property name mangling can configure a regex for mangling
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:73:in `block (3 levels) in <top (required)>'

  39) Uglifier property name mangling can be configured to keep quoted properties
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:78:in `block (3 levels) in <top (required)>'

  40) Uglifier property name mangling can be configured to include debug in mangled properties
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:83:in `block (3 levels) in <top (required)>'

  41) Uglifier argument name mangling doesn't try to mangle $super by default to avoid breaking PrototypeJS
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:92:in `block (3 levels) in <top (required)>'

  42) Uglifier argument name mangling allows variables to be excluded from mangling
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:96:in `block (3 levels) in <top (required)>'

  43) Uglifier argument name mangling skips mangling when set to false
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:101:in `block (3 levels) in <top (required)>'

  44) Uglifier argument name mangling mangles argument names by default
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:105:in `block (3 levels) in <top (required)>'

  45) Uglifier argument name mangling mangles top-level names when explicitly instructed
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:109:in `block (3 levels) in <top (required)>'

  46) Uglifier argument name mangling can be controlled with mangle option
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:116:in `block (3 levels) in <top (required)>'

  47) Uglifier comment preservation :copyright preserves comments with string Copyright
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:136:in `block (4 levels) in <top (required)>'
      # ./spec/uglifier_spec.rb:139:in `block (4 levels) in <top (required)>'

  48) Uglifier comment preservation :copyright preserves comments that start with a bang (!)
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:136:in `block (4 levels) in <top (required)>'
      # ./spec/uglifier_spec.rb:144:in `block (4 levels) in <top (required)>'

  49) Uglifier comment preservation :copyright ignores other comments
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:136:in `block (4 levels) in <top (required)>'
      # ./spec/uglifier_spec.rb:149:in `block (4 levels) in <top (required)>'

  50) Uglifier comment preservation :jsdoc preserves jsdoc license/preserve blocks
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:155:in `block (4 levels) in <top (required)>'
      # ./spec/uglifier_spec.rb:158:in `block (4 levels) in <top (required)>'

  51) Uglifier comment preservation :jsdoc ignores other comments
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:155:in `block (4 levels) in <top (required)>'
      # ./spec/uglifier_spec.rb:162:in `block (4 levels) in <top (required)>'

  52) Uglifier comment preservation :all preserves all comments
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:167:in `block (4 levels) in <top (required)>'
      # ./spec/uglifier_spec.rb:170:in `block (4 levels) in <top (required)>'

  53) Uglifier comment preservation :none omits all comments
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:176:in `block (4 levels) in <top (required)>'
      # ./spec/uglifier_spec.rb:179:in `block (4 levels) in <top (required)>'

  54) Uglifier comment preservation regular expression matches comment blocks with regex
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:185:in `block (4 levels) in <top (required)>'
      # ./spec/uglifier_spec.rb:188:in `block (4 levels) in <top (required)>'

  55) Uglifier comment preservation regular expression omits other blocks
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:185:in `block (4 levels) in <top (required)>'
      # ./spec/uglifier_spec.rb:192:in `block (4 levels) in <top (required)>'

  56) Uglifier reduce_funcs inlines function declaration
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:234:in `block (3 levels) in <top (required)>'

  57) Uglifier reduce_funcs defaults to not inlining function declarations
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:248:in `block (3 levels) in <top (required)>'

  58) Uglifier reduce_vars reduces vars when compress option is set
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:274:in `block (3 levels) in <top (required)>'

  59) Uglifier reduce_vars does not reduce vars when compress option is false
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:279:in `block (3 levels) in <top (required)>'

  60) Uglifier reduce_vars defaults to variable reducing being disabled
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:284:in `block (3 levels) in <top (required)>'

  61) Uglifier reduce_vars does not reduce variables that are assigned to
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:290:in `block (3 levels) in <top (required)>'

  62) Uglifier ie8 option defaults to IE8-safe output
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:298:in `block (3 levels) in <top (required)>'

  63) Uglifier ie8 option forwards ie8 option to UglifyJS
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:302:in `block (3 levels) in <top (required)>'

  64) Uglifier collapse_vars option collapses vars when collapse_vars is enabled
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:369:in `block (3 levels) in <top (required)>'

  65) Uglifier collapse_vars option does not collapse variables when disable
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:374:in `block (3 levels) in <top (required)>'

  66) Uglifier collapse_vars option defaults to not collapsing variables
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:379:in `block (3 levels) in <top (required)>'

  67) Uglifier keep_fnames keeps function names in output when compressor keep_fnames is set
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:414:in `block (3 levels) in <top (required)>'

  68) Uglifier keep_fnames does not mangle function names in output when mangler keep_fnames is set
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:421:in `block (3 levels) in <top (required)>'

  69) Uglifier keep_fnames sets sets both compress and mangle keep_fnames when toplevel keep_fnames is true
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:428:in `block (3 levels) in <top (required)>'

  70) Uglifier Input Formats handles strings
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./spec/uglifier_spec.rb:439:in `block (3 levels) in <top (required)>'

  71) Uglifier Input Formats handles IO objects
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./spec/uglifier_spec.rb:443:in `block (3 levels) in <top (required)>'

  72) Uglifier wrap_iife option defaults to not wrap IIFEs
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:459:in `block (3 levels) in <top (required)>'

  73) Uglifier wrap_iife option wraps IIFEs
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:464:in `block (3 levels) in <top (required)>'

  74) Uglifier removing unused top-level functions and variables removes unused top-level functions and variables when toplevel is set
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:486:in `block (3 levels) in <top (required)>'

  75) Uglifier removing unused top-level functions and variables does not unused top-level functions and variables by default
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:496:in `block (3 levels) in <top (required)>'

  76) Uglifier removing unused top-level functions and variables keeps variables specified in top_retain
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:501:in `block (3 levels) in <top (required)>'

  77) Uglifier unsafe_comps keeps unsafe comparisons by default
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:529:in `block (3 levels) in <top (required)>'

  78) Uglifier unsafe_comps optimises unsafe comparisons when unsafe_comps is enabled
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:534:in `block (3 levels) in <top (required)>'

  79) Uglifier unsafe_math keeps unsafe math by default
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:551:in `block (3 levels) in <top (required)>'

  80) Uglifier unsafe_math optimises unsafe math when unsafe_math is enabled
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:556:in `block (3 levels) in <top (required)>'

  81) Uglifier unsafe_proto keeps unsafe prototype references by default
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:573:in `block (3 levels) in <top (required)>'

  82) Uglifier unsafe_proto optimises unsafe comparisons when unsafe_comps is enabled
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:578:in `block (3 levels) in <top (required)>'

  83) Uglifier shebang is not removed by default
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:595:in `block (3 levels) in <top (required)>'

  84) Uglifier shebang is removed when shebang option is set to false
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:600:in `block (3 levels) in <top (required)>'

  85) Uglifier keep_infinity compresses Infinity by default
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:613:in `block (3 levels) in <top (required)>'

  86) Uglifier keep_infinity can be enabled to preserve Infinity
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:621:in `block (3 levels) in <top (required)>'

  87) Uglifier quote style defaults to auto
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:637:in `block (3 levels) in <top (required)>'

  88) Uglifier quote style can use numbers for configuration
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:642:in `block (3 levels) in <top (required)>'

  89) Uglifier quote style uses single quotes when single
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:647:in `block (3 levels) in <top (required)>'

  90) Uglifier quote style uses double quotes when single
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:652:in `block (3 levels) in <top (required)>'

  91) Uglifier quote style preserves original quoting when original
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:657:in `block (3 levels) in <top (required)>'

  92) Uglifier keep quoted props defaults to not keeping quotes
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:670:in `block (3 levels) in <top (required)>'

  93) Uglifier keep quoted props keeps properties when set to true
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:675:in `block (3 levels) in <top (required)>'

  94) Uglifier side_effects defaults to dropping pure function calls
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:688:in `block (3 levels) in <top (required)>'

  95) Uglifier side_effects function call dropping can be disabled
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:693:in `block (3 levels) in <top (required)>'

  96) Uglifier switches drops unreachable switch branches by default
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:714:in `block (3 levels) in <top (required)>'

  97) Uglifier switches branch dropping can be disabled
      Failure/Error: parse_result(@context.call("uglifier", options), generate_map)
      
      ExecJS::ProgramError:
        TypeError: UglifyJS.minify is not a function
      # uglifier ((execjs):4170:19)
      # eval (eval at <anonymous> ((execjs):4173:8), <anonymous>:1:11)
      # (execjs):4173:8
      # (execjs):4179:14
      # (execjs):1:102
      # Object.<anonymous> ((execjs):1:120)
      # Module._compile (module.js:652:30)
      # Object.Module._extensions..js (module.js:663:10)
      # Module.load (module.js:565:32)
      # tryModuleLoad (module.js:505:12)
      # ./lib/uglifier.rb:232:in `run_uglifyjs'
      # ./lib/uglifier.rb:175:in `compile'
      # ./lib/uglifier.rb:139:in `compile'
      # ./spec/uglifier_spec.rb:719:in `block (3 levels) in <top (required)>'

Finished in 1 minute 34.71 seconds (files took 0.48582 seconds to load)
98 examples, 97 failures

Failed examples:

rspec ./spec/source_map_spec.rb:25 # Uglifier generates source maps
rspec ./spec/source_map_spec.rb:33 # Uglifier generates source maps with the correct meta-data
rspec ./spec/source_map_spec.rb:51 # Uglifier skips copyright lines in source maps
rspec ./spec/source_map_spec.rb:75 # Uglifier proceses an input source map
rspec ./spec/source_map_spec.rb:111 # Uglifier handles empty string as input map sourceRoot
rspec ./spec/source_map_spec.rb:132 # Uglifier appends source map url to minified JS
rspec ./spec/source_map_spec.rb:145 # Uglifier appends source url to minified JS
rspec ./spec/source_map_spec.rb:158 # Uglifier inlines source map
rspec ./spec/source_map_spec.rb:186 # Uglifier inline source map parsing parses inline source maps from line comments
rspec ./spec/source_map_spec.rb:191 # Uglifier inline source map parsing parses inline source maps with block comments
rspec ./spec/source_map_spec.rb:196 # Uglifier inline source map parsing parses inline source maps with multi-line block comments
rspec ./spec/source_map_spec.rb:201 # Uglifier inline source map parsing parses inline source maps from mixed comments
rspec ./spec/source_map_spec.rb:206 # Uglifier inline source map parsing only parses source maps at end of file
rspec ./spec/source_map_spec.rb:212 # Uglifier inline source map parsing handles other source map declarations at end of file
rspec ./spec/source_map_spec.rb:221 # Uglifier inline source map parsing does not explode when data URI is invalid
rspec ./spec/source_map_spec.rb:227 # Uglifier inline source map parsing works with source_map: true
rspec ./spec/source_map_spec.rb:237 # Uglifier inline source map parsing works with source_map: false
rspec ./spec/uglifier_spec.rb:7 # Uglifier minifies JS
rspec ./spec/uglifier_spec.rb:29 # Uglifier throws an exception when compilation fails
rspec ./spec/uglifier_spec.rb:37 # Uglifier doesn't omit null character in strings
rspec ./spec/uglifier_spec.rb:41 # Uglifier adds trailing semicolon to minified source
rspec ./spec/uglifier_spec.rb:197 # Uglifier honors max line length
rspec ./spec/uglifier_spec.rb:203 # Uglifier hoists vars to top of the scope
rspec ./spec/uglifier_spec.rb:307 # Uglifier can be configured to output only ASCII
rspec ./spec/uglifier_spec.rb:313 # Uglifier escapes </script when asked to
rspec ./spec/uglifier_spec.rb:319 # Uglifier quotes keys
rspec ./spec/uglifier_spec.rb:325 # Uglifier quotes unsafe keys by default
rspec ./spec/uglifier_spec.rb:334 # Uglifier handles constant definitions
rspec ./spec/uglifier_spec.rb:344 # Uglifier can disable IIFE negation
rspec ./spec/uglifier_spec.rb:352 # Uglifier can drop console logging
rspec ./spec/uglifier_spec.rb:383 # Uglifier keeps unused function arguments when keep_fargs option is set
rspec ./spec/uglifier_spec.rb:583 # Uglifier forwards passes option to compressor
rspec ./spec/uglifier_spec.rb:17 # Uglifier harmony mode minifies JS with Harmony features when harmony option is on
rspec ./spec/uglifier_spec.rb:22 # Uglifier harmony mode raises an error when minifying JS with Harmony without harmony option
rspec ./spec/uglifier_spec.rb:58 # Uglifier property name mangling does not mangle property names by default
rspec ./spec/uglifier_spec.rb:62 # Uglifier property name mangling can be configured to mangle properties
rspec ./spec/uglifier_spec.rb:67 # Uglifier property name mangling can be configured using old mangle_properties
rspec ./spec/uglifier_spec.rb:72 # Uglifier property name mangling can configure a regex for mangling
rspec ./spec/uglifier_spec.rb:77 # Uglifier property name mangling can be configured to keep quoted properties
rspec ./spec/uglifier_spec.rb:82 # Uglifier property name mangling can be configured to include debug in mangled properties
rspec ./spec/uglifier_spec.rb:91 # Uglifier argument name mangling doesn't try to mangle $super by default to avoid breaking PrototypeJS
rspec ./spec/uglifier_spec.rb:95 # Uglifier argument name mangling allows variables to be excluded from mangling
rspec ./spec/uglifier_spec.rb:100 # Uglifier argument name mangling skips mangling when set to false
rspec ./spec/uglifier_spec.rb:104 # Uglifier argument name mangling mangles argument names by default
rspec ./spec/uglifier_spec.rb:108 # Uglifier argument name mangling mangles top-level names when explicitly instructed
rspec ./spec/uglifier_spec.rb:115 # Uglifier argument name mangling can be controlled with mangle option
rspec ./spec/uglifier_spec.rb:138 # Uglifier comment preservation :copyright preserves comments with string Copyright
rspec ./spec/uglifier_spec.rb:143 # Uglifier comment preservation :copyright preserves comments that start with a bang (!)
rspec ./spec/uglifier_spec.rb:148 # Uglifier comment preservation :copyright ignores other comments
rspec ./spec/uglifier_spec.rb:157 # Uglifier comment preservation :jsdoc preserves jsdoc license/preserve blocks
rspec ./spec/uglifier_spec.rb:161 # Uglifier comment preservation :jsdoc ignores other comments
rspec ./spec/uglifier_spec.rb:169 # Uglifier comment preservation :all preserves all comments
rspec ./spec/uglifier_spec.rb:178 # Uglifier comment preservation :none omits all comments
rspec ./spec/uglifier_spec.rb:187 # Uglifier comment preservation regular expression matches comment blocks with regex
rspec ./spec/uglifier_spec.rb:191 # Uglifier comment preservation regular expression omits other blocks
rspec ./spec/uglifier_spec.rb:233 # Uglifier reduce_funcs inlines function declaration
rspec ./spec/uglifier_spec.rb:247 # Uglifier reduce_funcs defaults to not inlining function declarations
rspec ./spec/uglifier_spec.rb:273 # Uglifier reduce_vars reduces vars when compress option is set
rspec ./spec/uglifier_spec.rb:278 # Uglifier reduce_vars does not reduce vars when compress option is false
rspec ./spec/uglifier_spec.rb:283 # Uglifier reduce_vars defaults to variable reducing being disabled
rspec ./spec/uglifier_spec.rb:288 # Uglifier reduce_vars does not reduce variables that are assigned to
rspec ./spec/uglifier_spec.rb:297 # Uglifier ie8 option defaults to IE8-safe output
rspec ./spec/uglifier_spec.rb:301 # Uglifier ie8 option forwards ie8 option to UglifyJS
rspec ./spec/uglifier_spec.rb:368 # Uglifier collapse_vars option collapses vars when collapse_vars is enabled
rspec ./spec/uglifier_spec.rb:373 # Uglifier collapse_vars option does not collapse variables when disable
rspec ./spec/uglifier_spec.rb:378 # Uglifier collapse_vars option defaults to not collapsing variables
rspec ./spec/uglifier_spec.rb:413 # Uglifier keep_fnames keeps function names in output when compressor keep_fnames is set
rspec ./spec/uglifier_spec.rb:420 # Uglifier keep_fnames does not mangle function names in output when mangler keep_fnames is set
rspec ./spec/uglifier_spec.rb:427 # Uglifier keep_fnames sets sets both compress and mangle keep_fnames when toplevel keep_fnames is true
rspec ./spec/uglifier_spec.rb:438 # Uglifier Input Formats handles strings
rspec ./spec/uglifier_spec.rb:442 # Uglifier Input Formats handles IO objects
rspec ./spec/uglifier_spec.rb:458 # Uglifier wrap_iife option defaults to not wrap IIFEs
rspec ./spec/uglifier_spec.rb:463 # Uglifier wrap_iife option wraps IIFEs
rspec ./spec/uglifier_spec.rb:485 # Uglifier removing unused top-level functions and variables removes unused top-level functions and variables when toplevel is set
rspec ./spec/uglifier_spec.rb:495 # Uglifier removing unused top-level functions and variables does not unused top-level functions and variables by default
rspec ./spec/uglifier_spec.rb:500 # Uglifier removing unused top-level functions and variables keeps variables specified in top_retain
rspec ./spec/uglifier_spec.rb:528 # Uglifier unsafe_comps keeps unsafe comparisons by default
rspec ./spec/uglifier_spec.rb:533 # Uglifier unsafe_comps optimises unsafe comparisons when unsafe_comps is enabled
rspec ./spec/uglifier_spec.rb:550 # Uglifier unsafe_math keeps unsafe math by default
rspec ./spec/uglifier_spec.rb:555 # Uglifier unsafe_math optimises unsafe math when unsafe_math is enabled
rspec ./spec/uglifier_spec.rb:572 # Uglifier unsafe_proto keeps unsafe prototype references by default
rspec ./spec/uglifier_spec.rb:577 # Uglifier unsafe_proto optimises unsafe comparisons when unsafe_comps is enabled
rspec ./spec/uglifier_spec.rb:594 # Uglifier shebang is not removed by default
rspec ./spec/uglifier_spec.rb:599 # Uglifier shebang is removed when shebang option is set to false
rspec ./spec/uglifier_spec.rb:612 # Uglifier keep_infinity compresses Infinity by default
rspec ./spec/uglifier_spec.rb:620 # Uglifier keep_infinity can be enabled to preserve Infinity
rspec ./spec/uglifier_spec.rb:636 # Uglifier quote style defaults to auto
rspec ./spec/uglifier_spec.rb:641 # Uglifier quote style can use numbers for configuration
rspec ./spec/uglifier_spec.rb:646 # Uglifier quote style uses single quotes when single
rspec ./spec/uglifier_spec.rb:651 # Uglifier quote style uses double quotes when single
rspec ./spec/uglifier_spec.rb:656 # Uglifier quote style preserves original quoting when original
rspec ./spec/uglifier_spec.rb:669 # Uglifier keep quoted props defaults to not keeping quotes
rspec ./spec/uglifier_spec.rb:674 # Uglifier keep quoted props keeps properties when set to true
rspec ./spec/uglifier_spec.rb:687 # Uglifier side_effects defaults to dropping pure function calls
rspec ./spec/uglifier_spec.rb:692 # Uglifier side_effects function call dropping can be disabled
rspec ./spec/uglifier_spec.rb:713 # Uglifier switches drops unreachable switch branches by default
rspec ./spec/uglifier_spec.rb:718 # Uglifier switches branch dropping can be disabled

/usr/bin/ruby2.5 /usr/bin/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation failed
ERROR: Test "ruby2.5" failed. Exiting.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant