NativeScript / NativeScript/nativescript-cli

No trace when there's an error in a hook

Aberta
#5,001 0 comentários 0 reações 1 responsável Ver no GitHub

@Fatme já está trabalhando nisso.

Desde 2/9/2019.

Linguagem predominante
JavaScript
Estrelas
1.1k
Forks
204
Merge médio
1d 9h
PRs com merge (30d)
8

Descrição

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

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.