# Usage: yarn remove $(Get-NodePackages -Pattern 'gatsby') function Get-NodePackages { param ( $Pattern = '.*', $PackagePath = '.\package.json' ) $package = ConvertFrom-Json $(gc $PackagePath | Out-String) $dependencies = $package.dependencies ?? @() $devDependencies = $package.devDependencies ?? @() $dependencyMembers = $(Get-Member -InputObject $dependencies) + $(Get-Member -InputObject $devDependencies) return $( $dependencyMembers | Where-Object { $_.MemberType -eq 'NoteProperty' -and $_.Name -match $Pattern } ).Name }