non-zero exit codes for npm run-script build?
Created by: weisjohn
When I try to npm run-script build
, if the process fails, I would expect it to return a non-zero exit code. Example:
john at Johns-MacBook-Pro-4 in ~/mysrc/weisjohn/scratch/test/hello-world
$ npm run-script build
> hello-world@0.0.1 build /Users/john/mysrc/weisjohn/scratch/test/hello-world
> react-scripts build
Failed to create a production build. Reason:
Module build failed: SyntaxError: /Users/john/mysrc/weisjohn/scratch/test/hello-world/src/App.js: Identifier directly after number (5:2)
3 | import './App.css';
4 |
> 5 | 10x;
| ^
6 |
7 | class App extends Component {
8 | render() {
at Parser.pp.raise (/Users/john/mysrc/weisjohn/scratch/test/hello-world/node_modules/react-scripts/node_modules/babylon/lib/parser/location.js:22:13)
at Parser.readNumber (/Users/john/mysrc/weisjohn/scratch/test/hello-world/node_modules/react-scripts/node_modules/babylon/lib/tokenizer/index.js:674:78)
at Parser.getTokenFromCode (/Users/john/mysrc/weisjohn/scratch/test/hello-world/node_modules/react-scripts/node_modules/babylon/lib/tokenizer/index.js:516:23)
at Parser.readToken (/Users/john/mysrc/weisjohn/scratch/test/hello-world/node_modules/react-scripts/node_modules/babylon/lib/tokenizer/index.js:180:21)
at Parser.<anonymous> (/Users/john/mysrc/weisjohn/scratch/test/hello-world/node_modules/react-scripts/node_modules/babylon/lib/plugins/jsx/index.js:51:20)
at Parser.readToken (/Users/john/mysrc/weisjohn/scratch/test/hello-world/node_modules/react-scripts/node_modules/babylon/lib/plugins/flow.js:170:22)
at Parser.nextToken (/Users/john/mysrc/weisjohn/scratch/test/hello-world/node_modules/react-scripts/node_modules/babylon/lib/tokenizer/index.js:169:21)
at Parser.next (/Users/john/mysrc/weisjohn/scratch/test/hello-world/node_modules/react-scripts/node_modules/babylon/lib/tokenizer/index.js:81:12)
at Parser.eat (/Users/john/mysrc/weisjohn/scratch/test/hello-world/node_modules/react-scripts/node_modules/babylon/lib/tokenizer/index.js:90:14)
at Parser.pp.isLineTerminator (/Users/john/mysrc/weisjohn/scratch/test/hello-world/node_modules/react-scripts/node_modules/babylon/lib/parser/util.js:69:15)
at Parser.pp.semicolon (/Users/john/mysrc/weisjohn/scratch/test/hello-world/node_modules/react-scripts/node_modules/babylon/lib/parser/util.js:76:13)
at Parser.pp.parseImport (/Users/john/mysrc/weisjohn/scratch/test/hello-world/node_modules/react-scripts/node_modules/babylon/lib/parser/statement.js:1011:8)
at Parser.pp.parseStatement (/Users/john/mysrc/weisjohn/scratch/test/hello-world/node_modules/react-scripts/node_modules/babylon/lib/parser/statement.js:141:56)
at Parser.parseStatement (/Users/john/mysrc/weisjohn/scratch/test/hello-world/node_modules/react-scripts/node_modules/babylon/lib/plugins/flow.js:30:22)
at Parser.pp.parseBlockBody (/Users/john/mysrc/weisjohn/scratch/test/hello-world/node_modules/react-scripts/node_modules/babylon/lib/parser/statement.js:529:21)
at Parser.pp.parseTopLevel (/Users/john/mysrc/weisjohn/scratch/test/hello-world/node_modules/react-scripts/node_modules/babylon/lib/parser/statement.js:36:8)
john at Johns-MacBook-Pro-4 in ~/mysrc/weisjohn/scratch/test/hello-world
$ echo $?
0
One of the reasons I want this is to utilize npm run-script build
in a pre-commit hook as follows:
#!/bin/sh
# Exit at first failure
set -e
npm run-script build