mirror of
https://github.com/anchore/syft.git
synced 2026-10-30 14:02:26 +01:00
--------- Signed-off-by: Colm O hEigeartaigh <coheigea@apache.org> Signed-off-by: Christopher Phillips <christopher.phillips@anchore.com> Co-authored-by: Christopher Phillips <christopher.phillips@anchore.com>
25 lines
942 B
Go
25 lines
942 B
Go
/*
|
|
Package javascript provides a concrete Cataloger implementation for packages relating to the JavaScript language ecosystem.
|
|
*/
|
|
package javascript
|
|
|
|
import (
|
|
"github.com/anchore/syft/syft/pkg"
|
|
"github.com/anchore/syft/syft/pkg/cataloger/generic"
|
|
)
|
|
|
|
// NewPackageCataloger returns a new cataloger object for NPM.
|
|
func NewPackageCataloger() pkg.Cataloger {
|
|
return generic.NewCataloger("javascript-package-cataloger").
|
|
WithParserByGlobs(parsePackageJSON, "**/package.json")
|
|
}
|
|
|
|
// NewLockCataloger returns a new cataloger object for NPM (and NPM-adjacent, such as yarn) lock files.
|
|
func NewLockCataloger(cfg CatalogerConfig) pkg.Cataloger {
|
|
yarnLockAdapter := newGenericYarnLockAdapter(cfg)
|
|
return generic.NewCataloger("javascript-lock-cataloger").
|
|
WithParserByGlobs(parsePackageLock, "**/package-lock.json").
|
|
WithParserByGlobs(yarnLockAdapter.parseYarnLock, "**/yarn.lock").
|
|
WithParserByGlobs(parsePnpmLock, "**/pnpm-lock.yaml")
|
|
}
|