new release 2.0.2

This commit is contained in:
Adam Williamson 2015-04-25 13:35:12 -07:00
commit 424620d24e
5 changed files with 8 additions and 139 deletions

1
.gitignore vendored
View file

@ -1 +1,2 @@
/jsqueeze-70a8167daf0e2d5522d5d77a11e3a7d6753683ce.tar.gz
/jsqueeze-2e581762884cfd035d9b148794ef2a4ab2c3b893.tar.gz

View file

@ -1,68 +0,0 @@
From dc3c4073c2060d62a8578848c5d222a8b7608df1 Mon Sep 17 00:00:00 2001
From: Nicolas Grekas <nicolas.grekas@gmail.com>
Date: Mon, 16 Mar 2015 19:14:38 +0100
Subject: [PATCH] Fix #15 when ";" is missing before else/while
---
src/JSqueeze.php | 1 +
tests/uglifyjs/expected/if.js | 3 ++-
tests/uglifyjs/expected/ifreturn.js | 3 ++-
tests/uglifyjs/expected/issue10.js | 3 ++-
tests/uglifyjs/expected/tchwork-15.js | 2 ++
tests/uglifyjs/test/tchwork-15.js | 2 ++
6 files changed, 11 insertions(+), 3 deletions(-)
create mode 100644 tests/uglifyjs/expected/tchwork-15.js
create mode 100644 tests/uglifyjs/test/tchwork-15.js
diff --git a/src/JSqueeze.php b/src/JSqueeze.php
index b85edeb..e6da80e 100644
--- a/src/JSqueeze.php
+++ b/src/JSqueeze.php
@@ -162,6 +162,7 @@ function squeeze($code, $singleLine = true, $keepImportantComments = true, $spec
$code = substr($tree[$key]['code'], 1);
$code = preg_replace("'\breturn !'", 'return!', $code);
+ $code = preg_replace("'\}(?=(else|while)[^\$.a-zA-Z0-9_])'", "}\r", $code);
$code = str_replace(array_keys($this->strings), array_values($this->strings), $code);
if ($singleLine) $code = strtr($code, "\n", ';');
diff --git a/tests/uglifyjs/expected/if.js b/tests/uglifyjs/expected/if.js
index c347e25..7f4fde1 100644
--- a/tests/uglifyjs/expected/if.js
+++ b/tests/uglifyjs/expected/if.js
@@ -1 +1,2 @@
-;var a=1;if(a==1){a=2}else{a=17};
+;var a=1;if(a==1){a=2}
+else{a=17};
diff --git a/tests/uglifyjs/expected/ifreturn.js b/tests/uglifyjs/expected/ifreturn.js
index ec6b59d..1a85e9c 100644
--- a/tests/uglifyjs/expected/ifreturn.js
+++ b/tests/uglifyjs/expected/ifreturn.js
@@ -1 +1,2 @@
-;function a(r){if(r==1){return 2}else{return 17};return 3};
+;function a(r){if(r==1){return 2}
+else{return 17};return 3};
diff --git a/tests/uglifyjs/expected/issue10.js b/tests/uglifyjs/expected/issue10.js
index afa9e0c..ec193b0 100644
--- a/tests/uglifyjs/expected/issue10.js
+++ b/tests/uglifyjs/expected/issue10.js
@@ -1 +1,2 @@
-;function f(){var r;if(r='a'){return r}else{return r}};f();
+;function f(){var r;if(r='a'){return r}
+else{return r}};f();
diff --git a/tests/uglifyjs/expected/tchwork-15.js b/tests/uglifyjs/expected/tchwork-15.js
new file mode 100644
index 0000000..59972e2
--- /dev/null
+++ b/tests/uglifyjs/expected/tchwork-15.js
@@ -0,0 +1,2 @@
+;if(foo)var bar=function(){}
+else baz;
diff --git a/tests/uglifyjs/test/tchwork-15.js b/tests/uglifyjs/test/tchwork-15.js
new file mode 100644
index 0000000..cbe8c16
--- /dev/null
+++ b/tests/uglifyjs/test/tchwork-15.js
@@ -0,0 +1,2 @@
+if (foo) var bar = function() {}
+else baz;

View file

@ -1,60 +0,0 @@
From f3747ee91e3025b46e29b2128bbb83f63cbb7f2a Mon Sep 17 00:00:00 2001
From: Nicolas Grekas <nicolas.grekas@gmail.com>
Date: Sat, 7 Mar 2015 18:48:17 +0100
Subject: [PATCH] Fix #16 name collision with NFEs
---
src/JSqueeze.php | 1 +
tests/uglifyjs/expected/mangle.js | 2 +-
tests/uglifyjs/expected/tchwork-16.js | 1 +
tests/uglifyjs/test/mangle.js | 1 +
tests/uglifyjs/test/tchwork-16.js | 3 +++
5 files changed, 7 insertions(+), 1 deletion(-)
create mode 100644 tests/uglifyjs/expected/tchwork-16.js
create mode 100644 tests/uglifyjs/test/tchwork-16.js
diff --git a/src/JSqueeze.php b/src/JSqueeze.php
index fc92ce4..b85edeb 100644
--- a/src/JSqueeze.php
+++ b/src/JSqueeze.php
@@ -857,6 +857,7 @@ protected function renameVars(&$tree, $root)
else
{
arsort($tree['local']);
+ if (false !== $tree['nfe']) $tree['used'][] = $tree['local'][$tree['nfe']];
foreach ($tree['local'] as $var => $root)
if ($tree['nfe'] !== $var)
diff --git a/tests/uglifyjs/expected/mangle.js b/tests/uglifyjs/expected/mangle.js
index 6e51d91..eb8f7f7 100644
--- a/tests/uglifyjs/expected/mangle.js
+++ b/tests/uglifyjs/expected/mangle.js
@@ -1 +1 @@
-(function(){var r=function n(r,n,n){return n}}());
+(function(){var u=function n(r,n,u){return n};u=fun}());
diff --git a/tests/uglifyjs/expected/tchwork-16.js b/tests/uglifyjs/expected/tchwork-16.js
new file mode 100644
index 0000000..507b897
--- /dev/null
+++ b/tests/uglifyjs/expected/tchwork-16.js
@@ -0,0 +1 @@
+;foo=function n(o,f){n(o+'nnn')};
diff --git a/tests/uglifyjs/test/mangle.js b/tests/uglifyjs/test/mangle.js
index c271a26..7371d8e 100644
--- a/tests/uglifyjs/test/mangle.js
+++ b/tests/uglifyjs/test/mangle.js
@@ -2,4 +2,5 @@
var x = function fun(a, fun, b) {
return fun;
};
+ x = fun;
}());
diff --git a/tests/uglifyjs/test/tchwork-16.js b/tests/uglifyjs/test/tchwork-16.js
new file mode 100644
index 0000000..f2293e3
--- /dev/null
+++ b/tests/uglifyjs/test/tchwork-16.js
@@ -0,0 +1,3 @@
+foo = function bar(a, b) {
+ bar(a + "nnn");
+};

View file

@ -1,7 +1,7 @@
%global github_owner tchwork
%global github_name jsqueeze
%global github_version 2.0.1
%global github_commit 70a8167daf0e2d5522d5d77a11e3a7d6753683ce
%global github_version 2.0.2
%global github_commit 2e581762884cfd035d9b148794ef2a4ab2c3b893
%global packagist_owner patchwork
%global packagist_name jsqueeze
%global psr4_namespace Patchwork
@ -11,7 +11,7 @@
Name: php-%{packagist_owner}-%{packagist_name}
Version: %{github_version}
Release: 2%{?dist}
Release: 1%{?dist}
Summary: Efficient JavaScript minification
Group: Development/Libraries
@ -20,11 +20,6 @@ URL: https://github.com/%{github_owner}/%{github_name}
# Must use commit-based not tag-based github tarball:
# https://fedoraproject.org/wiki/Packaging:SourceURL#Github
Source0: https://github.com/%{github_owner}/%{github_name}/archive/%{github_commit}/%{github_name}-%{github_commit}.tar.gz
# Backported bug fixes
Patch0: https://github.com/%{github_owner}/%{github_name}/commit/f3747ee91e3025b46e29b2128bbb83f63cbb7f2a.patch
Patch1: https://github.com/%{github_owner}/%{github_name}/dc3c4073c2060d62a8578848c5d222a8b7608df1.patch
BuildArch: noarch
# For tests
BuildRequires: php(language) >= %{php_min_ver}
@ -50,8 +45,6 @@ UglifyJS.
%prep
%setup -qn %{github_name}-%{github_commit}
%patch0 -p1
%patch1 -p1
%build
@ -76,6 +69,9 @@ cp -pr src/* %{buildroot}%{_datadir}/php/%{psr4_namespace}
%changelog
* Sat Apr 25 2015 Adam Williamson <awilliam@redhat.com> - 2.0.2-1
- new release 2.0.2
* Mon Mar 16 2015 Adam Williamson <awilliam@redhat.com> - 2.0.1-2
- backport a couple of bugfixes from upstream

View file

@ -1 +1 @@
0167fad13a288f1be6f2a2707ef51777 jsqueeze-70a8167daf0e2d5522d5d77a11e3a7d6753683ce.tar.gz
1c8e4c7782b91338a14a4e7512871521 jsqueeze-2e581762884cfd035d9b148794ef2a4ab2c3b893.tar.gz