include Chef::Mixin::ShellOut
def load_current_resource
- @packages = JSON.parse(shell_out("npm list --global --json").stdout)["dependencies"]
+ @packages = JSON.parse(shell_out("npm list --global --json").stdout)["dependencies"] || {}
@current_resource = Chef::Resource::NodejsPackage.new(new_resource.name)
@current_resource.package_name(new_resource.package_name)
- if package = @packages[@current_resource.package_name]
+ if (package = @packages[@current_resource.package_name])
@current_resource.version(package["version"])
end
@current_resource
package_name = new_resource.package_name
end
- unless @packages.include?(new_resource.package_name)
+ if !@packages.include?(new_resource.package_name)
shell_out!("npm install --global #{package_name}")
new_resource.updated_by_last_action(true)
else