Как в Webpack и/или NextJS отключить карты eval-source-map из-за проблем CSP
Я пытаюсь установить ограничительный CSP для безопасного приложения, и мой вариант использования не позволяет'unsafe-eval'
.
По умолчанию NextJS и Webpack используют eval-source-maps, которые повторно используют eval(), а это означает, что это нарушает мою среду разработки. Я понимаю, что эти исходные карты не используются в производстве, но это означает, что мне приходится использовать разные настройки в средах разработки и производства, что очень затрудняет отладку проблем, связанных с CSP.
Я попробовал решения, предложенные несколькими открытыми проблемами на Github, перечисленными ниже, но безуспешно. NextJS просто переопределяет исходные карты обратно наeval-source-maps
когда вы находитесь в разработке, даже если вы явно добавляете в конфиг для установкиdevtool: false
илиdevtool: source-map
. Для меня дико, что он автоматически отменяет настройку вручную, заданную разработчиком, и возвращает настройки по умолчанию, которые и вызывают проблему, но именно здесь мы и находимся!
Кто-нибудь решил это? Мне показалось бы странным намеренно использовать менее безопасные настройки для среды разработки при создании приложения, требующего высокого уровня безопасности.
Соответствующие проблемы с GitHub:https://github.com/vercel/next.js/discussions/20294https://github.com/webpack/webpack/issues/4899https://github.com/vercel/next.js/ обсуждения/21425