Viewing File: /usr/lib/python2.7/site-packages/sos/plugins/npm.pyo

ó
ÑKjc@s|ddlZddlZddlmZmZmZmZmZdeeeeefd„ƒYZdefd„ƒYZ	dS(iÿÿÿÿN(tPlugintRedHatPlugintDebianPlugintUbuntuPlugint
SuSEPlugintNpmcBsGeZdZdZd
ZdgZdZd
d„Zd„Z	d	„Z
RS(s.
    Get info about available npm modules
    tnpmtsystemtproject_paths/List npm modules of a project specified by pathtfasttcCs#|j|d|dtd|ƒdS(Ntsuggest_filenametstderrtrunat(tadd_cmd_outputtFalse(tselftcmdtfilenametworking_directory((s3/usr/lib/python2.7/site-packages/sos/plugins/npm.pyt_get_npm_output s
cCsi}|jddtƒ}|ddkrÚx¬g|djƒD]}|jdƒr?|^q?D]u}|jtjjƒ}t|ƒdkr‘q^n|\}}}}	}
||krÂ|	g||<q^||j	|	ƒq^Wn|j
d|ƒ|jd	ƒ}|jt
j|ƒ|ƒd
S(sY
        Example 'npm cache ls' output
            ~/.npm
            ~/.npm/acorn
            ~/.npm/acorn/1.2.2
            ~/.npm/acorn/1.2.2/package.tgz
            ~/.npm/acorn/1.2.2/package
            ~/.npm/acorn/1.2.2/package/package.json
            ~/.npm/acorn/4.0.3
            ~/.npm/acorn/4.0.3/package.tgz
            ~/.npm/acorn/4.0.3/package
            ~/.npm/acorn/4.0.3/package/package.json
            ~/.npm/registry.npmjs.org
            ~/.npm/registry.npmjs.org/acorn
            ~/.npm/registry.npmjs.org/acorn/.cache.json

        https://docs.npmjs.com/cli/cache
        snpm cache lstchroottstatusitoutputspackage.tgzismodules in cache: %stnpm_cache_modulesN(tcollect_cmd_outputRt
splitlinestendswithtsplittostpathtseptlentappendt
_log_debugt_make_command_filenametadd_string_as_filetjsontdumps(RRt
user_cachetltpackaget
five_tuplethometcachetnametversiontpackage_tgztoutfn((s3/usr/lib/python2.7/site-packages/sos/plugins/npm.pyt_find_modules_in_npm_cache)scCs“|jdƒretjjtjj|jdƒƒƒ}|jddd|ƒ|jddd|ƒn|jddƒ|jdd	ƒ|jƒdS(
NRs
npm ls --jsontnpm_ls_projectRsnpm config list -ltnpm_config_list_projectsnpm ls -g --jsont
npm_ls_globaltnpm_config_list_global(t
get_optionRRtabspatht
expanduserRR1(RR((s3/usr/lib/python2.7/site-packages/sos/plugins/npm.pytsetupPs	
(ssystem(sproject_paths/List npm modules of a project specified by pathR	R
(RN(t__name__t
__module__t__doc__tplugin_nametprofilestoption_listtpackagestNoneRR1R9(((s3/usr/lib/python2.7/site-packages/sos/plugins/npm.pyRs			'tNpmViaNodeJScBseZdZdZRS(sG
    some distribution methods don't provide 'npm' via npm package
    tnodejs(RC(R:R;R<R@(((s3/usr/lib/python2.7/site-packages/sos/plugins/npm.pyRB_s(
RR%tsos.pluginsRRRRRRRB(((s3/usr/lib/python2.7/site-packages/sos/plugins/npm.pyt<module>
s("N
Back to Directory File Manager