Problem
Currently, the codeql extension requires consumers to explicitly list languages not supported by
CodeQL in their configuration under codeql.languages. This means every consumer (e.g. modg) has
to maintain their own list of excluded languages, which is:
- Duplicated effort — every consumer must independently research and enumerate languages CodeQL
cannot analyse.
- Fragile — if CodeQL adds or removes language support, every consumer config must be updated
manually.
- Misplaced knowledge — the set of languages CodeQL does not support is a fact about CodeQL
itself, not about the consumer's environment.
Example of what we currently have to configure:
codeql:
languages: # excluded languages - not supported by CodeQL
- yaml
- dockerfile
- shell
- hcl
- makefile
- gherkin
- mustache
- go template
- smarty
- bru
- mermaid
- clean
Proposed solution
Move the list of languages not supported by CodeQL into the extension itself. The extension should automatically skip these languages when checking CodeQL coverage,
without requiring any configuration from consumers.
Expected outcome
- Consumers do not need to list CodeQL-unsupported languages in their config.
- The extension maintains a single source of truth for which languages CodeQL supports.
- Consumer configs become simpler and less error-prone.
References
Problem
Currently, the
codeqlextension requires consumers to explicitly list languages not supported byCodeQL in their configuration under
codeql.languages. This means every consumer (e.g. modg) hasto maintain their own list of excluded languages, which is:
cannot analyse.
manually.
itself, not about the consumer's environment.
Example of what we currently have to configure:
Proposed solution
Move the list of languages not supported by CodeQL into the extension itself. The extension should automatically skip these languages when checking CodeQL coverage,
without requiring any configuration from consumers.
Expected outcome
References
CodeqlConfiginsrc/odg/extensions_cfg.py