2017-12-18 2 views
2

가 내 package.json에서 다음 NPM 스크립트가 한 괄호 내 NPM 스크립트에을 사용할 수 없습니다.이 스크립트는 유효한 bash 스크립트입니다.NPM 스크립트 구문 오류

I tri 에드를 검색했지만 도움이되는 것을 찾을 수 없었습니다.

도움을 주시면 감사하겠습니다.

감사합니다.

업데이트 : 지금처럼 내 터미널 (맥 OS)에서이 명령을 실행 것으로 보인다

:

bash -c "tslint -c tslint.json src/**/**?(.test).ts?(x)" 

내가 똑같은 오류가 발생합니다.

그러나 나는 다음과 같이 실행하면 : 터미널에서 작동하는 것 같다

bash -c "tslint -c tslint.json src/**/**?\(.test\).ts?\(x\)" 

. 그러나 NPM 스크립트에는 없습니다.

{ 
    "scripts": { 
     "lint": "bash -c \"tslint -c tslint.json 'src/**/**?(.test).ts?(x)'\"", 
    } 
} 

또는

{ 
    "scripts": { 
     "lint": "tslint -c tslint.json 'src/**/**?(.test).ts?(x)'", 
    } 
} 

크레딧 @shellter로 이동 더 간단한 버전 :

는 그렇게 같은 일을 얻었다.

+0

과 같이 그것을 탈출 시도에 도움의 희망 x \)' – TGrif

+0

시도했습니다 ... 여전히 오류가 발생합니다. 나는 또한 bash -c "tslint -c tslint.json src/**/**? \ (. test \). ts? \ (x \)"를 사용하여 이스케이프 처리를하거나하지 않고 시도했다. –

+3

'bash -c "tslint -c tslint.json 'src/**/**? (. test) .ts? (x)'"'? (문제가되는 패턴을 둘러싸고있는 작은 따옴표를 주목하십시오 (가시성을 위해''''''''''사이에 공백을 없애고 싶을 수도 있습니다.) 행운을 빌어 요. – shellter

답변

3

나는 한 번 내 자바 스크립트 파일에 대한 기본적인 문법 체크를 만들기 위해이 스크립트를 썼다 :

#!/usr/bin/env bash 
if [ -x "$(command -v parallel)" ]; then 
    find src/js -name "*.js" | parallel --no-notice --jobs 4 --gnu nodejs -c 
else 
    find src/js -name "*.js" | xargs -L1 -d '\n' nodejs -c 
fi 

이 가능한 경우 평행하게 활용 자바 스크립트 SRC/JS 내에서 파일 및 모든을 보풀이됩니다. 스레드가 더 많은 CPU가있는 경우 스레드 수와 일치하도록 jobs 매개 변수를 늘려야 할 수 있습니다. ?.?`tslint -c tslint.json SRC/**/** \ (. 테스트 \) TS \ (:

나는 이것이 당신

어쩌면
+0

공유 주셔서 감사합니다 :) –