ESLint 2024 年回顾

2024 年发布了 ESLint v9.0.0,并引入了语言插件。

2024 年的计划是发布 ESLint v9.0.0 的最终版本,然后开始研究语言插件,以便 ESLint 可以正式地检查非 JavaScript 语言的代码。我们全年致力于这些工作,并在 2024 年底交付了所有内容,以及一些有用的工具。

ESLint v9.0.0 和新的配置系统发布

ESLint v9.0.0 于 四月发布,默认启用了新的配置系统。作为自 2021 年以来的首次重大版本发布,我们在最初的几个月面临着一些困难,因为我们收到了与新的配置系统以及 v9.0.0 中的其他 更改相关的错误和投诉。我们花了一年的时间更新文档,创建了一个 配置迁移工具以方便过渡,以及 配置检查器来帮助人们调试他们的新配置文件。

在 2024 年的最后几个月,情况开始稳定下来,我们又开始致力于改进配置系统,以解决用户报告的一些常见问题。

语言插件 API 发布

转向新的配置系统的一部分,是为了通过创建 语言插件,使 ESLint 成为与语言无关的工具。这涉及到大量的核心工作,将 JavaScript 特定的功能移动到它自己的类中,这反过来又允许我们为其他语言交换类似的类。

最终,我们发布了官方语言插件,用于 MarkdownJSON,以及一个 CSS 的原型。所有语言插件都允许您创建和分发自己的规则,这些规则针对特定语言的 AST 运行。为了方便创建这些自定义规则,我们还推出了 代码资源管理器

更新以支持最新的 ECMAScript 功能

与往年一样,团队花费了大量时间来监控 JavaScript 标准化过程,以确保 ESLint 能够尽快更新以支持新的语法。在 2024 年,我们添加了对以下新 JavaScript 功能的支持

这些功能不仅涉及解析方面的更改,还涉及对使用正则表达式和模块的规则的更改。

财务回顾

接下来的几个部分将深入探讨项目的财务状况。所有这些信息都来自 Open Collective 交易列表,Tidelift 付款除外(直接从 Tidelift 获取)。由于交易在一天中的任何时间都可能发生,我们决定将从 2024 年 1 月 1 日午夜 UTC 开始到 2024 年 12 月 31 日晚上 11:59 UTC 结束的交易视为我们的 2024 财政年度。

收入回顾

2024 Income Sources - Summarized in following table

在 2024 年,ESLint 从所有收入来源获得了 187,964.30 美元。您可以在下表中查看我们的收入来源细分。

来源 2024 金额 2023 金额 增/减 %
Open Collective $122,996.60 $118,381.30 +3.90%
GitHub Sponsors $35,928.93 $25,190.89 +42.63%
Tidelift $18,449.16 $30,077.84 -38.66%
网站广告 $6,345.54 $6,380.89 -0.55%
Thanks.dev $4,234.09 $524.61 +707.09%
Threadless $9.98 $0.00 +100%
Stackaid.us $0.00 $91.00 -100%
总计 $187,964.30 $180,646.53 +4.05%

像往常一样,我们的大部分捐款都通过 Open Collective 收到。我们很高兴看到与 2023 年相比,通过 Open Collective、GitHub Sponsors 和 Thanks.dev 的捐款有所增加。我们的网站广告收入基本保持平稳,因为我们从 Carbon Ads 切换到 Ethical Ads 以增加广告收入。总的来说,网站广告仍然比 2023 年之前要低得多,所以我们很高兴至少保持在同一范围内。

今年一个令人不安的消息是 Tidelift 付款的急剧下降。我们被告知在 2024 年初,Tidelift 正在重新计算我们将收到的付款,因此我们每月的付款最终在剩余月份减少了一半。

这凸显了赞助对于 ESLint 等项目的重要性,因为像 Tidelift 这样的公司可以更改其支付计算方式,并对项目的健康状况产生重大影响。

顶级赞助商

在 2024 年,我们收到了许多公司的慷慨捐款,其中 Automattic(24,000 美元)、Meta(20,000 美元)和 Airbnb(18,000 美元)名列前茅。捐款额超过 1,000 美元的公司总计 139,302.42 美元,占我们总收入的 74%。

赞助商 2024 年捐款总额
Automattic $24,000.00
Meta Open Source $20,000.00
Airbnb $18,000.00
trunk.io $7,000.00
Salesforce $7,000.00
Liftoff $6,000.00
Chrome Frameworks Fund $6,000.00
Workleap $6,000.00
American Express $6,000.00
JetBrains $5,500.00
Cybozu $4,200.00
Canva $3,000.00
Sanity $2,400.00
Icons8 $2,400.00
Discord $2,400.00
Anagram Solver $2,400.00
Nx $2,400.00
HeroCoders $2,400.00
SERP Triumph $2,000.00
Principal Financial Group $1,800.00
(已屏蔽) $1,741.94
Nextbase Starter Kit $1,612.48
Ignition $1,600.00
Notion $1,400.00
Bitwarden $1,048.00
Siemens $1,000.00

注意: 屏蔽的赞助者名称来自一个来源可疑的帐户,最终被 GitHub 屏蔽。但是,这笔钱最终进入了我们的帐户,因此我们将其包含在表中以确保透明度。

支出回顾

2024 Expenses - Summarized in following table

在 2024 年,我们为 ESLint 项目整体花费了 247,669.54 美元,而收入为 187,964.30 美元,净亏损为 -59,705.24 美元。费用包括常规维护和开发以及与项目相关的其他成本。请参阅下表以获取概述。

类别 2024 金额 2023 金额 增/减 %
维护和开发 $147,273.43 $66,910.37 +120.11%
TSC 津贴(Tidelift) $18,449.16 $30,077.84 -38.66%
分类和支持 $3,985.50 $10,307.78 -61.34%
技术写作 $0.00 $8,155.00 -100.00%
贡献者池 $14,100.30 $4,500.00 +213.34%
支付处理费 $3,808.97 $2,854.51 +33.44%
健康保险 $12,698.40 $13,447.41 -5.57%
Open Source Collective 费用 $11,696.69 $9,206.88 +27.04%
生态系统/依赖项 $16,100.00 $24,400.00 -34.02%
eslint-community 管理 $9,825.03 $15,599.84 -37.02%
Google Workspace $182.06 $187.35 -2.82%
代码浏览器 $7,200.00 $0.00 +100%
Config Inspector $2,350.00 $0.00 +100%
总计 $247,669.54 $185,646.98 +33.41%

2024 年对于 ESLint 来说是创纪录的一年。完成的工作量很大程度上归功于团队以及外部贡献者的贡献。由于贡献者池成本的增加,我们的维护和开发成本今年也大幅上升,这是我们向 ESLint 的重大贡献者支付的费用。我们还获得了额外的帮助来整理问题和 PR,这也导致了成本的增加。

我们如何弥补收入和支出的差距?ESLint 团队长期以来一直相信建立至少一年的储备金,以便任何突然的收入中断都不会立即扰乱项目。在 2023 年之前,我们主要专注于修复错误、稳定性和跟进 JavaScript 语言的更改。在此期间,成本相对较低,因此我们花费的钱少于收到的钱,以便积累储备金。从 2023 年开始,我们开始对 ESLint 项目进行重大改造,因此那一年是我们花费的钱略多于收到的钱的第一年。2024 年加速了这些变化,因为更多的贡献导致了更高的成本。

支持我们的依赖项和生态系统

ESLint 致力于我们依赖项以及整个 ESLint 生态系统的财务健康。作为我们这一承诺的一部分,我们向我们依赖的项目以及重要的 ESLint 相关项目捐款。(这在之前的表中列为“生态系统/依赖项”。)下表显示了我们在 2024 年捐款的项目。

项目 捐款
Ajv $1,800.00
debug $1,800.00
eslint-plugin-import $1,800.00
jsx-eslint $1,800.00
lint-staged $1,800.00
Rollup $1,800.00
Sindre Sorhus $1,800.00
typescript-eslint $1,800.00
WebdriverIO $1,100.00
Eleventy $600.00
总计 $16,100.00

展望 2025 年

现在 ESLint v9.0.0 和语言插件已经发布,我们认为 ESLint 在可预见的未来拥有坚实的基础。我们将继续迭代新的配置系统,探索使其更直观和更易于使用的方法。我们的下一步是 重写核心,旨在将我们现有的 API 分解为更小的、更易于混合和匹配的组件。这将使 ESLint 在插件功能方面更加灵活,并支持不同的运行时。

2024 年对于 ESLint 来说是激动人心且充满挑战的一年,项目经历了历史上最重大的变化。我们感谢您在一年中分享的所有反馈以及在我们努力完成此重大版本发布时的耐心。

我们还感谢我们的赞助者,不仅在 2024 年,也在之前的几年里,这使我们能够弥补持续成本中近 60,000 美元的赤字。我们希望我们 2024 年取得的所有成就表明,赞助的每一美元都在用于造福 ESLint、其用户和整个 ESLint 生态系统。

最新的 ESLint 新闻、案例研究、教程和资源。

ESLint v10.0.0 released
9 分钟阅读

ESLint v10.0.0 发布

我们刚刚发布了 ESLint v10.0.0,这是 ESLint 的一个重大版本升级。此版本添加了一些新功能并修复了先前版本中发现的几个错误。此版本还包含一些破坏性更改,请仔细阅读以下内容。

ESLint v10.0.0-rc.2 released
1 分钟阅读

ESLint v10.0.0-rc.2 发布

我们刚刚发布了 ESLint v10.0.0-rc.2,这是 ESLint 的补丁版本升级。此版本修复了先前版本中发现的几个错误。

ESLint v10.0.0-rc.1 released
2 分钟阅读

ESLint v10.0.0-rc.1 发布

我们刚刚发布了 ESLint v10.0.0-rc.1,这是 ESLint 的次要版本升级。此版本添加了一些新功能并修复了先前版本中发现的几个错误。