Comments 19
Везде где возможно, npm должно писаться строчными буквами и начинаться со строчной буквы, даже если стоит в начале предложения. Иное допустимо только если строчные буквы недоступны (например, на man-страницах).
А зачем канпелировать? Можно же зарегистрировать require hook
require("babel/register");
Если вы пишите библиотеку, которую кто-то будет переиспользовать то этот способ не подходит. Т.к. babel патчит объекты и добавляет полифилы. Поэтому для распространяемого кода только компиляция.
babel/register
загрязняет глобальное пространство имен и патчит встроенные объекты типа Array, Object, Function. Если вы работаете через CommonJS-like систему модулей, это плохой выбор. Что касается
babel-runtime
, думаю стоит уточнить, что методы прототипа из ES6/7 не поддерживаются, заменяются только вызовы стандартных конструкторов / статические методы на методы из core-js/library. Реализовать поддержку методов прототипа с этим трансформером можно довольно просто, предложил здесь, но видать (пока?) не судьба. Ну и экспериментирую с разделением библиотеки на commonjs модули, так что со временем, вместо того, что бы тащить в браузер довольно тяжелый монолитный полифил, можно будет затребовать только необходимые фичи.Ну, мне не хотелось в посте вдаваться так сильно в ES6/7, если честно.
Пост вообще задумывался про npm+github+travis+coveralls+бэйджики, но затем я решил добавить условие — все исходники на ES6 и меня понесло совсем в другую степь :)
Сейчас добавлю в пост ссылку на ваш комментарий.
Пост вообще задумывался про npm+github+travis+coveralls+бэйджики, но затем я решил добавить условие — все исходники на ES6 и меня понесло совсем в другую степь :)
Сейчас добавлю в пост ссылку на ваш комментарий.
UPD: и как это я раньше вашему проекту звездочку на Github'е не поставил? Непорядок, исправляюсь.
нет, ну а как еще перевести transpiler?!
Да так и перевести — транспилятор ;)
Ну, мне приходил в голову такой вариант, но показалось, что это как-то слишком просто :)
Так как никакой компиляции в действительности не происходит, то слог «ком» действительно лишний. Так что «транспилятор» или «транспилер» это более верный перевод. В этом поддерживаю оратора выше. Хотя перевод не идеальный. К примеру, я не уверен, что говорить «транспилер» в целом верно, просто потому что сейчас многие так говорят, но лучшего перевода нет. Чуть более длинный термин «транспиляция» тоже сути не передаёт. Говорить «трансформация над кодом» слишком длинно. Рискую привлечь Мицгола в тред, но, вероятно, если бы кто-то и правда заморачивался корректным переводом, то у него получилось бы что-то вроде «кодопреобразования».
Спасибо тебе огромное!
Благодаря этой статье, я наконец-то понял как прикрутить istanbul, mocha и coverall к Node. Однозначно в избранное :)
Благодаря этой статье, я наконец-то понял как прикрутить istanbul, mocha и coverall к Node. Однозначно в избранное :)
Всегда пожалуйста :)
Для того, в общем-то, все и затевалось :)
Для того, в общем-то, все и затевалось :)
Все забывал сказать. Я по вашей статье сделал yeoman генератор, чтобы избавить от этого флоу других :)
github.com/ghaiklor/generator-es5-npm-module — под ES5
github.com/ghaiklor/generator-es6-npm-module — и под ES6
github.com/ghaiklor/generator-es5-npm-module — под ES5
github.com/ghaiklor/generator-es6-npm-module — и под ES6
.DS_Store — не стоит добавлять в gitignore проекта. Этот файл должен быть в глобальном gitignore, прописать его можно в ~/.gitconfig.
Sign up to leave a comment.
Некоторые тонкости работы с Github и NPM — со вкусом ES6