Skip to main content
Glama
j0hanz

PromptTuner MCP

by j0hanz
eslint.config.mjs5.21 kB
import eslint from '@eslint/js'; import eslintConfigPrettier from 'eslint-config-prettier'; import unusedImports from 'eslint-plugin-unused-imports'; import { defineConfig } from 'eslint/config'; import tseslint from 'typescript-eslint'; export default defineConfig( { ignores: ['dist', 'node_modules', '*.config.mjs', '*.config.js'], }, eslint.configs.recommended, { files: ['src/**/*.ts'], extends: [ tseslint.configs.strictTypeChecked, tseslint.configs.stylisticTypeChecked, ], languageOptions: { ecmaVersion: 2022, sourceType: 'module', parserOptions: { projectService: true, tsconfigRootDir: import.meta.dirname, }, }, plugins: { 'unused-imports': unusedImports, }, rules: { 'unused-imports/no-unused-imports': 'error', 'unused-imports/no-unused-vars': [ 'warn', { vars: 'all', varsIgnorePattern: '^_', args: 'after-used', argsIgnorePattern: '^_', }, ], '@typescript-eslint/consistent-type-assertions': [ 'error', { assertionStyle: 'as', objectLiteralTypeAssertions: 'allow-as-parameter', }, ], '@typescript-eslint/consistent-type-imports': [ 'error', { prefer: 'type-imports', fixStyle: 'inline-type-imports', disallowTypeAnnotations: true, }, ], '@typescript-eslint/consistent-type-exports': [ 'error', { fixMixedExportsWithInlineTypeSpecifier: true }, ], '@typescript-eslint/explicit-function-return-type': [ 'error', { allowExpressions: true, allowTypedFunctionExpressions: true, allowHigherOrderFunctions: true, allowDirectConstAssertionInArrowFunctions: true, }, ], '@typescript-eslint/explicit-member-accessibility': [ 'error', { accessibility: 'no-public' }, ], '@typescript-eslint/naming-convention': [ 'error', { selector: 'default', format: ['camelCase'], leadingUnderscore: 'allow', trailingUnderscore: 'forbid', }, { selector: 'variable', format: ['camelCase', 'UPPER_CASE', 'PascalCase'], leadingUnderscore: 'allow', }, { selector: 'typeLike', format: ['PascalCase'], }, { selector: 'enumMember', format: ['PascalCase', 'UPPER_CASE'], }, { selector: 'property', format: null, }, { selector: 'import', format: ['camelCase', 'PascalCase'], }, ], '@typescript-eslint/no-non-null-assertion': 'warn', '@typescript-eslint/prefer-namespace-keyword': 'error', '@typescript-eslint/prefer-nullish-coalescing': 'error', '@typescript-eslint/prefer-optional-chain': 'error', '@typescript-eslint/require-array-sort-compare': [ 'error', { ignoreStringArrays: true }, ], '@typescript-eslint/restrict-template-expressions': [ 'error', { allowNumber: true, allowBoolean: false, allowAny: false, allowNullish: false, }, ], '@typescript-eslint/no-unnecessary-boolean-literal-compare': 'error', '@typescript-eslint/no-unnecessary-type-arguments': 'error', '@typescript-eslint/no-unnecessary-condition': 'error', '@typescript-eslint/prefer-includes': 'error', '@typescript-eslint/prefer-string-starts-ends-with': 'error', '@typescript-eslint/prefer-for-of': 'error', '@typescript-eslint/require-await': 'error', '@typescript-eslint/no-floating-promises': 'error', '@typescript-eslint/no-for-in-array': 'error', '@typescript-eslint/no-implied-eval': 'error', '@typescript-eslint/no-misused-new': 'error', '@typescript-eslint/no-misused-promises': [ 'error', { checksVoidReturn: { arguments: false } }, ], '@typescript-eslint/only-throw-error': 'error', 'prefer-arrow-callback': 'error', 'prefer-const': 'error', 'no-var': 'error', 'object-shorthand': ['error', 'always'], 'prefer-destructuring': [ 'warn', { array: false, object: true, }, ], 'prefer-template': 'error', 'no-useless-computed-key': 'error', 'no-useless-constructor': 'off', '@typescript-eslint/no-useless-constructor': 'error', 'no-duplicate-imports': 'off', 'comma-dangle': 'off', '@typescript-eslint/no-empty-function': [ 'error', { allow: ['arrowFunctions'] }, ], '@typescript-eslint/no-explicit-any': 'error', '@typescript-eslint/ban-ts-comment': [ 'error', { 'ts-expect-error': 'allow-with-description', 'ts-ignore': 'allow-with-description', 'ts-nocheck': true, 'ts-check': false, minimumDescriptionLength: 10, }, ], }, }, eslintConfigPrettier );

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/j0hanz/prompt-tuner-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server