No trace when there's an error in a hook

未關閉
#5,001 0 則留言 0 個 reaction 已指派 1 人 在 GitHub 檢視

@Fatme 已經在處理了。

開始於 2019年9月2日。

評估

這個 Issue 還沒有評估資料。

描述

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

主要語言
JavaScript
星號
1.1k
分支
204
平均合併
1 天 9 小時
30 天內合併 PR
8

貢獻指南

開啟貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

NativeScript/nativescript-cli 的其他 Issue

查看 NativeScript/nativescript-cli 的全部 Issue

相似的 Issue

更多 JavaScript Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。