Repository navigation
Update dependency boundwize/structarmed to ^0.20.0 - #476
Merged
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## 7.0 #476 +/- ##
=========================================
Coverage 38.53% 38.53%
Complexity 925 925
=========================================
Files 169 169
Lines 3776 3776
=========================================
Hits 1455 1455
Misses 2321 2321 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Qodana for JSIt seems all right 👌 No new problems were found according to the checks applied 💡 Qodana analysis was run in the pull request mode: only the changed files were checked Contact Qodana teamContact us at qodana-support@jetbrains.com
|
alexmerlin
approved these changes
Oct 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^0.19.0→^0.20.0Release Notes
boundwize/structarmed
v0.20.0: Released: StructArmed 0.20.0Compare Source
StructArmed 0.20.0 introduces a new Stability preset, modular architecture configuration, and an option to run analysis without persistent caching.
This release introduces:
Preset::STABILITY()for protecting public APIs from internal implementation details;isApiandisInternalproperties onClassNodefor custom rule development;Architecture::import()for splitting architecture configuration across multiple files;--no-cachefor running analysis without persistent caching;New Stability Preset
StructArmed introduces a new preset for enforcing API stability:
Preset::STABILITY()The preset includes two new rules:
ApiMayNotBeInternalRule— prevents declarations from being marked with both@apiand@internal.ApiMayNotExtendInternalRule— prevents@apiclasses and interfaces from extending@internaldeclarations, directly or through inheritance.For example:
The Stability preset reports an architecture violation because a public API extends an internal implementation.
Enable the preset with:
Or initialize a new configuration:
API and Internal Detection on ClassNode
ClassNodenow exposes two new boolean properties:$classNode->isApi— indicates whether the declaration has an@apiPHPDoc tag.$classNode->isInternal— indicates whether the declaration has an@internalPHPDoc tag.These properties are available to custom architecture rules, making it easier to enforce project-specific API stability and visibility conventions.
For example:
The properties are populated automatically during analysis for scanned class-like declarations, including classes, interfaces, traits, and enums.
Import Architecture Configuration
StructArmed now supports organizing architecture configuration across multiple files using
Architecture::import().For example:
Each imported file returns a callable that receives the root
Architectureinstance:This allows architecture rules and layers to be organized by module while sharing the same configuration.
Imported configurations support:
This makes StructArmed easier to configure and maintain in modular applications and larger projects.
New --no-cache Option
StructArmed introduces a new CLI option:
This option runs analysis without reading from or writing to the persistent analysis cache.
It is useful for debugging, validating uncached analysis, and environments where persistent caching is not desired.
The option supports both sequential and parallel analysis.
--no-cachecannot be combined with--clear-cache.Bug Fixes and Internal Improvements
.class.phpfiles.--no-cacheanalysis.What's Changed
--no-cacheoption in #507.ClassNodeAPI/internal detection in #510.--no-cacheanalysis in #513..class.phpfiles in #516.Full Changelog: boundwize/structarmed@0.19.10...0.20.0
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.