Песнь о том, как конфигурация Node.js проектов превратилась в ад
Привет, Мир! ✌
Смотрю я на файлики в корне своего репозитория и понимаю — где-то мы свернули не туда. Очень много визуального шума, практически каждый инструмент смотрит только в свой конфиг.
Например, хотим писать проект на Next.js. Вот тебе next.config.js, eslintrc.json, tsconfig.json, и package.json.
Хочешь настроить стилизацию? Держи postcss.config.js и tailwind.config.js.
Хочешь следить за ошибками? На sentry.server.config.js, sentry.client.config.js, and sentry.edge.config.js.
А ко всему этому ещё добавим различные .gitignore, .eslintignore и всё в этом духе.
В итоге репозиторий превращается в свалку. Чтобы работать с проектом нужно около 30 конфигов. Классно?
Было бы круто, если бы можно было хранить всё в одном файлике, например так:
Или можно бы было убрать все конфиги в папку .config. В теории, и сейчас это можно попробовать сделать, но что-то мне подсказывает, некоторые инструменты отвалятся, так как смотрят на расположение `package.json`.
Можно хранить все конфиги в package.json, но формат JSON немного ограничивает в синтаксисе, поэтому мимо.
Нашёл для себя временный компромисc. В VSCode есть возможность создавать подобие папок для файлов. Добавляем в настройки (⇧⌘P → Open User Settings) несколько строчек:
Полный список паттернов слишком большой для поста, поэтому можете взять его отсюда.
Теперь всё разложено по полочкам, красота.
Есть тут бэкендеры? Интересно, как у вас с этим дела?
Делитесь своим мнением в комментариях, ставьте реакции и спасибо, что следите за каналом!