teableio/teable

View on GitHub
renovate.json5

Summary

Maintainability
Test Coverage
/**
 * Renovatebot config and overrides for the monorepo
 *
 * - https://docs.renovatebot.com/configuration-options/
 * - https://docs.renovatebot.com/presets-default/
 */
{
  "extends": ["config:base"],
  "enabled": true,
  "enabledManagers": ["npm", "docker-compose", "dockerfile", "github-actions"],
  "postUpdateOptions": [
    // https://docs.renovatebot.com/configuration-options/#postupdateoptions
    // Will run yarn dedupe --strategy highest
    'yarnDedupeHighest'
  ],
  "packageRules": [
    {
      // Disabled packages, see why in .ncurc.yml
      "enabled": false,
      "matchPackageNames": [
        "is-port-reachable",
        "execa",
      ],
    },
    {
      "groupName": "vitest monorepo",
      "groupSlug": "vitest",
      "matchPackageNames": [
        "vitest",
      ],
      "matchPackagePrefixes": [
        "@vitest/"
      ]
    },
    {
      "groupName": "remix monorepo",
      "groupSlug": "remix",
      "matchPackageNames": [
        "remix",
      ],
      "matchPackagePrefixes": [
        "@remix-run/"
      ]
    },
    {
      "groupName": "pothos monorepo",
      "groupSlug": "pothos",
      "matchPackagePrefixes": [
        "@pothos/"
      ]
    },
    {
      "groupName": "tailwind monorepo",
      "groupSlug": "tailwind",
      "matchPackageNames": [
        "remix",
      ],
      "matchPackagePrefixes": [
        "@tailwindcss/"
      ]
    },
    {
      "groupName": "graphql-mesh monorepo",
      "groupSlug": "graphql-mesh",
      "matchPackagePrefixes": [
        "@graphql-mesh/"
      ]
    },
    {
      "groupName": "cache-interop monorepo",
      "groupSlug": "cache-interop",
      "matchPackageNames": [
        "@httpx/dsn-parser",
        "@soluble/cache-ioredis",
        "@soluble/cache-redis",
        "@soluble/cache-interop"
      ],
    },
    {
      // Root package.json
      "matchPaths": ["package.json"],
      "matchDepTypes": [
        "dependencies",
      ],
      "rangeStrategy": "pin"
    },
    {
      // Will pin dependencies found in apps/*...
      "matchPaths": ["apps/**"],
      "matchDepTypes": [
        "dependencies",
      ],
      "rangeStrategy": "pin"
    },
    {
      // Will preserve semver found in packages/*
      "matchPaths": ["packages/**"],
      "matchDepTypes": [
        "dependencies",
      ],
      "rangeStrategy": "replace"
    },
    {
      // All dev deps
      "matchDepTypes": [
        "devDependencies"
      ],
      "rangeStrategy": "auto"
    }
  ]
}