# This file will create many PRs, one for each example.
# From what I can tell, we are forced into approaching it this way
# because of the many workspace roots.

version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/examples/basic"
    schedule:
      interval: "weekly"
    labels:
      - "area: examples"
    open-pull-requests-limit: 1
    pull-request-branch-name:
      separator: "-"
    versioning-strategy: "increase"
    allow:
      - dependency-type: "direct"
    assignees:
      - "anthonyshew"
    groups:
      basic:
        patterns:
          - "*"
        update-types:
          - "minor"

  - package-ecosystem: "npm"
    directory: "/examples/kitchen-sink"
    schedule:
      interval: "weekly"
    labels:
      - "area: examples"
    open-pull-requests-limit: 1
    pull-request-branch-name:
      separator: "-"
    versioning-strategy: "increase"
    allow:
      - dependency-type: "direct"
    assignees:
      - "anthonyshew"
    groups:
      kitchen-sink:
        patterns:
          - "*"
        update-types:
          - "minor"
    ignore:
      # Types are just...broken?
      - dependency-name: "express"
      - dependency-name: "@types/express"
      # Remix is messed up in npm
      - dependency-name: "@remix-run/node"
      - dependency-name: "@remix-run/react"
      - dependency-name: "@remix-run/server-runtime"
      - dependency-name: "@remix-run/dev"
      - dependency-name: "react"
      - dependency-name: "react-dom"
      - dependency-name: "@types/react"
      - dependency-name: "@types/react-dom"
      # TODO: Investigate why upgrading breaks admin:build
      - dependency-name: "bunchee"
      # We can't upgrade versions of this due to npm
      - dependency-name: "vite"

  - package-ecosystem: "npm"
    directory: "/examples/non-monorepo"
    schedule:
      interval: "weekly"
    labels:
      - "area: examples"
    open-pull-requests-limit: 1
    pull-request-branch-name:
      separator: "-"
    versioning-strategy: "increase"
    allow:
      - dependency-type: "direct"
    assignees:
      - "anthonyshew"
    groups:
      non-monorepo:
        patterns:
          - "*"
        update-types:
          - "minor"

  - package-ecosystem: "npm"
    directory: "/examples/with-shell-commands"
    schedule:
      interval: "weekly"
    labels:
      - "area: examples"
    open-pull-requests-limit: 1
    pull-request-branch-name:
      separator: "-"
    versioning-strategy: "increase"
    allow:
      - dependency-type: "direct"
    assignees:
      - "anthonyshew"
    groups:
      with-shell-commands:
        patterns:
          - "*"
        update-types:
          - "minor"

  - package-ecosystem: "npm"
    directory: "/examples/with-svelte"
    schedule:
      interval: "weekly"
    labels:
      - "area: examples"
    open-pull-requests-limit: 1
    pull-request-branch-name:
      separator: "-"
    versioning-strategy: "increase"
    allow:
      - dependency-type: "direct"
    assignees:
      - "anthonyshew"
    groups:
      with-svelte:
        patterns:
          - "*"
        update-types:
          - "minor"

  - package-ecosystem: "npm"
    directory: "/examples/with-tailwind"
    schedule:
      interval: "weekly"
    labels:
      - "area: examples"
    open-pull-requests-limit: 1
    pull-request-branch-name:
      separator: "-"
    versioning-strategy: "increase"
    allow:
      - dependency-type: "direct"
    assignees:
      - "anthonyshew"
    groups:
      with-tailwind:
        patterns:
          - "*"
        update-types:
          - "minor"
