Flutter工程找出pubspec.yaml里冗余插件

用Flutter做项目开发一段时间后,根据产品功能的迭代发展,有些插件可能已经不在代码中用到了,所以需要对插件进行清理操作。本操作是在Mac下通过python脚本来实现的,如果是Linux或Windows,可能执行python时会有差异。

首先,在Flutter工程根目录下创建和激活python虚拟环境,打开命令行工具:

  • 创建虚拟环境:python3 -m venv myenv

  • 激活虚拟环境(在Linux/MacOS):source myenv/bin/activate

  • 或者在Windows:myenv\Scripts\activate

  • 安装PyYAML库:pip3 install pyyaml

创建python文件 script.py

import os
import yaml

# Load pubspec.yaml
with open('pubspec.yaml', 'r') as file:
    pubspec = yaml.safe_load(file)

# Get a list of all dependencies
dependencies = set(pubspec['dependencies'].keys())

# Function to find all import statements in a file
def find_imports(file_path):
    imports = set()
    with open(file_path, 'r') as file:
        for line in file:
            if line.strip().startswith('import'):
                import_path = line.split(' ')[1].strip().strip("'").strip('"')
                if 'package:' in import_path:
                    package_name = import_path.split('/')[0].replace('package:', '')
                    imports.add(package_name)
    return imports

# Traverse the project and gather all imports
project_imports = set()
for root, dirs, files in os.walk('.'):
    for file_name in files:
        if file_name.endswith('.dart'):
            file_path = os.path.join(root, file_name)
            project_imports.update(find_imports(file_path))

# Find unused dependencies
unused_dependencies = dependencies - project_imports

print(f"Unused dependencies: {unused_dependencies}")

最后,执行脚本:python3 your_script.py

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容