Есть ли способ предотвратить распространение исходных имен файлов на выходные данные веб-пакета при использовании Terser для минимизации?
Пример
В выходном файле .js
, созданном моим минимизированным рабочим приложением React build, я все еще вижу необработанные имена исходных файлов в выводе.
Пример выдержки:
[...]
({"../js/dashboard/lib/MyApiClient.js":function(e,t,n){"use
strict";n.r(t),n.d(t,"default",function(){return c});var
o=n("../node_modules/axios/index.js"),r=n.n(o),
s=n("../node_modules/@sentry/browser/esm/index.js");
[...]
Здесь вы можете увидеть несколько вещей:
- В моем проприетарном коде есть какой-то модуль под названием
MyApiClient.js
- Мы используем
axios
и Sentry
Webpack config
Вот соответствующий часть нашей производственной конфигурации webpack:
optimization: {
minimize: true,
minimizer: [
new TerserPlugin({
sourceMap: true,
extractComments: false,
terserOptions: {
output: {
comments: false,
},
},
}),
],
},
Проблема
Меня беспокоит то, что это утечка информации о внутренней структуре нашего приложения, и у меня нет ' Я не нашел нужного места в стеке (опции веб-пакета? терсер-опции?), чтобы предотвратить его.
Хотя приведенные выше примеры не являются сложными, и, конечно, никакие искажения не делают код непроницаемым для обратного инжиниринга функциональности. , Я не хочу, чтобы оно было слишком просто для других, чтобы понять, как построено приложение и какие функции оно может скрывать.
Спасибо!