NativeScript / NativeScript/nativescript-cli
`tns plugin add` fails when tns-android key is missing in package.json of the app
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- JavaScript
- Estrellas
- 1.1k
- Forks
- 204
- Merge medio
- 1 d 9 h
- PR fusionados (30 d)
- 8
Descripción
Did you verify this is a real problem by searching
Yes, here.
Tell us about the problem
I do a lot of plugin development ;-) I tend to do
tns plugin add ../src or tns plugin add pluginname-1.0.0.tgz
All of these will cause nativescript to throw a error
TypeError: Cannot read property 'version' of undefined
at PluginsService.getInstalledFrameworkVersion (/usr/local/lib/node_modules/nativescript/lib/services/plugins-service.js:261:29)
at PluginsService.isPluginDataValidForPlatform (/usr/local/lib/node_modules/nativescript/lib/services/plugins-service.js:265:48)
at PluginsService.<anonymous> (/usr/local/lib/node_modules/nativescript/lib/services/plugins-service.js:57:26)
at next (native)
at /usr/local/lib/node_modules/nativescript/lib/services/plugins-service.js:7:71
at __awaiter (/usr/local/lib/node_modules/nativescript/lib/services/plugins-service.js:3:12)
at action (/usr/local/lib/node_modules/nativescript/lib/services/plugins-service.js:56:83)
at PluginsService.<anonymous> (/usr/local/lib/node_modules/nativescript/lib/services/plugins-service.js:253:27)
at next (native)
at /usr/local/lib/node_modules/nativescript/lib/services/plugins-service.js:7:71
The issue is inserted in the package.json: "nativescript-pluginname": "file:<path to dir>",
When you attempt to get version numbers, "file:....." doesn't match and causes the above error.
Which platform(s) does your issue occur on?
Both
Please provide the following version numbers that your issue occurs with:
At least since TNS 3.0, still happening in 3.2
Please tell us how to recreate the issue in as much detail as possible.
tns plugin add ../src from a demo folder
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.
Línea de trabajo
Comienza en lib/services/plugins-service.js, especialmente en PluginsService.getInstalledFrameworkVersion e isPluginDataValidForPlatform, y luego reprodúcelo con tns plugin add ../src desde una aplicación de demostración. Sigue cómo se gestiona la dependencia file: cuando el package.json de la aplicación no contiene una clave tns-android. Se considera terminado cuando añadir plugins desde directorios locales y tarballs ya no provoca el error undefined-version en ninguna de las dos plataformas.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- javascript
- Área
- cli
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100