111 lines
2.6 KiB
TypeScript
111 lines
2.6 KiB
TypeScript
import type { DummyRuleMap } from "oxlint";
|
|
|
|
const MAX_DEPTH = 4_294_967_295;
|
|
|
|
const importRules: DummyRuleMap = {
|
|
"import/consistent-type-specifier-style": ["deny", "prefer-top-level"],
|
|
"import/default": "deny",
|
|
"import/export": "deny",
|
|
"import/exports-last": "deny",
|
|
"import/extensions": [
|
|
"deny",
|
|
"always",
|
|
{
|
|
checkTypeImports: true,
|
|
ignorePackages: true,
|
|
},
|
|
],
|
|
"import/first": ["deny", "absolute-first"],
|
|
"import/group-exports": "deny",
|
|
"import/max-dependencies": "allow",
|
|
"import/named": "deny",
|
|
"import/namespace": [
|
|
"deny",
|
|
{
|
|
allowComputed: false,
|
|
},
|
|
],
|
|
"import/no-absolute-path": [
|
|
"deny",
|
|
{
|
|
amd: false,
|
|
commonjs: true,
|
|
esmodule: true,
|
|
},
|
|
],
|
|
"import/no-amd": "deny",
|
|
"import/no-anonymous-default-export": [
|
|
"deny",
|
|
{
|
|
allowAnonymousClass: false,
|
|
allowAnonymousFunction: false,
|
|
allowArray: false,
|
|
allowArrowFunction: false,
|
|
allowCallExpression: false,
|
|
allowLiteral: false,
|
|
allowNew: false,
|
|
allowObject: false,
|
|
},
|
|
],
|
|
"import/no-commonjs": [
|
|
"deny",
|
|
{
|
|
allowConditionalRequire: false,
|
|
allowPrimitiveModules: false,
|
|
allowRequire: false,
|
|
},
|
|
],
|
|
"import/no-cycle": [
|
|
"deny",
|
|
{
|
|
allowUnsafeDynamicCyclicDependency: false,
|
|
ignoreExternal: false,
|
|
ignoreTypes: true,
|
|
maxDepth: MAX_DEPTH,
|
|
},
|
|
],
|
|
// J'aime les exports par défaut.
|
|
"import/no-default-export": "allow",
|
|
"import/no-duplicates": [
|
|
"deny",
|
|
{
|
|
considerQueryString: true,
|
|
preferInline: false,
|
|
},
|
|
],
|
|
"import/no-dynamic-require": [
|
|
"deny",
|
|
{
|
|
esmodule: true,
|
|
},
|
|
],
|
|
"import/no-empty-named-blocks": "deny",
|
|
"import/no-mutable-exports": "deny",
|
|
"import/no-named-as-default": "deny",
|
|
"import/no-named-as-default-member": "deny",
|
|
"import/no-named-default": "deny",
|
|
/**
|
|
* Prohibit named exports.
|
|
*
|
|
* Named exports require strict identifier matching and can lead to fragile imports, while default exports enforce a
|
|
* single, consistent module entry point.
|
|
*
|
|
* Activer cette règle empêche l'existence de multiples exports au sein d'un module.
|
|
*/
|
|
"import/no-named-export": "allow",
|
|
"import/no-namespace": "deny",
|
|
"import/no-nodejs-modules": "allow",
|
|
"import/no-relative-parent-imports": "allow",
|
|
"import/no-self-import": "deny",
|
|
"import/no-unassigned-import": "deny",
|
|
"import/no-webpack-loader-syntax": "deny",
|
|
"import/prefer-default-export": [
|
|
"deny",
|
|
{
|
|
target: "single",
|
|
},
|
|
],
|
|
"import/unambiguous": "deny",
|
|
};
|
|
|
|
export default importRules;
|