Skip to content

build(deps-dev): bump eslint-plugin-boundaries from 6.0.2 to 7.0.2#271

Merged
mindsers merged 2 commits into
mainfrom
dependabot/npm_and_yarn/eslint-plugin-boundaries-7.0.2
Jul 21, 2026
Merged

build(deps-dev): bump eslint-plugin-boundaries from 6.0.2 to 7.0.2#271
mindsers merged 2 commits into
mainfrom
dependabot/npm_and_yarn/eslint-plugin-boundaries-7.0.2

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 20, 2026

Copy link
Copy Markdown
Contributor

Bumps eslint-plugin-boundaries from 6.0.2 to 7.0.2.

Release notes

Sourced from eslint-plugin-boundaries's releases.

Fix checkAllOrigins:true in dependencies rule

eslint-plugin v7.0.2

Fixed

  • fix(#460): boundaries/dependencies no longer skips external/core dependencies when their resolved target file is ignored (e.g. node_modules paths outside boundaries/include). With checkAllOrigins: true, these dependencies now reach policy evaluation, matching the documented migration path from the deprecated boundaries/external rule.

Fix capture in file descriptors

eslint-plugin v7.0.1

Fixed

  • fix: Upgrade @boundaries/elements to v3.0.1. File descriptors now honor a plain capture array without requiring basePattern. Previously, capture on a boundaries/files descriptor without basePattern always resulted in file.captured being null.

elements v3.0.1

Fixed

  • fix(#457): File descriptors now honor a plain capture array without requiring basePattern. Previously, capture on a boundaries/files descriptor without basePattern always resulted in file.captured being null.

Multi-dimensional Classification with File Descriptors

eslint-plugin v7.0.0

Highlights

Version 7 introduces the entity model: every file is now described along three independent dimensions — its element (architectural unit), its file (categorized on its own), and the module each dependency resolves to. This unlocks multi-dimensional classification and much more precise rules.

  • Upgrade with close to zero config changes. Everything new is additive and every v6 pattern keeps working, so you can adopt features one at a time, at your own pace. See the Breaking Changes below and the v6-to-v7 migration guide for the one exception.
  • File descriptors (boundaries/files). Categorize files (tests, styles, …) independently of the element they belong to. A file can carry multiple categories.
  • Multi-type elements. A single element can now match several types at once (opt-in via boundaries/elements-single-type: false).
  • Entity selectors in from / to. Match rules by element, file, and module properties together — e.g. scope a rule to test files, or to a module's origin.
  • Advanced array matching for types and categories. element.types and file.categories now accept query objects (anyOf, allOf, noneOf, equalsTo, atIndex, hasLength) instead of just plain patterns, enabling precise rules like "must have exactly these types" or "must not share a type with the other side" — the latter via the new expand operator, which pulls values from the opposite side of the rule at match time.
  • Precise control of external/core dependencies. Match by module origin and source directly in boundaries/dependencies with to.module.*.
  • Richer error messages. Custom message templates can reference the full entity ({{to.file.categories}}, {{to.module.source}}, …). Default messages now include entity information too — re-record any exact-string snapshot assertions.
  • Clearer vocabulary and rule names. The rules option is now policies (each with an effect), no-unknownno-unknown-dependencies (now file-aware), and no-ignoredno-ignored-dependencies. Old names/options keep working with a deprecation warning.

Breaking Changes:

  • If you use the strict config with eslint-disable comments referencing boundaries/no-ignored or boundaries/no-unknown, those comments stop suppressing violations (now reported under the new rule names) and may themselves trigger "unused eslint-disable directive" errors. Update the comments to the new rule names, or use the new strict-legacy config while you migrate them.
  • Default report messages changed and no-unknown-files now considers file descriptors. If you assert exact report strings in snapshots or CI, re-record them after upgrading.

Added

  • feat: Add entity abstraction layer. New EntityDescription type combines element, file, and module descriptions into a unified representation.
  • feat: Add new selector types: EntitySelector with element, file, and module sub-selectors; FileSelector with path, categories, captured, isIgnored, and isUnknown; ModuleSelector with origin, source, and internalPath.
  • feat: Add file descriptors system. A new files property in DescriptorsConfig allows categorizing files independently from elements. FileDescriptor supports pattern, category, and capture properties. FileDescription provides path, categories, captured, isIgnored, and isUnknown fields.
  • feat: Add module origin system. New ModuleDescription type with origin ("local" | "external" | "core"), source, and internalPath properties. New matcher methods: describeModule(), isModuleMatch(), getModuleSelectorMatching(), getModuleSelectorMatchingDescription().
  • feat: Support entity selectors in rules. The from and to properties of rule selectors now accept objects with element, file and module sub-selectors, allowing to match by element properties (type, types, captured, parent, etc.), file properties (path, categories, captured, etc.) and module properties (origin, source, internalPath). Legacy flat element selectors keep working and are converted internally.
  • feat: Add new data to custom message templates. The from and to template properties now expose element, file and module objects, enabling template variables such as {{from.element.types}}, {{to.file.categories}}, {{to.module.origin}} or {{to.module.source}}. Templates using the previous data ({{from.type}}, {{from.elementPath}}, {{from.internalPath}}, {{from.origin}}, etc.) keep working for backward compatibility.
  • feat: Support the partialMatch option in boundaries/elements descriptors (default: true). Set partialMatch: false to match the pattern against the full file path from the project root instead of a suffix. It is the recommended replacement for the deprecated mode: "full".
  • feat: Array-valued selector properties accept a new array query object with anyOf, allOf, noneOf, equalsTo (ordered, exact length), atIndex ({ index, matches }, negative index supported), and hasLength operators (AND-combined). The atIndex.matches field accepts a single value or an array (OR semantics). Supported by file selector categories and element selector types.

... (truncated)

Commits

@dependabot dependabot Bot added the type: dependencies Dependency updates label Jul 20, 2026
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/eslint-plugin-boundaries-7.0.2 branch from 201369e to 23e43c5 Compare July 20, 2026 07:38
dependabot Bot and others added 2 commits July 21, 2026 08:04
Bumps [eslint-plugin-boundaries](https://github.com/javierbrea/eslint-plugin-boundaries) from 6.0.2 to 7.0.2.
- [Release notes](https://github.com/javierbrea/eslint-plugin-boundaries/releases)
- [Commits](javierbrea/eslint-plugin-boundaries@v6.0.2...v7.0.2)

---
updated-dependencies:
- dependency-name: eslint-plugin-boundaries
  dependency-version: 7.0.2
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
eslint-plugin-boundaries v7 changed how the flat `path` element
selector resolves, so the `index.{ts,tsx}`/`index.server.{ts,tsx}`
barrel-allow rules stopped matching and every cross-feature barrel
import (73 files) started failing `test:boundaries`.

Migrate to the v7 entity model:
- `rules` -> `policies`
- flat element selectors -> `{ element: { ... } }` entity selectors
- barrel path allows -> `file: { path }` sub-selector
- set `boundaries/legacy-warnings: false` (migration complete)

Semantics preserved: cross-feature value imports denied, same-feature
deep imports and type-only imports allowed, barrels + dashboard
aggregator allowed.
@mindsers
mindsers force-pushed the dependabot/npm_and_yarn/eslint-plugin-boundaries-7.0.2 branch from 23e43c5 to 03126fe Compare July 21, 2026 06:06
@mindsers
mindsers merged commit 47c3ee4 into main Jul 21, 2026
7 checks passed
@mindsers
mindsers deleted the dependabot/npm_and_yarn/eslint-plugin-boundaries-7.0.2 branch July 21, 2026 06:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: dependencies Dependency updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant