🛠 Bug Fixes
Linter Improvements
- Property Type Hint Awareness
- Fixed an issue where the linter incorrectly flagged properties as missing type hints, even when they were inherited from a parent class. The linter now understands inheritance and won’t bug you unnecessarily!
Configuration Handling
exclude
Entry in Config- Resolved an issue where
exclude
entries in the[source]
section of the config were mishandled:- Entries with
*
are now properly treated as glob patterns. - Absolute paths are matched directly, while relative paths are joined with the root directory.
- Entries with
- Resolved an issue where
Source Loading
- Fixed a problem where files in
include
were incorrectly treated as user-defined files if theinclude
directory was inside thepaths
directory.- Example: With
paths = ["src"]
andincludes = ["src/external-library"]
,src/external-library
is now correctly recognized as external code.
- Example: With
Formatter Fixes
- Unary Operations with Parentheses
- Fixed an issue where parentheses around unary operations on the left-hand side of binary operations were removed, causing execution order changes.
- Example:
- Previously:
(@include $foo) === false
→@include $foo === false
(incorrect). - Now: Parentheses are preserved to maintain correct order.
- Previously:
🌟 Community Contributions
Special thanks to Ben Davies (@bendavies) and Giorgio Pogliani (@giorgiopogliani) for reporting these issues and testing Mago.
Your support helps us make Mago better!
Full Changelog: 0.0.14...0.0.15