Skip to content

Moxio/typescript-gitlab-format

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Continuous Integration NPM version

typescript-gitlab-format

Library for converting output of tsc --noEmit command to the gitlab ci codeclimate format, and filter unwanted entries.

Installation

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

Usage

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

Provided filters

-e --exclude

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.

example

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"
	}
]

Versioning

This project adheres to Semantic Versioning.

Contributing

Contributions to this project are more than welcome.

License

This project is released under the MIT license.

Treeware

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).