#------------------- # DSpace's dependabot rules. Enables npm updates for all dependencies on a weekly basis # for main and any maintenance branches. Security updates only apply to main. #------------------- version: 2 updates: ############### ## Main branch ############### # NOTE: At this time, "security-updates" rules only apply if "target-branch" is unspecified # So, only this first section can include "applies-to: security-updates" - package-ecosystem: "npm" directory: "/" # Monthly dependency updates (NOTE: "schedule" doesn't apply to security updates) schedule: interval: "monthly" time: "05:00" # Allow up to 10 open PRs for dependencies open-pull-requests-limit: 10 # Group together Angular package upgrades groups: # Group together all minor/patch version updates for Angular in a single PR angular: applies-to: version-updates patterns: - "@angular*" - "@ngtools/webpack" update-types: - "minor" - "patch" # Group together all minor/patch version updates for NgRx in a single PR ngrx: applies-to: version-updates patterns: - "@ngrx*" update-types: - "minor" - "patch" # Group together all patch version updates for eslint in a single PR eslint: applies-to: version-updates patterns: - "@typescript-eslint*" - "eslint*" update-types: - "minor" - "patch" # Group together any testing related version updates testing: applies-to: version-updates patterns: - "@cypress*" - "axe-*" - "cypress*" - "jasmine*" - "karma*" - "ng-mocks" update-types: - "minor" - "patch" # Group together any postcss related version updates postcss: applies-to: version-updates patterns: - "postcss*" update-types: - "minor" - "patch" # Group together any sass related version updates sass: applies-to: version-updates patterns: - "sass*" update-types: - "minor" - "patch" # Group together any webpack related version updates webpack: applies-to: version-updates patterns: - "webpack*" update-types: - "minor" - "patch" ignore: # Restrict zone.js updates to patch level to avoid dependency conflicts with @angular/core - dependency-name: "zone.js" update-types: ["version-update:semver-major", "version-update:semver-minor"] # Restrict typescript updates to patch level because that's what our package.json says - dependency-name: "typescript" update-types: ["version-update:semver-major", "version-update:semver-minor"] # Ignore all major version updates for all dependencies. We'll only automate minor/patch updates. - dependency-name: "*" update-types: ["version-update:semver-major"] ##################### ## dspace-9_x branch ##################### - package-ecosystem: "npm" directory: "/" target-branch: dspace-9_x schedule: interval: "monthly" time: "05:00" # Allow up to 10 open PRs for dependencies open-pull-requests-limit: 10 # Group together Angular package upgrades groups: # Group together all patch version updates for Angular in a single PR angular: applies-to: version-updates patterns: - "@angular*" - "@ngtools/webpack" update-types: - "minor" - "patch" # Group together all minor/patch version updates for NgRx in a single PR ngrx: applies-to: version-updates patterns: - "@ngrx*" - "@ngtools/webpack" update-types: - "minor" - "patch" # Group together all patch version updates for eslint in a single PR eslint: applies-to: version-updates patterns: - "@typescript-eslint*" - "eslint*" update-types: - "minor" - "patch" # Group together any testing related version updates testing: applies-to: version-updates patterns: - "@cypress*" - "axe-*" - "cypress*" - "jasmine*" - "karma*" - "ng-mocks" update-types: - "minor" - "patch" # Group together any postcss related version updates postcss: applies-to: version-updates patterns: - "postcss*" update-types: - "minor" - "patch" # Group together any sass related version updates sass: applies-to: version-updates patterns: - "sass*" update-types: - "minor" - "patch" # Group together any webpack related version updates webpack: applies-to: version-updates patterns: - "webpack*" update-types: - "minor" - "patch" ignore: # Restrict zone.js updates to patch level to avoid dependency conflicts with @angular/core - dependency-name: "zone.js" update-types: ["version-update:semver-major", "version-update:semver-minor"] # Restrict typescript updates to patch level because that's what our package.json says - dependency-name: "typescript" update-types: ["version-update:semver-major", "version-update:semver-minor"] # Ignore all major version updates for all dependencies. We'll only automate minor/patch updates. - dependency-name: "*" update-types: ["version-update:semver-major"] ##################### ## dspace-8_x branch ##################### - package-ecosystem: "npm" directory: "/" target-branch: dspace-8_x schedule: interval: "monthly" time: "05:00" # Allow up to 10 open PRs for dependencies open-pull-requests-limit: 10 # Group together Angular package upgrades groups: # Group together all patch version updates for Angular in a single PR angular: applies-to: version-updates patterns: - "@angular*" - "@ngtools/webpack" update-types: - "minor" - "patch" # Group together all minor/patch version updates for NgRx in a single PR ngrx: applies-to: version-updates patterns: - "@ngrx*" update-types: - "minor" - "patch" # Group together all patch version updates for eslint in a single PR eslint: applies-to: version-updates patterns: - "@typescript-eslint*" - "eslint*" update-types: - "minor" - "patch" # Group together any testing related version updates testing: applies-to: version-updates patterns: - "@cypress*" - "axe-*" - "cypress*" - "jasmine*" - "karma*" - "ng-mocks" update-types: - "minor" - "patch" # Group together any postcss related version updates postcss: applies-to: version-updates patterns: - "postcss*" update-types: - "minor" - "patch" # Group together any sass related version updates sass: applies-to: version-updates patterns: - "sass*" update-types: - "minor" - "patch" # Group together any webpack related version updates webpack: applies-to: version-updates patterns: - "webpack*" update-types: - "minor" - "patch" ignore: # Restrict zone.js updates to patch level to avoid dependency conflicts with @angular/core - dependency-name: "zone.js" update-types: ["version-update:semver-major", "version-update:semver-minor"] # Restrict typescript updates to patch level because that's what our package.json says - dependency-name: "typescript" update-types: ["version-update:semver-major", "version-update:semver-minor"] # Ignore all major version updates for all dependencies. We'll only automate minor/patch updates. - dependency-name: "*" update-types: ["version-update:semver-major"] ##################### ## dspace-7_x branch ##################### - package-ecosystem: "npm" directory: "/" target-branch: dspace-7_x schedule: interval: "monthly" time: "05:00" # Allow up to 10 open PRs for dependencies open-pull-requests-limit: 10 # Group together Angular package upgrades groups: # Group together all minor/patch version updates for Angular in a single PR angular: applies-to: version-updates patterns: - "@angular*" - "@ngtools/webpack" update-types: - "minor" - "patch" # Group together all minor/patch version updates for NgRx in a single PR ngrx: applies-to: version-updates patterns: - "@ngrx*" update-types: - "minor" - "patch" # Group together all patch version updates for eslint in a single PR eslint: applies-to: version-updates patterns: - "@typescript-eslint*" - "eslint*" update-types: - "minor" - "patch" # Group together any testing related version updates testing: applies-to: version-updates patterns: - "@cypress*" - "axe-*" - "cypress*" - "jasmine*" - "karma*" - "ng-mocks" update-types: - "minor" - "patch" # Group together any postcss related version updates postcss: applies-to: version-updates patterns: - "postcss*" update-types: - "minor" - "patch" # Group together any sass related version updates sass: applies-to: version-updates patterns: - "sass*" update-types: - "minor" - "patch" ignore: # 7.x Cannot update Webpack past v5.76.1 as later versions not supported by Angular 15 # See also https://github.com/DSpace/dspace-angular/pull/3283#issuecomment-2372488489 - dependency-name: "webpack" # Restrict zone.js updates to patch level to avoid dependency conflicts with @angular/core - dependency-name: "zone.js" update-types: ["version-update:semver-major", "version-update:semver-minor"] # Restrict typescript updates to patch level because that's what our package.json says - dependency-name: "typescript" update-types: ["version-update:semver-major", "version-update:semver-minor"] # Ignore all major version updates for all dependencies. We'll only automate minor/patch updates. - dependency-name: "*" update-types: ["version-update:semver-major"]