Error de sintaxis: carácter no válido '\ud835'
Cuando ejecuto una aplicación web (construida con Typescript + Webpack) dentro de Safari, me encuentro con el error anterior (que no aparece en otros navegadores).
Al buscar en todos los node_modules, ethers.js contiene:
const EtherSymbol = "\u039e"; // "\uD835\uDF63";\n//#
La solución en este escenario específico fue agregar el complemento terser dentro del paquete web 5.
https://webpack.js.org/plugins/terser-webpack-plugin/
const isModern = false; const customTerserOptions = { ... } // from this url - https://github.com/terser/terser/issues/729 module.exports = { optimization: { minimize: true, minimizer: [new TerserPlugin({ terserOptions: customTerserOptionsEn mi caso, este código funcionó.
const TerserPlugin = require("terser-webpack-plugin"); const webpackConfig = { ... optimization: { minimize: true, minimizer: [new TerserPlugin({ terserOptions: { safari10: true } })], } ... } module.exports = webpackConfig;