3 local llex = require "llex" |
3 local llex = require "llex" |
4 local lparser = require "lparser" |
4 local lparser = require "lparser" |
5 |
5 |
6 local minify_defaults = { |
6 local minify_defaults = { |
7 none = {}; |
7 none = {}; |
|
8 debug = { "whitespace", "locals", "entropy", "comments", "numbers" }; |
8 default = { "comments", "whitespace", "emptylines", "numbers", "locals" }; |
9 default = { "comments", "whitespace", "emptylines", "numbers", "locals" }; |
9 basic = { "comments", "whitespace", "emptylines" }; |
10 basic = { "comments", "whitespace", "emptylines" }; |
10 maximum = { "comments", "whitespace", "emptylines", "eols", "strings", "numbers", "locals", "entropy" }; |
11 full = { "comments", "whitespace", "emptylines", "eols", "strings", "numbers", "locals", "entropy" }; |
11 } |
12 } |
12 minify_defaults.full = minify_defaults.maximum; |
|
13 |
13 |
|
14 if opts.minify_level and not minify_defaults[opts.minify_level] then |
|
15 print_err("Unknown minify level: "..opts.minify_level); |
|
16 print_err("Available minify levels: none, basic, default, full, debug"); |
|
17 end |
14 for _, opt in ipairs(minify_defaults[opts.minify_level or "default"] or {}) do |
18 for _, opt in ipairs(minify_defaults[opts.minify_level or "default"] or {}) do |
15 opts["minify_"..opt] = true; |
19 if opts["minify_"..opt] == nil then |
|
20 opts["minify_"..opt] = true; |
|
21 end |
16 end |
22 end |
17 |
23 |
18 local option = { |
24 local option = { |
19 ["opt-locals"] = opts.minify_locals; |
25 ["opt-locals"] = opts.minify_locals; |
20 ["opt-comments"] = opts.minify_comments; |
26 ["opt-comments"] = opts.minify_comments; |