All Projects → teppeis → renovate-config

teppeis / renovate-config

Licence: other
My shareable config for @renovateapp

Projects that are alternatives of or similar to renovate-config

renovate-config
A shareable config preset for Renovate used in Hatena.
Stars: ✭ 36 (+28.57%)
Mutual labels:  renovate
eslint-define-config
Provide a defineConfig function for .eslintrc.js files
Stars: ✭ 61 (+117.86%)
Mutual labels:  config
Config
PHP library for simple configuration management
Stars: ✭ 39 (+39.29%)
Mutual labels:  config
neovim-config
Modern NeoVim config for IDE-like development
Stars: ✭ 89 (+217.86%)
Mutual labels:  config
eslint-config-hardcore
The most strict (yet practical) ESLint config. 34 plugins. 1047 rules.
Stars: ✭ 168 (+500%)
Mutual labels:  config
dotfiles
My personal app/env configs and dotfiles.
Stars: ✭ 27 (-3.57%)
Mutual labels:  config
config
Bunch of scripts that keep me productive
Stars: ✭ 29 (+3.57%)
Mutual labels:  config
curator
Config curator is CLI tool for installing static configuration files.
Stars: ✭ 29 (+3.57%)
Mutual labels:  config
k3s-gitops
GitOps principles to define kubernetes cluster state via code
Stars: ✭ 103 (+267.86%)
Mutual labels:  renovate
yaask
Make your yaml configurable with interactive configurations!
Stars: ✭ 15 (-46.43%)
Mutual labels:  config
bem-sdk
BEM SDK packages
Stars: ✭ 83 (+196.43%)
Mutual labels:  config
okty-config
Configuration repository of the simplest application to create docker projects
Stars: ✭ 13 (-53.57%)
Mutual labels:  config
goodconf
Transparently load variables from environment or JSON/YAML file.
Stars: ✭ 80 (+185.71%)
Mutual labels:  config
profig
Powerful configuration management for Scala (JSON, properties, command-line arguments, and environment variables)
Stars: ✭ 25 (-10.71%)
Mutual labels:  config
rubric
Linter Config Initializer for Python
Stars: ✭ 21 (-25%)
Mutual labels:  config
Slim-Config
A file configuration loader that supports PHP, INI, XML, JSON, and YML files for the Slim Framework. It internally uses https://github.com/hassankhan/config.
Stars: ✭ 28 (+0%)
Mutual labels:  config
panzerlop
Configuration Guides for fixing things in Linux, Proton & KDE
Stars: ✭ 23 (-17.86%)
Mutual labels:  config
smallrye-config
SmallRye Config - A Java Configuration library
Stars: ✭ 74 (+164.29%)
Mutual labels:  config
play-rconf
Remote configuration for Play Framework
Stars: ✭ 17 (-39.29%)
Mutual labels:  config
rails-settings-cached
Global settings for your Rails application.
Stars: ✭ 940 (+3257.14%)
Mutual labels:  config

@teppeis/renovate-config

My shareable config for Renovate

npm version build status dependency status License

Setup

Enable Renovate in your repo and just extends in renovate.json.

{
  "extends": ["github>teppeis/renovate-config"] // or ["github>teppeis/renovate-config:anytime"]
}

Note: You don't have to do npm i -D @teppeis/renovate-config. Renovate fetches it from this GitHub repo automatically.

Presets

github>teppeis/renovate-config (default)

General

  • Ignore node_modules, bower_components, and various test/tests directories
  • Apply label renovate to PRs
  • Limit to maximum 10 concurrent Renovate PRs at any time
  • Wait until branch tests have passed or failed before creating the PR
  • If semantic commits detected, use semantic commit type fix for deps and peerDeps, chore for all others
  • Use Asia/Tokyo timezone
  • Group preset monorepo packages together

for npm

  • Automerge patch upgrades if they pass tests
  • Make no updates to branches when not scheduled
  • Separate major, minor and patch releases of dependencies into individual branches/PRs
  • Set a status check to warn when upgrades < 24 hours old might get unpublished
  • Run npm dedupe after package-lock.json updates
  • Disable major upgrade of @types/node
  • Run following schedule: after 9pm and before 9am
  • Upgrade semver ranges to latest version even if latest version satisfies existing range.
  • Group ESLint, ESLint configs, ESLint plugins and Prettier together
  • Automerge minor updates of widely used libraries like mocha in devDeps

for lock file maintenance

  • Run following schedule: before 3am on the first day of the month

for Docker digests in CirleCI config.yml

  • Pin docker images with sha256 digest
  • Automerge with push the new commit directly to base branch (w/o PR)
  • Use ci(docker): as semantic commit type
  • Run following schedule: before 9am on Friday
  • Group all versions of Node.js images (node and circleci/node)

for engines field in package.json

  • disabled
{
  "extends": [
    ":ignoreModulesAndTests",
    ":label(renovate)",
    ":prConcurrentLimit10",
    ":prNotPending",
    ":timezone(Asia/Tokyo)",
    "group:monorepos"
  ],
  "npm": {
    "extends": [
      ":automergePatch",
      ":noUnscheduledUpdates",
      ":separatePatchReleases",
      "npm:unpublishSafe",
      "helpers:disableTypesNodeMajor",
      "local>teppeis/renovate-config:semanticPrefixFixDepsPeerChoreOthers"
    ],
    "schedule": ["after 9pm", "before 9am"],
    "rangeStrategy": "bump",
    "postUpdateOptions": ["npmDedupe"],
    "lockFileMaintenance": {
      "enabled": true,
      "schedule": ["before 3am on the first day of the month"]
    },
    "packageRules": [
      {
        "groupName": "ESLint and Prettier",
        "matchPackageNames": ["eslint", "prettier"],
        "matchPackagePatterns": ["^eslint-config-", "^eslint-plugin-"]
      },
      {
        "description": "automerge minor updates of widely used libraries in devDeps",
        "matchUpdateTypes": ["minor"],
        "matchDepTypes": ["devDependencies"],
        "automerge": true,
        "matchPackageNames": [
          "glob",
          "mocha",
          "npm-run-all",
          "power-assert",
          "rimraf",
          "sinon"
        ]
      },
      {
        "description": "disable package.json > engines update",
        "matchDepTypes": ["engines"],
        "enabled": false
      }
    ]
  },
  "circleci": {
    "enabled": true,
    "automerge": true,
    "automergeType": "branch",
    "schedule": ["before 9am on Friday"],
    "semanticCommitScope": "docker",
    "semanticCommitType": "ci",
    "pinDigests": true,
    "packageRules": [
      {
        "groupName": "Node Docker digests in CircleCI",
        "matchPackageNames": ["circleci/node", "node"]
      }
    ]
  }
}

github>teppeis/renovate-config:anytime

  • Run Renovate at any time
{
  "extends": ["local>teppeis/renovate-config"],
  "npm": {
    "schedule": "at any time"
  },
  "lockFileMaintenance": {
    "schedule": "at any time"
  },
  "circleci": {
    "schedule": "at any time"
  }
}

github>teppeis/renovate-config:semanticPrefixFixDepsPeerChoreOthers

If semantic commits detected, use semantic commit type fix for dependencies and peerDependencies, chore for all others

"semanticPrefixFixDepsPeerChoreOthers": {
  "packageRules": [
    {
      "matchPackagePatterns": [
        "*"
      ],
      "semanticCommitType": "chore"
    },
    {
      "matchDepTypes": [
        "dependencies",
        "peerDependencies"
      ],
      "semanticCommitType": "fix"
    }
  ]
}

References

License

MIT License: Teppei Sato <[email protected]>

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].