Changelog - 2026-10-18
start() names a module cycle in the artifact index
Bug FixIn one line. start() fails with [artifacts] 'services' lists an entry that is not a class (position 1) and the cause, not with Cannot read properties of undefined (reading 'name').
text
[artifacts] 'services' lists an entry that is not a class (position 1) | Usually an import cycle: the module that imports the index (or @venizia/ignis-boot/auto) must not define decorated classes or be imported by themWhat changed
- The check. Each entry of each kind of each
artifacts()index, and of thecontentof a group, is checked before it is read. An entry that is not a function (undefined,null, a string, a number) throws the message above. - Why it happens. In a browser build, the plugin's class list is eager: it imports the module of every decorated class. When the module that imports
@venizia/ignis-boot/autoalso holds a decorated class, or is imported by one, the list is built while that module is still evaluating and the slot isundefined. Keep each decorated class in a file of its own and importAutoArtifactsfrom the application module that holds no class.
Who is affected
- An application that hit the
TypeError. The message now says what to move. Nothing else changes. - Everyone else. No action needed.