github.com/lineaje-labs/syft@v0.98.1-0.20231227153149-9e393f60ff1b/syft/pkg/cataloger/javascript/cataloger.go (about) 1 /* 2 Package javascript provides a concrete Cataloger implementation for packages relating to the JavaScript language ecosystem. 3 */ 4 package javascript 5 6 import ( 7 "github.com/anchore/syft/syft/pkg" 8 "github.com/anchore/syft/syft/pkg/cataloger/generic" 9 ) 10 11 // NewPackageCataloger returns a new cataloger object for NPM. 12 func NewPackageCataloger() pkg.Cataloger { 13 return generic.NewCataloger("javascript-package-cataloger"). 14 WithParserByGlobs(parsePackageJSON, "**/package.json") 15 } 16 17 // NewLockCataloger returns a new cataloger object for NPM (and NPM-adjacent, such as yarn) lock files. 18 func NewLockCataloger() pkg.Cataloger { 19 return generic.NewCataloger("javascript-lock-cataloger"). 20 WithParserByGlobs(parsePackageLock, "**/package-lock.json"). 21 WithParserByGlobs(parseYarnLock, "**/yarn.lock"). 22 WithParserByGlobs(parsePnpmLock, "**/pnpm-lock.yaml") 23 }