An ESLint plugin to ensure GitHub dependencies in package.json contain a commit hash.
To use this ESLint plugin, install it as a development dependency:
npm install eslint-plugin-github-commit-hash --save-dev
Add github-commit-hash to the plugins section of your ESLint configuration file (e.g., .eslintrc.js):
module.exports = { plugins: [ 'github-commit-hash', ], overrides: [ { files: ['package.json'], parser: 'jsonc-eslint-parser', rules: { 'github-commit-hash/check-git-commit-hash': 'error', }, }, ], };
This configuration will enable the rule that checks for commit hashes in GitHub dependencies within your package.json file.
This rule checks that all GitHub dependencies in your package.json file include a commit hash.
{
"dependencies": {
"@example/test": "github:example/test#123456"
}
}{
"devDependencies": {
"@example/test": "github:example/test#abcd1234"
}
}{
"dependencies": {
"@example/test": "github:example/test"
}
}{
"devDependencies": {
"@example/test": "github:example/test"
}
}Clone the repository and install the dependencies:
git clone https://github.com/JustSamuel/eslint-plugin-github-commit-hash.git
cd eslint-plugin-github-commit-hash
npm installCompile the TypeScript code:
npm run build
Run the tests to ensure your code works as expected:
npm run testContributions are welcome! Please feel free to submit a pull request or open an issue if you have any suggestions or improvements.
This plugin was developed using the excellent jsonc-eslint-parser package and with great inspiration from eslint-plugin-package-json. I would be delighted if this would one day find its way into eslint-plugin-package-json itself.