🔥

Тред (RReverser)


В общем, попробуем таки реализовать кастомный синтаксис для слайсов - a[2:10] -> a.slice(2, 10). Но наверное завтра, большинство уже спит.

А пока советую поставить Acorn и взглянуть на ESTree - современное продолжение упомянутого ранее Mozilla Parser API. github.com/estree/estree

Как уже говорил, новые ноды для ES6 создавались самостоятельно - сначала FB, потом я в Acorn, потом подтянулась Esprima.

И в определенный момент, конечно, начались конфликты, так как каждый реализовывал по своему видению, еще и сам ES6 менялся-развивался.

А тут Esprima из-за своего кризиса в развитии (её автор занимается паралельно другими крутыми вещами) как раз перешла под jQuery Foundation.

И jQuery, чтобы расшевелить дело, начала созвоны со всеми, кто работал на смежных проектах, так или иначе связанных с парсингом.

На них же и решили, что пора прекратить соревноваться в "правильности" форматов, и лучше вместе создать общую спеку из полученных наработок.

Вот так теперь на изначальной вики-страничке Parser API висит deprecation notice, а все развитие перешло в общую ESTree.

Над ней работали и продолжают работать уже все сообща - Mozilla, Esprima, Acorn, Babel и пару других заинтересованных лиц.

Понятно, что конфликты сами собой не пропали и бывали обсуждения на сотни комментов по самых глупых вопросах github.com/estree/estree/…

Но как результат - теперь есть четко прописанная философия, а в комьюнити появился единый стандарт и тулзы, умеющие ES6, JSX, Flow и прочее.

Завтра продолжим, уже пытаясь добавить собственный нестандартный сахар, упомянутый выше :) Хорошего вечера!