17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
# File 'lib/condenser/minifiers/uglify_minifier.rb', line 17
def call(environment, input)
opts = {
}.merge(@options)
result = exec_runtime(" const UglifyJS = require(\"\#{File.expand_path('../node_modules', __FILE__)}/uglify-js\");\n const source = \#{JSON.generate(input[:filename] => input[:source])}\n const options = \#{JSON.generate(opts)};\n\n // {\n // sourceMap: {\n // content: \"content from compiled.js.map\",\n // url: \"minified.js.map\"\n // }\n // });\n \n try {\n var result = UglifyJS.minify(source, options);\n console.log(JSON.stringify(result));\n } catch(e) {\n console.log(JSON.stringify({'error': e.name + \": \" + e.message}));\n process.exit(1);\n }\n JS\n\n raise Error, result['error'] if result['error']\n \n if result['warnings']\n result['warnings'].each { |w| environment.logger.warn(w) }\n end\n \n input[:source] = result['code']\n input[:map] = result['map']\nend\n")
|