Рамиль: дык найдите сервис, который работает с bitbucket:)
А мне необходимо до.
Коммунисты тоже хотели, чтобы все были хорошие, работали на совесть и брали не больше, чем нужно. К сожалению, это не работает, люди устроены по другому. Поэтому используется CI: тесты провалились, code style не соблюден → билд не собирается → деплой не происходит → баг считается не пофикшенным, фича не сделанной.
Code review тоже помогает. Пока код не прошел ревью, ветка не мерджится в мастер.
Да, это все требует дисциплины, но, к сожалению, таков мир.
loly: здравый смысл:) у меня в похожих случаях есть папка scripts в проекте, где лежат файлики типа downloadData.js, которые запускаются по cron'у. Эти скриптики используют часть кода из основного приложения (конфиги, данные для подключения к дб, модели).
gulp сам по себе ничего не умеет, это т.н. task-runner. То есть его ответственность — запускать какие-то задачи в определенном порядке. Чтобы собственно собрать проект, надо добавить плагинов (gulp-babel, gulp-browserify, gulp-sass и так далее, тысячи их).
webpack именно сборщик (или иногда говорят bundler), его ответственность — взять кучку файлов и выдать один (иногда несколько, но не суть:)), при необходимости — сжатый для продакшена. Из коробки он понимает только JS (во всех форматах модулей), для sass/less/stylus и прочего надо ставить т.н. loader'ы.
Теоретически gulp гораздо гибче и может делать гораздо больше, но на практике 95%, если не больше, может webpack. Так же возможно запускать webpack из gulp.
Я бы сказал, что оправданно, потому что разрабатывать с ним действительно удобно, а оверхед в продакшене один из самых маленьких. Но учтите, что у webpack все-таки довольно крутая кривая обучения, хотя в минимальном виде это и выглядит примерно как webpack -d --entry index.js --output-path dist/. Советую на первых порах брать готовые бойлерплейты (или что-то вроде create-react-app).
Я уже несколько лет пишу только es6-импорты, не жду милостей от природы:)
На данный момент есть два варианта:
транспиляция, превращающая import/export в commonjs (с последующей сборкой browserify при необходимости) или amd
загрузчики, понимающие import/export (и все остальные форматы модулей) и загружающие модули каким-то своим образом (es-module-loader, SystemJS, webpack)
Моя личная рекомендация это webpack, потому что понимает все из коробки плюс куча плюшек (live-reload, hot-reload, ленивая загрузка кода, не нужен grunt или, не дай боже, gulp).
Если речь о фабричном статическом методе класса, то this.name даст имя класса (если он не анонимный, конечно).
Но вообще лучше сделать совсем отдельно. Повторюсь, value object не должен знать, откуда он берется.
Ростислав Игнатенко: я не согласен. Как раз таки если все данные в БД, то проще восстановиться в консистентное состояние. Если приложение падает, когда игрок ходит, для него это должно выглядеть, как временный лаг, а не как «все пропало, деньги списались, а партии как будто не было».