Webpack 5.73.0
dotenv 16.0.3
dotenv-webpack 8.0.1
Как происходит сборка:
1. Сборка образа осуществляется через jenkins и кладется в nexus
2. Далее, через portainer мы делаем recreate нужного нам контейнера (здесь же устанавливаются переменные).
Переменные доступны через консоль в контейнере.
Но, как я понял, нет доступа к process.env во время сборки (не могу понять, почему).
Сначала грешил на DefinePlugin, но после вывода:
const DefinePluginConfig = new Webpack.DefinePlugin({
'process.env': JSON.stringify(process.env), // undefined на выходе (ни одна переменная не присваивается)
'process.env.TEST': JSON.stringify(true), // true (вебпак корректно прокидывает переменную хардкодом)
'process.env.APP_ENV': JSON.stringify(process.env.APP_ENV), // undefined (переменная не присваивается)
});
В самом начале конфига вызываю:
require('dotenv').config();
Извините, но не понимаю, что за х** творится.
Пробовал:
1. Писать dotenv.config().parsed
2. Делать префиксы к переменным REACT_APP_
3. Добавлять dotenv-webpack (но как я понял, он берет из файла рядом)
4. Использовать EnvironmentPlugin