2017-12-31 82 views
1

avaを実行するnpmスクリプトを作成しようとしていますが、すべてが成功した場合、別の(deploy)コマンドが実行されます。すべてのavaテストが成功した場合にのみコマンドを実行します。

avaテストの結果をjsで取得する方法と、ファイルにパイプした後のコマンドを使用する方法はどちらですか?

目的の機能は次のようになります。AVAを実行し、すべてが渡された場合(どちらかの終了コードによって決定または出力を解析する)でしょう

npm run safe-deploy 

は、別のCLIコマンドを実行します。

誰もこれを前にやったことがありますか?もしそうなら、それに取り組む最も適切な方法は何ですか?

答えて

1

最も簡単なことは、bash &&演算子を使用することです。詳細はthis answerをご覧ください。

それはあなたが望むものです:最初のコマンドが正常に実行された場合にのみ、2番目のコマンドを実行します。

たとえば、npm testnpm run deployの2つがある場合は、&&と組み合わせてsafe-deployコマンドを作成できます。

deployコマンドは、テストが合格である場合にのみ実行されます。ここで

はあなたが持つことができ、最小限のpackage.jsonです:

enter image description here

場合のテストで

{ 
 
    "name": "ava-safe-deploy", 
 
    "version": "1.0.0", 
 
    "main": "index.js", 
 
    "scripts": { 
 
    "test": "ava", 
 
    "deploy": "echo 'deployed successfully!'", 
 
    "safe-deploy": "npm test && npm run deploy" 
 
    }, 
 
    "license": "ISC", 
 
    "devDependencies": { 
 
    "ava": "^0.25.0" 
 
    } 
 
}

はあなたが定期的にavaエラーメッセージが表示されます失敗しています

関連する問題