Multiple exclusions?
uncleramsay opened this issue · comments
Hello,
I'm trying to use this plugin in a CI environment to fail when my dependencies are outdated. However, I have exceptions that I would like to ignore.
This is my current output:
$ yarn outdated --check
➤ YN0000: ┌ Checking for outdated dependencies
➤ YN0000: └ Completed in 47s 653ms
➤ YN0000: Package Current Latest Package Type
➤ YN0000: @pinia/testing 0.0.13 0.0.16 devDependencies
➤ YN0000: @vitejs/plugin-vue2 1.1.2 2.2.0 devDependencies
➤ YN0000: @vue/test-utils 1.3.5 2.3.2 devDependencies
➤ YN0000: start-server-and-test 1.15.4 2.0.0 devDependencies
➤ YN0000: vue 2.7.14 3.2.47 devDependencies
➤ YN0000: vue-router 3.6.5 4.1.6 devDependencies
➤ YN0000: vue-tsc 1.3.8 1.6.4 devDependencies
➤ YN0000: 7 dependencies are out of date
➤ YN0000: Failed with errors in 47s 662ms
I would like to exclude both vue
and vue-router
(I can't upgrade just yet), but I can't seem to find a way to do it. This is what I've tried so far:
Multiple globs. This doesn't seem to work at all:
$ yarn outdated '!vue' '!vue-router' --check
➤ YN0000: ┌ Checking for outdated dependencies
➤ YN0000: └ Completed in 32s 72ms
➤ YN0000: Package Current Latest Package Type
➤ YN0000: @pinia/testing 0.0.13 0.0.16 devDependencies
➤ YN0000: @vitejs/plugin-vue2 1.1.2 2.2.0 devDependencies
➤ YN0000: @vue/test-utils 1.3.5 2.3.2 devDependencies
➤ YN0000: start-server-and-test 1.15.4 2.0.0 devDependencies
➤ YN0000: vue 2.7.14 3.2.47 devDependencies
➤ YN0000: vue-router 3.6.5 4.1.6 devDependencies
➤ YN0000: vue-tsc 1.3.8 1.6.4 devDependencies
➤ YN0000: 7 dependencies are out of date
➤ YN0000: Failed with errors in 32s 82ms
Single glob with list. This works, but for some reason also excludes all the namespaced deps, I'm not sure why:
$ yarn outdated '!(vue|vue-router)' --check
➤ YN0000: ┌ Checking for outdated dependencies
➤ YN0000: └ Completed in 18s 665ms
➤ YN0000: Package Current Latest Package Type
➤ YN0000: start-server-and-test 1.15.4 2.0.0 devDependencies
➤ YN0000: vue-tsc 1.3.8 1.6.4 devDependencies
➤ YN0000: 2 dependencies are out of date
➤ YN0000: Failed with errors in 18s 671ms
I'm not really sure what else to try. Is there a way I can use this and ignore multiple outdated deps? Thank you.
This should work.
yarn outdated '@*/*' '!(vue|vue-router)' --check
This plugin uses micromatch, so anything they support should be supported. Namespaced deps are a little weird though since the /
makes micromatch think it's a directory.
Thank you, this seems to work well for my use case.