Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Support for Android / Termux (`process.platform === 'android' `)

Abierto Apto para principiantes
#274 2 comentarios 0 reacciones 0 asignados Ver en GitHub

@kukirin-ui ya está trabajando en esto.

Desde el 15/10/2026.

  • #275 de @kukirin-ui — abierto

Evaluación

Dificultad
1/5
Tiempo estimado
Menos de una hora
Aptitud para principiantes
82/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
android, nodejs, typescript

Línea de trabajo

El fallo proviene del mapa de plataformas OSService y del helper getOS que lo alimenta, que el informe ubica en el código fuente publicado en v0.12.2. Empieza por encontrar dónde se define getOS y cómo se indexa el mapa, y luego comprueba qué claves existen para android. Está terminado cuando process.platform con valor android devuelve un servicio sin el error is not a constructor, lo que puedes confirmar con una pequeña prueba unitaria que simule process.platform.

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

Descripción

Describe the bug

When running npkill on Termux (Android), it crashes immediately with:

TypeError: OSService[getOS(...)] is not a constructor
Root cause

Node.js on Termux reports process.platform === 'android'.

In the published package (v0.12.2) the platform map only contains:

const OSService = {
  linux: LinuxFilesService,
  win32: WindowsFilesService,
  darwin: MacFilesService,
};

So OSService['android'] is undefined.

Suggested fix

Treat Android the same as Linux (it is Linux under the hood and the existing LinuxFilesService works correctly after the patch).

Minimal patch (works on current published version):

// before
const getOS = () => process.platform;

// after
const getOS = () => 
  process.platform === 'android' ? 'linux' : process.platform;

Alternatively, just add the key:

const OSService = {
  linux: LinuxFilesService,
  android: LinuxFilesService,   // ← add this
  win32: WindowsFilesService,
  darwin: MacFilesService,
};
Environment
  • Termux on Android
  • Node.js v24.x (also reproduces on earlier versions)
  • npkill 0.12.2
Additional context

After applying the one-line change above, npkill starts and works normally on Termux.

NB. Grok xAI found the line and wrote the above.

Proof that works:

-----                    __   .__.__  .__
-           ____ ______ |  | _|__|  | |  |
------     /    \\____ \|  |/ /  |  | |  |        Releasable space: 0.00 GB
----      |   |  \  |_> >    <|  |  |_|  |__      Space saved: 0.00 GB
--        |___|  /   __/|__|_ \__|____/____/      Search completed 0.36s
-------        \/|__|        \/       0.12.2                               
                                                                   
  CURSORS for select - SPACE to delete                                                                                                                                                          Last_mod   Size   


on Termux above

Lenguaje dominante
TypeScript
Estrellas
9.5k
Forks
257
Merge medio
1 d 1 h
PR fusionados (30 d)
2

Preparar el entorno

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.

Más de voidcosmos/npkill

Todos los issues de voidcosmos/npkill

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.