in code/go/pkg/validator/validator.go [53:78]
func ValidateFromFS(location string, fsys fs.FS) error {
// If we are not explicitly using the linkedfiles.FS, we wrap fsys with
// a linkedfiles.BlockFS to block the use of linked files.
if _, ok := fsys.(*linkedfiles.FS); !ok {
fsys = linkedfiles.NewBlockFS(fsys)
}
pkg, err := packages.NewPackageFromFS(location, fsys)
if err != nil {
return err
}
if pkg.SpecVersion == nil {
return errors.New("could not determine specification version for package")
}
spec, err := validator.NewSpec(*pkg.SpecVersion)
if err != nil {
return err
}
if errs := spec.ValidatePackage(*pkg); len(errs) > 0 {
return errs
}
return nil
}