NativeScript / NativeScript/nativescript-cli

No trace when there's an error in a hook

Abierto
#5,001 0 comentarios 0 reacciones 1 asignado Ver en GitHub

@Fatme ya está trabajando en esto.

Desde el 2/9/2019.

Lenguaje dominante
JavaScript
Estrellas
1.1k
Forks
204
Merge medio
1 d 9 h
PR fusionados (30 d)
8

Descripción

Environment
Provide version numbers for the following components (information can be retrieved by running tns info in your project folder or by inspecting the package.json of the project):

  • CLI: 6.0.3
  • Cross-platform modules: 6.0.7
  • Android Runtime: 6.0.2
  • iOS Runtime: 6.0.2
  • Plugin(s): nativescript-firebase

Describe the bug
If the project is cloned from a git repository and the hooks folder hasn't been generated on this machine (because it was cloned from git), I sometimes get a strange error message without any information where this error occurs when running tns run android.

It looks like this:

[./main.ns.ts] 2.4 KiB {bundle} [built]
    + 617 hidden modules
Webpack compilation complete. Watching for file changes.
Webpack build done!
nativescript-plugin-firebase: building for same environment, not forcing prepare.
Project successfully prepared (android)
Configure firebase
Copy C:\path\to\app\App_Resources\Android\google-services.json to C:\forms\android\app\google-services.json.
Cannot read property 'toLowerCase' of undefined

It is very hard to find out where the error comes from. If I delete my hooks folder, everything works fine.

Maybe you can make a more clear error message and include some information, that the hooks folder has to be deleted.

If I run this command tns run android --log verbose, I can see that the error is in a hook:

Executing after-prepare hook at location C:\path\to\app\hooks\after-p
Validating after-prepare arguments.
Failed during hook execution after-prepare.
Cannot read property 'toLowerCase' of undefined
Error while executing action on device xxx. The error is { Error: Cannot read property 'toLowerCas
    at Errors.fail (C:\Users\someone\AppData\Roaming\npm\node_modules\nativescript\lib\common\errors.js:126
    at Errors.failWithoutHelp (C:\Users\someone\AppData\Roaming\npm\node_modules\nativescript\lib\common\er
    at HooksService.<anonymous> (C:\Users\someone\AppData\Roaming\npm\node_modules\nativescript\lib\common\
    at Generator.throw (<anonymous>)
    at rejected (C:\Users\someone\AppData\Roaming\npm\node_modules\nativescript\lib\common\services\hooks-s
    at processTicksAndRejections (internal/process/next_tick.js:81:5)
  name: 'Exception',
  message: "Cannot read property 'toLowerCase' of undefined",
  stack:
   "Error: Cannot read property 'toLowerCase' of undefined\n    at Errors.fail (C:\\Users\\someone\\AppDataon\\errors.js:126:28)\n    at Errors.failWithoutHelp (C:\\Users\\someone\\AppData\\Roaming\\npm\\node_modul
 at HooksService.<anonymous> (C:\\Users\\someone\\AppData\\Roaming\\npm\\node_modules\\nativescript\\lib\\c  suppressCommandHelp: true,
  proxyAuthenticationRequired: false,
  printOnStdout: undefined,
  deviceIdentifier: 'R58M385EJ6T' }
Cannot read property 'toLowerCase' of undefined
Error: Cannot read property 'toLowerCase' of undefined
    at Errors.fail (C:\Users\someone\AppData\Roaming\npm\node_modules\nativescript\lib\common\errors.js:126:28)
    at DevicesService.<anonymous> (C:\Users\someone\AppData\Roaming\npm\node_modules\nativescript\lib\common\mobile\mobile-core\devices-service.js:371:30)
    at Generator.throw (<anonymous>)
    at rejected (C:\Users\someone\AppData\Roaming\npm\node_modules\nativescript\lib\common\mobile\mobile-core\devices-service.js:11:65)
    at processTicksAndRejections (internal/process/next_tick.js:81:5)

To Reproduce
As the error occurs only sometimes, I attached my hooks folder for testing.

Expected behavior
See a trace, when there's an error in a hook.

hooks.zip

Guía de contribución

Abrir la guía de contribución

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.

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.