问题标签 [minimatch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
184 浏览

glob - 捆绑源模式中的方括号是什么意思?

aurelia.json文件有一个bundles.source属性。它似乎使用了minimatch支持的 glob 语法。但是,开箱即用的au new模板包括一些模式周围的方括号。例如

根据我的经验,方括号表示范围,例如[a-z]映射到abcdefg...wxyz. 这也是 minimatch 所尊重的。

bundles.source在处理属性时,方括号对 Aurelia CLI 意味着什么?

0 投票
2 回答
607 浏览

node.js - npm WARN 已弃用 minimatch@2.0.10 但我有更新的版本

npm WARN 已弃用 minimatch@2.0.10:请更新到 minimatch 3.0.2 或更高版本以避免 RegExp DoS 问题

我正在尝试安装 Cordova 的 Windows 10。我知道这个问题被问了很多,如果我仔细观察每个潜在的骗子,我可能会发现一个骗子。

但是在你把我的问题当作一个骗子来结束之前,我只想让你知道我看过其中的一些,而且我做了npm update -g minimatch

如您所见,科尔多瓦的一个图书馆仍然持有旧的迷你比赛,如何摆脱它?

0 投票
1 回答
4235 浏览

javascript - 什么是“RegExp DoS 问题”?

我刚刚在服务器中安装了 nodejs,并且基本npm install显示了很多这样的消息:

请注意出现在右侧的消息:

在我的本地服务器中,我已经在使用 minimatch 3.0.3。但是,由于服务器没有使用最新版本的节点,这对我来说是新的并开始调查:

此问题已在npm 的 github中报告,并在其他问题中提及。一般来说,它可以通过将版本升级minimatch到至少 3.0.2 来解决。

但是,我想知道这个 RegExp DoS 问题是什么?是否有任何特定的正则表达式允许通过 minimatch 进行 DoS 攻击?我无法想象这是如何发生的并且不想重现它,但我找不到更多文档,并且minimatch 的 Github 问题列表没有任何痕迹。

发布页面中,我看到了 3.0.2 发布的唯一提交,其中基本上封装了正则表达式语法(我对 JavaScript 不够熟悉,无法将其全部跟踪到最后一个微小的细节)。

0 投票
1 回答
140 浏览

javascript - Grunt 文件对象格式:所有常规文件文件立即位于顶级目录下

我一生都无法弄清楚如何获得这项工作。我正在使用的模块的 grunt 配置(grunt-sloc)需要Files Object Format。使用它,我希望能够立即匹配顶级目录下的所有常规文件(即非目录)。

例如,假设这是我的目录结构,其中+表示目录并-表示常规文件:

如何使用 Grunt 的文件对象格式匹配server.js但不匹配diror dir/unwanted.js

这是它在紧凑格式中的外观

或者,在 bash 中,你会像这样得到它们:

这是我尝试使用Files Object Format的方法:

  • 这不起作用:

    /li>
  • 这也不是:

    /li>
  • 甚至没有这个:

    /li>
  • 也不是这个:

    /li>
  • 这有效,但它递归运行,我不想要:

    /li>

在做了一堆测试和代码阅读之后,我已经验证它实际上是minimatch包(Grunt 的依赖),它没有返回我正在寻找的匹配项。所以这不是我正在使用的 grunt 模块;这是我的咕噜声配置。

由于 Grunt 如此受欢迎,而且这似乎是一个非常常见的用例,我猜想有办法做到这一点。有谁知道那是什么?

更新

正如所RobC指出的,我的最后一个例子不起作用。它server.js在我的node_modules目录中找到 ',这让我认为它正在工作。

0 投票
1 回答
1537 浏览

node.js - Globs & NPM Minimatch:递归匹配除特定目录之外的所有文件和目录

给定目录结构:

我如何只使用 extglob 排除 node_modules 目录?

以上匹配根级别的所有内容,除了 node_modules 目录和文本文件(我们想要包含)。它也不会递归地遵循匹配的目录。

这个更接近,但它也排除了根目录中的所有文件。即使它包含根级别的文件,我猜它也会排除 node_modules.txt 文件。

PS 这用于使用grunt-sshminimatch节点模块进行文件匹配。

0 投票
0 回答
93 浏览

javascript - Node.js:事件发射器未正确触发

我创建了一个从目录数组中递归查找有效媒体文件类型的项目。问题是我的两个事件发射器工作正常,两个没有。我已经阅读了文档,观看了一些视频,并搜索了该站点以寻找答案。我认为有一些基本的东西我遗漏或不理解正在阻碍。

我有一个名为 directoryWatch.js 的文件,其中包含以下代码。

我有 4 个要发出的事件。

  1. 查看目录的开始步骤。
  2. 尝试查找目录的错误。
  3. 读取目录的成功。
  4. 查看目录的最后一步。

我正在执行的 main.js 文件如下所示。

Powershell 中的输出如下所示

问题是我的“开始”事件和“结束”事件被忽略了,但我不知道为什么。

0 投票
2 回答
2868 浏览

node.js - Gulp 安装警告:“请更新到 minimatch 3.0.2”

我是 npm 和 node.js 的新手,在为 windows 安装 node.js、npm 和 git 之后,我正在尝试设置我的工作环境。我正在尝试全局安装 gulp 并作为开发依赖项。两次我都收到这些警告:

这导致 npm 取消安装。我正在运行 minimatch 3.0.2

但是 npm 仍然无法将其识别为已安装版本,因为它会不断推送警告。关于如何解决它的任何想法?

任何帮助表示赞赏。

0 投票
1 回答
754 浏览

javascript - 包括所有 .d.ts 但在 gulp.src 的 glob 上排除 .ts

背景

在我的 Angular2 项目上编译我的 Typescript 文件后,我将具有以下目录结构(简化):

问题

使用gulp@3.9.1and gulp.src(),如何创建一个包含文件app夹下所有文件的 glob 数组,但忽略.ts与其文件对应的.d.ts文件?

0 投票
1 回答
1041 浏览

tfs - 如何在 minimatch 模式中同时使用 NOT 和 OR 进行过滤?

我们正在使用 TFS 2017 和 Copy File 构建步骤将构建结果的特定文件复制到另一个目录。具体来说,我们只需要复制 *.dll 和 *.exe,而不需要复制 *.Tests.dll 或 *.resources.dll。

构建步骤支持 minimatch 模式来过滤文件,但我无法让它同时应用这两个过滤器。

该模式如下所示:

文件夹内容例如是:

似乎这些模式是按顺序应用的,所以它们都是单独工作的,但不是一个接一个。

我尝试了类似的东西

但这也不起作用,也没有过滤任何内容。我可以以某种方式将它们组合成一个过滤器吗?文档不涵盖这种情况。

0 投票
1 回答
165 浏览

bash - 文本后的 Bash globstar 匹配

我真的不明白为什么模式test**/*.ext匹配test23/file.ext,但不匹配test23/test/file.extand test23/test/test/file.ext。Globstar 应该匹配所有这些,不是吗?