-
-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: migrate to FlatConfig
#64
base: master
Are you sure you want to change the base?
Conversation
package.json
Outdated
"@eslint/js": "^9.10.0", | ||
"eslint-plugin-n": "^17.10.3", | ||
"globals": "^15.9.0", | ||
"typescript-eslint": "^8.6.0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since we are creating new presets, it is a good chance for us to add a few more presets. E.g. we could add https://www.npmjs.com/package/eslint-plugin-mocha since almost all Hexo repos use mocha.
Note that we might need to disable a few rules (E.g. mocha/no-mocha-arrows
since we all use arrow functions).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
need "type": "module",
or name js file to mjs
Oops! Something went wrong! :(
ESLint: 9.11.1
/home/user/eslint-config-hexo/eslint.js:1
import nodePlugin from 'eslint-plugin-n';
^^^^^^
SyntaxError: Cannot use import statement outside a module
at internalCompileFunction (node:internal/vm:77:18)
at wrapSafe (node:internal/modules/cjs/loader:1288:20)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Then keep using const = require
then. In the ESLint world, CommonJS is still the first-class citizen.
FlatConfig
FlatConfig
@hexojs/core Thanks :) |
Tested in hexojs/hexo-renderer-marked#306 |
Some tests failed here: hexojs/hexo#5599 |
Coverage collection has failed, but all other tests have passed. The eslint changes are unrelated to the test results. |
|
||
const mochaConfig = { | ||
...mochaPlugin.configs.flat.recommended, | ||
rules: { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this will overwrite the rules
in mochaPlugin.configs.flat.recommended
, please make sure this meets your expectations
@@ -1,9 +1,29 @@ | |||
module.exports = { | |||
extends: './eslint.js', | |||
const eslint = require('./eslint.js'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Such naming may be confusing
Refs: #55
check list
Add test cases for the changes.Passed the CI test.Usage