NativeScript / NativeScript/nativescript-cli

Add `console` command to open live REPL on running NativeScript application

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

まだ誰も着手していません。

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

説明

Is your feature request related to a problem? Please describe.

A REPL is a developer's best friend. Sometimes you just want to play with the native JavaScript integration, or do a quick debug session without all the rigamarole of starting up a devtools session. There's nothing quite like it in terms of exploration.

Describe the solution you'd like

Add a console command that fires up a remote node REPL session to Read expressions from the local machine, Evaluate them on the device, and Print them on the local machine.

Build the app, load it onto a device, and startup a new REPL:

$ tns console ios
{N}> UIButton
[Function: UIButton]
{N}> 

or attach to an existing process:

$ tns console android --device UUID
{N}> android.widget.Button
[Function: Button]
{N}> android.widget.Button

Describe alternatives you've considered
You can use the chrome devtools coupled with the the tns debug command. It just doesn't feel as breezy.

Additional context
Node comes with repl tools out of the box that give you pretty fine grained control over where evaluation happens, how completion and history are achieved, etc....

The only thing would be to implement the remote connection to the nativescript app.

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

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

はじめの一歩

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

調査の方向性

Node の REPL ツールと、issue で説明されている既存の tns debug コマンドから始めます。tns console iostns console android --device UUID のエントリポイントを定義し、アプリケーションの起動とアタッチの両方に対応します。ローカルで入力した式がデバイス上で評価され、その結果がローカルの REPL に出力されれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript, node.js
領域
cli, mobile-dev
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
25/100

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

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