---
type: JS Module
title: glob-to-regex.mjs
resource: npm/scripts/lib/glob-to-regex.mjs
docgen:
  crc: 6c55d687
  model: openai-codex/gpt-5.4-mini
  tier: cloud-min
  score: 100
  issues: judge:inaccurate:0.98
  judgeModel: openai-codex/gpt-5.4-mini
---

## Огляд

`globToRegex` перетворює glob-патерни на `RegExp`, щоб `auto-rules.mjs` міг зіставляти `main.json:auto.glob` зі зміненими файлами, а правило npm-module з `@7n/rules-lang-js` — перевіряти `files` у `package.json` тим самим способом. Це спільна основа для однакового тлумачення шляхових шаблонів у `main.json` і `package.json` без запису стану; конфіги, на які спирається код: `main.json`, `package.json`.

## Поведінка

1. `globToRegex` перетворює glob-патерн на `RegExp` з повними межами збігу, щоб один і той самий шаблон можна було застосовувати і до автодетекту змінених файлів, і до перевірок `files` у `package.json`.
2. Вона трактує `**` як охоплення будь-якої кількості шляхових сегментів, `*` — як будь-яку послідовність символів у межах одного сегмента, `?` — як один символ у межах одного сегмента, а brace-альтернативи — як вибір одного з кількох варіантів.
3. Вона зберігає літеральний зміст символів, які у регулярних виразах мають спеціальне значення, щоб шаблон поводився як glob, а не як довільний текстовий вираз.
4. Вона повертає готовий шаблон для перевірки шляхів у бізнес-правилах, що читають `main.json` і `package.json`, не торкаючись файлової системи чи інших даних поза входом.

## Публічний API

- globToRegex — Перетворює glob-патерни з `files` та `main.json:auto.glob` у `RegExp` з прив’язкою до початку й кінця рядка; підтримує `**`, `*`, `?` і `{a,b,c}` для варіантів, без `[…]`.

## Гарантії поведінки

- Read-only: не виконує операцій запису (ФС/БД).
