o
    id                     @   sB   d dl Z d dlmZmZmZ G dd deeZG dd deZdS )    N)PluginIndependentPlugin	PluginOptc                   @   s@   e Zd ZdZdZdZeddeddgZdZ	dd
dZ
dd Zd	S )Npmz&Information from available npm modulesnpm)systemproject_path z+Collect npm modules of project at this path)defaultval_typedesc)r   Nc                 C   s   | j ||d|d d S )NF)suggest_filenamestderrrunat)add_cmd_output)selfcmdfilenameworking_directory r   8/usr/lib/python3/dist-packages/sos/report/plugins/npm.py_get_npm_output   s   
zNpm._get_npm_outputc                 C   s`   |  dr"tjtj|  d}| jdd|d | jdd|d | dd | dd	 d S )
Nr   znpm ls --jsonnpm_ls_project)r   znpm config list -lnpm_config_list_projectznpm ls -g --jsonnpm_ls_globalnpm_config_list_global)
get_optionospathabspath
expanduserr   )r   r   r   r   r   setup%   s   
z	Npm.setup)N)__name__
__module____qualname__
short_descplugin_nameprofilesr   stroption_listpackagesr   r!   r   r   r   r   r      s    
	r   c                   @   s   e Zd ZdZdZdS )NpmViaNodeJSzG
    some distribution methods don't provide 'npm' via npm package
    )nodejsN)r"   r#   r$   __doc__r*   r   r   r   r   r+   3   s    r+   )r   sos.report.pluginsr   r   r   r   r+   r   r   r   r   <module>   s   	$