Bug: TextDecoder doesn’t exist in React Native environment

Abierto
#13 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
55/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
javascript, react-native
Área
mobile-dev

Línea de trabajo

Empieza leyendo node_modules/uint8array-tools/src/mjs/browser.js y reproduce el error de TextDecoder ausente en el entorno de React Native 0.79.0 para iOS o Android indicado. Comprueba cómo se puede usar el paquete text-encoding sin afectar al comportamiento del navegador ni de Node.js; se considera terminado cuando el paquete funciona en ambas plataformas sin el error en tiempo de ejecución.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

When using uint8array-tools in a React Native 0.79.0 project, the following error occurs at runtime:
Uncaught Error: Property 'TextDecoder' doesn't exist

browser.js:12:21
const DECODER = new TextDecoder();
                 ^ Property 'TextDecoder' doesn't exist

Affected file:
node_modules/uint8array-tools/src/mjs/browser.js

Possible Cause

React Native does not provide TextEncoder or TextDecoder in the global environment.
As a result, libraries that depend on them (like this one) will throw errors when used outside of Node.js or browsers.

This can be mitigated by adding a small polyfill using the text-encoding
package.

Suggested Fix:

Add a conditional polyfill at the top of browser.js (or detect the React Native environment and import text-encoding only when needed).

import 'text-encoding'

Environment

React Native: 0.79.0

uint8array-tools: latest npm version

Platform: iOS (also occurs on Android)

Lenguaje dominante
JavaScript
Estrellas
1
Forks
3
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.