1.1.1 • Published 6 years ago
lint-gitlab-ci v1.1.1
Lint GitLab CI
A module and cli that lints a .gitlab-ci.yml file, using the GitLab ci lint api.
Installing
npm install -g lint-gitlab-ciModule
Basic usage
import lintGitlabCi from "lint-gitlab-ci";
lintGitlabCi().then((result) => {
if (result.isValid) {
console.log("Yay!");
} else {
console.log("Nay!");
}
});Options
import lintGitlabCi, { ILintGitlabCiOptions } from "lint-gitlab-ci";
const options: ILintGitlabCiOptions = {
filePath: "example-ci.yml",
api: {
baseUrl: "https://example.com/api",
version: "exampleVersion",
paths: {
lintCiYml: "example/path",
},
},
};
lintGitlabCi(options).then((result) => {
if (result.isValid) {
console.log("Yay!");
} else {
console.log("Nay!");
}
});Cli
Cli basic usage
lint-gitlab-ciThis will lint a .gitlab-ci.yml file and output any errors.
Specify file
To specify a different ci file, pass the filename as an argument.
lint-gitlab-ci example-ci.ymlCli options
-u, --url
Specifies the GitLab api url to use - defaults to https://gitlab.com/api.
lint-gitlab-ci --url https://example.com/api-a, --api-version
Specifies the GitLab api version to use - defaults to v4.
lint-gitlab-ci --api-version exampleVersion-p, --ci-lint-path
Specifies the GitLab api ci linting path to use - defaults to ci/lint.
lint-gitlab-ci --ci-lint-path example/pathIntegration with husky
Install lint-gitlab-ci and husky.
npm install -D lint-gitlab-ci huskyConfigure husky to run the lint-gitlab-ci cli before committing.
{
"husky": {
"hooks": {
"pre-commit": "lint-gitlab-ci"
}
}
}This will validate the current .gitlab-ci.yml and block the commit if the file is invalid.
Credit
This project started as a TypeScript implementation of this project, but is now a completely new implementation.