repolinter
repolinter copied to clipboard
Lint function does not accept a git URL
Issue Report
When using repolinter as a dependency, I do not receive the lint.results
Expected Behavior
- To receive all tests passed using default ruleset after running lint.results
- To receive the same results as when running repolinter in bash
GitHub repository used as a model repository tested: Sauce Labs OSPO new project template
Actual Behavior
Receive status: 'NOT_PASSED_ERROR', passed: false
Steps to Reproduce the Issue
- Use repolinter in bash:
repolinter lint -g https://github.com/saucelabs/new-project.git
- Use repolinter as a dependency in a node project
npm i repolinter
- Import it into a file
const repolinter = require('repolinter')
async function main() {
const url = 'https://github.com/saucelabs/new-project.git'
const repolinterConnect = await repolinter.lint(url)
console.log(repolinterConnect.results)
const results = repolinterConnect.results
.filter(r => r.lintResult && !r.lintResult.passed)
.map(r => r.lintResult.message)
// console.log(`In the repo ${url} there are a few missing things: ${results}\n`)
}
main()
- run file
node <file-name>.js
- compare results
This is because the lint
API does not accept a URL, but the CLI does. If you would like to use the lint API on a git repository, I would recommend cloning the repository locally and then using the lint
function on the cloned directory. This functionality is actually implemented in the CLI here: https://github.com/todogroup/repolinter/blob/080524e48d60f211895c3d7271133a4f2f9bf3c4/bin/repolinter.js#L94-L106
Thank you for your super fast feedback! :)