gpt4 book ai didi

javascript - 在 nodejs 中复制精确的 .gitignore 样式解析

转载 作者:行者123 更新时间:2023-12-01 16:18:49 25 4
gpt4 key购买 nike

我正在尝试确定将哪个匹配器用于我们拥有的几个不同的用例。最重要的是,我们想要复制 gitignore 解析器的行为。

我们正在考虑使用 globby fast-globnode-glob .但它们似乎都具有 .gitignore 默认解析不提供的扩展功能。

IE。 globby 使用 fast-glob,fast-glob 使用 micromatch,它公开了自定义功能。并且 node-glob 似乎也扩展了默认语法。因此,我开始在链条的下游进行调查。

我有点困惑,为什么有这么多似乎都在做相同/非常相似的事情的包。

  • Minimatch
  • Multimatch
  • Anymatch
  • Picomatch
  • Nanomatch
  • Micromatch

  • 观察/问题:
  • 他们似乎都以一种或另一种方式匹配文件路径通配符(期望任何匹配可能更通用)
  • Minimatch 显然比 Micromatch 慢,但具有相同/相似的功能?
  • Multimatch 似乎是 minimatch 的简单包装,允许多种模式。不确定这是否以任何方式优化。
  • Anymatch 似乎非常通用。它似乎不知道文件路径匹配?
  • Picomatch “完全支持标准和扩展的 Bash glob 功能”。我会假设这与 gitignore 处理密切相关?
  • Nanomatch 似乎扩展了 Picomatch 的功能。这是否比 gitignore 处理器提供的功能更多?
  • Micromatch 似乎扩展了 Nanomatch 的功能并且似乎是 Minimatch 的替代品?它声称是“插入式”替代品,但是从它们公开的功能来看,情况似乎并非如此?
  • Anymatch、Picomatch、Nanomatch 和 Micromatch 都发布在 github 组织 Micromatch 下(命名混淆任何人?)
  • “微匹配组织”套件似乎没有相当于 Multimatch 的东西?还是我只是没找到?

  • 要回答的第一个问题是标准 git 实际用于处理它的 gitignore。然后找出哪个包最匹配。

    最佳答案

    这个library comparison从我记事起,我就一直在使用 picomatch。它回答了你所有的问题,以及更多(完全披露:我是 picomatch 的作者)。

    I'm a bit confused why there are so many packages that all seem to be doing the same/very similar things.



    可以理解。在阅读了有关这些库的广泛自述文件的更多信息后,您的困惑应该会被清除。每个图书馆都非常详细地解决您的问题。

    关于javascript - 在 nodejs 中复制精确的 .gitignore 样式解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53675123/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com