Vladimir
нy тогда че v8 api не делает?
Anonymous
в8 понимает импорты и экспорты
Anonymous
но они не включены
Anonymous
давно уже причем
Vladimir
и каким образом энв будет реализовывать спеку лоадера?
Anonymous
Женя Обрезков кидал ссыль на исходники
Anonymous
по whatwg/loader
Vladimir
но у v8 нет апи
Vladimir
нельзя сейчас взять спеку в текущем виде и ее реализовать
Anonymous
парсер понимает эти слова
Vladimir
ну этого не достаточно
Anonymous
остальное вот этого задача https://github.com/whatwg/loader
Anonymous
само собой
Vladimir
так не может быть
Anonymous
но это так
Vladimir
в спеке должно быть написано, что vm должна делать для загрузки модулей
Vladimir
но там этого нет
Anonymous
тем не менее, там этого нет и не планируется
Vladimir
тогда вопрос - почему в v8 нет апи для модулей, чего они ждут?
Vladimir
это не может быть обязательным, если не является часть спеки
Vladimir
v8 реализует ecma-262
Vladimir
loader будет в хроме, стало быть
Vlad
Это не часть спек. Так как для ноды и хрома будут разные решения
Anonymous
да
Anonymous
движки обязаны знать синтаксис импортов и экспортов. и это не должно быть синтаксической ошибкой. это все требования 262
Anonymous
и соответственно эти слова не могут быть использованы
Vladimir
это так, но это означает, что можно сделать апи, через которое энв будет делать с модулями что-то
Vladimir
на основе ecma-262
Vladimir
а потом через это апи можно быдет реализовать стандарт whatwg или что угодно
Anonymous
пока нечего делать
Vladimir
но чуваки из v8 этого не делают, они говорят что спека не полная
Anonymous
и синтаксис тоже отключен в в8
Anonymous
whatwg спека не полная, это так
Vladimir
whatwg спека не имеет никакого отношения к ecma 262
Anonymous
но чуваки из v8 этого не делают, они говорят что спека не полная
не имеет. но видимо ^ про спеку, которую я скидывал
Anonymous
там по-английски написано же про ноду
Vladimir
если v8 не собирается имплементить эту спеку, то зачем им ее ждать?
Anonymous
This repository consolidates work on the ECMAScript module loading semantics with the integration points of Web browsers, as well as Node.js.
Anonymous
почему не собирается?
Vladimir
потому что ее имплементит энв, как ты сам сказал
Anonymous
ну часть семантики придется взять и движкам
Vladimir
зачем?
Anonymous
иначе даже стек трейса не будет
Vladimir
всмысле? стек трейс будет как и при вызове любой хост-функции
Anonymous
надо же сказать, что “ты импортишь пхп модуль, братан”
Anonymous
и движок должен знать как это получить
Anonymous
одного синтаксиса недостаточно
Anonymous
оно должно как-то рефлектировать
Vladimir
не должен
Vladimir
ведь в спеке этого нет
Vladimir
в спеке ecma 262
Anonymous
*не обязан
Vladimir
именно
Anonymous
в спеке 262 нет и таймеров
Anonymous
и фетча
Vladimir
именно
Anonymous
но они рефлексируются в глобалы
Vladimir
и в v8 их нет
Anonymous
а импорты - это не объект в глобалах
Anonymous
нельзя просто так взять и импортнуть ничто из ниоткуда
Vladimir
я не спорю - движки должны дать апи для этого
Vladimir
и кто захочет, реализует лоадеры или что-то еще
Anonymous
они могу реализовать какой угодно апи
Anonymous
но он должен работать с синтаксисом 262 и спекой вотвг
Anonymous
если надо модули в энве
Vladimir
спека вотвг полностью на энве
Vladimir
движок не должен о не знать
Anonymous
да
Vladimir
whatwg это вообще хуй знает кто
Anonymous
короче нет и пока не планируется никакой спеки на то как синтаксис рефлектирует в настоящие модули
Vladimir
мутная история
Anonymous
есть такое
Vladimir
While an ECMAScript implementation could choose its own loader semantics, V8 plans to implement the loader that's currently being standardized in the WHATWG
Anonymous
но вроде как она и не нужна. вон сафари запилили для PTC ShadowChicken. никто не просил, нигде не описано. но проблема дебага очевидна
Vladimir
отсюда https://bugs.chromium.org/p/v8/issues/detail?id=1569
Anonymous
так же и вот это все может кто как хочет реализовать
Vladimir
могли бы апишку простую сделать давно и не париться
Vladimir
в ноде можно было бы уже экспериментировать