Vladimir
я после месяца отсутствия скорее всего вообще ни в чем не смог бы разобраться
Michael
Сервисов много, а код один?
Michael
Это точно _микро_-сервисы?
Denis
Да, а какие есть альтернативы?
Denis
Но тут не совсем сервисы
Vladimir
не, это бывает, у меня такая же тема
Denis
Это больше джобы
Vladimir
в идеале просто заюить и использовать одие package.json
Evgeny
Ну у нас были дамб мсы - один код разные конфиги
Denis
Например - протестировать UI, вытащить переводы из кода, залить их обратно и тд
Denis
в идеале просто заюить и использовать одие package.json
Тогда получаем большой node_modules, один для всех
Denis
в целом ОК, но падает реюзабельность
Vladimir
так все так есть смысл разделять репо
Vladimir
смысл слов “единая кодовая база” теряется
Evgeny
Чтот, Денис, мне кажется, херню ты сделал
Denis
Да я бы рад услышать лучшие идеи )
Denis
Но вот например тот же скрипт i18n парсит кодовую базу и извлекает переводы
Nikita
а в чем проблема все зависимости в 1 package.json держать?
Denis
@gusnkt Была проблема с долгим npm install, но с учётом отдельного image для node_modules, это уже не актуальная проблема)
Nikita
то есть надо грамотно кешировать package.json
Denis
С одной стороны - не хотелось бы всё в одном держать, чтобы понимать, что делает каждая часть. С другой, всё в одном позволяет быстрее обновление произвести.)
Vladimir
ну наверняка каждая часть в своей папке
Nikita
если ты не держишь все в одном - у тебя будет другая проблема. Во всех пакетах обновить babel, линтер, lodash, etc.
Vladimir
положи туда package.json
Nikita
ну кстати да) шареные зависимости в root, остальные в отельные package.json
Vladimir
не, один основной, и в каждой папке свой
Vladimir
два npm install
Nikita
и прям 99% - есть тулза, которой даешь пути к остальным package.json, и в postinstall
Denis
А вот кстати про postinstall такая инфа поступила :)
Denis
If there is a binding.gyp file in the root of your package, npm will default the preinstall command to compile using node-gyp `BEST PRACTICES Don't use install. Use a .gyp file for compilation, and prepublish for anything else. You should almost never have to explicitly set a preinstall or install script. If you are doing this, please consider if there is another option. The only valid use of install or preinstall scripts is for compilation which must be done on the target architecture.`
Denis
https://docs.npmjs.com/misc/scripts#best-practices
Vladimir
ну эт не новость
Vladimir
по хорошему скрипты должны быть задизейблены при инсталле
Denis
задизейблены?
Vladimir
для безопасности
Denis
Для меня, кстати, новость - я относитлся к postinstall как секции, откуда можно дёрнуть build, например, чтобы два раза в консоль не ходить)
Denis
для безопасности
Тогда node-gyp и пр отвалится ж)
Vladimir
ручками запускать
Дима
Так он сам же может запускаться, это же фича
Vladimir
а то в binding.gyp тоже может быть всякое
Дима
Ну так то и в модулях может быть всякое)
Vladimir
может!
Vladimir
но не в момент инсталла
Denis
да, стоит разделять install и build
Denis
Внезапно осознал
Denis
)
Denis
install надо переименовать в fetch
Denis
С другой стороны, вот есть package.json: { "name": "my-app", "version": "1.0.0", "private": true, "author": "Startup Makers", "devDependencies": { "browserstack-local": "^1.0.0", "nightwatch": "^0.9.5" }, "engines": { "node": "5.x", "npm": "3.x" }, "scripts": { "test": "./node_modules/.bin/nightwatch -c nightwatch.conf.js -e chrome_51,ios_9", "test:local": "node browserstack.local.js" } }
Denis
и чё-то не сильно бы его хотелось мешать с основным большим package.json
Denis
Поэтому вариант вначале смотрится лучше всего
Sam
Ребята, мне надо реализовать голосовалку, так вот, сейчас думаю, результаты голосовалки луше вычислять каждый раз при запросе или все таки их в базе надо хранить?
hamper 𓅝
счетчики лучше хранить где то дополнительно, не обязательно в базе, можно просто в память кешировать
Evgeny
А зачем их считать если они не меняются пока не было голоса?
Evgeny
Голос появился - пересчитали - сохранили
Vladimir
можно не хранить для начала, оставить как оптимизацию
Evgeny
да да, история про 7 нулей
Vitaly
Evgeny
я
Владимир
Опередил:)
Dmitry
А что нужно? Express?
Nikita
connect
Nikita
а вообще - require('http') и вперед
Vladimir
да, это вообще норм
Mannaro
Ребят, решил я таки забахать небольшой проект) Фронт - простая страничка на реакте (очень маленькая). А вот сервак рабтает как API, сам ничего не рендерит. Хотелось бы юзать все плюшки ES6/7, а, следовательно, надо настроить webpack. Так вот в гугле слишком много инфы, как настроить его для фронта, но нет ничего для бека. Мне бы автосборку проекта и автоперезагрузку при обновлении (автоперезагрузку именно сервера, без клиента), есть годные мануалы?
Michael
документацию открыть, не??
Michael
https://webpack.github.io/docs/
Mannaro
Открывал) Там куча инфы про webpack-dev-server и ему подобных. А вот как то же самое сделать для сервера не нашел (:
Mannaro
Единственное что пока пришло в голову - вешать observer на файл, а node запускать через child_process. Как файл меняется убивать старый процесс и запускать новый.
Vladimir
вебпак для бэка
Vladimir
Anonymous
вебпак для бэка
а как инлайн стили можно сбилдить не теряя модульность?вебпак это может?
Anonymous
а как инлайн стили можно сбилдить не теряя модульность?вебпак это может?так чтобы это можно было быстро внедрить в деплой
Kanstantsin
магия разве только в маленькой функции, которая делает композицию мидлверов, а в остальном он минимальный и не далек от express..
Evgeny
Напоминаю, что у нас есть чат @javascript_jobs