首页
/ 推荐文章:Prettier插件——导入排序神器

推荐文章:Prettier插件——导入排序神器

2024-08-10 00:11:48作者:韦蓉瑛

项目介绍

Prettier plugin sort imports 是一款基于 @trivago/prettier-plugin-sort-imports 开发的 Prettier 插件,旨在通过提供的正则表达式顺序对导入声明进行排序,同时保留副作用导入的顺序。该插件不仅继承了原项目的优秀特性,还增加了多项新功能,如不跨副作用导入重新排序、合并来自同一源的导入、支持自定义导入顺序分隔等。

项目技术分析

该插件的核心技术在于利用正则表达式对导入声明进行智能排序,确保代码的整洁和可读性。它通过识别和分类不同类型的导入(如副作用导入、本地导入、第三方导入等),并根据用户配置的规则进行排序。此外,插件还支持 TypeScript 和 JSX 等解析插件,确保在多种开发环境下都能高效工作。

项目及技术应用场景

Prettier plugin sort imports 适用于所有使用 Prettier 进行代码格式化的项目,特别是大型前端项目和团队协作开发环境。它能够帮助开发者自动整理和优化导入声明,减少手动调整的时间,提高代码的一致性和可维护性。无论是个人开发者还是企业级项目,都能从中受益。

项目特点

  1. 智能排序:根据正则表达式自动排序导入声明,保留副作用导入的顺序。
  2. 合并导入:合并来自同一源的导入,减少冗余代码。
  3. 类型导入支持:支持 TypeScript 4.5.0 及以上版本,能够区分和分组类型导入。
  4. 内置模块排序:自动将 Node.js 内置模块排序至顶部,提升代码结构清晰度。
  5. 自定义分组:支持自定义导入顺序分隔,满足不同项目的个性化需求。
  6. 兼容性强:支持多种解析插件,如 TypeScript、JSX 等,确保广泛的应用场景。

通过使用 Prettier plugin sort imports,开发者可以轻松实现导入声明的自动排序和优化,提升代码质量和开发效率。欢迎广大开发者尝试并贡献代码,共同推动项目的持续发展。


安装指南

  • 使用 npm 安装:
    npm install --save-dev @ianvs/prettier-plugin-sort-imports
    
  • 使用 yarn 安装:
    yarn add --dev @ianvs/prettier-plugin-sort-imports
    
  • 使用 pnpm 安装:
    pnpm add --save-dev @ianvs/prettier-plugin-sort-imports
    

配置示例

module.exports = {
    singleQuote: true,
    semi: true,
    plugins: ['@ianvs/prettier-plugin-sort-imports'],
    importOrder: ['^@core/(.*)$', '', '^@server/(.*)$', '', '^@ui/(.*)$', '', '^[./]'],
    importOrderParserPlugins: ['typescript', 'jsx', 'decorators-legacy'],
    importOrderTypeScriptVersion: '5.0.0',
};

贡献指南

我们欢迎并感谢所有形式的贡献!请参阅 CONTRIBUTING.md 了解更多详情。


通过以上介绍,相信您已经对 Prettier plugin sort imports 有了全面的了解。立即尝试并体验它带来的便捷和高效吧!

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
509
549
docsdocs
暂无描述
Markdown
852
5.68 K
kernelkernel
deepin linux kernel
C
33
16
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.04 K
2.48 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
838
1.27 K
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
845
1.69 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.16 K
856
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.25 K
1.37 K
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
502
345
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
781
410