Run the ESLint static analysis tool on any code that is submitted, to
find possible bugs such as undefined functions and variables. We may
want to adjust the ESLint settings over time, but this seems like a
good start.
This is merged into the previous check-translations.yml action, because
that's also a form of linting. Possibly that could be reimplemented as
an ESLint plugin.
This also runs the tests for contextlink, which I think we previously
never ran. I don't see any other packages that define an `npm test`
command. Having to manually list all the sub-package test directories in
the top-level package.json is a bit unfortunate, but it works.
For Puter itself we support Node 16.x IIRC, but Phoenix requires at
least 20.x currently.
Related to #214; added additional architectures which may or may not work. I'd rather someone find out it doesn't work then for them to be blocked from even trying.
Checks the following:
- Translation files are valid JS
- Each translation file is registered in translations.js
- Each translation's code matches its name
- Translation dictionaries only contain keys that exist in the English
translation.