2017-12-20 10 views
0

私は私のリポジトリのURLが定義されている:私は私のレポにプッシュするスクリプトを定義しようとしていますは私のpackage.jsonファイルで、いつものように

{ 
    repository: { 
     type: "git", 
     url: "http://my.git.repo" 
    } 
} 

タグをプッシュします。通常、このようなものは、トリックだろう:

{ 
    "scripts": { 
     "push": "git push origin && git push origin --tags" 
    } 
} 

を私たちは、プル要求と協力し、私たちのためにoriginが私たちのプライベートなフォークです。 publicは通常はパブリックリポジトリですが、これは信頼できません。私は私のプッシュスクリプトは、常に公共のレポにプッシュする:

{ 
    "scripts": { 
     "push": "git push http://my.git.repo && git push http://my.git.repo --tags" 
    } 
} 

が、これは、レポのURLを複製したときに、人々は、彼らがすべての3ヶ所でURLを更新するのを忘れます。この種のプロジェクトをコピーが含まれます。

{ 
    "scripts": { 
     "push": "git push $npm_package_repository_url && git push $npm_package_repository_url --tags" 
    } 
} 

このWebページに基づいて:私はすでに、私はこの線に沿って何かを試してみました

package.jsonに指定されているレポのURLを参照したいhttps://docs.npmjs.com/misc/scripts#packagejson-varsが、それはdoesnの仕事。

感謝

+0

ためRobCのおかげ構文は '$ npm_package_repository_url'は、Mac OS X/Linuxの(bashの)上で正常に動作します、しかし'%npm_package_repository_url% 'Windowsのために必要です。クロススクリプト(https://www.npmjs.com/package/cross-var)を利用して、1つのスクリプト構文(「$ npm_package_repository_url」)がクロスプラットフォームで動作するようにすることができます。 – RobC

答えて

0

$npm_package_repository_urlは、Mac OS X/Linuxの(bashの)上で正常に動作します構文は、しかし%npm_package_repository_url%は、Windowsのために必要とされます。 cross-varを利用して、1つのスクリプト構文($npm_package_repository_url)をクロスプラットフォームで使用できるようにすることができます。

この

関連する問題