Library for converting output of tsc --noEmit command to the gitlab ci codeclimate format, and filter unwanted entries.
This library can be installed from the NPM package registry. Depending on your use case it might be better to install this package globally (if you want to run these commands from your continuous integration server for example)
Using NPM:
npm install typescript-gitlab-format
or Yarn
yarn add typescript-gitlab-format
From the command line you can run this command
(./node_modules/.bin/tsc --project ./tsconfig.json --noEmit || true) | ./node_modules/.bin/typescript-gitlab-format -e [exclude regex] > build-logs/typescript-error.json
There is one optional command line argument:
short arg | long arg | effect |
---|---|---|
-e | --exclude | the javascript regex to determine which entries get excluded |
Passing along the -e or --exclude flag will exclude entries within the typescript output based on filepaths that match the given regular expression.
A check is performed using standard javascript regexp: RegExp(..passes argument..).test(..tsc filepath..)
.
If this function returns true the file is skipped.
Given tsc output that produces errors in these files:
node_modules/example/example.d.ts
example/example.d.ts
Running this command:
(./node_modules/.bin/tsc --project ./tsconfig.json --noEmit || true) | ./node_modules/.bin/typescript-gitlab-format -e "node_modules\\/" > build-logs/typescript-error.json
Will result in a file with these rules:
[
{
"categories": [
"Compatibility"
],
"check_name": "TS7006",
"description": " Parameter 'node' implicitly has an 'any' type.\n",
"location": {
"path": "example/example.d.ts",
"positions": {
"begin": {
"column": 22,
"line": 296
},
"end": {
"column": 22,
"line": 296
}
}
},
"severity": "major",
"type": "issue"
}
]
This project adheres to Semantic Versioning.
Contributions to this project are more than welcome.
This project is released under the MIT license.
This package is Treeware. If you use it in production, then we'd appreciate it if you buy the world a tree to thank us for our work. By contributing to the Treeware forest you'll be creating employment for local families and restoring wildlife habitats.
Made with love, coffee and fun by the Moxio team from Delft, The Netherlands. Interested in joining our awesome team? Check out our vacancies (in Dutch).