1
0
mirror of https://github.com/Minionguyjpro/Inno-Setup-Action synced 2026-02-18 09:31:19 +01:00
Files
inno-setup/.github/linters/eslint.config.js
2025-06-07 19:00:36 +02:00

69 lines
1.7 KiB
JavaScript

import { FlatCompat } from "@eslint/eslintrc";
import path from "path";
import { fileURLToPath } from "url";
import js from "@eslint/js";
import github from "eslint-plugin-github";
import jest from "eslint-plugin-jest";
import babelParser from "@babel/eslint-parser";
import prettier from "eslint-plugin-prettier";
// Make __dirname available
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
// Setup FlatCompat to use legacy shareable configs if needed
const compat = new FlatCompat({
baseDirectory: __dirname,
});
// ESLint flat config expects an array of config objects
export default [
// FlatCompat usage to extend from old-style configs, if needed
...compat.extends("@actions/core"),
// Direct flat config for your JS files
{
files: ["**/*.js", "**/*.mjs", "**/*.cjs"],
ignores: [
"!.*",
"**/node_modules/**",
"**/dist/**",
"**/coverage/**",
"*.json",
],
languageOptions: {
ecmaVersion: 2023,
sourceType: "module",
globals: {
Atomics: "readonly",
SharedArrayBuffer: "readonly",
},
parser: babelParser,
},
plugins: {
github,
jest,
prettier,
},
rules: {
camelcase: "off",
"eslint-comments/no-use": "off",
"eslint-comments/no-unused-disable": "off",
"i18n-text/no-en": "off",
"import/no-commonjs": "error", // Enforce ES modules only
"import/no-namespace": "off",
"no-console": "off",
"no-unused-vars": "off",
"prettier/prettier": "error",
semi: "off",
},
settings: {},
},
// Recommended configs from plugins/libraries
js.configs.recommended,
github.configs.recommended,
jest.configs.recommended,
];