Skip to content

Commit

Permalink
JS: keep argument to set method even when not used, fixes #481
Browse files Browse the repository at this point in the history
  • Loading branch information
tdewolff committed May 2, 2022
1 parent 3fad17c commit 1745dc7
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 5 deletions.
10 changes: 5 additions & 5 deletions js/js.go
Original file line number Diff line number Diff line change
Expand Up @@ -477,10 +477,10 @@ func (m *jsMinifier) minifyAlias(alias js.Alias) {
}
}

func (m *jsMinifier) minifyParams(params js.Params) {
func (m *jsMinifier) minifyParams(params js.Params, removeUnused bool) {
// remove unused parameters from the end
j := len(params.List)
if params.Rest == nil {
if removeUnused && params.Rest == nil {
for ; 0 < j; j-- {
if v, ok := params.List[j-1].Binding.(*js.Var); !ok || ok && 1 < v.Uses {
break
Expand Down Expand Up @@ -608,7 +608,7 @@ func (m *jsMinifier) minifyFuncDecl(decl *js.FuncDecl, inExpr bool) {
m.renamer.renameScope(decl.Body.Scope)
}

m.minifyParams(decl.Params)
m.minifyParams(decl.Params, true)
m.minifyBlockStmt(&decl.Body)
m.renamer.rename = parentRename
}
Expand Down Expand Up @@ -641,7 +641,7 @@ func (m *jsMinifier) minifyMethodDecl(decl *js.MethodDecl) {
}
m.minifyPropertyName(decl.Name)
m.renamer.renameScope(decl.Body.Scope)
m.minifyParams(decl.Params)
m.minifyParams(decl.Params, !decl.Set)
m.minifyBlockStmt(&decl.Body)
m.renamer.rename = parentRename
}
Expand Down Expand Up @@ -673,7 +673,7 @@ func (m *jsMinifier) minifyArrowFunc(decl *js.ArrowFunc) {
} else {
parentInFor := m.inFor
m.inFor = false
m.minifyParams(decl.Params)
m.minifyParams(decl.Params, true)
m.inFor = parentInFor
}
m.write(arrowBytes)
Expand Down
1 change: 1 addition & 0 deletions js/js_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -747,6 +747,7 @@ func TestJS(t *testing.T) {
{`(function(){var a=b;var c=d.x,e=f.y})()`, `(function(){var a=b,c=d.x,e=f.y})()`}, // #472
{`var a=1;g();a=2;let b=3`, `var a=1;g(),a=2;let b=3`}, // #474
{`if(!(0<1&&1<2)){throw new Error()}`, `if(!(0<1&&1<2))throw new Error`}, // #479
{`class A{set x(e){}}`, `class A{set x(e){}}`}, // #481
}

m := minify.New()
Expand Down

0 comments on commit 1745dc7

Please sign in to comment.