68 lines
1.7 KiB
JavaScript
68 lines
1.7 KiB
JavaScript
module.exports = {
|
|
plugins: ["simple-import-sort", "check-file"],
|
|
extends: ["prettier", "plugin:anti-trojan-source/recommended"],
|
|
ignorePatterns: ["dist"],
|
|
rules: {
|
|
// ### Import
|
|
|
|
"no-restricted-imports": [
|
|
"error",
|
|
{
|
|
patterns: [
|
|
{
|
|
group: ["*/src"],
|
|
message: "Do not directly import packages from the src/ directory."
|
|
}
|
|
]
|
|
}
|
|
],
|
|
|
|
// ### Simple Import Sort
|
|
|
|
"simple-import-sort/imports": "error",
|
|
"simple-import-sort/exports": "error",
|
|
|
|
// ### Check File
|
|
|
|
"check-file/filename-naming-convention": [
|
|
"error",
|
|
{
|
|
"src/**/*.{tsx,ts}": "PASCAL_CASE"
|
|
},
|
|
{
|
|
ignoreMiddleExtensions: true
|
|
}
|
|
]
|
|
},
|
|
overrides: [
|
|
{
|
|
files: ["tests/**/*.ts"],
|
|
rules: {
|
|
"no-restricted-imports": "off"
|
|
}
|
|
},
|
|
{
|
|
files: ["*.ts", "*.tsx"],
|
|
parser: "@typescript-eslint/parser",
|
|
extends: ["plugin:@typescript-eslint/recommended"],
|
|
rules: {
|
|
"@typescript-eslint/no-non-null-assertion": "off",
|
|
"@typescript-eslint/explicit-module-boundary-types": "off",
|
|
"@typescript-eslint/no-empty-function": "off",
|
|
"@typescript-eslint/no-explicit-any": "off",
|
|
"@typescript-eslint/no-use-before-define": "off",
|
|
"@typescript-eslint/no-unused-vars": ["error", { argsIgnorePattern: "^_" }],
|
|
"@typescript-eslint/no-var-requires": "off",
|
|
"@typescript-eslint/prefer-arrow-callback": "off",
|
|
"@typescript-eslint/ban-types": "off"
|
|
}
|
|
},
|
|
{
|
|
files: ["types.d.ts", "main.ts", "mod.ts", "index.ts"],
|
|
rules: {
|
|
"check-file/filename-naming-convention": ["off"]
|
|
}
|
|
}
|
|
]
|
|
};
|