Skip to content

Releases: QuiiBz/sherif

v0.7.0

23 Dec 08:33
Compare
Choose a tag to compare

Skipping autofix for multiple-dependency-versions rule

When running Sherif with --fix, the multiple-dependency-versions asks to choose a version to use across the monorepo. If you're not sure yet which version you need, you can now choose to skip it by pressing "Escape":

Screenshot 2023-12-23 at 09 33 21

Allow folder path and globs for --ignore-package option

It's now even easier to ignore a specific package, either by its name or path, or all packages matching a specific name or path:

# Ignore all issues in the `@repo/tools` package
sherif -p @repo/tools
# Ignore all issues for packages name matching `@repo-internal/*`
sherif -p @repo-internal/*
# Ignore all issues in the package inside `./integrations/react`
sherif -p ./integrations/react
# Ignore all issues for packages inside `./integrations/*`
sherif -p ./integrations/*

What's Changed

  • feat(multiple-dependency-versions): allow skipping autofix by @QuiiBz in #42
  • fix: packages resolution when workspace path is at root by @QuiiBz in #44
  • feat: allow paths and globs for --ignore-package by @QuiiBz in #47

Full Changelog: v0.6.1...v0.7.0

v0.6.0

25 Nov 16:07
Compare
Choose a tag to compare

Autofix for multiple-dependency-versions

When running Sherif with --fix, the multiple-dependency-versions rule will ask you which version to use by showing all the ones currently declared in the monorepo. The selected version will then automatically be updated in every package using this dependency:

Screenshot 2023-11-25 at 17 06 43

Fix root-package-manager-field

The check to show this rule was checking the presence of the private field instead of the packageManager field of the root package.

What's Changed

  • fix(root-package-manager-field): wrong detection by @QuiiBz in #32
  • feat: autofix multiple-dependency-versions by @QuiiBz in #33
  • feat: disallow --fix in CI by @QuiiBz in #35

Full Changelog: v0.5.0...v0.6.0

v0.5.0

14 Nov 14:41
Compare
Choose a tag to compare

Support excluded paths

Add support for excluded paths in the workspace, starting with a !. In this example, all packages under packages will be registered, plus the docs package, but excluding the packages/abc package and any package matching packages/d*:

packages:
  - 'packages/*'
  - 'docs'
  - '!packages/abc'
  - '!packages/d*'

New non-existant-packages rule

All paths defined in the workspace (the root package.json' workspaces field or pnpm-workspace.yaml) should match at least one package.

More rules autofixable

--fix now supports the non-existant-packages and packages-without-package-json rules, and fixes a bug in types-in-dependencies. See #6 for more information.

What's Changed

  • feat: support excluded paths by @QuiiBz in #25
  • fix(multiple-dependency-versions): increase versions padding by @QuiiBz in #26
  • feat: new non-existant-packages rule by @QuiiBz in #27
  • fix(types-in-dependencies): autofix when package doesn't have devDependencies by @QuiiBz in #28
  • fix(multiple-dependency-versions): improve formatting for single packages by @QuiiBz in #29
  • feat: autofix non-existant-packages by @QuiiBz in #30
  • feat: autofix packages-without-package-json by @QuiiBz in #31

Full Changelog: v0.4.2...v0.5.0

v0.4.2

09 Nov 08:23
Compare
Choose a tag to compare

What's Changed

  • fix: multiple-dependencies should work with only devDeps by @QuiiBz in #21

Full Changelog: v0.4.1...v0.4.2

v0.4.1

03 Nov 09:07
Compare
Choose a tag to compare

New --fix option to autofix fixable issues

Some issues can now be fixed automatically when appending the --fix option:

  • empty-dependencies will remove any empty dependency (dependencies, devDependencies...) field
  • root-package-private-field will add/set the private field to true inside the root package.json
  • types-in-dependencies will move any @types/* package declared in dependencies to devDependencies

More issues will be autofixable in the future: #6

What's Changed

New Contributors

Full Changelog: v0.3.1...v0.4.1

v0.3.0

27 Sep 11:55
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.2.0...v0.3.0