- [2b395b9f] Fix command to lint markdown in `CONTRIBUTING.md` - [fed4c86c] Re-activate JSDoc ESLint plugin and fix linting issues (As far as I remember, we deactivated it when we upgraded to ESLint 9 because it was not compatible with it. But its now.) - [a3d2064b] Refactor ESLint config to use `defineConfig` and `globalIgnores` ([these are like new defaults](https://eslint.org/blog/2025/03/flat-config-extends-define-config-global-ignores/)) - [a3d2064b] Replace `eslint-plugin-import` with `eslint-plugin-import-x` (https://github.com/es-tooling/module-replacements/blob/main/docs/modules/eslint-plugin-import.md) - [86a185b6] Switch Stylelint config to flat format and simplify Stylelint scripts (like we already did for ESLint and prettier) - [f5a2c541] Fix some typos
1.3 KiB
Contribution Policy for MagicMirror²
Thanks for contributing to MagicMirror²!
We hold our code to standard, and these standards are documented below.
Linters
We use prettier for automatic formatting a lot all our files. The configuration is in our prettier.config.mjs
file.
To run prettier, use node --run lint:prettier
.
JavaScript: Run ESLint
We use ESLint to lint our JavaScript files. The configuration is in our eslint.config.mjs
file.
To run ESLint, use node --run lint:js
.
CSS: Run StyleLint
We use StyleLint to lint our CSS. The configuration is in our stylelint.config.mjs
file.
To run StyleLint, use node --run lint:css
.
Markdown: Run markdownlint
We use markdownlint-cli2 to lint our markdown files. The configuration is in our .markdownlint.json
file.
To run markdownlint, use node --run lint:markdown
.
Testing
We use Jest for JavaScript testing.
To run all tests, use node --run test
.
The specific test commands are defined in package.json
.
So you can also run the specific tests with other commands, e.g. node --run test:unit
or npx jest tests/e2e/env_spec.js
.