33 lines
1.2 KiB
Python
33 lines
1.2 KiB
Python
|
import subprocess
|
||
|
|
||
|
def list_all_npm_packages():
|
||
|
try:
|
||
|
result = subprocess.run(['npm', 'ls', '-g'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
|
||
|
|
||
|
if result.returncode == 0:
|
||
|
# Split the captured output into lines to get package lines
|
||
|
package_lines = result.stdout.split('\n')
|
||
|
|
||
|
# Initialize an empty list to store package names
|
||
|
package_names = []
|
||
|
|
||
|
# Print only the package names without directory structure
|
||
|
for package_line in package_lines:
|
||
|
package_name = package_line.strip()
|
||
|
if package_name and package_name != '/usr/local/lib':
|
||
|
package_name = package_line.split('@')[0].strip()
|
||
|
package_name = package_name.replace('├──', '').replace('└──', '').strip()
|
||
|
if package_name:
|
||
|
package_names.append(package_name)
|
||
|
|
||
|
return package_names # Return the list of package names
|
||
|
|
||
|
else:
|
||
|
print("Error:", result.stderr)
|
||
|
|
||
|
except Exception as e:
|
||
|
print("An error occurred:", e)
|
||
|
|
||
|
#packages_array = list_all_npm_packages()
|
||
|
#print(packages_array)
|