minify/squish.minify.lua

changeset 30
802e22257a9e
parent 27
0718b469099d
equal deleted inserted replaced
29:0737a3bcf10b 30:802e22257a9e
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;

mercurial