3 ܓi<@sBddlZddlmZmZmZGdddeeZGdddeZdS)N)PluginIndependentPlugin PluginOptc@s@eZdZdZdZd ZeddeddgZdZ dd d Z d d Z dS)Npmz&Information from available npm modulesnpmsystemz project-pathz+Collect npm modules of project at this path)defaultZval_typeZdescNcCs|j||d|ddS)NF)Zsuggest_filenamestderrZrunat)Zadd_cmd_output)selfcmdfilenameworking_directoryr/usr/lib/python3.6/npm.py_get_npm_outputs zNpm._get_npm_outputcCs`|jdrDtjjtjj|jd}|jdd|d|jdd|d|jdd|jdd dS) Nz project-pathz npm ls --jsonZnpm_ls_project)rznpm config list -lZnpm_config_list_projectznpm ls -g --jsonZ npm_ls_globalZnpm_config_list_global)Z get_optionospathabspath expanduserr)r Z project_pathrrrsetup%s   z Npm.setup)r)r)N) __name__ __module__ __qualname__Z short_descZ plugin_nameZprofilesrstrZ option_listpackagesrrrrrrrs  rc@seZdZdZdZdS) NpmViaNodeJSzG some distribution methods don't provide 'npm' via npm package nodejsN)r)rrr__doc__rrrrrr3sr)rZsos.report.pluginsrrrrrrrrr s$