跳到内容

Oxlint Import Plugin Alpha

我们很高兴地宣布oxlint --import-plugin将发布 Alpha 版,它是 eslint-plugin-import 的端口。

此端口旨在解决与 eslint-plugin-import 关联的所有已知问题。

版本中有什么?

如果项目在 ESM 中(ECMAScript 模块“),则此 alpha 版本会正常工作。

如果通过 tsconfig.compilerOptions.paths 要求路径别名(例如 @/foo),可以使用 --tsconfig 选项

npx oxlint@latest --tsconfig ./tsconfig.json --import-plugin

通过 npx oxlint@latest --import-plugin 默认启用的规则为

可以通过 npx oxlint@latest --import-plugin -D rule-name 选择性启用规则

这些规则也得到了改进;例如,no-cycle 规则的诊断信息得到了改进

  ⚠ eslint-plugin-import(no-cycle): Dependency cycle detected
    ╭─[apps/web/playwright/lib/fixtures.ts:13:42]
 12 │ import { createPaymentsFixture } from "../fixtures/payments";
 13 │ import { createBookingPageFixture } from "../fixtures/regularBookings";
    ·                                          ─────────────────────────────
 14 │ import { createRoutingFormsFixture } from "../fixtures/routingForms";
    ╰────
  help: These paths form a cycle:
        -> ../fixtures/regularBookings - apps/web/playwright/fixtures/regularBookings.ts
        -> ./users - apps/web/playwright/fixtures/users.ts
        -> ../lib/testUtils - apps/web/playwright/lib/testUtils.ts
        -> ./fixtures - apps/web/playwright/lib/fixtures.ts

此功能列表并不长,但由于当前生态系统的复杂性,实施这些规则并确保正确运行需要花费大量精力。

过去六个月中,我们在业余时间完成工作,并成功完成了使用 --import-plugin 的所有前提条件

我如何提供帮助?

如果您是项目维护人员(即配置工程师),并且缺乏时间或精力来保持 ESLint 及其所有插件的更新,则可以关注 @brooooooklyn在所有项目中用 oxlint 替换 ESLint

如果您是开源爱好者并有意提供帮助,请通过 Discord 来与我们交流,查看 linter 产品计划和进度问题,或通过 提出新的规则(已延迟)来提供帮助。

如果您是工程经理或希望将您的项目迁移至 oxlint(包含 330 条规则且持续增长)以降低您的基础设施成本,则可以考虑 赞助,以便我们可以优先考虑您的项目。

请记住,oxlint 目前是由社区驱动的,我相信有了足够的资源,我们可以在未来几个月内使 --import-plugin 普遍可用。


要开始使用 oxlint,请关注 安装指南 或更多了解 oxc 项目

根据 MIT 许可证发布。