U
    -_g<                     @   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)defaultZval_typeZdesc)r   Nc                 C   s   | j ||d|d d S )NF)Zsuggest_filenamestderrZrunat)Z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rDtjtj|  d}| jdd|d | jdd|d | dd | dd	 d S )
Nr   znpm ls --jsonZnpm_ls_project)r   znpm config list -lZnpm_config_list_projectznpm ls -g --jsonZnpm_ls_globalZnpm_config_list_global)Z
get_optionospathabspath
expanduserr   )r   Zproject_pathr   r   r   setup%   s    
z	Npm.setup)N)__name__
__module____qualname__Z
short_descZplugin_nameZprofilesr   strZ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
    )ZnodejsN)r   r   r   __doc__r   r   r   r   r   r   3   s   r   )r   Zsos.report.pluginsr   r   r   r   r   r   r   r   r   <module>
   s   $