Skip to content
All changes

Fix

start() names a module cycle in the artifact index

@venizia/ardor-kernel

Changelog - 2026-10-18 ​

start() names a module cycle in the artifact index ​

Bug Fix

In 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 them

What changed ​

  • The check. Each entry of each kind of each artifacts() index, and of the content of 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/auto also holds a decorated class, or is imported by one, the list is built while that module is still evaluating and the slot is undefined. Keep each decorated class in a file of its own and import AutoArtifacts from 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.