exiftool-vendored
Version:
Efficient, cross-platform access to ExifTool
54 lines (52 loc) • 1.43 kB
JavaScript
// eslint.config.mjs
import eslint from "@eslint/js";
import globals from "globals";
import tseslint from "typescript-eslint";
export default tseslint.config(
{
ignores: ["dist/", "node_modules/", "**/*.d.ts", "coverage/", "docs/"],
},
eslint.configs.recommended,
...tseslint.configs.recommended,
...tseslint.configs.strict,
{
files: ["src/**/*.ts"],
languageOptions: {
parser: tseslint.parser,
parserOptions: {
project: "./tsconfig.json",
ecmaVersion: "latest",
sourceType: "module",
},
globals: globals.node,
},
rules: {
// Enable strict rules for main library code
"@typescript-eslint/no-explicit-any": "error",
"@typescript-eslint/no-unused-vars": [
"error",
{ argsIgnorePattern: "^_" },
],
"@typescript-eslint/prefer-nullish-coalescing": "error",
"@typescript-eslint/prefer-optional-chain": "error",
},
},
{
files: ["src/**/*.spec.ts", "src/update/**/*.ts"],
rules: {
// Relax rules for test files and build scripts
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-unused-expressions": "off",
"@typescript-eslint/no-non-null-assertion": "off",
},
},
{
files: ["**/*.js", "**/*.mjs"],
languageOptions: {
globals: globals.node,
},
rules: {
"@typescript-eslint/no-require-imports": "off",
},
},
);