NativeScript / NativeScript/nativescript-cli

No trace when there's an error in a hook

オープン
#5,001 コメント 0 件 リアクション 0 件 担当者 1 名 GitHub で見る

@Fatme がすでに取り組んでいます。

2019年9月2日 から。

主要言語
JavaScript
スター
1.1k
フォーク
204
平均マージ
1日 9時間
マージ済み PR(30日)
8

説明

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

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。