From 07081ff18cbfffba3ad4194e2d193f902a5d9f1f Mon Sep 17 00:00:00 2001 From: Ben Toews Date: Thu, 10 Sep 2015 14:11:15 -0600 Subject: [PATCH] allow ascii_only flag on compression --- bin/uglifyjs | 3 +++ lib/compress.js | 1 + test/compress/ascii_only.js | 19 +++++++++++++++++++ 3 files changed, 23 insertions(+) create mode 100644 test/compress/ascii_only.js diff --git a/bin/uglifyjs b/bin/uglifyjs index 4768f766..95b303a8 100755 --- a/bin/uglifyjs +++ b/bin/uglifyjs @@ -225,6 +225,9 @@ if (ARGS.keep_fnames) { if (BEAUTIFY) UglifyJS.merge(OUTPUT_OPTIONS, BEAUTIFY); +if (COMPRESS) + OUTPUT_OPTIONS.ascii_only = !!COMPRESS.ascii_only + if (ARGS.comments != null) { if (/^\/.*\/[a-zA-Z]*$/.test(ARGS.comments)) { try { diff --git a/lib/compress.js b/lib/compress.js index 51dd66f8..94569ed2 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -74,6 +74,7 @@ function Compressor(options, false_by_default) { screw_ie8 : false, drop_console : false, angular : false, + ascii_only : false, warnings : true, global_defs : {} diff --git a/test/compress/ascii_only.js b/test/compress/ascii_only.js new file mode 100644 index 00000000..58b632fb --- /dev/null +++ b/test/compress/ascii_only.js @@ -0,0 +1,19 @@ +prevents_unicode_escape_sequences_from_being_converted: { + options = {ascii_only: true}; + input: { + var a = "\u2000"; + } + expect: { + var a = "\u2000"; + } +} + +converts_unicode_characters_to_escape_sequences: { + options = {ascii_only: true}; + input: { + var a = " "; + } + expect: { + var a = "\u2000"; + } +}