0ad/source/tools/lint
Itms 9150c20818
Remove ScriptTypes and ScriptExtraHeaders headers
The first header was used to include the SpiderMonkey JS API at once,
with safeguards and preprocessor defines. Nowadays, SpiderMonkey
provides modular headers allowing us to include what we use, refs #8086.

Some defines have to be moved to compiler options but it is apparently
a mistake from the SM developers:
https://bugzilla.mozilla.org/show_bug.cgi?id=1987876
2025-09-14 13:17:18 +02:00
..
copyright Print all copyright violations at once 2025-07-23 17:19:07 +02:00
cppcheck Remove ScriptTypes and ScriptExtraHeaders headers 2025-09-14 13:17:18 +02:00
jenkinsfiles Add a Jenkinsfile linter 2025-05-08 19:50:21 +02:00
lint.sh Add a Jenkinsfile linter 2025-05-08 19:50:21 +02:00
README.md Add eslint pre-commit hook 2025-05-30 17:30:25 +02:00

Linters

Linters for use in CI or by developers. Also providing configurations for IDEs.

cppcheck

suppression-list

The suppression list is ideally empty, restricting to file scope is preferred.

The format for an error suppression is one of: [error id]:[filename]:[line] [error id]:[filename2] [error id]

libraries

Adding library cfg's for other deps could improve cppchecks ability to find issues.

A linter for checking copyright dates in file headers are up to date.

eslint

For eslint run 'pre-commt run eslint -a'

Installation and IDE integration

Install Node.js and then run 'npm install' in the repo root.

Now you can run eslint as 'npm run-script lint' or if you want eslint to try fix the issues 'npm run-script lint:fix'.

After having installed eslint you might want to add an eslint extension to your editor to get inline warnings and to allow for auto-formatting.