| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| __init__.py | ||
| closure.py | ||
| cssmin.py | ||
| csstidy.py | ||
| jsmin.py | ||
| slimit.py | ||
| uglifyjs.py | ||
| yuglify.py | ||
| yui.py |
Most JavaScript packages wrap their code in IIFEs, which is good.
Pipeline used to concatenate JS only with a newline. That can break those IIFES
though:
(function() {
// package A
}()) // No semicolon! Most people put one here, but unfortunately not all!
(function() {
// package B
}());
The above is equivalent to:
(function() {
// package A
}())(function() {
// package B
}());
Suddenly we have a function call!
With this commit, JS is concatenated with a newline followed by a semicolon,
which fixes the above issue:
(function() {
// package A
}()) // No semicolon! Most people put one here, but unfortunately not all!
;(function() {
// package B
}());
There is no need to worry about superfluos semicolons, such as:
(function() {
// package A
}());
;;(function() {
// package B
}());
That is still valid JavaScript and the extra semicolons will be removed by the
minifier.
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| __init__.py | Loading commit data... | |
| closure.py | Loading commit data... | |
| cssmin.py | Loading commit data... | |
| csstidy.py | Loading commit data... | |
| jsmin.py | Loading commit data... | |
| slimit.py | Loading commit data... | |
| uglifyjs.py | Loading commit data... | |
| yuglify.py | Loading commit data... | |
| yui.py | Loading commit data... |