Class: Railpack::NpmBasedBundler
Overview
Intermediate base class for NPM-based bundlers (esbuild, rollup, webpack)
Instance Attribute Summary
Attributes inherited from Bundler
#config
Instance Method Summary
collapse
Methods inherited from Bundler
#base_command, #build!, #commands, #default_commands, #initialize, #name, #watch
Instance Method Details
#add(*packages) ⇒ Object
157
158
159
|
# File 'lib/railpack/bundler.rb', line 157
def add(*packages)
execute([package_manager, "install", *packages])
end
|
#exec(*args) ⇒ Object
165
166
167
|
# File 'lib/railpack/bundler.rb', line 165
def exec(*args)
execute([package_manager, "exec", *args])
end
|
#install!(args = []) ⇒ Object
153
154
155
|
# File 'lib/railpack/bundler.rb', line 153
def install!(args = [])
execute([package_manager, "install", *args])
end
|
#installed? ⇒ Boolean
173
174
175
|
# File 'lib/railpack/bundler.rb', line 173
def installed?
system("#{commands[:version]} > /dev/null 2>&1")
end
|
#package_manager ⇒ Object
149
150
151
|
# File 'lib/railpack/bundler.rb', line 149
def package_manager
@package_manager ||= detect_package_manager
end
|
#remove(*packages) ⇒ Object
161
162
163
|
# File 'lib/railpack/bundler.rb', line 161
def remove(*packages)
execute([package_manager, "uninstall", *packages])
end
|
#version ⇒ Object
169
170
171
|
# File 'lib/railpack/bundler.rb', line 169
def version
`#{commands[:version]}`.strip
end
|