o
    O6uf<  ã                   @   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   Úproject_pathr   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   	$