I’m a final year student of Computer Engineering at International Institute of Information Technology, Bhubaneswar. I worked on coala project during my summer to improve the generic bear quality. I implemented few new bears (plugins) to improving the overall usability of coala. I also worked on autopep8 and coala’s package manager giving them few more features to work with.
Repository | Link to PR/s | Description | |
c | cEPs | View | cEP-0031: Improve Generic Bear Quality |
c | coala | View | Add |
c | coala-bears | View | bears/general: Add FileModeBear |
c | coala-bears | View | bears/general: Add OutdatedDependencyBear |
c | coala-bears | View | bears/general: Add RegexLintBear |
c | coala-bears | View | bears/python: Add RequirementsCheckBear |
c | coala-bears | View | IndentationBear: Ignore doc comments |
d | dependency_management | View | Add |
require_files_not_empty
and
require_files_for_each_glob
which are responsible to check for the files
setting to not evaluate empty and to require at least one file match for each
glob in files
.get_latest_version
(currently only for PipRequirement and NpmRequirement) to
fetch the latest version for the given package.It was a great learning experience. I was able to work in my favourite parts of coala, the coala-bears. Most of the bears I implemented were long due and they weren’t having a good stable algorithm for them to work. Finding these details was quite challenging. Getting something like OutdatedDependencyBear to work was especially very tough. Getting everything to work while maintaining a full coverage provided a good learning experience for me.
The first task is to get all the PRs merged. This might take some time since a lot of CI failures on coala repositories. Apart from that some of the implementation details might need changes as per the reviews received on the PRs.
MarkdownBear currently doesn’t emit the issues with the patches and it reduces the usability of the bear. Currently, there is stable fix for this issue due to the architecture of remark-lint tool. Although, in future this might change and the bear would also need to be updated.
The OutdatedDependencyBear currently doesn’t support the npm requirements and this needs a further development in the solution already present for pip requirement type. The overall architecture of the bear can be improved massively if coala’s package manager becomes much more featured that it is today.