@nx-squeezer/renovate
TypeScript icon, indicating that this package has built-in type declarations

3.1.5 • Public • Published

@nx-squeezer/renovate

CI npm latest version CHANGELOG codecov compodoc renovate semantic-release

Tools to setup Renovate in Nx or Angular monorepos, check the documentation to see all available features.

Setup

npm install --save-dev @nx-squeezer/renovate

Generators

Setup Renovate

nx g @nx-squeezer/renovate:setup

Shareable config preset for Renovate. Angular and Nx dependencies require post upgrade tasks, then Renovate must be configured as self-hosted, an easy way to do it would be with Github Action Renovate.

You can find an example configuration here and GitHub workflow here.

For Nx projects it is recommended to use the default preset for Nx monorepos.

This generator will:

  • Configure Renovate to run self-hosted by creating a GitHub Workflow Action.
  • Upgrade the CI workflow to run on Renovate branches.
  • Add badge to README.md.

Options:

  • Force overwriting of configuration with --force (default false).
  • Use Nx Cloud --useNxCloud (default true).
  • Use local presets --local (default false). This option is not recommended, instead it is better to rely on pointing to the configuration in the nx-squeezer/squeezer GitHub repo to always count with the latest version. Use local presets only if you want to customize them.
  • Provide the assignee for Renovate PRs with --assignee=github-user.

Presets:

Default Preset

This preset includes all presets included in this repo except for Nx, Angular workspaces, and tooling preset they have to be added manually:

"extends": ["github>@nx-squeezer/squeezer"]
Nx Monorepo

This preset groups all dependencies related to Nx and Angular, including upgrade schematics:

"extends": ["github>@nx-squeezer/squeezer:nxMonorepo"]

It is incompatible with preset "github>@nx-squeezer/squeezer:angularWorkspace", choose one or another.

Angular Workspace

This preset groups all dependencies related to Angular, including upgrade schematics:

"extends": ["github>@nx-squeezer/squeezer:angularWorkspace"]

It is incompatible with preset "github>@nx-squeezer/squeezer:nxMonorepo", choose one or another.

Group All Non Major

This preset groups all non-major npm dependencies, including bump dependencies:

"extends": ["github>@nx-squeezer/squeezer:groupAllNonMajor"]
Tooling

This preset groups all dependencies related to linting and formatting:

"extends": ["github>@nx-squeezer/squeezer:tooling"]

Examples:

  • chore(deps): :arrow_up: update dependency
  • fix(deps): :lock: refresh package-lock.json
  • fix(deps): :arrow_down: roll back dependency
GitHub Workflow Actions

This preset groups all dependencies related to Github actions:

"extends": ["github>@nx-squeezer/squeezer:githubActions"]
Gitmoji Conventional Commits

This preset adds a ✨ gitmoji ✨ to the commit message:

"extends": ["github>@nx-squeezer/squeezer:gitmoji"]
NPM

This preset updates node and npm only to LTS versions.

"extends": ["github>@nx-squeezer/squeezer:npm"]
Maintenance

This preset configures maintenance of package-lock.json file as a separate PR.

"extends": ["github>@nx-squeezer/squeezer:maintenance"]
Widen Range for Library Dependencies

This preset causes Renovate to not update libraries' package.json, only the root package.json will be updated for minor and patch versions. This has the purpose of keeping libraries with a wider compatibility range, within the last major version. This is the recommended configuration for library authors.

"extends": ["github>@nx-squeezer/squeezer:widenRangeLibraryDeps"]

Contributors

contributors

Package Sidebar

Install

npm i @nx-squeezer/renovate

Weekly Downloads

11

Version

3.1.5

License

MIT

Unpacked Size

45.8 kB

Total Files

47

Last publish

Collaborators

  • samuel.fernandez