UNPKG

@dataroadinc/setup-auth

Version:

CLI tool and programmatic API for automated OAuth setup across cloud platforms

125 lines (117 loc) 3.29 kB
// eslint.config.mjs import { dirname } from "path" import { fileURLToPath } from "url" import js from "@eslint/js" import typescript from "@typescript-eslint/eslint-plugin" import tsParser from "@typescript-eslint/parser" import prettier from "eslint-config-prettier" import globals from "globals" const __filename = fileURLToPath(import.meta.url) const __dirname = dirname(__filename) export default [ // Base JavaScript configuration js.configs.recommended, // TypeScript configuration for source files { files: ["src/**/*.ts"], ignores: [ "src/**/*.test.ts", "src/**/*.int.test.ts", "src/utils/vercel/**/*.ts", ], plugins: { "@typescript-eslint": typescript, }, languageOptions: { parser: tsParser, globals: { ...globals.node, }, parserOptions: { project: ["./tsconfig.json"], tsconfigRootDir: __dirname, ecmaVersion: "latest", sourceType: "module", }, }, rules: { ...typescript.configs.recommended.rules, "@typescript-eslint/no-explicit-any": "error", "@typescript-eslint/explicit-function-return-type": "error", "no-unused-vars": "off", "@typescript-eslint/no-unused-vars": "error", "no-undef": "error", "no-useless-escape": "error", }, }, // TypeScript configuration for Vercel API files (temporarily allow any types) { files: ["src/utils/vercel/**/*.ts"], plugins: { "@typescript-eslint": typescript, }, languageOptions: { parser: tsParser, globals: { ...globals.node, }, parserOptions: { project: ["./tsconfig.json"], tsconfigRootDir: __dirname, ecmaVersion: "latest", sourceType: "module", }, }, rules: { ...typescript.configs.recommended.rules, "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/explicit-function-return-type": "error", "no-unused-vars": "off", "@typescript-eslint/no-unused-vars": "error", "no-undef": "error", "no-useless-escape": "error", }, }, // TypeScript configuration for test files (Vitest) { files: ["src/**/*.test.ts", "src/**/*.int.test.ts"], plugins: { "@typescript-eslint": typescript, }, languageOptions: { parser: tsParser, globals: { ...globals.node, describe: "readonly", it: "readonly", test: "readonly", expect: "readonly", beforeEach: "readonly", afterEach: "readonly", beforeAll: "readonly", afterAll: "readonly", }, parserOptions: { project: ["./tsconfig.json"], tsconfigRootDir: __dirname, ecmaVersion: "latest", sourceType: "module", }, }, rules: { ...typescript.configs.recommended.rules, "@typescript-eslint/no-explicit-any": "warn", "@typescript-eslint/explicit-function-return-type": "off", "no-unused-vars": "off", "@typescript-eslint/no-unused-vars": "warn", "no-undef": "error", "no-useless-escape": "error", }, }, // Ignore patterns { ignores: ["dist/", "build/", "node_modules/", ".idea/", ".tmp/"], }, // Prettier configuration prettier, ]