github.com/nextlinux/gosbom@v0.81.1-0.20230627115839-1ff50c281391/gosbom/pkg/cataloger/javascript/cataloger.go (about)

     1  /*
     2  Package javascript provides a concrete Cataloger implementation for JavaScript ecosystem files (yarn and npm).
     3  */
     4  package javascript
     5  
     6  import (
     7  	"github.com/nextlinux/gosbom/gosbom/pkg/cataloger/generic"
     8  )
     9  
    10  // NewPackageCataloger returns a new JavaScript cataloger object based on detection of npm based packages.
    11  func NewPackageCataloger() *generic.Cataloger {
    12  	return generic.NewCataloger("javascript-package-cataloger").
    13  		WithParserByGlobs(parsePackageJSON, "**/package.json")
    14  }
    15  
    16  // NewLockCataloger returns a new JavaScript cataloger object based on detection of lock files.
    17  func NewLockCataloger() *generic.Cataloger {
    18  	return generic.NewCataloger("javascript-lock-cataloger").
    19  		WithParserByGlobs(parsePackageLock, "**/package-lock.json").
    20  		WithParserByGlobs(parseYarnLock, "**/yarn.lock").
    21  		WithParserByGlobs(parsePnpmLock, "**/pnpm-lock.yaml")
    22  }