Как в исходные файлы реакта попадает переменная __DEV__?

Переменная __DEV__ в React используется для определения, находится ли приложение в режиме разработки или в режиме продакшена.

В исходные файлы React переменная __DEV__ попадает из-за того, что React зависит от Babel, который использует Babel плагин @babel/plugin-transform-react-jsx-source и поддерживает специальные комментарии с метаданными для отладки.

При обработке React-компонента Babel добавляет специальные комментарии перед верхним уровнем JSX-элементов. Эти комментарии содержат метаданные о файле, имени компонента и позиции строки JSX-элемента в исходном файле. Эти метаданные затем будут использоваться во время разработки при отображении трассировки стека и предупреждений в консоли браузера.

Один из таких метаданных - это установленная глобальная переменная __DEV__. В режиме разработки эта переменная устанавливается как true, а в режиме продакшена - false. React использует значение этой переменной для определения, нужно ли выполнять дополнительную отладочную логику или предупреждения.

Таким образом, в исходные файлы React переменная __DEV__ попадает автоматически в процессе сборки кода с использованием Babel соответствующего плагина, который добавляет специальные комментарии с метаданными. Это позволяет разработчикам вести отладку и получать полезную информацию о месте возникновения ошибок и предупреждений во время разработки при помощи React.