惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Jina AI
Jina AI
Hugging Face - Blog
Hugging Face - Blog
博客园 - 三生石上(FineUI控件)
博客园 - 【当耐特】
大猫的无限游戏
大猫的无限游戏
IT之家
IT之家
宝玉的分享
宝玉的分享
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
Apple Machine Learning Research
Apple Machine Learning Research
酷 壳 – CoolShell
酷 壳 – CoolShell
阮一峰的网络日志
阮一峰的网络日志
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
爱范儿
爱范儿
小众软件
小众软件
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
S
SegmentFault 最新的问题
博客园 - Franky
博客园_首页
T
Tailwind CSS Blog
雷峰网
雷峰网
罗磊的独立博客

皓子的小站

网站字体应用之坑——font-family 篇 糟糕的 meta name="theme-color" How to Automatically Track Newly Supported ESLint Rules in Oxlint How to Gradually Migrate from ESLint to Oxlint (Without Breaking Everything) 静态资源预压缩:零运行时开销,极致节省带宽 CVE-2025-70886 Proof of Concept (PoC) | A Script to Crash Halo CMS Comment Backend 自定义网页鼠标指针——一段曲折的旅程 CVE-2025-70886 漏洞复现/PoC | 一个脚本让 Halo CMS 评论后台瘫痪 2025 年终总结 & 博客两周年 老用户专享!已有 Halo 专业版授权可免费升级商业版 Halo 贡献者证书与实体周边盲盒开箱 博客评论系统指南 CDN 回源跟随配置导致登录异常问题排查 SCDN 免费赞助计划:助力高质量博客&博客圈 锐捷校园网:网络共享与带宽叠加方案(哈理工案例) ESLint 到 Oxlint 渐进式迁移快速上手指南 Fixing Vite Breaking Inline JS & CSS in Thymeleaf Templates 解决 Vite 破坏 Thymeleaf 模板内联 JS & CSS 的方法 我的博客,为什么是月更? 博客俱乐部一周年纪念品开箱 网站字体加载之坑——format 篇 经历 1000000000 次 DDoS 请求攻击后,我总结了三条经验 题解分享:[AtCoder Beginner Contest 414 E] Count A%B=C 题解分享:[蓝桥杯 2025 国 Python A] 杨辉三角 P12876 FiF口语训练破解刷分教程(适用于 Windows) 不要与蠢人辩论 小心网络地雷·续篇 当心网络组织“开往”·续篇 当心网络组织“开往” 小心网络地雷
自动追踪 Oxlint 对 ESLint &...
HowieHz · 2025-11-22 · via 皓子的小站

简体中文 | English

两个月前我写了一篇 ESLint 到 Oxlint 渐进式迁移快速上手指南,里面提到了 Oxlint 官方提供的迁移工具,用于将 ESLint Flat Config 配置转换为 Oxlint 配置。

几个月来 Oxlint 逐渐实现了许多原先不支持的规则,执行迁移工具时提示的 unsupported rule 逐渐减少。

为了方便自己在 Oxlint 支持新规则后能第一时间享受到,我写了一个简单的 GitHub Actions 工作流:每天自动执行迁移工具,并且在 .oxlint.json 有更新时自动 PR。

将下面内容直接复制到项目 .github/workflows/oxlint-migrate.yml 即可使用,相关说明已写在注释。

name: Oxlint Migration

on:
  schedule:
    # 每天定时运行,可根据实际修改
    - cron: '0 16 * * *'
  workflow_dispatch:  # 可手动触发

jobs:
  migrate:
    runs-on: ubuntu-latest
    permissions:
      contents: write
      pull-requests: write

    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - uses: pnpm/action-setup@v4
        name: Install pnpm
        with:
          run_install: false

      - name: Install Node.js
        uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: 'pnpm'

      - name: Install dependencies
        run: pnpm install

      - name: Run oxlint migration
        # 可以改成你需要的,比如 pnpm dlx @oxlint/migrate --type-aware
        # 详情参考:https://howiehz.top/archives/eslint-to-oxlint-gradual-migration-guide#%E8%87%AA%E5%8A%A8%E8%BF%81%E7%A7%BB-ESLint-%E9%85%8D%E7%BD%AE
        run: pnpm dlx @oxlint/migrate --type-aware --with-nursery
        # 我在实际使用在上一行末尾加上了自己在 package.json 里定义的格式化任务,避免格式不一致导致的意外更改,即加上“&& pnpm run format”

      - name: Create Pull Request
        uses: peter-evans/create-pull-request@v7
        with:
          token: ${{ secrets.PR_WORKFLOW_TOKEN }}
          # 创建 Fine-grained PAT:https://github.com/settings/personal-access-tokens
          # 创建项目 secrets:https://github.com/用户或组织名/仓库名/settings/secrets/actions
          # 创建一个 Fine-grained PAT 得到 token,再创建一个项目 secrets 命名为 PR_WORKFLOW_TOKEN 填入 token,就配置完毕了。
          # 使用 Fine-grained PAT 而非默认的 GITHUB_TOKEN,以便创建的 PR 能触发其他工作流,以进行其他自动检查。
          # 如不需要触发其他工作流,可以删除上一行
          # 所需权限(Fine-grained PAT):
          # - Contents: Read and Write(创建分支和提交)
          # - Pull requests: Read and Write(创建 PR)
          # - Workflows: Read and Write(允许 PR 触发工作流)
          commit-message: 'chore: update oxlint configuration'
          title: 'chore: update oxlint configuration'
          body: |
            This PR updates the oxlint configuration by running the migration tool.
            
            Generated automatically by the oxlint-migrate workflow.
          branch: chore/oxlint-migrate
          delete-branch: true
          labels: dependencies
          add-paths: |
            .oxlintrc.json

欢迎评论区留言讨论🚀️。

2026-02-20 更新:如果你忘记合并 PR,下一个检查期到达后将不会关闭之前的 PR,而是创建一个新的 PR。为了避免出现上述情况,将 branch: chore/oxlint-migrate-${{ github.run_number }} 修改为 branch: chore/oxlint-migrate