{
  $schema: 'https://docs.renovatebot.com/renovate-schema.json',
  extends: ['config:recommended', 'schedule:weekly', 'group:allNonMajor'],
  labels: ['dependencies'],
  ignorePaths: ['**/__tests__/**'],
  rangeStrategy: 'bump',
  packageRules: [
    {
      matchDepTypes: ['peerDependencies'],
      enabled: false,
    },
    {
      groupName: 'test',
      matchPackageNames: ['vitest', 'jsdom', 'puppeteer', '@vitest{/,}**'],
    },
    {
      groupName: 'playground',
      matchFileNames: [
        'packages-private/sfc-playground/package.json',
        'packages-private/template-explorer/package.json',
      ],
    },
    {
      groupName: 'compiler',
      matchPackageNames: ['magic-string', '@babel{/,}**', 'postcss{/,}**'],
    },
    {
      groupName: 'build',
      matchPackageNames: [
        'vite',
        '@swc/core',
        'rollup{/,}**',
        'esbuild{/,}**',
        '@rollup{/,}**',
        '@vitejs{/,}**',
      ],
    },
    {
      groupName: 'lint',
      matchPackageNames: [
        'simple-git-hooks',
        'lint-staged',
        'typescript-eslint{/,}**',
        'eslint{/,}**',
        'prettier{/,}**',
      ],
    },
  ],
  ignoreDeps: [
    'vue',

    // manually bumping
    'node',
    'typescript',

    // ESM only
    'estree-walker',

    // pinned
    // https://github.com/vuejs/core/issues/10300#issuecomment-1940855364
    'lru-cache',

    // pinned
    // https://github.com/vuejs/core/commit/a012e39b373f1b6918e5c89856e8f902e1bfa14d
    '@rollup/plugin-replace',

    // pinned
    // only used in example for e2e tests
    'marked',

    // pinned, 5.0+ has exports issues
    // https://github.com/vuejs/core/issues/11603
    'entities',
  ],
}
