Skip to main content
Glama
.mega-linter.ymlโ€ข10.9 kB
--- # MegaLinter Configuration for GCP BigQuery MCP Server # Comprehensive security and code quality configuration for 2025 standards # https://megalinter.io/latest/configuration/ # ============================================================================ # GENERAL SETTINGS # ============================================================================ # Use JavaScript flavor for optimized Docker image size FLAVOR_SUGGESTIONS: false SHOW_ELAPSED_TIME: true FILEIO_REPORTER: true PRINT_ALPACA: false PRINT_ALL_FILES: true # Parallel execution for faster runs PARALLEL: true # Apply fixes automatically (can be overridden in CI) APPLY_FIXES: all APPLY_FIXES_EVENT: all APPLY_FIXES_MODE: commit # ============================================================================ # LINTER ACTIVATION # ============================================================================ # Enable specific linter categories ENABLE: - JAVASCRIPT - TYPESCRIPT - JSON - YAML - MARKDOWN - DOCKERFILE - TERRAFORM - SPELL - COPYPASTE # Disable linters not needed for this project DISABLE: - PHP - PYTHON - RUBY - GO - RUST - JAVA - KOTLIN - SCALA - C - CPP - CSHARP - SWIFT - GROOVY - LUA - PERL - POWERSHELL - R - SALESFORCE - SQL # Disable generic SQL (we use BigQuery-specific) - HTML - CSS - ENV # ============================================================================ # JAVASCRIPT & TYPESCRIPT CONFIGURATION # ============================================================================ # ESLint - Use existing .eslintrc.cjs configuration JAVASCRIPT_ES_LINTER: eslint JAVASCRIPT_ES_FILE_EXTENSIONS: [".js", ".jsx", ".cjs", ".mjs"] JAVASCRIPT_ES_FILTER_REGEX_INCLUDE: "(src|tests)/.*\\.js$" JAVASCRIPT_ES_FILTER_REGEX_EXCLUDE: "(node_modules|dist|build|coverage)/.*" JAVASCRIPT_ES_CONFIG_FILE: .eslintrc.cjs JAVASCRIPT_ES_DISABLE_ERRORS: false # Prettier - JavaScript/TypeScript formatting JAVASCRIPT_PRETTIER_LINTER: prettier JAVASCRIPT_PRETTIER_FILE_EXTENSIONS: [".js", ".jsx", ".ts", ".tsx", ".json", ".yml", ".yaml", ".md"] JAVASCRIPT_PRETTIER_FILTER_REGEX_EXCLUDE: "(node_modules|dist|build|coverage|package-lock.json)/.*" JAVASCRIPT_PRETTIER_ARGUMENTS: --check JAVASCRIPT_PRETTIER_DISABLE_ERRORS: false # TypeScript ESLint TYPESCRIPT_ES_LINTER: eslint TYPESCRIPT_ES_FILE_EXTENSIONS: [".ts", ".tsx"] TYPESCRIPT_ES_FILTER_REGEX_INCLUDE: "(src|tests)/.*\\.ts$" TYPESCRIPT_ES_FILTER_REGEX_EXCLUDE: "(node_modules|dist|build|coverage)/.*" TYPESCRIPT_ES_CONFIG_FILE: .eslintrc.cjs TYPESCRIPT_ES_DISABLE_ERRORS: false # ============================================================================ # DOCKERFILE LINTING # ============================================================================ DOCKERFILE_HADOLINT_LINTER: hadolint DOCKERFILE_HADOLINT_ARGUMENTS: - --failure-threshold - warning - --no-fail DOCKERFILE_HADOLINT_FILTER_REGEX_INCLUDE: "(Dockerfile|.*\\.dockerfile)$" DOCKERFILE_HADOLINT_DISABLE_ERRORS: false DOCKERFILE_HADOLINT_RULES_PATH: .hadolint.yaml # ============================================================================ # TERRAFORM CONFIGURATION # ============================================================================ # TFLint - Terraform linting TERRAFORM_TFLINT_LINTER: tflint TERRAFORM_TFLINT_FILE_EXTENSIONS: [".tf"] TERRAFORM_TFLINT_FILTER_REGEX_INCLUDE: "terraform/.*\\.tf$" TERRAFORM_TFLINT_ARGUMENTS: --config .tflint.hcl TERRAFORM_TFLINT_DISABLE_ERRORS: false # Checkov - Infrastructure security scanning TERRAFORM_CHECKOV_LINTER: checkov TERRAFORM_CHECKOV_FILE_EXTENSIONS: [".tf"] TERRAFORM_CHECKOV_FILTER_REGEX_INCLUDE: "terraform/.*\\.tf$" TERRAFORM_CHECKOV_ARGUMENTS: - --framework - terraform - --compact - --quiet TERRAFORM_CHECKOV_DISABLE_ERRORS: false # TFSec - Terraform security scanner TERRAFORM_TFSEC_LINTER: tfsec TERRAFORM_TFSEC_FILE_EXTENSIONS: [".tf"] TERRAFORM_TFSEC_FILTER_REGEX_INCLUDE: "terraform/.*" TERRAFORM_TFSEC_ARGUMENTS: - --soft-fail - --format - json TERRAFORM_TFSEC_DISABLE_ERRORS: true # Terraform fmt TERRAFORM_TERRAFORM_FMT_LINTER: terraform-fmt TERRAFORM_TERRAFORM_FMT_ARGUMENTS: - fmt - -check - -recursive TERRAFORM_TERRAFORM_FMT_DISABLE_ERRORS: false # ============================================================================ # JSON & YAML VALIDATION # ============================================================================ # JSON validation JSON_JSONLINT_LINTER: jsonlint JSON_JSONLINT_FILE_EXTENSIONS: [".json"] JSON_JSONLINT_FILTER_REGEX_EXCLUDE: "(node_modules|dist|coverage|package-lock.json)/.*" JSON_JSONLINT_DISABLE_ERRORS: false # Prettier for JSON JSON_PRETTIER_LINTER: prettier JSON_PRETTIER_FILE_EXTENSIONS: [".json"] JSON_PRETTIER_FILTER_REGEX_EXCLUDE: "(node_modules|dist|coverage|package-lock.json)/.*" JSON_PRETTIER_ARGUMENTS: --check JSON_PRETTIER_DISABLE_ERRORS: false # V8R - JSON schema validator JSON_V8R_LINTER: v8r JSON_V8R_FILE_EXTENSIONS: [".json"] JSON_V8R_FILTER_REGEX_EXCLUDE: "(node_modules|dist|coverage|package-lock.json)/.*" JSON_V8R_DISABLE_ERRORS: true # YAML validation YAML_YAMLLINT_LINTER: yamllint YAML_YAMLLINT_FILE_EXTENSIONS: [".yml", ".yaml"] YAML_YAMLLINT_FILTER_REGEX_EXCLUDE: "(node_modules|dist)/.*" YAML_YAMLLINT_CONFIG_FILE: .yamllint.yml YAML_YAMLLINT_DISABLE_ERRORS: false # Prettier for YAML YAML_PRETTIER_LINTER: prettier YAML_PRETTIER_FILE_EXTENSIONS: [".yml", ".yaml"] YAML_PRETTIER_FILTER_REGEX_EXCLUDE: "(node_modules|dist)/.*" YAML_PRETTIER_ARGUMENTS: --check YAML_PRETTIER_DISABLE_ERRORS: false # ============================================================================ # MARKDOWN LINTING # ============================================================================ MARKDOWN_MARKDOWNLINT_LINTER: markdownlint MARKDOWN_MARKDOWNLINT_FILE_EXTENSIONS: [".md", ".markdown"] MARKDOWN_MARKDOWNLINT_FILTER_REGEX_EXCLUDE: "(node_modules|dist|CHANGELOG)/.*" MARKDOWN_MARKDOWNLINT_CONFIG_FILE: .markdownlint.json MARKDOWN_MARKDOWNLINT_DISABLE_ERRORS: true MARKDOWN_MARKDOWN_LINK_CHECK_LINTER: markdown-link-check MARKDOWN_MARKDOWN_LINK_CHECK_DISABLE_ERRORS: true MARKDOWN_MARKDOWN_TABLE_FORMATTER_LINTER: markdown-table-formatter MARKDOWN_MARKDOWN_TABLE_FORMATTER_DISABLE_ERRORS: true # ============================================================================ # SPELL CHECKING # ============================================================================ SPELL_CSPELL_LINTER: cspell SPELL_CSPELL_FILE_EXTENSIONS: [".ts", ".js", ".md", ".txt", ".json", ".yaml", ".yml"] SPELL_CSPELL_FILTER_REGEX_EXCLUDE: "(node_modules|dist|coverage|package-lock.json)/.*" SPELL_CSPELL_CONFIG_FILE: .cspell.json SPELL_CSPELL_DISABLE_ERRORS: true # Misspell - Fast spell checker SPELL_MISSPELL_LINTER: misspell SPELL_MISSPELL_DISABLE_ERRORS: true # ============================================================================ # COPY-PASTE DETECTION # ============================================================================ COPYPASTE_JSCPD_LINTER: jscpd COPYPASTE_JSCPD_CONFIG_FILE: .jscpd.json COPYPASTE_JSCPD_DISABLE_ERRORS: true # ============================================================================ # FILE/DIRECTORY EXCLUSIONS # ============================================================================ # Exclude patterns (regex) FILTER_REGEX_EXCLUDE: |- (node_modules|dist|build|coverage|\.terraform|\.git|\.github|\.vscode|\.idea|\.next|\.cache|logs|tmp)/.* |package-lock\.json |npm-audit-report\.json |.*\.lock |.*\.min\.js |.*\.min\.css |.*\.map # Include only source and configuration files FILTER_REGEX_INCLUDE: |- (src|tests|docs|examples|terraform|deployment|\.github)/.* |(Dockerfile|\..*rc|\..*rc\.[a-z]+|.*\.config\.[a-z]+|tsconfig\.json|package\.json)$ # ============================================================================ # REPORTING CONFIGURATION # ============================================================================ # Enable multiple reporters FORMATTERS_DISABLE_ERRORS: true # File-based reporters FILEIO_REPORTER: true TEXT_REPORTER: true JSON_REPORTER: true SARIF_REPORTER: true MARKDOWN_REPORTER: true CONSOLE_REPORTER: true # GitHub integration GITHUB_COMMENT_REPORTER: true GITHUB_STATUS_REPORTER: true UPDATED_SOURCES_REPORTER: true # Report output directory REPORT_OUTPUT_FOLDER: megalinter-reports # ============================================================================ # PERFORMANCE OPTIMIZATION # ============================================================================ # Increase performance with caching PLUGINS: - https://raw.githubusercontent.com/oxsecurity/megalinter/main/TEMPLATES/mega-linter-plugin-cache/mega-linter-plugin-cache.sh # Validate only changed files in PRs VALIDATE_ALL_CODEBASE: false # Override in CI for main branch pushes # Skip files that haven't changed SKIP_CLI_LINT_MODES: - file - project # ============================================================================ # SECURITY CONFIGURATION # ============================================================================ # Fail on security issues FAIL_IF_MISSING_LINTER_IN_FLAVOR: false DISABLE_ERRORS: false # Security-specific settings SECURED_ENV_VARIABLES: - GCP_PROJECT_ID - GCP_WIF_PROVIDER - GCP_SA_EMAIL - GITHUB_TOKEN # ============================================================================ # PRE-COMMANDS & POST-COMMANDS # ============================================================================ # Pre-commands to run before linting PRE_COMMANDS: - command: npm ci cwd: workspace continue_if_failed: true - command: | echo "::group::Environment Info" echo "Node version: $(node --version)" echo "NPM version: $(npm --version)" echo "Git branch: $(git branch --show-current)" echo "::endgroup::" cwd: workspace continue_if_failed: true # Post-commands to run after linting POST_COMMANDS: - command: | echo "::group::MegaLinter Summary" if [ -f megalinter-reports/megalinter-report.txt ]; then cat megalinter-reports/megalinter-report.txt fi echo "::endgroup::" cwd: workspace continue_if_failed: true - command: npm audit --json > megalinter-reports/npm-audit.json || true cwd: workspace continue_if_failed: true # ============================================================================ # CUSTOM LINTER CONFIGURATIONS # ============================================================================ # Additional configuration files to be created in separate files: # - .hadolint.yaml (Dockerfile linting rules) # - .tflint.hcl (Terraform linting rules) # - .yamllint.yml (YAML linting rules) # - .markdownlint.json (Markdown linting rules) # - .cspell.json (Spell checking dictionary) # - .jscpd.json (Copy-paste detection config) # - .prettierrc (Prettier formatting rules) # - .prettierignore (Prettier ignore patterns)

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/erayguner/db-mcp'

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