If you have a file named same as default export, why do you need to name this export?
You don't. That's why you are linking to a linter rule - it's not required, but considered "best practice" by some, because
Ensuring that default exports are named helps improve the grepability of the codebase by encouraging the re-use of the same identifier for the module's default export at its declaration site and at its import sites.
Basically, people think that if you have
export default () => { console.log('Hello'); }
people are more likely to do
import logHello from 'sayHello'; // file one
import greeting from 'sayHello'; // file two
import sayHello from 'sayHello'; // file three
but that if you do
const sayHello = () => {
console.log('Hello');
}
export default sayHello
people will more consistently do
import sayHello from 'sayHello';
which makes the code easier to read, because the same function is called the same thing no matter where you import it from.
When you ask
how can I force it?
I am assuming you mean how can you force the linter to accept your anonymous default export? You would either need to inline disable the rule:
/* eslint import/no-anonymous-default-export: [2, {"allowArrowFunction": true}] */
export default () => {}
or update your eslint config to accept it in general.