NativeScript / NativeScript/nativescript-cli

No trace when there's an error in a hook

Open
#5,001 0 comments 0 reactions 1 assignee View on GitHub

@Fatme is already working on this.

Since Sep 2, 2019.

Dominant language
JavaScript
Stars
1.1k
Forks
204
Avg merge
1d 9h
Merged PRs (30d)
8

Description

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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.