terser 1.1.13 → 1.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/lib/terser.rb CHANGED
@@ -4,7 +4,7 @@
4
4
  require "json"
5
5
  require "base64"
6
6
  require "execjs"
7
- require "terser/railtie" if defined?(::Rails::Railtie)
7
+ require "terser/railtie" if defined?(Rails::Railtie)
8
8
  require "terser/version"
9
9
 
10
10
  # A wrapper around the Terser interface
@@ -85,6 +85,7 @@ class Terser
85
85
  :keep_fnames => false, # Do not drop names in function definitions
86
86
  :passes => 1, # Number of times to run compress. Raising the number of passes will increase compress time, but can produce slightly smaller code.
87
87
  :keep_infinity => false, # Prevent compression of Infinity to 1/0
88
+ :lhs_constants => true, # Moves constant values to the left-hand side of binary nodes. `foo == 42 → 42 == foo`
88
89
  :side_effects => true, # Pass false to disable potentially dropping functions marked as "pure" using pure comment annotation. See TerserJS documentation for details.
89
90
  :switches => true # de-duplicate and remove unreachable switch branches
90
91
  }, # Apply transformations to code, set to false to skip
@@ -405,8 +406,8 @@ class Terser
405
406
  if @options[:keep_fnames] || DEFAULTS[:keep_fnames]
406
407
  true
407
408
  else
408
- @options[type].respond_to?(:[]) && @options[type][:keep_fnames] ||
409
- DEFAULTS[type].respond_to?(:[]) && DEFAULTS[type][:keep_fnames]
409
+ (@options[type].respond_to?(:[]) && @options[type][:keep_fnames]) ||
410
+ (DEFAULTS[type].respond_to?(:[]) && DEFAULTS[type][:keep_fnames])
410
411
  end
411
412
  end
412
413
 
@@ -414,8 +415,8 @@ class Terser
414
415
  if @options[:keep_classnames] || DEFAULTS[:keep_classnames]
415
416
  true
416
417
  else
417
- @options[type].respond_to?(:[]) && @options[type][:keep_classnames] ||
418
- DEFAULTS[type].respond_to?(:[]) && DEFAULTS[type][:keep_classnames]
418
+ (@options[type].respond_to?(:[]) && @options[type][:keep_classnames]) ||
419
+ (DEFAULTS[type].respond_to?(:[]) && DEFAULTS[type][:keep_classnames])
419
420
  end
420
421
  end
421
422
 
data/terser.gemspec CHANGED
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
32
32
 
33
33
  spec.add_runtime_dependency "execjs", [">= 0.3.0", "< 3"]
34
34
  spec.add_development_dependency "bundler", ">= 1.3"
35
- spec.add_development_dependency "rake", "~> 12.0"
35
+ spec.add_development_dependency "rake", "~> 13.0"
36
36
  spec.add_development_dependency "rspec", "~> 3.0"
37
37
  spec.add_development_dependency "sourcemap", "~> 0.1.1"
38
38
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: terser
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.13
4
+ version: 1.1.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Rosicky
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-03 00:00:00.000000000 Z
11
+ date: 2023-05-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: execjs
@@ -50,14 +50,14 @@ dependencies:
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '12.0'
53
+ version: '13.0'
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '12.0'
60
+ version: '13.0'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: rspec
63
63
  requirement: !ruby/object:Gem::Requirement