Что определяет порядок выполнения JS-скриптов компонентов темы?

Имя не влияет на порядок выполнения. @merefield строка, на которую вы ссылаетесь, влияет на то, как они отображаются в административном интерфейсе, но не используется для фактического выполнения.

Вот соответствующая строка для порядка выполнения:

Таким образом, они выполняются в порядке возрастания «id» в базе данных.

Единственное гарантированное правило, которое работает во всех экземплярах Discourse, заключается в том, что код темы всегда выполняется перед кодом компонента темы.

Как уже упоминал @Johani, если вам нужно выполнить код после загрузки другого компонента, лучшим решением, вероятно, будет использование инициализатора Ember, который поддерживает порядок. К сожалению, в данном случае это сразу невозможно, поскольку, похоже, DiscoTOC не использует инициализаторы Ember. Обновление DiscoTOC с использованием JavaScript из нескольких файлов (и, следовательно, инициализаторов Ember) определенно будет приветствоваться как pull-запрос.