Releases: QuiiBz/sherif
v0.7.0
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":
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
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:
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
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
v0.4.1
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
...) fieldroot-package-private-field
will add/set theprivate
field totrue
inside the rootpackage.json
types-in-dependencies
will move any@types/*
package declared independencies
todevDependencies
More issues will be autofixable in the future: #6
What's Changed
- fix: win32 include condition by @allanhvam in #15
- chore(ci): always use stable rust by @QuiiBz in #16
- feat: autofix
empty-dependencies
by @QuiiBz in #14 - feat: autofix
root-package-private-field
by @QuiiBz in #17 - feat: autofix
types-in-dependencies
by @QuiiBz in #18 - fix: remove
println
by @QuiiBz in #19 - feat: add
--fix
to footer by @QuiiBz in #20
New Contributors
- @allanhvam made their first contribution in #15
Full Changelog: v0.3.1...v0.4.1