bug: BAS не понимает зависимости, которые нужны для кастомного модуля

Поддержка
  • Входные данные:

    • есть кастомный модуль, в одном из функции которого используется кубик Solve Recaptcha 2.0 и функции работы со строками.
    • есть скрипт, который вызывает эту функцию из кастомного модуля.

    Баг 1:

    При редактировании скрипта в BAS, который вызывает функцию кастомного модуля, BAS постоянно добавляет модуль Solve Recaptcha 2.0 в UnusedModules после сохранение.

    <UnusedModules>ClickCaptcha;JSON;ReCaptcha;URL;PhoneVerification;InMail;Path;String</UnusedModules>
    

    Получаю, что скрипт в режиме запуска не работает, так как падает с ошибкой "ReferenceError: Can't find variable: BAS_SolveRecaptcha". Что ожидаемое поведение,так как модуль Solve Recaptcha 2.0 в скрипте выключен.

    Решение(обходной путь):
    Нужно создать функцию в скрипте, которая не используется, с кубиком Solve Recaptcha 2.0. Тогда BAS перестает добавлять модуль Solve Recaptcha 2.0 в список UnusedModules.

    Баг 2
    После реализации обходного пути, что я описал выше, в режиме запуска получаю ошибку "Thread ended with message "ReferenceError: Can't find variable: _find_substring during execution of action ".
    Решение аналогично выше описанному.

    Скриншот функции-заглушки в скрипте, что использует кастомный модуль:

    Capture.PNG

    Подозреваю, что я решил не все проблемы, потому что наблюдаю разное поведение:

    • вызов функции в самом скрипте кастомного модуля дает один результат
    • вызов функции снаружи из другого скрипта дает другой

    Вероятно, проблему можно решить отредактировав файл manifest.json модуля, чтобы добавить туда вручную зависимости, но я не знаю как.
    Модуль создается с помощью встроенного генератора, который, вероятно, и должен это делать, но не делает.

    Вручную управлять зависимостями очень плохая идея, так как я понятия не имею, какие модули отключены по умолчанию, если они не используются в скрипте.
    Если с модулем Solve Recaptcha 2.0, это можно было предусмотреть, то в случае с встроенным стандартным модулем работы со строками, маловероятно.

    Цитата из manifest.json:

    "depends": [
], <== как добавить сюда нужные мне два модуля?
    

    Прошу помощи, @m4zuper.

  • Сталкивался с этим просто добавляя функции в скрипт, но вот с использованием в модулях это уже вызывает больше проблем. Я думаю быстрее ответят в сапорте, должно быть предусмотрено что то

  • @DrPrime said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:

    Сталкивался с этим просто добавляя функции в скрипт

    Да, я тоже так сделал, о чем и написал выше.

    @DrPrime said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:

    Я думаю быстрее ответят в сапорте, должно быть предусмотрено что то

    Я редко пишу в суппорт. Да и на этом форуме есть человек из команды BAS, кто баги разбирает.
    Если я напишу письмо, то ему мой тикет и попадет в issue.

  • @sergerdn Если этот человек не знает в тикете - он перенаправит разрабу. Если знает - ответит. С форума он разрабу не отправит)

  • @DrPrime said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:

    @sergerdn Если этот человек не знает в тикете - он перенаправит разрабу. Если знает - ответит. С форума он разрабу не отправит)

    Есть вероятность, что это у меня кривые руки, а не у BAS. Не хочу дергать лишний раз разработчика, так как у него и так дел полно, я думаю.

  • @sergerdn said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:

    Да и на этом форуме есть человек из команды BAS, кто баги разбирает.

    На сколько я знаю это не считается багом, просто модули не поддерживают зависимости. В лайфхаках где-то есть костыль

  • @UserTrue said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:

    На сколько я знаю это не считается багом

    Да, понимаю, что есть баги, а есть "баго-фичи".

    Подумаешь, дерево зависимостей не умеет строить, да и фиг с ним.

    Особенно весело, когда скрипт зависит от модуля(там свои зависимости), модуль зависит от трех других модулей, они зависят от .... Ну и так далее.

    Возвращаемся в каменный век и следим за деревом зависимостей сами. 😡

  • @sergerdn said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:

    Да, понимаю, что есть баги, а есть "баго-фичи".

    Подумаешь, дерево зависимостей не умеет строить, дай и фиг с ним.

    Что еще за баго фичи. Очень странная логика, если что-то работает не так как вам хочется или так как вы привыкли в какой-то другой среде то это не является багом. Баг это когда заявлено, но не работает так описано. Вы постоянно проецируете опыт каких-то ЯП на БАС, но БАС это БАС только сами себе жизнь усложняете.

  • @sergerdn, это не баг, на данный момент модульная система BAS не поддерживает зависимости, такого функционала просто нет, обходной способ я выкалывал тут

  • @UserTrue said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:

    Вы постоянно проецируете опыт каких-то ЯП на БАС

    Вероятно, когда ориентируешься на привычное и удобное, это не так плохо.
    Если водишь машину 10 лет, а потом пересаживаешься за другое транспортное средство и там квадратный руль, это вызывает как минимум удивление.

    @UserTrue said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:

    Баг это когда заявлено, но не работает так описано.

    Вопрос терминологии, я про скорее неожиданное поведение.

    P.S.
    Совсем далеко от темы ушли, я запросил в конце своего первого поста, как можно в manifest.json добавить вручную зависимости и написал, что я не знаю как.

  • @GhostZ said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:

    @sergerdn, это не баг, на данный момент модульная система BAS не поддерживает зависимости, такого функционала просто нет, обходной способ я выкалывал тут

    Спасибо, уже смотрю.

  • @sergerdn said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:

    Вероятно, когда ориентируешься на привычное и удобное, это не так плохо.
    Если водишь машину 10 лет, а потом пересаживаешься за другое транспортное средство и там квадратный руль, это вызывает как минимум удивление.

    Это плохо, это искаженно восприятие действительности.

  • @UserTrue said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:

    Это плохо, это искаженно восприятие действительности.

    Спасибо за мнение, обязательно учту.

  • 0 Votes
    6 Posts
    638 Views
  • 0 Votes
    2 Posts
    294 Views
  • 0 Votes
    3 Posts
    439 Views
  • 0 Votes
    3 Posts
    566 Views
  • API BAS

    Поддержка
    0 Votes
    4 Posts
    1684 Views