Support for Android / Termux (`process.platform === 'android' `)
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
- Área
- cli, operating-systems
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
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de voidcosmos/npkill
-
Dificultad 3/5 1-2 días Aptitud para principiantes 56/100
voidcosmos/npkill#263 ·
-
Invalid count valueAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 52/100
voidcosmos/npkill#258 ·
-
delete by --older-than flagPosiblemente ocupada @Shreyakb301 la tomó hace 14 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 64/100
voidcosmos/npkill#257 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
voidcosmos/npkill#220 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 38/100
voidcosmos/npkill#199 · 1 comentario · 1 reacción ·
Todos los issues de voidcosmos/npkill
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
apache/rocketmq-dashboard#6872 ·
Los mantenedores suelen responder en 3 días
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
fab-geocommuns/RNB-site#539 ·
Los mantenedores suelen responder en 2 días
-
Guest multiview tile label leaks raw virtual-source-id "Whip" instead of the guest name / slot labelAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Eyevinn/open-live-studio#211 ·
Los mantenedores suelen responder en 1 día
-
documentation good first issue
Dificultad 2/5 Medio día Aptitud para principiantes 72/100
sujithputta02/Esapay#13 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
ehmpathy/rhachet-roles-bhuild#468 ·
Los mantenedores suelen responder en 1 día