artalar
100 строк, если все они специфичные - это не мало
Anonymous
100 строк, если все они специфичные - это не мало
ну основа везде одна, хоть ангуляр, хоть реакт, а вот половина да, там свои велосипеды обычно
Anonymous
Итак господа разбираем конфиг))) Первое что видим это такое вот const isWsl = require('is-wsl'); это либа npm говорит не сидим ли мы в ubuntu из под windows... true/false а важно это потому что... // Use multi-process parallel running to improve the build speed // Default number of concurrent runs: os.cpus().length - 1 // Disabled on WSL (Windows Subsystem for Linux) due to an issue with Terser // https://github.com/webpack-contrib/terser-webpack-plugin/issues/21 parallel: !isWsl, сраный вебпак запущенный паралельно под виндой, зависает намертво и похоже никто не знает почему... именно поэтому это надо проверять в КОНФИГЕ... ведь в сам вебпак зашить логику нельзя, потому что у них наверно все работает без create-react-app, а тут в виду специфики нет issue от 24 Oct 2018, прошел почти год и тут не понятно починили вебпак или нет, а если нет похоже даже не зачесались перенести флаг себе... ну, вы меня конечно извините... но это чет уже совсем край
Eugene
как там дела у parcel?
artalar
Итак господа разбираем конфиг))) Первое что видим это такое вот const isWsl = require('is-wsl'); это либа npm говорит не сидим ли мы в ubuntu из под windows... true/false а важно это потому что... // Use multi-process parallel running to improve the build speed // Default number of concurrent runs: os.cpus().length - 1 // Disabled on WSL (Windows Subsystem for Linux) due to an issue with Terser // https://github.com/webpack-contrib/terser-webpack-plugin/issues/21 parallel: !isWsl, сраный вебпак запущенный паралельно под виндой, зависает намертво и похоже никто не знает почему... именно поэтому это надо проверять в КОНФИГЕ... ведь в сам вебпак зашить логику нельзя, потому что у них наверно все работает без create-react-app, а тут в виду специфики нет issue от 24 Oct 2018, прошел почти год и тут не понятно починили вебпак или нет, а если нет похоже даже не зачесались перенести флаг себе... ну, вы меня конечно извините... но это чет уже совсем край
За всеми этими вещами следить не тривиально. Именно поэтому оно все остается на откуп поставщика пакеа сборки (react-scripts). edject - это плохая практика и его лучше не использовать как раз что бы не взваливать на себя задачу по поддержке сотен строк конфига. Все задачи по дабовлению кастомной логики в конфиг прекрасно и элегантно решаются с помощью https://github.com/gsoft-inc/craco Если будет еще аргумент что конфиг для конфигов “это путь в никуда” - аргументируйте его, пожалуйста. P.S. вы про паттерн middleware слышали?
Nikolai
Итак господа разбираем конфиг))) Первое что видим это такое вот const isWsl = require('is-wsl'); это либа npm говорит не сидим ли мы в ubuntu из под windows... true/false а важно это потому что... // Use multi-process parallel running to improve the build speed // Default number of concurrent runs: os.cpus().length - 1 // Disabled on WSL (Windows Subsystem for Linux) due to an issue with Terser // https://github.com/webpack-contrib/terser-webpack-plugin/issues/21 parallel: !isWsl, сраный вебпак запущенный паралельно под виндой, зависает намертво и похоже никто не знает почему... именно поэтому это надо проверять в КОНФИГЕ... ведь в сам вебпак зашить логику нельзя, потому что у них наверно все работает без create-react-app, а тут в виду специфики нет issue от 24 Oct 2018, прошел почти год и тут не понятно починили вебпак или нет, а если нет похоже даже не зачесались перенести флаг себе... ну, вы меня конечно извините... но это чет уже совсем край
Уважаемый, ну не юзайте create-react-app если не устраивает. Вас кто то заставляет? Что мы тут обсуждаем? Какой вы умный, а создатели cra глупые или что?
Anonymous
далее интересный момент это https://github.com/arcanis/pnp-webpack-plugin я причитал редми два раза и не понял для чего он нужно и что было не так без него, но похоже это какой-то резолвер модулей Ага, оказывается по дефолту модули как то очень долго ищуться потому что стандартное поведение ноды оказалось (хоть и универсальным) очень медленным, когда вы тащиты 100500 зависимостей для реакта, поэтому нам нужно новое поведение я так понял на основе быстрого поиска через package.json... ну такое себе)))
Anonymous
@Baxxterkhv @artalar вас не пугает сама стратегия прятать конфиг и сверху на него писать ещё одни конфиг? Логика определения винды в конфиге... но это же адище... говно код... так вообще делать нельзя это все принципе нарушает... Сначала все билось по разным конфигам, потом что-то начали пикать в package кусками, потом решили все кинуть в кишки что бы народ не будет а наружи на растерзацие топлы кинули пресеты, а теперь ещё cra придумали сверху пустить, мне реально только одному кажеться что это не решение проблемм так как их надо решать, это быстрая попытка замести говно под коврик, а именно и есть самое мезское говнокодство, которые вы все там не любите и ради чего вы тратили ни один код что бы писать проекты нормально...
artalar
@Baxxterkhv @artalar вас не пугает сама стратегия прятать конфиг и сверху на него писать ещё одни конфиг? Логика определения винды в конфиге... но это же адище... говно код... так вообще делать нельзя это все принципе нарушает... Сначала все билось по разным конфигам, потом что-то начали пикать в package кусками, потом решили все кинуть в кишки что бы народ не будет а наружи на растерзацие топлы кинули пресеты, а теперь ещё cra придумали сверху пустить, мне реально только одному кажеться что это не решение проблемм так как их надо решать, это быстрая попытка замести говно под коврик, а именно и есть самое мезское говнокодство, которые вы все там не любите и ради чего вы тратили ни один код что бы писать проекты нормально...
Попробуйте написать инструмент лучше. Если бы у CRA был свой конфиг для управления конфигом вебпака - вот это было бы запутанней, но по факту всякие craco или плагины для next.js - это не конфиг к библиотеки, это возможность засунуть мидлвару в конфигурацию конфига вебпака - и это совершенно другой паттерн и приминительно к топику вполне успешный
Nikolai
@Baxxterkhv @artalar вас не пугает сама стратегия прятать конфиг и сверху на него писать ещё одни конфиг? Логика определения винды в конфиге... но это же адище... говно код... так вообще делать нельзя это все принципе нарушает... Сначала все билось по разным конфигам, потом что-то начали пикать в package кусками, потом решили все кинуть в кишки что бы народ не будет а наружи на растерзацие топлы кинули пресеты, а теперь ещё cra придумали сверху пустить, мне реально только одному кажеться что это не решение проблемм так как их надо решать, это быстрая попытка замести говно под коврик, а именно и есть самое мезское говнокодство, которые вы все там не любите и ради чего вы тратили ни один код что бы писать проекты нормально...
Создайте pr в cra с решением, или хотя бы issue. По большому счету вы сейчас только воздух сотрясаете, без предложений как то ситуацию изменить к лучшему.
Anonymous
@Baxxterkhv @artalar дак пугает или нет? ну хоть не много... понятно что воздух сотрясаю, и иди делай инструмент лучше.
artalar
@Baxxterkhv @artalar дак пугает или нет? ну хоть не много... понятно что воздух сотрясаю, и иди делай инструмент лучше.
Лично меня больше пугает в этом самому разбираться, пусть лучше ментейнеры react-script с этим разбираются, а я готовую коробочку получаю. В крайнем случае issue создам.
Anonymous
Лично меня больше пугает в этом самому разбираться, пусть лучше ментейнеры react-script с этим разбираются, а я готовую коробочку получаю. В крайнем случае issue создам.
Ну такое себе, мне кажется, хотя может это мнение и бредовое, но вы должы знать полностью, как работает и собирается ваше приложение
artalar
“Знать” - хорошо бы, да. “Полностью” - пфф, никогда такого не будет. В любом плагине может быть дока одна, а код под капотом дичайший. Читать же все исходники всех зависимостей - безусловная жесть как минимум в плане необходимого времени и скорости изменения всего-всего.
Anonymous
вот ещё один кандитат на звание самых мерзских плагинов... https://github.com/Urthen/case-sensitive-paths-webpack-plugin серьёзно, если что-то регист похерит... во времена когда ide это 99.999%
Anonymous
“Знать” - хорошо бы, да. “Полностью” - пфф, никогда такого не будет. В любом плагине может быть дока одна, а код под капотом дичайший. Читать же все исходники всех зависимостей - безусловная жесть как минимум в плане необходимого времени и скорости изменения всего-всего.
Пожалуй я это перефразирую как то так, возможно резко, но лирически когда то давно они знали что на самом деле делает вебпак, какие там есть хуки, как написать свой плагин в цепочку, теперь же им просто пох*й, ведь решение своих задач, теперь они ищут в npm Всем хорошего рабочего дня, и отличного настроения! А я пошел спать, спасибо что скрасили утро!
Oleg
😦 stop it. get some help.
Anonymous
npm ls | wc -l > 3052 🙈🙊😱💩🔥🌚
Алексей
npm ls | wc -l > 3052 🙈🙊😱💩🔥🌚
а теперь вот так 🙂 npm ls --production | wc -l
🦜
Опа, про cra говорят🌝
🦜
@spatNeHochu. Ты говоришь, что тебе нужен вебпак и тс. Так возьми вебпак, лоадер для тс. Зачем тебе тянуть cra для реакта?
Anonymous
Писать для каждого проекта код снова или использовать решение протестированное тысячами других разработчиков
Давайте не будем менять понятия, я переживаю за то что неконтролируемо растет снежный ком непредсказуемого неявного и ни кем не понимаемого поведения, а не про что нужно использовать или нет сторонние пакеты
Eugene
дайте адекватный способ в cra вырубить поведение eslint без eject.
🦜
Да выкинул уже я все это, и конфиг с нуля сделал за пол часа
Я понимаю, что у тебя когниктивное искажение. Может ты пришел из другой области, но cra онли для реакта и спа. Не надо его натягивать как сову🌝 на глобус)
Eugene
Package.json разве не переопределяет?
вроде нет, но я не пробовал
Anonymous
вроде нет, но я не пробовал
Напиши потом как решил и мне упомяни в сообщении @меня
🦜
дайте адекватный способ в cra вырубить поведение eslint без eject.
Через package.json можно указать другой конфиг, вроде как
Sergey
Да выкинул уже я все это, и конфиг с нуля сделал за пол часа
только, что-то мне подсказывает, что этот конфиг не учитывает 90% различных кейсов, учтенных в CRA. И стоит только запустить сборку на машине отличной от твоей, появятся проблемы и снова сядешь фиксить конфиг, или это будет делать коллега, у которого возникли проблемы. Можно ничего не говорить о сотнях edge кейсов с плагинами. Ведь CRA многие из плагинов отслеживает и выключает или конфигурирует так, чтобы не возникало сложностей при использовании. Ведь пользователи плагинов зачастую не смотрят сотни issue
Андрей
Писать для каждого проекта код снова или использовать решение протестированное тысячами других разработчиков
А какие решения из cra у тебя используются, если ты каждый раз всё равно делаешь eject?
Eugene
в айти главное вовремя переобуться 🌚
Sergey
А какие решения из cra у тебя используются, если ты каждый раз всё равно делаешь eject?
все. eject позволяет мне контроллировать ситуацию целиком. Добавляем различные опции, которые через craco не добавить. И т.д.
Sergey
Ну после eject же теряешь поддержку и обновления самого cra? 🤔
да и похер. использую cra как boilerplate жить на нем долго все равно не реально
Sergey
я хз куда ещё конкретнее
artalar
<input type=“tel”
Андрей
всю конфигурацию
Конфигурацию чего? Сборки? Вот у меня тот же конфиг вебпака, с помощью которого всё собирается прекрасно всё.
Eugene
а какие кстати еще есть интересные бойлерплейты? кроме https://github.com/react-boilerplate/react-boilerplate (слишком оверхед, как по мне)
Sergey
Конфигурацию чего? Сборки? Вот у меня тот же конфиг вебпака, с помощью которого всё собирается прекрасно всё.
ну вот руками я вообще не хочу ничего настраивать. но зависеть от patch изменений cra не хочется.
Sergey
просто eject и всё
Sergey
дальше только правки, но не полная ручная конфигурация
Anonymous
только, что-то мне подсказывает, что этот конфиг не учитывает 90% различных кейсов, учтенных в CRA. И стоит только запустить сборку на машине отличной от твоей, появятся проблемы и снова сядешь фиксить конфиг, или это будет делать коллега, у которого возникли проблемы. Можно ничего не говорить о сотнях edge кейсов с плагинами. Ведь CRA многие из плагинов отслеживает и выключает или конфигурирует так, чтобы не возникало сложностей при использовании. Ведь пользователи плагинов зачастую не смотрят сотни issue
Мне кажется проблема тут в общей ситуации, откуда вообще возникли это проблемы с разными окружениями, изначально плохая архитектура, кто то не использует path.join а лепит пути строками и под виндой его ждёт факап, но проблему должны были решать авторы ноды либо в рантайме пути менять либо абстракции писать для фс, в итоге все решения проблем уходят на верх и решаются там заплатками хотя более правильней делать более стабильной саму платформу
Sergey
хочешь перенести флаг is-wsl в вебпак? делай PR и объясняй почему в нём, а не в клиентском коде
Anonymous
поныть и я могу. решений только нет
Все я спать))) и пусть мне не сниться cra
Sergey
Все я спать))) и пусть мне не сниться cra
пусть лучше снятся правила русского языка
Artem
посоветуйте годный ui kit в 2к19
Artem
material, bootstrap, ant … возможно что-то еще ?
Vova
blueprint
🦜
🦜
material, bootstrap, ant … возможно что-то еще ?
semantic-ui, reakit. Ант, бутстрап не годный. Так, в опенсорсе больше нормального нет
🤴👷‍♂️🦸‍♂️🧚‍♀️
grommet, react native web
Dmitry
grommet, react native web
2ое не ui кит
🤴👷‍♂️🦸‍♂️🧚‍♀️
Свидетель
От чего зависит выбор между функциональным и классовым компонентом?
Dmytro
От чего зависит выбор между функциональным и классовым компонентом?
классовый нужно использовать когда нужен локальный стейт или методы жизненного цилка компонента
Dmytro
но с появлением хуков фукнциальнальные компоненты так же получили эти возможности
Maksim
Ну хорошо, будущий легаси
Maksim
Ну хорошо, для меня это легаси